/* ==========================================================
   RAPHAEL — Design System
   Premium · Minimalista · Tecnológico · Editorial
   ========================================================== */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");

:root{
  --black:#0A0A0A;
  --offwhite:#F7F7F5;
  --gray:#6B6B6B;
  --gray-light:#E8E8E5;
  --white:#FFFFFF;
  --accent:#B8FF3D;

  --bg:var(--offwhite);
  --fg:var(--black);

  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --container:1320px;
  --gutter:clamp(20px,5vw,64px);

  --ease:cubic-bezier(.22,.61,.36,1);
  --t-fast:220ms;
  --t-med:500ms;
  --t-slow:800ms;

  --header-h:84px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font);
  background:var(--bg);
  color:var(--fg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;}
input,select{font-family:inherit;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p{margin:0;}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding-left:var(--gutter);
  padding-right:var(--gutter);
}
.container--wide{max-width:1560px;}

.section{
  padding:clamp(36px,4.2vw,60px) 0;
}
.section--tight{padding:clamp(32px,4vw,52px) 0;}
.br-mobile{display:none;}
@media (min-width:921px){
  .br-m{display:none;}
  .details-head .details-head-left{max-width:none;}
  .details-head .details-intro{max-width:none;white-space:nowrap;}
}

.eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gray);
  margin-bottom:18px;
}
.eyebrow .num{
  color:var(--black);
  font-weight:700;
}
.eyebrow::before{
  content:"";
  width:22px;height:1px;
  background:var(--black);
}
a:focus-visible,button:focus-visible{outline:2px solid var(--black);outline-offset:3px;}

.section-title{
  font-size:clamp(30px,4.2vw,54px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-0.02em;
  text-wrap:balance;
}
.section-text{
  text-wrap:pretty;
  font-size:clamp(15px,1.3vw,18px);
  line-height:1.6;
  color:#4a4a4a;
  font-weight:400;
  max-width:46ch;
}

.divider{
  height:1px;
  background:var(--gray-light);
  border:none;
  width:100%;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:18px 34px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:2px;
  border:1px solid transparent;
  transition:transform var(--t-fast) var(--ease), background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
  white-space:nowrap;
}
.btn:active{transform:scale(.98);}
.btn-primary{
  background:var(--black);
  color:var(--white);
}
.btn-primary:hover{background:#1c1c1c;}
.btn-secondary{
  background:transparent;
  color:var(--black);
  border-color:var(--black);
}
.btn-secondary:hover{background:var(--black);color:var(--white);}
.btn-light{
  background:var(--white);
  color:var(--black);
}
.btn-light:hover{background:var(--accent);}
.btn-block{width:100%;}
.btn-arrow{transition:transform var(--t-fast) var(--ease);}
.btn:hover .btn-arrow{transform:translateX(4px);}

/* ---------- Header ---------- */
.header{
  position:fixed;
  top:0;left:0;right:0;
  height:var(--header-h);
  display:flex;
  align-items:center;
  z-index:100;
  background:transparent;
  transition:background var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
  border-bottom:1px solid transparent;
}
.header.is-scrolled{
  background:rgba(247,247,245,.86);
  backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom-color:var(--gray-light);
}
.header-inner{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.header-logo{
  display:flex;
  align-items:center;
  gap:11px;
  font-weight:800;
  font-size:18px;
  letter-spacing:.06em;
}
.header-logo img{height:58px;width:auto;}
@media (max-width:920px){.header-logo img{height:46px;}}
.header-nav{
  display:flex;
  gap:40px;
}
.header-nav a{
  font-size:13px;
  font-weight:500;
  letter-spacing:.02em;
  color:var(--fg);
  opacity:.72;
  position:relative;
  transition:opacity var(--t-fast) var(--ease);
}
.header-nav a::after{
  content:"";
  position:absolute;
  left:0;bottom:-6px;
  width:0;height:1px;
  background:var(--fg);
  transition:width var(--t-fast) var(--ease);
}
.header-nav a:hover{opacity:1;}
.header-nav a:hover::after{width:100%;}
.header-actions{
  display:flex;
  align-items:center;
  gap:22px;
}
.header-cart{
  position:relative;
  display:inline-flex;
  opacity:.85;
}
.header-cart-count{
  position:absolute;
  top:-6px;right:-8px;
  background:var(--black);
  color:var(--white);
  font-size:10px;
  font-weight:700;
  width:16px;height:16px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.header-cart{
  background:none;
  border:none;
  padding:4px;
}
.header-cart svg{display:block;}

/* ---------- Página do carrinho (/carrinho/) ---------- */
.cart-page{
  padding:clamp(48px,8vw,88px) 0 clamp(64px,10vw,120px);
}
.cart-page-title{
  font-size:clamp(26px,3.4vw,38px);
  font-weight:800;
  letter-spacing:-.01em;
}
.cart-page-divider{
  margin-top:24px;
  height:1px;
  background:var(--gray-light);
  border:none;
}
.cart-lines{max-width:900px;margin:0 auto;}
.cart-line-full{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:28px 0;
  border-bottom:1px solid var(--gray-light);
}
.cart-line-full-left{
  display:flex;
  gap:18px;
}
.cart-line-thumb{
  width:84px;height:100px;
  border-radius:3px;
  overflow:hidden;
  background:var(--black);
  flex-shrink:0;
}
.cart-line-thumb img,.cart-line-thumb .ph{width:100%;height:100%;object-fit:cover;}
.cart-line-full-title{font-size:16px;font-weight:700;}
.cart-line-full-meta{
  margin-top:4px;
  font-size:13px;
  color:var(--gray);
  line-height:1.6;
}
.cart-line-actions{
  display:flex;
  gap:18px;
  margin-top:14px;
}
.cart-line-actions a,.cart-line-actions button{
  font-size:13px;
  font-weight:600;
  color:var(--gray);
  background:none;
  border:none;
  padding:0;
}
.cart-line-actions a:hover{color:var(--fg);}
.cart-line-remove-btn{color:#b23b3b;}
.cart-line-remove-btn:hover{color:#8f2c2c;}
.cart-line-full-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:16px;
}
.qty-stepper{
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid var(--gray-light);
  border-radius:999px;
  padding:6px 16px;
}
.qty-stepper button{
  background:none;border:none;
  font-size:16px;
  color:var(--fg);
  width:16px;
  line-height:1;
}
.qty-stepper button:disabled{opacity:.3;}
.qty-stepper span{font-size:14px;font-weight:700;min-width:12px;text-align:center;}
.cart-line-full-price{font-size:15px;font-weight:700;}

.cart-total-row{
  display:flex;
  justify-content:flex-end;
  align-items:baseline;
  gap:16px;
  margin-top:8px;
  padding-top:24px;
}
.cart-total-row .label{font-size:14px;font-weight:600;color:var(--gray);}
.cart-total-row .value{font-size:20px;font-weight:800;}

.cart-confirm{
  display:flex;
  justify-content:center;
  margin-top:40px;
}
.cart-confirm .btn{padding:18px 56px;}

.cart-empty-state{
  text-align:center;
  padding:60px 0;
}
.cart-empty-state p{color:var(--gray);margin-bottom:20px;}

/* ---------- Checkout: informações pessoais ---------- */
.checkout-personal{
  max-width:900px;
  margin:0 auto;
  padding-top:8px;
}
.checkout-section-title{
  font-size:20px;
  font-weight:800;
  letter-spacing:-.01em;
}
.checkout-form-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  max-width:640px;
  margin:28px auto 0;
}
.checkout-input{
  padding:14px 16px;
  border:1px solid var(--gray-light);
  border-radius:6px;
  font-size:14px;
  font-family:inherit;
  color:var(--fg);
  background:var(--white);
  transition:border-color var(--t-fast) var(--ease);
}
.checkout-input::placeholder{color:var(--gray);}
.checkout-input:focus{outline:none;border-color:var(--fg);}
.checkout-input.is-invalid{border-color:#b23b3b;}
.checkout-error{
  margin-top:14px;
  text-align:center;
  font-size:13px;
  font-weight:600;
  color:#b23b3b;
  min-height:16px;
}
.checkout-continue{
  display:flex;
  justify-content:center;
  margin-top:22px;
}
.checkout-continue .btn{padding:16px 48px;}
.checkout-locked{
  display:flex;
  align-items:center;
  max-width:900px;
  margin:0 auto;
  padding:20px 0;
  font-size:17px;
  font-weight:700;
  color:var(--gray-light);
}
.checkout-step-badge--locked{
  background:var(--gray-light);
  color:var(--white);
}

.checkout-summary{max-width:900px;margin:0 auto;padding-top:8px;}
.checkout-summary-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.checkout-alter-btn{
  background:none;border:none;
  font-size:13px;
  font-weight:600;
  color:var(--fg);
  text-decoration:underline;
  text-underline-offset:3px;
}
.checkout-alter-btn:hover{color:var(--gray);}
.checkout-summary-line{
  margin-top:6px;
  font-size:13.5px;
  color:var(--gray);
}

.checkout-cep-row{
  max-width:280px;
  margin:28px auto 0;
}
.checkout-cep-hint{
  margin-top:10px;
  text-align:center;
  font-size:12.5px;
  color:var(--gray);
}
.checkout-address .checkout-form-grid{max-width:680px;}
.checkout-input:disabled{
  background:var(--offwhite);
  color:var(--gray);
}

.checkout-address-summary{max-width:900px;margin:0 auto;padding-top:8px;}
.address-card{
  max-width:420px;
  margin-top:24px;
  padding:22px;
  border:1px solid var(--gray-light);
  border-radius:6px;
}
.address-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
}
.address-card-title{font-size:14px;font-weight:700;}
.address-card-line{
  font-size:13px;
  color:var(--gray);
  line-height:1.6;
}
.checkout-add-address-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:16px;
  background:none;
  border:none;
  font-size:13px;
  font-weight:600;
  color:var(--fg);
  text-decoration:underline;
  text-underline-offset:3px;
}
.checkout-add-address-btn:hover{color:var(--gray);}

.checkout-shipping{max-width:900px;margin:0 auto;padding-top:8px;}
.shipping-options{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:480px;
  margin:24px auto 0;
}
.shipping-option{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:16px 20px;
  border:1px solid var(--gray-light);
  border-radius:6px;
  cursor:pointer;
  transition:border-color var(--t-fast) var(--ease);
}
.shipping-option:hover{border-color:var(--gray);}
.shipping-option.is-active{border-color:var(--fg);border-width:1.5px;}
.shipping-option-title{font-size:14px;font-weight:700;}
.shipping-option-meta{margin-top:2px;font-size:12.5px;color:var(--gray);}
.shipping-option-price{font-size:14px;font-weight:700;color:#4a8f3c;white-space:nowrap;}
.shipping-option-price-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
}
.shipping-option-price-old{
  font-size:12px;
  color:var(--gray);
  text-decoration:line-through;
}
.shipping-option--pending{opacity:.6;cursor:default;}
.shipping-option--pending:hover{border-color:var(--gray-light);}
.shipping-option--pending .shipping-option-price{color:var(--gray);}

.checkout-step-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;height:24px;
  margin-right:8px;
  border-radius:50%;
  background:var(--black);
  color:var(--accent);
  font-size:12px;
  font-weight:700;
  vertical-align:middle;
}

.checkout-payment{max-width:900px;margin:0 auto;padding-top:8px;}
.checkout-payment-note{
  margin-top:12px;
  font-size:13.5px;
  color:var(--gray);
  max-width:440px;
}
.checkout-payment-placeholder{padding-top:12px;}
.checkout-payment-note code{
  background:var(--gray-light);
  padding:1px 5px;
  border-radius:3px;
  font-size:12px;
}

/* ---------- Pix (QR code) ---------- */
.pix-payment{max-width:420px;margin:0 auto;text-align:center;padding-top:8px;}
.pix-icon{
  width:56px;height:56px;
  margin:0 auto 16px;
  border-radius:50%;
  border:1px solid var(--gray-light);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
  font-weight:700;
  color:var(--gray);
}
.pix-note{margin-top:10px;font-size:14px;color:var(--gray);}
.pix-qr-card{
  margin-top:28px;
  padding:24px;
  border:1px solid var(--gray-light);
  border-radius:8px;
  background:var(--white);
}
.pix-qr-image{width:180px;height:180px;margin:0 auto;}
.pix-copy-row{
  display:flex;
  gap:10px;
  margin-top:18px;
  align-items:center;
}
.pix-copy-row .checkout-input{
  flex:1;
  font-size:11.5px;
  padding:10px 12px;
  text-overflow:ellipsis;
}
.pix-steps{
  margin:20px 0 0;
  padding-left:18px;
  text-align:left;
  font-size:12.5px;
  color:var(--gray);
  line-height:1.8;
}
.pix-waiting{
  margin-top:20px;
  font-size:13px;
  color:var(--gray);
}

.final-summary-wrap{
  max-width:900px;
  margin:0 auto;
}
.final-summary{
  max-width:420px;
  margin-left:auto;
}
.final-summary-row{
  display:flex;
  justify-content:space-between;
  font-size:13.5px;
  color:var(--gray);
  padding:6px 0;
}
.final-summary-frete{color:#4a8f3c;font-weight:600;}
.final-summary-total{
  display:flex;
  justify-content:space-between;
  margin-top:10px;
  padding-top:14px;
  border-top:1px solid var(--gray-light);
  font-size:16px;
  font-weight:800;
}

/* ---------- Página de status do pedido (pedido-confirmado/) ---------- */
.order-status-page{padding:clamp(64px,10vw,120px) 0 clamp(80px,12vw,160px);}
.order-status{
  max-width:480px;
  margin:0 auto;
  text-align:center;
}
.order-status-icon{
  width:56px;height:56px;
  margin:0 auto 24px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:26px;
  font-weight:700;
}
.order-status-icon--ok{background:rgba(184,255,61,.28);color:#4a8f3c;}
.order-status-icon--pending{background:var(--gray-light);color:var(--gray);}
.order-status-icon--fail{background:#f6dede;color:#b23b3b;}
.order-status-title{
  font-size:clamp(24px,3vw,32px);
  font-weight:800;
  letter-spacing:-.01em;
}
.order-status-text{
  margin-top:14px;
  font-size:14.5px;
  color:var(--gray);
  line-height:1.6;
}
.order-status-ref{
  margin-top:16px;
  font-size:12px;
  color:var(--gray);
}

.header-burger{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  padding:4px;
}
.header-burger span{
  width:20px;height:1.5px;background:var(--fg);
  transition:transform var(--t-fast) var(--ease), opacity var(--t-fast) var(--ease);
}
.header-burger.is-active span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.header-burger.is-active span:nth-child(2){opacity:0;}
.header-burger.is-active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.mobile-menu{
  position:fixed;
  inset:0;
  background:var(--offwhite);
  z-index:99;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:28px;
  padding:0 32px;
  transform:translateY(-100%);
  transition:transform var(--t-med) var(--ease);
}
.mobile-menu.is-open{transform:translateY(0);}
.mobile-menu a{
  font-size:32px;
  font-weight:700;
  letter-spacing:-.01em;
}
.mobile-menu .btn{margin-top:12px;align-self:flex-start;}

/* ---------- Hero ---------- */
.hero{
  padding-top:calc(var(--header-h) + 28px);
  min-height:100svh;
  display:flex;
  align-items:center;
}
.hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(24px,5vw,64px);
  align-items:center;
  width:100%;
}
.hero-copy{max-width:600px;}
.hero-headline{
  font-size:clamp(36px,4.3vw,62px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-0.025em;
}
.hero-headline span{display:block;}
@media (min-width:921px){.hero-headline span{white-space:nowrap;}}
.hero-sub{
  margin-top:22px;
  font-size:clamp(15px,1.4vw,18px);
  line-height:1.6;
  color:#4a4a4a;
  max-width:42ch;
}
.hero-ctas{
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:36px;
  flex-wrap:wrap;
}
.hero-cta-secondary{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  font-weight:500;
  letter-spacing:.02em;
  color:var(--gray);
  transition:color var(--t-fast) var(--ease);
}
.hero-cta-secondary:hover{color:var(--fg);}
.hero-cta-secondary-arrow{
  font-size:12px;
  transition:transform var(--t-fast) var(--ease);
}
.hero-cta-secondary:hover .hero-cta-secondary-arrow{transform:translateY(2px);}
.hero-price-note{
  margin-top:22px;
  font-size:13px;
  color:var(--gray);
  letter-spacing:.01em;
}
.hero-price-note b{color:var(--fg);font-weight:700;}

.hero-color-label{
  margin-top:34px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gray);
}
.hero-color-select{
  display:flex;
  gap:10px;
  margin-top:12px;
}
.color-pill{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 18px 10px 12px;
  border-radius:999px;
  border:1px solid var(--gray-light);
  background:var(--white);
  font-size:12px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.color-pill .dot{
  width:14px;height:14px;
  border-radius:50%;
  border:1px solid var(--gray-light);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.color-pill[data-active="true"]{
  border-color:var(--fg);
  background:var(--fg);
  color:var(--white);
}
.color-pill[data-active="true"] .dot{border-color:rgba(255,255,255,.4);}

.hero-visual{
  position:relative;
  aspect-ratio:4/5;
  border-radius:4px;
  overflow:hidden;
  background:var(--black);
}
.hero-visual-img{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.04);
  transition:opacity var(--t-med) var(--ease), transform var(--t-med) var(--ease);
}
.hero-visual-img.is-active{opacity:1;transform:scale(1);}

/* ---------- Image placeholder (until real photos are added) ---------- */
.ph{
  position:relative;
  width:100%;height:100%;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,0) 40%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 1px, transparent 1px 26px),
    var(--black);
  color:rgba(255,255,255,.7);
  overflow:hidden;
}
.ph.ph-light{
  background:
    linear-gradient(160deg, rgba(0,0,0,.04), rgba(0,0,0,0) 40%),
    repeating-linear-gradient(135deg, rgba(0,0,0,.05) 0 1px, transparent 1px 26px),
    var(--gray-light);
  color:rgba(0,0,0,.55);
}
.ph-label{
  padding:16px 18px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.4;
  text-transform:uppercase;
}
.ph-tag{
  position:absolute;
  top:14px;left:14px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:5px 9px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
}
.ph-light .ph-tag{border-color:rgba(0,0,0,.18);}
.ph-icon{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:34px;height:34px;
  opacity:.5;
}

/* ---------- Showcase / editorial ---------- */
.showcase-head-centered{
  text-align:center;
  max-width:600px;
  margin:0 auto 44px;
}
.showcase-head-centered .section-title{
  margin-top:10px;
  font-size:clamp(26px,3vw,40px);
}
@media (min-width:921px){
  .showcase-head-centered{max-width:760px;}
  .showcase-head-centered .section-title{white-space:nowrap;}
}
.showcase-head-centered .section-text{margin-top:18px;color:var(--gray);}
#camiseta{scroll-margin-top:var(--header-h);}

.showcase-carousel{
  position:relative;
}
.showcase-track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.showcase-track::-webkit-scrollbar{display:none;}
.showcase-card{
  flex:1 1 0;
  min-width:190px;
  scroll-snap-align:start;
}
.showcase-card-media{
  aspect-ratio:3/4;
  border-radius:3px;
  overflow:hidden;
}
.showcase-card-media img,.showcase-card-media .ph{
  width:100%;height:100%;object-fit:cover;
  transition:transform var(--t-slow) var(--ease);
}
.showcase-card:hover .showcase-card-media img,
.showcase-card:hover .showcase-card-media .ph{transform:scale(1.045);}
.showcase-card-title{
  margin-top:14px;
  font-size:15px;
  font-weight:700;
  letter-spacing:-.005em;
}
.showcase-card-subtitle{
  margin-top:3px;
  font-size:13.5px;
  line-height:1.4;
  color:var(--gray);
}

.carousel-arrow{
  display:none !important;
  position:absolute;
  top:38%;
  transform:translateY(-50%);
  width:40px;height:40px;
  border-radius:50%;
  background:var(--white);
  border:1px solid var(--gray-light);
  display:flex;align-items:center;justify-content:center;
  z-index:2;
  color:var(--fg);
  box-shadow:0 6px 16px rgba(10,10,10,.08);
  transition:background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.carousel-arrow:hover{background:var(--black);color:var(--white);}
.carousel-arrow:active{transform:translateY(-50%) scale(.94);}
.carousel-arrow--prev{left:-20px;}
.carousel-arrow--next{right:-20px;}

/* ---------- Details grid ---------- */
.details-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:32px;
  margin-bottom:48px;
}
.details-head-left{max-width:520px;}
.details-head-right{
  text-align:right;
  flex-shrink:0;
  padding-top:4px;
}
.details-tagline{
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.6;
}
.details-divider{
  display:inline-block;
  width:28px;
  height:1px;
  background:var(--gray-light);
  margin:14px 0;
}
.details-brandtag{
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gray);
  line-height:1.6;
}

.details-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.detail-card{
  border-radius:3px;
  overflow:hidden;
  background:var(--white);
}
.detail-card-media{
  aspect-ratio:4/5;
  overflow:hidden;
}
.detail-card-media img,.detail-card-media .ph{
  width:100%;height:100%;object-fit:cover;
  transition:transform var(--t-slow) var(--ease);
}
.detail-card:hover .detail-card-media img,
.detail-card:hover .detail-card-media .ph{transform:scale(1.05);}
.detail-card-tag{
  padding:18px 4px 0;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gray);
}
.detail-card-title{
  padding:8px 4px 0;
  font-size:16px;
  font-weight:700;
  letter-spacing:-.01em;
  line-height:1.3;
}
.detail-card-divider{
  display:block;
  width:24px;
  height:1px;
  margin:14px 4px 4px;
  background:var(--gray-light);
}

/* ---------- Color comparison ---------- */
.compare-layout{
  display:grid;
  grid-template-columns:0.6fr 1fr;
  gap:clamp(28px,5vw,64px);
  align-items:center;
}
.compare-intro{max-width:360px;}
.compare-cta{margin-top:28px;}

.compare{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  border-radius:4px;
  overflow:hidden;
}
.compare-side{
  position:relative;
  aspect-ratio:3/4;
  overflow:hidden;
  border-radius:4px;
}
.compare-side img,.compare-side .ph{
  width:100%;height:100%;object-fit:cover;
  transition:transform var(--t-slow) var(--ease);
}
.compare-side:hover img,.compare-side:hover .ph{transform:scale(1.05);}
.compare-copy{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:clamp(24px,4vw,48px);
  z-index:2;
}
.compare-side--dark .compare-copy{color:var(--black);text-shadow:0 0 18px rgba(255,255,255,.85);}
.compare-side--light .compare-copy{color:var(--white);text-shadow:0 1px 16px rgba(0,0,0,.55);}
.compare-copy .k{
  font-size:clamp(20px,2.2vw,28px);
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.compare-copy .l{
  font-size:14px;
  font-weight:400;
  opacity:.85;
}
.compare-copy-divider{
  display:block;
  width:36px;
  height:1px;
  margin-top:16px;
  background:currentColor;
  opacity:.5;
}
.compare-side::before{
  content:"";
  position:absolute;inset:0;
  z-index:1;
}
.compare-side--dark::before{
  background:linear-gradient(to top, rgba(247,247,245,.9), rgba(247,247,245,.5) 20%, transparent 42%);
}
.compare-side--light::before{
  background:linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,.4) 22%, transparent 46%);
}

/* ---------- Why more than one ---------- */
.why-block{
  text-align:center;
  max-width:760px;
  margin:0 auto;
}
.why-title{
  font-size:clamp(28px,4vw,46px);
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.02em;
}
.why-title em{
  font-style:normal;
  color:var(--gray);
}
@media (min-width:921px){
  .why-block{max-width:1100px;}
  .why-title{
    font-size:clamp(20px,2vw,30px);
    white-space:nowrap;
  }
}
.why-text{
  margin-top:20px;
  font-size:clamp(15px,1.3vw,17px);
  line-height:1.65;
  color:#4a4a4a;
}

.why-banner{
  position:relative;
  min-height:clamp(400px,58vw,820px);
  overflow:hidden;
}
.why-banner-media{
  position:absolute;inset:0;
  width:100%;height:100%;
}
.why-banner-media img,.why-banner-media .ph{width:100%;height:100%;object-fit:cover;}
.why-banner-media-mobile{display:none;}

@media (max-width:920px){
  .why-banner{min-height:clamp(280px,90vw,420px);}
  .why-banner-media-desktop{display:none;}
  .why-banner-media-mobile{display:block;}
}

/* ---------- Kit pricing ---------- */
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.price-card{
  position:relative;
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:4px;
  padding:34px 28px;
  display:flex;
  flex-direction:column;
  gap:18px;
  transition:border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.price-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(10,10,10,.06);}
.price-card--highlight{
  border-color:var(--black);
  background:var(--black);
  color:var(--white);
}
.price-badge{
  position:absolute;
  top:-13px;left:28px;
  background:var(--accent);
  color:var(--black);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  padding:6px 12px;
  border-radius:999px;
}
.price-card-qty{
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--gray);
}
.price-card--highlight .price-card-qty{color:rgba(255,255,255,.55);}
.price-card-total{
  font-size:clamp(28px,3vw,36px);
  font-weight:800;
  letter-spacing:-.02em;
}
.price-card-unit{
  font-size:14px;
  color:var(--gray);
}
.price-card--highlight .price-card-unit{color:rgba(255,255,255,.6);}
.price-card-save{
  display:inline-flex;
  align-self:flex-start;
  font-size:12px;
  font-weight:700;
  color:#5c8f00;
  background:rgba(184,255,61,.28);
  padding:6px 11px;
  border-radius:999px;
}
.price-card--highlight .price-card-save{
  color:var(--accent);
  background:rgba(184,255,61,.14);
}
.price-card .btn{margin-top:auto;}

/* ---------- Avaliações ---------- */
.reviews-empty{
  text-align:center;
  padding:32px 0;
  color:var(--gray);
  font-size:15px;
}
.reviews-summary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:36px;
}
.reviews-avg{font-size:22px;font-weight:800;}
.reviews-count{font-size:13px;color:var(--gray);}
.stars{color:var(--accent);letter-spacing:2px;filter:brightness(.75) saturate(1.4);}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.review-card{
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:4px;
  padding:26px;
}
.review-text{
  margin-top:12px;
  font-size:14px;
  line-height:1.6;
  color:#333;
}
.review-author{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
}
.review-avatar{
  width:30px;height:30px;
  border-radius:50%;
  background:var(--black);
  color:var(--white);
  font-size:12px;
  font-weight:700;
  display:flex;align-items:center;justify-content:center;
  text-transform:uppercase;
}
.review-name{font-size:13px;font-weight:600;}

/* ---------- Trust section ---------- */
.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.trust-item{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:22px 0;
  border-top:1px solid var(--gray-light);
}
.trust-item svg{opacity:.8;}
.trust-item span{
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
}

/* ---------- Selos de confiança (produto) ---------- */
.trust-badges{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
  text-align:center;
}
.trust-badge{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.trust-badge svg{color:var(--fg);margin-bottom:16px;}
.trust-badge-title{
  font-size:16px;
  font-weight:700;
  letter-spacing:-.01em;
}
.trust-badge-subtitle{
  margin-top:4px;
  font-size:13px;
  color:var(--gray);
}

/* ---------- Footer ---------- */
.footer{
  padding:56px 0 28px;
  background:var(--black);
  color:var(--white);
}
.footer-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:40px;
  padding-bottom:40px;
  flex-wrap:wrap;
}
.footer-logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-size:17px;
  letter-spacing:.05em;
}
.footer-logo img{height:64px;width:auto;filter:invert(1) brightness(2);}
.footer-cols{
  display:flex;
  gap:64px;
  flex-wrap:wrap;
}
.footer-col-title{
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.6);
  margin-bottom:14px;
}
.footer-col a{
  display:block;
  font-size:13px;
  color:rgba(255,255,255,.78);
  padding:6px 0;
  transition:color var(--t-fast) var(--ease);
}
.footer-col a:hover{color:var(--accent);}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:12.5px;
  color:rgba(255,255,255,.6);
  flex-wrap:wrap;
  gap:10px;
}

/* ---------- Reveal animation ---------- */
.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease);
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* ---------- Scroll progress ---------- */
.scroll-progress{
  position:fixed;
  top:0;left:0;
  height:2px;
  background:var(--accent);
  z-index:200;
  width:0%;
  transition:width 80ms linear;
}

/* ==========================================================
   PRODUCT PAGE
   ========================================================== */
.product-page{
  padding-top:var(--header-h);
}
.product-layout{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:clamp(24px,4vw,72px);
  align-items:flex-start;
  padding-top:36px;
  padding-bottom:80px;
}

/* Gallery */
.gallery-main{
  position:relative;
  aspect-ratio:4/5;
  border-radius:4px;
  overflow:hidden;
  background:var(--black);
}
.gallery-media{
  position:absolute;inset:0;
  width:100%;height:100%;
  opacity:0;
  transition:opacity var(--t-fast) var(--ease);
}
.gallery-media.is-active{opacity:1;}
.gallery-media .ph{width:100%;height:100%;}
.gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  margin-top:12px;
}
.gallery-thumb{
  aspect-ratio:1/1;
  border-radius:3px;
  overflow:hidden;
  border:1.5px solid transparent;
  opacity:.6;
  transition:opacity var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.gallery-thumb img,.gallery-thumb .ph{width:100%;height:100%;object-fit:cover;}
.gallery-thumb.is-active{opacity:1;border-color:var(--black);}
.gallery-thumb:hover{opacity:1;}

/* Buy panel */
.buy-panel{
  position:sticky;
  top:calc(var(--header-h) + 24px);
}
.buy-eyebrow{
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gray);
}
.buy-title{
  font-size:clamp(26px,2.6vw,34px);
  font-weight:800;
  letter-spacing:-.02em;
  margin-top:6px;
}
.buy-sub{
  margin-top:8px;
  font-size:14px;
  color:var(--gray);
}
.buy-price-row{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin-top:22px;
}
.buy-price{
  font-size:32px;
  font-weight:800;
  letter-spacing:-.02em;
}
.buy-price-unit{
  font-size:13px;
  color:var(--gray);
}
.buy-save{
  display:inline-flex;
  margin-top:8px;
  font-size:12px;
  font-weight:700;
  color:#5c8f00;
  background:rgba(184,255,61,.28);
  padding:5px 10px;
  border-radius:999px;
}

.buy-block{
  margin-top:30px;
}
.buy-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--fg);
  margin-bottom:12px;
}
.buy-label .hint{
  font-size:12px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  color:var(--gray);
  text-decoration:underline;
  text-underline-offset:3px;
}

.kit-options{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.kit-option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border:1px solid var(--gray-light);
  border-radius:3px;
  background:var(--white);
  transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.kit-option:hover{border-color:var(--gray);}
.kit-option[data-active="true"]{
  border-color:var(--black);
  background:var(--offwhite);
}
.kit-option-left{
  display:flex;
  align-items:center;
  gap:12px;
}
.kit-radio{
  width:17px;height:17px;
  border-radius:50%;
  border:1.5px solid var(--gray-light);
  position:relative;
  flex-shrink:0;
}
.kit-option[data-active="true"] .kit-radio{border-color:var(--black);}
.kit-option[data-active="true"] .kit-radio::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:var(--black);
}
.kit-option-label{font-size:14px;font-weight:600;}
.kit-option-tag{
  font-size:10px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--gray);
  background:var(--gray-light);
  padding:3px 8px;
  border-radius:999px;
  margin-left:8px;
}
.kit-option-right{text-align:right;}
.kit-option-price{font-size:14px;font-weight:700;}
.kit-option-unit{font-size:12px;color:var(--gray);}

.color-options{
  display:flex;
  gap:10px;
}
.color-option{
  display:flex;
  align-items:center;
  gap:9px;
  padding:11px 16px;
  border:1px solid var(--gray-light);
  border-radius:3px;
  font-size:13px;
  font-weight:600;
  background:var(--white);
  transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.color-option .dot{
  width:14px;height:14px;
  border-radius:50%;
  border:1px solid var(--gray-light);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.color-option[data-active="true"]{
  border-color:var(--black);
  background:var(--black);
  color:var(--white);
}
.color-option[data-active="true"] .dot{border-color:rgba(255,255,255,.4);}

.shirt-color-block{
  padding:14px 0;
  border-top:1px solid var(--gray-light);
}
.shirt-color-block:first-child{border-top:none;padding-top:0;}
.shirt-color-block-label{
  font-size:12px;
  font-weight:600;
  color:var(--gray);
  margin-bottom:10px;
}
.kit-preview-dots{
  display:flex;
  gap:6px;
  margin-top:14px;
}
.kit-preview-dots .dot{
  width:12px;height:12px;
  border-radius:50%;
  border:1px solid var(--gray-light);
}

.size-options{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
.size-option{
  padding:13px 0;
  text-align:center;
  border:1px solid var(--gray-light);
  border-radius:3px;
  font-size:13px;
  font-weight:700;
  background:var(--white);
  transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.size-option:hover{border-color:var(--gray);}
.size-option[data-active="true"]{
  border-color:var(--black);
  background:var(--black);
  color:var(--white);
}

.buy-feedback{
  margin-top:10px;
  font-size:12.5px;
  font-weight:600;
  color:#b23b3b;
  min-height:16px;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.buy-feedback.is-visible{opacity:1;transform:translateY(0);}

.order-summary{
  margin-top:28px;
  padding:20px;
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:4px;
}
.order-summary-title{
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--gray);
  margin-bottom:14px;
}
.order-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:9px 0;
  font-size:13.5px;
  border-top:1px solid var(--gray-light);
}
.order-line:first-of-type{border-top:none;}
.order-line-name{font-weight:600;}
.order-line-meta{color:var(--gray);font-size:12px;}
.order-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--gray-light);
  font-size:15px;
  font-weight:800;
}

.buy-cta{
  margin-top:22px;
}
.buy-cta .btn{
  padding:20px;
  font-size:13.5px;
}

.trust-mini{
  margin-top:22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.trust-mini-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:var(--gray);
  font-weight:500;
}

/* Size guide modal */
.modal-overlay{
  position:fixed;inset:0;
  background:rgba(10,10,10,.5);
  backdrop-filter:blur(2px);
  z-index:300;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  pointer-events:none;
  transition:opacity var(--t-fast) var(--ease);
}
.modal-overlay.is-open{opacity:1;pointer-events:auto;}
.modal{
  background:var(--white);
  border-radius:6px;
  max-width:520px;
  width:100%;
  padding:36px;
  transform:translateY(14px) scale(.98);
  transition:transform var(--t-fast) var(--ease);
  max-height:86vh;
  overflow-y:auto;
}
.modal-overlay.is-open .modal{transform:translateY(0) scale(1);}
.modal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:20px;
}
.modal-title{font-size:20px;font-weight:800;}
.modal-close{
  background:none;border:none;
  font-size:22px;
  line-height:1;
  opacity:.5;
  padding:4px;
}
.modal-close:hover{opacity:1;}
.size-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
.size-table th,.size-table td{
  padding:10px 8px;
  text-align:left;
  border-bottom:1px solid var(--gray-light);
}
.size-table th{
  font-weight:700;
  color:var(--gray);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.05em;
}
.modal-note{
  margin-top:16px;
  font-size:12.5px;
  color:var(--gray);
  line-height:1.5;
}

/* Sticky mobile CTA */
.sticky-cta{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:150;
  background:rgba(247,247,245,.92);
  backdrop-filter:blur(14px);
  border-top:1px solid var(--gray-light);
  padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  transform:translateY(100%);
  transition:transform var(--t-med) var(--ease);
}
.sticky-cta.is-visible{transform:translateY(0);}
.sticky-cta-price{
  font-size:16px;
  font-weight:800;
}
.sticky-cta-price small{
  display:block;
  font-size:11.5px;
  font-weight:600;
  color:var(--gray);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.sticky-cta .btn{padding:14px 18px;flex:1;max-width:240px;font-size:12px;}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .details-grid{grid-template-columns:repeat(2,1fr);}
  .trust-grid{grid-template-columns:repeat(2,1fr);}
  .details-head{flex-direction:column;gap:20px;}
  .details-head-right{text-align:left;}
  .details-divider{margin:10px 0;}
}

@media (max-width:920px){
  .header-nav{display:none;}
  .header-burger{display:flex;}
  .header-actions .btn-primary{display:none;}
  .hero-grid{grid-template-columns:1fr;}
  .hero{min-height:auto;padding-bottom:40px;}
  .hero-visual{order:-1;aspect-ratio:1/1;}
  .hero-visual-img{object-position:50% 18%;}
  .hero-headline{font-size:clamp(28px,8.4vw,44px);line-height:1.06;}
  .hero-ctas{margin-top:28px;}
  .hero-color-label{margin-top:26px;}
  .compare-layout{grid-template-columns:1fr;}
  .compare-intro{max-width:none;margin-bottom:28px;}
  .compare{grid-template-columns:1fr;}
  .compare-side{aspect-ratio:4/5;}
  .details-head-right{display:none;}
  .pricing-grid{grid-template-columns:1fr;}
  .product-layout{grid-template-columns:1fr;}
  .buy-panel{position:static;}
  .gallery-thumbs{grid-template-columns:repeat(5,1fr);}
  .sticky-cta{display:flex;}
  .trust-mini{display:none;}
  .footer-top{flex-direction:column;gap:28px;}
  .carousel-arrow{display:none;}
  .showcase-card{flex:0 0 auto;width:38vw;min-width:0;}
}

@media (max-width:640px){
  .details-grid{grid-template-columns:repeat(2,1fr);}
  .trust-grid{grid-template-columns:1fr 1fr;}
  .size-options{grid-template-columns:repeat(5,1fr);}
  .footer-cols{gap:32px;}
  .kit-option-tag{display:none;}
  .reviews-grid{grid-template-columns:1fr;}
  .trust-badges{grid-template-columns:repeat(3,1fr);gap:8px;}
  .trust-badge svg{width:24px;height:24px;margin-bottom:10px;}
  .trust-badge-title{font-size:13px;line-height:1.25;}
  .trust-badge-subtitle{font-size:11px;line-height:1.3;}
  .cart-line-full{flex-direction:column;gap:16px;}
  .cart-line-full-right{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%;}
  .checkout-form-grid{grid-template-columns:1fr;}
}

/* Painel de compra mais compacto no desktop (botão visível sem rolar) */
@media (min-width:921px){
  .buy-price-row{margin-top:14px;}
  .buy-block{margin-top:20px;}
  .buy-label{margin-bottom:9px;}
  .kit-options{gap:8px;}
  .kit-option{padding:10px 14px;}
  .color-option{padding:9px 14px;}
  .size-option{padding:10px 0;}
  .buy-feedback{margin-top:6px;min-height:0;}
  .order-summary{margin-top:14px;padding:14px 16px;}
  .order-summary-title{margin-bottom:8px;}
  .order-total{margin-top:8px;padding-top:10px;}
  .buy-cta{margin-top:14px;}
  .buy-cta .btn{padding:17px;}
  .trust-mini{margin-top:14px;}
}

/* Desktop: página do produto inteira em uma tela */
.trust-mini-item svg{width:20px;height:20px;flex-shrink:0;color:var(--fg);}
.trust-mini-title{font-size:13px;font-weight:700;color:var(--fg);}
.trust-mini-sub{font-size:12px;color:var(--gray);}
@media (min-width:921px){
  .trust-section{display:none;}
  .product-layout{padding-bottom:36px;align-items:start;}
  .gallery-main{
    aspect-ratio:auto;
    height:calc(100svh - var(--header-h) - 72px);
    min-height:480px;
    max-height:900px;
  }
  .trust-mini{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-light);}
  .trust-mini-item{flex-direction:column;align-items:center;text-align:center;gap:3px;}
}
@media (min-width:921px) and (max-height:900px){
  .buy-sub{display:none;}
  .order-summary-title{display:none;}
  .trust-mini-sub{display:none;}
}
@media (min-width:921px) and (max-height:800px){
  .order-summary{display:none;}
}

.gallery-media img{object-position:50% 6%;}

/* Desktop: foto do hero cabe na primeira tela (recorta a caixa em vez de vazar) */
@media (min-width:921px){
  .hero-visual{
    aspect-ratio:auto;
    height:calc(100svh - var(--header-h) - 104px);
    min-height:460px;
    max-height:860px;
  }
  .hero-visual-img{object-position:50% 8%;}
}

/* Hero com fundo de tela cheia (desktop) — só quando a cor ativa tem foto de fundo */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:none;}
.hero-grid{position:relative;z-index:1;}
@media (min-width:921px){
  .hero-bg{display:block;position:absolute;inset:0;z-index:0;pointer-events:none;}
  .hero-bg-img{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:cover;object-position:72% 28%;
    opacity:0;
    transition:opacity var(--t-med) var(--ease);
  }
  .hero--bg .hero-bg-img.is-active{opacity:1;}
  .hero--bg .hero-bg::after{
    content:"";position:absolute;left:0;right:0;top:0;height:150px;
    background:linear-gradient(to bottom, rgba(247,247,245,.7), rgba(247,247,245,0));
  }
  .hero--bg .hero-visual{display:none;}
  .hero--bg .hero-grid{grid-template-columns:1fr;}
  .hero--bg .hero-copy{max-width:none;}
}

/* Hero com fundo de tela cheia — mobile (texto branco sobre degradê escuro embaixo) */
@media (max-width:920px){
  .hero-bg{display:block;position:absolute;inset:0;z-index:0;pointer-events:none;}
  .hero-bg picture{display:contents;}
  .hero-bg-img{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:cover;object-position:50% 12%;
    opacity:0;
    transition:opacity var(--t-med) var(--ease);
  }
  .hero--bg .hero-bg-img.is-active{opacity:1;}
  .hero--bg .hero-bg::after{
    content:"";position:absolute;inset:0;
    background:
      linear-gradient(to top, rgba(10,10,10,.94) 0%, rgba(10,10,10,.82) 26%, rgba(10,10,10,0) 58%),
      linear-gradient(to bottom, rgba(247,247,245,.55), rgba(247,247,245,0) 16%);
  }
  .hero--bg{
    min-height:100svh;
    align-items:flex-end;
    padding-top:var(--header-h);
    padding-bottom:32px;
  }
  .hero--bg .hero-visual,
  .hero--bg .hero-sub{display:none;}
  .hero--bg .hero-headline,
  .hero--bg .hero-price-note b{color:#fff;}
  .hero--bg .hero-color-label,
  .hero--bg .hero-price-note,
  .hero--bg .hero-cta-secondary{color:rgba(255,255,255,.78);}
  .hero--bg .hero-cta-secondary:hover{color:#fff;}
  .hero--bg .btn-primary{background:#fff;color:var(--black);}
  .hero--bg .color-pill[data-active="false"]{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.35);}
}
@media (max-width:920px){
  .hero--bg .color-pill[data-active="true"]{background:#fff;color:var(--black);border-color:#fff;}
  .hero--bg .color-pill[data-active="true"] .dot{border-color:rgba(10,10,10,.35);}
}

/* Selo de garantia acima do botão de compra */
.buy-guarantee{
  margin-top:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:left;
}
.guarantee-seal{flex-shrink:0;}
.guarantee-title{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--fg);}
.guarantee-sub{margin-top:1px;font-size:13px;color:var(--gray);}
@media (min-width:921px){
  .buy-guarantee{margin-top:12px;}
  .buy-guarantee + .buy-cta{margin-top:12px;}
}
@media (min-width:921px) and (max-height:860px){
  .order-summary{display:none;}
}
@media (min-width:921px) and (max-height:800px){
  .buy-block{margin-top:14px;}
  .buy-price-row{margin-top:8px;}
  .kit-option{padding:7px 14px;}
  .kit-options{gap:6px;}
  .color-option{padding:7px 14px;}
  .size-option{padding:8px 0;}
  .buy-cta .btn{padding:14px;}
  .trust-mini{margin-top:10px;padding-top:10px;}
  .buy-guarantee{margin-top:8px;}
  .product-layout{padding-top:24px;}
}

/* Selo de garantia agora fica em cima da foto da camiseta */
.gallery .buy-guarantee{
  margin:0 0 14px;
  flex-direction:column;
  gap:6px;
  text-align:center;
}
.gallery .guarantee-text{text-align:center;}
@media (min-width:921px){
  .gallery .buy-guarantee{flex-direction:row;justify-content:flex-start;gap:12px;margin-bottom:12px;}
  .gallery .guarantee-text{text-align:left;}
  .gallery-main{height:calc(100svh - var(--header-h) - 132px);}
}
@media (min-width:921px) and (max-height:800px){
  .gallery .buy-guarantee{margin-bottom:8px;}
  .gallery-main{height:calc(100svh - var(--header-h) - 116px);}
}

/* Mobile: menos espaço entre o cabeçalho e o conteúdo */
@media (max-width:920px){
  :root{--header-h:66px;}
  .product-layout{padding-top:6px;padding-bottom:48px;gap:20px;}
  .gallery .buy-guarantee{margin-bottom:10px;}
}

/* Fotos da camiseta sozinha (recorte sem fundo): mostrar inteira sobre fundo claro */
.gallery-main{background:transparent;}
.cart-line-thumb{background:transparent;}
img.is-flat{object-fit:contain !important;padding:5%;}
.gallery-thumb{background:transparent;}

/* Miniaturas compactas */
.gallery-thumbs{display:flex;gap:8px;grid-template-columns:none;}
.gallery-thumb{width:64px;height:64px;aspect-ratio:auto;flex:none;}
@media (min-width:921px){
  .gallery-main{height:calc(100svh - var(--header-h) - 132px - 76px);}
}
@media (min-width:921px) and (max-height:800px){
  .gallery-main{height:calc(100svh - var(--header-h) - 116px - 76px);}
}
@media (max-width:920px){
  .gallery-main{aspect-ratio:1/1;}
}
@media (min-width:921px){
  .gallery .buy-guarantee{justify-content:center;}
}

/* Zoom da galeria */
.gallery-media{transition:opacity var(--t-fast) var(--ease), transform .25s var(--ease);will-change:transform;}
@media (hover:hover) and (min-width:921px){
  .gallery-main{cursor:zoom-in;}
}
.lightbox{
  position:fixed;inset:0;z-index:400;
  background:var(--offwhite);
  display:none;
  flex-direction:column;
}
.lightbox.is-open{display:flex;}
.lightbox-scroll{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;}
.lightbox-scroll img{width:165vw;max-width:none;height:auto;display:block;}
.lightbox-close{
  position:absolute;top:12px;right:14px;z-index:2;
  width:42px;height:42px;border-radius:50%;
  border:1px solid var(--gray-light);background:var(--white);
  font-size:26px;line-height:1;color:var(--fg);
}
.lightbox-hint{
  position:absolute;left:0;right:0;bottom:18px;text-align:center;
  font-size:12.5px;color:var(--gray);pointer-events:none;
}
@media (max-width:920px){
  .gallery-main::after{
    content:"Toque para ampliar";
    position:absolute;right:10px;bottom:10px;
    font-size:11.5px;font-weight:600;color:var(--gray);
    background:rgba(255,255,255,.85);border:1px solid var(--gray-light);
    padding:5px 10px;border-radius:999px;pointer-events:none;
  }
}
@media (min-width:921px){
  .lightbox{display:none !important;}
}

/* Depoimentos em imagem (carrossel) */
.reviews-track{
  display:flex;
  gap:20px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding-bottom:4px;
  cursor:grab;
}
.reviews-track::-webkit-scrollbar{display:none;}
.reviews-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;}
.review-img-card{
  flex:0 0 calc((100% - 40px) / 3);
  scroll-snap-align:start;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 1px 0 rgba(10,10,10,.04);
}
.review-img-card img{display:block;width:100%;height:auto;min-height:120px;user-select:none;-webkit-user-drag:none;}
@media (max-width:920px){
  .review-img-card{flex:0 0 84%;}
}

/* Avaliações: selo "EXCELENTE" colado no topo dos cards */
.reviews-rating{text-align:center;margin-bottom:14px;}
.reviews-rating-word{
  font-size:clamp(20px,2.2vw,26px);
  font-weight:800;
  letter-spacing:.14em;
  color:var(--fg);
}
.reviews-rating-stars{display:flex;justify-content:center;gap:6px;margin-top:10px;}
.reviews-rating-stars svg{display:block;}
.review-img-card{background:transparent;box-shadow:none;border-radius:clamp(12px,1.2vw,18px);}
.review-img-card img{width:106%;max-width:none;margin:-2.8% 0 -1.4% -2.6%;}
@media (max-width:920px){
  .reviews-rating{width:100%;}
}
@media (max-width:920px){
  .footer-logo{align-self:center;justify-content:center;}
}
@media (max-width:920px){
  .footer-top{align-items:center;}
  .footer-cols{justify-content:center;width:100%;}
  .footer-bottom{flex-direction:column;justify-content:center;text-align:center;}
}
@media (min-width:921px){
  .reviews-track{gap:16px;}
  .review-img-card{flex:0 0 calc((100% - 64px) / 5);border-radius:14px;}
}

/* Frete por CEP */
.ship-widget{margin-top:14px;}
.ship-label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg);margin-bottom:8px;}
.ship-input{
  width:100%;max-width:280px;
  padding:12px 14px;
  border:1px solid var(--gray-light);
  border-radius:3px;
  background:var(--white);
  font-size:14px;
  color:var(--fg);
}
.ship-input:focus{outline:none;border-color:var(--black);}
.ship-result{margin-top:8px;min-height:20px;font-size:13.5px;line-height:1.45;color:var(--gray);}
.ship-msg{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;}
.ship-msg--free{color:#2f6b12;font-weight:500;}
.ship-msg--free b{font-weight:800;}
.ship-msg--warn{color:#b23b3b;}
.ship-widget--cart{max-width:900px;margin:22px auto 0;}
.hero-ship{color:var(--fg);}
.hero--bg .hero-ship{color:inherit;}
@media (min-width:921px){
  .ship-widget{margin-top:12px;}
  .ship-widget .ship-label{display:none;}
  .ship-result{min-height:0;margin-top:6px;}
}
@media (min-width:921px) and (max-height:960px){
  .order-summary{display:none;}
}
.ship-msg{display:block;}
.ship-msg svg{display:inline-block;vertical-align:-3px;margin-right:6px;}

/* Página da camiseta: avaliações mais coladas na seção de compra */
.product-page + #avaliacoes{padding-top:12px;}
@media (min-width:921px){
  .product-page .product-layout{padding-bottom:20px;}
  .product-page + #avaliacoes{padding-top:0;}
}

/* Pagamento: selo de segurança e consentimento */
.secure-banner{
  display:flex;gap:12px;align-items:flex-start;
  padding:14px 16px;margin:14px 0 8px;
  background:var(--white);border:1px solid var(--gray-light);border-radius:6px;
  font-size:13px;line-height:1.5;color:var(--gray);
}
.secure-banner svg{flex-shrink:0;margin-top:2px;color:#2f6b12;}
.secure-banner strong{display:block;color:var(--fg);font-size:14px;margin-bottom:2px;}
.secure-order{font-size:13px;color:var(--gray);margin:0 0 14px;}
.secure-order strong{color:var(--fg);letter-spacing:.03em;}
.checkout-consent{margin-top:14px;text-align:center;font-size:12px;line-height:1.5;color:var(--gray);max-width:520px;margin-left:auto;margin-right:auto;}

/* Páginas legais (política de vendas / privacidade) */
.legal-page{padding:calc(var(--header-h) + 40px) 0 clamp(56px,8vw,100px);}
.legal-wrap{max-width:780px;}
.legal-title{font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-.02em;}
.legal-updated{margin-top:6px;font-size:13px;color:var(--gray);}
.legal-page p,.legal-page li{font-size:16px;line-height:1.7;color:#333;}
.legal-page p{margin-top:14px;}
.legal-page h2{margin-top:38px;font-size:22px;font-weight:800;letter-spacing:-.01em;scroll-margin-top:calc(var(--header-h) + 16px);}
.legal-page ul{margin:12px 0 0 20px;padding:0;list-style:disc;}
.legal-page li{margin-top:6px;}
.legal-page a{text-decoration:underline;text-underline-offset:3px;}
.legal-index{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.legal-index a{padding:8px 14px;border:1px solid var(--gray-light);border-radius:999px;font-size:13px;text-decoration:none;background:var(--white);}
.legal-index a:hover{border-color:var(--black);}
.checkout-consent a{text-decoration:underline;text-underline-offset:2px;color:var(--fg);}

/* Formas de pagamento no rodapé */
.footer-pay{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:22px 0;margin-bottom:22px;
  border-top:1px solid rgba(255,255,255,.12);
}
.footer-pay-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.footer-pay-list{display:flex;gap:8px;flex-wrap:wrap;}
.pay-badge{width:54px;height:34px;display:block;border-radius:5px;}
@media (max-width:920px){
  .footer-pay{flex-direction:column;justify-content:center;text-align:center;}
  .footer-pay-list{justify-content:center;}
}

/* Guia de tamanhos */
.modal{max-width:560px;}
.sg-heading{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin:6px 0 14px;}
.sg-how{display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.sg-figure{width:150px;flex-shrink:0;}
.sg-steps{list-style:none;margin:0;padding:0;flex:1;min-width:200px;display:grid;gap:14px;}
.sg-steps li{display:flex;gap:12px;align-items:flex-start;}
.sg-num{flex-shrink:0;width:24px;height:24px;border:1.5px solid var(--fg);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;}
.sg-steps strong{display:block;font-size:14px;letter-spacing:.04em;text-transform:uppercase;}
.sg-steps p{margin:2px 0 0;font-size:13.5px;line-height:1.5;color:var(--gray);}
.sg-tip{margin:18px 0 26px;padding:12px 14px;background:var(--offwhite);border-radius:6px;font-size:13.5px;line-height:1.5;}
.size-table th[scope="row"]{font-weight:800;color:var(--fg);}
.size-table td small{color:var(--gray);font-size:11px;}
.size-table tr.is-current{background:rgba(184,255,61,.22);}
.size-table tr.is-current th[scope="row"]::after{content:" ✓";}
@media (max-width:520px){.sg-figure{width:120px;margin:0 auto;}}

.test-mode-bar{position:fixed;top:0;left:0;right:0;z-index:500;background:#b23b3b;color:#fff;text-align:center;font-size:12px;font-weight:700;letter-spacing:.04em;padding:6px 10px;}

/* Aviso de cookies */
.cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:600;
  max-width:760px;margin:0 auto;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding:16px 18px;
  background:var(--white);border:1px solid var(--gray-light);border-radius:10px;
  box-shadow:0 12px 40px rgba(10,10,10,.16);
}
.cookie-banner p{flex:1 1 320px;margin:0;font-size:13px;line-height:1.55;color:#333;}
.cookie-banner a{text-decoration:underline;text-underline-offset:2px;}
.cookie-actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-btn{padding:11px 20px;border-radius:3px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--black);}
.cookie-btn--solid{background:var(--black);color:var(--white);}
.cookie-btn--ghost{background:transparent;color:var(--black);}
@media (max-width:600px){
  .cookie-banner{left:10px;right:10px;bottom:10px;}
  .cookie-actions{width:100%;}
  .cookie-btn{flex:1;}
}

/* Mobile: selos de confiança um pouco mais perto das avaliações */
@media (max-width:920px){
  .trust-section{padding-top:0;margin-top:-8px;}
}
