/* Product details share the Gear Shop header and carousel styles. */
.xfg-product-page .xfg-product-breadcrumb {
    display:flex; flex-wrap:wrap; align-items:center; gap:8px;
    padding-block:24px; color:#bdbbb5; font:12px/1.5 "Segoe UI",sans-serif;
}
.xfg-product-page .xfg-product-breadcrumb a { color:#e9c579; text-underline-offset:4px; }
.xfg-product-page .xfg-product-breadcrumb a:hover { text-decoration:underline; }
.xfg-product-page .xfg-product-detail {
    display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
    align-items:start; gap:clamp(30px,4vw,68px); padding-bottom:48px;
}
.xfg-product-page .xfg-product-gallery { min-width:0; }
.xfg-product-page .xfg-product-gallery__stage {
    display:grid; position:relative; place-items:center;
    width:100%; aspect-ratio:1; overflow:hidden;
    border:1px solid #ffffff20; border-radius:4px; background:#e9e7e2;
}
.xfg-product-page a.xfg-product-gallery__stage { cursor:pointer; }
.xfg-product-page .xfg-product-gallery__stage > img {
    display:block; width:100%; height:100%; object-fit:contain;
}

/* Product image controls mirror the compact gallery beneath the photograph. */
.gear-shop-page.xfg-product-page .xfg-product-gallery__zoom-label {
    display:grid; place-items:center; top:12px; left:12px; bottom:auto; right:auto;
    width:34px; height:34px; padding:7px; border:0; border-radius:50%;
    background:#fff9; color:#515151; pointer-events:none;
}
.xfg-product-page .xfg-product-gallery__zoom-label svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.5; }
.xfg-product-page .xfg-product-gallery__controls {
    display:flex; align-items:center; justify-content:space-between; min-height:40px; gap:12px;
    color:var(--shop-ink,#e6e8eb); font:600 12px/1.2 "Segoe UI",sans-serif;
}
.xfg-product-page .xfg-product-gallery__controls button {
    display:grid; place-items:center; flex:none; width:44px; height:40px; padding:11px;
    border:0; background:transparent; color:inherit; cursor:pointer;
}
.xfg-product-page .xfg-product-gallery__controls button:disabled { opacity:.35; cursor:default; }
.xfg-product-page .xfg-product-gallery__controls button:hover:not(:disabled) { color:var(--shop-accent,#afd9eb); }
.xfg-product-page .xfg-product-gallery__controls svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; }
.gear-shop-page.xfg-product-page .xfg-product-gallery__announcement,
.xfg-product-page .xfg-product-gallery__thumbnails button > span:not(.xfg-fall-thumb),
.xfg-product-page .xfg-product-zoom--pan h2 {
    position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
    clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.gear-shop-page.xfg-product-page .xfg-product-gallery__thumbnails { gap:12px; margin-top:0; }
.gear-shop-page.xfg-product-page .xfg-product-gallery__thumbnails button {
    display:block; width:86px; padding:0; overflow:hidden; border:1px solid #ffffff45; border-radius:2px;
    background:var(--shop-photo,#f0ede6);
}
.gear-shop-page.xfg-product-page .xfg-product-gallery__thumbnails button[aria-pressed="true"] { border-color:var(--shop-accent,#afd9eb); box-shadow:0 0 0 1px var(--shop-accent,#afd9eb); }
.gear-shop-page.xfg-product-page .xfg-product-gallery__thumbnails button > img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; border-radius:0; }

/* The enlargement keeps each source image at its actual size and scrolls independently. */
.gear-shop-page.xfg-product-page .xfg-product-zoom--pan {
    position:fixed; inset:0; width:100%; height:100%; height:100dvh; max-width:none; max-height:none;
    margin:0; padding:0; overflow:hidden; border:0; border-radius:0;
    background:var(--shop-photo,#f0ede6); color:#262626;
}
.xfg-product-page .xfg-product-zoom--pan::backdrop { background:var(--shop-photo,#f0ede6); }
.gear-shop-page.xfg-product-page .xfg-product-zoom--pan .xfg-product-zoom__header {
    position:absolute; top:0; right:0; z-index:2; display:block; padding:8px;
    background:transparent; pointer-events:none;
}
.gear-shop-page.xfg-product-page .xfg-product-zoom--pan [data-product-zoom-close] {
    display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:12px;
    border:0; border-radius:0; background:#fffffff2; color:#262626; pointer-events:auto; cursor:pointer;
}
.xfg-product-page .xfg-product-zoom--pan [data-product-zoom-close] svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; }
.xfg-product-page .xfg-product-zoom__viewport {
    position:absolute; inset:0; overflow:auto; overscroll-behavior:contain;
    touch-action:pan-x pan-y pinch-zoom; -webkit-overflow-scrolling:touch; cursor:auto;
}
.xfg-product-page .xfg-product-zoom__canvas {
    display:grid; place-items:center; width:max-content; height:max-content; min-width:100%; min-height:100%;
}
.gear-shop-page.xfg-product-page .xfg-product-zoom--pan .xfg-product-zoom__media {
    flex:none; position:relative; max-width:none; max-height:none; margin:0; overflow:hidden;
    background:var(--shop-photo,#f0ede6);
}
.xfg-product-page .xfg-product-zoom__media:not(.xfg-fall-zoom-stage) > img {
    display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; user-select:none;
}
.xfg-product-page.product-zoom-open { position:fixed; top:var(--product-zoom-scroll-top,0); left:0; width:100%; overflow:hidden; }
.xfg-product-page .xfg-product-gallery__zoom-label {
    position:absolute; bottom:14px; right:14px; padding:9px 12px;
    background:#191a1ce8; color:#f7f4eb; border:1px solid #ffffff3a;
    font:600 11px/1.3 "Segoe UI",sans-serif;
}
.xfg-product-page .xfg-product-gallery__status {
    margin:12px 0 0; color:#bcbab4; font:12px/1.5 "Segoe UI",sans-serif;
}
.xfg-product-page .xfg-product-gallery__thumbnails {
    display:flex; flex-wrap:wrap; gap:12px; margin-top:16px;
}
.xfg-product-page .xfg-product-gallery__thumbnails button {
    display:grid; gap:7px; width:104px; padding:6px; border:1px solid #ffffff28;
    background:#252629; color:#d7d5cf; cursor:pointer;
}
.xfg-product-page .xfg-product-gallery__thumbnails button[aria-pressed="true"] {
    border-color:#efc878; box-shadow:inset 0 0 0 1px #efc878; color:#efc878;
}
.xfg-product-page .xfg-product-gallery__thumbnails img {
    width:90px; height:90px; object-fit:contain; background:#e9e7e2;
}
.xfg-product-page .xfg-product-gallery__thumbnails span { font:600 11px/1.3 "Segoe UI",sans-serif; }
.xfg-product-page .xfg-product-details { min-width:0; padding-top:16px; }
.xfg-product-page .xfg-product-category {
    margin:0 0 15px; color:#d8ba7b; font:700 11px/1.4 "Segoe UI",sans-serif;
    text-transform:uppercase; letter-spacing:1px;
}
.xfg-product-page .xfg-product-details h1 {
    margin:0; color:#f7f5ef; font:700 clamp(34px,3.4vw,50px)/1.04 "XFG Condensed","Arial Narrow",sans-serif;
    text-transform:uppercase; letter-spacing:0;
}
.xfg-product-page .xfg-product-description {
    margin:23px 0 0; max-width:460px; color:#cfcdc7; font:15px/1.7 "Segoe UI",sans-serif;
}
.xfg-product-page .xfg-product-status {
    margin-top:28px; padding:19px 0; border-top:1px solid #ffffff22; border-bottom:1px solid #ffffff22;
}
.xfg-product-page .xfg-product-status strong {
    display:block; color:#ebc67b; font:700 12px/1.4 "Segoe UI",sans-serif;
    letter-spacing:.5px; text-transform:uppercase;
}
.xfg-product-page .xfg-product-status p { margin:8px 0 0; color:#c0bdb5; font:13px/1.6 "Segoe UI",sans-serif; }
.xfg-product-page .xfg-product-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.xfg-product-page .xfg-product-actions a {
    display:inline-flex; align-items:center; justify-content:center; min-height:46px;
    padding:12px 20px; border:1px solid #edc16a; color:#141414; background:#edc16a;
    font:700 15px/1.2 "XFG Condensed","Arial Narrow",sans-serif;
}
.xfg-product-page .xfg-product-actions a + a { background:transparent; color:#edc16a; }
.xfg-product-page .xfg-product-note { margin-top:24px; color:#aaa8a1; font:12px/1.65 "Segoe UI",sans-serif; }
.xfg-product-page .xfg-product-related { padding:40px 0 48px; border-top:1px solid #ffffff14; background:#1b1b1b; }
.xfg-product-page .xfg-product-related .xfg-shop-section-bar { margin-bottom:10px; }
.xfg-product-page .xfg-product-related h2 { font-size:32px; }
.xfg-product-page .xfg-product-related { scroll-margin-top:140px; }
.xfg-product-page .xfg-shop-search { grid-template-columns:minmax(0,1fr) 54px; }
.xfg-product-page .xfg-product-search-form {
    display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center;
    width:100%; min-width:0; gap:10px;
}
.xfg-product-page .xfg-product-search-form > label { grid-column:1 / -1; }
.xfg-product-page .xfg-product-search-form input {
    min-width:0; width:100%; min-height:44px; padding-inline:14px;
}
.xfg-product-page .xfg-product-search-form [type="submit"] {
    display:inline-flex; position:static; align-items:center; justify-content:center;
    min-width:70px; width:auto; min-height:44px; height:auto; padding:10px 14px;
    border:1px solid #edc16a; border-radius:0; color:#171717; background:#edc16a;
    font:700 14px/1.2 "XFG Condensed","Arial Narrow",sans-serif; cursor:pointer;
}
.xfg-product-page .xfg-shop-search > [data-shop-search-status] { grid-column:1 / -1; margin:6px 0 0; font-size:12px; }
.xfg-product-page .xfg-product-overlay {
    position:relative; display:flex; width:88%; aspect-ratio:16/10; flex-direction:column;
    justify-content:space-between; padding:5%; overflow:hidden; border:2px solid #ba322d;
    background:radial-gradient(ellipse at 70% 20%,#481c21,#111217 65%);
    color:#faf5ec; box-shadow:0 15px 38px #0005;
}
.xfg-product-page .xfg-product-overlay > strong {
    align-self:flex-start; padding:8px 13px; border-left:3px solid #ebbf66;
    font:700 clamp(18px,2.5vw,33px)/1 "XFG Condensed","Arial Narrow",sans-serif;
}
.xfg-product-page .xfg-product-overlay__screen { flex:1; margin:6% 20% 6% 0; border:1px solid #ffffff20; background:#090a0c88; }
.xfg-product-page .xfg-product-overlay__camera { position:absolute; right:5%; bottom:19%; width:25%; aspect-ratio:1.3; border:2px solid #e8ba65; background:#1b1519; }
.xfg-product-page .xfg-product-overlay__bar { display:flex; gap:4%; }
.xfg-product-page .xfg-product-overlay__bar > i { height:12px; flex:1; background:linear-gradient(90deg,#a52928,#e5b961); }
.xfg-product-page .xfg-product-overlay__media { background:#191a1c; }
.xfg-product-page .xfg-product-zoom {
    position:fixed; inset:0; margin:auto; width:min(1100px,calc(100% - 32px));
    max-height:calc(100dvh - 32px); padding:0; overflow:auto;
    border:1px solid #ffffff40; border-radius:5px; background:#1a1b1e; color:#f5f2e9;
}
.xfg-product-page .xfg-product-zoom::backdrop { background:#08090be6; }
.xfg-product-page .xfg-product-zoom__header {
    display:flex; position:sticky; top:0; align-items:center; justify-content:space-between;
    gap:20px; padding:10px 16px; background:#1a1b1e;
}
.xfg-product-page .xfg-product-zoom h2 { margin:0; font:700 22px/1.15 "XFG Condensed","Arial Narrow",sans-serif; }
.xfg-product-page .xfg-product-zoom button {
    flex:none; min-height:44px; padding:10px 17px; border:1px solid #ffffff45;
    color:#f5f2e9; background:transparent; font:600 13px/1.2 "Segoe UI",sans-serif; cursor:pointer;
}
.xfg-product-page .xfg-product-zoom > img {
    display:block; width:100%; height:auto; max-height:calc(100dvh - 110px);
    object-fit:contain; background:#e9e7e2;
}
.xfg-product-page.product-zoom-open { overflow:hidden; }
.xfg-product-page :is(.xfg-product-detail,.xfg-product-breadcrumb,.xfg-product-zoom,.xfg-product-search-form) :is(a,button,input):focus-visible {
    outline:2px solid #f4d385; outline-offset:3px;
}
.xfg-product-page .xfg-product-gallery__stage:focus-visible { outline-offset:-4px; }
@media(max-width:820px) {
    .xfg-product-page .xfg-product-detail { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:24px; }
    .xfg-product-page .xfg-product-details { padding-top:0; }
    .xfg-product-page .xfg-product-details h1 { font-size:34px; }
    .xfg-product-page .xfg-product-description { font-size:14px; margin-top:18px; }
    .xfg-product-page .xfg-product-actions { flex-direction:column; }
}
@media(max-width:620px) {
    .xfg-product-page .xfg-product-breadcrumb { padding-block:18px; font-size:11px; }
    .xfg-product-page .xfg-product-detail { grid-template-columns:minmax(0,1fr); gap:28px; padding-bottom:36px; }
    .xfg-product-page .xfg-product-details h1 { font-size:36px; }
    .xfg-product-page .xfg-product-description { max-width:none; }
    .xfg-product-page .xfg-product-actions { flex-direction:row; }
    .xfg-product-page .xfg-product-actions a { flex:1; padding-inline:12px; }
    .xfg-product-page .xfg-product-related { padding-block:32px; }
    .xfg-product-page .xfg-product-related h2 { font-size:26px; }
    .xfg-product-page .xfg-product-gallery__thumbnails button { width:88px; }
    .xfg-product-page .xfg-product-gallery__thumbnails img { width:74px; height:74px; }
}
@media(max-width:560px) {
    .xfg-product-page .xfg-shop-search::before,
    .xfg-product-page .xfg-shop-search::after { display:none; }
    .xfg-product-page .xfg-product-search-form { gap:8px; }
    .xfg-product-page .xfg-product-search-form input { padding-right:12px; }
    .xfg-product-page .xfg-product-search-form [type="submit"] { min-width:67px; }
    .xfg-product-page .xfg-shop-search > [data-shop-search-status] { display:block; padding:4px 0 0; margin:0; font-size:11px; }
}
