/* =====================================================================
   INSTITUTO INFOCO — PÁGINAS DE CAPTURA (LPs)
   Complementa css/styles.css (cores, botões, formulário, FAQ).
   ===================================================================== */
.lp { background: #fff; }

/* Cabeçalho enxuto: só marca + WhatsApp (sem menu, para não tirar o foco) */
.lp-header { position: relative; z-index: 5; background: #fff; border-bottom: 1px solid var(--line); }
.lp-header__inner { height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.lp-header .brand__logo { width: 40px; height: 40px; }
.lp-header .btn { padding: 10px 16px; }

/* Topo */
.lp-hero {
  position: relative; overflow: hidden; color: #fff; padding: 56px 0 72px;
  background:
    radial-gradient(700px 420px at 90% 0%, rgba(30, 123, 255, .45), transparent 60%),
    linear-gradient(140deg, var(--navy) 0%, var(--blue-dark) 55%, var(--blue) 100%);
}
.lp-hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, .1) 1px, transparent 1px); background-size: 24px 24px;
  -webkit-mask-image: linear-gradient(90deg, #000, transparent 60%); mask-image: linear-gradient(90deg, #000, transparent 60%);
}
.lp-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); grid-template-areas: "top form" "extra form"; column-gap: 56px; align-items: center; }
.lp-hero__content { grid-area: top; align-self: end; }
.lp-hero__extra { grid-area: extra; align-self: start; }
.lp-form-card { grid-area: form; }
.lp-kicker { display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #BFD8FF; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); padding: 6px 12px; border-radius: 999px; }
.lp-hero h1 { color: #fff; font-size: clamp(2rem, 4.2vw, 3.1rem); font-weight: 800; letter-spacing: -.03em; margin-top: 18px; text-wrap: balance; }
.lp-hero h1 span { display: block; color: #8EC0FF; }
.lp-hero__sub { margin-top: 18px; font-size: 1.1rem; color: rgba(255, 255, 255, .86); max-width: 560px; }
.lp-checks { margin-top: 26px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; }
.lp-checks li { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: .95rem; }
.lp-checks .i { width: 34px; height: 34px; padding: 8px; border-radius: 10px; background: rgba(255, 255, 255, .12); color: #fff; flex-shrink: 0; }
.lp-price { margin-top: 30px; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 14px 20px; border-radius: 16px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); }
.lp-price__badge { padding: 5px 12px; border-radius: 999px; background: var(--green); font-weight: 800; font-size: .82rem; }
.lp-price__old { color: rgba(255, 255, 255, .7); }
.lp-price__old s { text-decoration-thickness: 2px; }
.lp-price__now { font-size: 1rem; }
.lp-price__now strong { font-size: 1.7rem; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

.lp-hero--img {
  background:
    linear-gradient(90deg, rgba(8, 43, 99, .96) 0%, rgba(8, 43, 99, .9) 38%, rgba(6, 59, 143, .72) 62%, rgba(7, 86, 201, .55) 100%),
    var(--hero-img) center / cover no-repeat,
    var(--navy);
}

/* Formulário */
.lp-form-card { background: #fff; color: var(--text); border-radius: 24px; padding: 32px; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .45); scroll-margin-top: 24px; }
.lp-form-card h2 { font-size: 1.35rem; font-weight: 800; text-wrap: balance; }
.lp-form-card__sub { color: var(--text-2); margin: 6px 0 20px; font-size: .95rem; }
.lp-form-card .lead-form { gap: 14px; }
.lp-form-card .field input, .lp-form-card .field select { padding: 12px 14px; }
.check a { color: var(--blue); text-decoration: underline; }

/* Seções */
.lp-section { padding: 88px 0; }
.lp-section--soft { background: var(--gray-light); }
.lp-center { display: flex; justify-content: center; margin-top: 36px; }
.lp-center .btn { white-space: normal; text-align: center; }

.lp-about { display: grid; grid-template-columns: 1.2fr .8fr; gap: 56px; align-items: center; }
.lp-about .lp-work { margin-top: 28px; }
.lp-about--img { grid-template-columns: 1fr 1fr; }
.lp-about__img { margin: 0; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); aspect-ratio: 3 / 2; }
.lp-about__img img { width: 100%; height: 100%; object-fit: cover; }
.lp-work { background: var(--blue-light); border-radius: var(--radius-lg); padding: 28px; }
.lp-work h3 { font-size: 1.05rem; margin-bottom: 14px; }
.lp-work ul { display: grid; gap: 10px; }
.lp-work li { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--navy); }
.lp-work .i { width: 30px; height: 30px; padding: 6px; border-radius: 8px; background: #fff; color: var(--blue); }

.lp-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.lp-steps li { display: flex; flex-direction: column; gap: 14px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px; }
.lp-steps__n { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--blue-vivid), var(--blue-dark)); }
.lp-steps h3 { font-size: 1.08rem; }
.lp-steps p { color: var(--text-2); font-size: .94rem; margin-top: 6px; }

.lp-faq .accordion { max-width: 820px; margin: 0 auto; }

/* Chamada final */
.lp-final { padding: 80px 0; color: #fff; text-align: center; background: linear-gradient(120deg, var(--navy), var(--blue-dark) 50%, var(--blue)); }
.lp-final h2 { color: #fff; font-size: clamp(1.6rem, 3.2vw, 2.3rem); font-weight: 800; max-width: 760px; margin: 0 auto; text-wrap: balance; }
.lp-final p { color: rgba(255, 255, 255, .85); margin-top: 12px; }
.lp-final__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }
.lp-others { margin-top: 36px !important; font-size: .9rem; }
.lp-others a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* Rodapé */
.lp-footer { background: var(--navy); color: rgba(255, 255, 255, .7); padding: 32px 0 40px; font-size: .88rem; text-align: center; }
.lp-footer p + p { margin-top: 6px; }
.lp-footer strong { color: #fff; }
.lp-footer a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* Barra fixa no celular */
.lp-bar { display: none; }

/* Agradecimento e política */
.lp-thanks { padding: 72px 0; background: var(--gray-light); min-height: 60vh; }
.lp-thanks__card { max-width: 560px; margin: 0 auto; text-align: center; background: #fff; border-radius: 28px; padding: 48px 32px; box-shadow: var(--shadow); }
.lp-thanks__card h1 { font-size: 1.8rem; font-weight: 800; }
.lp-thanks__card p { color: var(--text-2); margin: 12px 0; }
.lp-thanks__card .btn { margin-top: 12px; }
.lp-thanks__back a { color: var(--blue); font-weight: 600; }
.lp-legal { padding: 64px 0; }
.lp-legal .container { max-width: 780px; }
.lp-legal h1 { font-size: 2rem; font-weight: 800; }
.lp-legal h2 { font-size: 1.15rem; margin-top: 28px; }
.lp-legal p { color: var(--text-2); margin-top: 10px; }
.lp-legal__note { padding: 12px 16px; border-radius: 12px; background: #FFF4E5; color: #8A5A00 !important; font-weight: 600; }
.lp-legal__date { font-size: .9rem; margin-top: 28px !important; }

@media (max-width: 1000px) {
  .lp-hero { padding: 36px 0 48px; }
  .lp-hero__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "top" "form" "extra"; row-gap: 28px; }
  .lp-about, .lp-about--img { grid-template-columns: 1fr; gap: 28px; }
  .lp-hero--img { background: linear-gradient(180deg, rgba(8, 43, 99, .82) 0%, rgba(8, 43, 99, .93) 45%, var(--navy) 100%), var(--hero-img) center top / cover no-repeat, var(--navy); }
  .lp-steps { grid-template-columns: repeat(2, 1fr); }
  .lp-form-card { max-width: 560px; width: 100%; margin: 0 auto; }
}
@media (max-width: 640px) {
  .lp-hide-sm { display: none; }
  .lp-hero h1 { font-size: 1.9rem; }
  .lp-hero__sub { font-size: 1rem; }
  .lp-checks { grid-template-columns: 1fr; gap: 10px; }
  .lp-price { display: flex; }
  .lp-form-card { padding: 24px 18px; border-radius: 20px; }
  .lp-section { padding: 64px 0; }
  .lp-steps { grid-template-columns: 1fr; }
  .lp-steps li { flex-direction: row; align-items: flex-start; }
  .lp-steps__n { flex-shrink: 0; }
  .lp-final__actions .btn { width: 100%; }
  .lp-bar {
    display: flex; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(255, 255, 255, .96);
    border-top: 1px solid var(--line); box-shadow: 0 -8px 24px -12px rgba(8, 43, 99, .3);
    transform: translateY(110%); transition: transform .3s var(--ease);
  }
  .lp-bar.is-visible { transform: none; }
  .lp-bar .btn--primary { flex: 1; }
  .lp-bar .btn--whatsapp { width: 52px; padding: 0; }
  .lp-bar .btn--whatsapp .i { width: 24px; height: 24px; }
  .lp .lp-footer { padding-bottom: 96px; }
}

/* Técnico Regular → chamada para o Técnico por Competência */
.lp-cross { display: flex; align-items: center; justify-content: space-between; gap: 32px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 36px 40px; box-shadow: var(--shadow-sm); }
.lp-cross > div { max-width: 680px; }
.lp-cross .title { margin-top: 8px; }
.lp-cross .lead { margin-top: 12px; }
.lp-cross .btn { flex-shrink: 0; }
@media (max-width: 760px) { .lp-cross { flex-direction: column; align-items: flex-start; padding: 28px 22px; } .lp-cross .btn { width: 100%; white-space: normal; } }
.lp-price__inst { flex-basis: 100%; font-weight: 700; color: #BFF3D2; }

/* ---------- Páginas-índice de cursos (/cursos/ e /tecnico-regular/) ---------- */
.hub-hero { padding: 56px 0 24px; background: linear-gradient(180deg, var(--blue-light), #fff); }
.hub-hero h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); font-weight: 800; color: var(--navy); line-height: 1.1; margin: 12px 0 14px; letter-spacing: -.02em; }
.hub-hero .lead { max-width: 760px; color: var(--text-2); font-size: 1.08rem; }
.hub-hero__alt { margin-top: 14px; font-weight: 600; color: var(--text); }
.hub-hero__alt a, .crumbs a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.crumbs { font-size: .88rem; color: var(--text-2); display: flex; gap: 8px; flex-wrap: wrap; }
.hub-group { padding: 28px 0; }
.hub-group h2 { font-size: 1.35rem; font-weight: 800; color: var(--navy); margin-bottom: 16px; display: flex; align-items: baseline; gap: 10px; }
.hub-group h2 small { font-size: .85rem; font-weight: 600; color: var(--text-2); }
.hub-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.hub-card { display: flex; gap: 14px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--text); text-decoration: none; height: 100%; transition: border-color .2s, box-shadow .2s, transform .2s; }
.hub-card:hover { border-color: var(--blue); box-shadow: var(--shadow); transform: translateY(-2px); }
.hub-card img, .hub-card__ph { width: 96px; height: 64px; flex: none; border-radius: 10px; object-fit: cover; background: var(--blue-light); }
.hub-card__ph { display: grid; place-items: center; color: var(--blue); }
.hub-card__ph .i svg { width: 28px; height: 28px; }
.hub-card strong { display: block; font-size: .98rem; color: var(--navy); }
.hub-card small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .84rem; color: var(--text-2); margin-top: 2px; line-height: 1.35; }
@media (max-width: 520px) { .hub-grid { grid-template-columns: 1fr; } .hub-card img, .hub-card__ph { width: 76px; height: 52px; } }
