:root{--pink:#f40057;--navy:#06243a;--green:#08fc05;--ice:#dce8e8;--ink:#111820;--muted:#66727c;--line:#e5e9ec;--soft:#f7f8f8;--white:#fff}
*{box-sizing:border-box} body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.5;background:#fff} body.cart-open{overflow:hidden}
img{max-width:100%;display:block} a{color:inherit;text-decoration:none} button,select{font:inherit} button{cursor:pointer}
.wrap{width:min(1180px,calc(100% - 32px));margin:auto}
.topbar{background:var(--pink);color:#fff;text-align:center;padding:9px 12px;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.header-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{font-size:1.45rem;font-weight:1000;letter-spacing:.055em;color:var(--navy)} .logo .pink{color:var(--pink)} .logo .green{color:var(--green)}
.nav{display:flex;gap:22px;font-size:.79rem;font-weight:900} .nav a{padding:24px 0} .nav a:hover{color:var(--pink)}
.cart-button{border:0;background:var(--navy);color:#fff;border-radius:10px;padding:10px 12px;font-weight:1000;font-size:.72rem} .cart-count{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:20px;background:var(--pink);margin-left:6px}
.breadcrumb{padding:18px 0 0;color:var(--muted);font-size:.72rem;font-weight:800}
.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:54px;padding:30px 0 54px;align-items:start}
.main-image{background:var(--soft);border-radius:18px;overflow:hidden;aspect-ratio:4/5;display:grid;place-items:center;border:1px solid var(--line)}
.main-image img{width:100%;height:100%;object-fit:contain}
.eyebrow{color:var(--pink);font-size:.7rem;font-weight:1000;letter-spacing:.14em} h1{font-size:clamp(2rem,5vw,3.5rem);line-height:.98;color:var(--navy);letter-spacing:-.045em;margin:10px 0 12px}
.price{font-size:1.5rem;font-weight:1000;margin-bottom:18px} .intro{color:var(--muted);margin-bottom:24px}
.label{display:flex;justify-content:space-between;gap:10px;font-size:.72rem;font-weight:1000;color:var(--navy);margin:18px 0 8px} .label span{color:var(--pink)}
.variants{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.variant-card{border:2px solid var(--line);background:#fff;border-radius:10px;padding:6px;text-align:left;min-width:0} .variant-card.active{border-color:var(--pink)} .variant-card img{width:100%;aspect-ratio:4/5;object-fit:contain;background:var(--soft);border-radius:6px}
.variant-card span{display:block;font-size:.58rem;font-weight:900;color:var(--navy);line-height:1.15;margin-top:6px} .variant-card strong{font-size:.62rem}
.size-grid{display:flex;flex-wrap:wrap;gap:8px} .size-btn{min-width:54px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px;font-weight:900;color:var(--navy)} .size-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)} .size-btn:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through} .stock-status{font-size:.76rem;font-weight:900;color:var(--navy);margin:10px 0 0} .add:disabled{background:#9aa4aa;cursor:not-allowed}
.add{width:100%;border:0;border-radius:10px;background:var(--pink);color:#fff;padding:15px;font-weight:1000;margin-top:20px} .add:hover{background:var(--navy)}
.message{min-height:24px;color:#087c43;font-size:.74rem;font-weight:900;margin-top:8px} .details{border-top:1px solid var(--line);margin-top:22px;padding-top:18px;color:var(--muted);font-size:.85rem}
/* Compact jersey information and responsive accordions */
.jersey-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 22px}
.jersey-highlight{border:1px solid var(--line);border-radius:10px;background:var(--soft);padding:12px 9px;text-align:center;min-width:0}
.jersey-highlight strong{display:block;color:var(--navy);font-size:.79rem;font-weight:900}
.jersey-highlight span{display:block;color:var(--muted);font-size:.66rem;margin-top:2px}
.sizing-tip{margin:14px 0 0;background:#f7f8fa;border-left:3px solid var(--pink);border-radius:8px;padding:12px 14px;color:var(--navy);font-size:.8rem;line-height:1.55}
.sizing-tip strong{display:block;font-weight:900;margin-bottom:2px}
.details{border-top:1px solid var(--line);margin-top:25px;padding-top:0;color:var(--muted);font-size:.92rem;line-height:1.5}
.details details{border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;margin:0;overflow:visible;padding:0}
.details summary{list-style:none;cursor:pointer;padding:17px 2px;font-weight:1000;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:inherit;letter-spacing:0}
.details summary::-webkit-details-marker{display:none}
.details summary::marker{content:""}
.details summary::after{content:"+";color:var(--pink);font-size:1.2rem;font-weight:normal;line-height:1}
.details details[open] summary::after{content:"−"}
.details details[open] summary{border-bottom:0}
.details .detail-content{padding:0 2px 18px}
.details p{margin:0 0 12px}.details p:last-child{margin-bottom:0}
.details ul{margin:0;padding-left:19px}.details li{margin:5px 0}
.details a{color:var(--navy);text-decoration:underline}
@media(max-width:520px){.jersey-highlights{gap:6px}.jersey-highlight{padding:10px 5px}.jersey-highlight strong{font-size:.71rem}.jersey-highlight span{font-size:.61rem}.details summary{padding:17px 2px}}
.trust{background:var(--ice);padding:26px 0} .trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;text-align:center;color:var(--navy)} .trust strong{display:block;font-size:.82rem} .trust span{font-size:.7rem;color:var(--muted)}
.footer{background:#041a2a;color:rgba(255,255,255,.75);padding:38px 0;text-align:center;font-size:.78rem}
.cart-overlay{position:fixed;inset:0;background:rgba(2,17,28,.48);z-index:190;opacity:0;visibility:hidden;transition:.2s} .cart-overlay.open{opacity:1;visibility:visible}
.cart-drawer{position:fixed;top:0;right:0;width:min(430px,100%);height:100dvh;background:#fff;z-index:200;transform:translateX(100%);transition:.25s;display:flex;flex-direction:column;box-shadow:-20px 0 55px rgba(0,0,0,.15)} .cart-drawer.open{transform:translateX(0)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)} .cart-head h2{margin:0;color:var(--navy);font-size:1.15rem} .cart-close{border:0;background:var(--soft);width:36px;height:36px;border-radius:50%;font-size:1.1rem}
.cart-items{flex:1;overflow:auto;padding:12px 18px} .cart-empty{padding:40px 10px;text-align:center;color:var(--muted)} .cart-item{display:grid;grid-template-columns:58px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)} .cart-item img{width:58px;height:72px;object-fit:contain;background:var(--soft);border-radius:7px} .cart-item h3{font-size:.78rem;color:var(--navy);margin:0 0 3px} .cart-item p{font-size:.68rem;color:var(--muted);margin:0 0 7px}
.qty-controls{display:flex;align-items:center;gap:8px} .qty-controls button{width:26px;height:26px;border:1px solid var(--line);background:#fff;border-radius:6px} .remove-item{border:0!important;background:none!important;color:var(--pink);font-size:.65rem;font-weight:900;width:auto!important} .cart-price{font-size:.78rem;font-weight:1000}
.cart-foot{border-top:1px solid var(--line);padding:17px 18px;background:#fff} .cart-total{display:flex;justify-content:space-between;font-size:1.05rem;font-weight:1000;color:var(--navy);margin-bottom:12px} .checkout-button{display:block;background:var(--pink);color:#fff;text-align:center;padding:14px;border-radius:10px;font-weight:1000}
@media(max-width:800px){.nav{display:none} .product{grid-template-columns:1fr;gap:25px;padding-top:20px} .variants{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.wrap{width:min(100% - 20px,1180px)} .header-inner{min-height:58px} .logo{font-size:1rem} .product{padding-bottom:38px} .variants{grid-template-columns:repeat(2,1fr)} .trust-grid{grid-template-columns:1fr;gap:16px}}
/* YAKUDO FOOTER */
.footer { text-align:left; }

.footer {
    background: #06243a;
    color: #fff;
    padding: 50px 0 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr .8fr 1fr;
    gap: 35px;
    padding-bottom: 40px;
}

.footer-logo {
    font-size: 1.45rem;
    font-weight: 1000;
}

.footer-logo span {
    color: #f40057;
}

.footer p,
.footer li {
    font-size: .86rem;
    line-height: 1.7;
    color: rgba(255,255,255,.67);
}

.footer h3 {
    font-size: .76rem;
    letter-spacing: .08em;
}

.footer ul {
    list-style: none;
    padding: 0;
}

.footer a:hover {
    color: #f40057;
}

/* BOTTOM FOOTER */

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12);
    padding: 20px 0;
    color: rgba(255,255,255,.67);
}

.footer-bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.footer-bottom p {
    margin: 0;
    font-size: .86rem;
}

.footer-legal {
    display: flex;
    gap: 25px;
    flex-wrap: wrap;
}

.footer-bottom a {
    font-size: .86rem;
}

/* RESPONSIVE FOOTER */

@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .footer-legal {
        gap: 20px;
    }
}

/* EVENT T-SHIRTS: page-specific rules in the shared shop stylesheet */
body.event-shirts-page *{box-sizing:border-box}
body.event-shirts-page *{-webkit-text-size-adjust:100%}
body.event-shirts-page{margin:0;font-family:Arial,sans-serif;color:#111820;overflow-x:hidden}
body.event-shirts-page a{text-decoration:none;color:inherit}
body.event-shirts-page button{font:inherit;cursor:pointer}
body.event-shirts-page .wrap{width:min(1160px,calc(100% - 28px));margin:auto}
body.event-shirts-page .top{background:var(--pink);color:#fff;text-align:center;padding:9px;font-size:12px;font-weight:900}
body.event-shirts-page .head{border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:10}
body.event-shirts-page .headin{height:68px;display:flex;align-items:center;justify-content:space-between;position:relative}
@media (min-width:761px){body.event-shirts-page .headin>nav{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    white-space:nowrap;
  }}
body.event-shirts-page .logo{font-weight:1000;color:var(--navy);font-size:22px}
body.event-shirts-page .logo b{color:var(--pink)}
body.event-shirts-page nav{display:flex;gap:22px;font-size:13px;font-weight:900}
body.event-shirts-page .header-actions{display:flex;align-items:center;gap:8px}
body.event-shirts-page .menu{display:none;border:0;background:transparent;color:var(--navy);font-size:25px;font-weight:900;padding:7px 8px;min-width:44px;min-height:44px;touch-action:manipulation}
body.event-shirts-page .basket{background:var(--navy);color:#fff;border:0;padding:11px 14px;border-radius:9px;font-weight:900;min-height:44px;touch-action:manipulation}
body.event-shirts-page .product{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;padding:38px 0 55px}
body.event-shirts-page .hero{aspect-ratio:4/5;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center}
body.event-shirts-page .hero img{width:auto;height:90%;max-width:90%;max-height:90%;object-fit:contain;object-position:center center;display:block;margin:auto}
body.event-shirts-page .eyebrow{color:var(--pink);font-weight:900;font-size:12px;letter-spacing:2px}
body.event-shirts-page h1{color:var(--navy);font-size:44px;line-height:1;margin:10px 0}
body.event-shirts-page .price{font-size:24px;font-weight:1000}
body.event-shirts-page .intro{color:var(--muted);line-height:1.55}
body.event-shirts-page .label{display:flex;justify-content:space-between;font-size:12px;font-weight:1000;color:var(--navy);margin:22px 0 9px}
body.event-shirts-page .label span{color:var(--pink)}
body.event-shirts-page .swatches, body.event-shirts-page .sizes{display:flex;gap:8px;flex-wrap:wrap}
body.event-shirts-page .swatch{border:2px solid var(--line);background:#fff;border-radius:30px;padding:10px 12px;min-height:44px;font-size:11px;font-weight:900;display:flex;align-items:center;gap:7px}
body.event-shirts-page .swatch.active{border-color:var(--pink)}
body.event-shirts-page .dot{width:19px;height:19px;border-radius:50%;border:1px solid #999}
body.event-shirts-page .newforest{background:#187d3b}
body.event-shirts-page .jurassic{background:#fff}
body.event-shirts-page .somerset{background:#4e96e1}
body.event-shirts-page .bridport{background:#111}
body.event-shirts-page .size{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 15px;min-width:44px;min-height:44px;font-weight:900}
body.event-shirts-page .size.active{background:var(--navy);color:#fff}
body.event-shirts-page .add{width:100%;border:0;background:var(--pink);color:#fff;border-radius:9px;padding:15px;min-height:48px;margin-top:20px;font-weight:1000}
body.event-shirts-page .msg{min-height:25px;font-size:18px;font-weight:900;line-height:1.4;margin-top:14px}
body.event-shirts-page .details{border-top:1px solid var(--line);margin-top:25px}
body.event-shirts-page .details details{border-bottom:1px solid var(--line);padding:0}
body.event-shirts-page .details summary{list-style:none;cursor:pointer;padding:17px 2px;font-weight:1000;color:var(--navy);display:flex;justify-content:space-between;align-items:center;font-size:12px}
body.event-shirts-page .details summary::-webkit-details-marker{display:none}
body.event-shirts-page .details summary:after{content:"+";color:var(--pink);font-size:1.2rem}
body.event-shirts-page .details details[open] summary:after{content:"–"}
body.event-shirts-page .details .copy{padding:0 2px 18px;color:var(--muted);font-size:.92rem;line-height:1.6}
body.event-shirts-page .overlay{position:fixed;inset:0;background:#0018;opacity:0;visibility:hidden;z-index:20}
body.event-shirts-page .overlay.open{opacity:1;visibility:visible}
body.event-shirts-page .drawer{position:fixed;right:0;top:0;height:100%;width:min(430px,100%);background:#fff;z-index:21;transform:translateX(100%);transition:.2s;display:flex;flex-direction:column}
body.event-shirts-page .drawer.open{transform:none}
body.event-shirts-page .carthead, body.event-shirts-page .cartfoot{padding:18px;border-bottom:1px solid var(--line)}
body.event-shirts-page .carthead{display:flex;justify-content:space-between}
body.event-shirts-page .items{padding:12px 18px;overflow:auto;flex:1}
body.event-shirts-page .item{display:grid;grid-template-columns:55px 1fr auto;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}
body.event-shirts-page .item img{width:55px;height:70px;object-fit:contain}
body.event-shirts-page .item h3, body.event-shirts-page .item p{margin:0 0 5px;font-size:11px}
body.event-shirts-page .item button{
border:0;background:var(--navy);color:#fff;border-radius:7px;
padding:7px 10px;font-size:10px;font-weight:1000;line-height:1;
margin-top:4px;transition:.18s
}
body.event-shirts-page .item button:hover, body.event-shirts-page .item button:focus, body.event-shirts-page .item button:active{
background:var(--pink);color:#fff
}
body.event-shirts-page .checkout{display:block;text-align:center;background:var(--pink);color:#fff;padding:14px;border-radius:8px;font-weight:900}
body.event-shirts-page .total{display:flex;justify-content:space-between;font-weight:1000;margin-bottom:12px}
body.event-shirts-page .footer{background:#041a2a;color:#fff;padding:30px;text-align:center;font-size:12px}
@media (max-width:760px){body.event-shirts-page .headin{position:relative}
body.event-shirts-page nav{display:none}
body.event-shirts-page .menu{display:block}
body.event-shirts-page nav.mobile-open{
 display:flex;position:absolute;top:68px;left:0;right:0;z-index:50;
 flex-direction:column;gap:0;background:#fff;border:1px solid var(--line);
 border-top:0;box-shadow:0 14px 28px rgba(6,36,58,.14)
}
body.event-shirts-page nav.mobile-open a{display:block;padding:15px 18px;min-height:48px;border-bottom:1px solid var(--line);font-size:12px}
body.event-shirts-page nav.mobile-open a:last-child{border-bottom:0}
body.event-shirts-page nav.mobile-open a[aria-current="page"]{color:var(--pink)}
body.event-shirts-page .product{grid-template-columns:1fr;gap:18px}
body.event-shirts-page h1{font-size:34px}
body.event-shirts-page .hero{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center}
body.event-shirts-page .hero img{width:auto;height:90%;max-width:90%;max-height:90%;object-fit:contain;object-position:center center;margin:auto}
body.event-shirts-page .mobile-options{display:block}
body.event-shirts-page .desktop-options{display:none}}
@media (min-width:761px){body.event-shirts-page .mobile-options{display:none}}
@media (max-width:760px){body.event-shirts-page .top{padding-left:max(9px,env(safe-area-inset-left));padding-right:max(9px,env(safe-area-inset-right))}
body.event-shirts-page .product{padding-top:20px}
body.event-shirts-page .swatches, body.event-shirts-page .sizes{gap:9px}
body.event-shirts-page .details summary{min-height:48px}}
@media (prefers-reduced-motion:reduce){body.event-shirts-page *, body.event-shirts-page *:before, body.event-shirts-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body.event-shirts-page .yu-header{height:76px!important;min-height:76px!important;position:sticky!important;top:0!important;z-index:180!important;background:#fff!important;border-bottom:1px solid #e6eaec!important;display:block!important;box-sizing:border-box!important}
body.event-shirts-page .yu-header *{box-sizing:border-box}
body.event-shirts-page .yu-inner{width:min(1240px,calc(100% - 40px));height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative}
body.event-shirts-page .yu-logo{font-family:Arial,Helvetica,sans-serif!important;font-size:1.55rem!important;letter-spacing:.06em!important;font-weight:1000!important;white-space:nowrap!important;color:#06243a!important;line-height:1!important;position:relative;z-index:2;text-decoration:none!important}
body.event-shirts-page .yu-logo span{color:#f40057!important}
body.event-shirts-page .yu-nav{position:absolute!important;left:50%!important;top:0!important;transform:translateX(-50%)!important;display:flex!important;align-items:center!important;gap:23px!important;height:76px!important;white-space:nowrap!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;width:auto!important}
body.event-shirts-page .yu-nav a{font-family:Arial,Helvetica,sans-serif!important;font-size:.73rem!important;font-weight:1000!important;letter-spacing:.08em!important;text-decoration:none!important;color:#06243a!important;padding:0!important;display:inline!important}
body.event-shirts-page .yu-nav a:hover, body.event-shirts-page .yu-nav a[aria-current="page"]{color:#f40057!important}
body.event-shirts-page .yu-actions{margin-left:auto;display:flex;align-items:center;gap:10px;position:relative;z-index:3}
body.event-shirts-page .yu-basket{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:9px;background:#06243a!important;color:#fff!important;padding:10px 12px;font:900 .73rem Arial,Helvetica,sans-serif;cursor:pointer;min-height:40px;white-space:nowrap}
body.event-shirts-page .yu-basket-count{background:#f40057;color:#fff;border-radius:20px;min-width:20px;height:20px;display:inline-grid;place-items:center;font-size:.7rem;padding:0 5px}
body.event-shirts-page .yu-toggle{display:none;border:0;background:transparent;color:#06243a;font-size:1.55rem;min-width:44px;min-height:44px;cursor:pointer}
body.event-shirts-page .yu-overlay{position:fixed;inset:0;background:rgba(2,17,28,.48);z-index:900;display:none}
body.event-shirts-page .yu-overlay.yu-open{display:block}
body.event-shirts-page .yu-drawer{position:fixed;right:0;top:0;width:min(430px,100%);height:100dvh;z-index:901;background:#fff;transform:translateX(105%);transition:transform .2s;display:flex;flex-direction:column;box-shadow:-20px 0 55px #0002;font:14px Arial,Helvetica,sans-serif}
body.event-shirts-page .yu-drawer.yu-open{transform:translateX(0)}
body.event-shirts-page .yu-drawer-head, body.event-shirts-page .yu-drawer-foot{padding:18px;border-bottom:1px solid #e5e9ec;display:flex;justify-content:space-between;align-items:center}
body.event-shirts-page .yu-drawer-foot{display:block;border-top:1px solid #e5e9ec;border-bottom:0}
body.event-shirts-page .yu-drawer-items{padding:18px;overflow:auto;flex:1}
body.event-shirts-page .yu-drawer-item{display:grid;grid-template-columns:54px 1fr auto;gap:10px;border-bottom:1px solid #eee;padding:12px 0}
body.event-shirts-page .yu-drawer-item img{width:54px;height:65px;object-fit:contain}
body.event-shirts-page .yu-drawer-item button{border:1px solid #ddd;background:#fff;border-radius:5px;cursor:pointer;padding:3px 8px}
body.event-shirts-page .yu-drawer-checkout{display:block;text-align:center;background:#f40057;color:#fff!important;padding:13px;border-radius:8px;margin-top:12px;font-weight:900;text-decoration:none}
@media (max-width:1080px){body.event-shirts-page .yu-nav{display:none!important;position:absolute!important;top:76px!important;left:0!important;right:0!important;transform:none!important;height:auto!important;background:#fff!important;box-shadow:0 12px 20px #0002!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:8px 14px!important;width:100%!important}
body.event-shirts-page .yu-nav.yu-open{display:flex!important}
body.event-shirts-page .yu-nav a{display:block!important;padding:12px 8px!important}
body.event-shirts-page .yu-toggle{display:block}
body.event-shirts-page .yu-inner{width:calc(100% - 28px)}}
@media (max-width:440px){body.event-shirts-page .yu-logo{font-size:1.2rem!important}
body.event-shirts-page .yu-basket{font-size:.66rem;padding:8px}
body.event-shirts-page .yu-actions{gap:4px}}

/* Shared footer always uses the shop-wide footer layout */
body.event-shirts-page .footer{background:#06243a;color:#fff;padding:50px 0 0;text-align:left;font-size:inherit}
body.event-shirts-page .footer-grid{display:grid;grid-template-columns:1.5fr 1fr .8fr 1fr;gap:35px;padding-bottom:40px}
body.event-shirts-page .footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;width:min(1180px,calc(100% - 32px));margin:auto}
@media(max-width:900px){body.event-shirts-page .footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body.event-shirts-page .footer-grid{grid-template-columns:1fr}body.event-shirts-page .footer-bottom-inner{flex-direction:column;align-items:flex-start;gap:12px}}

/* VELO glasses: reusable gallery, lens options and purchase components */
body.glasses-page{
  --pink:#f40057; --navy:#06243a; --ice:#dce8e8; --teal:#0b7180;
  --peach:#f4b294; --ink:#111820; --muted:#66727c; --line:#e5e9ec;
  --soft:#f7f8f8; --white:#fff; --green:#19a463;
}
body.glasses-page *{box-sizing:border-box}
html:has(body.glasses-page){scroll-behavior:smooth}
body.glasses-page{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
body.glasses-page img{max-width:100%}
body.glasses-page a{text-decoration:none;color:inherit}
body.glasses-page button,body.glasses-page select{font:inherit}
body.glasses-page .wrap{width:min(1180px,calc(100% - 32px));margin:auto}
body.glasses-page .topbar{background:var(--pink);color:#fff;text-align:center;padding:9px 12px;font-size:.76rem;font-weight:900;letter-spacing:.08em}
body.glasses-page .header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
body.glasses-page .header-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}
body.glasses-page .logo{font-size:1.55rem;font-weight:1000;letter-spacing:.08em;color:var(--navy)}
body.glasses-page .logo span{color:var(--pink)}
body.glasses-page .nav{display:flex;gap:22px;font-size:.82rem;font-weight:900}
body.glasses-page .nav a:hover{color:var(--pink)}
body.glasses-page .breadcrumb{padding:18px 0 10px;color:var(--muted);font-size:.78rem}
body.glasses-page .breadcrumb a{font-weight:800}
body.glasses-page .product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:54px;align-items:start;padding:12px 0 64px}
body.glasses-page .gallery{position:sticky;top:96px;display:flex;flex-direction:column;align-items:center}
body.glasses-page .product-image-frame{
  width:min(100%,520px); aspect-ratio:4/5; display:grid; place-items:center;
  overflow:hidden; border-radius:24px; background:var(--soft); border:1px solid var(--line);
}
body.glasses-page .product-image-frame img{
  width:100%; height:100%; object-fit:contain; object-position:center; display:block;
}
body.glasses-page .thumb-note{text-align:center;color:var(--muted);font-size:.72rem;margin-top:9px}
body.glasses-page .info{padding:14px 0}
body.glasses-page .eyebrow{color:var(--pink);font-size:.72rem;font-weight:1000;letter-spacing:.15em;text-transform:uppercase}
body.glasses-page h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;letter-spacing:-.045em;margin:8px 0 12px;color:var(--navy)}
body.glasses-page .price{font-size:1.55rem;font-weight:1000;margin-bottom:15px}
body.glasses-page .intro{font-size:1.02rem;color:var(--muted);max-width:650px}
body.glasses-page .quick-points{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
body.glasses-page .quick-points span{padding:8px 11px;border-radius:999px;background:var(--ice);font-size:.74rem;font-weight:900;color:var(--navy)}
body.glasses-page .option-label{display:flex;justify-content:space-between;align-items:center;margin:22px 0 8px;font-size:.8rem;font-weight:1000}
body.glasses-page .option-label a{color:var(--pink)}
body.glasses-page .size-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
body.glasses-page .size-btn{min-height:46px;border:1px solid #cdd4d8;border-radius:10px;background:#fff;font-weight:900;cursor:pointer}
body.glasses-page .size-btn:hover,body.glasses-page .size-btn.active{border-color:var(--navy);background:var(--navy);color:#fff}
body.glasses-page .colour-grid{display:flex;flex-wrap:wrap;gap:12px}
body.glasses-page .colour-btn{border:0;background:transparent;padding:0;cursor:pointer;text-align:center;color:var(--muted);font-size:.68rem;font-weight:900}
body.glasses-page .colour-dot{display:block;width:34px;height:34px;border-radius:50%;margin:0 auto 5px;border:3px solid #fff;box-shadow:0 0 0 1px #bcc5ca}
body.glasses-page .colour-btn.active .colour-dot{box-shadow:0 0 0 3px var(--pink)}
body.glasses-page .colour-btn.active{color:var(--navy)}
body.glasses-page .colour-black{background:#111}
body.glasses-page .colour-white{background:#fff}
body.glasses-page .colour-burgundy{background:#611409}
body.glasses-page .colour-navy{background:#06243a}
body.glasses-page .colour-pink{background:#f40057}
body.glasses-page .colour-blue{background:#76b9dc}
body.glasses-page .colour-grey{background:#9da3a6}
body.glasses-page .colour-green{background:#5f8b62}
body.glasses-page .colour-red{background:#611409}
body.glasses-page .colour-lightblue{background:#4e96e1}
body.glasses-page .buy-box{margin-top:24px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 16px 45px rgba(6,36,58,.08)}
body.glasses-page .buy-title{font-size:.75rem;font-weight:1000;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:12px}
body.glasses-page .apple-pay-slot{min-height:52px;margin-bottom:10px}
body.glasses-page #express-checkout-element{min-height:48px}
body.glasses-page .pay-divider{display:flex;align-items:center;gap:12px;color:#8a949b;font-size:.72rem;font-weight:900;margin:13px 0}
body.glasses-page .pay-divider:before,body.glasses-page .pay-divider:after{content:"";height:1px;background:var(--line);flex:1}
body.glasses-page .buy-now{
  width:100%;min-height:54px;border:0;border-radius:12px;background:var(--pink);
  color:#fff;font-weight:1000;letter-spacing:.04em;cursor:pointer;
}
body.glasses-page .buy-now:hover{filter:brightness(.94)}
body.glasses-page .buy-now:disabled{opacity:.5;cursor:not-allowed}
body.glasses-page .secure{display:flex;justify-content:center;gap:10px;margin-top:12px;color:var(--muted);font-size:.72rem;font-weight:800}
body.glasses-page .stripe-panel{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
body.glasses-page .stripe-panel.open{display:block}
body.glasses-page #payment-element{margin-bottom:14px}
body.glasses-page .payment-message{font-size:1rem;color:#b42318;margin-top:12px;font-weight:1000;line-height:1.4;padding:10px 12px;border-radius:9px}
body.glasses-page .payment-message:not(:empty){background:#fff0f3;border:2px solid var(--pink)}
body.glasses-page .details{border-top:1px solid var(--line);margin-top:25px}
body.glasses-page .details details{border-bottom:1px solid var(--line)}
body.glasses-page .details summary{list-style:none;cursor:pointer;padding:17px 2px;font-weight:1000;color:var(--navy);display:flex;justify-content:space-between}
body.glasses-page .details summary::-webkit-details-marker{display:none}
body.glasses-page .details summary:after{content:"+";color:var(--pink);font-size:1.2rem}
body.glasses-page .details details[open] summary:after{content:"–"}
body.glasses-page .details .copy{padding:0 2px 18px;color:var(--muted);font-size:.92rem}
body.glasses-page .trust{background:var(--navy);color:#fff;padding:24px 0}
body.glasses-page .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;text-align:center}
body.glasses-page .trust strong{display:block;color:#fff;font-size:.86rem}
body.glasses-page .trust span{font-size:.72rem;color:rgba(255,255,255,.7)}
body.glasses-page .related{padding:56px 0 76px}
body.glasses-page .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}
body.glasses-page .section-head h2{margin:0;color:var(--navy);font-size:clamp(1.6rem,3vw,2.4rem)}
body.glasses-page .product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
body.glasses-page .product-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
body.glasses-page .product-card-image{aspect-ratio:4/5;background:var(--soft);overflow:hidden;display:grid;place-items:center}
body.glasses-page .product-card-image img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;transition:.25s}
body.glasses-page .product-card:hover img{transform:scale(1.025)}
body.glasses-page .product-card-body{padding:14px}
body.glasses-page .product-card-body small{color:var(--pink);font-weight:1000;text-transform:uppercase}
body.glasses-page .product-card-body h3{font-size:1rem;margin:5px 0 10px;color:var(--navy)}
body.glasses-page .card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
body.glasses-page .card-bottom strong{font-size:1.05rem}
body.glasses-page .card-buy{padding:9px 13px;border-radius:10px;background:var(--navy);color:#fff;font-size:.72rem;font-weight:1000}
body.glasses-page .footer{background:#041a2a;color:rgba(255,255,255,.72);padding:62px 0 0;font-size:.86rem}
body.glasses-page .footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:42px;padding-bottom:46px}
body.glasses-page .footer-logo{display:inline-block;font-size:1.55rem;font-weight:1000;letter-spacing:.08em;color:#fff;margin-bottom:15px}
body.glasses-page .footer-logo span{color:var(--pink)}
body.glasses-page .footer-desc{max-width:280px;line-height:1.7;margin:0 0 18px}
body.glasses-page .footer h2{font-size:1rem;color:#fff;margin:0 0 17px;text-transform:uppercase;letter-spacing:.06em}
body.glasses-page .footer p{margin:0 0 9px}
body.glasses-page .footer a{color:rgba(255,255,255,.82)}
body.glasses-page .footer a:hover{color:#fff}
body.glasses-page .footer-links{list-style:none;padding:0;margin:0}
body.glasses-page .footer-links li{margin:0 0 10px}
body.glasses-page .social-list{list-style:none;padding:0;margin:18px 0 0;display:flex;gap:10px}
body.glasses-page .social-list li{display:flex;align-items:center;gap:12px}
body.glasses-page .social-list a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
body.glasses-page .social-list svg{stroke:currentColor}
body.glasses-page .footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0}
body.glasses-page .footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}
body.glasses-page .footer-legal{display:flex;gap:18px;flex-wrap:wrap}
body.glasses-page .footer strong{color:#fff}
@media(max-width:900px){body.glasses-page .footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){body.glasses-page .footer{padding-top:42px}
body.glasses-page .footer-grid{grid-template-columns:1fr;gap:30px;padding-bottom:32px}
body.glasses-page .footer-bottom-inner{display:block}
body.glasses-page .footer-legal{margin-top:10px}}
body.glasses-page .cart-button{border:0;background:var(--navy);color:#fff;border-radius:10px;padding:10px 13px;font-size:.75rem;font-weight:1000;cursor:pointer}
body.glasses-page .cart-button span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;margin-left:5px;border-radius:999px;background:var(--pink);font-size:.66rem}
body.glasses-page .add-basket{width:100%;min-height:54px;border:0;border-radius:12px;background:var(--pink);color:#fff;font-weight:1000;cursor:pointer}
body.glasses-page .basket-overlay{position:fixed;inset:0;background:rgba(4,26,42,.48);z-index:89;opacity:0;pointer-events:none;transition:.2s}
body.glasses-page .basket-overlay.open{opacity:1;pointer-events:auto}
body.glasses-page .basket-drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,94vw);background:#fff;z-index:90;transform:translateX(105%);transition:.25s;display:flex;flex-direction:column;box-shadow:-20px 0 50px rgba(0,0,0,.15)}
body.glasses-page .basket-drawer.open{transform:translateX(0)}
body.glasses-page .basket-head{padding:20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}
body.glasses-page .basket-close{border:0;background:none;font-size:1.5rem;cursor:pointer}
body.glasses-page .basket-items{padding:8px 20px;overflow:auto;flex:1}
body.glasses-page .basket-empty{padding:38px 10px;text-align:center;color:var(--muted)}
body.glasses-page .basket-item{display:grid;grid-template-columns:62px 1fr auto;gap:11px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
body.glasses-page .basket-item img{width:62px;height:76px;object-fit:contain;background:var(--soft);border-radius:8px}
body.glasses-page .basket-item h3{margin:0 0 3px;font-size:.78rem;color:var(--navy)}
body.glasses-page .basket-item p{margin:0;color:var(--muted);font-size:.68rem}
body.glasses-page .basket-item-price{font-size:.75rem;font-weight:1000}
body.glasses-page .basket-remove{border:0;background:none;color:var(--pink);padding:4px 0;font-size:.65rem;font-weight:900;cursor:pointer}
body.glasses-page .basket-foot{border-top:1px solid var(--line);padding:18px 20px}
body.glasses-page .basket-total{display:flex;justify-content:space-between;color:var(--navy);font-weight:1000;margin-bottom:12px}
body.glasses-page .checkout-button{display:grid;place-items:center;min-height:52px;background:var(--pink);color:#fff;border-radius:11px;font-size:.76rem;font-weight:1000}
body.glasses-page .mobile-buy-bar{display:none}
body.glasses-page .mobile-frame-options{display:none}
@media(max-width:900px){body.glasses-page .nav{display:none}
body.glasses-page .product{grid-template-columns:1fr;gap:20px;padding-bottom:36px}
body.glasses-page .gallery{position:static}
body.glasses-page .product-image-frame{width:min(100%,520px);aspect-ratio:1/1;max-height:72vh}
body.glasses-page .info{padding-top:0}
body.glasses-page .product-grid{grid-template-columns:repeat(2,1fr)}
body.glasses-page .trust-grid{grid-template-columns:repeat(2,1fr);row-gap:22px}}
@media(max-width:600px){body.glasses-page{padding-bottom:78px}
body.glasses-page .wrap{width:min(100% - 22px,1180px)}
body.glasses-page .topbar{font-size:.66rem}
body.glasses-page .header-inner{min-height:58px}
body.glasses-page .logo{font-size:1.3rem}
body.glasses-page .breadcrumb{padding-top:12px}
body.glasses-page .product{gap:15px}
body.glasses-page .product-image-frame{border-radius:16px;background:#fff}
body.glasses-page .mobile-frame-options{display:block;width:100%;margin-top:14px}
body.glasses-page .desktop-frame-options{display:none}
body.glasses-page .mobile-frame-options .option-label{margin:10px 0 10px}
body.glasses-page .mobile-frame-options .colour-grid{justify-content:flex-start}
body.glasses-page .mobile-frame-options .colour-dot{width:38px;height:38px}
body.glasses-page h1{font-size:2rem}
body.glasses-page .price{font-size:1.35rem}
body.glasses-page .intro{font-size:.94rem}
body.glasses-page .quick-points{margin:14px 0}
body.glasses-page .size-grid{grid-template-columns:repeat(5,1fr)}
body.glasses-page .size-btn{min-height:44px}
body.glasses-page .buy-box{padding:14px;border-radius:16px}
body.glasses-page .details{margin-top:18px}
body.glasses-page .trust{padding:22px 0}
body.glasses-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.glasses-page .product-card{border-radius:14px}
body.glasses-page .product-card-body{padding:10px}
body.glasses-page .product-card-body h3{font-size:.86rem}
body.glasses-page .card-bottom{align-items:flex-start;flex-direction:column}
body.glasses-page .card-buy{width:100%;text-align:center}
body.glasses-page .related{padding:40px 0}
body.glasses-page .mobile-buy-bar{
    display:grid;grid-template-columns:1fr 1.5fr;gap:10px;align-items:center;
    position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);
  }
body.glasses-page .mobile-buy-bar strong{color:var(--navy)}
body.glasses-page .mobile-buy-bar a{min-height:48px;display:grid;place-items:center;border-radius:11px;background:var(--pink);color:#fff;font-weight:1000}}


/* SHARED PRODUCT IMAGE ALIGNMENT — consistent visual scale */
/* Keeps the complete product visible, with matching image space across pages. */
.main-image img,
body.event-shirts-page .hero img,
body.glasses-page .product-image-frame img {
    width: 88%;
    height: 88%;
    max-width: 88%;
    max-height: 88%;
    object-fit: contain;
    object-position: center center;
    margin: auto;
}

/* Mobile: centre images within a viewport-friendly image area. */
@media (max-width: 760px) {
    .main-image,
    body.event-shirts-page .hero,
    body.glasses-page .product-image-frame {
        aspect-ratio: 1 / 1;
        max-height: 65dvh;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .main-image img,
    body.event-shirts-page .hero img,
    body.glasses-page .product-image-frame img {
        width: 88%;
        height: 88%;
        max-width: 88%;
        max-height: 88%;
        object-fit: contain;
        object-position: center center;
        margin: auto;
    }
}

/* VELO SOCKS — page-specific layout, no changes to other products */
body.socks-page .mobile-product-options{display:none}
body.socks-page .socks-size-grid{display:flex;flex-wrap:wrap;gap:8px}
body.socks-page .socks-size-grid .size-btn{font-size:.78rem;line-height:1.35;min-width:0;max-width:170px;padding:10px 12px;white-space:normal}
body.socks-page .socks-colour-grid{gap:16px}
body.socks-page .option-label{color:var(--navy)}
body.socks-page .option-label span:last-child{font-size:.75rem;font-weight:700;color:var(--muted)}
@media(max-width:900px){body.socks-page .mobile-product-options{display:block;width:100%;margin-top:14px}body.socks-page .desktop-product-options{display:none}body.socks-page .gallery{align-items:stretch}}
@media(min-width:901px){body.socks-page .desktop-product-options{display:block}}
@media(max-width:600px){body.socks-page .socks-size-grid .size-btn{font-size:.75rem;padding:9px 10px}body.socks-page .mobile-product-options .option-label{margin:14px 0 8px}}
