@font-face{font-family:Cardo;src:url(assets/Cardo.ttf)}@font-face{font-family:Epilogue;src:url(assets/Epilogue.ttf);font-weight:100 900}@font-face{font-family:Poppins;src:url(assets/Poppins.ttf)}
:root{--ink:#182545;--paper:#eaebe6;--sand:#b0956a;--cream:#efe3d0;--deep:#00081f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.65 Poppins,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:4px}img{display:block;width:100%}figure{margin:0}.skip{position:fixed;left:10px;top:-100px;z-index:5;background:white;padding:10px}.skip:focus{top:10px}.notice{text-align:center;background:var(--ink);color:var(--paper);padding:9px 12px;font:500 9px Epilogue,sans-serif;letter-spacing:.22em}header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:77px;padding:0 5vw;border-bottom:1px solid #18254524}nav{display:flex;gap:25px}.logo img{width:144px;height:36px;object-fit:contain}.social{justify-self:end}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:min(610px,72vh)}.hero-copy{position:relative;overflow:hidden;padding:clamp(52px,8vw,132px) 8vw;align-content:center}.flower{position:absolute;width:230px;right:-76px;bottom:-77px;opacity:.28;pointer-events:none}.eyebrow{font:650 10px/1.5 Epilogue,sans-serif;letter-spacing:.19em;text-transform:uppercase}h1,h2{font:400 clamp(38px,5.8vw,88px)/.99 Cardo,serif;margin:20px 0}h2{font-size:clamp(34px,4vw,58px)}.hero-copy>p:not(.eyebrow){max-width:300px}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;background:var(--ink);color:var(--paper);padding:13px 19px;margin-top:10px;font-size:12px}.hero figure{position:relative;background:var(--cream);min-height:360px}.hero figure img{height:100%;position:absolute;object-fit:cover;object-position:center 49%}.hero figcaption{position:absolute;bottom:16px;right:16px;background:var(--paper);padding:6px 10px;font:600 9px Epilogue;letter-spacing:.1em}.collection{padding:74px 5vw;text-align:center;max-width:1520px;margin:auto}.filter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:24px 0}.filter button{border:1px solid #18254550;background:transparent;padding:6px 13px;font-size:12px}.filter button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 16px}.product{border:0;background:none;text-align:left;padding:0;min-width:0}.product img{aspect-ratio:4/5;object-fit:cover;background:var(--cream)}.product strong{display:block;font:400 22px/1.15 Cardo;margin:10px 0 4px}.product small{color:#48536c}.brand{padding:65px 8vw;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:8vw}.brand img{height:110px;object-fit:contain}.brand p{max-width:580px}footer{display:flex;justify-content:space-between;gap:16px;padding:26px 5vw}dialog{color:var(--ink);background:var(--paper);border:0;padding:0;width:min(850px,94vw);max-height:90vh}dialog::backdrop{background:#00081fa0}#close-detail{position:absolute;right:12px;top:10px;border:0;background:var(--paper);border-radius:50%;width:38px;height:38px;font-size:24px}.detail-layout{display:grid;grid-template-columns:1fr 1fr}.detail-layout>img{height:100%;min-height:340px;object-fit:cover;background:var(--cream)}.detail-copy{padding:42px 26px}.detail-copy h2{font-size:clamp(31px,4vw,54px)}.detail-copy .filter{justify-content:flex-start}
@media(max-width:680px){header{padding:0 4vw;min-height:65px;font-size:11px}nav{gap:12px}nav a:nth-child(2){display:none}.logo img{width:110px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 7vw}.hero figure{min-height:300px}.collection{padding:48px 4vw}.grid{grid-template-columns:repeat(2,1fr);gap:23px 11px}.brand{grid-template-columns:1fr;gap:12px}.brand img{width:65px;height:65px}.detail-layout{grid-template-columns:1fr}.detail-layout>img{min-height:0;height:235px}.detail-copy{padding:22px}.product strong{font-size:20px}footer{font-size:11px}}

/* Capa editorial: a cor institucional sustenta o texto e enquadra a foto. */
.hero{background:var(--ink);color:var(--paper)}
.hero-copy .eyebrow{color:var(--cream)}
.hero-copy .flower{opacity:.32}
.hero-copy .button{background:var(--paper);color:var(--ink)}
.hero figure{margin:20px 20px 20px 0}
.hero figure img{object-position:center 59%}
.hero figcaption{color:var(--ink);background:var(--paper)}
@media(max-width:680px){.hero figure{margin:0 16px 16px;min-height:0;aspect-ratio:5/4}}

.campaign{position:relative;background:var(--ink);color:var(--paper)}
.campaign-slide{display:grid;grid-template-columns:57% 43%;min-height:clamp(375px,39vw,600px)}
.campaign-slide[hidden]{display:none}
.campaign-slide figure{position:relative;background:var(--cream);min-height:100%;overflow:hidden}
.campaign-slide figure img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 64%}
.campaign-slide figure figcaption{position:absolute;left:22px;bottom:15px;padding:4px 8px;color:var(--ink);background:var(--paper);font-size:9px}
.campaign-copy{align-content:center;padding:46px clamp(38px,6vw,115px) 54px clamp(30px,5vw,95px)}
.campaign-copy h1,.campaign-copy h2{font-size:clamp(43px,5.6vw,90px)}
.campaign-copy p:not(.eyebrow){max-width:290px}
.campaign-copy .button{color:var(--ink);background:var(--paper);text-transform:uppercase;font:650 10px Epilogue;letter-spacing:.12em}
.pearls figure img{object-fit:contain;background:#fff}
.banner-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid #eaebe690;border-radius:50%;color:var(--paper);background:#182545b5;font:28px Cardo}
.banner-arrow.prev{left:12px}.banner-arrow.next{right:12px}
.banner-dots{position:absolute;bottom:14px;right:18px;display:flex;gap:6px}
.banner-dots button{width:26px;height:24px;border:0;background:transparent;position:relative;padding:0}
.banner-dots button::after{content:'';position:absolute;inset:10px 2px;background:#eaebe670}
.banner-dots button[aria-pressed=true]::after{background:var(--paper)}
.category-section,.showcase{max-width:1520px;margin:auto;padding:52px 5vw 0}
.category-section{text-align:center}.category-section h2{font:650 12px Epilogue;letter-spacing:.16em;text-transform:uppercase;margin:0 0 24px}
.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.category-grid a{display:grid;justify-items:center;gap:10px;font-size:12px}
.category-grid img{width:min(100%,124px);aspect-ratio:1;border-radius:50%;object-fit:cover;background:#fff}
.showcase-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}
.showcase-head h2{margin:6px 0 0;font-size:clamp(31px,3.4vw,52px)}
.shelf-controls{display:flex;gap:6px}.shelf-controls button{width:38px;height:38px;background:transparent;border:1px solid #18254550;font:23px Cardo}
.shelf{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px}
.shelf .product{scroll-snap-align:start}
.product img{object-fit:contain;background:#fff}
.product-action{display:block;font:650 9px Epilogue;letter-spacing:.1em;text-transform:uppercase;margin-top:12px}
.all-link{display:inline-block;margin-top:12px;border-bottom:1px solid currentColor}
@media(max-width:680px){.campaign-slide{grid-template-columns:1fr}.campaign-slide figure{min-height:0;aspect-ratio:6/4}.campaign-copy{padding:24px 45px 48px}.campaign-copy h1,.campaign-copy h2{margin:10px 0;font-size:clamp(38px,10vw,54px)}.banner-arrow{top:33%;width:36px;height:36px}.category-section,.showcase{padding:36px 4vw 0}.category-grid{gap:7px}.category-grid img{width:min(100%,68px)}.category-grid a{font-size:10px}.shelf{grid-auto-columns:calc((100% - 11px)/2);gap:11px}.showcase-head{align-items:center}}

/* Foto de catálogo e foto no corpo ocupam o mesmo quadro. */
.product-media{display:block;position:relative;overflow:hidden;aspect-ratio:4/5;background:#fff}
.product-media img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;padding:8%}
.product-media .product-worn{position:absolute;inset:0;padding:0;object-fit:cover;object-position:center 58%;opacity:0;transition:opacity .24s ease;pointer-events:none}
.product:focus-visible .has-worn .product-worn{opacity:1}
@media(hover:hover) and (pointer:fine){.product:hover .has-worn .product-worn{opacity:1}}
@media(prefers-reduced-motion:reduce){.product-media .product-worn{transition:none}}
.detail-media{min-width:0;background:#fff;align-content:center}
.detail-media>img{aspect-ratio:4/5;object-fit:contain;max-height:520px}
.detail-views:not([hidden]){display:flex;justify-content:center;gap:7px;padding:8px}
.detail-views button{padding:7px 14px;border:1px solid #18254550;background:white}
.detail-views button[aria-pressed=true]{background:var(--ink);color:var(--paper)}

#close-detail{z-index:1}
@media(max-width:680px){.detail-media>img{height:235px;aspect-ratio:auto}}

.product-media.treated-gold img:first-child{padding:0;object-fit:cover;object-position:center top}
.detail-media>img[src="assets/co880-o-catalogo-tratado.jpg"]{background:#f4f3ef}

.product-media.treated-catalog,
.product-media.treated-catalog img:first-child,
.detail-media>img[src$="-catalogo-tratado.jpg"],
.pearls figure img{background:#f4f3ef}
.product-media.treated-catalog:not(.treated-gold) img:first-child{padding:0}
.category-grid img[src$="-catalogo-tratado.jpg"]{background:#f4f3ef;object-fit:contain}

/* Navegação por categoria com fotos das peças em uso. */
.category-section{padding-top:52px;text-align:left}
.category-heading{margin-bottom:18px}
.category-heading .eyebrow{margin:0 0 7px}
.category-heading h2{font:400 clamp(31px,3.4vw,52px)/1 Cardo,serif;letter-spacing:normal;text-transform:none;margin:0}
.category-grid{gap:10px}
.category-grid a{position:relative;display:block;overflow:hidden;isolation:isolate;aspect-ratio:4/5;background:var(--ink);color:var(--paper)}
.category-grid img[src]{width:100%;height:100%;aspect-ratio:auto;border-radius:0;object-fit:cover;transition:transform .3s ease}
.category-grid a .category-label{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:14px 12px 12px;background:var(--ink);font:650 10px/1.2 Epilogue,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.category-grid a .category-label::after{content:'↗';margin-left:5px;font-size:12px}
.category-grid a:focus-visible{outline-offset:3px}
@media(hover:hover){.category-grid a:hover img{transform:scale(1.045)}}
@media(max-width:680px){.category-section{padding-top:36px}.category-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 20px)/2.55);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 3px 10px}.category-grid a{scroll-snap-align:start}.category-grid a .category-label{padding:11px 8px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.category-grid img[src]{transition:none}}

/* Keep each category recognizable even in a narrow card. */
.category-grid .category-photo{display:block;position:absolute;inset:0 0 37px;overflow:hidden;background:#f4f3ef}
.category-grid .category-photo img{display:block}
.category-grid .catalog .category-photo img{object-fit:contain}
@media(max-width:680px){.category-grid .category-photo{bottom:34px}}

.brand-signature{display:flex;flex-direction:column;align-items:center;gap:11px;padding:26px 16px;background:var(--paper);color:var(--ink);border-bottom:1px solid #1825451a;text-align:center}
.brand-signature img{width:32px;height:32px;object-fit:contain}
.brand-signature p{margin:0;font:400 clamp(23px,3vw,34px)/1.2 Cardo,serif}
@media(max-width:680px){.brand-signature{padding:22px 16px;gap:8px}.brand-signature img{width:27px;height:27px}}

[hidden]{display:none!important}
.bag-link{border:0;background:none;padding:7px 0}.bag-link span{display:inline-grid;place-items:center;background:var(--ink);color:var(--paper);min-width:20px;height:20px;border-radius:50%;font-size:10px}
.product-page{max-width:1520px;margin:auto;padding:22px 5vw 58px}.product-path{display:flex;flex-wrap:wrap;gap:9px;font-size:11px;margin-bottom:20px}
.pdp-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(24px,6vw,90px);align-items:start}
.pdp-layout .detail-media{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;background:none;align-items:start}
.pdp-layout .detail-views{display:grid;gap:8px;padding:0}
.pdp-layout .detail-views button{padding:3px;background:var(--paper);font-size:9px;border:1px solid transparent}
.pdp-layout .detail-views button[aria-pressed=true]{border-color:var(--ink);color:var(--ink);background:var(--paper)}
.pdp-layout .detail-views img{aspect-ratio:1;object-fit:cover}
.pdp-photo{background:#f4f3ef;width:100%;max-width:600px}.pdp-zoom{position:relative;display:block;aspect-ratio:1;width:100%;padding:0;border:0;background:transparent;overflow:hidden;cursor:zoom-in}.pdp-zoom>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;transform-origin:var(--zoom-x,50%) var(--zoom-y,50%);transition:transform .2s ease}.pdp-zoom[aria-pressed=true]{cursor:zoom-out}.pdp-zoom[aria-pressed=true]>img{transform:scale(1.55)}
.pdp-layout .detail-copy{padding:0}.pdp-layout h1{font-size:clamp(32px,4vw,62px);margin:12px 0;line-height:1.05}.pdp-layout h1:focus{outline:none}
.pdp-status{margin:0 0 23px}.pdp-layout .filter{margin:6px 0 20px}.finish-label{margin:0}.pdp-layout #fixed-finish{margin:6px 0 18px}
.complement{border:1px solid #18254540;padding:12px;margin-top:15px}.complement p{margin:0 0 8px}.complement label{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:10px;cursor:pointer}.complement img{width:54px;height:57px;object-fit:contain;background:#f4f3ef}.complement small{display:block}.complement input{width:18px;height:18px;accent-color:var(--ink)}
.add-bag{border:0;border-radius:50px;width:100%;text-transform:uppercase;letter-spacing:.12em;font:650 11px Epilogue,sans-serif;margin-top:12px;padding:17px}.pdp-preview{font-size:11px;color:#48536c}.pdp-layout details{margin-top:18px;border-top:1px solid #18254540;padding:12px 0}.pdp-layout summary{cursor:pointer;font-weight:bold}
@media(max-width:680px){.product-page{padding:15px 4vw 32px}.pdp-layout{grid-template-columns:1fr;gap:24px}.pdp-layout .detail-media{grid-template-columns:1fr;gap:8px}.pdp-photo{grid-row:1}.pdp-layout .detail-views{display:flex}.pdp-layout .detail-views button{width:62px}}

/* Original Cargnin floral pattern, used as a background accent. */
.brand-signature,.brand{position:relative;isolation:isolate}
.brand-signature::before,.brand::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-repeat:repeat-x}
.brand-signature::before{background-image:url(assets/pattern-marinho.png);background-size:720px auto;background-position:center 49%;opacity:.16;mask-image:linear-gradient(90deg,#000 0%,transparent 35%,transparent 65%,#000 100%)}
.brand::before{background-image:url(assets/pattern-off-white.png);background-size:760px auto;background-position:left center;opacity:.12;mask-image:linear-gradient(90deg,#000,transparent 50%)}
@media(max-width:680px){.brand-signature::before{background-size:430px auto;mask-image:linear-gradient(90deg,#000,transparent 21%,transparent 79%,#000)}.brand::before{background-size:auto 230px;background-position:center top;background-repeat:repeat-x;opacity:.12;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#0009 90px,transparent 205px);mask-image:linear-gradient(to bottom,#000 0%,#0009 90px,transparent 205px)}}

.product-page{position:relative;isolation:isolate}
.product-page::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(assets/pattern-marinho.png) right bottom/760px auto repeat;opacity:.13;mask-image:linear-gradient(135deg,#000 0%,transparent 20%,transparent 70%,#000 100%)}
@media(max-width:680px){.product-page::before{background-size:440px auto;opacity:.1;mask-image:linear-gradient(165deg,#000 0%,transparent 13%,transparent 84%,#000 100%)}}

/* Store header: quiet navigation with a recognizable shopping bag. */
header{background:#f4f3ef;border-bottom-color:#18254519;min-height:73px}
header nav{align-items:center;gap:clamp(12px,2.2vw,30px)}
header nav a,.bag-label{font:600 10px/1.2 Epilogue,sans-serif;text-transform:uppercase;letter-spacing:.12em}
header nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
header nav a::after{content:'';position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--sand);transform:scaleX(0);transform-origin:left;transition:transform .2s}
header nav a:hover::after,header nav a:focus-visible::after{transform:scaleX(1)}
header .bag-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:6px 0 6px 8px}
header .bag-icon{width:21px;height:21px;flex:none}
header .bag-label{display:inline;color:inherit;background:none;height:auto;min-width:0;border-radius:0}
header #bag-count{width:19px;min-width:19px;height:19px;font:600 9px/1 Epilogue,sans-serif;background:transparent;color:var(--ink);border:1px solid #18254555}
@media(max-width:680px){header{min-height:62px}header nav{gap:10px}header nav a{font-size:9px;letter-spacing:.07em}header nav a:nth-child(2){display:inline-flex}header .logo img{width:clamp(78px,24vw,110px)}header .bag-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}header .bag-link{gap:4px}header .bag-icon{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){header nav a::after{transition:none}}

@media(prefers-reduced-motion:reduce){.pdp-zoom>img{transition:none}}

.pdp-zoom.pdp-zoom-worn>img{object-position:center 62%}

.pdp-zoom.pdp-zoom-worn[aria-pressed=true]>img{transform:scale(1.15)}

.card-price,.complement-price{display:block;font-weight:600;margin-top:5px}
.pdp-price{margin:0 0 4px;font:650 clamp(19px,2.3vw,26px)/1.3 Epilogue,sans-serif}
.bag-summary{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #18254540;padding-top:12px}

.bag-inner .bag-checkout{width:100%;border-radius:50px;padding:14px}
.bag-inner .bag-continue{display:flex;width:100%;background:transparent;color:var(--ink);border:0;margin-top:5px}


/* Touch layout: one storefront, sized for small screens. */
@media(max-width:680px){
 header{padding-inline:14px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 header nav{gap:clamp(5px,2vw,12px)}
 header nav a{min-height:44px;font-size:clamp(8px,2.3vw,10px);letter-spacing:.04em}
 header .bag-link{justify-content:flex-end;min-width:44px}
 .campaign-slide figure{aspect-ratio:5/4}
 .campaign-copy{padding:24px 20px 42px}
 .campaign-copy h1,.campaign-copy h2{font-size:clamp(35px,10vw,54px)}
 .campaign-copy .button,.all-link{min-height:44px}
 .banner-arrow{top:calc((100vw * .8)/2);width:44px;height:44px}
 .banner-arrow.prev{left:8px}.banner-arrow.next{right:8px}
 .banner-dots button{height:32px}
 .showcase-head{gap:8px}
 .showcase-head h2{font-size:clamp(26px,7.5vw,36px)}
 .shelf-controls button{width:44px;height:44px;flex:none}
 .shelf{grid-auto-columns:calc((100% - 20px)/2.15)}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .grid .product,.shelf .product{display:flex;flex-direction:column;align-self:stretch;align-items:stretch;overflow-wrap:anywhere}
 .product .product-media{width:100%;flex:none}
 .product strong{font-size:clamp(17px,4.6vw,22px);min-height:2.3em}
 .product small{margin-top:auto}
 .filter button{min-height:44px}
 .product-path{row-gap:3px;margin-bottom:12px}
 .pdp-layout{gap:16px}
 .pdp-layout .detail-views button{width:66px;min-height:44px}
 .pdp-layout .detail-copy h1{overflow-wrap:anywhere}
 .complement label{min-height:60px}
 .pdp-layout .add-bag{min-height:50px}
}

.shelf-controls button:disabled{opacity:.36;cursor:default}
@media(max-width:680px){
 .showcase-head{margin-bottom:22px}
 .showcase-head .shelf-controls{display:none}
 .showcase-head .eyebrow{margin:0 0 8px}
 .showcase-head h2{margin:0;line-height:1.16}
 .shelf{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;scroll-snap-type:none;touch-action:pan-y pinch-zoom}
}

#checkout{min-height:70vh;position:relative;isolation:isolate}
#checkout::before{
 content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:url(assets/pattern-marinho.png) center top/760px auto repeat;
 opacity:.13;
 mask-image:linear-gradient(90deg,#000,transparent 28%,transparent 72%,#000);
}
@media(max-width:720px){
 #checkout::before{
  background-size:520px auto;
  opacity:.09;
  mask-image:linear-gradient(90deg,#000,transparent 18%,transparent 82%,#000);
 }
}
.checkout-inner{width:min(100%,1040px);margin-inline:auto;padding:clamp(16px,2.4vw,32px) clamp(16px,4vw,40px)}
.checkout-inner h1{font-size:clamp(29px,4vw,39px);margin:0}
#checkout-title:focus{outline:none}
.checkout-steps{display:grid;grid-template-columns:repeat(3,1fr);padding:0;list-style:none;gap:6px;margin:0 0 12px;font-size:12px}
.checkout-steps li{border-bottom:2px solid #18254533;padding:6px 0;text-align:center}
.checkout-steps li[aria-current="step"]{border-color:var(--ink);font-weight:600}
.checkout-inner details{padding:10px 0;border-block:1px solid #18254533}
.checkout-inner summary{cursor:pointer}
#checkout-form fieldset{border:0;padding:0;margin:12px 0 0;min-width:0}
#checkout-form legend{font-weight:600}
#checkout-form label{display:block;margin-top:7px;font-size:13px}
#checkout-form input,#checkout-form select{display:block;width:100%;min-height:44px;padding:8px 10px;margin-top:4px;border:1px solid #18254566;background:#f5f4ef;color:var(--ink);font:inherit;font-size:16px;border-radius:3px}
#checkout-next{width:100%;min-height:44px;padding:8px 16px;border:0;border-radius:50px}
#checkout-back{display:block;margin:2px auto 0;padding:6px 12px;border:0;background:transparent;text-decoration:underline;min-height:44px}
#checkout-feedback:empty{display:none}

#checkout-content{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(16px,3vw,32px);align-items:start;margin-top:14px}
.checkout-main{min-width:0}
.checkout-main>p{margin:0 0 8px;font-size:12px;color:#48536c}
.checkout-contact-note{margin:7px 0 0;font-size:12px;color:#48536c}
.checkout-order{background:#f5f4ef;border:1px solid #18254518;border-radius:6px;padding:clamp(12px,2vw,20px)}
.checkout-order-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px}
.checkout-order h2{font-size:20px;line-height:1.2;margin:0}
#checkout-item-count{font-size:12px;color:#48536c}
#checkout-items{display:grid;gap:10px;list-style:none;padding:0;margin:12px 0}
#checkout-items li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:start;font-size:13px}
#checkout-items img{aspect-ratio:1;object-fit:cover;border:1px solid #18254522}
#checkout-items small{display:block;color:#48536c}
#checkout-items .original-price{display:block}
.original-price{color:#48536c;font-size:.85em;font-weight:400}
.checkout-total{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #18254533;padding-top:10px;font-size:13px}
.checkout-contact{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.checkout-contact label:first-child{grid-column:1/-1}
.checkout-subtitle{font-weight:600;margin:12px 0 0}
#postal-status:empty{display:none}
@media(max-width:720px){
 #checkout-content{grid-template-columns:1fr;gap:14px}
 .checkout-contact{grid-template-columns:1fr}
 .checkout-steps{font-size:11px;line-height:1.4}
 #checkout-items li{grid-template-columns:40px minmax(0,1fr) auto}
 #checkout-items strong{overflow-wrap:anywhere}
 #checkout-items li>strong{white-space:nowrap}
}

html:has(#bag[open]){overflow:hidden}
#bag{position:fixed;inset:0 0 0 auto;margin:0;width:min(100%,490px);height:100%;height:100dvh;max-width:none;max-height:none;overflow:hidden;background:#f5f4ef}
#bag[open]{animation:bag-slide .24s ease-out}
#bag::backdrop{background:#00081f66}
@keyframes bag-slide{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){#bag[open]{animation:none}}
.bag-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.bag-heading{display:flex;align-items:center;gap:12px;padding:14px clamp(16px,4vw,24px);border-bottom:1px solid #18254526}
.bag-heading h2{font-size:clamp(25px,5vw,34px);margin:0 auto 0 0}
#bag-drawer-count{white-space:nowrap;font-size:12px}
#close-bag,.bag-quantity button,.bag-item-actions button{background:transparent;border:0}
#close-bag{width:44px;height:44px;font-size:24px}
#bag-items{list-style:none;margin:0;padding:0 clamp(16px,4vw,24px);overflow:auto;overscroll-behavior:contain}
#bag-items li{display:grid;grid-template-columns:clamp(52px,15vw,80px) minmax(0,1fr) auto;gap:10px;padding:16px 0;border-bottom:1px solid #18254526}
#bag-items li:only-child:not(:has(img)){display:block}
#bag-items img{aspect-ratio:1;object-fit:cover;border:1px solid #18254526}
#bag-items small{display:block;color:#48536c}
.bag-quantity,.bag-item-actions{display:flex;align-items:center}
.bag-quantity button{min-width:34px;min-height:44px;font-size:17px}
.bag-quantity button:disabled{opacity:.45;cursor:default}
.bag-item-actions{flex-direction:column;justify-content:space-between;align-items:flex-end;white-space:nowrap}
.bag-item-actions button{min-height:44px;padding:0;font-size:11px;text-decoration:underline}
.bag-actions{padding:12px clamp(16px,4vw,24px) max(14px,env(safe-area-inset-bottom))}
.bag-actions .button{min-height:44px}
@media(max-width:400px){
 #bag-items li{font-size:12px}
 .bag-quantity button{min-width:40px}
}

.payment-options{display:grid;gap:8px;margin-top:8px}
#checkout-form .payment-option{display:flex;align-items:center;gap:12px;min-height:52px;margin:0;padding:10px 12px;border:1px solid #18254540;border-radius:6px;background:#f5f4ef;cursor:pointer}
#checkout-form .payment-option:has(input:checked){border-color:var(--ink);background:#1825450a}
#checkout-form .payment-option input{width:18px;height:18px;min-height:0;margin:0;padding:0;flex:none;accent-color:var(--ink)}
.payment-option small,.checkout-cashback small{display:block;color:#48536c}
.checkout-cashback{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding:10px 12px;border-radius:6px;background:#1825450c;font-size:13px}
#checkout-cashback-value{white-space:nowrap}

.delivery-card,.delivery-recipient{margin-top:8px;padding:12px;border:1px solid #18254540;border-radius:6px;background:#f5f4ef}
.delivery-card-heading{display:flex;justify-content:space-between;gap:10px}
.delivery-card-heading span,.delivery-card small{font-size:12px;color:#48536c}
#delivery-address{margin:8px 0;font-size:13px;overflow-wrap:anywhere}
.delivery-card details{padding:7px 0 0;border-bottom:0;font-size:13px}
.delivery-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}
.delivery-fields label:first-child{grid-column:1/-1}
@media(max-width:400px){.delivery-fields{grid-template-columns:minmax(0,1fr)}}
.delivery-recipient strong{margin-left:4px;overflow-wrap:anywhere}

#checkout-form .checkout-remember{display:flex;align-items:center;gap:8px;min-height:44px}
#checkout-form .checkout-remember input{width:16px;height:16px;min-height:0;margin:0;padding:0;flex:none;accent-color:var(--ink)}
