/* ─────────────────────────────────────────────────────────────
   landing-v2.css — Novo visual da landing page (Nehood)
   Carregado APENAS em app/Views/landing/index.php (via <link>).
   Não substitui landing.css (compartilhado por categorias,
   termos, privacidade, faq e contato).
   ───────────────────────────────────────────────────────────── */
:root{
  --ink:#181310;
  --ink-soft:#4A423C;
  --paper:#FBF8F4;
  --paper-alt:#F1EAE1;
  --line:#E4DACD;
  --red:#D81C34;
  --red-deep:#93101F;
  --red-soft:#F6DEE1;
  --white:#FFFFFF;
  --radius-s:10px;
  --radius-m:16px;
  --radius-l:28px;
  --maxw:1180px;
  --font-head:'Space Grotesk', sans-serif;
  --font-body:'Inter', sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
:focus-visible{outline:2.5px solid var(--red); outline-offset:3px;}

h1,h2,h3{font-family:var(--font-head); font-weight:600; letter-spacing:-0.01em; line-height:1.08;}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 26px; border-radius:999px; font-weight:600; font-size:15px;
  border:1.5px solid transparent; cursor:pointer; transition:transform .15s ease, background .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.btn:active{transform:scale(0.97);}
.btn-primary{background:var(--ink); color:var(--white);}
.btn-primary:hover{background:#000;}
.btn-onred{background:var(--white); color:var(--red-deep);}
.btn-onred:hover{background:#FFF0F1;}
.btn-ghost-onred{border-color:rgba(255,255,255,0.55); color:var(--white); background:transparent;}
.btn-ghost-onred:hover{border-color:#fff; background:rgba(255,255,255,0.08);}
.btn-ghost{border-color:var(--line); color:var(--ink); background:transparent;}
.btn-ghost:hover{border-color:var(--ink);}

/* NAV */
header.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(251,248,244,0.88); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-row{display:flex; align-items:center; justify-content:space-between; height:76px;}
.logo{display:flex; align-items:center; gap:9px; font-family:var(--font-head); font-weight:700; font-size:20px;}
.logo svg{width:26px; height:26px;}
.nav-links{display:flex; gap:34px; font-size:14.5px; font-weight:500; color:var(--ink-soft);}
.nav-links a:hover{color:var(--ink);}
.nav-cta{display:flex; align-items:center; gap:12px;}
.nav-toggle{display:none;}

/* HERO */
.hero{background:var(--red-deep); color:var(--white); position:relative; overflow:hidden;}
.hero .wrap{
  display:grid; grid-template-columns:1.05fr 0.95fr; align-items:center; gap:56px;
  padding-top:88px; padding-bottom:96px; position:relative; z-index:2;
}
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.22);
  padding:7px 16px; border-radius:999px; font-size:13.5px; font-weight:500; margin-bottom:26px;
}
.hero-eyebrow svg{width:14px; height:14px;}
.hero h1{font-size:clamp(38px, 4.6vw, 58px); margin-bottom:22px;}
.hero p.lede{font-size:18px; color:rgba(255,255,255,0.86); max-width:46ch; margin-bottom:34px;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px;}
.hero-note{font-size:13.5px; color:rgba(255,255,255,0.75);}
.hero-social-proof{margin-top:10px; font-size:13.5px; color:rgba(255,255,255,0.75);}

.hero-blob{
  position:absolute; right:-180px; top:-220px; width:620px; height:620px; border-radius:50%;
  background:radial-gradient(circle at 35% 35%, rgba(255,255,255,0.06), rgba(255,255,255,0) 70%);
  z-index:1; pointer-events:none;
}

/* Phone mockup */
.device-stage{position:relative; display:flex; justify-content:center;}
.phone{
  width:290px; background:var(--paper); border-radius:34px; padding:14px;
  box-shadow:0 30px 60px -18px rgba(0,0,0,0.55), 0 2px 0 rgba(255,255,255,0.06) inset;
  transform:rotate(3deg);
}
.phone-screen{background:var(--white); color:var(--ink); border-radius:22px; overflow:hidden;}
.phone-topbar{display:flex; align-items:center; justify-content:space-between; padding:14px 16px 10px; font-size:12px; color:var(--ink-soft); font-weight:600;}
.phone-header{padding:2px 16px 14px; border-bottom:1px solid var(--line);}
.phone-header .name{font-family:var(--font-head); font-weight:600; font-size:16px;}
.phone-header .tag{font-size:12px; color:var(--ink-soft); margin-top:2px;}
.menu-item{display:flex; gap:12px; align-items:center; padding:13px 16px; border-bottom:1px solid var(--paper-alt);}
.thumb{width:44px; height:44px; border-radius:11px; flex-shrink:0;}
.thumb.c1{background:#EFB05A;}
.thumb.c2{background:#C4472E;}
.thumb.c3{background:#7C8A4A;}
.item-name{font-size:13.5px; font-weight:600;}
.item-desc{font-size:11.5px; color:var(--ink-soft); margin-top:2px;}
.item-price{margin-left:auto; font-size:13px; font-weight:700; color:var(--red);}

.toast{
  position:absolute; left:50%; bottom:-18px; transform:translateX(-50%);
  background:var(--ink); color:var(--white); padding:12px 18px; border-radius:14px;
  display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600;
  box-shadow:0 18px 34px -10px rgba(0,0,0,0.5);
  opacity:0; animation:toastIn .6s ease-out 1.1s forwards;
  white-space:nowrap;
}
.toast .dot{width:20px; height:20px; border-radius:50%; background:var(--red); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.toast svg{width:11px; height:11px;}
@keyframes toastIn{
  0%{opacity:0; transform:translate(-50%, 14px);}
  100%{opacity:1; transform:translate(-50%, 0);}
}
@media (prefers-reduced-motion: reduce){
  .toast{animation:none; opacity:1; transform:translateX(-50%);}
}

/* FEATURE STRIP */
.feature-strip{background:var(--paper); border-bottom:1px solid var(--line);}
.feature-strip .wrap{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
  padding:44px 32px;
}
.feature{display:flex; gap:14px; align-items:flex-start;}
.feature .icon{
  width:38px; height:38px; border-radius:11px; background:var(--red-soft);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.feature .icon svg{width:18px; height:18px; color:var(--red-deep);}
.feature h2{font-size:15.5px; font-weight:600; margin-bottom:3px;}
.feature p{font-size:13.5px; color:var(--ink-soft);}

/* SECTION generic */
section{padding:92px 0;}
.section-head{max-width:560px; margin-bottom:52px;}
.section-head h2{font-size:clamp(26px,3vw,34px); margin-bottom:12px;}
.section-head p{font-size:16px; color:var(--ink-soft);}
.alt-bg{background:var(--paper-alt);}

/* CATEGORIES */
.cat-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
.cat-card{
  border:1px solid var(--line); border-radius:var(--radius-m); padding:26px 18px; text-align:center;
  background:var(--paper); transition:border-color .15s ease, transform .15s ease;
}
.cat-card:hover{border-color:var(--red-deep); transform:translateY(-3px);}
.cat-icon{width:46px; height:46px; border-radius:13px; background:var(--ink); display:flex; align-items:center; justify-content:center; margin:0 auto 14px;}
.cat-icon svg{width:22px; height:22px; color:var(--white);}
.cat-card .name{font-size:14.5px; font-weight:600;}

/* PRICING */
.pricing-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:24px; align-items:stretch;}
.pricing-grid.plans-2{grid-template-columns:1fr 1fr;}
.price-card{border-radius:var(--radius-l); padding:38px; border:1px solid var(--line); background:var(--paper); display:flex; flex-direction:column;}
.price-card.primary{background:var(--ink); color:var(--white); border-color:var(--ink); position:relative;}
.price-tag{
  display:inline-block; background:var(--red); color:var(--white); font-size:12.5px; font-weight:700;
  padding:5px 13px; border-radius:999px; margin-bottom:20px; align-self:flex-start;
}
.price-card.primary h3{font-size:20px; margin-bottom:6px;}
.price-card:not(.primary) h3{font-size:20px; margin-bottom:6px;}
.price-row{display:flex; align-items:baseline; gap:8px; margin:18px 0 24px;}
.price-row .amount{font-family:var(--font-head); font-size:44px; font-weight:700;}
.price-card.primary .price-row .period{font-size:14px; color:rgba(255,255,255,0.6);}
.price-card:not(.primary) .price-row .period{font-size:14px; color:var(--ink-soft);}
.price-list{display:flex; flex-direction:column; gap:12px; margin-bottom:8px; flex:1;}
.price-list li{display:flex; gap:10px; align-items:flex-start; font-size:14.5px;}
.price-list svg{width:17px; height:17px; flex-shrink:0; margin-top:2px; color:var(--red);}
.price-card.primary .price-list svg{color:#FF6B7A;}
.plan-cta{margin-top:26px; width:100%;}

.price-card.secondary h3{font-size:18px; margin-bottom:4px;}
.price-card.secondary .via{font-size:13px; color:var(--red-deep); font-weight:600; margin-bottom:22px;}
.fee-row{display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--line); font-size:14.5px;}
.fee-row:last-of-type{border-bottom:none;}
.fee-row .val{font-weight:700;}

/* Fees box — transparência das taxas Asaas */
.fees-box{
  margin-top:28px; border-radius:var(--radius-l); padding:34px 38px;
  background:var(--white); border:1.5px solid var(--red); box-shadow:0 10px 30px -18px rgba(216,28,52,0.35);
}
.fees-box h3{font-size:19px; margin-bottom:10px;}
.fees-box > p{font-size:14.5px; color:var(--ink-soft); margin-bottom:14px; max-width:72ch;}
.fees-box .fee-row{font-size:14.5px;}
.fees-note{
  margin-top:18px; padding:14px 16px; border-radius:12px; background:var(--red-soft);
  font-size:14px; color:var(--red-deep); line-height:1.5;
}

.disclaimer{margin-top:26px; font-size:12.5px; color:var(--ink-soft); border-top:1px solid var(--line); padding-top:20px;}
.disclaimer a{text-decoration:underline;}

/* HOW IT WORKS */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.step .num{
  width:36px; height:36px; border-radius:50%; background:var(--red); color:var(--white);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:700; font-size:15px;
  margin-bottom:18px;
}
.step h3{font-size:16px; margin-bottom:8px;}
.step p{font-size:14px; color:var(--ink-soft);}

/* TESTIMONIALS */
.testi-section{background:var(--ink); color:var(--white);}
.testi-section .section-head p{color:rgba(255,255,255,0.62);}
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.testi-card{
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius-m); padding:28px;
}
.stars{display:flex; gap:3px; margin-bottom:16px;}
.stars svg{width:15px; height:15px; color:var(--red);}
.testi-card blockquote{font-size:15.5px; font-style:italic; line-height:1.55; margin-bottom:20px; color:rgba(255,255,255,0.92);}
.testi-who .who-name{font-weight:600; font-size:14px;}
.testi-who .who-role{font-size:12.5px; color:rgba(255,255,255,0.55); margin-top:2px;}

/* FOOTER */
footer{background:var(--ink); color:rgba(255,255,255,0.75); border-top:1px solid rgba(255,255,255,0.1);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding:64px 0 40px;}
.footer-brand .logo{color:var(--white); margin-bottom:14px;}
.footer-brand p{font-size:13.5px; color:rgba(255,255,255,0.55); max-width:34ch; margin-bottom:20px;}
.footer-col h3{font-family:var(--font-body); font-size:13px; text-transform:none; font-weight:600; letter-spacing:normal; line-height:1.5; color:var(--white); margin-bottom:16px;}
.footer-col li{margin-bottom:10px; font-size:13.5px;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1); padding:22px 0; font-size:12.5px; color:rgba(255,255,255,0.45); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
.footer-bottom a{color:rgba(255,255,255,0.45);}
.footer-bottom a:hover{color:var(--white);}

/* RESPONSIVE */
@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr; padding-top:56px;}
  .device-stage{margin-top:20px;}
  .feature-strip .wrap{grid-template-columns:1fr; gap:24px; padding:36px 32px;}
  .cat-grid{grid-template-columns:repeat(3,1fr);}
  .pricing-grid.plans-2{grid-template-columns:1fr;}
  .fees-box{padding:28px 24px;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .testi-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}
  .nav-links{display:none;}
}
@media (max-width:560px){
  .wrap{padding:0 20px;}
  section{padding:64px 0;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero-actions{flex-direction:column; align-items:stretch;}
  .phone{width:240px;}
}