
/* ==============================
   VARIÁVEIS E RESET
=================================*/
:root{
  /* Cores */
  --bg-cream-0:#fff7ed;
  --bg-cream-1:#fff;
  --text-900:#111827;
  --text-700:#374151;
  --text-600:#6b7280;

  --brand-orange:#f97316;
  --brand-red:#dc2626;
  --brand-yellow:#fbbf24;

  --green-600:#16a34a;
  --green-700:#15803d;

  --border-amber:#fdba74;
  --border-soft:#e5e7eb;

  /* Dimensões globais */
  --container:1200px;
  --radius:18px;
  --shadow:0 10px 20px rgba(0,0,0,.10);

  /* Tipografia base */
  --h1:48px;
  --h2:36px;
  --h3:22px;
  --body:16px;

  /* Espaçamento por seção (desktop) */
  --sec-pad:64px;

  /* Barra fixa */
  --bar-h-desktop:58px;
}

/* MOBILE scale */
@media (max-width: 768px){
  :root{
    --h1:32px;
    --h2:26px;
    --h3:18px;
    --body:15px;
    --sec-pad:40px;
  }
}

/* RESET essencial */
*{box-sizing:border-box; margin:0; padding:0}
html,body{overflow-x:hidden; background:linear-gradient(to bottom,var(--bg-cream-0),var(--bg-cream-1)); color:var(--text-900)}
img,video,iframe{max-width:100%; display:block; height:auto}
a{color:inherit; text-decoration:none}

/* Helpers */
.container{max-width:var(--container); margin:0 auto; padding:0 20px}
.section{padding:var(--sec-pad) 0}
.center{text-align:center}
.badge{
  display:inline-block;
  background:linear-gradient(to right, var(--brand-orange), var(--brand-red));
  color:#fff; font-weight:700;
  padding:10px 18px; border-radius:999px;
  box-shadow:var(--shadow);
}
.btn{
  display:inline-block; font-weight:800; letter-spacing:.2px;
  padding:14px 24px; border-radius:14px; border:none; cursor:pointer;
  transition:.2s ease; text-align:center
}
.btn-primary{background:linear-gradient(to right,#22c55e,var(--green-600)); color:#fff}
.btn-primary:hover{transform:translateY(-1px); box-shadow:0 12px 20px rgba(0,0,0,.12)}
.btn-outline{background:#fff; color:var(--brand-red)}
h1{font-size:var(--h1); line-height:1.15; font-weight:800}
h2{font-size:var(--h2); line-height:1.2; font-weight:800}
h3{font-size:var(--h3); font-weight:800}

/* ==============================
   BARRA FIXA
=================================*/
.fixed-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:1000;
  background:linear-gradient(to right,var(--brand-red),var(--brand-orange));
  color:#fff; height:var(--bar-h-desktop);
  display:flex; align-items:center;
  transition:transform .25s ease, opacity .2s ease;
}
.fixed-bar.is-hidden{ transform:translateY(110%); opacity:0; pointer-events:none; }
.fixed-bar .wrap{
  max-width:var(--container); margin:0 auto; padding:0 16px;
  display:flex; gap:16px; align-items:center; justify-content:space-between; width:100%;
}
.fixed-bar p{font-weight:800; font-size:15px}
body{padding-bottom:calc(var(--bar-h-desktop) + 8px)}
@media (max-width:768px){
  .fixed-bar{height:auto; padding:8px 0}
  .fixed-bar .wrap{flex-direction:column; text-align:center; gap:8px}
  .fixed-bar .btn{width:100%; padding:10px 14px; font-size:14px}
  .fixed-bar p{font-size:13px; line-height:1.2}
}
/* versão de texto */
.fixedbar-long{ display:inline; }
.fixedbar-short{ display:none; }
@media (max-width: 768px){
  .fixedbar-long{ display:none; }
  .fixedbar-short{ display:inline; }
}

/* ==============================
   HERO
=================================*/
/* Espaçamento do HERO (mais compacto) */
.hero.section{ padding:32px 0 48px; }

/* Padding do hero (apenas um ponto de verdade) */
.hero{ position:relative; overflow:hidden; padding-top:84px; }
@media (max-width:768px){ .hero{ padding-top:10px; } }

/* Grid do hero */
.hero .grid{
  display:grid; gap:32px; align-items:center;
  grid-template-columns: 1.05fr .95fr;
}
@media (max-width:992px){ .hero .grid{ grid-template-columns:1fr; } }

.hero p{ color:var(--text-700) }
.hero .highlight{
  background:linear-gradient(to right,var(--brand-orange),var(--brand-red));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

/* Logo no topo */
.logo-wrap{ width:30%; display:flex; justify-content:center; align-items:center; }
.hero-logo{ display:block; max-width:100px; width:100%; }
@media (max-width:768px){
  .hero .grid{ gap:12px; justify-items:center; }
  .hero .grid > div{ width:100%; text-align:center; }
  .logo-wrap{ margin:4px auto 6px; }
  .hero-logo{ max-width:180px; }
}

/* Texto acima do vídeo */
.video-caption{ color:#0f172a; font-weight:600; text-align:center; margin-bottom:8px; }

/* Vídeo + iframe (uma única definição) */
.video-wrap{
  border-radius:22px; overflow:hidden; box-shadow:0 25px 50px -15px rgba(0,0,0,.35);
  background:linear-gradient(135deg,#1f2937,#0b1220);
  position:relative; width:100%; aspect-ratio:16/9;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:14px;
}
.video-wrap iframe,
.video-wrap video{
  position:absolute; inset:0; width:100%; height:100%; border:0; display:block;
}
@media (max-width:768px){
  .video-wrap{ margin-bottom:12px; }
}

/* Botões do hero */
.hero .grid > div:first-child .btn{
  font-size:16px; padding:12px 22px; margin-top:6px; border-radius:12px;
}
.hero .grid > div:last-child .btn{
  font-size:15px; padding:10px 18px; margin-top:14px; border-radius:12px;
}
@media (max-width:768px){
  .hero .grid > div .btn{ font-size:15px; padding:12px 16px; border-radius:12px; }
  .hero .grid > div:last-child .btn{ margin-top:12px; }
}
/* alinhamento do botão sob o vídeo no desktop */
@media (min-width:992px){
  .hero .grid > div:last-child{ display:flex; flex-direction:column; align-items:center; }
  .hero .grid > div:last-child .btn{ align-self:center; margin-top:16px; }
}

/* Acessibilidade/SEO */
.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;
}

/* ==============================
   SEÇÕES DIVERSAS
=================================*/
.target{background:linear-gradient(to bottom,var(--bg-cream-0),#fff)}
.cards{display:grid; gap:28px; grid-template-columns:repeat(2,1fr); max-width:1000px; margin:0 auto}
.card{
  background:#fff; border:1px solid var(--border-soft); border-radius:20px;
  padding:28px; box-shadow:var(--shadow); min-height:320px
}
.card.good{border-color:#86efac}
.card.bad{border-color:#fca5a5; background:#fff}
.card h3{color:var(--green-700); margin-bottom:14px}
.card.bad h3{color:#b91c1c}
.card ul{list-style:none; margin-top:10px}
.card li{display:flex; gap:10px; color:var(--text-700); margin:10px 0}
.card li:before{content:"✓"; color:var(--green-600); font-weight:800}
.card.bad li:before{content:"✗"; color:var(--brand-red)}
@media (max-width:900px){ .cards{grid-template-columns:1fr} .card{min-height:auto} }

.features{background:#f7f1e8}
.features .grid{ display:grid; gap:32px; align-items:center; grid-template-columns:.9fr 1.1fr; }
.pills{display:grid; gap:14px}
.pill{
  display:flex; gap:14px; align-items:center; background:#1f1b16; color:#fff;
  padding:14px 18px; border-radius:12px; box-shadow:var(--shadow)
}
.pill .n{width:28px; height:28px; display:grid; place-items:center; border-radius:999px; background:#fff; color:#8b2b1f; font-weight:800}
@media (max-width:992px){ .features .grid{grid-template-columns:1fr} }

.included{background:#0b0b0b; color:#fff}
.included .grid{ display:grid; gap:32px; grid-template-columns:1fr 1fr; align-items:center }
.in-list{display:grid; gap:14px}
.in-item{
  display:flex; gap:12px; align-items:center; background:#fff; color:#111; border-radius:12px;
  padding:14px 18px; box-shadow:var(--shadow); max-width:560px
}
.in-item:before{content:"📘"; font-size:18px}
.in-item:nth-child(2):before{content:"🎬"}
.in-item:nth-child(3):before{content:"🏆"}
.in-item:nth-child(4):before{content:"♾"}
.in-item:nth-child(5):before{content:"📅"}
@media (max-width:992px){ .included .grid{grid-template-columns:1fr} }

.pricing{background:linear-gradient(to bottom,var(--bg-cream-0),#fff)}
.price-card{
  background:#fff; border:4px solid var(--border-amber); border-radius:26px;
  padding:28px; max-width:640px; margin:0 auto; text-align:center;
  box-shadow:0 25px 50px -12px rgba(0,0,0,.25)
}
.price-old{color:#9ca3af; text-decoration:line-through; font-size:24px}
.price-big{font-size:64px; font-weight:900; color:var(--brand-orange); line-height:1; margin:10px 0}
.price-note{color:var(--text-700)}
.price-includes{background:#fff7ed; border-radius:16px; padding:18px; margin-top:18px; text-align:left}
.price-includes li{display:flex; gap:10px; margin:8px 0; color:var(--text-700)}
.price-includes li:before{content:"✓"; color:var(--green-600); font-weight:900}
.price-sec{font-size:14px; color:var(--text-600); margin-top:10px}

.guarantee .grid{ display:grid; gap:28px; grid-template-columns:1fr 4fr; align-items:center }
.guarantee .panel{ background:#0f0f10; color:#fff; border-radius:18px; padding:24px; box-shadow:var(--shadow) }
.guarantee .panel p{color:#d1d5db}
@media (max-width:992px){ .guarantee .grid{grid-template-columns:1fr} }

.chef{background:linear-gradient(to bottom,var(--bg-cream-0),#fff)}
.chef .grid{display:grid; gap:28px; grid-template-columns:1fr 1fr; align-items:center}
.stat{display:flex; gap:18px; margin-top:16px}
.stat .b{flex:1; text-align:center}
.stat .n{font-size:28px; font-weight:900; color:var(--brand-orange)}
.stat .l{font-size:12px; color:var(--text-600)}
@media (max-width:992px){ .chef .grid{grid-template-columns:1fr} }

.faq .wrap{max-width:900px; margin:0 auto}
.q{width:100%; text-align:left; background:#fff; border:1px solid var(--border-soft); padding:18px; border-radius:12px; font-weight:800; cursor:pointer}
.a{display:none; padding:0 12px 12px; color:var(--text-700)}
.item{margin-bottom:12px; box-shadow:var(--shadow); border-radius:12px; overflow:hidden}
.item.open .a{display:block}

/* CTA FINAL + FOOTER */
.cta-final .btn{font-size:18px; padding:14px 18px}
.footer{background:#111827; color:#fff}
.footer .grid{display:grid; gap:28px; grid-template-columns:repeat(3,1fr)}
.footer h4{font-size:20px; margin-bottom:10px}
.footer p{color:#e5e7eb}
.footer .copyright{border-top:1px solid #374151; margin-top:22px; padding-top:16px; color:#9ca3af}
@media (max-width:992px){ .footer .grid{grid-template-columns:1fr} }

/* ==============================
   Foto do CHEF Desktop/Mobile
=================================*/
.hero-portrait{ display:none; }
@media (min-width:992px){
  .hero{
    background-image:none;
    background-repeat:no-repeat; background-position:right bottom;
    background-size:520px auto;
  }
}
@media (max-width:991px){
  .hero{ background-image:none; }
  .hero-portrait{ display:block; margin:0; line-height:0; }
  .hero-portrait img{ width:100%; height:auto; display:block; }
}

/* ==============================
   PROVAS SOCIAIS (masonry)
=================================*/
.proofs-section{ background:#fff; }
.proofs{ column-count:2; column-gap:30px; }
.proof{ display:inline-block; width:75%; margin:0 0 20px; break-inside:avoid; }
.proof img{
  width:100%; height:auto; border-radius:24px;
  box-shadow:0 10px 18px rgba(0,0,0,.10);
  border:1px solid #e5e7eb; transition:transform .2s ease, box-shadow .2s ease; background:#fff;
}
.proof:hover img{ transform:translateY(-3px); box-shadow:0 16px 28px rgba(0,0,0,.16); }
@media (max-width:1024px){ .proofs{ column-count:2; } }
@media (max-width:600px){ .proofs{ column-count:1; } }

/* ==============================
   Depoimentos (prints) — cards
=================================*/
.depo-prints{ padding:48px 0; background:#fff7ed; }
.depo-prints .container{ max-width:1200px; margin:0 auto; padding:0 20px; }
.depo-grid{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; align-items:start; }
.depo-card{
  background:#fff; border:1px solid #e5e7eb; border-radius:14px;
  padding:10px; box-shadow:0 10px 20px rgba(0,0,0,.06);
}
.depo-img{
  width:100%; height:420px; object-fit:cover; object-position:top;
  border-radius:10px; display:block;
}
.depo-prints h2{ text-align:center; margin-bottom:10px; font-weight:800; }
.depo-prints .sub{ text-align:center; color:#6b7280; margin-bottom:22px; font-size:14px; }
@media (max-width:768px){ .depo-grid{ grid-template-columns:1fr; } .depo-img{ height:280px; } }

/* ==============================
   Containers Full-width desktop
=================================*/
@media (min-width:1200px){
  .container{
    max-width:100%;
    padding-left:clamp(24px, 4vw, 72px);
    padding-right:clamp(24px, 4vw, 72px);
  }
}
.container-narrow{ max-width:var(--container); margin:0 auto; padding:0 20px; }


/* Ajustes pontuais para a página funcionar sem o tema do WordPress. */
@font-face{font-family:Figtree;src:url('assets/fonts/Figtree.ttf') format('truetype');font-style:normal;font-weight:300 900;font-display:swap}
body{font-family:Figtree,Arial,sans-serif;font-size:16px;line-height:1.65}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid #2563eb;outline-offset:4px}
.hero-logo{max-width:180px}
.hero .grid>*{min-width:0}
.hero .grid>.btn{width:100%;align-self:start}
.hero .grid{align-items:center}
.features img,.included img{width:100%;height:auto;border-radius:18px}
.pill .n{flex-shrink:0}
.price-big{font-size:clamp(48px,8vw,64px)}
.price-total{font-size:13px;color:var(--text-600);margin-top:4px}
.price-note.cash{font-size:14px}
.price-card{padding:clamp(18px,4vw,28px)}
.pricing{scroll-margin-top:12px}
.footer p{margin-bottom:10px}
.footer a{text-decoration:underline;text-underline-offset:3px}
.chef p,.guarantee .panel p{margin-top:12px}
.hero .grid>.btn{line-height:1.5}
.q{font-size:16px;line-height:1.45}
.q::after{content:'+';float:right;margin-left:12px;color:var(--green-700)}
.item.open .q::after{content:'−'}
.a{display:block;padding:12px 18px 18px}
.js-enabled .item:not(.open) .a{display:none}
.proof{cursor:zoom-in}
.lb{padding:48px 16px 16px;margin:auto;border:0;border-radius:16px;background:#fff;max-width:min(96vw,1100px);max-height:94vh;overflow:auto}
.lb:not([open]){display:none}
.lb::backdrop{background:rgba(0,0,0,.8)}
.lb img{max-width:100%;max-height:80vh;width:auto;height:auto;margin:auto;object-fit:contain}
.lb-close{position:absolute;right:8px;top:6px;width:36px;height:36px;border:0;border-radius:50%;background:#f1f5f9;cursor:pointer;font-size:22px;line-height:1}
body.modal-open{overflow:hidden}
.video-play{display:none;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#111;cursor:pointer}
.js-enabled .video-play{display:block}
.video-play>img,.video-fallback>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-play .play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:72px;height:50px;border-radius:14px;background:#f03;color:#fff;font:30px/1 Arial,sans-serif;box-shadow:0 3px 12px #0005}
.video-fallback{position:absolute;inset:0}
.video-fallback span{position:absolute;bottom:12px;left:12px;right:12px;background:#111c;color:#fff;padding:8px;border-radius:8px;text-align:center}
.js-enabled .video-fallback{display:none}
@media(max-width:768px){.logo-wrap{width:min(45%,180px)}.proof{width:100%}.fixed-bar .wrap{gap:6px}.stat{gap:8px}.stat .n{font-size:24px}.stat .l{font-size:11px}.hero .grid>.btn{margin:0}.hero-logo{max-width:180px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
