/* 6120.jp Site Blocks */

/* ----- 6120 AROUND THE WORLD ----- */
.g6120-wm { --wm-orange: #e8620b; box-sizing: border-box; display: flex; flex-direction: column; gap: 22px; min-height: 100%; margin: 0; padding: clamp(28px, 3.4vw, 44px) clamp(20px, 3vw, 40px); background: #0d0d0d; color: #f2f2f2; }
.wp-block-column > .g6120-wm { height: 100%; }
.g6120-wm__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.g6120-wm .g6120-wm__title { margin: 0; padding-left: 16px; border-left: 4px solid var(--wm-orange); color: #fff; font-size: clamp(20px, 2vw, 27px); font-weight: 700; line-height: 1.25; letter-spacing: .02em; }
.g6120-wm__all { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-decoration: none; }
.g6120-wm__all:hover, .g6120-wm__all:focus-visible { color: var(--wm-orange); }
.g6120-wm__map { position: relative; width: 100%; aspect-ratio: 1800 / 690; }
.g6120-wm__map img { display: block; width: 100%; height: 100%; object-fit: contain; }
.g6120-wm__pin { position: absolute; left: var(--x); top: var(--y); width: clamp(7px, .8vw, 12px); aspect-ratio: 1; border-radius: 50%; background: #ff8a3d; box-shadow: 0 0 0 3px rgba(232, 98, 11, .35), 0 0 14px 5px rgba(232, 98, 11, .55); transform: translate(-50%, -50%); }
.g6120-wm__pin::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(232, 98, 11, .7); animation: g6120-wm-pulse 2.4s ease-out infinite; }
@keyframes g6120-wm-pulse { from { transform: scale(.5); opacity: 1; } to { transform: scale(2.2); opacity: 0; } }
.g6120-wm__stats { display: flex; flex-wrap: wrap; gap: 14px clamp(20px, 3vw, 44px); margin: 0; padding: 0; list-style: none; }
.g6120-wm__stats li { display: flex; flex-direction: column; gap: 4px; min-width: 64px; margin: 0; }
.g6120-wm__country { color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .06em; line-height: 1.3; }
.g6120-wm__count { color: var(--wm-orange); font-size: clamp(24px, 2.4vw, 32px); font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.g6120-wm__empty { margin: 0; color: #9a9a9a; font-size: 14px; }
@media (max-width: 781px) {
	.g6120-wm__map { display: none; }
	.g6120-wm__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 14px; }
	.g6120-wm__stats li { min-width: 0; }
	.g6120-wm__country { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
	.g6120-wm__pin::after { animation: none; display: none; }
}

/* ----- 年式別ギター一覧 ----- */
.g6120-yg { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 24px; }
.g6120-yg__card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border-radius: 6px; background: #1a1a1a; color: #eee; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.g6120-yg__card:hover, .g6120-yg__card:focus-visible { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0, 0, 0, .35); }
.g6120-yg__card:focus-visible { outline: 2px solid #e8620b; outline-offset: 2px; }
.g6120-yg__photo { position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1; overflow: hidden; background: #000; }
.g6120-yg__photo img { position: absolute; inset: 0; display: block; width: 100%; max-width: none; height: 100% !important; object-fit: cover; }
.g6120-yg__mark { font: italic 400 52px/1 Georgia, "Times New Roman", serif; color: #444; }
.g6120-yg__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; }
.g6120-yg__year { color: #e8620b; font-size: 1.6rem; font-weight: 700; line-height: 1; }
.g6120-yg__model { color: #ddd; font-size: .9rem; overflow-wrap: anywhere; }
.g6120-yg__owner { color: #9a9a9a; font-size: .8rem; }
.g6120-yg--empty { padding: 24px; border: 1px dashed #555; border-radius: 6px; color: #999; }
.g6120-yg--empty p { margin: 0; }
@media (prefers-reduced-motion: reduce) {
	.g6120-yg__card { transition: none; }
	.g6120-yg__card:hover { transform: none; }
}

/* ----- 新着ギター（LATEST SUBMISSIONS）：PCは横一列いっぱい、入りきらない分は出さない ----- */
.g6120-lg { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); grid-template-rows: auto; grid-auto-rows: 0; column-gap: 20px; row-gap: 0; overflow: hidden; padding-top: 6px; margin-top: -6px; }
.g6120-lg.alignfull { box-sizing: border-box; padding-inline: 32px; }
.g6120-lg__card { display: flex; flex-direction: column; min-width: 0; min-height: 0; color: inherit; text-decoration: none; }
.g6120-lg__photo { position: relative; display: grid; place-items: center; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 6px; background: #000; transition: transform .25s ease; }
.g6120-lg__photo img { position: absolute; inset: 0; display: block; width: 100%; max-width: none; height: 100% !important; object-fit: cover; }
.g6120-lg__card:hover .g6120-lg__photo, .g6120-lg__card:focus-visible .g6120-lg__photo { transform: translateY(-4px); }
.g6120-lg__card:focus-visible { outline: 2px solid #e8620b; outline-offset: 2px; }
.g6120-lg__mark { font: italic 400 40px/1 Georgia, "Times New Roman", serif; color: #444; }
.g6120-lg__title { margin-top: 10px; color: var(--wp--preset--color--neutral-50, #fff); font-size: .95rem; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.g6120-lg__owner { margin-top: 2px; color: var(--wp--preset--color--neutral-500, #888); font-size: .8rem; }
@media (max-width: 781px) {
	.g6120-lg { display: flex; gap: 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; padding-bottom: 8px; }
	.g6120-lg.alignfull { padding-inline: 20px; scroll-padding-inline: 20px; }
	.g6120-lg__card { flex: 0 0 min(64vw, 260px); scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) {
	.g6120-lg__photo { transition: none; }
}

/* ----- 写真スライダー（g6120/gallery-slider）：山口さんのギターページと同じ見た目 ----- */
.g6120-gs { position: relative; margin-top: 8px; }
.g6120-gs__hint { margin: 0 0 16px; color: #9ca3af; font-size: .8rem; letter-spacing: .05em; }
.g6120-gs__track { display: flex; gap: 16px; height: min(80vh, 900px); padding-bottom: 16px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; align-items: stretch; outline: none; }
.g6120-gs__track::-webkit-scrollbar { height: 6px; }
.g6120-gs__track::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .25); border-radius: 3px; }
.g6120-gs__slide { display: flex; flex: 0 0 100%; align-items: center; justify-content: center; width: 100%; height: 100%; scroll-snap-align: start; }
.g6120-gs__slide img { display: block; width: auto; max-width: 100%; height: 100%; max-height: 100%; object-fit: contain; border-radius: 6px; }
.g6120-gs__btn { position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: none; border-radius: 50%; background: rgba(0, 0, 0, .55); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; transform: translateY(-50%); transition: background .2s ease; }
.g6120-gs__btn:hover, .g6120-gs__btn:focus-visible { background: #e8620b; }
.g6120-gs__btn--prev { left: -6px; }
.g6120-gs__btn--next { right: -6px; }
/* スマホ：1枚目の右端に「次へ」の目印（スワイプできることを示す。横に動かすと消える） */
.g6120-gs__slide { position: relative; }
.g6120-gs__cue { display: none; }
@keyframes g6120-gs-nudge { 0%, 100% { transform: translate(0, -50%); } 50% { transform: translate(6px, -50%); } }
@media (max-width: 600px) {
	.g6120-gs__cue { position: absolute; top: 50%; right: 10px; z-index: 2; display: grid; place-items: center; width: 46px; height: 46px; border: 1.5px solid rgba(255, 255, 255, .85); border-radius: 50%; background: rgba(0, 0, 0, .5); color: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .3); pointer-events: none; transform: translateY(-50%); animation: g6120-gs-nudge 1.6s ease-in-out infinite; transition: opacity .3s ease; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
	.g6120-gs__cue svg { width: 22px; height: 22px; margin-left: 2px; }
	.g6120-gs.is-swiped .g6120-gs__cue { opacity: 0; }
	.g6120-gs__btn { display: none; }
	.g6120-gs__track { height: auto; }
	.g6120-gs__slide { height: auto; }
	.g6120-gs__slide img { width: 100%; height: auto; max-height: none; }
}

/* ----- オーナーカード（g6120/owner-card） ----- */
.g6120-oc { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; box-sizing: border-box; width: 100%; max-width: 460px; padding: 20px 24px; border-radius: 8px; background: var(--wp--preset--color--neutral-800, #1f1f1f); color: inherit; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.g6120-oc:hover, .g6120-oc:focus-visible { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(0, 0, 0, .35); }
.g6120-oc__photo { display: grid; place-items: center; flex: 0 0 auto; width: 56px; height: 56px; overflow: hidden; border-radius: 50%; background: #000; }
.g6120-oc__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.g6120-oc__initial { color: #fff; font-weight: 700; font-size: 1.2rem; }
.g6120-oc__body { display: flex; flex: 1 1 120px; flex-direction: column; min-width: 0; }
.g6120-oc__name { font-weight: 700; font-size: 1.05rem; }
.g6120-oc__country { margin-top: 2px; color: var(--wp--preset--color--neutral-400, #9ca3af); font-size: .85rem; }
.g6120-oc__more { flex: 0 0 auto; color: var(--wp--preset--color--primary, #e8620b); font-weight: 700; font-size: .9rem; }

/* ----- 同じオーナーの他のギター（g6120/owner-guitars） ----- */
.g6120-og__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 24px; margin-top: 24px; }
.g6120-og__card { display: block; overflow: hidden; border-radius: 6px; background: var(--wp--preset--color--neutral-800, #1f1f1f); color: #f9fafb; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.g6120-og__card:hover, .g6120-og__card:focus-visible { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0, 0, 0, .25); }
.g6120-og__photo { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #000; }
.g6120-og__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.g6120-og__body { display: block; padding: 16px; }
.g6120-og__year { display: block; color: var(--wp--preset--color--primary, #e8620b); font-weight: 700; font-size: 1.4rem; line-height: 1; }
.g6120-og__model { display: block; margin-top: 8px; color: var(--wp--preset--color--neutral-300, #d1d5db); font-size: .85rem; }
@media (prefers-reduced-motion: reduce) {
	.g6120-oc, .g6120-og__card, .g6120-gs__btn { transition: none; }
	.g6120-gs__cue { animation: none; }
	.g6120-oc:hover, .g6120-og__card:hover { transform: none; }
}

/* ----- MOVIE（g6120/videos）：PCは横並び、スマホは横スライド ----- */
.g6120-mv { margin-top: 40px; }
.g6120-mv__heading { margin: 0 0 20px; font-size: 22px; font-weight: 700; letter-spacing: .04em; }
.g6120-mv__hint { display: none; margin: -8px 0 12px; color: #9ca3af; font-size: .8rem; letter-spacing: .05em; }
.g6120-mv__track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.g6120-mv--n1 .g6120-mv__track { grid-template-columns: minmax(0, 720px); }
.g6120-mv--n2 .g6120-mv__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.g6120-mv__item { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 6px; background: #000; }
.g6120-mv__item iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 781px) {
	.g6120-mv__hint { display: block; }
	.g6120-mv__track, .g6120-mv--n2 .g6120-mv__track { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 10px; }
	.g6120-mv__item { flex: 0 0 86%; scroll-snap-align: start; }
	.g6120-mv--n1 .g6120-mv__item { flex-basis: 100%; }
	.g6120-mv--n1 .g6120-mv__hint { display: none; }
}
