:root{
  --orange:#ff6a00;
  --orange2:#ff8a2a;
  --bg:#ffffff;
  --bgSoft:#fff6ee;
  --text:#101828;
  --muted:#667085;
  --line:#EAECF0;
  --shadow: 0 18px 40px rgba(16,24,40,.10);
  --radius: 22px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: var(--text);
  background: var(--bg);
}
a{ color:inherit; text-decoration:none; }
.container{ width:min(1160px, 92vw); margin:0 auto; }

/* TOPBAR */
.topbar{
  position:sticky; top:0; z-index:50;
  background: linear-gradient(135deg, var(--orange), var(--orange2));
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
.brand__logo{ height:46px; width:auto; display:block; }
.topbar--logoOnly .topbar__inner--logoOnly{ justify-content:center; }
.brand--solo{ display:flex; align-items:center; justify-content:center; }

/* BOTÕES */
button{ font-family: inherit; }
.btn{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid transparent;
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  color:#fff;
  font-weight:1000;
  cursor:pointer;
  padding:12px 16px;
  border-radius: 999px;
  box-shadow: 0 12px 26px rgba(255,106,0,.18);
  transition: transform .12s ease, filter .12s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.btn:hover{ transform: translateY(-1px); filter: brightness(1.02); }
.btn:active{ transform: translateY(0px); }
.btn--block{ width:100%; }
.btn--sm{ padding:10px 12px; }
.btn--outline{
  background: transparent;
  color: var(--orange);
  border-color: rgba(255,106,0,.35);
  box-shadow:none;
}
.btn--outline:hover{ background: rgba(255,106,0,.08); }

/* HERO */
.heroCover{
  position:relative;
  width:100%;
  height: min(520px, 66vh);
  overflow:hidden;
  background: #000;
}

/* ✅ segurança: se existir no HTML por engano, não mostra */
.heroCover__bg{ display:none; }

.heroCover__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}

/* ✅ preenche sem sobrar espaço e protege o carro (corta mais em cima) */
.heroCover__img--fit{
  object-fit: cover;
  object-position: center bottom;
  padding: 0;
  transform: none;
}

.heroCover__overlay{
  position:absolute;
  inset:0;
}
.heroCover__overlay--soft{
  background: linear-gradient(90deg, rgba(0,0,0,.28), rgba(0,0,0,.08), rgba(0,0,0,.18));
}
.heroCover__content{
  position:relative;
  height:100%;
  display:flex;
  align-items:flex-end;
  padding-bottom: 38px;
}
.heroCover__stack{
  max-width: 740px;
  display:flex;
  flex-direction:column;
  gap: 12px;
}
.heroCover__headline{
  margin:0;
  color:#fff;
  font-weight: 1200;
  letter-spacing: -0.6px;
  font-size: clamp(28px, 4vw, 52px);
  line-height: 1.05;
  text-shadow: 0 6px 18px rgba(0,0,0,.35);
}
.heroCover__subtitle{
  margin:0;
  color: rgba(255,255,255,.92);
  font-weight: 900;
  font-size: clamp(15px, 1.6vw, 20px);
  line-height: 1.35;
  text-shadow: 0 6px 18px rgba(0,0,0,.25);
}
.heroCover__bullets{
  margin: 0;
  padding: 0;
  list-style: none;
  display:grid;
  gap: 10px;
}
.heroCover__bullets li{
  position: relative;
  padding-left: 44px;
  color:#fff;
  font-weight: 950;
  font-size: clamp(14px, 1.4vw, 18px);
  text-shadow: 0 6px 18px rgba(0,0,0,.25);
}
.heroCover__bullets li::before{
  content: "✓";
  position:absolute;
  left:0;
  top:50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: #16a34a;
  color:#fff;
  font-weight: 1200;
  box-shadow: 0 10px 20px rgba(0,0,0,.20);
}

/* Sections */
.section{ padding: 26px 0; }
.section--alt{
  background: var(--bgSoft);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

/* ✅ CENTRALIZA O BLOCO "CONHEÇA NOSSA FROTA" (titulo + texto) */
.section__head{ margin-bottom: 12px; text-align:center; }
.section__head h2{ margin:0 0 6px; font-size: 28px; color: var(--text); }
.section__head .muted{
  display:block;
  max-width: 720px;
  margin: 0 auto;
}

/* util */
.muted{ color: var(--muted); }
.tiny{ font-size: 12px; }

/* FILTROS DA FROTA */
.fleetFilters{
  display:flex;
  gap: 10px;
  align-items:center;
  flex-wrap:wrap;
  margin: 12px 0 10px;
  justify-content:center; /* ✅ centraliza Hatch / Pickups / Sedans */
}
.fleetFilter{
  border:1px solid rgba(255,106,0,.25);
  background: rgba(255,106,0,.06);
  color:#1F2937;
  font-weight: 1000;
  padding: 10px 14px;
  border-radius: 999px;
  cursor:pointer;
  transition: transform .12s ease, filter .12s ease, background .12s ease;
}
.fleetFilter:hover{ transform: translateY(-1px); filter: brightness(1.02); }
.fleetFilter.isActive{
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  color:#fff;
  border-color: transparent;
  box-shadow: 0 12px 26px rgba(255,106,0,.18);
}

/* CARROSSEL */
.fleetCarousel{
  position: relative;
  margin-top: 8px;
}
.fleetCarousel__viewport{
  overflow: hidden;
  border-radius: calc(var(--radius) + 2px);
}
.fleetTrack{
  display:flex;
  gap: 14px;
  transition: transform .22s ease;
  will-change: transform;
}
.fleetSlide{
  flex: 0 0 auto;
  width: min(1060px, 92vw);
}

/* FROTA (card interno) */
.fleetRow{
  background:#fff;
  border:1px solid var(--line);
  border-radius: calc(var(--radius) + 2px);
  box-shadow: var(--shadow);
  overflow:hidden;
  display:grid;
  grid-template-columns: 420px 1fr;
  align-items:stretch;
}
.carSide{
  padding: 16px;
  border-right: 1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap: 12px;
}
.carPhoto{
  height: 220px;
  border-radius: 18px;
  border:1px solid var(--line);
  overflow:hidden;
  background: linear-gradient(180deg, #F8FAFC, #F1F5F9);
  display:flex;
  align-items:center;
  justify-content:center;
}
.carPhoto img{
  width:100%;
  height:100%;
  object-fit: contain;
  object-position: center;
  display:block;
  padding: 10px;
}
.carName{ margin:0; font-weight:1100; font-size: 20px; }
.carInfo{ margin:0; color: #344054; line-height:1.5; }
.carFeatures{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin-top: 2px;
}
.featurePill{
  padding: 8px 10px;
  border-radius: 999px;
  border:1px solid rgba(255,106,0,.25);
  background: rgba(255,106,0,.06);
  color:#1F2937;
  font-weight:950;
  font-size: 12px;
}

.simSide{
  padding: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.simCard{
  width:100%;
  max-width: 520px;
  border:1px solid #E6E7EA;
  background: #fff;
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
  display:flex;
  flex-direction:column;
  gap: 12px;
}

.simTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}
.simTitle{
  display:flex;
  flex-direction:column;
  gap: 6px;
}
.simLabel{
  font-weight:1000;
  font-size: 12px;
  letter-spacing: .12em;
  color:#475467;
}
.simPrice{
  font-weight:1200;
  font-size: 34px;
  color:#14532d;
  line-height: 1;
}

.ctrlRow{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.ctrl{
  display:flex;
  flex-direction:column;
  gap: 6px;
}
.ctrl span{
  font-size: 12.5px;
  font-weight:1000;
  color:#344054;
}
.select, .date{
  width:100%;
  border-radius: 16px;
  padding: 12px 12px;
  border: 1px solid rgba(255,106,0,.28);
  background:#fff;
  font-weight:900;
  color:#1F2937;
  outline:none;
}
.select:focus, .date:focus{
  box-shadow: 0 0 0 5px rgba(255,106,0,.12);
  border-color: rgba(255,106,0,.55);
}

.kmLine{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 16px;
  border:1px solid var(--line);
  background: #FAFAFA;
}
.kmLine strong{ font-weight:1100; }

.totalBox{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 18px;
  border:1px solid rgba(255,106,0,.18);
  background: rgba(255,106,0,.07);
}
.totalBox .tLabel{
  font-weight:1000;
  color:#344054;
}
.totalBox .tValue{
  font-weight:1200;
  color:#84cc16;
  font-size: 22px;
}

/* caixa de itens obrigatórios */
.feesBox{
  border:1px solid var(--line);
  border-radius: 18px;
  background:#fff;
  padding: 12px;
}
.feesTitle{
  font-weight:1100;
  color:#344054;
  margin-bottom: 8px;
}
.feesList{
  display:grid;
  gap: 8px;
}
.feeRow{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 14px;
  background: #FAFAFA;
  border:1px solid #F0F2F5;
}
.feeRow strong{ font-weight:1100; }
.feeRow .muted{ font-size: 12px; }

.totalSub{
  margin-top: -6px;
  color:#475467;
  font-weight:800;
  font-size: 12.5px;
  line-height:1.35;
}
.error{
  display:none;
  padding:10px 12px;
  border-radius: 14px;
  border:1px solid rgba(255,106,0,.35);
  background: rgba(255,106,0,.10);
  color:#7c2d12;
  font-weight:1000;
}

/* PRINT 01 - BENEFÍCIOS */
.benefitsGrid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.benefitCard{
  background:#fff;
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
  text-align:center;
}
.benefitIcon{
  width: 54px;
  height: 54px;
  border-radius: 14px;
  background: rgba(255,106,0,.10);
  color: var(--orange);
  display:flex;
  align-items:center;
  justify-content:center;
  margin: 0 auto 12px;
}
.benefitIcon svg{
  width: 26px;
  height: 26px;
}
.benefitCard h3{
  margin: 0 0 8px;
  font-weight: 1100;
  color: var(--orange);
}
.benefitCard p{
  margin: 0;
  color:#344054;
  line-height:1.6;
}

/* footer */
.footer{ display:flex; align-items:center; justify-content:space-between; gap: 12px; }

.copyright{
  padding: 18px 0 28px;
  border-top:1px solid var(--line);
  background:#fff;
}

/* ✅ footer stack (endereço + copyright) */
.footerStack{
  display:flex;
  flex-direction:column;
  gap: 6px;
  text-align:center;
  align-items:center;
}

/* MODAL */
.modal{ position:fixed; inset:0; display:none; z-index:100; }
.modal.isOpen{ display:block; }
.modal__overlay{
  position:absolute; inset:0;
  background: rgba(0,0,0,.42);
  backdrop-filter: blur(8px);
}
.modal__panel{
  position:relative;
  width:min(980px,92vw);
  margin: 4vh auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius: calc(var(--radius) + 6px);
  box-shadow: 0 20px 55px rgba(16,24,40,.20);
  overflow:hidden;
  max-height: 92vh;
  display:flex;
  flex-direction:column;
}
.modal__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 12px;
  padding: 16px 16px 10px;
  border-bottom:1px solid var(--line);
  flex: 0 0 auto;
}
.iconBtn{
  border:1px solid var(--line);
  background:#fff;
  border-radius: 12px;
  padding: 8px 10px;
  cursor:pointer;
}
.iconBtn:hover{ background:#F9FAFB; }

.modal__body{
  padding: 16px;
  overflow:auto;
  flex: 1 1 auto;
}

.modalTop{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 14px;
}
.picked{
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px;
  background:#fff;
  display:flex;
  gap: 12px;
  align-items:center;
}
.pickedThumb{
  width: 120px;
  height: 78px;
  border-radius: 16px;
  border:1px solid var(--line);
  overflow:hidden;
  background:#F2F4F7;
  flex: 0 0 auto;
  display:flex;align-items:center;justify-content:center;
}
.pickedThumb img{ width:100%; height:100%; object-fit:contain; padding:6px; display:block; }
.pickedTitle{ margin:0; font-weight:1100; }
.pickedSub{ margin:4px 0 0; color: var(--muted); }

.pickedPrice{
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px;
  background:#fff;
}
.pickedPrice__row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 8px 0;
  border-bottom:1px dashed #EEF2F6;
}
.pickedPrice__row:last-of-type{ border-bottom:none; }
.pickedPrice__total{
  margin-top: 10px;
  padding-top: 10px;
  border-top:1px solid var(--line);
}
.pickedPrice__big{
  font-size: 26px;
  font-weight:1200;
  color: var(--orange);
  margin-top: 4px;
}

.form{
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px;
  background:#fff;
}
.form__grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.field{ display:grid; gap: 6px; }
.field span{ font-size: 12.5px; font-weight:1000; color:#344054; }
.field input{
  width:100%;
  padding: 12px 12px;
  border-radius: 14px;
  border:1px solid #E6E7EA;
  outline:none;
}
.field input:focus{
  border-color: rgba(255,106,0,.55);
  box-shadow: 0 0 0 5px rgba(255,106,0,.12);
}
.hint{ font-size:12px; color: var(--muted); }
.inline{ display:flex; gap:10px; align-items:center; }

.radioRow{ display:flex; gap: 16px; align-items:center; padding: 6px 0; }
.radio{ display:flex; gap: 8px; align-items:center; cursor:pointer; font-weight:900; color:#344054; }

.alert{
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  border:1px solid rgba(255,106,0,.35);
  background: rgba(255,106,0,.10);
  color:#7c2d12;
  font-weight:1100;
}

.form__actions{
  margin-top: 12px;
  display:flex;
  gap: 10px;
  justify-content:flex-end;
  flex-wrap:wrap;
}

@media (max-width: 1060px){
  .fleetSlide{ width: 92vw; }
  .fleetRow{ grid-template-columns: 1fr; }
  .carSide{ border-right:none; border-bottom:1px solid var(--line); }
  .modalTop{ grid-template-columns: 1fr; }
  .simCard{ max-width: 100%; }
  .heroCover{ height: min(440px, 62vh); }
  .heroCover__content{ padding-bottom: 28px; }
  .benefitsGrid{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  .form__grid{ grid-template-columns: 1fr; }
  .ctrlRow{ grid-template-columns: 1fr; }
  .heroCover__headline{ font-size: 28px; }
}

/* ===== MOOVI | HERO ÚNICO (imagem + overlay laranja + logo + textos) =====
   Alvo: ficar igual ao mockup do Corel: tudo integrado, sem divisória.
*/

/* Container mais consistente */
.container{
  width: min(1120px, calc(100% - 40px));
}

/* TOPO: fica sobre o hero, sem cor sólida (a cor vem do overlay do hero) */
.topbar{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:30;
  background: transparent !important;
  border-bottom: none !important;
}
.topbar--logoOnly{ padding: 22px 0; }
.topbar__inner--logoOnly{ justify-content:center; }
.brand__logo{
  height: clamp(60px, 12vw, 500px);
  width:auto;
  display:block;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.30));
}

/* HERO: imagem de fundo com overlay laranja contínuo */
.heroCover{
  position: relative;
  width: 100%;
  height: min(720px, 80vh);
  overflow: hidden;
  background: #000;
}

/* mantém a imagem preenchendo */
.heroCover__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  transform: scale(1.02);
  filter: brightness(.88) contrast(1.05);
}

/* overlay laranja (a "arte" inteira) */
.heroCover__overlay--soft{
  position:absolute;
  inset:0;
  background: rgba(255,106,0,.78);
  mix-blend-mode: multiply; /* deixa a foto aparecer melhor por baixo */
}

/* leve vinheta p/ dar leitura nas letras (não cria faixa) */
.heroCover::after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(1200px 520px at 20% 75%, rgba(0,0,0,.45), rgba(0,0,0,0) 55%);
  pointer-events:none;
}

/* Conteúdo: alinhado para esquerda/baixo como no mockup */
.heroCover__content{
  position: relative;
  z-index: 10;
  height: 100%;
  display:flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 0 0 56px 0;
  text-align:left;
}

/* bloco de texto SEM cartão pesado: só um sombreado suave atrás */
.heroCover__stack{
  width: min(520px, 100%);
  padding: 14px 0;
}

/* Tipografia mais "premium" e menor */
.heroCover__headline{
  margin: 0 0 8px 0;
  font-weight: 1000;
  letter-spacing: .4px;
  font-size: clamp(22px, 3.2vw, 34px);
  line-height: 1.06;
  text-shadow: 0 14px 28px rgba(0,0,0,.35);
}
.heroCover__subtitle{
  margin: 0 0 14px 0;
  font-size: clamp(13px, 1.4vw, 15px);
  opacity: .95;
  text-shadow: 0 10px 20px rgba(0,0,0,.30);
}

/* bullets com check verde, alinhados */
.heroCover__bullets{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.heroCover__bullets li{
  position: relative;
  padding-left: 34px;
  font-weight: 850;
  font-size: 14px;
  text-shadow: 0 10px 20px rgba(0,0,0,.30);
}
.heroCover__bullets li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  display:grid;
  place-items:center;
  border-radius: 999px;
  background: rgba(34,197,94,.95);
  color:#fff;
  font-weight: 1000;
  box-shadow: 0 12px 22px rgba(0,0,0,.22);
}

/* Mobile: ajusta respiro e evita "quebrar" */
@media (max-width: 640px){
  .topbar--logoOnly{ padding: 16px 0; }
  .heroCover__content{ padding-bottom: 26px; }
  .heroCover{ height: min(620px, 84vh); }
}

/* =========================
   ✅ FAIXA LARANJA (ÍCONES MELHORADOS)
   ========================= */
.heroBand{
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  padding: 26px 0;
}

.heroBand__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items:center;
}

.heroBand__item{
  display:flex;
  align-items:center;
  gap: 14px;
  color:#fff;
}

.heroBand__icon{
  width: 62px;
  height: 62px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
  box-shadow: 0 16px 30px rgba(0,0,0,.18);
  backdrop-filter: blur(8px);
}

.heroBand__icon svg{
  width: 30px;
  height: 30px;
  color: #fff;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.22));
}

.heroBand__text h3{
  margin:0 0 4px;
  font-size: 13px;
  font-weight: 1100;
  letter-spacing: .10em;
}

.heroBand__text p{
  margin:0;
  color: rgba(255,255,255,.92);
  font-weight: 850;
  font-size: 13px;
  line-height: 1.3;
}

@media (max-width: 900px){
  .heroBand__grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* ====== AJUSTES SOLICITADOS (SEM REMOVER NADA) ====== */

/* Carro por assinatura - full width */
.signatureStrip img{
  width:100%;
  display:block;
  height:auto;
}

/* Sem complicação: 2 cards centralizados */
.benefitsGrid--center{
  grid-template-columns: repeat(2, minmax(260px, 520px));
  justify-content: center;
  gap: 18px;
}
@media (max-width: 900px){
  .benefitsGrid--center{
    grid-template-columns: 1fr;
  }
}

/* Anúncio embaixo, centralizado e maior */
.adBox--center{
  margin-top: 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap: 10px;
}
.adBox--center .adImage{
  width: 100%;
  max-width: 720px; /* ✅ maior */
  height: auto;
  display:block;
}

/* ================================
   COMPACTAR ORÇAMENTO (SEM REMOVER NADA, SEM SCROLL)
   Objetivo: caber tudo no espaço do print
================================= */
.simCard{
  padding: 12px !important;
  gap: 10px !important;
  border-radius: 18px !important;
}

/* topo: preço e select menores */
.simPrice{ font-size: 28px !important; }
.simLabel{ font-size: 11px !important; }
.simTop{ gap: 10px !important; }

/* controles */
.ctrlRow{ gap: 10px !important; }
.ctrl span{ font-size: 11.5px !important; }
.select, .date{
  padding: 10px 10px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
}

/* franquia */
.kmLine{
  padding: 10px 10px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
}

/* itens obrigatórios */
.feesBox{
  padding: 10px !important;
  border-radius: 14px !important;
  overflow: visible !important;   /* ✅ sem scroll */
  max-height: none !important;
  flex: 0 0 auto !important;
}
.feesTitle{
  margin-bottom: 6px !important;
  font-size: 12.5px !important;
}
.feesList{ gap: 8px !important; }
.feeRow{
  padding: 8px 10px !important;
  border-radius: 12px !important;
}
.feeRow strong{ font-size: 13px !important; }
.feeRow .muted{ font-size: 11px !important; }

/* total */
.totalBox{
  padding: 10px 12px !important;
  border-radius: 14px !important;
}
.totalBox .tLabel{ font-size: 12.5px !important; }
.totalBox .tValue{ font-size: 20px !important; }

.totalSub{
  font-size: 11.5px !important;
  line-height: 1.25 !important;
}

/* botão */
.simCard .btn{
  padding: 11px 14px !important;
  font-size: 13px !important;
}

/* ====== SEM COMPLICAÇÃO (2 CARDS + ANÚNCIO CENTRAL) ====== */
.benefitsGrid--center{
  grid-template-columns: repeat(2, minmax(280px, 520px));
  justify-content: center;
  gap: 18px;
}
@media (max-width: 900px){
  .benefitsGrid--center{ grid-template-columns: 1fr; }
}

.adBox--center{
  margin-top: 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap: 10px;
}
.adBox--center .adImage{
  width: 100%;
  max-width: 780px; /* ✅ maior e centralizado */
  height: auto;
  display:block;
}

/* ====== ORÇAMENTO MAIS COMPACTO (CABER NO ESPAÇO DO PRINT) ====== */
.simCard{
  padding: 10px !important;
  gap: 8px !important;
  border-radius: 18px !important;
}

.simPrice{ font-size: 26px !important; }
.simLabel{ font-size: 10.5px !important; }

.ctrlRow{ gap: 8px !important; }
.select, .date{
  padding: 9px 10px !important;
  font-size: 12.5px !important;
}

.kmLine{
  padding: 9px 10px !important;
  font-size: 12.5px !important;
}

.feesBox{
  padding: 9px !important;
  overflow: visible !important; /* sem scroll */
}

.feeRow{
  padding: 7px 10px !important;
}
.feeRow strong{ font-size: 12.5px !important; }
.feeRow .muted{ font-size: 10.5px !important; }

.totalBox{
  padding: 9px 12px !important;
}
.totalBox .tValue{ font-size: 19px !important; }

.totalSub{
  font-size: 11px !important;
  line-height: 1.22 !important;
}

.simCard .btn{
  padding: 10px 14px !important;
  font-size: 13px !important;
}

/* =========================
   ✅ WHATSAPP FLOAT BUTTON
   ========================= */
.whatsappFloat{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: #22c55e;
  color:#fff;
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
  z-index: 120;
  transition: transform .12s ease, filter .12s ease;
}
.whatsappFloat:hover{ transform: translateY(-2px); filter: brightness(1.03); }
.whatsappFloat:active{ transform: translateY(0px); }
.whatsappFloat svg{
  width: 30px;
  height: 30px;
  display:block;
}
@media (max-width: 520px){
  .whatsappFloat{
    right: 14px;
    bottom: 14px;
    width: 52px;
    height: 52px;
  }
}
