/* =========================================================
   CLUBE DE SÓCIO ATACADÃO — styles.css (VERSÃO FINAL)
   Base c1 + capricho visual c2 + robustez/a11y c3
   ========================================================= */

:root{
  --laranja:#F26522;      /* laranja principal Atacadão (fundo do hero) */
  --laranja-esc:#D9531A;  /* laranja escuro (gradiente/hover) */
  --laranja-cla:#FF8A4C;
  --creme:#F5EFE1;        /* card em arco (bege claro) */
  --navy:#16233F;         /* números/preço e texto forte escuro */
  --amarelo:#FFB000;      /* botão CTA */
  --amarelo-esc:#E89C00;
  --cinza:#6B7280;        /* texto secundário */
  --linha:#E7E1D5;        /* divisórias claras */
  --branco:#FFFFFF;
  --vermelho:#E23B3B;     /* strike diagonal */

  --fonte:'Baloo 2', ui-rounded, 'Segoe UI', system-ui, sans-serif;

  --sombra-sm:0 6px 18px rgba(22,35,63,.10);
  --sombra-md:0 14px 34px rgba(22,35,63,.16);
  --sombra-lg:0 26px 60px rgba(22,35,63,.24);

  --maxw:1180px;
  --raio:24px;
}

/* ---------- Reset enxuto ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--fonte);
  font-size:1rem;
  line-height:1.55;
  color:var(--navy);
  background:var(--branco);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg{ display:block; max-width:100%; }
h1,h2,h3,h4,p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
strong{ font-weight:800; }

/* ---------- Utilitários ---------- */
.container{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:clamp(1rem,4vw,2rem);
}
.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
[id]{ scroll-margin-top:20px; }

/* Skip link acessível */
.skip-link{
  position:absolute;
  left:12px; top:-80px;
  z-index:999;
  background:var(--navy);
  color:var(--branco);
  padding:.75rem 1.15rem;
  border-radius:0 0 12px 12px;
  font-weight:800;
  transition:top .18s ease;
}
.skip-link:focus{ top:0; }

/* Foco visível */
:focus-visible{
  outline:3px solid var(--navy);
  outline-offset:3px;
  border-radius:6px;
}
.hero :focus-visible,
.cadastro :focus-visible,
.stats :focus-visible,
.rodape :focus-visible{ outline-color:var(--branco); }

/* ---------- Strike diagonal vermelho reutilizável ---------- */
.risco{
  position:relative;
  display:inline-block;
  font-weight:700;
  white-space:nowrap;
  color:var(--navy);
}
.risco::after{
  content:"";
  position:absolute;
  left:-6%; right:-6%; top:52%;
  height:3px;
  background:var(--vermelho);
  border-radius:2px;
  transform:rotate(-12deg);
}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  font-weight:800;
  line-height:1.1;
  text-align:center;
  border-radius:999px;
  transition:transform .16s ease, background-color .18s ease, box-shadow .22s ease, color .16s ease;
  will-change:transform;
}
.btn--cta{
  background:linear-gradient(180deg,var(--amarelo) 0%,var(--amarelo-esc) 100%);
  color:var(--navy);
  font-size:1.12rem;
  padding:1.05rem 2.2rem;
  box-shadow:0 12px 26px rgba(232,156,0,.34);
}
.btn--cta:hover{ transform:translateY(-3px); box-shadow:0 16px 32px rgba(232,156,0,.42); }
.btn--cta:active{ transform:translateY(-1px); }
.btn--outline{
  background:transparent;
  color:var(--laranja-esc);
  border:2px solid var(--laranja);
  padding:.85rem 1.5rem;
  font-size:1rem;
  box-shadow:var(--sombra-sm);
}
.btn--outline:hover{ background:var(--laranja); color:var(--branco); transform:translateY(-3px); box-shadow:0 12px 24px rgba(217,83,26,.28); }
.btn--plano{
  background:var(--laranja);
  color:var(--branco);
  padding:.9rem 1.5rem;
  font-size:1rem;
  box-shadow:0 10px 22px rgba(242,101,34,.32);
}
.btn--plano:hover{ background:var(--laranja-esc); transform:translateY(-3px); box-shadow:0 14px 28px rgba(217,83,26,.34); }
.btn--full{ width:100%; }
.btn__down{ display:inline-flex; animation:nudge 1.8s ease-in-out infinite; }
@keyframes nudge{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(3px);} }

/* =========================================================
   (1)+(2) HERO
   ========================================================= */
.hero{
  position:relative;
  overflow:hidden;
  color:var(--branco);
  background:
    radial-gradient(120% 80% at 50% -10%, var(--laranja-cla) 0%, rgba(255,138,76,0) 45%),
    linear-gradient(165deg, var(--laranja) 0%, var(--laranja-esc) 100%);
  padding-bottom:clamp(3.5rem,7vw,4.5rem);
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background:radial-gradient(60% 40% at 82% 18%, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 60%);
}
.hero > .container{ position:relative; z-index:1; }

/* Marca / topo */
.brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.7rem;
  padding:clamp(1.4rem,4vw,2rem) 0 .4rem;
  text-align:center;
}
.brand__logo{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  color:var(--branco);
}
.brand__badge{
  width:clamp(44px,8vw,52px);
  aspect-ratio:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border-radius:13px;
  padding:6px;
  box-shadow:0 6px 12px rgba(0,0,0,.18);
  flex:0 0 auto;
}
.brand__badge img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.brand__word{ font-size:clamp(1.4rem,4vw,1.75rem); font-weight:600; }
.brand__word strong{ font-weight:800; color:var(--branco); }
.brand__week{
  display:inline-flex;
  align-items:center;
  gap:.8rem;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.24em;
  font-size:clamp(.8rem,2.4vw,.98rem);
  color:var(--branco);
}
.brand__week .chev{ width:15px; height:15px; opacity:.9; }

/* Grid do hero */
.hero__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(1.6rem,4vw,3rem);
  align-items:start;
  margin-top:clamp(1.2rem,3vw,1.8rem);
}

/* Coluna esquerda */
.hero__left{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.hero__title{
  display:flex;
  flex-direction:column;
  font-size:clamp(2.2rem,4.8vw,3.6rem);
  line-height:1.06;
  font-weight:600;
  margin-bottom:clamp(1.4rem,3vw,2rem);
  text-shadow:0 3px 10px rgba(0,0,0,.12);
}
.hero__title strong{ font-weight:800; }

/* CARD EM ARCO (tombstone) */
.arch{
  position:relative;
  width:min(100%,380px);
  background:linear-gradient(180deg,#FBF7EE 0%,var(--creme) 100%);
  color:var(--navy);
  text-align:center;
  border-radius:clamp(160px,45vw,190px) clamp(160px,45vw,190px) 26px 26px;
  box-shadow:var(--sombra-lg), inset 0 2px 0 rgba(255,255,255,.7);
  padding:clamp(2.4rem,5vw,2.9rem) 1.75rem 0;
  margin-bottom:clamp(4.6rem,12vw,5.6rem);
}
.arch__pill{
  display:inline-block;
  background:linear-gradient(180deg,var(--laranja-cla),var(--laranja));
  color:var(--branco);
  font-weight:800;
  font-size:clamp(1.25rem,3.2vw,1.4rem);
  padding:.5rem 1.6rem;
  border-radius:999px;
  box-shadow:0 10px 20px rgba(217,83,26,.38);
  letter-spacing:.3px;
}
.arch__from{
  margin-top:1.3rem;
  font-weight:600;
  font-size:1.05rem;
  color:var(--navy);
}
.arch__label{
  margin-top:.35rem;
  font-weight:800;
  font-size:1.15rem;
  color:var(--navy);
}
.arch__price{
  display:inline-flex;
  align-items:flex-start;
  justify-content:center;
  gap:.3rem;
  line-height:.9;
  margin-top:.1rem;
  color:var(--navy);
}
.arch__cur{
  font-size:clamp(1.5rem,3vw,2.1rem);
  font-weight:800;
  margin-top:.55em;
}
.arch__big{
  font-size:clamp(4.5rem,8.5vw,7rem);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--navy);
}

/* Cluster de produtos estourando a base do card */
.arch__products{
  position:relative;
  height:120px;
  margin:1.7rem -1.75rem -3.6rem;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:.1rem;
}
.arch__floor{
  position:absolute;
  bottom:12px; left:50%;
  transform:translateX(-50%);
  width:82%; height:28px;
  background:radial-gradient(closest-side, rgba(22,35,63,.30), rgba(22,35,63,0) 72%);
  filter:blur(3px);
}
.prod{
  position:relative;
  filter:drop-shadow(0 8px 10px rgba(22,35,63,.22));
  transition:transform .3s ease;
}
.arch:hover .prod{ transform:translateY(-3px); }
.prod--drink{ z-index:3; margin-right:-10px; }
.prod--oil{ z-index:4; }
.prod--box{ z-index:2; margin-left:-6px; align-self:flex-end; margin-bottom:2px; }
.prod--sack{ z-index:5; margin-left:-14px; }

.hero__cta{ font-size:1.15rem; padding:1.1rem 2.2rem; }

/* Coluna direita — card de vantagens */
.vantagens{
  background:var(--branco);
  color:var(--navy);
  border-radius:var(--raio);
  padding:clamp(1.6rem,4vw,2.4rem);
  box-shadow:var(--sombra-lg);
}
.vantagens__tag{
  display:block;
  width:fit-content;
  margin:0 auto 1.1rem;
  background:#EEF1F6;
  color:#42506E;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  padding:.45rem 1rem;
  border-radius:999px;
}
.vantagens__titulo{
  text-align:center;
  font-size:clamp(1.4rem,2.6vw,1.9rem);
  font-weight:800;
  line-height:1.18;
  margin:0 auto 1.4rem;
  max-width:22ch;
}
.vantagens__lista{ display:flex; flex-direction:column; }
.vantagem{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1.1rem 0;
  border-bottom:1px solid var(--linha);
}
.vantagem:first-child{ padding-top:.3rem; }
.vantagem:last-child{ border-bottom:0; padding-bottom:0; }
.vantagem__icone{
  flex:0 0 auto;
  width:48px; height:48px;
  border-radius:14px;
  display:grid; place-items:center;
  color:var(--navy);                       /* traço navy (spec) */
  background:linear-gradient(180deg,#FFF3EA,#FFE7D6);
  box-shadow:inset 0 0 0 1px rgba(217,83,26,.12);
  transition:transform .2s ease;
}
.vantagem:hover .vantagem__icone{ transform:scale(1.06); }
.vantagem__icone svg{ width:24px; height:24px; }
.vantagem h3{ font-size:1.05rem; font-weight:800; line-height:1.2; }
.vantagem p{ color:var(--cinza); font-size:.95rem; margin-top:.2rem; }

/* =========================================================
   (3) FAIXA DE NÚMEROS
   ========================================================= */
.stats{ background:linear-gradient(180deg,#123B20,#0C2814); color:var(--branco); }
.stats__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
  padding:clamp(2.4rem,5vw,3rem) 0;
  text-align:center;
}
.stat{ position:relative; padding:.4rem .6rem; }
.stat:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0; top:18%; bottom:18%;
  width:1px;
  background:rgba(255,255,255,.14);
}
.stat b{
  display:block;
  font-size:clamp(1.7rem,3.4vw,2.5rem);
  color:var(--amarelo);
  font-weight:800;
  line-height:1;
  letter-spacing:-.5px;
}
.stat span{ display:block; color:#C6D0E3; font-size:.95rem; margin-top:.5rem; }

/* =========================================================
   SEÇÕES GENÉRICAS
   ========================================================= */
.sec{ padding-block:clamp(3.5rem,7vw,5.5rem); }
.sec__head{ text-align:center; max-width:640px; margin:0 auto clamp(2.2rem,5vw,3.2rem); }
.sec__head h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); font-weight:800; line-height:1.15; }
.sec__head p{ color:var(--cinza); margin-top:.7rem; font-size:1.08rem; }

/* (4) COMO FUNCIONA */
.como{ background:var(--branco); }
.passos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(1.2rem,3vw,1.8rem);
}
.passo{
  background:linear-gradient(180deg,#FFFFFF,#FCFAF5);
  border:1px solid var(--linha);
  border-radius:22px;
  padding:clamp(1.7rem,3vw,2.2rem);
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.6rem;
  box-shadow:var(--sombra-sm);
  transition:transform .22s ease, box-shadow .22s ease;
}
.passo:hover{ transform:translateY(-6px); box-shadow:var(--sombra-md); }
.passo__num{
  width:56px; height:56px;
  border-radius:50%;
  background:linear-gradient(180deg,var(--laranja-cla),var(--laranja-esc));
  color:var(--branco);
  font-weight:800;
  font-size:1.4rem;
  display:grid; place-items:center;
  box-shadow:0 10px 20px rgba(217,83,26,.28);
}
.passo h3{ font-size:1.25rem; font-weight:800; margin-bottom:.2rem; }
.passo p.passo__sub{ color:var(--laranja); font-weight:800; font-size:1rem; margin-bottom:.5rem; }
.passo p{ color:var(--cinza); }

/* =========================================================
   (5) PLANOS
   ========================================================= */
.planos-sec{ background:var(--creme); }
.planos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(1.2rem,3vw,1.8rem);
  align-items:stretch;
}
.plano{
  position:relative;
  background:var(--branco);
  border:2px solid transparent;
  border-radius:var(--raio);
  box-shadow:var(--sombra-sm);
  padding:clamp(1.8rem,3vw,2.3rem) clamp(1.5rem,2.6vw,1.9rem);
  display:flex;
  flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease;
}
.plano:hover{ transform:translateY(-6px); box-shadow:var(--sombra-md); }
.plano--destaque{
  border-color:var(--laranja);
  box-shadow:var(--sombra-lg);
  background:linear-gradient(180deg,#FFFFFF,#FFF9F4);
}
@media (min-width:901px){
  .plano--destaque{ transform:translateY(-12px); }
  .plano--destaque:hover{ transform:translateY(-16px); }
}
.plano__tag{
  position:absolute;
  top:0; left:50%;
  transform:translate(-50%,-50%);
  background:linear-gradient(180deg,var(--laranja-cla),var(--laranja-esc));
  color:var(--branco);
  font-weight:800;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:.42rem 1.1rem;
  border-radius:999px;
  box-shadow:0 8px 16px rgba(217,83,26,.3);
  white-space:nowrap;
}
.plano__nome{ font-size:1.35rem; font-weight:800; }
.plano__preco{ margin:.8rem 0 .2rem; display:flex; align-items:flex-end; gap:.5rem; flex-wrap:wrap; }
.plano__preco b{ font-size:2.2rem; font-weight:800; line-height:1; }
.plano__preco .ano{ color:var(--cinza); font-weight:700; padding-bottom:.25rem; }
.plano__de{ font-size:.95rem; color:var(--cinza); font-weight:600; margin-bottom:1.3rem; }
.plano__de .risco{ font-size:.95rem; }
.plano__lista{ flex:1; margin-bottom:1.6rem; }
.plano__lista li{
  position:relative;
  padding-left:30px;
  margin-bottom:.8rem;
  font-size:.98rem;
  color:var(--navy);
}
.plano__lista li::before{
  content:"";
  position:absolute;
  left:0; top:2px;
  width:19px; height:19px;
  border-radius:50%;
  background:var(--laranja);
}
.plano__lista li::after{
  content:"";
  position:absolute;
  left:6.5px; top:6px;
  width:5px; height:9px;
  border:2px solid #fff;
  border-top:0; border-left:0;
  transform:rotate(45deg);
}
.plano .btn{ margin-top:auto; }

/* =========================================================
   (6) CADASTRO
   ========================================================= */
.cadastro{
  background:
    radial-gradient(120% 90% at 100% 0%, var(--laranja-cla) 0%, rgba(255,138,76,0) 42%),
    linear-gradient(155deg, var(--laranja) 0%, var(--laranja-esc) 100%);
  color:var(--branco);
}
.cadastro__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,3.5rem);
  align-items:center;
}
.cadastro__esq h2{
  font-size:clamp(1.9rem,3.4vw,2.7rem);
  font-weight:800;
  line-height:1.12;
  text-shadow:0 2px 10px rgba(0,0,0,.12);
}
.cadastro__esq p{ margin-top:1rem; font-size:1.1rem; max-width:46ch; }

.form-card{
  background:var(--branco);
  color:var(--navy);
  border-radius:26px;
  box-shadow:var(--sombra-lg);
  padding:clamp(1.6rem,4vw,2.3rem);
}
.campo{ margin-bottom:1rem; }
.campo label{ display:block; font-weight:700; margin-bottom:.35rem; font-size:.95rem; }
.campo input,
.campo select{
  width:100%;
  font:inherit;
  color:var(--navy);
  background:#FCFBF8;
  border:2px solid var(--linha);
  border-radius:13px;
  padding:.85rem 1rem;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.campo input::placeholder{ color:#A7ABB4; }
.campo input:hover,
.campo select:hover{ border-color:#D8D0C0; }
.campo input:focus,
.campo select:focus{
  outline:none;
  border-color:var(--laranja);
  background:#fff;
  box-shadow:0 0 0 4px rgba(242,101,34,.14);
}
.campo input[aria-invalid="true"],
.campo select[aria-invalid="true"]{
  border-color:var(--vermelho);
  background:#FFF6F5;
}
.campo input[aria-invalid="true"]:focus,
.campo select[aria-invalid="true"]:focus{ box-shadow:0 0 0 4px rgba(226,59,59,.15); }

/* Select com seta on-brand */
.campo--select{ position:relative; }
.campo--select select{ appearance:none; -webkit-appearance:none; padding-right:2.6rem; cursor:pointer; }
.campo__caret{
  position:absolute;
  right:1rem; top:calc(50% + .55rem);
  transform:translateY(-50%);
  color:var(--laranja-esc);
  pointer-events:none;
}
.campo .erro{ color:#C42B22; font-size:.84rem; font-weight:700; margin-top:.35rem; }
.campo .erro[hidden]{ display:none; }

.form-sucesso{
  background:#E8F6EE;
  border:1.5px solid #7DCBA0;
  color:#1E7A47;
  border-radius:14px;
  padding:1.1rem 1.2rem;
  font-weight:700;
  text-align:center;
  margin-top:.4rem;
}
.form-sucesso[hidden]{ display:none; }

/* =========================================================
   (7) FAQ
   ========================================================= */
.faq{ background:var(--branco); }
.acordeao{ max-width:760px; margin-inline:auto; display:flex; flex-direction:column; gap:.85rem; }
.faq-item{
  background:linear-gradient(180deg,#FFFFFF,#FCFAF5);
  border:1px solid var(--linha);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--sombra-sm);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.faq-item:hover{ border-color:#D7D0C1; }
.faq-item h3{ margin:0; font-size:1.05rem; }
.faq-pergunta{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.15rem 1.35rem;
  font-weight:700;
  color:var(--navy);
  text-align:left;
}
.faq-mais{
  flex:0 0 auto;
  width:32px; height:32px;
  border-radius:50%;
  background:var(--creme);
  color:var(--laranja-esc);
  display:grid; place-items:center;
  transition:transform .28s ease, background .2s ease, color .2s ease;
}
.faq-mais svg{ width:20px; height:20px; }
.faq-pergunta[aria-expanded="true"]{ color:var(--laranja-esc); }
.faq-pergunta[aria-expanded="true"] + .faq-resposta{}
.faq-pergunta[aria-expanded="true"] .faq-mais{
  transform:rotate(135deg);
  background:var(--laranja);
  color:#fff;
}
.faq-item:has(.faq-pergunta[aria-expanded="true"]){ border-color:var(--laranja-cla); box-shadow:var(--sombra-md); }
.faq-resposta{ padding:0 1.35rem 1.2rem; color:var(--cinza); }
.faq-resposta p{ max-width:62ch; }
.faq-resposta[hidden]{ display:none; }

/* =========================================================
   (8) RODAPÉ
   ========================================================= */
.rodape{ background:var(--navy); color:var(--branco); padding-block:clamp(2.8rem,6vw,3.6rem) 1.6rem; }
.rodape__grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:clamp(1.5rem,4vw,2.4rem);
}
.rodape__logo{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  font-size:1.35rem;
  font-weight:800;
  color:var(--branco);
  margin-bottom:.9rem;
}
.rodape__logo .brand__badge{ width:44px; }
.rodape__marca p{ color:#C6D0E3; max-width:36ch; }
.rodape__col h3{ font-size:1rem; font-weight:800; margin-bottom:.9rem; }
.rodape__col ul{ display:flex; flex-direction:column; gap:.5rem; }
.rodape__col a{ color:#C6D0E3; transition:color .16s ease; }
.rodape__col a:hover{ color:var(--amarelo); }
.rodape__base{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:2.2rem;
  padding-top:1.4rem;
  text-align:center;
  color:#9FABC4;
  font-size:.9rem;
}

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width:900px){
  .hero__grid{ grid-template-columns:1fr; justify-items:center; gap:clamp(2.6rem,8vw,3.4rem); }
  .hero__left{ order:1; }
  .hero__right{ order:2; width:100%; max-width:520px; }   /* card de vantagens empilha DEPOIS do CTA */
  .stats__grid{ grid-template-columns:repeat(2,1fr); gap:2rem 1rem; }
  .stat:nth-child(2)::after{ display:none; }
  .passos{ grid-template-columns:1fr; max-width:460px; margin-inline:auto; }
  .planos{ grid-template-columns:1fr; max-width:440px; margin-inline:auto; }
  .cadastro__grid{ grid-template-columns:1fr; }
  .cadastro__esq{ text-align:center; }
  .cadastro__esq p{ margin-inline:auto; }
  .rodape__grid{ grid-template-columns:1fr 1fr; }
  .rodape__marca{ grid-column:1 / -1; }
}
@media (max-width:520px){
  .stats__grid{ grid-template-columns:1fr 1fr; }
  .rodape__grid{ grid-template-columns:1fr; text-align:center; }
  .rodape__marca p{ margin-inline:auto; }
  .rodape__logo{ justify-content:center; }
  .rodape__col ul{ align-items:center; }
  .btn--cta{ width:100%; }
  /* arco PRESERVADO no mobile: topo continua bem arredondado (tombstone) */
  .arch{ border-radius:clamp(150px,44vw,190px) clamp(150px,44vw,190px) 24px 24px; }
}

/* Preferência por menos movimento */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}

/* ---------- Card da oferta como imagem (fundo transparente) ---------- */
.arch-img{
  width:min(100%, 400px);
  height:auto;
  margin:0 auto clamp(1.4rem,4vw,2.2rem);
  filter:drop-shadow(0 24px 38px rgba(22,35,63,.30));
}

/* ===================== Calculadora de economia ===================== */
.calc-sec{ background:linear-gradient(180deg,#FFF3EA,#FFE7D6); }
.calc{
  max-width:960px;
  margin:0 auto;
  background:var(--branco);
  border-radius:var(--raio);
  box-shadow:var(--sombra-md);
  padding:clamp(1.6rem,4vw,2.6rem);
}
.calc__campo{
  max-width:440px;
  margin:0 auto clamp(1.6rem,4vw,2.2rem);
  text-align:center;
}
.calc__campo label{
  display:block;
  font-weight:800;
  margin-bottom:.6rem;
  color:var(--navy);
}
.calc__input{
  display:flex;
  align-items:center;
  gap:.45rem;
  border:2px solid var(--linha);
  border-radius:14px;
  padding:.25rem 1rem;
  background:#FCFBF8;
  transition:border-color .16s ease, box-shadow .16s ease;
}
.calc__input:focus-within{
  border-color:var(--laranja);
  box-shadow:0 0 0 4px rgba(242,101,34,.14);
}
.calc__prefixo{ font-weight:800; font-size:1.4rem; color:var(--navy); }
.calc__input input{
  flex:1;
  min-width:0;
  border:0; outline:0; background:transparent;
  font:inherit; font-size:1.7rem; font-weight:800; color:var(--navy);
  padding:.55rem 0;
  text-align:left;
}
.calc__resultados{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(.9rem,2vw,1.4rem);
}
.calc__card{
  position:relative;
  text-align:center;
  border:1.5px solid var(--linha);
  border-radius:16px;
  padding:1.5rem 1rem 1.4rem;
  background:linear-gradient(180deg,#FFFFFF,#FFF9F4);
}
.calc__card--destaque{
  border-color:var(--laranja);
  box-shadow:0 14px 30px rgba(242,101,34,.18);
}
.calc__plano{ display:block; font-weight:800; font-size:1.15rem; color:var(--navy); }
.calc__badge{
  display:inline-block;
  margin:.55rem 0 1rem;
  background:linear-gradient(180deg,var(--laranja-cla),var(--laranja));
  color:#fff; font-weight:800; font-size:.82rem;
  padding:.3rem .85rem; border-radius:999px;
}
.calc__economia{ font-size:.85rem; color:var(--cinza); font-weight:600; }
.calc__valor{
  font-size:clamp(1.7rem,4.5vw,2.1rem);
  font-weight:800; color:var(--laranja); line-height:1.15;
}
.calc__final{ margin-top:.55rem; font-size:.98rem; color:var(--navy); }
.calc__final b{ font-weight:800; }
.calc__nota{
  margin-top:clamp(1.2rem,3vw,1.6rem);
  text-align:center; font-size:.8rem; color:var(--cinza);
}
@media (max-width:720px){
  .calc__resultados{ grid-template-columns:1fr; }
}

/* ---------- Foto da loja na seção de cadastro ---------- */
.cadastro__foto{
  margin-top:clamp(1.4rem,3vw,2rem);
  width:100%;
  max-width:520px;
  height:auto;
  border-radius:18px;
  border:4px solid rgba(255,255,255,.65);
  box-shadow:0 22px 46px rgba(0,0,0,.30);
}

/* ---------- Teclado numérico da calculadora ---------- */
.calc__campo #calc-valor{ cursor:default; }
.calc__teclado{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.6rem;
  max-width:340px;
  margin:0 auto clamp(1.6rem,4vw,2.2rem);
}
.tecla{
  border:1.5px solid var(--linha);
  background:#fff;
  border-radius:14px;
  padding:.95rem 0;
  font-family:inherit;
  font-size:1.45rem;
  font-weight:800;
  color:var(--navy);
  cursor:pointer;
  transition:transform .07s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
  box-shadow:0 2px 0 rgba(22,35,63,.06);
}
.tecla:hover{ background:var(--creme); border-color:var(--laranja-cla); }
.tecla:active{ transform:translateY(1px) scale(.97); background:#FFE7D6; box-shadow:none; }
.tecla--acao{ color:var(--laranja); font-size:1.55rem; }
.tecla--limpar{
  grid-column:1 / -1;
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
  font-size:1.05rem;
  letter-spacing:.02em;
}
.tecla--limpar:hover{ background:#0f1a30; }
