/*
 * Sonhadores — catálogo público
 * Visual base aligned with the uploaded Araldo reference.
 * Sonhadores-specific product, stock and checkout styles follow below.
 */

:root{--ink:#171915;--muted:#77756e;--paper:#f7f5ef;--white:#fff;--line:#e7e3da;--green:#1f3c2f;--gold:#d7b77b;--radius:22px;--shadow:0 18px 60px rgba(21,25,20,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Archivo',system-ui,sans-serif;background:#fff}a{text-decoration:none;color:inherit}button,input{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(231,227,218,.7)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--green);color:#fff;font-family:Georgia,serif;font-size:18px}.brand b{display:block;font-size:14px;letter-spacing:.16em}.brand small{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin-top:2px}.main-nav{display:flex;gap:32px;font-size:13px;color:#5d5b54}.main-nav a:hover{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:10px}.icon-btn,.cart-btn,.close-btn{border:0;background:transparent;cursor:pointer}.icon-btn{font-size:23px}.cart-btn{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.cart-count{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-size:10px}.mobile-only{display:none}.hero{background:var(--paper);padding:75px 0 82px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#8c897f;font-weight:700}.hero h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(56px,8vw,100px);line-height:.92;font-weight:500;letter-spacing:-.055em;margin:18px 0 24px}.hero h1 em,.editorial-copy h2 em,.two-col h2 em{font-style:italic;color:var(--green)}.hero-copy>p{max-width:480px;font-size:17px;line-height:1.7;color:#65625b}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px}.btn{border:1px solid transparent;padding:14px 19px;border-radius:999px;cursor:pointer;font-weight:700;font-size:12px;letter-spacing:.04em}.btn-dark{background:var(--green);color:#fff}.btn-outline{background:transparent;border-color:#cfc9be}.text-link{font-size:12px;text-decoration:underline;text-underline-offset:4px}.hero-card{background:#fff;border:1px solid var(--line);padding:18px;box-shadow:var(--shadow);transform:rotate(1deg)}.hero-art{height:560px;background:linear-gradient(135deg,#ebe6db,#d9d2c3);position:relative;display:grid;place-items:center;overflow:hidden}.hero-art:before,.print-image:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.8),transparent 28%),radial-gradient(circle at 80% 80%,rgba(0,0,0,.08),transparent 30%)}.art-stamp{font-family:'Fraunces',serif;text-align:center;letter-spacing:.05em;font-size:65px;line-height:.8;transform:rotate(-7deg)}.art-stamp span{font-style:italic;font-size:52px}.art-tag{position:absolute;right:20px;top:20px;font-size:9px;letter-spacing:.17em}.hero-meta{display:flex;justify-content:space-between;padding:15px 3px 2px;font-size:12px}.hero-meta span{display:block;color:#827e76}.trust-strip{border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 0}.trust-grid span{text-align:center;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#77736a}.section{padding:100px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.section h2,.editorial-copy h2,.two-col h2,.newsletter h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:48px;letter-spacing:-.04em;line-height:1;margin:10px 0}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{background:transparent;border:1px solid var(--line);padding:8px 13px;border-radius:30px;color:#77736a;font-size:11px;cursor:pointer}.filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.print-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.print-card{cursor:pointer}.print-image{height:470px;position:relative;overflow:hidden;background:#e9e4d9}
.print-image>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}.tone-forest{background:linear-gradient(145deg,#e5e7df,#aeb5a5)}.tone-sand{background:linear-gradient(145deg,#e8ddc9,#c8b79e)}.tone-sunset{background:linear-gradient(145deg,#e6c1a2,#b16b59)}.tone-olive{background:linear-gradient(145deg,#dfe0d4,#a4a582)}.tone-cream{background:linear-gradient(145deg,#f0ede5,#ddd6c7)}.tone-caju{background:linear-gradient(145deg,#e7d3bd,#cf987a)}.card-badge{position:absolute;left:15px;top:15px;font-size:9px;letter-spacing:.14em;background:rgba(255,255,255,.83);padding:7px 8px;border-radius:20px;z-index:2}.print-art{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:'Fraunces',serif}.print-art small{font-family:'Archivo',sans-serif;letter-spacing:.18em;font-size:9px;margin-bottom:14px}.print-art strong{font-size:50px;line-height:.95;max-width:80%;letter-spacing:-.04em}.print-art i{font-family:'Archivo',sans-serif;font-style:normal;font-size:9px;letter-spacing:.2em;margin-top:20px}.quick-add{position:absolute;right:15px;bottom:15px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.08);font-size:22px;cursor:pointer;z-index:2}.card-info{display:flex;justify-content:space-between;gap:10px;padding:15px 2px}.card-info h3{margin:0;font-size:14px;font-weight:600}.card-info p{margin:5px 0 0;color:#8a877f;font-size:11px}.card-info>strong{font-size:13px}.editorial-section{background:var(--green);color:#fff;padding:100px 0}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.editorial-visual{position:relative;height:640px;background:#2c493b;overflow:hidden;display:grid;place-items:center}.shirt-shape{width:48%;height:67%;background:#efeee8;border-radius:14px 14px 5px 5px;position:relative;box-shadow:18px 20px 0 rgba(0,0,0,.08)}.shirt-shape:before,.shirt-shape:after{content:"";position:absolute;top:-3px;width:45%;height:28%;background:#efeee8}.shirt-shape:before{left:-30%;transform:skewX(-18deg);border-radius:10px 0 0 10px}.shirt-shape:after{right:-30%;transform:skewX(18deg);border-radius:0 10px 10px 0}.editorial-label{position:absolute;left:20px;bottom:18px;font-size:10px;letter-spacing:.15em;line-height:1.5;color:#bfc8be}.editorial-copy{max-width:540px}.editorial-copy h2{font-size:61px}.steps{margin:45px 0}.steps>div{display:grid;grid-template-columns:45px 1fr;gap:20px;padding:19px 0;border-top:1px solid rgba(255,255,255,.15)}.steps b{font-size:11px;color:#bdc9c0}.steps strong{display:block;font-size:14px}.steps small{display:block;color:#b9c3bc;font-size:12px;margin-top:5px;line-height:1.5}.editorial-copy .btn-outline{border-color:rgba(255,255,255,.3);color:#fff}.light-section{background:var(--paper)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}.body-copy{max-width:520px}.body-copy p{font-size:20px;line-height:1.7;color:#5e5b54;margin:0 0 30px}.feature-list{display:grid;gap:11px;font-size:12px;color:#4f4c46}.newsletter{padding:70px 0;background:#e8e3d8}.newsletter-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.newsletter h2{margin:10px 0 0}.newsletter form{display:flex;max-width:480px;width:100%;gap:8px}.newsletter input{flex:1;min-width:0;border:1px solid #d4cec1;background:#fff;padding:14px 16px;border-radius:999px;outline:none}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding:70px 0}.footer-brand{margin-bottom:15px}.footer-grid p{font-size:12px;color:#807d75;line-height:1.6;max-width:280px}.footer-grid small{display:block;color:#9a968d;font-size:9px;letter-spacing:.16em;margin-bottom:14px}.footer-grid>div:not(:first-child) a{display:block;font-size:12px;margin:10px 0;color:#56534d}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 0;font-size:10px;color:#918d84}.drawer-overlay{position:fixed;inset:0;background:rgba(14,17,14,.38);backdrop-filter:blur(2px);z-index:90;opacity:0;pointer-events:none;transition:.2s}.drawer{position:fixed;top:0;right:0;width:min(520px,100%);height:100dvh;background:#fff;z-index:100;transform:translateX(100%);transition:.28s;display:grid;grid-template-rows:auto 1fr auto}.drawer.open{transform:translateX(0)}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer-head{display:flex;justify-content:space-between;gap:15px;padding:28px 28px 18px;border-bottom:1px solid var(--line)}.drawer-head h2{font-family:'Fraunces',serif;font-weight:500;margin:7px 0 0;font-size:34px}.close-btn{font-size:30px;line-height:1}.drawer-body{padding:22px 28px;overflow:auto}.config-preview{height:220px;background:#ece9e0;display:grid;place-items:center;margin-bottom:25px}.config-preview .mini-art{font-family:'Fraunces',serif;font-size:34px;text-align:center}.config-section{padding:20px 0;border-top:1px solid var(--line)}.config-label{font-size:9px;letter-spacing:.16em;color:#8d8981;font-weight:700}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.choice{border:1px solid var(--line);padding:14px 8px;border-radius:14px;background:#fff;text-align:left;cursor:pointer}.choice.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.choice .choice-icon{display:block;font-size:22px;margin-bottom:8px}.choice strong{display:block;font-size:12px}.choice small{display:block;color:#929087;font-size:9px;margin-top:3px}.swatches{display:flex;flex-wrap:wrap;gap:11px;margin-top:14px}.swatch{display:flex;align-items:center;gap:7px;padding:4px 9px 4px 4px;border:1px solid transparent;border-radius:20px;cursor:pointer;background:#fff}.swatch.selected{border-color:var(--green)}.swatch-dot{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.08)}.swatch span:last-child{font-size:11px}.config-row-label{display:flex;justify-content:space-between}.size-link{border:0;background:transparent;text-decoration:underline;font-size:10px;color:#706d66;cursor:pointer}.size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.size{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.size.selected{background:var(--green);color:#fff;border-color:var(--green)}.config-note{padding:13px 14px;background:#f5f1e9;border-radius:14px;display:grid;gap:4px;font-size:11px;margin-top:22px}.config-note span{color:#757168;line-height:1.5}.drawer-foot{padding:18px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff}.drawer-foot small{display:block;color:#8c887f;font-size:10px}.drawer-foot strong{font-size:18px}.btn-wide{width:100%}.cart-drawer{width:min(560px,100%)}.cart-item{display:grid;grid-template-columns:86px 1fr auto;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.cart-thumb{height:86px;background:#eee9df;display:grid;place-items:center;font-family:'Fraunces',serif;font-size:16px;text-align:center}.cart-item h3{font-size:12px;margin:0}.cart-item p{font-size:10px;color:#8a867d;margin:5px 0;line-height:1.4}.cart-item strong{font-size:12px}.remove-item{border:0;background:transparent;color:#b0aba2;cursor:pointer}.cart-foot{display:block}.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.cart-total span{color:#77736a;font-size:12px}.cart-total strong{font-size:20px}.empty-cart{padding:60px 10px;text-align:center;color:#848078}.modal{position:fixed;inset:0;background:rgba(15,16,14,.45);backdrop-filter:blur(6px);z-index:120;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-card{width:min(620px,100%);background:#fff;border-radius:22px;padding:30px;position:relative;box-shadow:var(--shadow)}.modal-card h2{font-family:'Fraunces',serif;font-size:38px;font-weight:500;margin:8px 0 18px}.modal-card input{width:100%;border:0;border-bottom:1px solid var(--line);padding:14px 0;outline:none;font-size:17px}.search-item{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);cursor:pointer}.search-item span{color:#89857d;font-size:11px}.modal-card table{width:100%;border-collapse:collapse;font-size:12px}.modal-card th,.modal-card td{border-bottom:1px solid var(--line);padding:12px;text-align:left}.muted{font-size:11px;color:#8a877f}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:#181a17;color:#fff;padding:12px 17px;border-radius:999px;font-size:11px;opacity:0;pointer-events:none;transition:.25s;z-index:150}.toast.show{opacity:1;transform:translate(-50%,0)}body.menu-open .main-nav{display:flex}@media(max-width:900px){.main-nav{display:none}.mobile-only{display:block}.hero-grid,.editorial-grid,.two-col{grid-template-columns:1fr;gap:45px}.hero{padding:48px 0 58px}.hero-card{order:-1}.hero-art{height:410px}.print-grid{grid-template-columns:repeat(2,1fr)}.print-image{height:390px}.trust-grid{grid-template-columns:repeat(2,1fr);gap:14px}.section{padding:72px 0}.section-heading{align-items:start;flex-direction:column}.editorial-visual{height:460px}.editorial-copy h2{font-size:49px}.newsletter-inner{display:block}.newsletter form{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:580px){.container{width:min(100% - 24px,1180px)}.header-inner{height:66px}.brand b{font-size:12px}.hero h1{font-size:62px}.hero-card{padding:10px}.hero-art{height:360px}.art-stamp{font-size:48px}.art-stamp span{font-size:39px}.print-grid{grid-template-columns:1fr 1fr;gap:13px}.print-image{height:260px}.print-art strong{font-size:28px}.card-info{padding:10px 0}.card-info>strong{font-size:11px}.section h2,.two-col h2{font-size:40px}.editorial-section{padding:70px 0}.editorial-visual{height:380px}.hero-actions{align-items:flex-start;flex-direction:column}.newsletter form{display:grid}.drawer-head,.drawer-body,.drawer-foot{padding-left:18px;padding-right:18px}.choice-grid{grid-template-columns:repeat(2,1fr)}.size-grid{grid-template-columns:repeat(4,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:10px;align-items:center}} 

/* Mobile stability + touch/scroll hardening */
html,body{width:100%;min-height:100%;overflow-x:hidden}
body.drawer-open,body.modal-open{overflow:hidden;position:fixed;width:100%;height:100%;top:0;left:0}
body.drawer-open #configDrawer,body.drawer-open #cartDrawer{touch-action:auto}
.drawer{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.drawer-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.modal-card{max-height:calc(100dvh - 40px);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.site-header{transform:translateZ(0)}
.hero-card,.hero-art,.editorial-visual,.print-image{max-width:100%;min-width:0}
.btn,input,select,textarea,button{max-width:100%}
.config-preview img{display:block;width:100%;height:100%;object-fit:contain}
.qty-stepper{display:grid;grid-template-columns:44px minmax(70px,1fr) 44px;align-items:center;gap:8px;margin-top:12px}
.qty-stepper button{height:44px;border:1px solid var(--line);background:#fff;border-radius:12px;font-size:22px;cursor:pointer}
.qty-stepper input{height:44px;width:100%;text-align:center;border:1px solid var(--line);border-radius:12px;background:#fff;outline:none}
.stock-hint{font-size:10px;color:#7f7b73}
.choice.disabled,.swatch.disabled{opacity:.4;cursor:not-allowed}
.size:disabled{opacity:.4;cursor:not-allowed;background:#f7f5ef}
.size small{display:block;font-size:8px;color:#aaa;margin-top:3px}
.mini-qty{display:flex;align-items:center;gap:7px;margin:7px 0}
.mini-qty button{width:27px;height:27px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer}
.mini-qty button:disabled{opacity:.35;cursor:not-allowed}
.mini-qty strong{min-width:18px;text-align:center;font-size:11px}
.mini-qty small{font-size:9px;color:#999}
@supports (-webkit-touch-callout:none){
  input,textarea,select{font-size:16px}
  .site-header{position:sticky}
}
@media (max-width:900px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
  .main-nav{gap:18px}
  .editorial-visual,.hero-art{width:100%}
}
@media (max-width:580px){
  html{scroll-behavior:auto}
  body{overscroll-behavior-y:auto}
  .container{width:calc(100% - 24px);max-width:100%}
  .header-inner{gap:10px}
  .header-actions{gap:6px}
  .cart-btn span:first-child{display:none}
  body.menu-open .main-nav{position:absolute;left:12px;right:12px;top:66px;display:grid;gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:6px;z-index:60}
  body.menu-open .main-nav a{padding:13px 12px;border-radius:10px}
  .hero-grid,.editorial-grid,.two-col{width:100%}
  .hero-card{transform:none}
  .hero-art{max-height:360px}
  .hero-copy,.editorial-copy,.body-copy{min-width:0}
  .hero-copy>p,.body-copy p{font-size:16px}
  .section-heading{gap:18px}
  .filters{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .filters::-webkit-scrollbar{display:none}
  .filter{flex:0 0 auto}
  .print-card,.print-image{min-width:0}
  .print-image>img{width:100%;height:100%;object-fit:cover}
  .print-art strong{max-width:90%;overflow-wrap:anywhere}
  .drawer{width:100vw;max-width:100vw;right:0}
  .drawer-head{padding-top:18px}
  .drawer-body{padding-top:14px}
  .drawer-foot{padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .size-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .swatches{gap:7px}
  .swatch{max-width:100%;padding-right:7px}
  .swatch span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cart-item{grid-template-columns:64px minmax(0,1fr) auto;gap:10px}
  .cart-thumb{height:64px;font-size:12px;padding:4px}
  .cart-item>div:nth-child(2){min-width:0}
  .cart-item h3,.cart-item p{overflow-wrap:anywhere}
  .newsletter form{width:100%}
  .newsletter input,.newsletter .btn{width:100%}
  .footer-bottom{flex-wrap:wrap}
  .toast{left:12px;right:12px;transform:translateY(20px);text-align:center}
  .toast.show{transform:translateY(0)}
}


/* Sonhadores-specific product, stock and checkout */
/* Product modal */
.modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  align-items: center;
  justify-content: center;
  overflow: auto;
  padding: 20px;
  background: rgba(15,16,14,.45);
  backdrop-filter: blur(6px);
}
.modal.open { display: flex; }
.modal-box {
  position: relative;
  width: min(1040px, 100%);
  max-height: calc(100dvh - 40px);
  overflow: auto;
  padding: 30px;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow);
}
.product-modal { max-width: 1040px; }
.checkout { max-width: 820px; }
.x {
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 3;
  border: 0;
  background: transparent;
  color: #6d6961;
  cursor: pointer;
  font-size: 30px;
  line-height: 1;
}
.detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  gap: 30px;
}
.product-gallery { display: grid; gap: 10px; }
.gallery-main {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 18px;
  background: #ece9e0;
}
.gallery-main img { width: 100%; height: 100%; display: block; object-fit: cover; }
.gallery-main.sem-imagem { display: grid; place-items: center; color: #827e76; }
.gallery-thumbs { display: flex; gap: 9px; overflow: auto; padding: 1px; }
.thumb {
  width: 66px;
  height: 66px;
  flex: 0 0 auto;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}
.thumb.selected { border: 2px solid var(--ink); }
.thumb img { width: 100%; height: 100%; display: block; object-fit: cover; }
.detail-grid h2 {
  margin: 8px 0 0;
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(30px, 4vw, 42px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1;
}
.price {
  margin: 8px 0 18px;
  color: var(--green);
  font-size: 22px;
  font-weight: 700;
}
.detail-description {
  max-width: 62ch;
  margin: 0 0 6px;
  color: #65625b;
  font-size: 15px;
  line-height: 1.7;
}
.desc-paragraph { margin: 0 0 14px; }
.info-block,
.selection-block,
.product-extra { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.info-block b,
.selection-head h3,
.product-extra h3 { margin: 0 0 6px; font-size: 14px; }
.info-block p,
.selection-head p { margin: 0; color: var(--muted); line-height: 1.6; }
.matrix {
  overflow: auto;
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.matrix table { width: 100%; min-width: 580px; border-collapse: collapse; }
.matrix th,
.matrix td { padding: 11px; border-bottom: 1px solid var(--line); text-align: center; }
.matrix th { text-align: left; }
.matrix thead th { background: #f7f5ef; }
.matrix input {
  width: 72px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  text-align: center;
}
.matrix small { display: block; margin-top: 4px; color: #8a877f; font-size: 11px; }
.variation-unavailable { color: #aaa59c; }
.variation-available { color: var(--ink); }
.selection-mobile { display: none; }
.single-buy { display: grid; gap: 7px; max-width: 260px; margin-top: 22px; }
.single-buy input {
  width: 100%;
  display: block;
  margin-top: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
}
.product-extra .measure,
.measure {
  padding: 15px;
  border-radius: 14px;
  background: var(--paper);
  color: #5e5b54;
  line-height: 1.65;
}
.product-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
}
.secondary-btn,
.primary {
  border-radius: 999px;
  cursor: pointer;
  padding: 14px 19px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
}
.secondary-btn {
  border: 1px solid #cfc9be;
  background: transparent;
}
.primary {
  border: 1px solid transparent;
  background: var(--green);
  color: #fff;
}
.primary:disabled,
.secondary-btn:disabled { opacity: .45; cursor: not-allowed; }

/* Forms / checkout */
.form { display: grid; gap: 14px; }
.form h3 { margin: 8px 0 -2px; font-family: 'Fraunces', Georgia, serif; font-size: 24px; font-weight: 500; }
.form label { font-size: 12px; font-weight: 700; }
.form input,
.form select,
.form textarea {
  width: 100%;
  margin-top: 6px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  outline: none;
}
.form input:focus,
.form select:focus,
.form textarea:focus,
.coupon-entry input:focus { border-color: var(--green); box-shadow: 0 0 0 2px rgba(31,60,47,.08); }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lookup-box { padding: 16px; border-radius: 15px; background: var(--paper); }
.lookup-actions { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.lookup-actions .hint { flex: 1; padding: 0; background: transparent; color: var(--muted); }
.hint,
.notice,
.review-notice { padding: 12px; border-radius: 12px; background: var(--paper); color: #66625b; line-height: 1.5; }
.cep-row { display: flex; gap: 10px; align-items: end; }
.cep-row label { flex: 1; }
.freight-calc-btn { align-self: start; }
.freight-notice { margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.checkout-head .eyebrow { display: block; }
.checkout-head h2 {
  margin: 8px 0 5px;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 38px;
  font-weight: 500;
  letter-spacing: -.04em;
}
.checkout-head p { margin: 0; color: var(--muted); line-height: 1.6; }
.checkout-footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; }
.payment-total-preview {
  display: grid;
  gap: 8px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: #77736a;
  font-size: 12px;
}
.payment-total-preview b { color: var(--ink); }
.checkout-total-line {
  display: flex;
  justify-content: space-between;
  margin-top: 3px;
  color: var(--ink);
  font-size: 16px;
  font-weight: 700;
}
.installments-wrap { padding-top: 2px; }
.installments-wrap select { display: block; }
.installment-note { margin-top: 6px; color: var(--muted); font-size: 12px; }

/* Cart content inside the drawer */
.cart-screen { min-height: 100%; display: flex; flex-direction: column; }
.cart-heading { padding-right: 35px; }
.cart-list { margin-top: 8px; }
.cart-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.cart-item-info { min-width: 0; }
.cart-item-info > b { display: block; font-size: 14px; line-height: 1.35; }
.cart-item-info > small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.cart-variant { display: flex !important; align-items: center; gap: 4px; }
.cart-unit { color: #77736a; }
.cart-item-side {
  display: grid;
  grid-template-columns: auto auto;
  gap: 6px 14px;
  align-items: center;
  justify-items: end;
}
.qty-actions {
  display: flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}
.qty-actions button {
  width: 36px;
  height: 36px;
  border: 0;
  background: #f6f3ed;
  cursor: pointer;
  font-size: 18px;
}
.qty-actions button:disabled { opacity: .4; cursor: not-allowed; }
.qty-actions span { min-width: 34px; text-align: center; font-size: 12px; font-weight: 700; }
.cart-item-subtotal { white-space: nowrap; font-size: 13px; }
.cart-remove {
  grid-column: 1 / -1;
  border: 0;
  background: transparent;
  color: #8a4b42;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 0;
}
.cart-invalid {
  margin: 0 -8px;
  padding: 10px 8px;
  border: 1px solid #e6b8b8;
  border-radius: 12px;
  background: #fff7f7;
}
.stock-warning { display: block; margin-top: 6px; color: var(--danger); font-size: 11px; }
.cart-expiry {
  display: grid;
  gap: 3px;
  margin-top: 12px;
  padding: 11px 12px;
  border-radius: 12px;
  background: var(--paper);
  font-size: 11px;
}
.cart-expiry strong { font-variant-numeric: tabular-nums; }
.cart-expiry small { color: var(--muted); line-height: 1.4; }
.cart-expiry .is-warning { color: var(--danger); }
.coupon-box,
.auto-promo-note,
.promo-next-note {
  display: grid;
  gap: 6px;
  margin-top: 16px;
  padding: 14px;
  border-radius: 14px;
  background: var(--paper);
}
.coupon-box strong,
.auto-promo-note strong,
.promo-next-note strong { font-size: 12px; }
.coupon-box small,
.auto-promo-note span,
.promo-next-note span,
.promo-next-note small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.coupon-entry { display: flex; gap: 8px; }
.coupon-entry input {
  min-width: 0;
  flex: 1;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  outline: none;
  background: #fff;
}
.coupon-entry button {
  border: 1px solid var(--green);
  border-radius: 10px;
  background: var(--green);
  color: #fff;
  cursor: pointer;
  padding: 11px 14px;
  font-size: 11px;
  font-weight: 700;
}
.coupon-applied { display: flex; justify-content: space-between; gap: 10px; align-items: center; font-size: 11px; }
.coupon-applied button { border: 0; background: transparent; color: #8a4b42; cursor: pointer; font-weight: 700; }
.coupon-msg { color: var(--danger); font-size: 11px; min-height: 0; }
.cart-summary {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}
.cart-summary > div { display: flex; justify-content: space-between; gap: 12px; }
.cart-summary span { color: var(--muted); font-size: 12px; }
.cart-summary strong { color: var(--ink); font-size: 12px; }
.cart-total-final {
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.cart-total-final span { color: var(--ink); font-weight: 700; }
.cart-total-final strong { font-size: 20px; }
.cart-discount strong { color: var(--green); }
.cart-summary-warning { margin: 0; color: var(--danger); font-size: 11px; line-height: 1.45; }
.cart-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 6px;
}
.cart-continue { min-width: 250px; }
.cart-continue span { margin-left: 5px; font-size: 18px; }
.cart-empty { padding: 60px 10px; text-align: center; }
.cart-empty-icon { margin-bottom: 8px; font-size: 34px; }
.cart-empty h3 { margin: 0 0 5px; font-family: 'Fraunces', Georgia, serif; font-size: 24px; font-weight: 500; }
.cart-empty p { margin: 0 0 18px; color: var(--muted); }

/* Review */
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.review-card { padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.review-card-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.review-card-title h3 { margin: 0; font-size: 14px; }
.review-card-title > span { color: var(--muted); font-size: 11px; }
.review-edit { border: 0; background: transparent; color: var(--green); cursor: pointer; font-weight: 700; }
.review-items { margin-top: 8px; }
.review-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.review-item-main { display: flex; align-items: center; gap: 10px; min-width: 0; }
.review-item-copy { display: grid; gap: 2px; min-width: 0; }
.review-item-copy strong { font-size: 12px; }
.review-item-copy small { color: var(--muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.review-item-price { white-space: nowrap; font-size: 12px; }
.review-total-lines { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); }
.review-total-lines > div { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; }
.review-discount b { color: var(--green); }
.review-total { margin-top: 4px; border-top: 1px solid var(--line); }
.review-total span { color: var(--ink); font-weight: 700; }
.review-total b { font-size: 20px; }
.review-detail-block { padding: 11px 0; border-top: 1px solid var(--line); }
.review-detail-block:first-of-type { margin-top: 7px; }
.review-detail-block > small { color: #8a877f; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.review-detail-block p { margin: 5px 0 0; color: #66625b; line-height: 1.55; }
.review-coupon { display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: var(--paper); }
.review-coupon strong { font-size: 11px; }
.review-coupon span { color: var(--muted); font-size: 11px; }
.review-footer { align-items: stretch; }
.review-send { display: flex; align-items: center; justify-content: center; gap: 10px; }
.review-send small { opacity: .82; font-size: 11px; }
.success { padding: 60px 10px; text-align: center; }
.success > span:first-child { display: inline-flex; width: 58px; height: 58px; align-items: center; justify-content: center; border-radius: 50%; background: var(--paper); color: var(--green); font-size: 30px; }
.success h2 { margin: 16px 0 10px; font-family: 'Fraunces', Georgia, serif; font-size: 34px; font-weight: 500; }
.success p { color: var(--muted); line-height: 1.55; }

/* Cart drawer — mirrors the reference layout */
.catalog-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(14, 17, 14, .38);
  backdrop-filter: blur(2px);
  opacity: 0;
  pointer-events: none;
  transition: .2s;
}
.catalog-drawer-overlay.open { opacity: 1; pointer-events: auto; }
.drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  width: min(520px, 100%);
  height: 100dvh;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  background: #fff;
  box-shadow: -20px 0 70px rgba(0,0,0,.16);
  transform: translateX(100%);
  transition: .28s ease;
}
.drawer.open { transform: translateX(0); }
.drawer-head {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 28px 28px 18px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.drawer-head h2 {
  margin: 7px 0 0;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 34px;
  font-weight: 500;
  letter-spacing: -.04em;
}
.close-btn,
.pod-close {
  border: 0;
  background: transparent;
  cursor: pointer;
  color: #6d6961;
  font-size: 30px;
  line-height: 1;
}
.drawer-body {
  min-height: 0;
  padding: 22px 28px;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.cart-drawer .drawer-body { padding-bottom: 30px; }

/* Shared modal / responsive */
.color-swatch {
  display: inline-block;
  width: 16px;
  height: 16px;
  min-width: 16px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 50%;
  background: var(--swatch, #999);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.45);
}
.eyebrow { color: #8c897f; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.empty { padding: 50px; color: var(--muted); text-align: center; }

@media (max-width: 900px) {
  .pod-site-header nav { display: none; }
  .pod-hero-grid { grid-template-columns: 1fr; gap: 45px; }
  .pod-hero { padding: 48px 0 58px; }
  .pod-hero-card { order: -1; }
  .pod-hero-art { min-height: 410px; }
  .pod-print-grid,
  #products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pod-trust .pod-container { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .pod-section { padding: 72px 0; }
  .pod-section-heading { align-items: start; flex-direction: column; }
  .pod-editorial-grid { grid-template-columns: 1fr; }
  .review-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .pod-container { width: calc(100% - 24px); }
  .pod-header-inner { min-height: 66px; gap: 10px; }
  .pod-brand b { font-size: 12px; }
  .pod-brand small { display: none; }
  .pod-search-area { width: 100%; display: grid; grid-template-columns: 1fr; }
  .pod-search-area input,
  .pod-search-area select { width: 100%; }
  .pod-section-heading h2 { font-size: 40px; }
  .pod-print-grid,
  #products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .pod-card-info { padding: 10px 0; }
  .pod-card-info > strong { font-size: 11px; }
  .pod-art-placeholder strong { font-size: 28px; }
  .pod-hero-card { transform: none; padding: 10px; }
  .pod-hero-art { min-height: 360px; }
  .pod-hero h1 { font-size: 62px; }

  .modal {
    align-items: stretch;
    padding: 0;
    background: rgba(14, 17, 14, .55);
  }
  .modal-box {
    width: 100%;
    max-height: none;
    min-height: 100%;
    border-radius: 0;
    padding: 18px 14px 90px;
    box-shadow: none;
  }
  .detail-grid { display: block; }
  .detail-grid > div:first-child { margin: -18px -14px 0; }
  .gallery-main { border-radius: 0; }
  .gallery-thumbs { padding: 8px 12px; background: #fff; }
  .detail-grid h2 { font-size: 31px; }
  .price { font-size: 24px; }
  .selection-desktop { display: none; }
  .selection-mobile { display: block; margin-top: 24px; }
  .product-actions {
    position: sticky;
    bottom: 0;
    z-index: 4;
    justify-content: stretch;
    margin: 0 -2px;
    padding: 18px 0 8px;
    background: linear-gradient(180deg, rgba(255,255,255,0), #fff 25%);
  }
  .product-actions > * { flex: 1; min-width: 0; }

  .drawer {
    width: 100vw;
    max-width: 100vw;
  }
  .drawer-head { padding: 18px; }
  .drawer-body { padding: 14px 18px calc(18px + env(safe-area-inset-bottom)); }
  .drawer-head h2 { font-size: 30px; }

  .two { grid-template-columns: 1fr; }
  .cep-row { display: grid; grid-template-columns: 1fr; align-items: stretch; }
  .lookup-actions,
  .checkout-footer,
  .cart-actions { flex-direction: column; align-items: stretch; }
  .lookup-actions > *,
  .checkout-footer > *,
  .cart-actions > * { width: 100%; }
  .cart-actions { flex-direction: column-reverse; }
  .cart-continue { min-width: 0; }
  .cart-row { grid-template-columns: 1fr; gap: 10px; align-items: stretch; }
  .cart-item-side { grid-template-columns: auto 1fr auto; justify-items: end; }
  .cart-remove { grid-column: 1 / -1; }
  .review-coupon { flex-direction: column; }
}

@media (max-width: 380px) {
  .pod-hero h1 { font-size: 56px; }
  .pod-section-heading h2 { font-size: 36px; }
  .prod-info h2 { font-size: 13px; }
}

/* Editorial blocks copied from the reference structure. */
.pod-about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.pod-about-grid h2,
.catalog-newsletter h2 {
  margin: 10px 0 0;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 48px;
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1;
}
.pod-about-grid h2 em { color: var(--green); font-style: italic; }
.pod-about-copy { max-width: 520px; }
.pod-about-copy p {
  margin: 0 0 30px;
  color: #5e5b54;
  font-size: 20px;
  line-height: 1.7;
}
.pod-feature-list {
  display: grid;
  gap: 11px;
  color: #4f4c46;
  font-size: 12px;
}
.catalog-newsletter {
  padding: 70px 0;
  background: #e8e3d8;
}
.catalog-newsletter .newsletter-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.catalog-newsletter h2 { margin: 10px 0 0; }
.catalog-newsletter form {
  display: flex;
  width: 100%;
  max-width: 480px;
  gap: 8px;
}
.catalog-newsletter input {
  min-width: 0;
  flex: 1;
  border: 1px solid #d4cec1;
  border-radius: 999px;
  outline: none;
  background: #fff;
  padding: 14px 16px;
}
.pod-site-footer {
  border-top: 1px solid var(--line);
  background: #fff;
}
.footer-grid-source {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  padding: 70px 0;
}
.footer-brand-source { margin-bottom: 15px; }
.pod-site-footer p {
  max-width: 280px;
  margin: 0;
  color: #807d75;
  font-size: 12px;
  line-height: 1.6;
}
.pod-site-footer small {
  display: block;
  margin-bottom: 14px;
  color: #9a968d;
  font-size: 9px;
  letter-spacing: .16em;
}
.pod-site-footer .footer-grid-source > div:not(:first-child) a {
  display: block;
  margin: 10px 0;
  color: #56534d;
  font-size: 12px;
}
.footer-bottom-source {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  color: #918d84;
  font-size: 10px;
}

@media (max-width: 900px) {
  .pod-about-grid { grid-template-columns: 1fr; gap: 45px; }
  .catalog-newsletter .newsletter-inner { display: block; }
  .catalog-newsletter form { margin-top: 22px; }
  .footer-grid-source { grid-template-columns: 1fr 1fr; }
  .footer-grid-source > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .pod-about-grid h2,
  .catalog-newsletter h2 { font-size: 40px; }
  .pod-about-copy p { font-size: 16px; }
  .catalog-newsletter input,
  .catalog-newsletter .pod-btn { width: 100%; }
  .catalog-newsletter form { display: grid; }
  .footer-grid-source { grid-template-columns: 1fr 1fr; gap: 25px; padding: 50px 0; }
  .footer-bottom-source { flex-wrap: wrap; }
}


/* Reference configurator preview: the shirt fills the preview area itself,
   without the extra nested square used by the previous fallback. */
.pod-config-drawer .config-preview .pod-preview-svg {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}
.pod-config-drawer .config-preview {
  display: block;
  min-height: 220px;
}
.pod-config-drawer .config-preview > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

/* Final reference alignment for the live Sonhadores cart/configurator. */
.cart-drawer { width: min(520px, 100%); }
.cart-foot { display: flex; }
.cart-foot .cart-total { margin-bottom: 0; }
.cart-foot .btn-wide { width: auto; min-width: 230px; }
.cart-item { grid-template-columns: 86px 1fr auto; gap: 13px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); }
.cart-thumb { width: 86px; height: 86px; overflow: hidden; background: #eee9df; display: grid; place-items: center; color: var(--green); font-family: 'Fraunces', Georgia, serif; font-size: 16px; text-align: center; }
.cart-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mini-qty { display: flex; align-items: center; gap: 7px; margin: 7px 0; }
.mini-qty button { width: 27px; height: 27px; border: 1px solid var(--line); background: #fff; border-radius: 8px; cursor: pointer; }
.mini-qty button:disabled { opacity: .35; cursor: not-allowed; }
.mini-qty strong { min-width: 18px; text-align: center; font-size: 11px; }
.mini-qty small { color: #999; font-size: 9px; }
.cart-item .remove-item { border: 0; background: transparent; color: #b0aba2; cursor: pointer; font-size: 22px; line-height: 1; }
.cart-empty { padding: 60px 10px; text-align: center; }
.cart-empty-icon { margin-bottom: 8px; font-size: 34px; }
.cart-empty h3 { margin: 0 0 5px; font-family: 'Fraunces', Georgia, serif; font-size: 24px; font-weight: 500; }
.cart-empty p { margin: 0 0 18px; color: var(--muted); }
.cart-screen .checkout-head { margin-bottom: 20px; }
.cart-heading h2 { font-family: 'Fraunces', Georgia, serif; font-size: 34px; font-weight: 500; letter-spacing: -.04em; }
.cart-heading p { color: var(--muted); line-height: 1.6; }
.cart-summary { margin-top: 18px; }
.cart-summary > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; }
.cart-total-final { margin-top: 5px; padding-top: 10px; border-top: 1px solid var(--line); }
.cart-summary-warning { color: var(--danger); font-size: 11px; line-height: 1.45; }
.cart-continue-wrap { margin-top: 18px; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.card-prod { min-width: 0; }
.card-prod .product-open { display: block; width: 100%; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.card-prod .photo { position: relative; height: 470px; overflow: hidden; background: #e9e4d9; }
.card-prod .photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.card-prod .photo > span { display: grid; place-items: center; width: 100%; height: 100%; color: var(--green); font-family: 'Fraunces', Georgia, serif; font-size: 32px; }
.card-prod .prod-info { display: flex; justify-content: space-between; gap: 10px; padding: 15px 2px; }
.card-prod .prod-info .cat-label { display: block; margin-bottom: 5px; color: #8a877f; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.card-prod .prod-info h2 { margin: 0; font-size: 14px; font-weight: 600; }
.card-prod .prod-info strong { font-size: 13px; white-space: nowrap; }
.filters-wrap { display: flex; align-items: center; gap: 8px; min-width: 0; }
.filters-wrap input, .filters-wrap select { border: 1px solid #d4cec1; outline: none; background: #fff; color: var(--ink); padding: 12px 14px; border-radius: 999px; font-size: 12px; }
.filters-wrap input { width: min(260px, 100%); }
@media (max-width: 900px) {
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .card-prod .photo { height: 390px; }
}
@media (max-width: 580px) {
  .filters-wrap { width: 100%; }
  .filters-wrap input { flex: 1 1 auto; width: auto; min-width: 0; }
  .filters-wrap select { max-width: 150px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .card-prod .photo { height: 260px; }
  .card-prod .prod-info { padding: 10px 0; }
  .card-prod .prod-info h2 { font-size: 11px; }
  .card-prod .prod-info strong { font-size: 11px; }
  .cart-item { grid-template-columns: 64px minmax(0,1fr) auto; gap: 10px; }
  .cart-thumb { width: 64px; height: 64px; font-size: 12px; }
  .cart-foot { align-items: stretch; flex-direction: column; }
  .cart-foot .cart-total { margin-bottom: 0; }
  .cart-foot .btn-wide { width: 100%; min-width: 0; }
}

/* 40.6.5 — responsive hardening for the public catalog, drawers and checkout */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.container,
.hero-grid,
.editorial-grid,
.two-col,
.section-heading,
.print-grid,
.product-grid,
.newsletter-inner,
.footer-grid,
.drawer,
.drawer-head,
.drawer-body,
.drawer-foot,
.config-section,
.config-row-label,
.choice-grid,
.swatches,
.size-grid,
.cart-row,
.cart-item,
.cart-item-info,
.cart-item-side,
.cart-summary,
.review-grid,
.review-card,
.form,
.two,
.cep-row {
  min-width: 0;
}

.section-heading > *,
.hero-grid > *,
.editorial-grid > *,
.two-col > *,
.newsletter-inner > *,
.footer-grid > *,
.drawer-head > *,
.drawer-foot > *,
.cart-row > *,
.cart-item > *,
.review-grid > *,
.form > *,
.two > *,
.cep-row > * {
  min-width: 0;
  max-width: 100%;
}

.drawer {
  width: min(520px, 100%);
  max-width: 100%;
  min-height: 0;
}

.drawer-head {
  overflow: hidden;
}

.drawer-head > div:first-child {
  flex: 1 1 auto;
  overflow: hidden;
}

.drawer-head h2 {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.drawer-body {
  min-height: 0;
  max-width: 100%;
}

.drawer-foot {
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
}

.drawer-foot > div {
  min-width: 0;
}

.drawer-foot > .btn {
  min-width: 0;
  flex: 0 1 auto;
}

.cart-foot {
  gap: 12px;
}

.cart-foot .cart-total {
  gap: 8px;
  min-width: 0;
}

.cart-foot .cart-total span,
.cart-foot .cart-total strong {
  white-space: nowrap;
}

.cart-foot .btn-wide {
  min-width: 230px;
  max-width: 100%;
}

.choice,
.swatch,
.size,
.btn,
.primary,
.secondary-btn,
.freight-calc-btn,
.quick-add,
.cart-btn,
.icon-btn,
.close-btn {
  touch-action: manipulation;
}

.choice strong,
.choice small,
.swatch span:last-child,
.size,
.config-note span,
.stock-hint,
.pod-availability,
.cart-item-info,
.cart-item-info > b,
.cart-item-info > small,
.review-card,
.review-detail-block,
.review-detail-block p,
.notice,
.hint,
.freight-notice,
.installment-note {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.filters-wrap {
  flex-wrap: wrap;
  max-width: 100%;
}

.filters-wrap input,
.filters-wrap select {
  max-width: 100%;
}

.hero-art,
.print-image,
.card-prod .photo,
.editorial-visual {
  width: 100%;
}

@media (max-width: 900px) {
  .container {
    width: min(100% - 32px, 1180px);
  }

  .section-heading {
    gap: 18px;
  }

  .section-heading > div,
  .filters-wrap {
    width: 100%;
  }

  .filters-wrap {
    justify-content: stretch;
  }

  .filters-wrap input {
    flex: 1 1 220px;
    width: auto;
  }

  .filters-wrap select {
    flex: 0 1 180px;
  }

  .hero-grid,
  .editorial-grid,
  .two-col {
    gap: 36px;
  }

  .print-grid,
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .newsletter-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .newsletter form {
    max-width: 100%;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }

  .drawer {
    width: min(520px, 100%);
  }
}

@media (max-width: 760px) {
  body.drawer-open,
  body.modal-open {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .drawer {
    width: 100%;
    max-width: 100%;
    right: 0;
  }

  .drawer-head {
    padding: 18px 16px 15px;
    gap: 12px;
  }

  .drawer-head h2 {
    font-size: clamp(28px, 7vw, 34px);
  }

  .drawer-body {
    padding: 14px 16px calc(18px + env(safe-area-inset-bottom));
  }

  .drawer-foot {
    padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
    gap: 12px;
  }

  .drawer-foot > div {
    flex: 1 1 120px;
  }

  .drawer-foot > .btn {
    flex: 1 1 220px;
  }

  .cart-foot .cart-total {
    flex: 0 1 auto;
    margin: 0;
  }

  .cart-foot .btn-wide {
    flex: 1 1 240px;
    width: auto;
    min-width: 0;
  }

  .config-preview {
    height: clamp(190px, 48vw, 260px);
    margin-bottom: 18px;
  }

  .config-section {
    padding: 17px 0;
  }

  .choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .choice {
    min-width: 0;
    padding: 12px 10px;
  }

  .choice .choice-icon,
  .pod-config-drawer .choice .choice-icon {
    height: 64px;
    min-height: 64px;
  }

  .choice .choice-icon-img,
  .pod-config-drawer .choice .choice-icon-img,
  .choice .choice-icon-glyph,
  .pod-config-drawer .choice .choice-icon-glyph {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
  }

  .choice .choice-icon-glyph,
  .pod-config-drawer .choice .choice-icon-glyph {
    font-size: 26px;
  }

  .size-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
  }

  .size {
    min-width: 0;
    padding: 11px 6px;
  }

  .swatches {
    gap: 7px;
  }

  .swatch {
    max-width: 100%;
  }

  .cart-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .cart-item-side {
    grid-template-columns: auto 1fr auto;
    width: 100%;
    justify-items: end;
  }

  .cart-summary > div {
    align-items: baseline;
  }

  .review-grid {
    grid-template-columns: 1fr;
  }

  .review-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .review-footer > * {
    width: 100%;
  }

  .checkout-footer {
    flex-wrap: wrap;
  }

  .checkout-footer > * {
    flex: 1 1 180px;
  }

  .form input,
  .form select,
  .form textarea,
  .lookup-actions > *,
  .cep-row > *,
  .checkout-footer > * {
    max-width: 100%;
  }

  .cep-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .freight-calc-btn {
    justify-self: start;
  }
}

@media (max-width: 520px) {
  .container {
    width: min(100% - 24px, 1180px);
  }

  .site-header {
    overflow: clip;
  }

  .header-inner {
    height: 64px;
    gap: 10px;
  }

  .brand {
    min-width: 0;
    max-width: calc(100% - 105px);
  }

  .brand b,
  .brand small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .main-nav {
    gap: 14px;
  }

  .hero {
    padding: 42px 0 54px;
  }

  .hero h1 {
    font-size: clamp(48px, 15vw, 62px);
  }

  .hero-actions {
    gap: 14px;
  }

  .trust-grid {
    grid-template-columns: 1fr 1fr;
    padding: 14px 0;
  }

  .trust-grid span {
    line-height: 1.4;
  }

  .section {
    padding: 58px 0;
  }

  .section-heading {
    margin-bottom: 24px;
  }

  .section h2,
  .two-col h2 {
    font-size: clamp(34px, 10vw, 40px);
  }

  .filters-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(110px, 150px);
    gap: 7px;
  }

  .filters-wrap input,
  .filters-wrap select {
    width: 100%;
    min-width: 0;
  }

  .print-grid,
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .print-image {
    height: 260px;
  }

  .card-prod .photo {
    height: 260px;
  }

  .card-info,
  .card-prod .prod-info {
    min-width: 0;
  }

  .card-info > *,
  .card-prod .prod-info > * {
    min-width: 0;
  }

  .card-info h3,
  .card-info p,
  .card-prod .prod-info h2 {
    overflow-wrap: anywhere;
  }

  .drawer-foot {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    align-items: center;
  }

  .cart-foot {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  }

  .cart-foot .btn-wide {
    width: 100%;
  }

  .drawer-foot > .btn {
    width: 100%;
  }

  .drawer-foot strong {
    font-size: 18px;
  }

  .cart-item {
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 10px;
  }

  .cart-thumb {
    width: 62px;
    height: 62px;
  }

  .cart-item-side {
    grid-column: 2;
    grid-template-columns: auto auto;
    justify-items: start;
  }

  .cart-remove {
    grid-column: 2;
  }

  .cart-summary-total,
  .cart-total-final {
    gap: 8px;
  }

  .coupon-entry {
    flex-wrap: wrap;
  }

  .coupon-entry input,
  .coupon-entry button {
    min-width: 0;
  }

  .pod-config-drawer .config-preview {
    height: 210px;
  }

  .pod-config-drawer .choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pod-config-drawer .size-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .pod-config-drawer .stock-hint {
    white-space: normal;
    text-align: right;
  }

  .config-row-label {
    gap: 10px;
    align-items: flex-start;
  }

  .config-row-label .size-link {
    flex: 0 0 auto;
  }

  .checkout-footer > * {
    flex: 1 1 100%;
    width: 100%;
  }

  .cep-row {
    grid-template-columns: 1fr;
  }

  .freight-calc-btn {
    width: 100%;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 380px) {
  .filters-wrap {
    grid-template-columns: 1fr;
  }

  .print-grid,
  .product-grid {
    gap: 9px;
  }

  .print-image,
  .card-prod .photo {
    height: 230px;
  }

  .drawer-head h2 {
    font-size: 28px;
  }

  .drawer-foot,
  .cart-foot {
    grid-template-columns: 1fr;
  }

  .cart-foot .cart-total {
    justify-content: space-between;
  }
}

/* 40.6.7 — one clear action per step; hidden cart footer never competes with checkout. */
.cart-drawer #cartFoot[hidden] { display: none !important; }
.product-actions .product-continue-btn { order: 1; }
.product-actions .product-buy-btn { order: 2; }
.product-actions .product-buy-btn {
  color: var(--green);
  background: #fff;
  border-color: #cfc9be;
}

/* Model selectors: compact, centered icons with no wasted vertical space. */
.choice-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.choice {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 12px;
}
.choice .choice-icon {
  width: 100%;
  height: 54px;
  min-height: 54px;
  margin: 0 auto 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.choice .choice-icon-img,
.choice .choice-icon-glyph {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  object-fit: contain;
}
.choice .choice-icon-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
}
.choice strong,
.choice small {
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Desktop/notebook: the cart becomes a full-screen checkout workspace. */
@media (min-width: 901px) and (pointer: fine) {
  .cart-drawer {
    left: 0;
    right: 0;
    width: 100vw;
    max-width: none;
  }
  .cart-drawer .drawer-head {
    padding-left: max(28px, calc((100vw - 1180px) / 2));
    padding-right: max(28px, calc((100vw - 1180px) / 2));
  }
  .cart-drawer .drawer-body {
    padding-left: max(28px, calc((100vw - 1180px) / 2));
    padding-right: max(28px, calc((100vw - 1180px) / 2));
  }
  .cart-drawer .drawer-foot {
    padding-left: max(28px, calc((100vw - 1180px) / 2));
    padding-right: max(28px, calc((100vw - 1180px) / 2));
  }
  .cart-drawer .cart-screen,
  .cart-drawer #checkoutContent {
    width: 100%;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
  }
  .cart-drawer .cart-list {
    max-width: none;
  }
}


/* 40.6.9 — revisão tipográfica, proporção e alinhamento do catálogo/checkout. */
:root{
  --font-sans:'Archivo',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --text-xs:10px;
  --text-sm:12px;
  --text-md:14px;
  --text-lg:16px;
}
body,
button,
input,
select,
textarea{font-family:var(--font-sans);}
button,
input,
select,
textarea{font-size:14px;line-height:1.35;}

/* Títulos display: mesma família e peso em todos os pontos de destaque. */
.drawer-head h2,
.checkout-head h2,
.review-card h3,
.cart-empty h3,
.success h2,
.form h3,
.cart-heading h2,
.modal-card h2{font-family:var(--font-display);}

/* Drawer em desktop/notebook: leitura centralizada e largura controlada. */
@media (min-width:901px) and (pointer:fine){
  .cart-drawer .drawer-body{
    display:block;
  }
  .cart-drawer #checkoutContent{
    width:min(100%, 1180px);
    margin-inline:auto;
  }
  .cart-drawer .checkout-head{
    max-width:900px;
    margin:0 auto 24px;
    text-align:left;
  }
  .cart-drawer .review-grid,
  .cart-drawer .form{
    width:min(100%, 1000px);
    margin-inline:auto;
  }
  .cart-drawer .success{
    width:min(100%, 720px);
    margin-inline:auto;
  }
}

/* Checkout: labels, campos e mensagens com escala visual consistente. */
.form{font-size:14px;}
.form label{font-size:12px;line-height:1.35;color:#292923;}
.form input,
.form select,
.form textarea{
  font-size:14px;
  line-height:1.35;
  min-height:46px;
}
.form textarea{min-height:96px;resize:vertical;}
.lookup-box{padding:16px 18px;}
.lookup-box .two{gap:14px;}
.lookup-box label{display:block;}
.lookup-box input{font-size:14px;font-weight:500;letter-spacing:.01em;}
.lookup-actions{gap:12px;}
.lookup-actions .secondary-btn{white-space:nowrap;}
.lookup-actions .hint,
.hint{font-size:11px;line-height:1.45;}

/* Botão de CEP não deve cair no estilo nativo do navegador. */
#cepBtn{
  align-self:end;
  min-height:46px;
  padding:0 16px;
  border:1px solid #cfc9be;
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  font-size:12px;
  font-weight:700;
}
#cepBtn:hover{border-color:var(--green);color:var(--green);}

.freight-calc-btn{min-height:44px;}
.payment-total-preview{font-size:12px;}
.checkout-total-line{font-size:14px;}
.checkout-total-line b{font-size:18px;}

/* Textos de resumo: menos contraste e melhor hierarquia. */
.review-card{font-size:13px;}
.review-card-title h3{font-size:14px;}
.review-card-title>span{font-size:11px;}
.review-detail-block p{font-size:13px;line-height:1.55;color:#5f5c55;}
.review-detail-block p b{color:var(--ink);font-weight:700;}
.review-item-copy strong{font-size:13px;}
.review-item-copy small{font-size:11px;}
.review-item-price{font-size:13px;}
.review-total-lines>div{font-size:13px;}
.review-total b{font-size:19px;}
.review-edit{font-size:12px;}

/* Seleção de modelo: ícone menor, centro geométrico estável e menos espaço morto. */
.choice-grid{align-items:stretch;}
.choice{
  min-height:116px;
  padding:11px 12px 10px;
  justify-content:flex-start;
}
.choice .choice-icon,
.choice .choice-icon-img,
.choice .choice-icon-glyph{
  width:48px;
  height:48px;
  min-height:48px;
  flex-basis:48px;
}
.choice .choice-icon{margin:0 auto 7px;}
.choice .choice-icon-img{object-fit:contain;}
.choice .choice-icon-glyph{font-size:21px;}
.choice strong{font-size:13px;line-height:1.2;text-align:left;}
.choice small{font-size:10px;line-height:1.25;text-align:left;}

/* Preview POD: proporção estável e conteúdo realmente centralizado. */
.pod-config-drawer .config-preview{
  position:relative;
  height:clamp(190px,24vw,300px);
  aspect-ratio:16 / 9;
  min-height:190px;
  max-height:300px;
  margin:0 auto 22px;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.pod-config-drawer .config-preview .pod-preview-svg,
.pod-config-drawer .config-preview>img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

/* Imagens de destaque: nunca ultrapassar o card nem distorcer. */
.print-image>img,
.card-prod .photo img{object-fit:cover;object-position:center;}

/* Escala do cabeçalho/drawer. */
.drawer-head{align-items:center;}
.drawer-head .eyebrow{line-height:1.2;}
.drawer-head h2{font-size:clamp(30px,3vw,36px);}
.close-btn{font-family:var(--font-sans);font-weight:500;}

/* Ações: um único CTA primário por etapa. */
.checkout-footer .primary,
.review-send{min-height:46px;}
.checkout-footer .secondary-btn{min-height:46px;}
.cart-foot .btn-wide{min-height:46px;}

@media (max-width:900px){
  .pod-config-drawer .config-preview{height:clamp(190px,40vw,250px);}
  .choice .choice-icon,
  .choice .choice-icon-img,
  .choice .choice-icon-glyph{width:52px;height:52px;min-height:52px;flex-basis:52px;}
}
@media (max-width:760px){
  .form input,.form select,.form textarea{font-size:16px;}
  .lookup-box input{font-size:16px;}
  .lookup-actions{align-items:stretch;}
  .lookup-actions .secondary-btn{width:100%;}
  .lookup-actions .hint{font-size:11px;}
  #cepBtn{width:100%;}
  .pod-config-drawer .config-preview{height:210px;max-height:210px;}
  .choice{min-height:112px;}
}
@media (max-width:520px){
  .checkout-head h2{font-size:34px;}
  .review-card{padding:15px;}
  .lookup-box{padding:14px;}
  .pod-config-drawer .config-preview{height:190px;max-height:190px;}
}

/* 40.7.1 — acabamento do carrinho, preview POD e ações. */

/* O configurador nunca deve criar rolagem horizontal. */
.pod-config-drawer,
.pod-config-drawer .drawer-body,
.pod-config-drawer .config-section,
.pod-config-drawer .choice-grid,
.pod-config-drawer .swatches,
.pod-config-drawer .size-grid,
.pod-config-drawer .config-row-label {
  max-width: 100%;
  min-width: 0;
}
.pod-config-drawer,
.pod-config-drawer .drawer-body { overflow-x: hidden; }
.pod-config-drawer .drawer-body > * { max-width: 100%; }
.pod-config-drawer .choice-grid,
.pod-config-drawer .size-grid { width: 100%; }
.pod-config-drawer .swatches { width: 100%; }

/* Preview: a camiseta ocupa o palco e a arte real da estampa aparece sobre ela. */
.pod-config-drawer .config-preview {
  position: relative;
  width: 100%;
  height: 320px;
  aspect-ratio: auto;
  margin: 0 0 24px;
  padding: 20px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #eeeae1;
  border: 1px solid #e5e0d7;
}
.pod-preview-stage {
  position: relative;
  width: min(330px, 82%);
  height: 270px;
  display: grid;
  place-items: center;
}
.pod-preview-shirt {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.pod-preview-stamp {
  position: absolute;
  left: 50%;
  top: 52%;
  width: 28%;
  height: 28%;
  transform: translate(-50%, -50%);
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  z-index: 2;
}
.pod-preview-label {
  position: absolute;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 70%;
  text-align: center;
  color: rgba(255,255,255,.94);
  font: 700 10px/1.2 var(--font-sans, Arial, sans-serif);
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Desktop: carrinho deve parecer uma área de compra ampla, não um drawer de celular. */
@media (min-width: 901px) and (pointer: fine) {
  .cart-drawer .drawer-body {
    padding: 34px 48px 42px;
  }
  .cart-drawer #checkoutContent {
    width: min(1120px, calc(100vw - 96px));
    max-width: none;
  }
  .cart-drawer .cart-list {
    width: 100%;
    margin-top: 4px;
  }
  .cart-drawer .cart-item {
    grid-template-columns: 148px minmax(0, 1fr) 150px;
    gap: 28px;
    align-items: center;
    min-height: 148px;
    padding: 20px 0;
  }
  .cart-drawer .cart-thumb {
    width: 148px;
    height: 148px;
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
  }
  .cart-drawer .cart-thumb img {
    width: 100%;
    height: 100%;
    padding: 10px;
    object-fit: contain;
    object-position: center;
  }
  .cart-drawer .cart-item-info {
    align-self: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 120px;
  }
  .cart-drawer .cart-item-info h3 {
    font-size: 17px;
    line-height: 1.25;
    margin: 0;
  }
  .cart-drawer .cart-item-meta {
    max-width: 720px;
    margin: 7px 0 14px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
  }
  .cart-drawer .cart-item-controls {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .cart-drawer .mini-qty {
    margin: 0;
  }
  .cart-drawer .cart-stock {
    color: var(--muted);
    font-size: 11px;
  }
  .cart-drawer .cart-item-price {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 10px;
    height: 100%;
    text-align: right;
  }
  .cart-drawer .cart-item-price > strong {
    font-size: 17px;
    line-height: 1.2;
    white-space: nowrap;
  }
  .cart-drawer .cart-item-price .remove-item {
    padding: 0;
    color: #8a4b42;
    font-size: 11px;
    font-weight: 700;
  }
  .cart-drawer .coupon-box,
  .cart-drawer .cart-summary,
  .cart-drawer .auto-promo-note,
  .cart-drawer .promo-next-note {
    width: min(760px, 100%);
  }
  .cart-drawer .coupon-box {
    margin-top: 24px;
  }
  .cart-drawer .cart-summary {
    margin-top: 14px;
  }
  .cart-drawer .coupon-entry {
    max-width: 620px;
  }
  .cart-drawer .cart-foot {
    padding-top: 18px;
    padding-bottom: 18px;
  }
  .cart-drawer .cart-foot .cart-total strong {
    font-size: 22px;
  }
  .cart-drawer .cart-foot .btn-wide {
    width: auto;
    min-width: 280px;
  }
}

/* Ação de carrinho: mais forte e claramente diferente do botão de CEP. */
.cart-empty-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  text-decoration: none;
}
#cepBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 118px;
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid #cfc9be;
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
}
#cepBtn:hover {
  border-color: var(--green);
  background: #faf9f5;
  color: var(--green);
}
.coupon-entry button {
  min-height: 42px;
  border-radius: 10px;
}

/* No celular, preservar o comportamento compacto existente. */
@media (max-width: 900px) {
  .pod-config-drawer .config-preview {
    height: clamp(210px, 58vw, 280px);
    padding: 14px;
  }
  .pod-preview-stage {
    width: min(300px, 88%);
    height: 230px;
  }
  .pod-preview-stamp {
    width: 30%;
    height: 30%;
  }
}

@media (max-width: 760px) {
  .cart-drawer .cart-item {
    grid-template-columns: 76px minmax(0, 1fr);
  }
  .cart-drawer .cart-thumb {
    width: 76px;
    height: 76px;
    border-radius: 10px;
  }
  .cart-drawer .cart-thumb img {
    padding: 6px;
  }
  .cart-drawer .cart-item-price {
    grid-column: 2;
    align-items: flex-start;
    flex-direction: row;
    justify-content: space-between;
    height: auto;
    width: 100%;
    text-align: left;
  }
  .cart-drawer .cart-item-info h3 { font-size: 14px; }
  .cart-drawer .cart-item-meta { font-size: 11px; }
  .cart-empty-link { min-height: 44px; width: auto; }
  #cepBtn { width: 100%; }
}


/* 40.7.2 — Carrinho desktop: hierarquia de e-commerce de moda, mais espaço útil e lista com rolagem. */
@media (min-width: 901px) {
  .cart-drawer {
    width: 100vw;
    max-width: 100vw;
  }

  .cart-drawer .drawer-body {
    padding: 36px clamp(28px, 5vw, 84px) 28px;
    overflow-y: auto;
  }

  .cart-drawer .cart-layout {
    width: min(1240px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 48px;
    align-items: start;
  }

  .cart-drawer .cart-main {
    min-width: 0;
  }

  .cart-drawer .cart-list {
    margin-top: 0;
    max-height: 54vh;
    overflow-y: auto;
    padding-right: 10px;
    scrollbar-gutter: stable;
  }

  .cart-drawer .cart-item {
    grid-template-columns: 118px minmax(0, 1fr) minmax(130px, auto);
    gap: 22px;
    min-height: 138px;
    padding: 20px 0;
    align-items: center;
  }

  .cart-drawer .cart-thumb {
    width: 118px;
    height: 138px;
    background: #f1eee7;
    border-radius: 2px;
    overflow: hidden;
  }

  .cart-drawer .cart-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    padding: 10px;
  }

  .cart-drawer .cart-thumb [data-cart-thumb-fallback] {
    padding: 12px;
    font-size: 12px;
    line-height: 1.35;
  }

  .cart-drawer .cart-item-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 118px;
  }

  .cart-drawer .cart-item-info h3 {
    margin: 0;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: -.01em;
  }

  .cart-drawer .cart-item-meta {
    margin: 8px 0 14px;
    color: #77736a;
    font-size: 12px;
    line-height: 1.5;
  }

  .cart-drawer .cart-item-controls {
    display: flex;
    align-items: center;
    gap: 14px;
  }

  .cart-drawer .mini-qty,
  .cart-drawer .qty-actions {
    transform: none;
  }

  .cart-drawer .mini-qty {
    display: inline-grid;
    grid-template-columns: 34px 38px 34px;
    height: 36px;
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
  }

  .cart-drawer .mini-qty button {
    border: 0;
    background: #faf9f6;
    color: var(--ink);
    cursor: pointer;
  }

  .cart-drawer .mini-qty strong {
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 700;
  }

  .cart-drawer .cart-stock {
    font-size: 11px;
    color: #8a877f;
  }

  .cart-drawer .cart-item-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 10px;
    min-width: 130px;
    text-align: right;
  }

  .cart-drawer .cart-item-price > strong {
    font-size: 16px;
    line-height: 1.2;
    white-space: nowrap;
  }

  .cart-drawer .cart-item-price .remove-item {
    border: 0;
    background: transparent;
    padding: 0;
    color: #8a877f;
    font-size: 11px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
  }

  .cart-drawer .cart-item-price .remove-item:hover {
    color: #8a4b42;
  }

  .cart-drawer .coupon-box {
    width: 100%;
    max-width: 680px;
    margin-top: 28px;
  }

  .cart-drawer .coupon-entry {
    max-width: 560px;
  }

  .cart-drawer .cart-aside {
    position: sticky;
    top: 0;
    min-width: 0;
  }

  .cart-drawer .cart-aside-card {
    border: 1px solid var(--line);
    background: #faf9f5;
    padding: 24px;
  }

  .cart-drawer .cart-aside-card > h3 {
    margin: 7px 0 18px;
    font-family: 'Fraunces', Georgia, serif;
    font-size: 27px;
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: -.025em;
  }

  .cart-drawer .cart-aside .cart-summary {
    margin-top: 0;
  }

  .cart-drawer .cart-aside .cart-summary > div {
    padding: 9px 0;
  }

  .cart-drawer .cart-aside .cart-total-final {
    margin-top: 10px;
    padding-top: 16px;
  }

  .cart-drawer .cart-aside .cart-total-final span {
    font-size: 13px;
    font-weight: 600;
  }

  .cart-drawer .cart-aside .cart-total-final strong {
    font-size: 24px;
  }

  .cart-drawer .cart-foot {
    width: 100%;
    padding: 16px clamp(28px, 5vw, 84px) 20px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: flex-end;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
  }

  .cart-drawer .cart-foot .cart-total {
    display: none;
  }

  .cart-drawer .cart-foot .btn-wide {
    width: 320px;
    min-width: 0;
    min-height: 50px;
    border-radius: 999px;
    font-size: 13px;
  }

  .cart-drawer .empty-cart {
    width: min(620px, 100%);
    margin: 90px auto;
    text-align: center;
  }
}

@media (min-width: 901px) and (max-height: 850px) {
  .cart-drawer .cart-list { max-height: 48vh; }
  .cart-drawer .cart-item { min-height: 126px; padding: 15px 0; }
  .cart-drawer .cart-thumb { height: 118px; width: 104px; }
  .cart-drawer .cart-item-info { min-height: 100px; }
}

@media (max-width: 900px) {
  .cart-drawer .cart-layout { display: block; }
  .cart-drawer .cart-aside { margin-top: 24px; }
}


/* Candeeiro — identidade visual oficial 40.8.0 */
:root{--ink:#24150e;--muted:#746961;--paper:#f6f1e7;--white:#fff;--line:#e5dbcd;--green:#542508;--gold:#a87448;--radius:22px;--shadow:0 18px 60px rgba(65,33,12,.08)}
.brand>img{display:block;width:34px;height:40px;max-width:34px;max-height:40px;min-width:0;object-fit:contain;object-position:center;flex:0 0 34px}.brand-logo-system{width:34px;height:40px;max-width:34px;max-height:40px;object-fit:contain;display:block}
.brand b{font-family:'Bodoni Moda',Georgia,serif;font-weight:600;font-size:22px;letter-spacing:-.03em}
.brand small{font-family:'Archivo',sans-serif;text-transform:none;letter-spacing:.08em}
.section h2,.editorial-copy h2,.two-col h2,.newsletter h2,.hero h1,.drawer-head h2,.modal-card h2{font-family:'Bodoni Moda',Georgia,serif}

/* 40.8.4 — proporção e escala da marca no cabeçalho */
@media (max-width:580px){.brand>img{width:30px;height:34px;max-width:30px;max-height:34px;flex-basis:30px}}
