/* Figura de contexto clinico — segue os tokens do IDEA Vendas */
.ilp-figure{margin:0 0 var(--space-6,32px)}
.ilp-figure img{width:100%;height:auto;display:block;border-radius:var(--radius-lg,16px);
 border:1px solid var(--line)}
.ilp-figure figcaption{margin-top:10px;font-family:var(--font-body,inherit);
 font-size:14px;line-height:1.5;color:var(--ink-muted,#5B6B7A)}
.ilp-section--brand .ilp-figure figcaption{color:var(--on-brand-muted,#BCC4CB)}
/* Legenda de um video de apoio: mesmo tratamento da legenda de figura.
   --ink-muted ja e redefinido no tema Black, entao serve nos dois. */
.ilp-figure__cap{margin:10px 0 0;font-family:var(--font-body,inherit);
 font-size:14px;line-height:1.5;color:var(--ink-muted,#5B6B7A)}

/* Botão flutuante no desktop: o sistema esconde a barra fixa acima de 768px.
   Aqui ela vira um botão compacto no canto, mantendo os tokens da marca. */
@media (min-width:769px){
 .ilp-sticky{display:flex;left:auto;right:24px;bottom:24px;width:auto;max-width:360px;
  border-radius:var(--radius-lg,16px);border:1px solid var(--line);
  padding:12px 16px;gap:14px}
 .ilp-sticky .ilp-btn{flex:0 0 auto;white-space:nowrap}
 .ilp-sticky--static{position:relative;right:auto;bottom:auto;max-width:none}
}

/* Credencial institucional no rodapé — presente em todas as páginas */
.ilp-footer__mec{display:flex;align-items:center;gap:14px;margin:0 0 16px;
 padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}
.ilp-footer__mec img{flex:0 0 auto;width:56px;height:auto}
.ilp-footer__mec span{font-size:13px;line-height:1.5;color:var(--on-brand-muted,#BCC4CB)}
.ilp-footer__mec b{color:var(--on-brand,#E8EDF2);font-weight:600}

/* Grade de palestrantes dos congressos */
.ilp-speakers{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
 gap:22px 18px;margin-top:8px}
.ilp-speaker{text-align:center}
.ilp-speaker img{width:96px;height:96px;border-radius:50%;object-fit:cover;
 margin:0 auto 10px;display:block;border:2px solid var(--gold-500,#A38857)}
.ilp-speaker__name{font-family:var(--font-display,inherit);font-size:15px;line-height:1.25;
 font-weight:700;margin:0 0 4px;color:var(--ink,#0D2C40)}
.ilp-speaker__bio{font-size:12.5px;line-height:1.5;color:var(--ink-muted,#5B6B7A);margin:0}
@media(max-width:768px){.ilp-speakers{grid-template-columns:repeat(2,1fr);gap:18px 12px}
 .ilp-speaker img{width:78px;height:78px}
 .ilp-speaker__name{font-size:13.5px}.ilp-speaker__bio{font-size:11.5px}}

/* Palestrantes em destaque — as fundadoras */
.ilp-speakers-lead{display:grid;gap:18px;margin:0 0 28px}
@media(min-width:769px){.ilp-speakers-lead{grid-template-columns:1fr 1fr;gap:24px}}
.ilp-speaker--lead{display:flex;gap:18px;text-align:left;align-items:flex-start;
 background:var(--surface,#fff);border:1px solid var(--line);
 border-radius:16px;padding:20px}
.ilp-speaker--lead img{width:112px;height:112px;flex:0 0 112px;margin:0;
 border:3px solid var(--gold-500,#A38857)}
.ilp-speaker--lead .ilp-speaker__name{font-size:18px;margin-bottom:2px}
.ilp-speaker__role{font-size:12.5px;font-weight:600;color:var(--gold-500,#A38857);
 margin:0 0 8px;letter-spacing:.02em}
.ilp-speaker--lead .ilp-speaker__bio{font-size:13.5px}
@media(max-width:768px){.ilp-speaker--lead{padding:16px;gap:14px}
 .ilp-speaker--lead img{width:84px;height:84px;flex:0 0 84px}
 .ilp-speaker--lead .ilp-speaker__name{font-size:16px}}

/* Preço âncora — "De R$ X" riscado com selo de desconto */
.ilp-anchor{display:flex;align-items:center;gap:10px;margin:0 0 2px}
.ilp-anchor__from{font-size:15px;color:var(--ink-muted,#5B6B7A)}
.ilp-anchor__from s{text-decoration-thickness:1.5px}
.ilp-anchor__off{flex:0 0 auto;display:grid;place-items:center;line-height:1;min-width:74px;padding:.55rem .7rem;border-radius:12px 12px 12px 0;background:var(--action);color:var(--on-action);font-family:var(--font-display);font-weight:700;font-size:1.45rem}

/* Cards de competência com foto */
.ilp-comps{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:769px){.ilp-comps{grid-template-columns:repeat(3,1fr);gap:20px}}
.ilp-comp{border:1px solid var(--line);border-radius:16px;overflow:hidden;
 background:var(--surface,#fff);display:flex;flex-direction:column}
.ilp-comp img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ilp-comp__txt{padding:16px 18px 20px}
.ilp-comp__name{font-family:var(--font-display,inherit);font-size:16px;font-weight:700;
 margin:0 0 6px;color:var(--ink,#0D2C40)}
.ilp-comp__txt p{font-size:14px;line-height:1.55;color:var(--ink-muted,#5B6B7A);margin:0}

/* Módulos da grade curricular */
.ilp-mods{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:769px){.ilp-mods{grid-template-columns:repeat(2,1fr);gap:20px}}
.ilp-mod{border:1px solid var(--line);border-radius:16px;padding:22px;
 background:var(--surface,#fff);position:relative}
.ilp-mod__n{font-family:var(--font-display,inherit);font-size:13px;font-weight:800;
 color:var(--gold-500,#A38857);letter-spacing:.08em}
.ilp-mod__name{font-family:var(--font-display,inherit);font-size:18px;font-weight:700;
 margin:6px 0 4px;color:var(--ink,#0D2C40);line-height:1.25}
.ilp-mod__meta{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
 color:var(--gold-500,#A38857);margin:0 0 10px}
.ilp-mod__desc{font-size:13.5px;line-height:1.55;color:var(--ink-muted,#5B6B7A);margin:0 0 12px}
.ilp-mod .ilp-list li{padding:7px 0 7px 26px;font-size:13.5px}

/* ---- eixos de aprendizagem ---- */
.ilp-eixo{margin-bottom:var(--sp-10,3.5rem)}
.ilp-eixo:last-child{margin-bottom:0}
.ilp-eixo__n{font-family:var(--font-display);font-size:.78rem;letter-spacing:.14em;
 text-transform:uppercase;color:var(--accent-ink);margin:0 0 .35rem}
.ilp-eixo__name{font-family:var(--font-display);font-size:clamp(1.5rem,3.6vw,2rem);
 line-height:1.15;color:var(--ink);margin:0 0 .25rem}
.ilp-eixo__sub{font-size:1.02rem;color:var(--ink);opacity:.82;margin:0 0 .75rem}
.ilp-eixo__desc{max-width:62ch;margin:0 0 1.75rem;color:var(--ink-muted)}
.ilp-eixo .ilp-mod__name{font-size:1rem}

/* ---- biblioteca complementar ---- */
.ilp-bib{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.ilp-bib__g{background:var(--surface);border:1px solid var(--line);
 border-radius:14px 14px 14px 0;padding:1.5rem 1.4rem}
.ilp-bib__name{font-family:var(--font-display);font-size:1.05rem;color:var(--ink);
 margin:0 0 .85rem;padding-bottom:.6rem;border-bottom:2px solid var(--action);display:inline-block}
.ilp-bib__list{list-style:none;margin:0;padding:0}
.ilp-bib__list li{font-size:.93rem;line-height:1.55;color:var(--ink-muted);
 padding:.5rem 0;border-bottom:1px solid var(--line)}
.ilp-bib__list li:last-child{border-bottom:0}
.ilp-bib__list strong{color:var(--ink);font-weight:600}

/* ---- fluxo de raciocinio ---- */
.ilp-fluxo__q{max-width:60ch;margin:0 auto 2rem}
.ilp-fluxo__q p{font-family:var(--font-display);font-size:1.08rem;color:var(--ink);
 margin:0 0 .5rem;padding-left:1.1rem;border-left:2px solid var(--action)}
.ilp-fluxo{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-wrap:wrap;
 gap:.5rem;justify-content:center;counter-reset:f}
.ilp-fluxo__s{counter-increment:f;background:var(--surface);border:1px solid var(--line);
 border-radius:999px;padding:.5rem 1rem;font-size:.88rem;color:var(--ink);
 font-weight:600;white-space:nowrap}
.ilp-fluxo__s::before{content:counter(f);color:var(--accent-ink);margin-right:.45rem;
 font-family:var(--font-display)}
.ilp-fluxo__foot{max-width:60ch;margin:0 auto;text-align:center;color:var(--ink-muted)}
@media(max-width:768px){
 .ilp-fluxo{flex-direction:column;align-items:stretch}
 .ilp-fluxo__s{white-space:normal;text-align:left}
}

/* ---- video sob demanda ---- */
.ilp-video{position:relative;display:block;width:100%;aspect-ratio:16/9;
 border:0;padding:0;margin:0;cursor:pointer;overflow:hidden;background:var(--ink);
 border-radius:16px 16px 16px 0}
.ilp-video img{width:100%;height:100%;object-fit:cover;display:block}
.ilp-video::after{content:"";position:absolute;inset:0;background:rgba(13,44,64,.28);
 transition:background .2s}
.ilp-video:hover::after{background:rgba(13,44,64,.14)}
.ilp-video__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
 width:68px;height:68px;border-radius:50%;background:var(--action);
 display:grid;place-items:center;z-index:2;transition:transform .2s;
 box-shadow:0 8px 28px rgba(13,44,64,.34)}
.ilp-video:hover .ilp-video__play{transform:translate(-50%,-50%) scale(1.07)}
.ilp-video__play svg{width:26px;height:26px;fill:#fff;margin-left:4px}
.ilp-video__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.4rem 1.3rem .95rem;
 background:linear-gradient(transparent,rgba(13,44,64,.82));color:#fff;
 font-family:var(--font-display);font-size:1rem;text-align:left}
.ilp-video.is-on{aspect-ratio:auto;cursor:default}
.ilp-video.is-on::after{display:none}
.ilp-video__el{width:100%;display:block;border-radius:16px 16px 16px 0;background:#000}

/* ---- video de fundo ---- */
.ilp-bg{position:relative;isolation:isolate;overflow:hidden}
.ilp-bg__v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
 z-index:-2;opacity:0;transition:opacity .9s ease}
.ilp-bg.is-on .ilp-bg__v{opacity:1}
.ilp-bg::before{content:"";position:absolute;inset:0;z-index:-1;
 background:linear-gradient(180deg,rgba(13,44,64,.74),rgba(13,44,64,.90))}
.ilp-vids--grid{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}

/* ---- bonus ---- */
.ilp-bonuses{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.ilp-bonus{background:var(--surface-warm);border-radius:14px 14px 14px 0;padding:1.4rem 1.3rem}
.ilp-bonus__name{font-family:var(--font-display);font-size:1rem;color:var(--ink);
 margin:0 0 .5rem;line-height:1.3}
.ilp-bonus p{margin:0;font-size:.92rem;line-height:1.55;color:var(--ink);opacity:.8}

/* ---- fale conosco ---- */
.ilp-contato{text-align:center;border:1px solid var(--line);
 border-radius:18px 18px 18px 0;padding:2.4rem 1.6rem}
.ilp-contato .ilp-h2{margin-bottom:.6rem}
.ilp-contato p{max-width:52ch;margin:0 auto 1.6rem;color:var(--ink-muted)}

/* ---- marca em destaque no topo ---- */
.ilp-hero__marca{font-family:var(--font-display);font-weight:700;
 font-size:clamp(1.6rem,4.4vw,2.35rem);line-height:1.05;letter-spacing:-.01em;
 color:var(--accent-ink);margin:0 0 .25rem}
.ilp-hero__sub{font-size:clamp(.95rem,2vw,1.08rem);line-height:1.4;
 color:var(--ink-muted);margin:0 0 1.1rem;max-width:34ch}

/* ---- contraste: dourado escuro para texto pequeno sobre fundo claro ----
   O #A38857 da marca rende 3,1:1 a 3,4:1 em fundo claro — abaixo do minimo
   de 4,5:1. Em fundo escuro ele continua valendo. Este tom mantem o mesmo
   matiz (39 graus) e a mesma saturacao, so escurece ate passar. */
:root{--gold-txt:#836E46}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--gold-txt:#C9AF80}}
:root[data-theme="dark"]{--gold-txt:#C9AF80}
.ilp-eyebrow,
.ilp-mod__n,
.ilp-eixo__n,
.ilp-speaker__role,
.ilp-bib__list strong,
.ilp-fluxo__s::before,
.ilp-comp__name,
.ilp-section--alt .ilp-eyebrow,
.ilp-section--warm .ilp-eyebrow{color:var(--gold-txt)}
/* em fundo escuro o dourado original volta, porque ali ele rende 4,3:1 */
.ilp-hero .ilp-eyebrow,
.ilp-hero__marca,
.ilp-bg .ilp-eyebrow,
.ilp-footer .ilp-eyebrow{color:var(--accent-ink)}

/* ---- destaque do micro, completos abaixo ---- */
.ilp-vids__hero{max-width:860px;margin:0 auto}
.ilp-vids__mais{text-align:center;margin:2.4rem 0 1.2rem;font-family:var(--font-display);
 font-size:1.02rem;color:var(--ink)}
.ilp-vids--grid{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.ilp-vids--grid .ilp-video__cap{font-size:.9rem;padding:1.1rem 1rem .8rem}
.ilp-vids--grid .ilp-video__play{width:52px;height:52px}
.ilp-vids--grid .ilp-video__play svg{width:20px;height:20px}

/* ---- desconto em destaque ---- */
.ilp-anchor{display:flex;align-items:center;gap:.9rem;margin:0 0 1.1rem}
.ilp-anchor__off{flex:0 0 auto;display:grid;place-items:center;line-height:1;min-width:74px;padding:.55rem .7rem;border-radius:12px 12px 12px 0;background:var(--action);color:var(--on-action);font-family:var(--font-display);font-weight:700;font-size:1.45rem}
.ilp-anchor__off small{display:block;font-size:.62rem;letter-spacing:.16em;margin-top:.2rem;color:var(--on-action);opacity:.72}
.ilp-anchor__txt{font-size:.98rem;line-height:1.4;color:var(--ink-muted)}
.ilp-anchor__txt s{opacity:.75}
.ilp-anchor__txt b{color:var(--ink);font-weight:700}
.ilp-anchor__txt em{display:block;font-style:normal;font-size:.82rem;
 font-weight:700;color:var(--positive);margin-top:.15rem}

/* selo de desconto no topo */
.ilp-badge--off{background:var(--action);border-color:var(--action);color:var(--on-action);font-weight:700;letter-spacing:.04em}

/* ---- barra fixa sempre presente ---- */
.ilp-sticky__off{flex:0 0 auto;background:var(--action);color:var(--on-action);font-family:var(--font-display);font-weight:700;font-size:.82rem;letter-spacing:.03em;padding:.3rem .6rem;border-radius:8px 8px 8px 0}
/* some de leve quando a secao de oferta esta na tela */
.ilp-sticky.is-recuada{opacity:0;pointer-events:none;transform:translateY(120%)}
.ilp-sticky{transition:opacity .25s ease,transform .25s ease}
/* espaco no fim da pagina para a barra nao cobrir o rodape */
body.ilp{padding-bottom:84px}
@media(min-width:769px){body.ilp{padding-bottom:0}}

/* ---- video vertical (gravacao de celular) ---- */
.ilp-video--vert{aspect-ratio:9/16;max-width:360px;margin:0 auto}
.ilp-video--vert .ilp-video__cap{font-size:.92rem}
.ilp-vids__hero:has(.ilp-video--vert){max-width:360px}
.ilp-video--vert.is-on{max-width:360px}

/* Trava: a lista desenha o check via ::before. Se algum svg escapar para
   dentro de um <li>, ele nao pode herdar tamanho livre e estourar o cartao. */
.ilp-list li > svg{width:18px;height:18px;flex:none;vertical-align:-3px;margin-right:6px}

/* ---- enquadramento de valor (no lugar do preco riscado) ---- */
.ilp-frame{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;
 padding:.9rem 1.1rem;margin:0 0 1.1rem;background:var(--surface-warm);
 border-radius:12px 12px 12px 0}
.ilp-frame__n{font-family:var(--font-display);font-weight:700;
 font-size:clamp(1.35rem,3.4vw,1.75rem);line-height:1;color:var(--ink)}
.ilp-frame__t{font-size:.92rem;line-height:1.4;color:var(--ink);opacity:.82}

/* ---- programacao cientifica ---- */
.ilp-prog{display:grid;gap:2.2rem;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}
.ilp-prog__dn{font-family:var(--font-display);font-size:1.12rem;color:var(--ink);
 margin:0 0 1rem;padding-bottom:.55rem;border-bottom:2px solid var(--action);display:inline-block}
.ilp-prog__l{list-style:none;margin:0;padding:0}
.ilp-prog__i{display:flex;gap:.9rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.ilp-prog__i:last-child{border-bottom:0}
.ilp-prog__h{flex:0 0 auto;font-family:var(--font-display);font-size:.82rem;font-weight:700;
 color:var(--accent-ink);padding-top:.15rem;min-width:46px}
.ilp-prog__t{margin:0 0 .3rem;font-size:.97rem;line-height:1.4;color:var(--ink);font-weight:600}
.ilp-prog__p{margin:0;font-size:.86rem;color:var(--ink-muted);display:flex;
 align-items:center;gap:.5rem;flex-wrap:wrap}
.ilp-prog__tag{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
 background:var(--surface-warm);color:var(--ink);padding:.16rem .45rem;border-radius:4px}

/* ---- redes no rodape ---- */
.ilp-footer__social{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.4rem 0 1.1rem}
.ilp-soc{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;
 border:1px solid rgba(255,255,255,.22);border-radius:999px;
 color:inherit;text-decoration:none;font-size:.88rem;line-height:1;
 transition:border-color .2s,background .2s}
.ilp-soc:hover{border-color:var(--action);background:rgba(255,255,255,.06)}
.ilp-soc svg{width:18px;height:18px;flex:none}
.ilp-soc--zap{background:rgba(37,211,102,.14);border-color:rgba(37,211,102,.4)}
.ilp-soc--zap:hover{background:rgba(37,211,102,.22);border-color:rgba(37,211,102,.7)}
@media(max-width:768px){.ilp-soc{font-size:.84rem;padding:.5rem .8rem}}


/* ---------- Cartao de curso (catalogo) ---------- */
.ilp-cc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:14px}
a.ilp-cc{display:flex;flex-direction:column;gap:7px;background:var(--surface);
border:1px solid var(--line);border-radius:16px;padding:20px 22px;text-decoration:none;
color:var(--ink);box-shadow:var(--shadow-card);transition:border-color .18s,transform .18s}
a.ilp-cc:hover{border-color:var(--gold-400);transform:translateY(-2px)}
a.ilp-cc:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.ilp-cc--dest{border-color:var(--gold-400);background:var(--surface-warm)}
.ilp-cc__nome{font-family:var(--font-display,Montserrat,sans-serif);font-weight:700;
font-size:16.5px;line-height:1.3}
.ilp-cc__sub{font-size:13.5px;color:var(--ink-muted);line-height:1.45}
.ilp-cc__preco{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.ilp-cc__de{font-size:13px;color:var(--ink-muted);text-decoration:line-through}
.ilp-cc__por{font-family:var(--font-display,Montserrat,sans-serif);font-weight:700;font-size:21px;
color:var(--ink);white-space:nowrap}
.ilp-cc__par{font-size:12.5px;color:var(--ink-muted);white-space:nowrap}
.ilp-cc__ir{font-family:var(--font-display,Montserrat,sans-serif);font-size:13px;font-weight:600;
color:var(--accent-ink);display:inline-flex;gap:6px;align-items:center}
.ilp-cc{position:relative}
.ilp-cc__off{position:absolute;top:-9px;right:16px;background:var(--gold-500);color:#0B0B0C;
font-family:var(--font-display,Montserrat,sans-serif);font-weight:700;font-size:14px;
line-height:1;padding:7px 11px;border-radius:999px;display:inline-flex;align-items:baseline;gap:3px}
.ilp-cc__off small{font-size:9px;letter-spacing:.06em}
