/* ==========================================================================
   site-v3.css: identidade visual v3 nas páginas públicas.
   Carregado DEPOIS de /blog/blog-style.css, só nas páginas públicas
   (body.blog-body). O painel do aluno não carrega este arquivo.
   Cores: azul profundo #172D40, branco frio #F4F7FA, verde lima #BBD87A,
   névoa #D8E4EE. Texto sempre azul sobre o verde; nunca verde sobre fundo claro.
   ========================================================================== */

body.blog-body {
  --navy:#172D40; --navy2:#20394F; --gold:#BBD87A; --gold-dark:#172D40; --gold-light:#D8E4EE;
  --white:#FFFFFF; --gray:#F4F7FA; --text:#243A4D; --text-light:#4A5D6E; --border:#D8E4EE;
  --radius:22px; --r-lg:28px; --nevoa:#D8E4EE; --nevoa2:#E4ECF3; --verde2:#C9E192;
  font-family:"Source Sans 3",system-ui,sans-serif; font-size:18px; color:var(--text); background:var(--gray); line-height:1.6;
}
body.blog-body h1, body.blog-body h2, body.blog-body h3, body.blog-body h4, body.blog-body .logo {
  font-family:Manrope,system-ui,sans-serif; letter-spacing:-.01em;
}
body.blog-body h1, body.blog-body h2 { font-weight:800; }
body.blog-body a:focus-visible, body.blog-body button:focus-visible, body.blog-body summary:focus-visible { outline:3px solid var(--navy); outline-offset:3px; }
.blog-container { max-width:1200px; }

/* ── Cabeçalho e rodapé (os mesmos da home) ── */
.v3-wrap { max-width:1440px; margin:0 auto; padding:0 40px; }
.hv3-header{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;padding:30px 0 28px}
.hv3-wa-top{position:absolute;left:0;top:22px;display:flex;align-items:center;gap:14px;height:62px;padding:0 24px 0 18px;background:var(--gold);border-radius:18px;text-decoration:none;color:var(--navy)!important}
.hv3-wa-ico{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hv3-wa-top .hv3-wa-ico{width:28px;height:28px}
.hv3-wa-txt{display:flex;flex-direction:column;line-height:1.15}
.hv3-wa-txt small{font-size:14px;font-weight:600}.hv3-wa-txt strong{font:800 18px Manrope,sans-serif}
.hv3-aluno{position:absolute;right:0;top:30px;display:flex;align-items:center;height:46px;padding:0 22px;border:2px solid var(--navy);border-radius:999px;font:700 15px Manrope,sans-serif;text-decoration:none;color:var(--navy)!important}
.hv3-brand{display:flex;justify-content:center;width:100%}
.hv3-logo img{height:72px;width:auto;display:block}
.hv3-menu-btn{display:none}
.hv3-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 40px;font:600 16px Manrope,sans-serif}
.hv3-nav a{text-decoration:none;color:var(--navy)!important;padding-bottom:4px;border-bottom:3px solid transparent}
.hv3-nav a:hover{border-bottom-color:var(--nevoa)}
.hv3-nav a[aria-current="page"]{border-bottom-color:var(--gold)}
.hv3-nav-aluno{display:none}

.hv3-footer{margin:56px auto 32px;max-width:1360px;background:var(--navy);color:#C9D6E2;border-radius:var(--r-lg);padding:40px 56px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;font-size:16px}
.hv3-footer-marca{font:800 20px Manrope,sans-serif;color:var(--gray)}
.hv3-footer-marca small{font-weight:600;font-size:15px;color:var(--nevoa)}
.hv3-footer nav{display:flex;flex-wrap:wrap;gap:8px 28px}
.hv3-footer a{color:#C9D6E2!important;text-decoration:none}.hv3-footer a:hover{color:var(--gray)!important}

.hv3-wa-flutuante{position:fixed;right:14px;bottom:76px;z-index:60;width:62px;height:62px;border-radius:50%;background:var(--gold);color:var(--navy)!important;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(23,45,64,.28);border:3px solid var(--gray)}
.hv3-wa-flutuante .hv3-wa-ico{width:30px;height:30px}

/* ── Topos de página: blocos azuis arredondados, como na home ── */
.blog-hero, .post-hero, .home-hero, .login-hero {
  background:var(--navy); margin:0 auto; max-width:1360px; border-radius:var(--r-lg);
  width:calc(100% - 80px);
}
.blog-hero, .post-hero { padding:64px 0 56px; }
.post-hero__tag, .home-hero__badge {
  background:var(--gold); color:var(--navy); border:0; border-radius:999px;
  font-family:Manrope,sans-serif; font-weight:800; font-size:.74rem; letter-spacing:.08em; padding:6px 14px;
}
.post-hero h1, .blog-hero h1, .home-hero h1 { font-weight:800; line-height:1.15; }
.post-hero__meta, .blog-hero p, .home-hero p { color:#C9D6E2; }
.hero-gallery { border-radius:var(--r-lg); }
.hero-gallery__overlay { background:rgba(23,45,64,.86); }
.login-hero { padding:64px 20px 72px; }

/* ── Botões ── */
.btn, .blog-nav a.btn-cta {
  border-radius:999px; font-family:Manrope,sans-serif; font-weight:700; padding:14px 26px; border:2px solid transparent;
}
.btn-primary { background:var(--gold); color:var(--navy)!important; }
.btn-primary:hover { background:var(--verde2); }
.btn-outline { border-color:rgba(244,247,250,.5); }
.btn-outline-navy { border:2px solid var(--navy); }
.home-section--alt .btn-primary, .home-section .btn-primary, .curso-card .btn-primary, .sobre-text .btn-primary, .highlight-card .btn-primary, .intake-card .btn-primary {
  background:var(--navy); color:var(--gray)!important;
}
.home-section--alt .btn-primary:hover, .home-section .btn-primary:hover, .curso-card .btn-primary:hover, .sobre-text .btn-primary:hover, .highlight-card .btn-primary:hover, .intake-card .btn-primary:hover { background:var(--navy2); }
.highlight-card--dark .btn-primary { background:var(--gold); color:var(--navy)!important; }

/* ── Seções ── */
.home-section { padding:64px 0; }
.home-section--alt { background:transparent; }
.home-section--alt > .blog-container {
  background:var(--white); border-radius:var(--r-lg); padding:52px 56px;
}
.home-section h2, .blog-comments h2, .related-posts h2 { color:var(--navy); font-weight:800; }
.home-section__sub { color:var(--text-light); font-size:1.05rem; }

/* ── Sobre ── */
.sobre-photo { width:380px; height:440px; border-radius:var(--r-lg); box-shadow:none; object-position:50% 25%; }
.stat-chip { background:var(--nevoa2); border:0; border-radius:14px; color:var(--navy); }
.stat-chip strong { color:var(--navy); }

/* ── Cartões ── */
.curso-card, .blog-card, .highlight-card, .testimonial-card, .book-card, .intake-card, .login-card {
  border:1px solid var(--border); border-radius:var(--radius); box-shadow:none;
}
.curso-card { padding:28px 26px; }
.curso-card__img { border-radius:var(--radius) var(--radius) 0 0; width:calc(100% + 52px); margin:-28px -26px 6px; }
.curso-card:hover, .blog-card:hover { border-color:var(--navy); box-shadow:0 12px 28px rgba(23,45,64,.10); }
.curso-card h3, .blog-card__title, .shelf-card__title, .highlight-card h4, .book-card__info h3 { color:var(--navy); font-family:Manrope,sans-serif; font-weight:800; }
.curso-card__badge, .blog-card__tag, .highlight-card__tag {
  background:var(--nevoa); color:var(--navy); border:0; border-radius:999px;
  font-family:Manrope,sans-serif; font-weight:800; padding:4px 11px;
}
.curso-card__badge--soon { background:var(--gray); color:var(--text-light); border:1px solid var(--border); }
.curso-card__need { color:var(--text-light); }
.blog-card__img { background:var(--navy2); }
.shelf-card__cover { border-radius:14px; box-shadow:0 8px 20px rgba(23,45,64,.16); }
.shelf-card__level { background:var(--gold); color:var(--navy); border-radius:999px; padding:3px 10px; }
.book-card__facts span { background:var(--nevoa2); border:0; border-radius:999px; }
.book-card__nota { color:var(--navy); }
.highlight-card--dark { background:var(--navy); border-color:var(--navy); }
.highlight-card--dark .highlight-card__tag { background:var(--gold); color:var(--navy); }
.highlight-card--dark p { color:#C9D6E2; }

/* ── Filtros ── */
.blog-chip { border-color:var(--border); border-radius:999px; font-family:Manrope,sans-serif; }
.blog-chip:hover { border-color:var(--navy); }
.blog-chip.active { background:var(--navy); border-color:var(--navy); color:var(--gray); }

/* ── Artigos ── */
.post-body { font-size:1.08rem; }
.post-body h2, .post-body h3 { color:var(--navy); font-weight:800; }
.post-body img { border-radius:var(--radius); }
.post-body blockquote { border-left:6px solid var(--gold); background:var(--nevoa2); border-radius:0 14px 14px 0; font-style:normal; color:var(--navy); }
.post-body a { color:var(--navy); text-decoration:underline; text-decoration-color:var(--gold); text-decoration-thickness:3px; text-underline-offset:3px; }

/* ── Chamada para conversa ── */
.post-cta { background:var(--navy); border-radius:var(--r-lg); padding:36px 40px; max-width:960px; }
.post-cta h3 { font-size:1.35rem; font-weight:800; }
.post-cta p { color:#C9D6E2; font-size:1rem; }
.post-cta a { background:var(--gold); color:var(--navy)!important; border-radius:999px; font-family:Manrope,sans-serif; font-weight:700; padding:14px 24px; }
.post-cta a:hover { background:var(--verde2); }

/* ── FAQ ── */
.faq-item { border-bottom-color:var(--border); }
.faq-item summary { color:var(--navy); font-family:Manrope,sans-serif; }
.faq-item summary::after { color:var(--navy); }

/* ── Depoimentos ── */
.testimonial-card--featured { border:2px solid var(--gold); box-shadow:none; }
.testimonial-card--featured::after { background:var(--gold); color:var(--navy); font-family:Manrope,sans-serif; }
.testimonial-card__quote::before { color:var(--navy); }
.testimonial-card__name { color:var(--navy); font-family:Manrope,sans-serif; }
.testimonial-card__photo--placeholder { background:var(--navy); color:var(--gold); }
.testimonial-carousel__btn { border-color:var(--border); }

/* ── Login e formulários ── */
.login-card { box-shadow:0 24px 60px rgba(10,20,30,.28); border:0; }
.login-card h1 { color:var(--navy); font-weight:800; }
.field-label { color:var(--navy); font-family:Manrope,sans-serif; }
.field-input { border-color:var(--border); border-radius:14px; background:var(--gray); }
.field-input:focus { border-color:var(--navy); box-shadow:0 0 0 3px rgba(23,45,64,.14); }
.btn-login { background:var(--navy); border-radius:999px; font-family:Manrope,sans-serif; font-weight:700; padding:15px; }
.btn-login:hover { background:var(--navy2); }
.login-footer-note a { color:var(--navy); }
.intake-card { box-shadow:none; }
.intake-section__title { color:var(--navy); font-family:Manrope,sans-serif; }
.form-check { border-color:var(--border); border-radius:14px; }
.form-check:has(input:checked) { border-color:var(--navy); background:var(--nevoa2); }
.form-check input { accent-color:var(--navy); }
.blog-comments__form input[type="text"], .blog-comments__form input[type="email"], .blog-comments__form textarea { border-color:var(--border); border-radius:14px; }
.blog-comments__form button { background:var(--navy); border-radius:999px; font-family:Manrope,sans-serif; padding:12px 24px; }
.blog-comments__placeholder { border-color:var(--border); }

/* ── Aparecimento suave ao rolar (quando o navegador suporta) ── */
@keyframes v3-in { from { opacity:0 } to { opacity:1 } }
@supports (animation-timeline: view()) {
  .curso-card, .blog-card, .shelf-card, .testimonial-card, .highlight-card, .faq-item, .post-cta, .sobre-wrap, .book-card {
    animation:v3-in linear both; animation-timeline:view(); animation-range:entry 0% entry 90%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .curso-card, .blog-card, .shelf-card, .testimonial-card, .highlight-card, .faq-item, .post-cta, .sobre-wrap, .book-card { animation:none; }
}

/* ── Telas médias ── */
@media (max-width:1180px) { .hv3-nav{gap:10px 26px} }

/* ── Celular ── */
@media (max-width:900px) {
  body.blog-body { font-size:17px; --radius:20px; --r-lg:22px; }
  .v3-wrap { padding:0; }
  .hv3-header{padding:0;gap:0;margin-bottom:14px}
  .hv3-wa-top{position:static;align-self:stretch;width:100%;justify-content:center;height:58px;border-radius:0;gap:12px}
  .hv3-wa-top .hv3-wa-ico{width:26px;height:26px}
  .hv3-wa-txt small{font-size:13px}.hv3-wa-txt strong{font-size:18px}
  .hv3-aluno{display:none}
  .hv3-brand{position:relative;height:88px;align-items:center;padding:0 16px}
  .hv3-logo img{height:44px}
  .hv3-menu-btn{display:flex;position:absolute;right:16px;top:21px;width:46px;height:46px;border-radius:50%;border:2px solid var(--navy);background:transparent;align-items:center;justify-content:center;padding:0;cursor:pointer;color:var(--navy)}
  .hv3-menu-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
  .hv3-nav{display:none;flex-direction:column;align-items:stretch;gap:0;width:calc(100% - 32px);margin:0 16px 8px;background:#fff;border-radius:18px;padding:8px 0;box-shadow:0 12px 30px rgba(23,45,64,.14)}
  .hv3-nav.aberto{display:flex}
  .hv3-nav a{padding:13px 20px;border-bottom:0}
  .hv3-nav a[aria-current="page"]{background:var(--nevoa2)}
  .hv3-nav-aluno{display:block;font-weight:800}
  .blog-hero, .post-hero, .home-hero, .login-hero { width:calc(100% - 32px); }
  .blog-hero, .post-hero { padding:40px 0 34px; }
  .home-section { padding:40px 0; }
  .home-section--alt > .blog-container { padding:28px 20px; width:calc(100% - 32px); }
  .sobre-photo { width:100%; max-width:none; height:320px; aspect-ratio:auto; }
  .post-cta { margin:32px 16px; padding:26px 22px; }
  .post-cta a { width:100%; text-align:center; }
  .hv3-footer{margin:32px 16px 24px;padding:22px;flex-direction:column;align-items:flex-start;gap:14px;font-size:15px}
  .hv3-footer nav{gap:8px 20px}
}

/* ── Topo com foto (provas internacionais) ── */
.post-hero--foto{position:relative;overflow:hidden;padding:88px 0 80px}
.post-hero__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:25% 35%;transform:scaleX(-1)}
.post-hero--foto::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,45,64,.97) 0%,rgba(23,45,64,.9) 38%,rgba(23,45,64,.35) 68%,rgba(23,45,64,.1) 100%);z-index:1}
.post-hero--foto .blog-container{position:relative;z-index:2}
.post-hero--foto h1,.post-hero--foto .post-hero__meta{max-width:560px}
.escolha-topo{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin-bottom:28px}
.escolha-foto{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius)}
.post-capa{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);margin:0 0 28px}
@media (max-width:900px){
  .post-hero--foto{padding:0 0 30px}
  .post-hero__foto{position:relative;inset:auto;height:220px;transform:scaleX(-1)}
  .post-hero--foto::before{display:none}
  .post-hero--foto .blog-container{padding-top:26px}
  .escolha-topo{grid-template-columns:1fr;gap:18px}
}
