/* Unpublished spiral study. Scoped to avoid changing the existing storefront. */
html body.oppo-redesign #comboSpiral{position:relative;display:grid;grid-template-columns:34% 66%;min-height:650px;margin:0 32px 55px;padding:0;border-top:1px solid #ded7c9;border-bottom:1px solid #ded7c9;color:#111214;isolation:isolate;scroll-margin-top:20px}
#comboSpiral .combo-copy{align-self:center;padding:38px 0 38px 16px;position:relative;z-index:2}
#comboSpiral .combo-kicker{font:600 10px Arial;letter-spacing:2px;text-transform:uppercase;color:#183b56;margin:0 0 24px}
#comboSpiral .combo-kicker:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#ec0033;margin-right:9px;vertical-align:1px}
html body.oppo-redesign #comboSpiral h2{font:400 clamp(58px,6.6vw,96px)/.98 OmakaseEditorial,serif;letter-spacing:-1px;margin:0 0 24px;color:#111214}
#comboSpiral .combo-description{font:14px/1.65 Arial;max-width:260px;margin:0 0 30px;color:#69665e}
#comboSpiral .combo-controls{display:flex;align-items:center;gap:9px}
html body.oppo-redesign #comboSpiral .combo-controls button{display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border:1px solid #d1c9b9;border-radius:50%;background:transparent;color:#111214;box-shadow:none;transition:background .2s,transform .2s;cursor:pointer}
html body.oppo-redesign #comboSpiral .combo-controls button:hover{background:#e9e2d4;transform:translateY(-2px)}
#comboSpiral .combo-controls svg{width:15px;height:15px}
#comboSpiral .combo-hint{font:10px/1.5 Arial;color:#7a766e;margin:13px 0 0}
#comboSpiral .combo-preview-note{font:9px/1.5 Arial;text-transform:uppercase;letter-spacing:1.1px;color:#7a766e;margin:32px 0 0}
#comboSpiral .combo-stage{position:relative;min-width:0;height:650px;overflow:hidden;touch-action:pan-y;cursor:grab;perspective:1000px;mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
#comboSpiral .combo-stage:active{cursor:grabbing}
#comboSpiral .combo-orbit{position:absolute;inset:0}
html body.oppo-redesign #comboSpiral .spiral-card{position:absolute;left:50%;top:50%;display:block;width:148px;height:171px;min-height:0;margin:-85px 0 0 -74px;padding:9px;border:1px solid #e1dacd;border-radius:5px;background:#fffdf7;color:#111214;text-align:left;box-shadow:0 10px 22px #183b5612;will-change:transform;cursor:pointer;overflow:hidden;line-height:normal;letter-spacing:normal}
html body.oppo-redesign #comboSpiral .spiral-card:before,html body.oppo-redesign #comboSpiral .spiral-card:after{display:none}
#comboSpiral .spiral-card .combo-number{display:block;font:9px Arial;letter-spacing:1px;color:#716a5f;margin:0 0 6px}
#comboSpiral .combo-photos{display:flex;height:104px;gap:2px;align-items:center;justify-content:center;background:#fff;overflow:hidden;border-radius:2px}
#comboSpiral .combo-photos img{width:50%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
#comboSpiral .spiral-card strong{display:flex;justify-content:space-between;align-items:center;font:600 11px Arial;margin-top:10px;color:#111214}
#comboSpiral .spiral-card strong span{color:#ec0033;font-size:15px}
#comboSpiral .combo-stage-label{position:absolute;right:20px;bottom:24px;font:9px Arial;letter-spacing:2px;color:#77756e;pointer-events:none}
html body.oppo-redesign #comboDialog{position:fixed;inset:0;width:min(430px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:26px;border:1px solid #ded6c8;border-radius:10px;background:#fff9eb;color:#111214;box-shadow:0 30px 80px #11121430;overflow:auto}
#comboDialog:not([open]){display:none!important}
#comboDialog::backdrop{background:#11121440;backdrop-filter:blur(4px)}
#comboDialog[open]{animation:combo-reveal .4s cubic-bezier(.22,1,.36,1)}
@keyframes combo-reveal{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}
html body.oppo-redesign #comboDialog .combo-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:30px;height:30px;min-height:0;padding:0;border:0;border-radius:50%;background:#eee7d9;color:#111214;box-shadow:none;font:22px Arial}
#comboDialog .combo-dialog-kicker{font:9px Arial;letter-spacing:1.6px;color:#183b56;margin:2px 0 16px;text-transform:uppercase}
html body.oppo-redesign #comboDialog h3{font:400 42px/1.1 OmakaseEditorial,serif;margin:0 0 20px;color:#111214}
#comboDialog .combo-detail-products{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#comboDialog .combo-detail-products img{width:100%;height:150px;object-fit:contain;background:white;border-radius:4px}
#comboDialog .combo-detail-products small{display:block;font:9px Arial;letter-spacing:.6px;color:#747168;margin:12px 0 6px;text-transform:uppercase}
#comboDialog .combo-detail-products strong{display:block;font:600 13px/1.5 Arial;color:#111214}
#comboDialog .combo-detail-note{font:12px/1.6 Arial;margin:22px 0 0;padding-top:16px;border-top:1px solid #ddd5c5;color:#716b61}
@media(max-width:750px){
 html body.oppo-redesign #comboSpiral{grid-template-columns:1fr;margin:20px 16px 35px;min-height:0}
 #comboSpiral .combo-copy{padding:30px 8px 0}
 #comboSpiral .combo-kicker{margin-bottom:16px;font-size:9px}
 html body.oppo-redesign #comboSpiral h2{font-size:58px;margin-bottom:14px}
 #comboSpiral h2 br{display:none}
 #comboSpiral .combo-description{max-width:300px;font-size:12px;margin-bottom:16px}
 #comboSpiral .combo-controls{position:absolute;right:5px;bottom:-58px;z-index:4;gap:5px}
 html body.oppo-redesign #comboSpiral .combo-controls button{width:32px;height:32px;min-height:32px;background:#fff9eb}
 #comboSpiral .combo-preview-note{margin:16px 0 0;font-size:8px}
 #comboSpiral .combo-hint{display:none}
 /* Per-card fades avoid a large masked GPU surface while scrolling on mobile. */
 #comboSpiral .combo-stage{height:480px;z-index:0;perspective:none;mask-image:none;-webkit-mask-image:none;background:transparent}
 html body.oppo-redesign #comboSpiral .spiral-card{width:115px;height:140px;margin:-70px 0 0 -57.5px;padding:7px}
 #comboSpiral .combo-photos{height:82px}
 #comboSpiral .spiral-card strong{font-size:9px;margin-top:8px}
 #comboSpiral .combo-stage-label{right:10px;bottom:15px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){#comboDialog[open]{animation:none}#comboSpiral .spiral-card{will-change:auto}}
/* v109: supplied combos, campaign photographs and aligned desktop copy. */
#comboSpiral .combo-description span{display:block}
@media(min-width:751px){
 #comboSpiral .combo-copy{padding:38px 0;max-width:340px;justify-self:start}
 html body.oppo-redesign #comboSpiral h2{font-size:clamp(64px,6vw,88px);line-height:1.04;margin:0 0 26px;letter-spacing:0}
 #comboSpiral .combo-description{font-size:13px;line-height:1.7;max-width:335px;margin-bottom:28px}
 #comboSpiral .combo-kicker{margin-bottom:22px;letter-spacing:1.5px}
}
html body.oppo-redesign #comboSpiral .spiral-card{width:160px;height:198px;margin:-99px 0 0 -80px}
#comboSpiral .combo-photos{height:112px;gap:3px;background:transparent}
#comboSpiral .combo-photos img{width:calc(50% - 1.5px);object-fit:cover;border-radius:2px}
#comboSpiral .spiral-card strong{display:block;font:600 10px/1.3 Arial;letter-spacing:.25px;height:26px;margin-top:8px}
#comboSpiral .combo-card-price{display:flex;align-items:center;gap:7px;font:11px Arial;margin-top:3px}
#comboSpiral .combo-card-price del{font-size:9px;color:#847d70}
#comboSpiral .combo-card-price b{color:#111214;font-weight:600}
#comboSpiral .combo-card-price>span{margin-left:auto;color:#ec0033;font-size:15px}
html body.oppo-redesign #comboDialog{width:min(460px,calc(100vw - 32px))}
html body.oppo-redesign #comboDialog h3{font-size:36px;letter-spacing:.1px}
#comboDialog .combo-detail-products img{height:210px;object-fit:cover}
#comboDialog .combo-product-price{display:block;font:12px Arial;color:#696359;margin-top:7px}
#comboDialog .combo-price-summary{margin-top:22px;padding-top:16px;border-top:1px solid #dbd3c4}
#comboDialog .combo-price-summary>div{display:flex;align-items:center;justify-content:space-between;font:12px Arial;color:#6a645b;margin-bottom:8px}
#comboDialog .combo-price-summary>div:nth-child(2){color:#111214;font-weight:600}
#comboDialog .combo-price-summary strong{font:600 26px Arial;color:#111214}
#comboDialog .combo-price-summary p{font:11px Arial;color:#183b56;margin:12px 0 0}
#comboDialog .combo-detail-note{margin:16px 0 0;padding:0;border:0;font-size:10px;color:#8b8478}
html body.oppo-redesign #comboDialog .combo-add{display:block;width:100%;min-height:42px;margin-top:18px;padding:12px;border:0;border-radius:5px;background:#111214;color:#fff9eb;font:600 12px Arial;cursor:pointer;box-shadow:none;transition:background .2s}
html body.oppo-redesign #comboDialog .combo-add:hover{background:#183b56}
html body.oppo-redesign #comboDialog .combo-add:disabled{opacity:.5;cursor:not-allowed}
html body.oppo-redesign #cartDrawer .cart-combo-contents{font:10px/1.5 Arial;color:#777168;margin:5px 0 9px}
@media(max-width:750px){
 html body.oppo-redesign #comboSpiral .spiral-card{width:125px;height:162px;margin:-81px 0 0 -62.5px;padding:7px}
 #comboSpiral .combo-photos{height:82px}
 #comboSpiral .spiral-card strong{font-size:8px;height:21px;margin-top:7px}
 #comboSpiral .combo-card-price{font-size:10px;margin-top:3px}
 #comboSpiral .combo-card-price del{font-size:8px}
 #comboDialog .combo-detail-products img{height:175px}
 html body.oppo-redesign #comboDialog h3{font-size:32px}
}

/* Vector controls stay consistent across mobile platforms. */
#comboSpiral .combo-controls svg,#comboSpiral .combo-card-price>span svg{display:block;width:15px;height:15px;pointer-events:none}

/* Align the editorial copy to the storefront, rather than the viewport edge. */
@media(min-width:751px){
 html body.oppo-redesign #comboSpiral{width:min(1240px,calc(100% - 64px));margin:0 auto 55px;grid-template-columns:38% 62%}
 #comboSpiral .combo-copy{padding:38px 0 38px clamp(28px,4vw,56px);max-width:390px;box-sizing:border-box}
}
