/* ============================================================
   Palpite Honesto — design system
   Tokens (--ph-*) vêm do <style id="palpite-tokens"> em functions.php,
   alimentado pelo backoffice. Aqui ficam os fallbacks e os componentes.
   ============================================================ */

:root {
  --ph-primary: #0E2336;
  --ph-accent: #12A66A;
  --ph-amber: #F5A623;
  --ph-bg: #F6F8F7;
  --ph-muted: #5B6B73;
  --ph-font-title: "Sora", system-ui, sans-serif;
  --ph-font-body: "Inter", system-ui, sans-serif;

  --ph-ink: #0E2336;
  --ph-line: #E3E8E9;
  --ph-card: #FFFFFF;
  --ph-accent-dark: #0F8C59;
  --ph-radius: 16px;
  --ph-radius-sm: 10px;
  --ph-shadow: 0 1px 2px rgba(14, 35, 54, .06), 0 8px 24px rgba(14, 35, 54, .06);
  --ph-shadow-hover: 0 4px 12px rgba(14, 35, 54, .10), 0 16px 40px rgba(14, 35, 54, .10);
  --ph-maxw: 1140px;
}

/* ── Reset enxuto ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  font-family: var(--ph-font-body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--ph-ink);
  background: var(--ph-bg);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { font-family: var(--ph-font-title); line-height: 1.15; color: var(--ph-primary); margin: 0 0 .5em; font-weight: 700; letter-spacing: -.02em; }
a { color: var(--ph-accent-dark); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }
ul { margin: 0; padding: 0; }

.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }
.ph-skip { position: absolute; left: -999px; top: 0; background: var(--ph-primary); color: #fff; padding: 10px 16px; z-index: 100; border-radius: 0 0 8px 0; }
.ph-skip:focus { left: 0; }

.ph-container { width: 100%; max-width: var(--ph-maxw); margin: 0 auto; padding: 0 20px; }

/* ── Botões ─────────────────────────────────────────────────── */
.ph-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--ph-font-title); font-weight: 600; font-size: 15px;
  padding: 11px 20px; border-radius: 999px; border: 1.5px solid transparent;
  cursor: pointer; transition: transform .08s ease, box-shadow .15s ease, background .15s ease; text-decoration: none; white-space: nowrap;
}
.ph-btn:hover { text-decoration: none; transform: translateY(-1px); }
.ph-btn--primary { background: var(--ph-accent); color: #fff; }
.ph-btn--primary:hover { background: var(--ph-accent-dark); color: #fff; }
.ph-btn--amber { background: var(--ph-amber); color: #3a2c08; box-shadow: 0 4px 14px rgba(245, 166, 35, .35); }
.ph-btn--amber:hover { filter: brightness(1.03); color: #3a2c08; }
.ph-btn--ghost { background: transparent; color: var(--ph-primary); border-color: var(--ph-line); }
.ph-btn--ghost:hover { border-color: var(--ph-primary); color: var(--ph-primary); }
.ph-btn--lg { padding: 14px 26px; font-size: 16px; }

/* ── Header / nav ───────────────────────────────────────────── */
.ph-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--ph-line); }
.ph-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 68px; gap: 16px; }
.ph-header__brand { display: inline-flex; align-items: center; }
.ph-logo-svg svg, .ph-logo-img { height: 34px; width: auto; display: block; }
.ph-logo-text { font-family: var(--ph-font-title); font-weight: 800; color: var(--ph-primary); font-size: 20px; }
.ph-nav { display: flex; min-width: 0; }
.ph-menu { display: flex; align-items: center; gap: 2px; list-style: none; }
.ph-menu li a { display: inline-block; padding: 8px 11px; border-radius: 8px; color: var(--ph-primary); font-family: var(--ph-font-title); font-weight: 500; font-size: 14.5px; white-space: nowrap; }
.ph-menu li a:hover { background: var(--ph-bg); text-decoration: none; }
.ph-nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: 0; padding: 8px; cursor: pointer; }
.ph-nav-toggle span { width: 24px; height: 2px; background: var(--ph-primary); border-radius: 2px; transition: .2s; }
.ph-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ph-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ph-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Hero ───────────────────────────────────────────────────── */
.ph-hero { background: linear-gradient(170deg, var(--ph-primary) 0%, #143049 55%, #0c2031 100%); color: #fff; padding: 64px 0 72px; position: relative; overflow: hidden; }
.ph-hero::after { content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; background: radial-gradient(circle, rgba(18,166,106,.28), transparent 70%); }
.ph-hero .ph-container { position: relative; z-index: 1; max-width: 820px; }
.ph-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; font-family: var(--ph-font-title); color: #bfeede; background: rgba(18,166,106,.14); border: 1px solid rgba(18,166,106,.35); padding: 6px 14px; border-radius: 999px; margin: 0 0 20px; }
.ph-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ph-accent); box-shadow: 0 0 0 4px rgba(18,166,106,.25); }
.ph-hero__title { color: #fff; font-size: clamp(34px, 6vw, 58px); margin: 0 0 16px; font-weight: 800; }
.ph-hero__subtitle { font-size: clamp(17px, 2.4vw, 21px); color: #cdd8e0; margin: 0 0 28px; max-width: 620px; }
.ph-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.ph-hero .ph-btn--ghost { color: #fff; border-color: rgba(255,255,255,.3); }
.ph-hero .ph-btn--ghost:hover { border-color: #fff; color: #fff; }
.ph-hero__note { margin: 26px 0 0; font-size: 13px; color: #9fb0bd; }

/* ── Seções ─────────────────────────────────────────────────── */
.ph-section { padding: 56px 0; }
.ph-section--alt { background: #fff; border-top: 1px solid var(--ph-line); border-bottom: 1px solid var(--ph-line); }
.ph-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.ph-section__title { font-size: clamp(24px, 4vw, 32px); margin: 0; }
.ph-section__more { font-family: var(--ph-font-title); font-weight: 600; font-size: 15px; white-space: nowrap; }

/* ── Grid + cards de casa ───────────────────────────────────── */
.ph-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.ph-card {
  background: var(--ph-card); border: 1px solid var(--ph-line); border-radius: var(--ph-radius);
  padding: 20px; display: flex; flex-direction: column; gap: 14px; box-shadow: var(--ph-shadow);
  transition: box-shadow .18s ease, transform .12s ease, border-color .18s ease;
}
.ph-card:hover { box-shadow: var(--ph-shadow-hover); transform: translateY(-2px); }
.ph-card.is-licensed { border-color: rgba(18,166,106,.4); }
.ph-card__head { display: flex; align-items: center; gap: 14px; }
/* Tile do logo: fundo cinza-claro (não branco) para que logos brancos não sumam,
   com contorno sutil na imagem (drop-shadow) para garantir contraste em qualquer cor. */
.ph-card__logo { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 12px; background: linear-gradient(180deg,#eef1f4,#e3e8ee); border: 1px solid var(--ph-line); display: grid; place-items: center; overflow: hidden; padding: 7px; box-sizing: border-box; }
.ph-card__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; filter: drop-shadow(0 0 1px rgba(14,35,54,.55)) drop-shadow(0 0 2px rgba(14,35,54,.28)); }
.ph-card__logo-fallback { font-family: var(--ph-font-title); font-weight: 800; font-size: 26px; color: var(--ph-primary); }
.ph-card__title { font-size: 19px; margin: 0; }
.ph-card__title a { color: var(--ph-primary); }
.ph-card__title a:hover { color: var(--ph-accent-dark); text-decoration: none; }
.ph-card__bonus { margin: 0; font-size: 15px; color: var(--ph-primary); }
.ph-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 4px; }
.ph-card__18 { font-family: var(--ph-font-title); font-weight: 700; font-size: 12px; color: var(--ph-muted); border: 1.5px solid var(--ph-line); border-radius: 6px; padding: 3px 7px; }

/* Selo verde — só renderizado quando licenciada */
.ph-seal { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; font-family: var(--ph-font-title); font-weight: 600; font-size: 12.5px; color: var(--ph-accent-dark); background: rgba(18,166,106,.12); border: 1px solid rgba(18,166,106,.3); padding: 3px 9px 3px 7px; border-radius: 999px; line-height: 1; }
.ph-seal svg { color: var(--ph-accent); }

/* Estrelas */
.ph-stars { display: inline-flex; align-items: center; gap: 1px; font-size: 16px; color: var(--ph-amber); }
.ph-star.is-empty { color: var(--ph-line); }
.ph-star.is-half { background: linear-gradient(90deg, var(--ph-amber) 50%, var(--ph-line) 50%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ph-stars__num { margin-left: 6px; font-family: var(--ph-font-title); font-weight: 600; font-size: 13px; color: var(--ph-muted); }

/* Tag de oferta (âmbar = reservado para oferta/anúncio) */
.ph-tag-oferta { display: inline-block; font-family: var(--ph-font-title); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #6b4e0a; background: rgba(245,166,35,.18); border: 1px solid rgba(245,166,35,.45); padding: 2px 8px; border-radius: 6px; }

/* ── Empty / página ─────────────────────────────────────────── */
.ph-empty { text-align: center; padding: 48px 20px; background: #fff; border: 1px dashed var(--ph-line); border-radius: var(--ph-radius); color: var(--ph-muted); }
.ph-empty h1, .ph-empty h3 { color: var(--ph-primary); }

/* ── Page head / breadcrumb ─────────────────────────────────── */
.ph-pagehead { background: #fff; border-bottom: 1px solid var(--ph-line); padding: 36px 0; }
.ph-pagehead__title { font-size: clamp(26px, 4.5vw, 40px); margin: 6px 0 8px; }
.ph-pagehead__lead { color: var(--ph-muted); font-size: 18px; margin: 0; max-width: 680px; }
.ph-breadcrumb { font-size: 14px; color: var(--ph-muted); display: flex; gap: 8px; flex-wrap: wrap; }
.ph-breadcrumb a { color: var(--ph-muted); }
.ph-breadcrumb a:hover { color: var(--ph-accent-dark); }

/* ── Single casa ────────────────────────────────────────────── */
.ph-casa-hero { display: flex; align-items: center; gap: 18px; margin-top: 16px; }
.ph-casa-hero__logo { width: 88px; height: 88px; flex: 0 0 88px; border-radius: 16px; background: linear-gradient(180deg,#eef1f4,#e3e8ee); border: 1px solid var(--ph-line); display: grid; place-items: center; overflow: hidden; padding: 10px; box-sizing: border-box; }
.ph-casa-hero__logo img { max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 0 1px rgba(14,35,54,.55)) drop-shadow(0 0 2px rgba(14,35,54,.28)); }
.ph-casa-hero__title { font-size: clamp(26px, 4vw, 38px); margin: 0 0 6px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ph-casa-hero__domain { color: var(--ph-muted); margin: 4px 0 0; }
.ph-casa-layout { display: grid; grid-template-columns: 1fr 320px; gap: 32px; align-items: start; }
.ph-offer-box { background: linear-gradient(180deg, #fffaf0, #fff); border: 1px solid rgba(245,166,35,.45); border-radius: var(--ph-radius); padding: 22px; margin-bottom: 28px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.ph-offer-box p { margin: 0; font-size: 18px; font-weight: 600; color: var(--ph-primary); }
.ph-offer-box__18 { font-size: 12px; color: var(--ph-muted); }
.ph-factbox { background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 22px; box-shadow: var(--ph-shadow); }
.ph-factbox__title { font-size: 18px; margin: 0 0 12px; }
.ph-factbox dl { margin: 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
.ph-factbox dt { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--ph-muted); font-weight: 600; }
.ph-factbox dd { margin: 0 0 4px; font-size: 15px; color: var(--ph-primary); }
.ph-fact-ok { color: var(--ph-accent-dark); font-weight: 600; }

/* ── Prosa (conteúdo) ───────────────────────────────────────── */
.ph-prose { font-size: 18px; color: #243947; max-width: 720px; }
.ph-prose h2, .ph-prose h3 { margin-top: 1.6em; }
.ph-prose p { margin: 0 0 1.1em; }
.ph-prose a { text-decoration: underline; }
.ph-single__hero { margin: 0 0 24px; border-radius: var(--ph-radius); overflow: hidden; }
.ph-single__meta { color: var(--ph-muted); font-size: 15px; margin: 0; }

/* ── News ───────────────────────────────────────────────────── */
.ph-grid--news { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.ph-news { background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); overflow: hidden; box-shadow: var(--ph-shadow); transition: box-shadow .18s, transform .12s; }
.ph-news:hover { box-shadow: var(--ph-shadow-hover); transform: translateY(-2px); }
.ph-news__thumb img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.ph-news__body { padding: 18px; }
.ph-news__title { font-size: 18px; margin: 0 0 8px; }
.ph-news__title a { color: var(--ph-primary); }
.ph-news__excerpt { color: var(--ph-muted); font-size: 15px; margin: 0 0 10px; }
.ph-news__date { font-size: 13px; color: var(--ph-muted); }

/* ── Pagination / search ────────────────────────────────────── */
.ph-pagination { margin-top: 32px; }
.ph-pagination .page-numbers { display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center; padding: 0 12px; margin: 0 3px; border: 1px solid var(--ph-line); border-radius: 10px; background: #fff; color: var(--ph-primary); font-family: var(--ph-font-title); font-weight: 600; }
.ph-pagination .page-numbers.current { background: var(--ph-primary); color: #fff; border-color: var(--ph-primary); }
.ph-search { display: flex; gap: 8px; }
.ph-search__input { flex: 1; padding: 11px 14px; border: 1px solid var(--ph-line); border-radius: 10px; font: inherit; font-size: 15px; }
.ph-search__input:focus { outline: 2px solid var(--ph-accent); border-color: var(--ph-accent); }
.ph-search__btn { background: var(--ph-primary); color: #fff; border: 0; border-radius: 10px; padding: 0 18px; font-family: var(--ph-font-title); font-weight: 600; cursor: pointer; }

/* ── Footer ─────────────────────────────────────────────────── */
.ph-footer { background: var(--ph-primary); color: #cdd8e0; padding: 48px 0 28px; margin-top: 24px; }
.ph-footer a { color: #cdd8e0; }
.ph-footer a:hover { color: #fff; }
.ph-footer__top { display: flex; justify-content: space-between; gap: 28px; flex-wrap: wrap; padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.12); }
.ph-footer .ph-logo-svg svg { height: 30px; filter: brightness(0) invert(1); opacity: .95; }
.ph-footer__tag { margin: 12px 0 0; color: #9fb0bd; font-size: 14px; }
.ph-footer__menu { display: flex; gap: 18px; flex-wrap: wrap; list-style: none; }
.ph-footer__menu a { font-family: var(--ph-font-title); font-weight: 500; font-size: 15px; }
.ph-responsavel { margin: 22px 0 4px; font-size: 13.5px; color: #f0c98a; font-weight: 500; }
.ph-copy { margin: 0; font-size: 13px; color: #8497a4; }

/* ── Responsivo ─────────────────────────────────────────────── */
/* Menu vira off-canvas (hambúrguer) já no tablet/notebook estreito, antes de
   o menu inline estourar a largura e empurrar a página para os lados. */
@media (max-width: 1080px) {
  .ph-nav-toggle { display: flex; }
  .ph-nav { position: fixed; inset: 68px 0 auto 0; background: #fff; border-bottom: 1px solid var(--ph-line); transform: translateY(-130%); transition: transform .22s ease; box-shadow: var(--ph-shadow); }
  .ph-nav.is-open { transform: translateY(0); }
  .ph-menu { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 16px 16px; }
  .ph-menu li a { padding: 14px 8px; border-radius: 0; border-bottom: 1px solid var(--ph-line); font-size: 16px; }
}
@media (max-width: 860px) {
  .ph-casa-layout { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  .ph-section { padding: 40px 0; }
  .ph-hero { padding: 48px 0 56px; }
}

/* ── Ranking / avaliação de casas ───────────────────────────── */
/* Selo Patrocinadora (âmbar = acordo comercial) */
.ph-patro { display: inline-flex; align-items: center; gap: 4px; font-family: var(--ph-font-title); font-weight: 700; font-size: 12px; color: #6b4e0a; background: rgba(245,166,35,.18); border: 1px solid rgba(245,166,35,.5); padding: 3px 9px; border-radius: 999px; line-height: 1; white-space: nowrap; }
.ph-card.is-patro { border-color: rgba(245,166,35,.55); box-shadow: 0 1px 2px rgba(14,35,54,.06), 0 10px 30px rgba(245,166,35,.16); }
.ph-card__patro { margin: -4px 0 2px; }
.ph-card__rating { display: flex; align-items: center; gap: 8px; }
.ph-card__nota-l { font-size: 12px; color: var(--ph-muted); text-transform: uppercase; letter-spacing: .04em; }
.ph-card__pag { margin: 0; font-size: 13px; color: var(--ph-muted); }

/* Barra de filtros */
.ph-filtros { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 14px 16px; margin-bottom: 24px; box-shadow: var(--ph-shadow); }
.ph-filtros__busca { flex: 1 1 240px; padding: 10px 14px; border: 1px solid var(--ph-line); border-radius: 10px; font: inherit; font-size: 15px; }
.ph-filtros__busca:focus { outline: 2px solid var(--ph-accent); border-color: var(--ph-accent); }
.ph-filtros__sel { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ph-muted); font-family: var(--ph-font-title); font-weight: 600; }
.ph-filtros__sel select { padding: 8px 10px; border: 1px solid var(--ph-line); border-radius: 8px; font: inherit; }
.ph-filtros__chk { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-family: var(--ph-font-title); font-weight: 600; color: var(--ph-primary); cursor: pointer; }
.ph-filtros__chk input { width: 17px; height: 17px; accent-color: var(--ph-accent); }
.ph-filtros__vazio { text-align: center; color: var(--ph-muted); padding: 28px; }

/* Tiers do ranking de casas */
.ph-tier { margin: 0 0 34px; }
.ph-tier__head { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding-bottom: 10px; border-bottom: 2px solid var(--ph-line); }
.ph-tier__title { font-family: var(--ph-font-title); font-size: clamp(19px, 2.6vw, 24px); margin: 0; display: inline-flex; align-items: center; gap: 10px; }
.ph-tier__title::before { content: ""; width: 10px; height: 26px; border-radius: 4px; background: var(--ph-muted); }
.ph-tier__count { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--ph-muted); background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: 999px; padding: 3px 11px; }
.ph-tier--destaque .ph-tier__title::before { background: var(--ph-amber); }
.ph-tier--S .ph-tier__title::before { background: var(--ph-accent); }
.ph-tier--A .ph-tier__title::before { background: var(--ph-accent-dark); }
.ph-tier--B .ph-tier__title::before { background: #5aa9d6; }
.ph-tier--demais .ph-tier__title::before { background: var(--ph-muted); }
.ph-tier--destaque .ph-tier__head { border-bottom-color: rgba(245, 166, 35, .5); }
.ph-tier--destaque { background: linear-gradient(180deg, rgba(245,166,35,.07), transparent 120px); border-radius: var(--ph-radius); padding: 14px 14px 4px; margin-left: -14px; margin-right: -14px; }

/* Como avaliamos */
.ph-comoavaliamos { margin-top: 32px; background: #fff; border: 1px solid var(--ph-line); border-left: 4px solid var(--ph-accent); border-radius: var(--ph-radius); padding: 22px 24px; }
.ph-comoavaliamos h2 { font-size: 20px; margin: 0 0 8px; }
.ph-comoavaliamos p { margin: 0; color: #34505f; font-size: 15.5px; }

/* Bloco de avaliação (critérios) */
.ph-avaliacao { background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 22px 24px; margin-bottom: 28px; box-shadow: var(--ph-shadow); }
.ph-avaliacao h2 { font-size: 22px; margin: 0 0 16px; }
.ph-criterio { display: grid; grid-template-columns: 110px 1fr 38px; align-items: center; gap: 12px; margin-bottom: 12px; }
.ph-criterio__l { font-family: var(--ph-font-title); font-weight: 600; font-size: 14px; color: var(--ph-primary); }
.ph-criterio__bar { height: 10px; background: var(--ph-line); border-radius: 999px; overflow: hidden; }
.ph-criterio__bar > span { display: block; height: 100%; background: linear-gradient(90deg, var(--ph-accent), var(--ph-accent-dark)); border-radius: 999px; }
.ph-criterio__n { font-family: var(--ph-font-title); font-weight: 700; font-size: 14px; color: var(--ph-primary); text-align: right; }

/* Prós e contras */
.ph-proscontras { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 28px; }
.ph-pros, .ph-contras { background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 18px 20px; }
.ph-pros h3, .ph-contras h3 { font-size: 16px; margin: 0 0 10px; }
.ph-pros h3 { color: var(--ph-accent-dark); }
.ph-contras h3 { color: #b4452f; }
.ph-pros ul, .ph-contras ul { margin: 0; padding-left: 18px; }
.ph-pros li, .ph-contras li { margin-bottom: 6px; font-size: 15px; color: #34505f; }

/* Promoção ativa */
.ph-promo { background: linear-gradient(180deg, #fffaf0, #fff); border: 1px solid rgba(245,166,35,.45); border-left: 4px solid var(--ph-amber); border-radius: var(--ph-radius); padding: 18px 22px; margin-bottom: 28px; }
.ph-promo h2 { font-size: 18px; margin: 0 0 6px; color: #6b4e0a; }
.ph-promo p { margin: 0; font-size: 16px; color: var(--ph-primary); }
.ph-promo__data { display: inline-block; margin-top: 8px; font-size: 12px; color: var(--ph-muted); }
.ph-casa-hero__atual { margin: 4px 0 0; font-size: 13px; color: var(--ph-muted); }

/* Galeria */
.ph-galeria { margin-top: 28px; }
.ph-galeria h2 { font-size: 22px; margin: 0 0 14px; }
.ph-galeria__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.ph-galeria__item { margin: 0; border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm); overflow: hidden; background: #fff; }
.ph-galeria__item img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.ph-galeria__item figcaption { padding: 8px 12px; font-size: 13px; color: var(--ph-muted); }

/* Banners / publicidade */
.ph-section--ads { padding: 24px 0 0; }
.ph-ads { position: relative; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 10px; overflow: hidden; box-shadow: var(--ph-shadow); }
.ph-ads__label { position: absolute; top: 8px; left: 12px; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--ph-muted); background: rgba(255,255,255,.88); padding: 2px 6px; border-radius: 4px; z-index: 2; }
.ph-ads__track { position: relative; }
.ph-ads__slide img { display: block; width: 100%; height: auto; border-radius: var(--ph-radius-sm); }
.ph-ads__slide[hidden] { display: none; }
.ph-ads__dots { display: flex; justify-content: center; gap: 6px; padding: 8px 0 2px; }
.ph-ads__dot { width: 8px; height: 8px; border-radius: 50%; border: 0; background: var(--ph-line); cursor: pointer; padding: 0; transition: background .15s; }
.ph-ads__dot.is-active { background: var(--ph-accent); }
.ph-ads--topo { margin: 16px 0 0; }

@media (max-width: 560px) {
  .ph-proscontras { grid-template-columns: 1fr; }
  .ph-criterio { grid-template-columns: 90px 1fr 34px; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
}

/* ── Comunidade: formulários, flash, comentários e avaliação ─────────────── */
.ph-flash { border-radius: var(--ph-radius-sm); padding: 10px 14px; margin: 0 0 16px; font-size: 14px; }
.ph-flash--ok { background: #e6f6ee; color: var(--ph-accent-dark, #0F8C59); border: 1px solid #bfe6d2; }
.ph-flash--erro { background: #fdecec; color: #b3261e; border: 1px solid #f3c6c3; }

.ph-form { max-width: 460px; display: grid; gap: 14px; }
.ph-form--conta { max-width: 520px; }
.ph-field { display: grid; gap: 5px; }
.ph-field > span { font-family: var(--ph-font-title); font-weight: 600; font-size: 14px; color: var(--ph-primary); }
.ph-field input, .ph-field textarea {
  width: 100%; font: inherit; padding: 10px 12px; border: 1px solid var(--ph-line);
  border-radius: var(--ph-radius-sm); background: #fff; color: var(--ph-primary);
}
.ph-field input:focus, .ph-field textarea:focus { outline: 2px solid var(--ph-accent); outline-offset: 1px; border-color: var(--ph-accent); }
.ph-field input:disabled { background: var(--ph-bg); color: var(--ph-muted); }
.ph-field input.is-invalid { border-color: #d4392f; }
.ph-field__erro { color: #b3261e; font-size: 12.5px; min-height: 1em; }
.ph-check { display: flex; gap: 9px; align-items: flex-start; font-size: 13.5px; color: var(--ph-muted); line-height: 1.4; }
.ph-check input { margin-top: 2px; }
.ph-form-nota { font-size: 13.5px; color: var(--ph-muted); }
.ph-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }

/* Avaliações da comunidade */
.ph-comunidade { margin-top: 32px; border-top: 1px solid var(--ph-line); padding-top: 24px; }
.ph-comunidade__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ph-comunidade__head h2 { margin: 0; }
.ph-comunidade__media { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--ph-muted); }
.ph-comunidade__vazio { color: var(--ph-muted); font-size: 14px; margin: 4px 0 0; }
.ph-comunidade__login { background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 16px; margin-top: 18px; }
.ph-comunidade__login p { margin: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.ph-comentarios { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 14px; }
.ph-comentarios ol.children { list-style: none; margin: 12px 0 0 18px; padding: 0; display: grid; gap: 12px; }
.ph-comentario__box { background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 14px 16px; }
.ph-comentario__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ph-comentario__autor { font-family: var(--ph-font-title); font-weight: 600; color: var(--ph-primary); }
.ph-comentario__corpo { margin: 8px 0 0; color: var(--ph-primary); line-height: 1.55; }
.ph-comentario__pe { margin-top: 8px; font-size: 12.5px; color: var(--ph-muted); display: flex; gap: 10px; align-items: center; }
.ph-comentario__moderacao { color: var(--ph-amber); font-style: normal; font-weight: 600; }

/* Widget de estrelas (1–5) — radios em ordem inversa p/ hover via CSS puro */
.ph-rate { border: 0; padding: 0; margin: 0 0 4px; }
.ph-rate legend { font-family: var(--ph-font-title); font-weight: 600; font-size: 14px; color: var(--ph-primary); padding: 0; margin-bottom: 4px; }
.ph-rate__stars { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 2px; }
.ph-rate__stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ph-rate__stars label { cursor: pointer; font-size: 30px; line-height: 1; color: var(--ph-line); transition: color .12s; }
.ph-rate__stars label span[aria-hidden] { display: block; }
.ph-rate__stars input:checked ~ label,
.ph-rate__stars label:hover,
.ph-rate__stars label:hover ~ label { color: var(--ph-amber); }
.ph-rate__stars input:focus-visible + label { outline: 2px solid var(--ph-accent); outline-offset: 2px; border-radius: 4px; }

.ph-casa-hero__rating--user { margin-top: 4px; opacity: .92; }

.ph-header__conta { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; }
/* Botão discreto e distinto p/ a seção de bets ilegais (fora do menu central). */
.ph-denuncia-link { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ph-font-title); font-weight: 600; font-size: 13px; line-height: 1; color: #a02a2a; padding: 7px 12px; border: 1px solid #f0d3d3; background: #fdf4f4; border-radius: 999px; white-space: nowrap; transition: background .15s, border-color .15s; }
.ph-denuncia-link:hover { background: #fae9e9; border-color: #e0b1b1; color: #8a2222; text-decoration: none; }
.ph-denuncia-link svg { flex: 0 0 auto; }
.ph-btn--sm { padding: 7px 14px; font-size: 13.5px; }

/* ── Páginas de conteúdo: cabeçalho, cards, vagas ────────────────────────── */
.ph-pagehead__title { margin: 6px 0 4px; font-size: clamp(26px, 4vw, 38px); }
.ph-pagehead__sub { color: var(--ph-muted); max-width: 60ch; margin: 0; }
.ph-empty { color: var(--ph-muted); padding: 24px 0; }
.ph-chip { display: inline-block; font-family: var(--ph-font-title); font-weight: 600; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--ph-accent-dark, #0F8C59); background: #e6f6ee; border-radius: 999px; padding: 3px 10px; }

.ph-cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.ph-postcard { background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); overflow: hidden; display: flex; flex-direction: column; }
.ph-postcard__media { display: block; aspect-ratio: 16/9; background: var(--ph-bg); overflow: hidden; }
.ph-postcard__media img { width: 100%; height: 100%; object-fit: cover; }
.ph-postcard__body { padding: 14px 16px; display: grid; gap: 8px; }
.ph-postcard__title { font-size: 18px; margin: 0; line-height: 1.3; }
.ph-postcard__title a { color: var(--ph-primary); text-decoration: none; }
.ph-postcard__title a:hover { color: var(--ph-accent); }
.ph-postcard__excerpt { color: var(--ph-muted); font-size: 14px; margin: 0; }
.ph-postcard__date { color: var(--ph-muted); font-size: 12.5px; }

.ph-prose-wrap { max-width: 760px; }
.ph-single-post__cover { width: 100%; border-radius: var(--ph-radius); margin: 0 0 18px; }
.ph-lead { font-size: 19px; line-height: 1.5; color: var(--ph-primary); font-weight: 500; }
.ph-fonte { color: var(--ph-muted); font-size: 13.5px; border-top: 1px solid var(--ph-line); padding-top: 12px; margin-top: 20px; }

.ph-vagas { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ph-vaga { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 16px 18px; }
.ph-vaga__title { margin: 0 0 4px; font-size: 18px; }
.ph-vaga__title a { color: var(--ph-primary); text-decoration: none; }
.ph-vaga__title a:hover { color: var(--ph-accent); }
.ph-vaga__meta { margin: 0; color: var(--ph-muted); font-size: 14px; }
.ph-vaga__cta { margin-top: 24px; }

@media (max-width: 560px) {
  .ph-vaga { flex-direction: column; align-items: flex-start; }
}

/* ── Banco de Talentos ───────────────────────────────────────────────────── */
.ph-form--talentos { max-width: 560px; }
.ph-form--talentos input[type="file"] { font: inherit; padding: 8px; border: 1px dashed var(--ph-line); border-radius: var(--ph-radius-sm); width: 100%; background: #fff; }
.ph-talentos-destino { border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm); padding: 12px 14px; margin: 0; display: grid; gap: 8px; }
.ph-talentos-destino legend { font-family: var(--ph-font-title); font-weight: 600; font-size: 14px; padding: 0 6px; }
.ph-talentos-casas { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 6px 14px; margin-top: 6px; padding-top: 8px; border-top: 1px dashed var(--ph-line); }
.ph-consent { background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm); padding: 12px 14px; font-size: 13px; }

/* ── Páginas institucionais ──────────────────────────────────────────────── */
.ph-prose-nota { background: var(--ph-bg); border-left: 3px solid var(--ph-amber); padding: 10px 14px; border-radius: 8px; color: var(--ph-muted); font-size: 13.5px; }
.ph-back-home { margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--ph-line); }

/* ── Enquete ─────────────────────────────────────────────────────────────── */
.ph-enquete { max-width: 640px; margin: 0 auto; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 22px 24px; box-shadow: var(--ph-shadow); }
.ph-enquete__tag { display: inline-block; font-family: var(--ph-font-title); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; color: var(--ph-accent-dark, #0F8C59); background: #e6f6ee; border-radius: 999px; padding: 3px 10px; }
.ph-enquete__pergunta { margin: 10px 0 16px; font-size: 21px; line-height: 1.3; }
.ph-enquete__form { display: grid; gap: 10px; }
.ph-enquete__opcao { display: flex; align-items: center; gap: 10px; border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm); padding: 12px 14px; cursor: pointer; transition: border-color .12s, background .12s; }
.ph-enquete__opcao:hover { border-color: var(--ph-accent); background: var(--ph-bg); }
.ph-enquete__opcao input { accent-color: var(--ph-accent); }
.ph-enquete__form .ph-btn { justify-self: start; margin-top: 4px; }
.ph-enquete__form.is-sending { opacity: .55; pointer-events: none; }
.ph-enquete__resultados { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ph-enquete__r-top { display: flex; justify-content: space-between; font-size: 14.5px; margin-bottom: 5px; }
.ph-enquete__r.is-mine .ph-enquete__r-top { font-weight: 700; color: var(--ph-accent-dark, #0F8C59); }
.ph-enquete__bar { height: 10px; background: var(--ph-line); border-radius: 999px; overflow: hidden; }
.ph-enquete__bar > span { display: block; height: 100%; background: var(--ph-accent); border-radius: 999px; transition: width .4s ease; }
.ph-enquete__r.is-mine .ph-enquete__bar > span { background: var(--ph-accent-dark, #0F8C59); }
.ph-enquete__total { margin: 14px 0 0; font-size: 13px; color: var(--ph-muted); }

/* ── Banner de consentimento de cookies ──────────────────────────────────── */
.ph-consent-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 90; max-width: 720px; margin: 0 auto; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); box-shadow: 0 8px 30px rgba(14,35,54,.16); padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ph-consent-banner p { margin: 0; font-size: 13.5px; color: var(--ph-primary); flex: 1 1 280px; }
.ph-consent-banner__acoes { display: flex; gap: 8px; flex: 0 0 auto; }
@media (max-width: 480px) { .ph-consent-banner__acoes { width: 100%; } .ph-consent-banner__acoes .ph-btn { flex: 1; } }

/* ── CTA de afiliado em destaque (página da casa) ─────────────────────────── */
.ph-casa-hero__cta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 16px; }
.ph-casa-hero__cta-18 { font-size: 12px; color: var(--ph-muted); }
/* Card fixo (sticky) na lateral — acompanha a leitura e mantém o CTA à vista. */
.ph-cta-jogar { position: sticky; top: 16px; display: grid; gap: 10px; text-align: center; background: linear-gradient(180deg, #fffaf0, #fff); border: 1px solid rgba(245,166,35,.5); border-radius: var(--ph-radius); padding: 18px; margin-bottom: 22px; box-shadow: 0 6px 22px rgba(245,166,35,.18); }
.ph-cta-jogar__tag { justify-self: center; font-family: var(--ph-font-title); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; color: #3a2c08; background: var(--ph-amber); border-radius: 999px; padding: 3px 12px; }
.ph-cta-jogar__casa { font-family: var(--ph-font-title); font-size: 19px; color: var(--ph-primary); }
.ph-cta-jogar__bonus { margin: 0; font-size: 14px; color: var(--ph-primary); }
.ph-cta-jogar .ph-btn { width: 100%; }
.ph-cta-jogar__18 { font-size: 11.5px; color: var(--ph-muted); }

/* ── Engajamento na página da casa (avaliação + enquetes rápidas) ─────────── */
.ph-engaj { margin-top: 28px; border-top: 1px solid var(--ph-line); padding-top: 22px; }
.ph-engaj__title { margin: 0 0 14px; }
.ph-engaj__sub { margin: 26px 0 12px; font-size: 17px; }
/* Enquete sim/não em destaque — convite público de baixa fricção. */
.ph-poll { background: linear-gradient(180deg, #eef9f2, #fff); border: 1px solid var(--ph-accent); border-radius: var(--ph-radius); padding: 22px 24px; margin-bottom: 30px; box-shadow: var(--ph-shadow); }
.ph-poll__title { margin: 0 0 6px; font-size: clamp(20px, 3vw, 26px); }
.ph-poll__sub { margin: 0 0 16px; color: var(--ph-muted); font-size: 14px; }
.ph-poll .ph-quick { max-width: none; }
.ph-poll .ph-quick__row { background: #fff; }
.ph-aval-wrap { margin-top: 48px; }
.ph-aval { display: grid; gap: 10px; max-width: 520px; }
.ph-aval__row { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm); padding: 8px 14px; }
.ph-aval__l { font-family: var(--ph-font-title); font-weight: 600; font-size: 14px; color: var(--ph-primary); }
.ph-aval .ph-rate__stars label { font-size: 24px; }
.ph-aval button[type="submit"] { justify-self: start; margin-top: 4px; }

.ph-quick { display: grid; gap: 10px; max-width: 560px; }
.ph-quick__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ph-quick__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm); padding: 10px 14px; }
.ph-quick__q { font-size: 14.5px; color: var(--ph-primary); flex: 1 1 180px; }
.ph-quick__btns { display: inline-flex; gap: 6px; }
.ph-quick__b { font: inherit; font-size: 13.5px; padding: 6px 16px; border-radius: 999px; border: 1px solid var(--ph-line); background: #fff; color: var(--ph-primary); cursor: pointer; transition: all .12s; }
.ph-quick__b:hover { border-color: var(--ph-accent); }
.ph-quick__b[aria-pressed="true"] { background: var(--ph-accent); color: #fff; border-color: var(--ph-accent); }
.ph-quick__row[data-loading] .ph-quick__b { opacity: .5; pointer-events: none; }
.ph-quick__res { flex-basis: 100%; font-size: 12.5px; color: var(--ph-muted); }

/* ── Fornecedores (diretório B2B) — /fornecedores ── */
.ph-fdir-bar { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-bottom: 28px; }
.ph-fdir-busca { flex: 1 1 260px; padding: 11px 14px; border: 1px solid var(--ph-line); border-radius: 10px; font: inherit; font-size: 15px; box-shadow: var(--ph-shadow); }
.ph-fdir-busca:focus { outline: 2px solid var(--ph-accent); border-color: var(--ph-accent); }
.ph-fdir-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ph-chip { font: inherit; font-size: 13.5px; font-family: var(--ph-font-title); font-weight: 600; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--ph-line); background: #fff; color: var(--ph-muted); cursor: pointer; transition: all .12s; }
.ph-chip:hover { border-color: var(--ph-accent); color: var(--ph-primary); }
.ph-chip.is-on { background: var(--ph-primary); color: #fff; border-color: var(--ph-primary); }
.ph-fcat { margin-bottom: 36px; }
.ph-fcat__head { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.ph-fcat__title { font-family: var(--ph-font-title); font-size: 21px; color: var(--ph-primary); margin: 0; }
.ph-fcat__count { font-size: 13px; font-weight: 700; color: var(--ph-muted); background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: 999px; padding: 2px 10px; }
.ph-fcat__desc { color: var(--ph-muted); font-size: 14.5px; margin: 0 0 16px; }
.ph-fgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.ph-fcard { position: relative; display: flex; flex-direction: column; gap: 12px; background: var(--ph-card); border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 18px; box-shadow: var(--ph-shadow); }
.ph-fcard.is-patro { border-color: var(--ph-amber); box-shadow: 0 0 0 1px var(--ph-amber), var(--ph-shadow); }
.ph-fcard__patro { position: absolute; top: -10px; right: 14px; font-family: var(--ph-font-title); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #5a3a00; background: var(--ph-amber); border-radius: 999px; padding: 3px 10px; }
.ph-fcard__head { display: flex; align-items: center; gap: 12px; }
.ph-fcard__logo { flex: 0 0 auto; width: 56px; height: 56px; display: grid; place-items: center; background: linear-gradient(180deg,#eef1f4,#e3e8ee); border: 1px solid var(--ph-line); border-radius: 12px; overflow: hidden; padding: 6px; box-sizing: border-box; }
.ph-fcard__logo img { max-width: 100%; max-height: 100%; height: auto; object-fit: contain; filter: drop-shadow(0 0 1px rgba(14,35,54,.5)); }
.ph-fcard__logo-fallback { font-family: var(--ph-font-title); font-size: 24px; font-weight: 700; color: var(--ph-accent-dark); }
.ph-fcard__title { font-size: 16.5px; margin: 0; color: var(--ph-primary); }
.ph-fcard__title a { color: inherit; text-decoration: none; }
.ph-fcard__title a:hover { color: var(--ph-accent); }
.ph-fcard__cat { font-size: 12.5px; color: var(--ph-muted); margin: 2px 0 0; }
.ph-fcard__desc { font-size: 14px; color: var(--ph-ink); margin: 0; flex: 1 1 auto; }
.ph-fcard__foot { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ph-fcta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-top: 40px; padding: 24px; background: linear-gradient(135deg, var(--ph-primary), #133a55); border-radius: var(--ph-radius); color: #fff; }
.ph-fcta h2 { font-family: var(--ph-font-title); font-size: 20px; margin: 0 0 6px; }
.ph-fcta p { margin: 0; opacity: .9; font-size: 14.5px; max-width: 60ch; }
.ph-fdir-vazio { text-align: center; color: var(--ph-muted); padding: 28px; }
/* Página do fornecedor */
.ph-fhero { display: flex; gap: 18px; align-items: center; }
.ph-fhero__logo { flex: 0 0 auto; width: 80px; height: 80px; display: grid; place-items: center; background: linear-gradient(180deg,#eef1f4,#e3e8ee); border: 1px solid var(--ph-line); border-radius: 16px; overflow: hidden; padding: 9px; box-sizing: border-box; }
.ph-fhero__logo img { max-width: 100%; max-height: 100%; height: auto; object-fit: contain; filter: drop-shadow(0 0 1px rgba(14,35,54,.5)); }
.ph-fhero__title { font-family: var(--ph-font-title); margin: 0; color: var(--ph-primary); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ph-fhero__cat a { color: var(--ph-accent-dark); text-decoration: none; font-size: 14.5px; }
.ph-fhero__loc { color: var(--ph-muted); font-size: 14px; margin: 4px 0 0; }
.ph-flead { font-size: 17px; color: var(--ph-ink); line-height: 1.5; }
.ph-fservicos { margin-top: 24px; }
.ph-ftags { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ph-ftags li { font-size: 13px; background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: 999px; padding: 5px 12px; color: var(--ph-primary); }
@media (max-width: 640px) {
  .ph-fcta { flex-direction: column; align-items: flex-start; }
}

/* ── Fornecedor: bloco premium (vídeo, carrossel, papers, contato) ── */
.ph-fvideo { position: relative; margin: 20px 0; border-radius: var(--ph-radius); overflow: hidden; cursor: pointer; aspect-ratio: 16/9; background: #000; }
.ph-fvideo img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .85; transition: opacity .15s; }
.ph-fvideo:hover img { opacity: 1; }
.ph-fvideo__play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border: 0; border-radius: 999px; background: rgba(18,166,106,.92); color: #fff; font-size: 22px; cursor: pointer; display: grid; place-items: center; }
.ph-fvideo.is-on { aspect-ratio: 16/9; cursor: default; }
.ph-fvideo.is-on iframe { width: 100%; height: 100%; display: block; }
.ph-fcarrossel { margin: 24px 0; }
.ph-fcarrossel__track { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.ph-fcarrossel__item { flex: 0 0 auto; width: 260px; margin: 0; scroll-snap-align: start; }
.ph-fcarrossel__item img { width: 100%; height: 160px; object-fit: cover; border-radius: var(--ph-radius-sm); border: 1px solid var(--ph-line); }
.ph-fcarrossel__item figcaption { font-size: 12.5px; color: var(--ph-muted); margin-top: 6px; }
.ph-fpapers { margin: 24px 0; }
.ph-fpapers__list { list-style: none; padding: 0; display: grid; gap: 8px; }
.ph-fpapers__list a { display: block; padding: 12px 14px; background: var(--ph-card); border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm); color: var(--ph-primary); text-decoration: none; font-weight: 600; font-size: 14.5px; }
.ph-fpapers__list a:hover { border-color: var(--ph-accent); }
.ph-factbox--premium { border-color: var(--ph-amber); box-shadow: 0 0 0 1px var(--ph-amber), var(--ph-shadow); }
.ph-factbox--premium .ph-btn { width: 100%; margin-bottom: 12px; text-align: center; }
.ph-factbox--cta { background: var(--ph-bg); font-size: 14px; color: var(--ph-muted); }
.ph-fredes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ph-frede { font-size: 13px; font-weight: 600; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--ph-line); color: var(--ph-primary); text-decoration: none; }
.ph-frede:hover { border-color: var(--ph-accent); color: var(--ph-accent-dark); }

/* ── Régua de confiança (prova social + método) ────────────────────────── */
.ph-trust { background: #fff; border-bottom: 1px solid var(--ph-line); padding: 28px 0; }
.ph-trust__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; }
.ph-trust__stat { text-align: center; padding: 8px 6px; }
.ph-trust__num { display: block; font-family: var(--ph-font-title); font-weight: 800; font-size: 34px; line-height: 1; color: var(--ph-primary); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.ph-trust__lbl { display: block; margin-top: 6px; font-size: 13.5px; color: var(--ph-muted); }
.ph-trust__pilares { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 22px; list-style: none; padding: 0; margin: 22px 0 0; border-top: 1px dashed var(--ph-line); padding-top: 18px; }
.ph-trust__stats + .ph-trust__pilares { margin-top: 22px; }
.ph-trust__pilares li { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ph-primary); font-weight: 500; }
.ph-trust__ico { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 999px; background: rgba(18,166,106,.12); color: var(--ph-accent-dark); font-size: 13px; }

/* ── Chips de confiança (indicadores curtos no card) ───────────────────── */
.ph-card__chips, .ph-sponsor__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ph-tchip { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; line-height: 1; padding: 5px 10px; border-radius: 999px; background: var(--ph-bg); border: 1px solid var(--ph-line); color: var(--ph-primary); white-space: nowrap; }
.ph-tchip--ok { background: rgba(18,166,106,.1); border-color: rgba(18,166,106,.32); color: var(--ph-accent-dark); }
.ph-tchip--amber { background: rgba(245,166,35,.16); border-color: rgba(245,166,35,.45); color: #6b4e0a; }

/* ── Vitrine premium do patrocinador ───────────────────────────────────── */
.ph-section--sponsor { padding-top: 32px; }
.ph-sponsor { position: relative; display: grid; grid-template-columns: 1.3fr 1fr; gap: 28px; align-items: center; background: linear-gradient(120deg, #fffdf7 0%, #fff 60%); border: 1px solid rgba(245,166,35,.5); border-radius: var(--ph-radius); box-shadow: 0 0 0 1px rgba(245,166,35,.25), 0 14px 38px rgba(245,166,35,.14); padding: 30px 28px; }
.ph-sponsor__ribbon { position: absolute; top: -12px; left: 24px; font-family: var(--ph-font-title); font-weight: 700; font-size: 12px; letter-spacing: .03em; color: #fff; background: var(--ph-amber); padding: 5px 14px; border-radius: 999px; box-shadow: 0 4px 12px rgba(245,166,35,.4); }
.ph-sponsor__brand { display: flex; align-items: center; gap: 18px; }
.ph-sponsor__logo { flex: 0 0 auto; width: 96px; height: 96px; display: grid; place-items: center; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm); overflow: hidden; }
.ph-sponsor__logo img { max-width: 84px; max-height: 64px; width: auto; height: auto; object-fit: contain; }
.ph-sponsor__title { font-size: 26px; margin: 0 0 6px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ph-sponsor__title a { color: var(--ph-primary); }
.ph-sponsor__rating { display: flex; align-items: center; gap: 8px; }
.ph-sponsor__offer { border-left: 1px solid var(--ph-line); padding-left: 28px; }
.ph-sponsor__bonus { font-size: 16px; font-weight: 600; color: var(--ph-primary); margin: 10px 0 16px; }
.ph-sponsor__offer .ph-btn--amber { width: 100%; }
.ph-sponsor__18 { display: block; margin-top: 12px; font-size: 12px; color: var(--ph-muted); }
@media (max-width: 760px) {
  .ph-sponsor { grid-template-columns: 1fr; gap: 20px; padding: 28px 20px 24px; }
  .ph-sponsor__offer { border-left: 0; border-top: 1px solid var(--ph-line); padding-left: 0; padding-top: 20px; }
  .ph-sponsor__brand { flex-direction: column; text-align: center; }
  .ph-sponsor__chips { justify-content: center; }
  .ph-trust__num { font-size: 28px; }
}

/* ── Fornecedores premium ───────────────────────────────────────────────── */
.ph-pagehead__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ph-font-title); font-weight: 600; font-size: 13px; color: var(--ph-muted); text-transform: uppercase; letter-spacing: .06em; margin: 0 0 6px; }
.ph-amberdot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--ph-amber); box-shadow: 0 0 0 4px rgba(245,166,35,.22); }
.ph-section__hint { color: var(--ph-muted); font-size: 14.5px; }
.ph-section__head--center { flex-direction: column; align-items: center; text-align: center; gap: 6px; }
.ph-section__head--center .ph-section__hint { max-width: 60ch; }

.ph-fstats { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 22px; }
.ph-fstat { display: flex; flex-direction: column; }
.ph-fstat__n { font-family: var(--ph-font-title); font-weight: 800; font-size: 30px; line-height: 1; color: var(--ph-primary); letter-spacing: -.02em; }
.ph-fstat__l { font-size: 13.5px; color: var(--ph-muted); margin-top: 4px; }

/* Vitrine de destaques */
.ph-section--fdestaques { padding-top: 8px; }
.ph-fdgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.ph-fdcard { position: relative; display: flex; flex-direction: column; gap: 12px; background: linear-gradient(160deg, #fffdf7, #fff 60%); border: 1px solid rgba(245,166,35,.5); border-radius: var(--ph-radius); padding: 20px; box-shadow: 0 0 0 1px rgba(245,166,35,.18), 0 10px 30px rgba(245,166,35,.12); }
.ph-fdcard.is-master { box-shadow: 0 0 0 1px rgba(245,166,35,.35), 0 14px 38px rgba(245,166,35,.18); }
.ph-fdcard__badge { position: absolute; top: -11px; left: 18px; font-family: var(--ph-font-title); font-size: 11px; font-weight: 700; letter-spacing: .03em; color: #fff; background: var(--ph-amber); border-radius: 999px; padding: 4px 12px; box-shadow: 0 4px 12px rgba(245,166,35,.4); }
.ph-fdcard__head { display: flex; align-items: center; gap: 12px; margin-top: 4px; }
.ph-fdcard__logo { flex: 0 0 auto; width: 60px; height: 60px; display: grid; place-items: center; background: #fff; border: 1px solid var(--ph-line); border-radius: 12px; overflow: hidden; }
.ph-fdcard__logo img { max-width: 100%; height: auto; object-fit: contain; }
.ph-fdcard__title { font-size: 17px; margin: 0; color: var(--ph-primary); }
.ph-fdcard__title a { color: inherit; text-decoration: none; }
.ph-fdcard__title a:hover { color: var(--ph-accent-dark); }
.ph-fdcard__cat { font-size: 12.5px; color: var(--ph-muted); margin: 2px 0 0; }
.ph-fdcard__desc { font-size: 14px; color: var(--ph-ink); margin: 0; flex: 1 1 auto; }
.ph-fdcard__foot { display: flex; gap: 8px; flex-wrap: wrap; }

/* Tags de serviço mini (cards) */
.ph-ftags--mini { gap: 6px; }
.ph-ftags--mini li { font-size: 11.5px; padding: 3px 9px; }
.ph-fcard { transition: transform .1s ease, box-shadow .15s ease; }
.ph-fcard:hover { transform: translateY(-2px); box-shadow: var(--ph-shadow-hover); }

/* Hero premium (single) */
.ph-fpagehead.is-premium { background: linear-gradient(135deg, var(--ph-primary) 0%, #143049 60%, #0c2031 100%); color: #fff; position: relative; overflow: hidden; }
.ph-fpagehead.is-premium::after { content: ""; position: absolute; right: -120px; top: -120px; width: 360px; height: 360px; background: radial-gradient(circle, rgba(245,166,35,.22), transparent 70%); }
.ph-fpagehead.is-premium .ph-breadcrumb, .ph-fpagehead.is-premium .ph-breadcrumb a, .ph-fpagehead.is-premium .ph-breadcrumb span { color: rgba(255,255,255,.7); }
.ph-fpagehead.is-premium .ph-fhero__title { color: #fff; }
.ph-fpagehead.is-premium .ph-fhero__cat a { color: #7fe3b6; }
.ph-fhero--premium { gap: 22px; align-items: center; position: relative; z-index: 1; }
.ph-fhero--premium .ph-fhero__logo { width: 92px; height: 92px; background: #fff; }
.ph-fhero__id { min-width: 0; }
.ph-fhero__badge { font-family: var(--ph-font-title); font-size: 12px; font-weight: 700; color: #fff; background: var(--ph-amber); border-radius: 999px; padding: 4px 12px; vertical-align: middle; }
.ph-fhero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ph-fpagehead.is-premium .ph-tchip { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); color: #eaf2ee; }
.ph-fpagehead.is-premium .ph-tchip--ok { background: rgba(18,166,106,.25); border-color: rgba(18,166,106,.5); color: #aef0cf; }
.ph-fhero__cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

/* Planos de patrocínio */
.ph-section--fplanos { background: #fff; border-top: 1px solid var(--ph-line); }
.ph-fplanos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin: 28px 0; }
.ph-fplano { position: relative; display: flex; flex-direction: column; background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 24px; }
.ph-fplano--destaque { border-color: rgba(245,166,35,.5); }
.ph-fplano--master { border-color: var(--ph-amber); background: linear-gradient(160deg, #fffdf7, #fff); box-shadow: 0 0 0 1px rgba(245,166,35,.25), var(--ph-shadow); }
.ph-fplano__tag { position: absolute; top: -11px; left: 22px; font-family: var(--ph-font-title); font-size: 11px; font-weight: 700; color: #fff; background: var(--ph-amber); border-radius: 999px; padding: 4px 12px; }
.ph-fplano__nome { font-family: var(--ph-font-title); font-size: 20px; margin: 4px 0 2px; color: var(--ph-primary); }
.ph-fplano__preco { font-size: 14px; color: var(--ph-muted); margin: 0 0 14px; font-weight: 600; }
.ph-fplano__lista { list-style: none; padding: 0; display: grid; gap: 9px; }
.ph-fplano__lista li { position: relative; padding-left: 24px; font-size: 14.5px; color: var(--ph-ink); }
.ph-fplano__lista li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--ph-accent); font-weight: 800; }
.ph-frelated { margin-top: 8px; }

@media (max-width: 760px) {
  .ph-fhero--premium { flex-direction: row; align-items: flex-start; }
  .ph-fhero__cta .ph-btn { flex: 1 1 auto; }
  .ph-fstats { gap: 20px; }
}

/* ── Assinatura de persona (byline + card do autor) ─────────────────────── */
.ph-byline { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; padding-bottom: 18px; border-bottom: 1px solid var(--ph-line); }
.ph-byline__avatar { width: 44px; height: 44px; border-radius: 999px; object-fit: cover; border: 1px solid var(--ph-line); }
.ph-byline__info { display: flex; flex-direction: column; }
.ph-byline__nome { font-family: var(--ph-font-title); font-weight: 700; font-size: 15px; color: var(--ph-primary); }
.ph-byline__meta { font-size: 13px; color: var(--ph-muted); }
.ph-author { display: flex; gap: 16px; align-items: flex-start; margin: 32px 0 0; padding: 20px; background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: var(--ph-radius); }
.ph-author__avatar { width: 64px; height: 64px; border-radius: 999px; object-fit: cover; flex: 0 0 auto; border: 1px solid var(--ph-line); }
.ph-author__nome { font-family: var(--ph-font-title); font-weight: 700; font-size: 16px; color: var(--ph-primary); margin: 0 0 4px; }
.ph-author__cargo { font-weight: 500; color: var(--ph-muted); }
.ph-author__bio { font-size: 14.5px; color: var(--ph-ink); margin: 0; line-height: 1.55; }

/* ── Comparador de casas ────────────────────────────────────────────────── */
.ph-cmp__picker { position: relative; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 22px; }
.ph-cmp__search { flex: 1 1 320px; max-width: 480px; }
.ph-cmp__search input { width: 100%; padding: 13px 16px; border: 1px solid var(--ph-line); border-radius: 12px; font: inherit; font-size: 15px; box-shadow: var(--ph-shadow); }
.ph-cmp__search input:focus { outline: 2px solid var(--ph-accent); border-color: var(--ph-accent); }
.ph-cmp__count { font-size: 13.5px; color: var(--ph-muted); font-weight: 600; }
.ph-cmp__results { position: absolute; top: 100%; left: 0; z-index: 20; width: min(480px, 100%); margin-top: 6px; background: #fff; border: 1px solid var(--ph-line); border-radius: 12px; box-shadow: var(--ph-shadow-hover); overflow: hidden; }
.ph-cmp__opt { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 14px; background: none; border: 0; border-bottom: 1px solid var(--ph-line); cursor: pointer; text-align: left; font: inherit; }
.ph-cmp__opt:last-child { border-bottom: 0; }
.ph-cmp__opt:hover { background: var(--ph-bg); }
.ph-cmp__opt img { width: 32px; height: 32px; object-fit: contain; border-radius: 6px; }
.ph-cmp__optfb { width: 32px; height: 32px; display: grid; place-items: center; background: var(--ph-bg); border-radius: 6px; font-weight: 700; color: var(--ph-accent-dark); }
.ph-cmp__opt > span:nth-child(2) { flex: 1 1 auto; font-weight: 600; color: var(--ph-primary); }
.ph-cmp__optnota { font-family: var(--ph-font-title); font-weight: 700; color: var(--ph-accent-dark); }
.ph-cmp__empty { text-align: center; padding: 40px 20px; background: #fff; border: 1px dashed var(--ph-line); border-radius: var(--ph-radius); color: var(--ph-muted); }

.ph-cmp__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
.ph-cmp__table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 560px; }
.ph-cmp__table th, .ph-cmp__table td { padding: 14px 16px; text-align: center; border-bottom: 1px solid var(--ph-line); vertical-align: middle; }
.ph-cmp__table tbody th[scope="row"], .ph-cmp__table tfoot th[scope="row"], .ph-cmp__corner { position: sticky; left: 0; z-index: 2; background: var(--ph-bg); text-align: left; font-family: var(--ph-font-title); font-weight: 600; font-size: 14px; color: var(--ph-primary); min-width: 140px; }
.ph-cmp__table tbody tr:nth-child(even) td, .ph-cmp__table tbody tr:nth-child(even) th { background: #fcfdfc; }
.ph-cmp__house { background: #fff; min-width: 170px; position: relative; border-bottom: 2px solid var(--ph-line); }
.ph-cmp__rm { position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; border-radius: 999px; border: 1px solid var(--ph-line); background: #fff; color: var(--ph-muted); cursor: pointer; line-height: 1; font-size: 15px; }
.ph-cmp__rm:hover { border-color: #d9534f; color: #d9534f; }
.ph-cmp__hlogo { display: inline-grid; place-items: center; width: 84px; height: 44px; margin: 0 auto 6px; }
.ph-cmp__hlogo img { max-width: 84px; max-height: 44px; object-fit: contain; }
.ph-cmp__hname { display: block; font-family: var(--ph-font-title); font-weight: 700; color: var(--ph-primary); text-decoration: none; }
.ph-cmp__house .ph-seal { margin-top: 6px; }
.ph-cmp__house .ph-patro { margin-top: 4px; }
.ph-cmp-score { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.ph-cmp-score__n { font-family: var(--ph-font-title); font-weight: 700; font-size: 16px; color: var(--ph-primary); }
.ph-cmp-bar { display: block; width: 72px; height: 6px; border-radius: 999px; background: var(--ph-line); overflow: hidden; }
.ph-cmp-bar > span { display: block; height: 100%; background: var(--ph-accent); border-radius: 999px; }
.ph-cmp-yes { color: var(--ph-accent-dark); font-weight: 700; }
.ph-cmp-no { color: var(--ph-muted); }
.ph-cmp__table td.is-best { background: rgba(18,166,106,.09) !important; position: relative; }
.ph-cmp__table td.is-best .ph-cmp-score__n { color: var(--ph-accent-dark); }
.ph-cmp__table td.is-best .ph-cmp-bar > span { background: var(--ph-accent-dark); }
.ph-cmp__table tfoot td { background: #fff; }
.ph-cmp__18 { margin: 16px 0 0; font-size: 12px; color: var(--ph-muted); }
.ph-card__compare { font-size: 13px; font-weight: 600; color: var(--ph-muted); text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.ph-card__compare:hover { color: var(--ph-accent-dark); }

.ph-pagehead__cta { margin: 18px 0 0; }

/* ── Carrossel de enquetes ──────────────────────────────────────────────── */
.ph-enquete__nav { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--ph-line); }
.ph-enquete__arrow { width: 34px; height: 34px; border-radius: 999px; border: 1px solid var(--ph-line); background: #fff; color: var(--ph-primary); font-size: 18px; line-height: 1; cursor: pointer; }
.ph-enquete__arrow:hover { border-color: var(--ph-accent); color: var(--ph-accent-dark); }
.ph-enquete__dots { display: flex; gap: 7px; }
.ph-enquete__dot { width: 9px; height: 9px; border-radius: 999px; border: 0; background: var(--ph-line); cursor: pointer; padding: 0; }
.ph-enquete__dot.is-active { background: var(--ph-accent); }

/* ── Notícias: card editorial + cabeçalho do post ───────────────────────── */
.ph-news__body { display: flex; flex-direction: column; gap: 8px; }
.ph-news__cat { align-self: flex-start; font-family: var(--ph-font-title); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--ph-accent-dark); background: rgba(18,166,106,.1); border-radius: 6px; padding: 3px 9px; text-decoration: none; }
.ph-news__cat:hover { background: rgba(18,166,106,.18); }
.ph-news__title { font-size: 18px; margin: 0; line-height: 1.25; }
.ph-news__excerpt { color: var(--ph-muted); font-size: 14.5px; margin: 0; }
.ph-news__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--ph-line); font-size: 13px; color: var(--ph-muted); }
.ph-news__by { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; color: var(--ph-primary); }
.ph-news__avatar { width: 24px; height: 24px; border-radius: 999px; object-fit: cover; }
.ph-news__date { white-space: nowrap; }

.ph-pagehead--post { background: #fff; border-bottom: 1px solid var(--ph-line); }
.ph-single__cat { display: inline-block; font-family: var(--ph-font-title); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--ph-accent-dark); background: rgba(18,166,106,.1); border-radius: 6px; padding: 4px 11px; margin: 0 0 10px; text-decoration: none; }
.ph-single--post .ph-pagehead__title { max-width: 820px; }
.ph-single--post .ph-prose { max-width: 760px; }

/* ── Home: Nosso método ─────────────────────────────────────────────────── */
.ph-section--metodo { background: #fff; border-bottom: 1px solid var(--ph-line); }
.ph-metodo { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; margin-top: 28px; }
.ph-metodo__passo { position: relative; padding: 24px 22px 22px; background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: var(--ph-radius); }
.ph-metodo__n { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 999px; background: var(--ph-accent); color: #fff; font-family: var(--ph-font-title); font-weight: 800; font-size: 18px; margin-bottom: 12px; }
.ph-metodo__passo h3 { font-size: 18px; margin: 0 0 6px; color: var(--ph-primary); }
.ph-metodo__passo p { margin: 0; font-size: 14.5px; color: var(--ph-muted); line-height: 1.55; }

/* ── Home: faixa de oferta em destaque (fallback) ───────────────────────── */
.ph-offer-strip { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; background: linear-gradient(120deg, #fffdf7, #fff 60%); border: 1px solid rgba(245,166,35,.5); border-radius: var(--ph-radius); box-shadow: 0 0 0 1px rgba(245,166,35,.18), var(--ph-shadow); padding: 18px 22px; }
.ph-offer-strip__tag { font-family: var(--ph-font-title); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #fff; background: var(--ph-amber); border-radius: 999px; padding: 5px 12px; white-space: nowrap; }
.ph-offer-strip__logo { flex: 0 0 auto; display: grid; place-items: center; width: 92px; height: 48px; }
.ph-offer-strip__logo img { max-width: 92px; max-height: 48px; object-fit: contain; }
.ph-offer-strip__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 240px; }
.ph-offer-strip__nome { font-family: var(--ph-font-title); font-size: 17px; color: var(--ph-primary); display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ph-offer-strip__bonus { font-size: 14.5px; color: var(--ph-ink); }
.ph-offer-strip__cta { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.ph-offer-strip__18 { font-size: 11.5px; color: var(--ph-muted); text-align: center; }

/* ── Home: teaser do comparador ─────────────────────────────────────────── */
.ph-section--cmpteaser { }
.ph-cmpteaser { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; align-items: center; background: linear-gradient(135deg, var(--ph-primary) 0%, #143049 60%, #0c2031 100%); color: #fff; border-radius: var(--ph-radius); padding: 34px 32px; overflow: hidden; }
.ph-cmpteaser__eyebrow { font-family: var(--ph-font-title); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #7fe3b6; }
.ph-cmpteaser__title { color: #fff; font-size: clamp(24px, 3vw, 32px); margin: 8px 0 8px; }
.ph-cmpteaser__txt p { color: rgba(255,255,255,.85); font-size: 16px; margin: 0 0 18px; max-width: 46ch; }
.ph-cmpteaser__logos { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.ph-cmpteaser__logo { display: grid; place-items: center; width: 84px; height: 52px; background: linear-gradient(180deg, #f4f6f9, #e7ecf1); border: 1px solid var(--ph-line); border-radius: 10px; padding: 6px; }
.ph-cmpteaser__logo img { max-width: 72px; max-height: 40px; object-fit: contain; filter: drop-shadow(0 1px 1px rgba(0,0,0,.22)); }
.ph-cmpteaser__fb { align-items: center; justify-content: center; width: 100%; height: 100%; font-family: var(--ph-font-title); font-weight: 800; font-size: 22px; color: var(--ph-primary); }
@media (max-width: 760px) {
  .ph-cmpteaser { grid-template-columns: 1fr; gap: 20px; padding: 26px 20px; }
  .ph-offer-strip__cta { width: 100%; }
}

/* ── Vagas: filtros + cards ─────────────────────────────────────────────── */
.ph-vaga-filtros { display: flex; flex-direction: column; gap: 12px; margin: 0 0 24px; }
.ph-vaga-filtro { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ph-vaga-filtro__l { font-family: var(--ph-font-title); font-weight: 600; font-size: 13.5px; color: var(--ph-muted); margin-right: 4px; }
.ph-vagas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.ph-vagacard { display: flex; flex-direction: column; gap: 14px; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 20px; box-shadow: var(--ph-shadow); transition: transform .1s, box-shadow .15s; }
.ph-vagacard:hover { transform: translateY(-2px); box-shadow: var(--ph-shadow-hover); }
.ph-vagacard__top { display: flex; align-items: center; gap: 12px; }
.ph-vagacard__logo { flex: 0 0 auto; width: 48px; height: 48px; display: grid; place-items: center; background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: 12px; font-family: var(--ph-font-title); font-weight: 800; font-size: 20px; color: var(--ph-accent-dark); }
.ph-vagacard__title { font-size: 17px; margin: 0; line-height: 1.25; }
.ph-vagacard__title a { color: var(--ph-primary); }
.ph-vagacard__empresa { font-size: 13.5px; color: var(--ph-muted); margin: 2px 0 0; }
.ph-vagacard__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ph-vagacard .ph-btn { align-self: flex-start; margin-top: auto; }

/* ── Banco de Talentos: landing ─────────────────────────────────────────── */
.ph-talentos-intro { margin: 0 0 32px; }
.ph-talentos-intro__title { font-size: clamp(24px, 4vw, 34px); margin: 6px 0 8px; }
.ph-talentos-intro__lead { color: var(--ph-muted); font-size: 18px; max-width: 70ch; margin: 0 0 24px; }
.ph-talentos-beneficios { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; list-style: none; padding: 0; margin: 0 0 24px; }
.ph-talentos-beneficios li { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 16px 18px; }
.ph-talentos-beneficios__ico { font-size: 22px; line-height: 1; }
.ph-talentos-beneficios li div { display: flex; flex-direction: column; gap: 2px; }
.ph-talentos-beneficios li strong { font-family: var(--ph-font-title); color: var(--ph-primary); font-size: 15px; }
.ph-talentos-beneficios li span:last-child { font-size: 13.5px; color: var(--ph-muted); }
.ph-talentos-passos { display: flex; flex-wrap: wrap; gap: 10px 24px; list-style: none; padding: 18px 0 0; margin: 0; border-top: 1px dashed var(--ph-line); }
.ph-talentos-passos li { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; color: var(--ph-primary); font-weight: 500; }
.ph-talentos-passos li span { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; background: var(--ph-accent); color: #fff; font-weight: 700; font-size: 13px; }
.ph-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ph-field select { width: 100%; padding: 11px 12px; border: 1px solid var(--ph-line); border-radius: 10px; font: inherit; font-size: 15px; background: #fff; }
@media (max-width: 560px) { .ph-field-row { grid-template-columns: 1fr; } }

/* ── Vagas: logo, salário, página da vaga ───────────────────────────────── */
.ph-vagacard__logo.has-img { background: #fff; padding: 6px; }
.ph-vagacard__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.ph-vagacard__salario { font-family: var(--ph-font-title); font-weight: 700; color: var(--ph-accent-dark); font-size: 15px; margin: 0; }
.ph-vagacard__salario span { color: var(--ph-muted); font-weight: 500; font-size: 12.5px; }

.ph-pagehead--vaga { background: #fff; border-bottom: 1px solid var(--ph-line); }
.ph-vaga-hero { display: flex; gap: 18px; align-items: center; }
.ph-vaga-hero__logo { flex: 0 0 auto; width: 84px; height: 84px; display: grid; place-items: center; background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: 16px; font-family: var(--ph-font-title); font-weight: 800; font-size: 34px; color: var(--ph-accent-dark); overflow: hidden; }
.ph-vaga-hero__logo.has-img { background: #fff; padding: 8px; }
.ph-vaga-hero__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.ph-vaga-hero__empresa { color: var(--ph-muted); font-size: 15px; margin: 4px 0 10px; }
.ph-vaga-hero__empresa strong { color: var(--ph-primary); }
.ph-vaga-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ph-vaga-aviso { background: rgba(245,166,35,.14); border: 1px solid rgba(245,166,35,.45); color: #6b4e0a; padding: 12px 16px; border-radius: var(--ph-radius-sm); margin: 0 0 20px; font-weight: 600; }
.ph-vaga-etapas { margin-top: 28px; }
.ph-vaga-etapas__lista { margin: 8px 0 0; padding-left: 20px; display: grid; gap: 8px; }
.ph-vaga-etapas__lista li { padding-left: 4px; }
.ph-vaga-cta__off { color: var(--ph-muted); font-weight: 600; margin: 0; }
.ph-vaga-cta__prazo { font-size: 12.5px; color: var(--ph-muted); margin: 10px 0 0; text-align: center; }
.ph-factbox--premium .ph-btn { width: 100%; }
.ph-factbox__empresa { margin: 0 0 2px; }
.ph-factbox__cnpj { font-size: 13px; color: var(--ph-muted); margin: 0 0 10px; }
.ph-vaga-rec__nome { margin: 0; }
.ph-vaga-rec__cargo { font-size: 13.5px; color: var(--ph-muted); margin: 2px 0 10px; }
@media (max-width: 560px) { .ph-vaga-hero { flex-direction: column; text-align: center; align-items: center; } .ph-vaga-hero__chips { justify-content: center; } }

/* ── Candidatura nativa (form na vaga) ──────────────────────────────────── */
.ph-cand-form .ph-field { margin-bottom: 12px; }
.ph-cand-form textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--ph-line); border-radius: 10px; font: inherit; font-size: 14.5px; resize: vertical; }
.ph-cand-form .ph-btn { width: 100%; }

/* ── Verificação de e-mail (Minha conta) ────────────────────────────────── */
.ph-verif { padding: 12px 16px; border-radius: 10px; font-size: 14px; margin: 0 0 16px; }
.ph-verif--ok { background: rgba(18,166,106,.1); color: var(--ph-accent-dark); }
.ph-verif--pend { background: rgba(245,166,35,.14); border: 1px solid rgba(245,166,35,.45); color: #6b4e0a; }
.ph-verif--pend a { color: #6b4e0a; font-weight: 600; }

/* Quadro "Fornecedores Detectados" (technographics) — abaixo da Ficha, na lateral */
.ph-vendors { margin-top: 16px; }
.ph-vendors__group { margin-bottom: 12px; }
.ph-vendors__cat { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--ph-muted); margin: 0 0 7px; font-weight: 700; }
.ph-vendors__list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 7px; }
.ph-vendors__chip { display: inline-flex; align-items: center; gap: 7px; background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: 999px; padding: 6px 12px; font-size: 13.5px; font-weight: 600; color: var(--ph-primary); }
.ph-vendors__dot { width: 8px; height: 8px; border-radius: 50%; background: #9aa6ab; flex: 0 0 auto; }
.ph-vendors__chip--alta .ph-vendors__dot { background: #0F8C59; }
.ph-vendors__chip--media .ph-vendors__dot { background: #F5A623; }
.ph-vendors__nota { color: var(--ph-muted); font-size: 11.5px; margin: 12px 0 0; }
.ph-vendors__vazio { color: var(--ph-muted); font-size: 13px; margin: 4px 0 0; }

/* ── Denúncias de bets ilegais (formulário + blacklist) ─────────────────── */
.ph-pagehead--den, .ph-pagehead--blacklist { background: linear-gradient(180deg, #fff, var(--ph-bg)); }
.ph-pagehead__dom { color: var(--ph-muted); font-family: ui-monospace, monospace; font-size: 14px; margin: 4px 0 0; }

.ph-aviso { border-radius: 12px; padding: 14px 16px; margin: 0 0 20px; font-size: 14.5px; line-height: 1.5; }
.ph-aviso strong { display: inline; }
.ph-aviso p { margin: 4px 0 0; }
.ph-aviso--ok { background: #e8f6ef; border: 1px solid #bfe6d3; color: #14613f; }
.ph-aviso--erro { background: #fdecec; border: 1px solid #f4c6c6; color: #9c2a2a; }
.ph-aviso--alerta { background: #fff6e6; border: 1px solid #f3d9a6; color: #7a521a; }

/* Formulário */
.ph-den { max-width: 760px; }
.ph-den__login { background: #fff; border: 1px solid #e3e8ee; border-radius: 16px; padding: 28px; text-align: center; }
.ph-den__login h2 { margin: 0 0 6px; }
.ph-den__login-acoes { display: flex; gap: 12px; justify-content: center; margin-top: 16px; flex-wrap: wrap; }
.ph-den__form { display: flex; flex-direction: column; gap: 20px; }
.ph-den__bloco { background: #fff; border: 1px solid #e3e8ee; border-radius: 16px; padding: 22px 24px; }
.ph-den__bloco h2 { margin: 0 0 12px; font-size: 18px; }
.ph-den__bloco h2 em { color: #c0392b; font-style: normal; }
.ph-field { display: block; margin: 0 0 14px; }
.ph-field > span { display: block; font-weight: 600; font-size: 14px; margin: 0 0 6px; }
.ph-field > span em { color: #c0392b; font-style: normal; }
.ph-field input[type=url], .ph-field input[type=text], .ph-field textarea, .ph-field input[type=file] {
  width: 100%; padding: 11px 12px; border: 1px solid #cfd8e0; border-radius: 10px; font: inherit; box-sizing: border-box;
}
.ph-field__hint { color: var(--ph-muted); font-size: 13px; margin: 0 0 12px; }
.ph-den__q { border: 0; padding: 12px 0; margin: 0; border-top: 1px solid #eef1f4; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
.ph-den__q legend { float: left; width: 100%; font-size: 14px; margin: 0 0 6px; color: #2a3942; }
.ph-den__q label { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.ph-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.5; color: #3a474e; margin: 0 0 16px; }
.ph-check input { margin-top: 3px; }
.ph-den__18 { color: var(--ph-muted); font-size: 12.5px; margin: 12px 0 0; }
.ph-den__nota { color: var(--ph-muted); font-size: 12.5px; margin: 22px 0 0; line-height: 1.5; }

/* Blacklist / ranking */
.ph-blacklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ph-blrow { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid #e3e8ee; border-radius: 12px; padding: 14px 18px; flex-wrap: wrap; }
.ph-blrow__pos { font-weight: 800; color: var(--ph-muted); min-width: 36px; }
.ph-blrow__id { flex: 1 1 200px; }
.ph-blrow__nome { font-weight: 700; color: var(--ph-primary); text-decoration: none; }
.ph-blrow__dom { display: block; font-family: ui-monospace, monospace; font-size: 12.5px; color: var(--ph-muted); }
.ph-blrow__status { font-size: 12px; padding: 3px 9px; border-radius: 999px; background: #eef1f4; color: #51606a; }
.ph-blrow__status--ativa { background: #fdecec; color: #9c2a2a; }
.ph-blrow__status--encerrada { background: #e8f6ef; color: #14613f; }
.ph-blrow__num { font-size: 14px; color: #3a474e; }
.ph-blrow__num strong { font-size: 18px; color: var(--ph-primary); }

/* Ficha da bet */
.ph-betpage { max-width: 800px; }
.ph-betstats { display: flex; gap: 14px; flex-wrap: wrap; margin: 0 0 24px; }
.ph-betstat { flex: 1 1 140px; background: #fff; border: 1px solid #e3e8ee; border-radius: 14px; padding: 18px; text-align: center; }
.ph-betstat__n { display: block; font-size: 26px; font-weight: 800; color: var(--ph-primary); }
.ph-betstat__l { display: block; font-size: 12.5px; color: var(--ph-muted); margin-top: 4px; }
.ph-betpage__h { font-size: 19px; margin: 26px 0 12px; }
.ph-betq { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ph-betq__item { display: grid; grid-template-columns: 1fr 120px 64px; align-items: center; gap: 12px; }
.ph-betq__txt { font-size: 14px; }
.ph-betq__bar { background: #eef1f4; border-radius: 999px; height: 8px; overflow: hidden; }
.ph-betq__bar > span { display: block; height: 100%; background: #c0392b; }
.ph-betq__pct { font-size: 13px; font-weight: 700; color: #c0392b; text-align: right; }
.ph-betrelatos { display: flex; flex-direction: column; gap: 12px; }
.ph-betrelato { background: #fff; border-left: 3px solid var(--ph-muted); border-radius: 8px; margin: 0; padding: 12px 16px; font-size: 14.5px; color: #3a474e; }
.ph-betpage__cta { text-align: center; margin: 28px 0 0; }
.ph-betpage__cta p { font-weight: 600; margin: 0 0 10px; }
@media (max-width: 560px) {
  .ph-betq__item { grid-template-columns: 1fr; gap: 4px; }
  .ph-betq__bar { width: 100%; }
  .ph-betq__pct { text-align: left; }
}

/* ── Banners de publicidade: auto-ajuste por dispositivo ─────────────────── */
.ph-ads picture { display: block; }
.ph-ads__slide img, .ph-ads__slide picture img { width: 100%; height: auto; display: block; border-radius: var(--ph-radius-sm); }
/* Cada slot tem uma largura-alvo: o criativo escala para preencher e centraliza,
   ficando legível tanto no desktop quanto no celular. */
.ph-ads--topo { max-width: 990px; margin-inline: auto; }   /* leaderboard 728/970 */
.ph-ads--home { max-width: 1040px; margin-inline: auto; }  /* billboard 970×250 */
.ph-ads--lateral { max-width: 336px; margin-inline: auto; } /* retângulo 300×250/600 */
@media (max-width: 600px) {
  /* Sem criativo mobile próprio, limita a altura p/ leaderboards não viram tarja fina. */
  .ph-ads--topo .ph-ads__slide img { max-height: 120px; width: auto; max-width: 100%; margin-inline: auto; }
  .ph-denuncia-link span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ph-denuncia-link { padding: 8px; }
}

/* ── Vozes do Mercado (editorial + colunistas) ───────────────────────────── */
.ph-pagehead--vozes .ph-pagehead__sub { max-width: 70ch; }
.ph-pagehead__meta { margin: 10px 0 0; font-size: 14px; }
.ph-pagehead__meta a { color: var(--ph-accent-dark, #0F8C59); font-weight: 600; }

/* Filtro de categorias (client-side) */
.ph-vfiltro { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.ph-vfiltro__chip { font: inherit; font-size: 13.5px; font-weight: 600; padding: 7px 15px; border-radius: 999px; border: 1px solid var(--ph-line); background: #fff; color: var(--ph-primary); cursor: pointer; transition: all .12s; }
.ph-vfiltro__chip:hover { border-color: var(--ph-accent); }
.ph-vfiltro__chip.is-on { background: var(--ph-accent); color: #fff; border-color: var(--ph-accent); }

/* Card com autoria */
.ph-vcard { position: relative; }
.ph-vcard--destaque { grid-column: span 2; }
.ph-vcard__flag { position: absolute; top: 10px; left: 10px; font-family: var(--ph-font-title); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: #3a2c08; background: var(--ph-amber); border-radius: 999px; padding: 3px 10px; }
.ph-vcard__autor { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
.ph-vcard__avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex: 0 0 34px; background: var(--ph-bg); }
.ph-vcard__avatar--ph { display: grid; place-items: center; font-family: var(--ph-font-title); font-weight: 700; color: #fff; background: var(--ph-primary); }
.ph-vcard__autor-l { display: flex; flex-direction: column; line-height: 1.25; }
.ph-vcard__autor-l strong { font-size: 13.5px; color: var(--ph-primary); }
.ph-vcard__autor-l em { font-style: normal; font-size: 12px; color: var(--ph-muted); }
@media (max-width: 720px) { .ph-vcard--destaque { grid-column: span 1; } }

/* Meta do artigo (single) */
.ph-vmeta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 8px; color: var(--ph-muted); font-size: 14px; }
.ph-vmeta__autor a { color: var(--ph-accent-dark, #0F8C59); font-weight: 600; }
.ph-vbadge { display: inline-block; font-family: var(--ph-font-title); font-weight: 700; font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; color: #3a2c08; background: var(--ph-amber); border-radius: 999px; padding: 2px 9px; vertical-align: middle; margin-left: 6px; }

/* Caixa de autor ao pé do artigo */
.ph-autorbox { display: flex; gap: 18px; align-items: center; margin-top: 36px; padding: 22px; background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: var(--ph-radius); }
.ph-autorbox__foto { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; flex: 0 0 76px; }
.ph-autorbox__foto--ph { display: grid; place-items: center; font-family: var(--ph-font-title); font-weight: 700; font-size: 30px; color: #fff; background: var(--ph-primary); }
.ph-autorbox__corpo { display: flex; flex-direction: column; gap: 3px; }
.ph-autorbox__rotulo { font-family: var(--ph-font-title); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--ph-accent-dark, #0F8C59); }
.ph-autorbox__nome { font-family: var(--ph-font-title); font-size: 19px; color: var(--ph-primary); }
.ph-autorbox__cargo { color: var(--ph-muted); font-size: 14px; }
.ph-autorbox__link { margin-top: 4px; font-weight: 600; font-size: 14px; color: var(--ph-accent-dark, #0F8C59); }

/* Perfil do colunista */
.ph-colhero { display: flex; gap: 24px; align-items: center; margin-top: 16px; flex-wrap: wrap; }
.ph-colhero__foto { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; flex: 0 0 120px; }
.ph-colhero__foto--ph { display: grid; place-items: center; font-family: var(--ph-font-title); font-weight: 700; font-size: 46px; color: #fff; background: var(--ph-primary); }
.ph-colhero__corpo { flex: 1 1 280px; }
.ph-colhero__nome { font-size: clamp(26px, 4vw, 36px); margin: 0 0 4px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ph-colhero__cargo { color: var(--ph-accent-dark, #0F8C59); font-weight: 600; margin: 0 0 8px; }
.ph-colhero__bio { color: var(--ph-primary); max-width: 64ch; margin: 0 0 10px; line-height: 1.55; }
.ph-colhero__links { display: flex; flex-wrap: wrap; gap: 14px; }
.ph-colhero__links a { font-weight: 600; font-size: 14px; color: var(--ph-accent-dark, #0F8C59); }

/* Grade de colunistas (/colunistas/) */
.ph-colgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 18px; }
.ph-colcard { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 22px 18px; text-decoration: none; transition: border-color .12s, box-shadow .12s; }
.ph-colcard:hover { border-color: var(--ph-accent); box-shadow: var(--ph-shadow); }
.ph-colcard__foto { width: 92px; height: 92px; border-radius: 50%; object-fit: cover; }
.ph-colcard__foto--ph { display: grid; place-items: center; font-family: var(--ph-font-title); font-weight: 700; font-size: 36px; color: #fff; background: var(--ph-primary); }
.ph-colcard__nome { font-family: var(--ph-font-title); font-size: 16.5px; color: var(--ph-primary); }
.ph-colcard__cargo { font-size: 13px; color: var(--ph-muted); }

/* ── Parcerias & Patrocínio (página comercial) ───────────────────────────── */
.ph-chip--amber { color: #3a2c08; background: #fdebc8; }
.ph-sell-hero { background: linear-gradient(160deg, var(--ph-primary), #14304a); color: #fff; padding: 56px 0 48px; }
.ph-sell-hero .ph-chip--amber { background: var(--ph-amber); }
.ph-sell-hero__title { font-size: clamp(30px, 5vw, 46px); margin: 12px 0 10px; color: #fff; }
.ph-sell-hero__lead { font-size: 18px; line-height: 1.5; max-width: 62ch; color: rgba(255,255,255,.9); margin: 0 0 22px; }
.ph-sell-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.ph-sell-hero__cta .ph-btn--ghost { color: #fff; border-color: rgba(255,255,255,.5); }
.ph-sell-hero__cta .ph-btn--ghost:hover { background: rgba(255,255,255,.1); color: #fff; }
.ph-sell-hero__18 { font-size: 12.5px; color: rgba(255,255,255,.6); margin: 18px 0 0; }

/* Conteúdo de vendas (vindo do bo) — largura cheia e blocos ricos */
.ph-sell-prose { max-width: none; }
.ph-sell-prose h2 { font-size: clamp(22px, 3vw, 30px); margin: 36px 0 8px; }
.ph-sell-prose h2:first-child { margin-top: 0; }
.ph-sell-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; margin: 18px 0 8px; }
.ph-sell-stat { background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 20px; text-align: center; }
.ph-sell-stat b { display: block; font-family: var(--ph-font-title); font-size: 30px; color: var(--ph-accent-dark, #0F8C59); line-height: 1.1; }
.ph-sell-stat span { font-size: 13.5px; color: var(--ph-muted); }
.ph-sell-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; margin: 18px 0; }
.ph-sell-card { background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.ph-sell-card h3 { margin: 0; font-size: 18px; display: flex; align-items: center; gap: 8px; }
.ph-sell-card p { margin: 0; color: var(--ph-muted); font-size: 14.5px; line-height: 1.5; }
.ph-sell-card__tag { align-self: flex-start; margin-top: 4px; font-size: 12px; font-weight: 700; color: var(--ph-accent-dark, #0F8C59); background: #e6f6ee; border-radius: 999px; padding: 3px 10px; }
.ph-sell-cta-band { background: var(--ph-bg); border-top: 1px solid var(--ph-line); padding: 44px 0; text-align: center; }
.ph-sell-cta-band h2 { margin: 0 0 6px; }
.ph-sell-cta-band p { color: var(--ph-muted); max-width: 56ch; margin: 0 auto 18px; }
.ph-sell-cta-band__mail { font-size: 14px; color: var(--ph-muted); margin-top: 12px !important; }

/* ── Contato ─────────────────────────────────────────────────────────────── */
.ph-contato { margin: 8px 0; }
.ph-contato__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.ph-contato__card { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 20px; text-decoration: none; transition: border-color .12s, box-shadow .12s; }
.ph-contato__card:hover { border-color: var(--ph-accent); box-shadow: var(--ph-shadow); }
.ph-contato__card strong { font-family: var(--ph-font-title); font-size: 16px; color: var(--ph-primary); }
.ph-contato__card span:last-child { color: var(--ph-muted); font-size: 14px; }
.ph-contato__ic { font-size: 26px; line-height: 1; }
.ph-contato__card--com { background: linear-gradient(180deg, #fffaf0, #fff); border-color: rgba(245,166,35,.5); }
.ph-contato__end { color: var(--ph-muted); font-size: 14.5px; margin: 18px 0 0; }
.ph-contato__redes { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--ph-line); }
.ph-contato__redes-l { font-family: var(--ph-font-title); font-weight: 600; color: var(--ph-primary); }
.ph-contato__redes a { font-weight: 600; font-size: 14px; color: var(--ph-accent-dark, #0F8C59); }
/* Redes no rodapé */
.ph-footer__redes { display: flex; flex-wrap: wrap; gap: 16px; margin: 18px 0 0; }
.ph-footer__redes a { font-size: 13.5px; color: var(--ph-muted); }
.ph-footer__redes a:hover { color: var(--ph-accent); }

/* ── Página de Contato (layout espaçoso + formulário) ─────────────────────── */
.ph-contato-layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 36px; align-items: start; }
.ph-contato-main__sub { color: var(--ph-muted); margin: 4px 0 18px; }
.ph-cform { display: grid; gap: 16px; max-width: 640px; }
.ph-cform__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ph-cform .ph-field { display: flex; flex-direction: column; gap: 6px; }
.ph-cform .ph-field > span { font-family: var(--ph-font-title); font-weight: 600; font-size: 14px; color: var(--ph-primary); }
.ph-cform input, .ph-cform select, .ph-cform textarea { font: inherit; font-size: 15px; padding: 11px 13px; border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm); background: #fff; width: 100%; box-sizing: border-box; }
.ph-cform textarea { resize: vertical; min-height: 130px; }
.ph-cform input:focus, .ph-cform select:focus, .ph-cform textarea:focus { outline: 2px solid var(--ph-accent); border-color: var(--ph-accent); }
.ph-cform .ph-btn { justify-self: start; }
.ph-cform .ph-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ph-contato-aside { background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 22px; }
.ph-contato-aside .ph-contato__grid { grid-template-columns: 1fr; }
.ph-contato-sobre { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--ph-line); font-size: 14.5px; }
.ph-contato-sobre h2 { font-size: 18px; margin: 0 0 8px; }
@media (max-width: 860px) {
  .ph-contato-layout { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 520px) {
  .ph-cform__row { grid-template-columns: 1fr; }
}

/* Colunista — especialidade, contato e redes no perfil */
.ph-colhero__esp { color: var(--ph-accent-dark, #0F8C59); font-weight: 700; margin: 0 0 2px; }
.ph-colhero__link { font-weight: 600; font-size: 14px; color: var(--ph-accent-dark, #0F8C59); }
.ph-colhero__contato { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.ph-autorbox__esp { color: var(--ph-muted); font-size: 13px; }

/* ── Banda premium de enquetes na home ───────────────────────────────────── */
.ph-enqband { background:
    radial-gradient(1200px 320px at 12% -10%, rgba(18,166,106,.28), transparent 60%),
    linear-gradient(155deg, var(--ph-primary), #14304a 70%);
  color: #fff; padding: 56px 0; }
.ph-enqband__inner { display: grid; grid-template-columns: 1fr 1.15fr; gap: 44px; align-items: center; }
.ph-enqband__intro { max-width: 42ch; }
.ph-chip--light { color: #eafaf2; background: rgba(255,255,255,.14); }
.ph-enqband__title { font-size: clamp(28px, 4vw, 40px); margin: 14px 0 10px; color: #fff; }
.ph-enqband__sub { font-size: 17px; line-height: 1.55; color: rgba(255,255,255,.9); margin: 0 0 14px; }
.ph-enqband__hint { font-size: 13.5px; color: rgba(255,255,255,.6); margin: 0; }

/* O card do carrossel preenche a coluna e ganha respiro premium.
   color: reseta a herança do texto branco da banda (senão some no card branco). */
.ph-enqband__card .ph-enquete { max-width: none; margin: 0; padding: 26px 28px; border: 0;
  box-shadow: 0 22px 50px rgba(8,20,33,.35); color: var(--ph-primary); }
.ph-enqband__card .ph-enquete__pergunta,
.ph-enqband__card .ph-enquete__opcao,
.ph-enqband__card .ph-enquete__r-top { color: var(--ph-primary); }
.ph-enqband__card .ph-enquete--carrossel { position: relative; }
.ph-enquete__track { min-height: 220px; }
.ph-enquete__slide { animation: ph-enq-fade .35s ease both; }
@keyframes ph-enq-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.ph-enquete__pergunta { min-height: 2.2em; }

@media (max-width: 860px) {
  .ph-enqband { padding: 40px 0; }
  .ph-enqband__inner { grid-template-columns: 1fr; gap: 26px; }
  .ph-enquete__track { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) { .ph-enquete__slide { animation: none; } }

/* ── Bets ilegais (landing de combate) ───────────────────────────────────── */
.ph-btn--danger { background: #c0392b; color: #fff; box-shadow: 0 4px 14px rgba(192,57,43,.32); }
.ph-btn--danger:hover { background: #a93226; color: #fff; }
.ph-btn--ghost-light { background: transparent; border: 1px solid rgba(255,255,255,.55); color: #fff; }
.ph-btn--ghost-light:hover { background: rgba(255,255,255,.12); color: #fff; }
.ph-chip--danger { color: #fff; background: #c0392b; }

.ph-bil-hero { background:
    radial-gradient(900px 300px at 85% -20%, rgba(192,57,43,.38), transparent 60%),
    linear-gradient(150deg, #1a1410, var(--ph-primary) 75%);
  color: #fff; padding: 58px 0 50px; }
.ph-breadcrumb--dark a { color: rgba(255,255,255,.8); }
.ph-breadcrumb--dark span { color: rgba(255,255,255,.5); }
.ph-bil-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ph-font-title); font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: rgba(255,255,255,.85); margin: 10px 0 0; }
.ph-bil-hero__eyebrow .ph-dot { width: 9px; height: 9px; border-radius: 50%; background: #e74c3c; display: inline-block; box-shadow: 0 0 0 4px rgba(231,76,60,.25); }
.ph-bil-hero__title { font-size: clamp(30px, 5vw, 46px); margin: 12px 0 12px; color: #fff; max-width: 18ch; }
.ph-bil-hero__lead { font-size: 17.5px; line-height: 1.6; color: rgba(255,255,255,.9); max-width: 70ch; margin: 0 0 22px; }
.ph-bil-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.ph-bil-stats { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.ph-bil-stat { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); border-radius: var(--ph-radius); padding: 14px 22px; min-width: 150px; }
.ph-bil-stat b { display: block; font-family: var(--ph-font-title); font-size: 26px; color: #fff; line-height: 1.1; }
.ph-bil-stat span { font-size: 13px; color: rgba(255,255,255,.7); }

.ph-bil-manifesto { max-width: 78ch; }
.ph-bil-manifesto h2 { font-size: clamp(22px, 3vw, 30px); margin: 14px 0 12px; }
.ph-bil-manifesto p { color: var(--ph-primary); line-height: 1.65; margin: 0 0 12px; font-size: 16px; }

.ph-bil-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; }
.ph-bil-card { background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 22px; }
.ph-bil-card__ic { font-size: 28px; line-height: 1; }
.ph-bil-card h3 { margin: 10px 0 6px; font-size: 18px; }
.ph-bil-card p { margin: 0; color: var(--ph-muted); font-size: 14.5px; line-height: 1.55; }

.ph-bil-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; max-width: 820px; }
.ph-bil-steps li { display: flex; gap: 16px; align-items: flex-start; }
.ph-bil-steps__n { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-family: var(--ph-font-title); font-weight: 700; color: #fff; background: #c0392b; }
.ph-bil-steps h3 { margin: 4px 0 4px; font-size: 18px; }
.ph-bil-steps p { margin: 0; color: var(--ph-muted); line-height: 1.55; }

.ph-bil-infra { background: linear-gradient(180deg, #fbf0ee, var(--ph-bg)); border-top: 1px solid #f0d7d3; border-bottom: 1px solid #f0d7d3; padding: 48px 0; }
.ph-bil-infra__inner { max-width: 820px; }
.ph-bil-infra__title { font-size: clamp(24px, 3.4vw, 32px); margin: 14px 0 12px; }
.ph-bil-infra p { color: var(--ph-primary); line-height: 1.65; font-size: 16px; }
.ph-bil-infra__list { margin: 16px 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.ph-bil-infra__list li { position: relative; padding-left: 30px; color: var(--ph-primary); line-height: 1.5; }
.ph-bil-infra__list li::before { content: "⛔"; position: absolute; left: 0; top: 0; font-size: 15px; }
.ph-bil-infra__nota { font-size: 14px; color: var(--ph-muted); border-left: 3px solid #c0392b; padding-left: 14px; margin-top: 18px; }

.ph-bil-listsub { color: var(--ph-muted); margin: 0 0 18px; max-width: 70ch; }

.ph-bil-cta { background: var(--ph-primary); color: #fff; text-align: center; padding: 46px 0; }
.ph-bil-cta h2 { margin: 0 0 8px; color: #fff; font-size: clamp(24px, 3.4vw, 32px); }
.ph-bil-cta p { color: rgba(255,255,255,.85); max-width: 60ch; margin: 0 auto 20px; line-height: 1.55; }

.ph-bil-gov { background: var(--ph-bg); border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 30px; max-width: 860px; }
.ph-bil-gov h2 { margin: 12px 0 8px; }
.ph-bil-gov p { color: var(--ph-primary); line-height: 1.6; margin: 0 0 18px; max-width: 70ch; }
.ph-bil-gov__cta { display: flex; flex-wrap: wrap; gap: 12px; }

/* Mapa de seções no rodapé (garante acesso a tudo que saiu da barra superior) */
.ph-footer__map { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--ph-line); }
.ph-footer__map a { font-size: 13.5px; color: var(--ph-muted); font-family: var(--ph-font-title); font-weight: 500; }
.ph-footer__map a:hover { color: var(--ph-accent); }

/* ── Cabeçalho de página de marca (Notícias, Vozes, etc.) ─────────────────── */
.ph-phead { background: linear-gradient(180deg, #fff, var(--ph-bg)); border-bottom: 1px solid var(--ph-line); padding: 46px 0 38px; }
.ph-phead__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ph-font-title); font-weight: 700; font-size: 12.5px; text-transform: uppercase; letter-spacing: .07em; color: var(--ph-accent-dark, #0F8C59); margin: 0; }
.ph-phead__eyebrow .ph-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ph-accent); display: inline-block; }
.ph-phead__title { font-size: clamp(28px, 4.5vw, 42px); margin: 12px 0 8px; }
.ph-phead__sub { color: var(--ph-muted); font-size: 17px; line-height: 1.55; max-width: 70ch; margin: 0; }
.ph-phead__btn { margin-top: 16px; }

/* ── Notícia em destaque (listagem /noticias/) ───────────────────────────── */
.ph-news-feat { display: grid; grid-template-columns: 1.25fr 1fr; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); overflow: hidden; box-shadow: var(--ph-shadow); margin-bottom: 26px; transition: box-shadow .18s, transform .12s; }
.ph-news-feat:hover { box-shadow: var(--ph-shadow-hover); transform: translateY(-2px); }
.ph-news-feat:not(.has-thumb) { grid-template-columns: 1fr; }
.ph-news-feat__thumb { display: block; }
.ph-news-feat__thumb img { width: 100%; height: 100%; min-height: 290px; object-fit: cover; }
.ph-news-feat__body { padding: 30px 34px; display: flex; flex-direction: column; gap: 12px; justify-content: center; }
.ph-news-feat__flag { align-self: flex-start; font-family: var(--ph-font-title); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #fff; background: var(--ph-accent); border-radius: 999px; padding: 3px 12px; }
.ph-news-feat__title { font-size: clamp(22px, 3vw, 30px); margin: 0; line-height: 1.2; }
.ph-news-feat__title a { color: var(--ph-primary); }
.ph-news-feat__title a:hover { color: var(--ph-accent-dark); }
.ph-news-feat__excerpt { color: var(--ph-muted); font-size: 16px; line-height: 1.55; margin: 0; }
@media (max-width: 760px) {
  .ph-news-feat { grid-template-columns: 1fr; }
  .ph-news-feat__thumb img { min-height: 200px; }
  .ph-news-feat__body { padding: 22px; }
}

/* ── Autenticação (Entrar) — duas colunas ────────────────────────────────── */
.ph-auth { padding: 44px 0 60px; }
.ph-auth__inner { display: grid; grid-template-columns: 1fr 1fr; max-width: 960px; margin: 0 auto; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); overflow: hidden; box-shadow: 0 22px 54px rgba(8,20,33,.14); }
.ph-auth__brand { background: linear-gradient(160deg, var(--ph-primary), #14304a); color: #fff; padding: 42px 38px; display: flex; flex-direction: column; }
.ph-auth__logo { display: inline-block; margin-bottom: 24px; }
.ph-auth__logo svg, .ph-auth__logo img { filter: brightness(0) invert(1); max-height: 34px; width: auto; }
.ph-auth__title { color: #fff; font-size: 28px; margin: 0 0 8px; }
.ph-auth__lead { color: rgba(255,255,255,.85); margin: 0 0 24px; line-height: 1.5; }
.ph-auth__perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 13px; }
.ph-auth__perks li { display: flex; gap: 10px; align-items: center; color: rgba(255,255,255,.92); font-size: 14.5px; }
.ph-auth__18 { margin-top: auto; padding-top: 24px; font-size: 12px; color: rgba(255,255,255,.55); }
.ph-auth__card { background: #fff; padding: 42px 38px; display: flex; flex-direction: column; justify-content: center; }
.ph-auth__card-title { font-size: 22px; margin: 0 0 18px; }
.ph-auth__form .ph-form { max-width: none; }
.ph-auth__alt { margin-top: 18px; font-size: 14px; color: var(--ph-muted); }
@media (max-width: 760px) {
  .ph-auth__inner { grid-template-columns: 1fr; max-width: 460px; }
  .ph-auth__brand { padding: 30px 26px; }
  .ph-auth__perks li:nth-child(n+3) { display: none; }
  .ph-auth__card { padding: 30px 26px; }
}

/* ── Banco de Talentos (moldura + cartão do formulário) ───────────────────── */
.ph-talentos-page { background: linear-gradient(180deg, var(--ph-bg), #fff); }
.ph-talentos-page__inner { max-width: 760px; margin: 0 auto; }
.ph-talentos-page .ph-form--talentos { max-width: none; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); padding: 26px 28px; box-shadow: var(--ph-shadow); margin-top: 10px; }

/* ── Usabilidade do login (mostrar senha, esqueci a senha, botão cheio) ───── */
.ph-field__labelrow { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 5px; }
.ph-field__labelrow label { font-family: var(--ph-font-title); font-weight: 600; font-size: 14px; color: var(--ph-primary); }
.ph-field__aux { font-size: 13px; font-weight: 600; color: var(--ph-accent-dark, #0F8C59); }
.ph-pass { position: relative; display: block; }
.ph-pass input { width: 100%; padding-right: 46px; }
.ph-pass__toggle { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); display: inline-flex; background: none; border: 0; padding: 7px; cursor: pointer; color: var(--ph-muted); border-radius: 8px; }
.ph-pass__toggle:hover { color: var(--ph-primary); background: var(--ph-bg); }
.ph-pass__toggle svg { pointer-events: none; }
.ph-pass__toggle.is-on { color: var(--ph-accent-dark, #0F8C59); }
.ph-pass__toggle:focus-visible { outline: 2px solid var(--ph-accent); outline-offset: 1px; }
.ph-form--login .ph-btn { width: 100%; margin-top: 2px; }

/* Botão de largura total nos formulários de autenticação (cartão login/cadastro) */
.ph-auth__form .ph-btn--lg { width: 100%; }
/* Espaçamento de listas e da nota no conteúdo em prosa
   (corrige o texto "colado" na página de Contato). */
.ph-prose ul { margin: 0 0 1.1em; padding-left: 1.2em; }
.ph-prose li { margin: 0 0 .35em; }
.ph-prose .ph-prose-nota { margin-top: 1.6em; }

/* ── Espaço premium da casa apoiadora (âmbar = patrocinado, charter §2) ───── */
.ph-casa-premium { background: linear-gradient(180deg, #fffaf0, #fff); border-bottom: 1px solid rgba(245,166,35,.3); padding: 18px 0 22px; }
.ph-casa-premium__banner { display: block; border-radius: var(--ph-radius); overflow: hidden; box-shadow: var(--ph-shadow); margin-bottom: 16px; }
.ph-casa-premium__banner img { width: 100%; height: auto; display: block; }
.ph-casa-premium__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.ph-cprem-fact { display: inline-flex; flex-direction: column; line-height: 1.2; background: #fff; border: 1px solid rgba(245,166,35,.4); border-radius: 10px; padding: 8px 14px; font-family: var(--ph-font-title); font-weight: 600; color: var(--ph-primary); font-size: 15px; }
.ph-cprem-fact b { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #8a6d1f; }
.ph-cprem-live { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; color: #fff; background: #c0392b; border-radius: 999px; padding: 8px 16px; }
.ph-cprem-live:hover { background: #a93226; color: #fff; }
.ph-cprem-live__dot { width: 9px; height: 9px; border-radius: 50%; background: #fff; animation: ph-live-pulse 1.6s infinite; }
@keyframes ph-live-pulse { 0%{box-shadow:0 0 0 0 rgba(255,255,255,.6)} 70%{box-shadow:0 0 0 7px rgba(255,255,255,0)} 100%{box-shadow:0 0 0 0 rgba(255,255,255,0)} }
.ph-cprem-redes { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ph-cprem-redes__l { font-weight: 600; color: var(--ph-muted); font-size: 13.5px; }
.ph-cprem-redes a { font-weight: 600; font-size: 13.5px; color: var(--ph-accent-dark, #0F8C59); }
@media (prefers-reduced-motion: reduce) { .ph-cprem-live__dot { animation: none; } }

/* ── Vagas abertas (quadro na lateral, abaixo dos Fornecedores Detectados) ── */
.ph-casa-vagas__sub { color: var(--ph-muted); font-size: 13px; margin: 0 0 12px; }
.ph-casa-vagas__list { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 8px; }
.ph-casa-vaga { display: flex; flex-direction: column; gap: 2px; background: #fff; border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm); padding: 10px 12px; }
.ph-casa-vaga__titulo { font-family: var(--ph-font-title); font-weight: 600; font-size: 14px; line-height: 1.3; color: var(--ph-primary); }
.ph-casa-vaga__titulo:hover { color: var(--ph-accent-dark, #0F8C59); }
.ph-casa-vaga__meta { font-size: 12px; color: var(--ph-muted); }
.ph-casa-vagas__todas { font-weight: 600; font-size: 13.5px; color: var(--ph-accent-dark, #0F8C59); }

/* Screenshot do site do fornecedor (enriquecimento) */
.ph-fshot { margin: 0 0 22px; }
.ph-fshot img { width: 100%; height: auto; display: block; border: 1px solid var(--ph-line); border-radius: var(--ph-radius); box-shadow: 0 6px 22px rgba(14,35,54,.10); }
.ph-fshot figcaption { font-size: 12.5px; color: var(--ph-muted); margin-top: 7px; text-align: center; }

/* Lightbox (ampliar imagem ao clicar) */
.ph-galeria__item img, .ph-fshot img { cursor: zoom-in; }
.ph-lightbox { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; background: rgba(8,16,24,.88); padding: 24px; }
.ph-lightbox.is-open { display: flex; }
.ph-lightbox img { max-width: 96vw; max-height: 92vh; width: auto; height: auto; border-radius: 8px; box-shadow: 0 12px 50px rgba(0,0,0,.5); cursor: zoom-out; }
.ph-lightbox__close { position: absolute; top: 14px; right: 18px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.ph-lightbox__close:hover { background: rgba(255,255,255,.26); }
body.ph-noscroll { overflow: hidden; }

/* Hero CTA do diretório de fornecedores */
.ph-pagehead__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }

/* Faixa "Por que apoiar o Palpite Honesto" (pitch B2B premium) */
.ph-fwhy { background: linear-gradient(150deg, var(--ph-primary), #16344e 70%); color: #fff; padding: 56px 0; position: relative; overflow: hidden; }
.ph-fwhy::after { content: ""; position: absolute; right: -120px; top: -120px; width: 360px; height: 360px; background: radial-gradient(circle, rgba(18,166,106,.30), transparent 70%); pointer-events: none; }
.ph-fwhy__head { position: relative; max-width: 720px; margin: 0 0 30px; }
.ph-fwhy__eyebrow { font-family: var(--ph-font-title); font-weight: 700; font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: #8fe3bf; margin: 0 0 8px; }
.ph-fwhy__title { font-family: var(--ph-font-title); font-size: clamp(24px, 3.4vw, 34px); margin: 0 0 12px; color: #fff; letter-spacing: -.02em; }
.ph-fwhy__sub { color: rgba(255,255,255,.82); font-size: 17px; margin: 0; line-height: 1.6; }
.ph-fwhy__grid { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.ph-fwhy__card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); border-radius: var(--ph-radius); padding: 22px; transition: border-color .15s, background .15s, transform .15s; }
.ph-fwhy__card:hover { border-color: rgba(18,166,106,.55); background: rgba(255,255,255,.08); transform: translateY(-3px); }
.ph-fwhy__ico { font-size: 26px; display: block; margin-bottom: 10px; }
.ph-fwhy__card h3 { font-family: var(--ph-font-title); font-size: 18px; margin: 0 0 7px; color: #fff; }
.ph-fwhy__card p { margin: 0; color: rgba(255,255,255,.78); font-size: 14.5px; line-height: 1.6; }

/* ── Campo opcional (rótulo com nota) ──────────────────────────────────────── */
.ph-field--opt > span small { display: block; font-weight: 400; font-size: 12.5px; color: var(--ph-muted); margin-top: 2px; }

/* ── Minha conta — hub do usuário logado ───────────────────────────────────── */
.ph-conta-page { padding: 36px 0 64px; }
.ph-conta-page__inner { max-width: 1040px; margin: 0 auto; }
.ph-conta__head { display: flex; flex-wrap: wrap; gap: 18px 24px; align-items: flex-end; justify-content: space-between;
  background: linear-gradient(160deg, var(--ph-primary), #14304a); color: #fff; border-radius: var(--ph-radius);
  padding: 30px 32px; box-shadow: var(--ph-shadow); margin-bottom: 26px; }
.ph-conta__eyebrow { font-family: var(--ph-font-title); font-weight: 600; font-size: 13px; letter-spacing: .02em;
  color: #bfeede; margin: 0 0 6px; text-transform: uppercase; }
.ph-conta__ola { color: #fff; font-size: 30px; margin: 0 0 6px; }
.ph-conta__sub { color: rgba(255,255,255,.82); margin: 0; max-width: 46ch; font-size: 15px; line-height: 1.55; }
.ph-conta__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ph-chip { display: inline-flex; align-items: center; gap: 4px; font-family: var(--ph-font-title); font-weight: 600;
  font-size: 12.5px; padding: 5px 12px; border-radius: 999px; border: 1px solid transparent; white-space: nowrap; }
.ph-chip--ok { background: rgba(18,166,106,.18); border-color: rgba(18,166,106,.5); color: #bfeede; }
.ph-chip--warn { background: rgba(245,166,35,.18); border-color: rgba(245,166,35,.55); color: #ffe2ad; }
.ph-chip--muted { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.78); }

.ph-conta__bloco { margin-bottom: 28px; }
.ph-conta__h2 { font-size: 19px; margin: 0 0 14px; }
.ph-conta__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.ph-acard { display: flex; flex-direction: column; gap: 6px; background: var(--ph-card); border: 1px solid var(--ph-line);
  border-radius: var(--ph-radius); padding: 20px; box-shadow: var(--ph-shadow); transition: transform .15s, box-shadow .15s, border-color .15s; }
.ph-acard:hover { transform: translateY(-3px); box-shadow: var(--ph-shadow-hover); border-color: rgba(18,166,106,.45); text-decoration: none; }
.ph-acard__icon { font-size: 26px; }
.ph-acard__titulo { font-family: var(--ph-font-title); font-weight: 700; font-size: 16px; color: var(--ph-primary); }
.ph-acard__texto { font-size: 13.5px; color: var(--ph-muted); line-height: 1.5; flex: 1; }
.ph-acard__cta { font-family: var(--ph-font-title); font-weight: 600; font-size: 13.5px; color: var(--ph-accent-dark); margin-top: 4px; }

.ph-conta__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.ph-conta__atividade, .ph-conta__dados { background: var(--ph-card); border: 1px solid var(--ph-line);
  border-radius: var(--ph-radius); padding: 24px; box-shadow: var(--ph-shadow); margin-bottom: 0; }
.ph-conta__lista { list-style: none; margin: 0; padding: 0; }
.ph-conta__item { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 11px 0; border-bottom: 1px solid var(--ph-line); }
.ph-conta__item:last-child { border-bottom: 0; }
.ph-conta__item > a { font-weight: 600; color: var(--ph-primary); }
.ph-conta__nota { color: var(--ph-amber); font-size: 13px; letter-spacing: 1px; }
.ph-conta__status { margin-left: auto; font-size: 11.5px; font-weight: 600; padding: 3px 9px; border-radius: 999px; }
.ph-conta__status.is-ok { background: rgba(18,166,106,.14); color: var(--ph-accent-dark); }
.ph-conta__status.is-pend { background: rgba(245,166,35,.16); color: #9a6b08; }
.ph-conta__vazio { color: var(--ph-muted); font-size: 14.5px; margin: 0; }
.ph-field--ro span { font-weight: 600; }

@media (max-width: 760px) {
  .ph-conta__cols { grid-template-columns: 1fr; }
  .ph-conta__head { padding: 24px; }
  .ph-conta__ola { font-size: 25px; }
}

/* ============================================================
   Academia — a escola do apostador
   ============================================================ */

/* Botão diferente no menu (pílula verde de destaque) */
.ph-menu__cta {
  background: var(--ph-accent); color: #fff !important; font-weight: 700 !important;
  padding: 8px 16px !important; border-radius: 999px !important;
  box-shadow: 0 4px 12px rgba(18,166,106,.28); transition: transform .1s ease, box-shadow .15s ease, background .15s ease;
}
.ph-menu__cta:hover { background: var(--ph-accent-dark); text-decoration: none !important; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(18,166,106,.34); }

/* Hero da Academia */
.ph-academia-hero {
  background: radial-gradient(1200px 400px at 80% -10%, rgba(18,166,106,.28), transparent 60%),
              linear-gradient(165deg, var(--ph-primary) 0%, #143049 55%, #0b1d2d 100%);
  color: #fff; padding: 72px 0 68px; position: relative; overflow: hidden;
}
.ph-academia-hero::after {
  content: ""; position: absolute; left: -120px; bottom: -160px; width: 460px; height: 460px;
  background: radial-gradient(circle, rgba(245,166,35,.10), transparent 70%); pointer-events: none;
}
.ph-academia-hero .ph-container { position: relative; z-index: 1; max-width: 860px; }
.ph-academia-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 8px; font-family: var(--ph-font-title);
  font-size: 14px; font-weight: 700; color: #bfeede; background: rgba(18,166,106,.14);
  border: 1px solid rgba(18,166,106,.35); padding: 6px 14px; border-radius: 999px; margin: 0 0 20px;
}
.ph-academia-hero__title { color: #fff; font-size: clamp(32px, 5.5vw, 54px); font-weight: 800; margin: 0 0 16px; line-height: 1.08; }
.ph-academia-hero__sub { font-size: clamp(16px, 2.2vw, 20px); color: #cdd8e0; max-width: 680px; margin: 0 0 28px; }
.ph-academia-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.ph-academia-hero .ph-btn--ghost { color: #fff; border-color: rgba(255,255,255,.32); }
.ph-academia-hero .ph-btn--ghost:hover { border-color: #fff; color: #fff; }
.ph-academia-hero__note { margin: 24px 0 0; font-size: 13.5px; color: #9fb0bd; letter-spacing: .01em; }

/* Grid de trilhas */
.ph-trilhas { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; }
.ph-trilha-card {
  --tcor: var(--ph-accent);
  position: relative; display: flex; flex-direction: column; gap: 8px;
  background: var(--ph-card); border: 1px solid var(--ph-line); border-radius: var(--ph-radius);
  padding: 22px 20px 20px; box-shadow: var(--ph-shadow); overflow: hidden;
  transition: transform .12s ease, box-shadow .18s ease, border-color .18s ease;
}
.ph-trilha-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--tcor); }
.ph-trilha-card:hover { transform: translateY(-3px); box-shadow: var(--ph-shadow-hover); border-color: color-mix(in srgb, var(--tcor) 40%, var(--ph-line)); text-decoration: none; }
.ph-trilha-card__emoji {
  width: 46px; height: 46px; display: grid; place-items: center; font-size: 24px;
  border-radius: 12px; background: color-mix(in srgb, var(--tcor) 12%, #fff);
  border: 1px solid color-mix(in srgb, var(--tcor) 26%, var(--ph-line));
}
.ph-trilha-card__nome { font-family: var(--ph-font-title); font-weight: 700; font-size: 18px; color: var(--ph-primary); }
.ph-trilha-card__desc { color: var(--ph-muted); font-size: 14.5px; line-height: 1.45; }
.ph-trilha-card__count { margin-top: 4px; font-family: var(--ph-font-title); font-weight: 600; font-size: 13.5px; color: var(--tcor); }

.ph-trilha-bloco__emoji { font-size: .9em; }
.ph-section__hint { color: var(--ph-muted); font-size: 14.5px; max-width: 60ch; }

/* Grid de lições + card */
.ph-licoes-grid { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.ph-licao-card {
  --tcor: var(--ph-accent);
  display: flex; flex-direction: column; background: var(--ph-card);
  border: 1px solid var(--ph-line); border-radius: var(--ph-radius); overflow: hidden;
  box-shadow: var(--ph-shadow); transition: transform .12s ease, box-shadow .18s ease, border-color .18s ease;
}
.ph-licao-card:hover { transform: translateY(-3px); box-shadow: var(--ph-shadow-hover); border-color: color-mix(in srgb, var(--tcor) 35%, var(--ph-line)); }
.ph-licao-card__media { display: block; aspect-ratio: 16 / 9; background: linear-gradient(135deg, color-mix(in srgb, var(--tcor) 16%, #fff), var(--ph-bg)); overflow: hidden; }
.ph-licao-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ph-licao-card__ph { width: 100%; height: 100%; display: grid; place-items: center; font-size: 46px; }
.ph-licao-card__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.ph-licao-card__meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ph-licao-card__title { font-size: 18px; margin: 0; line-height: 1.28; }
.ph-licao-card__title a { color: var(--ph-primary); }
.ph-licao-card__title a:hover { color: var(--ph-accent-dark); text-decoration: none; }
.ph-licao-card__excerpt { color: var(--ph-muted); font-size: 14.5px; line-height: 1.5; margin: 0; }
.ph-licao-card__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 6px; }
.ph-licao-card__tempo { color: var(--ph-muted); font-size: 12.5px; }
.ph-licao-card__go { font-family: var(--ph-font-title); font-weight: 700; font-size: 13.5px; color: var(--tcor); }

/* Chips e badges de nível */
.ph-chip--trilha { background: #eef4f2; color: var(--ph-primary); border: 1px solid var(--ph-line); }
.ph-nivel {
  display: inline-block; font-family: var(--ph-font-title); font-weight: 700; font-size: 11px;
  text-transform: uppercase; letter-spacing: .05em; padding: 3px 9px; border-radius: 999px;
}
.ph-nivel--iniciante { background: #e6f6ee; color: #0F8C59; }
.ph-nivel--intermediario { background: #fdf1dc; color: #9a6a10; }
.ph-nivel--avancado { background: #eae6fb; color: #5b41c9; }

/* Barra de progresso de leitura */
.ph-reading-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; background: transparent; z-index: 60; }
.ph-reading-progress__bar { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--ph-accent), var(--ph-amber)); transition: width .08s linear; }

/* Single da lição */
.ph-licao-single { --tcor: var(--ph-accent); }
.ph-licao-hero {
  background: #fff; border-bottom: 1px solid var(--ph-line);
  padding: 40px 0 34px; position: relative;
}
.ph-licao-hero::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--tcor); }
.ph-licao-hero .ph-container { max-width: 820px; }
.ph-licao-hero__meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 14px 0 10px; }
.ph-licao-hero__tempo { color: var(--ph-muted); font-size: 13.5px; }
.ph-licao-hero__title { font-size: clamp(27px, 4.4vw, 42px); margin: 0 0 12px; line-height: 1.12; }
.ph-licao-hero__lead { font-size: 19px; line-height: 1.5; color: var(--ph-muted); margin: 0; max-width: 70ch; }

.ph-licao-corpo { max-width: 760px; }
.ph-licao-corpo__cover { margin: 0 0 26px; border-radius: var(--ph-radius); overflow: hidden; box-shadow: var(--ph-shadow); }
.ph-licao-corpo__cover img { width: 100%; display: block; }

/* Caixa TL;DR (pontos-chave) */
.ph-tldr {
  background: linear-gradient(180deg, color-mix(in srgb, var(--tcor) 8%, #fff), #fff);
  border: 1px solid color-mix(in srgb, var(--tcor) 24%, var(--ph-line));
  border-left: 4px solid var(--tcor);
  border-radius: var(--ph-radius-sm); padding: 18px 22px; margin: 0 0 30px;
}
.ph-tldr__titulo { font-family: var(--ph-font-title); font-weight: 700; color: var(--ph-primary); margin: 0 0 10px; font-size: 15px; text-transform: uppercase; letter-spacing: .04em; }
.ph-tldr ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.ph-tldr li { position: relative; padding-left: 26px; color: #243947; font-size: 15.5px; line-height: 1.5; }
.ph-tldr li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--tcor); font-weight: 800; }
.ph-tldr--inline { margin-bottom: 24px; }

/* Prosa da lição (didática, legível) */
.ph-licao-prose { font-size: 18px; line-height: 1.72; color: #22333f; }
.ph-licao-prose h2 { font-size: clamp(21px, 3vw, 27px); margin-top: 1.7em; padding-top: .2em; }
.ph-licao-prose h3 { font-size: clamp(18px, 2.4vw, 21px); margin-top: 1.5em; }
.ph-licao-prose h2::after { content: ""; display: block; width: 44px; height: 3px; background: var(--tcor); border-radius: 3px; margin-top: 10px; }
.ph-licao-prose ul, .ph-licao-prose ol { margin: 0 0 1.2em; padding-left: 1.3em; }
.ph-licao-prose li { margin: 0 0 .5em; padding-left: .2em; }
.ph-licao-prose li::marker { color: var(--tcor); }
.ph-licao-prose strong { color: var(--ph-primary); }
.ph-licao-prose p { margin: 0 0 1.15em; }
.ph-licao-prose .ph-responsavel-inline { font-size: 13.5px; color: var(--ph-muted); background: var(--ph-bg); border-radius: 10px; padding: 12px 16px; }

/* Navegação anterior/próxima na trilha */
.ph-licao-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 34px 0 6px; }
.ph-licao-nav__item {
  display: flex; flex-direction: column; gap: 4px; padding: 16px 18px;
  background: var(--ph-card); border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm);
  box-shadow: var(--ph-shadow); transition: border-color .15s, transform .1s, box-shadow .15s;
}
.ph-licao-nav__item:hover { text-decoration: none; transform: translateY(-2px); box-shadow: var(--ph-shadow-hover); border-color: color-mix(in srgb, var(--tcor) 40%, var(--ph-line)); }
.ph-licao-nav__item--next { text-align: right; }
.ph-licao-nav__dir { font-family: var(--ph-font-title); font-weight: 700; font-size: 12.5px; color: var(--tcor); }
.ph-licao-nav__t { color: var(--ph-primary); font-weight: 600; font-size: 15px; line-height: 1.3; }

/* Trilha (listagem numerada) */
.ph-trilha-hero::before, .ph-glossario-hero::before { background: var(--tcor, var(--ph-accent)); }
.ph-trilha-hero__emoji { font-size: .9em; }
.ph-trilha-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; max-width: 820px; }
.ph-trilha-lista__item {
  --tcor: var(--ph-accent);
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px;
  background: var(--ph-card); border: 1px solid var(--ph-line); border-radius: var(--ph-radius);
  padding: 16px 20px; box-shadow: var(--ph-shadow); transition: transform .1s, box-shadow .15s, border-color .15s;
}
.ph-trilha-lista__item:hover { transform: translateY(-2px); box-shadow: var(--ph-shadow-hover); border-color: color-mix(in srgb, var(--tcor) 35%, var(--ph-line)); }
.ph-trilha-lista__num {
  width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center;
  font-family: var(--ph-font-title); font-weight: 800; font-size: 17px; color: #fff;
  background: var(--tcor); border-radius: 12px;
}
.ph-trilha-lista__title { font-size: 19px; margin: 6px 0 4px; }
.ph-trilha-lista__title a { color: var(--ph-primary); }
.ph-trilha-lista__title a:hover { color: var(--ph-accent-dark); text-decoration: none; }
.ph-trilha-lista__excerpt { color: var(--ph-muted); font-size: 14.5px; margin: 0; }
.ph-trilha-lista__go { font-size: 22px; color: var(--tcor); font-weight: 700; padding: 0 6px; }
.ph-trilha-lista__go:hover { text-decoration: none; }
.ph-trilha-voltar { margin-top: 28px; }
.ph-trilha-voltar a { font-family: var(--ph-font-title); font-weight: 600; }

/* Glossário */
.ph-glossario { max-width: 860px; }
.ph-glossario__az { display: flex; flex-wrap: wrap; gap: 6px; position: sticky; top: 76px; background: var(--ph-bg); padding: 10px 0; margin-bottom: 18px; z-index: 5; }
.ph-glossario__az a { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; background: #fff; border: 1px solid var(--ph-line); font-family: var(--ph-font-title); font-weight: 700; font-size: 14px; color: var(--ph-primary); }
.ph-glossario__az a:hover { background: var(--ph-accent); color: #fff; border-color: var(--ph-accent); text-decoration: none; }
.ph-glossario__grupo { scroll-margin-top: 130px; margin-bottom: 26px; }
.ph-glossario__letra { font-size: 26px; color: var(--ph-accent-dark); border-bottom: 2px solid var(--ph-line); padding-bottom: 6px; margin: 0 0 14px; }
.ph-glossario__lista { margin: 0; display: grid; gap: 12px; }
.ph-glossario__termo { background: var(--ph-card); border: 1px solid var(--ph-line); border-radius: var(--ph-radius-sm); padding: 14px 18px; scroll-margin-top: 130px; transition: background .3s, border-color .3s; }
.ph-glossario__termo.is-alvo { background: #e6f6ee; border-color: var(--ph-accent); }
.ph-glossario__termo dt { font-family: var(--ph-font-title); font-weight: 700; color: var(--ph-primary); font-size: 17px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 4px; }
.ph-glossario__termo dd { margin: 0; color: #33454f; font-size: 15.5px; line-height: 1.55; }

/* Faixa CTA do glossário no hub */
.ph-glossario-cta__box {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  background: linear-gradient(135deg, var(--ph-primary), #143049); color: #fff;
  border-radius: var(--ph-radius); padding: 32px 34px;
}
.ph-glossario-cta__box h2 { color: #fff; margin: 0 0 6px; font-size: clamp(22px, 3.5vw, 28px); }
.ph-glossario-cta__box p { color: #cdd8e0; margin: 0; max-width: 60ch; }

@media (max-width: 760px) {
  .ph-academia-hero { padding: 52px 0 48px; }
  .ph-licao-nav { grid-template-columns: 1fr; }
  .ph-licao-nav__item--next { text-align: left; }
  .ph-glossario__az { top: 60px; }
  .ph-trilha-lista__item { grid-template-columns: auto 1fr; }
  .ph-trilha-lista__go { display: none; }
}
