/* Product workspace — one design and order flow, with the real product alongside it. */
.breadcrumb{display:flex;gap:12px;padding-block:25px;color:var(--muted);font-size:.8rem}
.breadcrumb a:hover{color:var(--blue)}
.product-workspace{display:grid;grid-template-columns:1.05fr 1fr;grid-template-areas:"media intro" "media config";grid-template-rows:auto 1fr;column-gap:70px;row-gap:30px;padding-bottom:90px;align-items:start}
.product-intro{grid-area:intro;padding-top:5px}
.product-intro .eyebrow{font-size:.71rem;color:var(--blue);margin-bottom:20px}
.product-intro h1{font-size:clamp(2.6rem,4.1vw,3.8rem);line-height:1.03}
.product-intro>p{margin-top:19px;max-width:42ch;color:var(--muted)}
.product-price-line{display:flex;align-items:baseline;gap:13px;margin-top:22px}
.product-price-line strong{font-size:1.3rem;font-weight:600;letter-spacing:-.03em}
.product-price-line>span{font-size:.85rem;color:var(--muted)}
.product-intro .approval-note{font-size:.82rem;color:var(--ink);margin-top:12px}
.approval-note span{color:var(--blue);margin-right:6px}
.product-media{grid-area:media;align-self:stretch;min-width:0}
.product-media-sticky{position:sticky;top:108px}
.preview-stage{border:1px solid var(--line);border-radius:8px;background:#efeee8;overflow:hidden}
.preview-caption,.preview-bottom{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.72rem;padding:19px 22px}
.preview-caption>span:first-child{color:var(--ink)}
.preview-caption i{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;margin-right:6px}
.preview-wrap{height:370px;position:relative;width:100%;isolation:isolate}
#preview-canvas{width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}
#preview-canvas:active{cursor:grabbing}
.preview-bottom{border-top:1px solid var(--line);font-family:var(--mono);font-size:.64rem;padding-block:14px}
.preview-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:#efeee8;z-index:2;font-size:.8rem;color:var(--muted)}
.hidden{display:none!important}
.spinner{width:24px;height:24px;border:2px solid #cbd0c4;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.preview-disclaimer{font-size:.73rem;color:var(--muted);line-height:1.5;margin-top:12px}
.product-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.product-photo-pair a{position:relative;min-width:0;overflow:hidden;border-radius:5px;background:var(--paper-2)}
.product-photo-pair img{width:100%;height:165px;object-fit:cover;object-position:50% 54%;transition:transform .3s}
.product-photo-pair a:hover img{transform:scale(1.03)}
.product-photo-pair span{position:absolute;bottom:9px;left:9px;right:9px;background:var(--paper);padding:5px 8px;border-radius:3px;font-size:.65rem}
.purchase-flow{grid-area:config;min-width:0}
.step-heading{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding-top:26px;margin-bottom:24px}
.step-heading>span{font: .72rem var(--mono);color:var(--blue);border:1px solid #c6cfe8;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;flex-shrink:0}
.step-heading h2{font-size:1.4rem;letter-spacing:-.03em}
.design-controls{display:grid;gap:23px}
.hero-config-name{flex-direction:row}
.hero-config-name .hero-num-field{flex:0 0 88px}
.hero-config-name .input{text-transform:uppercase}
.sport-pills,.font-pills{display:flex;gap:7px;flex-wrap:wrap}
.sport-pill,.font-pill{padding:9px 12px;min-height:42px;line-height:1.4;border:1px solid #ced1c7;border-radius:5px;background:transparent;font-size:.81rem;transition:background .15s,border-color .15s}
.sport-pill:hover,.font-pill:hover{border-color:var(--blue)}
.sport-pill.active,.font-pill.active{background:#e9edfb;color:var(--blue-deep);border-color:var(--blue)}
.font-pill[data-font="Montserrat"]{font-family:Montserrat,sans-serif}.font-pill[data-font="Poppins"]{font-family:Poppins,sans-serif}.font-pill[data-font="Oswald"]{font-family:Oswald,sans-serif}.font-pill[data-font="Bebas Neue"]{font-family:'Bebas Neue',sans-serif}.font-pill[data-font="Roboto"]{font-family:Roboto,sans-serif}
.swatch-group+.swatch-group{margin-top:12px}
.swatch-group-label{font-size:.69rem;color:var(--muted);display:flex;align-items:center;gap:6px;margin-bottom:10px}
.stock-indicator{width:5px;height:5px;display:inline-block;border-radius:50%;background:#647b52}
.stock-indicator.to-order{background:#9b8247}
.swatch-row{display:flex;flex-wrap:wrap;gap:10px}
.swatch{width:29px;height:29px;border:1px solid #0003;border-radius:50%;cursor:pointer;position:relative;transition:transform .15s;flex-shrink:0}
.swatch:hover{transform:scale(1.1)}
.swatch.active{outline:2px solid var(--blue);outline-offset:3px}
.swatch.active::after{content:"";width:7px;height:7px;position:absolute;top:9px;left:9px;background:#fff;border:1px solid #0005;border-radius:50%;box-shadow:0 0 0 1px #0001}
.swatch-tooltip{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);padding:5px 8px;background:var(--ink);color:#fff;border-radius:4px;white-space:nowrap;font-size:.7rem;pointer-events:none;opacity:0;z-index:5}
.swatch:hover .swatch-tooltip,.swatch:focus-visible .swatch-tooltip{opacity:1}
.swatch-group-toggle{font-size:.73rem;color:var(--blue);cursor:pointer;margin-top:13px;display:inline-flex;gap:7px;align-items:center}
button.swatch-group-toggle{border:0;background:none;padding:5px 0;font-family:inherit;text-align:left}
.swatch-picker{width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:5px}
.colors-locked{opacity:.45;pointer-events:none}
.custom-color-note{display:none;font-size:.75rem;line-height:1.5;margin-top:12px;padding:10px 12px;background:#eee9d9;border-radius:4px;color:#675329}
.custom-color-note.visible{display:block}
.norge-note{background:#e9edfb;color:var(--blue-deep)}
.hero-more,.op-collapse{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-more summary,.op-collapse summary{font-size:.85rem;font-weight:500;padding:15px 0;list-style:none;display:flex;gap:10px;align-items:center}
.hero-more summary::-webkit-details-marker,.op-collapse summary::-webkit-details-marker{display:none}
.hero-more summary::after,.op-collapse summary::after{content:"+";margin-left:auto;font-size:1.2rem;font-weight:400;color:var(--muted)}
.hero-more[open] summary::after,.op-collapse[open] summary::after{content:"−"}
.hero-more-inner{display:grid;gap:24px;padding:6px 0 22px}
.field-help,.op-hint{font-size:.76rem;color:var(--muted);line-height:1.55}
.field-help{margin-top:15px}
.order-pay{margin-top:38px;scroll-margin-top:105px}
.op-card{display:grid;gap:23px}
.op-field{min-width:0}
.pkg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:23px}
.pkg-opt{position:relative;padding:18px 5px 11px;border:1px solid #c9cdc3;background:transparent;border-radius:5px;text-align:center;line-height:1.25}
.pkg-opt:hover{border-color:var(--blue)}
.pkg-opt.active{border:2px solid var(--blue);padding:17px 4px 10px;background:#e9edfb}
.pk-size{font-size:1.9rem;font-weight:600;letter-spacing:-.07em}
.pk-unit{font-size:.66rem;color:var(--muted);margin-top:3px}
.pk-price{font-size:.95rem;font-weight:600;margin-top:14px}
.pk-per{font-size:.66rem;color:var(--muted);margin-top:4px}
.pk-save{font-size:.61rem;color:var(--blue);margin-top:10px}
.pk-save.is-blank{visibility:hidden}
.pk-check{position:absolute;top:6px;right:8px;display:none;font-size:.7rem;color:var(--blue)}
.pkg-opt.active .pk-check{display:block}
.pk-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--blue);color:#fff;border-radius:3px;padding:3px 6px;font-size:.59rem;font-weight:500}
.topup-wrap{margin-top:16px}
.topup-toggle{border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:0 0 5px;font-size:.76rem;color:var(--muted);line-height:1.65}
.topup-toggle span{font-weight:500;color:var(--ink);white-space:nowrap;margin-left:5px}
.topup-toggle:hover,.topup-toggle.active{color:var(--blue)}
.topup-box{margin-top:14px;border:1px solid var(--line);padding:15px;border-radius:5px;background:#fff}
.topup-stepper{display:flex;align-items:center;gap:17px;margin-bottom:9px}
.topup-stepper button{width:37px;height:37px;border:1px solid var(--line);background:var(--paper);border-radius:4px}
.topup-unit{color:var(--muted);font-size:.8rem}
.opt-tag{font-size:.71rem;color:var(--muted);font-weight:400}
.op-collapse-inner{padding:0 0 20px}
.addon-grid{display:grid;gap:12px}
.addon-card{display:flex;gap:13px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:5px}
.addon-card.active{border-color:#9aade6}
.addon-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;color:var(--blue)}
.addon-icon svg{width:32px;height:32px}
.addon-card-body{min-width:0;flex:1}
.addon-label{display:block;font-size:.84rem;font-weight:500}
.addon-desc{display:block;font-size:.72rem;color:var(--muted);margin-top:3px}
.addon-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.addon-pill{font-size:.72rem;background:var(--paper);border:1px solid var(--line);padding:7px 9px;min-height:34px;border-radius:4px}
.addon-pill.active{background:#e9edfb;color:var(--blue-deep);border-color:var(--blue)}
.addon-note{font-size:.71rem;color:var(--muted);margin-top:9px}
.keeper-color-row{margin-top:18px}
.keeper-color-row .addon-label{margin-bottom:12px}
#op-players{min-height:135px;font-family:var(--mono);font-size:.85rem}
.customer-step{border-top:1px solid var(--line);padding-top:24px;display:grid;gap:16px}
.customer-step h3{font-size:1.05rem}
.op-row{flex-direction:column;gap:16px}
.op-summary{background:#eeeee7;border-radius:5px;padding:21px;font-size:.85rem}
.op-line{display:flex;justify-content:space-between;gap:14px;margin-bottom:9px}
.op-line>span:last-child{white-space:nowrap}
.op-total{border-top:1px solid #d2d6ca;padding-top:14px;margin-top:14px;display:flex;justify-content:space-between;font-size:1.2rem;font-weight:600;letter-spacing:-.03em}
.op-summary-upsell{display:block;border:0;border-top:1px solid #d2d6ca;margin-top:16px;padding:12px 0 0;background:none;color:var(--blue);font-size:.75rem;line-height:1.5;text-align:left}
.op-terms{display:flex;align-items:start;gap:11px;font-size:.72rem;line-height:1.65;color:var(--muted)}
.op-terms input{flex:0 0 17px;width:17px;height:17px;accent-color:var(--blue);margin-top:3px}
.op-terms a{text-decoration:underline;text-underline-offset:3px}
#op-pay{font-size:.93rem}
.payment-note{font-size:.72rem;color:var(--muted);text-align:center}
.op-bonus{display:flex;gap:12px;padding:15px;background:#e9edfb;border-radius:5px;font-size:.79rem;color:var(--blue-deep)}
.op-bonus-icon{display:none}
.making-section{background:#efefea;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.making-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}
.making-index{display:block;font:.72rem var(--mono);color:var(--blue);border-top:1px solid #cfd3c7;padding-top:20px;margin-bottom:24px}
.making-grid h3{font-size:1.3rem}
.making-grid p{font-size:.94rem;color:var(--muted);margin-top:15px;max-width:34ch}
.story-photos{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px}
.story-photos img{width:100%;height:360px;object-fit:cover;border-radius:6px}
.story-photos figcaption{font-size:.8rem;color:var(--muted);margin-top:13px}
.social-proof{margin-top:30px;padding:25px;background:#efefea;border:1px solid var(--line);border-radius:6px;font-size:.88rem}
.review-stars{color:var(--blue)}
.buybar{display:none}
@media(max-width:1100px){.product-workspace{gap:30px 40px}.preview-wrap{height:330px}.product-photo-pair img{height:145px}.preview-caption{padding:17px 16px}.preview-bottom{padding:13px 16px;font-size:.6rem}.product-photo-pair span{font-size:.6rem}}
@media(max-width:900px) and (min-width:761px){.product-workspace{column-gap:28px;grid-template-columns:.95fr 1fr}.product-intro h1{font-size:2.7rem}.preview-wrap{height:290px}.product-photo-pair{gap:9px}.product-photo-pair span{font-size:.6rem;padding:4px}.preview-caption{font-size:.65rem}.pkg-grid{gap:6px}.sport-pill{padding:8px}.pk-tag{font-size:.52rem}}
@media(max-width:760px){
.breadcrumb{padding-block:18px;font-size:.73rem}
.product-workspace{grid-template-columns:1fr;grid-template-areas:"intro" "media" "config";gap:27px;padding-bottom:50px}
.product-intro{padding-top:0}.product-intro .eyebrow{font-size:.66rem;margin-bottom:15px}
.product-intro h1{font-size:2.85rem;line-height:1.03}
.product-intro>p{margin-top:16px;font-size:.94rem}
.product-price-line{margin-top:18px}.product-price-line strong{font-size:1.18rem}.product-price-line>span{font-size:.76rem}
.product-intro .approval-note{font-size:.75rem}
.product-media-sticky{position:static}.preview-wrap{height:300px}
.preview-caption{padding:14px 16px;font-size:.68rem}.preview-bottom{padding:12px 16px;font-size:.59rem}
.preview-disclaimer{font-size:.68rem}
.product-photo-pair{margin-top:16px;gap:12px}.product-photo-pair img{height:130px}
.product-photo-pair span{font-size:.59rem;left:7px;right:7px;bottom:7px}
.step-heading{padding-top:23px;margin-bottom:22px}.step-heading h2{font-size:1.3rem}
.design-controls{gap:22px}.sport-pills{gap:6px}.sport-pill{padding:9px 10px;font-size:.76rem}
.swatch{width:31px;height:31px}.swatch.active::after{top:10px;left:10px}.swatch-row{gap:12px}
.pkg-grid{gap:8px}.pkg-opt{padding-inline:3px}.pkg-opt.active{padding-inline:2px}
.pk-size{font-size:1.8rem}.pk-tag{font-size:.55rem}.pk-price{font-size:.85rem}
.op-card{gap:22px}.op-summary{padding:18px}
.opt-tag{font-size:.66rem}.op-terms{font-size:.7rem}
.making-grid{grid-template-columns:1fr;gap:28px;margin-top:32px}
.making-index{margin-bottom:15px}.making-grid p{max-width:none;margin-top:10px}
.story-photos{grid-template-columns:1fr 1fr;gap:24px 14px}
.story-photos figure:first-child{grid-column:1/-1}.story-photos img{height:225px}
.story-photos figure:first-child img{height:360px;object-position:50% 45%}
.story-photos figcaption{font-size:.73rem}
.buybar{position:fixed;z-index:90;bottom:0;left:0;right:0;display:block;background:var(--paper);border-top:1px solid var(--line);padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
.buybar-inner{display:flex;align-items:center;justify-content:space-between;gap:15px}
.bb-text{display:grid;gap:2px}.bb-text strong{font-size:.85rem;font-weight:600}.bb-sub{font-size:.65rem;color:var(--muted)}
.bb-btn{background:var(--blue);border-radius:4px;color:#fff;padding:10px 13px;font-size:.72rem;white-space:nowrap}
body:has(.buybar){padding-bottom:80px}
.order-pay{scroll-margin-top:85px}
}
