/* 公開頁面主場氣氛；登入後容器及球衣原檔保持獨立。 */
#website { position:relative; isolation:isolate; }
.public-scene-background { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; background:#09090c; }
.public-scene-background>img,.public-scene-background>video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.public-scene-background>video { z-index:1; }
.public-scene-background>[data-logo-overlay] { z-index:2; }
.public-scene-background[data-scene="home"]>img,.public-scene-background[data-scene="home"]>video { object-position:35% center; }
.public-scene-background[data-scene="about"]>img { object-position:65% center; }
.public-scene-background::after { content:""; position:absolute; inset:0; z-index:3; background:linear-gradient(90deg,#05070be8,#06070bae 52%,#08080b79),linear-gradient(0deg,#05070bc9,transparent 60%); }
.public-scene-background[data-scene="home"]::after { background:linear-gradient(90deg,#05070bed,#06070ba8 52%,#08080b70),linear-gradient(0deg,#05070bd4,transparent 68%); }
.public-scene-background[data-scene="about"]::after { background:linear-gradient(90deg,#05060a9c,#05060aa8 55%,#05060a80),linear-gradient(0deg,#05060aba,transparent); }
.public-scene-background[data-scene="coaches"]::after { background:linear-gradient(90deg,#08070ab5,#08070a88,#08070aa8); }
#home-page { background:transparent; }
#home-page::before { display:none; }
#website[data-public-scene="home"] .feature-card { background-color:#111116ed; }
#website[data-public-scene="home"] .hero-description { color:#e0d7df; text-shadow:0 1px 6px #000; }
#website[data-public-scene="home"] .content-section>p { background:#09090cbd; padding:12px 16px; }
.home-kit { transform:translateX(-60px); }
.home-kit figcaption { font-size:13.2px; }

/* 完整香港輪廓及同一座標系內的四區光點。 */
.gateway-map { inset:3% 3%; width:94%; height:94%; opacity:.76; filter:drop-shadow(0 0 18px #ff008c16); }
.gateway-map path { vector-effect:non-scaling-stroke; stroke-width:1.1; }
.gateway-map circle:not(.district-light) { stroke-width:1.7; }
.gateway-map .district-light { fill:#fff; filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 13px #ff008c); }
.gateway-actions { position:static; z-index:1; }

/* 介紹頁文字保持為可讀取、可選取的原段落。 */
#about-content .about-copy { padding:clamp(22px,3vw,38px); border-left:2px solid #b62f76; background:linear-gradient(120deg,#0a090ee8,#0a090ed4); box-shadow:0 22px 80px #0005; }
#about-content .about-copy p { color:#e1d7df; }

/* 主教練採用橫向卡片及完整履歷；助教原樣保留。 */
.coach-showcase { min-width:0; margin-block:32px; }
.coach-controls { display:flex; justify-content:flex-end; gap:12px; margin-bottom:18px; }
.coach-controls button,.coach-dialog-close { width:48px; height:48px; border:1px solid #8d617d; color:#fff; background:#18101bf0; font:inherit; font-size:22px; cursor:pointer; }
.coach-showcase .coach-track { display:flex; gap:24px; overflow-x:auto; margin:0; padding:4px 4px 20px; scrollbar-width:thin; scrollbar-color:#a93077 #161019; overscroll-behavior-x:contain; }
.coach-track:focus-visible,.coach-controls button:focus-visible,.coach-open:focus-visible { outline:2px solid var(--pink-light); outline-offset:3px; }
.coach-track .coach-card { flex:0 0 clamp(270px,30vw,360px); display:flex; flex-direction:column; background:linear-gradient(145deg,#241720f5,#101217fa); cursor:pointer; overflow:hidden; box-shadow:0 15px 35px #0005; }
.coach-track .coach-portrait { flex-shrink:0; width:100%; }
.coach-track .coach-copy { padding:22px 22px 10px; }
.coach-track .coach-call { margin-bottom:10px; }
.coach-summary { margin:0; font-size:14px; color:#d5c6d1; }
.coach-open { margin:10px 22px 24px; min-height:46px; padding:12px 16px; border:1px solid #a6477b; background:#2e1529; color:#fff; font:inherit; cursor:pointer; }
.coach-dialog { width:min(800px,calc(100% - 32px)); max-height:88svh; overflow-y:auto; border:1px solid #995879; padding:24px; background:#111016; color:#fff; }
.coach-dialog::backdrop { background:#000b; backdrop-filter:blur(5px); }
.coach-dialog-close { position:sticky; top:0; display:block; margin-left:auto; z-index:2; }
.coach-dialog-detail { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; gap:18px; margin-top:16px; }
.coach-dialog-detail .coach-portrait { width:100%; }
.coach-dialog-detail .coach-copy { padding:12px; }
.coach-dialog-detail .coach-facts { overflow-wrap:anywhere; }

/* 商品仍用原JPEG及mask；新更衣室圖片只負責環境。 */
#store-content .store-hero { background:linear-gradient(125deg,#4e0d31ed,#151018ee); }
#store-content .store-product-copy { padding:26px; background:#0b0a10eb; border:1px solid #573149; }
#store-content .store-kit-photo { position:relative; aspect-ratio:2080/1910; min-height:0; background:#171116 url('../assets/public-scenes/store-display.webp') center/cover no-repeat; border:1px solid #70425c; }
#store-content .store-kit-photo::before { display:none; }
#store-content .locker-ceiling,#store-content .locker-bench,#store-content .locker-floor { display:none; }
#store-content .store-kit-photo .locker-brand { position:absolute; inset:auto 0 8px; z-index:2; padding:5px; flex-direction:row; justify-content:center; gap:10px; }
#store-content .store-kit-photo .locker-brand img { width:32px; height:32px; }
#store-content .store-kit-photo .locker-brand strong { font-size:13px; letter-spacing:.08em; margin:0; }
#store-content .store-kit-photo .locker-bays { position:absolute; inset:21% 2% 15%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; padding:0; border:0; background:none; box-shadow:none; }
#store-content .store-kit-photo .locker-bay { min-height:0; height:100%; border:0; padding:0; background:none; box-shadow:none; justify-content:center; }
#store-content .store-kit-photo .locker-bay::before,#store-content .store-kit-photo .locker-bay::after { display:none; }
#store-content .store-kit-cutout { width:auto; height:90%; max-width:94%; aspect-ratio:1/2; }
#store-content .store-kit-photo figcaption { position:absolute; bottom:0; padding:3px 12px; margin:0; color:#fff; background:#100c12bc; font-size:12px; }

@media(max-width:700px) {
 .gateway-brand { padding-top:230px; }
 .gateway-map { inset:105px 0 auto; width:100%; height:220px; opacity:.86; }
 .gateway-actions { gap:14px; }
 .home-kit { transform:translateX(-14px); }
 .home-kit figcaption { font-size:11px; }
 .coach-track .coach-card { flex-basis:82%; max-width:350px; }
 .coach-dialog { padding:16px; }
 .coach-dialog-detail { grid-template-columns:1fr; }
 .coach-dialog-detail .coach-portrait { max-width:280px; margin-inline:auto; }
 #store-content .store-product-copy { padding:22px; }
 #about-content .about-copy { padding:22px; }
 .public-scene-background::after { background:linear-gradient(0deg,#05060bd9,#05060ba3); }
 .public-scene-background[data-scene="home"]>img,.public-scene-background[data-scene="home"]>video { object-position:45% center; }
 .public-scene-background[data-scene="home"]::after { background:linear-gradient(90deg,#05060bd4,#05060ba3),linear-gradient(0deg,#05060bd9,transparent 75%); }
 .public-scene-background[data-scene="about"]>img { object-position:70% center; }
}
@media(prefers-reduced-motion:reduce) {
 .coach-track { scroll-behavior:auto; }
}
