/* =====================================================
   BOX7 · HOME ENXUTA (out/2026)
   Carbono + verde neon, e-books logo abaixo do topo.
   Classes b7-* para não brigar com o style.css antigo.
===================================================== */

:root{
  --b7-neon:#D9FF00;
  --b7-red:#FF1744;
  --b7-ink:#F2F2F2;
  --b7-mute:#A9A9A9;
  --b7-card:rgba(22,22,22,.86);
  --b7-line:rgba(255,255,255,.09);
}

html:has(body.b7-home), body.b7-home{
  background:
    linear-gradient(rgba(7,7,7,.88),rgba(7,7,7,.88)),
    #070707 url("../img/WEB/carbono.webp") center top / 520px repeat scroll !important;
}
body.b7-home{ color:var(--b7-ink); }
.b7-home main section{ background:transparent; }
.b7-home *{ box-sizing:border-box; }
.b7-home img{ max-width:100%; display:block; }

.b7-wrap{ width:100%; max-width:1180px; margin:0 auto; padding:0 16px; }
.b7-sec{ padding:56px 0; position:relative; }
.b7-sec + .b7-sec{ border-top:1px solid var(--b7-line); }

.b7-tag{
  display:inline-block; font-size:12px; font-weight:700; letter-spacing:1.5px;
  text-transform:uppercase; color:#111; background:var(--b7-neon);
  padding:6px 14px; border-radius:30px; margin-bottom:14px;
}
.b7-h2{ font-size:clamp(24px,5.4vw,40px); line-height:1.18; font-weight:800; margin:0 0 10px; color:#fff; }
.b7-h2 em{ font-style:normal; color:var(--b7-neon); }
.b7-lead{ font-size:16px; line-height:1.6; color:var(--b7-mute); margin:0 0 26px; max-width:720px; }
.b7-center{ text-align:center; }
.b7-center .b7-lead{ margin-left:auto; margin-right:auto; }

/* botões */
.b7-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:50px; padding:12px 24px; border-radius:40px; font-weight:700;
  font-size:16px; text-decoration:none; transition:transform .2s, box-shadow .2s, background .2s;
  max-width:100%; text-align:center;
}
.b7-btn:active{ transform:scale(.98); }
.b7-btn-neon{ background:var(--b7-neon); color:#111; box-shadow:0 8px 26px rgba(217,255,0,.22); }
.b7-btn-neon:hover{ box-shadow:0 10px 34px rgba(217,255,0,.4); }
.b7-btn-line{ border:2px solid rgba(255,255,255,.22); color:#fff; background:rgba(255,255,255,.03); }
.b7-btn-line:hover{ border-color:var(--b7-neon); color:var(--b7-neon); }
.b7-btn-full{ width:100%; }

/* ---------- HERO ---------- */
.b7-hero{ padding:118px 0 44px; }
.b7-hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; }
.b7-hero h1{ font-size:clamp(30px,7.4vw,56px); line-height:1.1; font-weight:800; margin:0 0 16px; color:#fff; }
.b7-hero h1 em{ font-style:normal; color:var(--b7-neon); }
.b7-hero p{ font-size:17px; line-height:1.6; color:#cfcfcf; margin:0 0 24px; }
.b7-hero-ctas{ display:flex; gap:12px; flex-wrap:wrap; }
.b7-hero-img{ border-radius:22px; overflow:hidden; border:1px solid var(--b7-line); box-shadow:0 30px 70px rgba(0,0,0,.55); }
.b7-hero-img img{ width:100%; aspect-ratio:3/2; object-fit:cover; }
.b7-nums{ display:grid; grid-template-columns:repeat(3,auto); justify-content:start; gap:30px; margin-top:28px; }
.b7-nums b{ display:block; font-size:28px; color:var(--b7-neon); line-height:1; }
.b7-nums span{ font-size:13px; color:var(--b7-mute); }
.b7-autor{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.b7-autor img{ width:46px; height:46px; border-radius:50%; object-fit:cover; border:2px solid var(--b7-neon); }
.b7-autor div{ font-size:13px; line-height:1.35; color:var(--b7-mute); }
.b7-autor strong{ color:#fff; font-size:14px; }

/* ---------- E-BOOKS ---------- */
.b7-start{
  display:grid; grid-template-columns:300px 1fr; gap:30px; align-items:center;
  background:linear-gradient(135deg,rgba(217,255,0,.10),rgba(22,22,22,.92) 45%);
  border:1px solid rgba(217,255,0,.35); border-radius:24px; padding:26px; margin-bottom:34px;
}
.b7-start img{ border-radius:16px; width:100%; aspect-ratio:1; object-fit:cover; }
.b7-start h3{ font-size:clamp(22px,4.8vw,30px); margin:6px 0 10px; color:#fff; line-height:1.2; }
.b7-start ul{ list-style:none; padding:0; margin:0 0 20px; display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
.b7-start li{ font-size:15px; color:#ddd; }
.b7-start li::before{ content:"✓ "; color:var(--b7-neon); font-weight:800; }
.b7-pill{ font-size:12px; font-weight:800; letter-spacing:1px; color:var(--b7-neon); }

.b7-sub{ font-size:20px; font-weight:800; margin:0 0 14px; color:#fff; }
.b7-books{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.b7-book{
  background:var(--b7-card); border:1px solid var(--b7-line); border-radius:20px;
  padding:16px; display:flex; flex-direction:column;
}
.b7-book img{ width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:12px; margin-bottom:14px; }
.b7-book small{ color:var(--b7-neon); font-weight:800; letter-spacing:1px; font-size:12px; }
.b7-book h4{ font-size:17px; line-height:1.3; margin:4px 0 8px; color:#fff; }
.b7-book p{ font-size:14px; line-height:1.5; color:var(--b7-mute); margin:0 0 16px; flex:1; }
.b7-seguro{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px; margin-top:24px;
  font-size:13px; color:var(--b7-mute);
}

/* ---------- GRÁTIS / FERRAMENTAS ---------- */
.b7-tiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.b7-tile{
  display:flex; flex-direction:column; gap:6px; text-decoration:none; color:#fff;
  background:var(--b7-card); border:1px solid var(--b7-line); border-radius:18px; padding:18px;
  transition:border-color .2s, transform .2s;
}
.b7-tile:hover{ border-color:var(--b7-neon); transform:translateY(-2px); }
.b7-tile .ic{ font-size:26px; }
.b7-tile b{ font-size:16px; line-height:1.25; }
.b7-tile span{ font-size:13px; color:var(--b7-mute); line-height:1.45; }
.b7-tile i{ font-style:normal; font-size:13px; font-weight:700; color:var(--b7-neon); margin-top:auto; }
.b7-tile.os{ border-color:rgba(217,255,0,.4); }
.b7-embreve{ margin-top:16px; font-size:13px; color:var(--b7-mute); text-align:center; }
.b7-embreve a{ color:var(--b7-neon); }

/* ---------- QUEM SOU ---------- */
.b7-quem{ display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:center; }
.b7-quem-img{ border-radius:22px; overflow:hidden; border:1px solid var(--b7-line); }
.b7-quem-img img{ width:100%; aspect-ratio:8/7; object-fit:cover; }
.b7-quem p{ font-size:16px; line-height:1.65; color:#cfcfcf; margin:0 0 14px; }
.b7-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.b7-chips span{
  font-size:13px; font-weight:600; padding:7px 12px; border-radius:30px;
  background:rgba(255,255,255,.05); border:1px solid var(--b7-line); color:#e6e6e6;
}

/* faixa horizontal (fotos de carreira e certificados) */
.b7-strip{
  display:grid; grid-auto-flow:column; grid-auto-columns:240px; gap:14px;
  overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 2px 14px; margin-top:30px;
  scrollbar-width:thin; scrollbar-color:#444 transparent;
}
.b7-strip > *{ scroll-snap-align:start; }
.b7-exp{ background:var(--b7-card); border:1px solid var(--b7-line); border-radius:16px; overflow:hidden; }
.b7-exp img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.b7-exp div{ padding:12px 14px 14px; }
.b7-exp b{ display:block; font-size:15px; color:#fff; }
.b7-exp span{ font-size:13px; color:var(--b7-mute); line-height:1.4; }
.b7-strip.cert{ grid-auto-columns:170px; }
.b7-strip.cert a{ display:block; border-radius:10px; overflow:hidden; border:1px solid var(--b7-line); background:#fff; }
.b7-strip.cert img{ width:100%; height:220px; object-fit:contain; background:#fff; }
.b7-dica{ font-size:12px; color:#777; margin-top:2px; }

/* ---------- CONSULTORIA / MENTORIA ---------- */
.b7-duo{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.b7-serv{ background:var(--b7-card); border:1px solid var(--b7-line); border-radius:22px; overflow:hidden; display:flex; flex-direction:column; }
.b7-serv img{ width:100%; aspect-ratio:16/9; object-fit:cover; }
.b7-serv-body{ padding:20px; display:flex; flex-direction:column; gap:12px; flex:1; }
.b7-serv h3{ font-size:21px; margin:0; color:#fff; }
.b7-serv p{ font-size:15px; color:var(--b7-mute); margin:0; line-height:1.55; }
.b7-serv ul{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; }
.b7-serv li{ font-size:14px; color:#ddd; }
.b7-serv li::before{ content:"✔ "; color:var(--b7-neon); }
.b7-serv .b7-acoes{ display:flex; gap:10px; flex-wrap:wrap; margin-top:auto; }

/* ---------- MATERIAL GRÁTIS ---------- */
.b7-lead-box{
  border-radius:24px; padding:30px 24px; text-align:center;
  background:linear-gradient(135deg,#1a1a1a,#0d0d0d); border:1px dashed rgba(217,255,0,.5);
}
.b7-lead-box h3{ font-size:clamp(20px,4.6vw,28px); margin:0 0 10px; color:#fff; line-height:1.25; }
.b7-lead-box p{ color:var(--b7-mute); font-size:15px; line-height:1.55; margin:0 auto 20px; max-width:640px; }

/* ---------- DEPOIMENTOS ---------- */
.b7-deps{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.b7-dep{ background:var(--b7-card); border:1px solid var(--b7-line); border-radius:18px; padding:18px; }
.b7-dep .st{ color:var(--b7-neon); letter-spacing:2px; font-size:14px; }
.b7-dep p{ font-size:15px; color:#ddd; margin:8px 0 10px; line-height:1.5; }
.b7-dep strong{ font-size:14px; color:#fff; }

/* ---------- FAQ ---------- */
.b7-faq{ max-width:820px; margin:0 auto; display:grid; gap:10px; }
.b7-faq details{ background:var(--b7-card); border:1px solid var(--b7-line); border-radius:14px; padding:0 18px; }
.b7-faq summary{
  cursor:pointer; list-style:none; padding:16px 26px 16px 0; font-weight:700; font-size:15px;
  position:relative; color:#fff;
}
.b7-faq summary::-webkit-details-marker{ display:none; }
.b7-faq summary::after{ content:"+"; position:absolute; right:0; top:12px; font-size:22px; color:var(--b7-neon); }
.b7-faq details[open] summary::after{ content:"–"; }
.b7-faq details p{ margin:0 0 16px; color:var(--b7-mute); font-size:14px; line-height:1.6; }

/* ---------- CTA FINAL ---------- */
.b7-final{ text-align:center; }
.b7-final .b7-hero-ctas{ justify-content:center; }

/* ---------- RODAPÉ ---------- */
.b7-home footer{ background:#0c0c0c; padding:48px 0 28px; }
.b7-home .footer-grid p, .b7-home .footer-grid li{ font-size:15px; line-height:1.8; }
.b7-home .footer-grid a{ color:#ddd; }
.b7-cookies{ font-size:12px; color:#777; text-align:center; margin-top:10px; }

/* ---------- WHATSAPP FLUTUANTE (só celular) ---------- */
.b7-fab{ display:none; }

.b7-books-2{ grid-template-columns:repeat(2,1fr); max-width:820px; }
.b7-books-2 .b7-book img{ aspect-ratio:4/5; }

/* ---------- CELULAR / TABLET ---------- */
@media (max-width:900px){
  .b7-hero-grid, .b7-quem, .b7-start, .b7-duo{ grid-template-columns:1fr; gap:24px; }
  .b7-hero-img{ display:none; }
  .b7-books{ grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:72%; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; }
  .b7-book{ scroll-snap-align:start; }
  .b7-tiles{ grid-template-columns:1fr 1fr; }
  .b7-deps{ grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:80%; overflow-x:auto; scroll-snap-type:x mandatory; }
  .b7-dep{ scroll-snap-align:start; }
  .b7-start{ padding:18px; }
  .b7-start img{ max-width:260px; margin:0 auto; }
}
@media (max-width:560px){
  .b7-sec{ padding:42px 0; }
  .b7-hero{ padding:100px 0 34px; }
  .b7-hero p{ font-size:16px; }
  .b7-hero-ctas .b7-btn{ width:100%; }
  .b7-nums{ grid-template-columns:repeat(3,1fr); gap:12px; }
  .b7-nums b{ font-size:24px; }
  .b7-start ul{ grid-template-columns:1fr; }
  .b7-quem-img img{ aspect-ratio:16/10; }
  .b7-serv ul{ grid-template-columns:1fr; }
  .b7-tile{ padding:14px; }
  .b7-tile span{ display:none; }
  .b7-fab{
    display:flex; position:fixed; right:16px; bottom:16px; z-index:998;
    width:54px; height:54px; border-radius:50%; background:#25D366; color:#fff;
    align-items:center; justify-content:center; font-size:26px; text-decoration:none;
    box-shadow:0 8px 24px rgba(0,0,0,.45);
  }
  .b7-home header .btn-menu{ padding:9px 16px; font-size:14px; }
  .b7-home .logo{ font-size:20px; }
}

/* ---------- MENU NO COMPUTADOR (não quebrar linha) ---------- */
@media (min-width:901px){
  .b7-home header{ padding:14px 0; }
  .b7-home .logo{ font-size:22px; white-space:nowrap; }
  .b7-home nav ul{ gap:22px; margin:0; padding:0; }
  .b7-home nav a{ font-size:15px; white-space:nowrap; }
  .b7-home header .btn-menu{ white-space:nowrap; padding:10px 22px; }
  .b7-hero{ padding-top:130px; }
}
@media (min-width:901px) and (max-width:1220px){
  .b7-home nav li.b7-opc{ display:none; }
}
@media (min-width:901px) and (max-width:1024px){
  .b7-hero{ padding-top:180px; }
}
