:root{
    color-scheme: only light;   /* trava o app no modo claro */
    /* Paleta do mockup (redesign) */
    --ink: #234E74;           /* navy principal */
    --panel-2: #E4EBF2;       /* cartões/apoio azul claro */
    --seg-bg: #EEF1F5;        /* fundo do controle segmentado */
    --line: #E9ECF1;          /* divisórias */
    --text: #232B36;          /* texto principal */
    --text-mid: #4A5262;      /* texto corrido */
    --text-dim: #7C8698;      /* texto secundário */
    --muted: #8B93A1;         /* apagado */
    --faint: #B7BEC9;         /* bem apagado (índices) */
    --ink-2: #3A4250;         /* cinza escuro: ponteiro, ponto central, corpo de card */
    --text-label: #565F6E;    /* rótulos pequenos (unifica o par quase-gêmeo) */
    --line-2: #C4CAD3;        /* linha-guia da roda (mais forte que --line) */
    --sun-a: #7FA0C0;         /* anel gregoriano */
    --sun-strong: #2F5A8C;    /* datas gregorianas (azul link) */
    --moon-a: #234E74;        /* anel hebraico */
    --moon-strong: #3F6790;   /* datas hebraicas */
    --accent: #2F5A8C;        /* acento azul */
    --btn-hover: #DCEAF7;
    /* ---- escala tipografica (rem; base fluida definida no html) ---- */
    --fs-3xs: 0.6875rem;  /* ~11px */
    --fs-2xs: 0.75rem;    /* ~12px */
    --fs-xs:  0.8125rem;  /* ~13px */
    --fs-sm:  0.875rem;   /* ~14px */
    --fs-md:  0.9375rem;  /* ~15px */
    --fs-base:1rem;       /* ~16px */
    --fs-lg:  1.0625rem;  /* ~17px */
    --fs-xl:  1.125rem;   /* ~18px */
    --fs-2xl: 1.25rem;    /* ~20px */
    --fs-3xl: 1.375rem;   /* ~22px */
    --fs-4xl: 1.5625rem;  /* ~25px */
    --fs-display: 2rem;   /* ~32px */
    /* ---- tokens de card ---- */
    --card-radius: 20px;
    --card-pad: 20px;
    --surface: #FFFFFF;
    --font-main: 'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-serif: 'Lora', Georgia, serif;
  }
  *{box-sizing:border-box;}
  img{max-width:100%;}
  html,body{margin:0;padding:0;}
  /* Trava de modo claro: impede o escurecimento automatico do sistema/navegador */
  html{ color-scheme: only light; background:#FFFFFF; }
  @media (prefers-color-scheme: dark){
    :root, html, body{ color-scheme: only light; }
    html, body{ background:#FFFFFF; color: var(--text); }
  }
  html{
    font-size:clamp(16px, 15px + 0.3vw, 18px);
    overflow-x:hidden;
    width:100%;
    max-width:100%;
  }
  body{
    width:100%;
    max-width:100%;
    background: #FFFFFF;
    color: var(--text);
    font-family: var(--font-main);
    min-height: 100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding: 28px 0 96px;
    overflow-x:hidden;
  }
  .page{ display:none; width:100%; flex-direction:column; align-items:center; }
  #yearViewWrap, #monthViewWrap{ width:100%; }
  .page.active{ display:flex; }
  .stage{
    position:relative;
    width:min(100%, 792px);
    aspect-ratio:1/1;
    touch-action:none;
  }
  .stage svg{
    width:100%;
    height:100%;
    display:block;
    cursor: grab;
    user-select:none;
  }
  .stage svg:active{ cursor: grabbing; }

  .month-group{ transition: transform .25s ease; cursor:pointer; }
  .month-arc{ opacity:.92; }
  .month-arc:hover{ opacity: 1; filter:brightness(1.15); cursor:pointer;}
  .holiday-arc{ opacity:.93; cursor:pointer; }
  .holiday-arc:hover{ opacity:1; filter:brightness(1.15); }
  .month-label{ font-family:var(--font-main); font-size:15px; font-weight:400; fill: var(--ink); letter-spacing:.3px; pointer-events:none;}
  .heb-label{ fill:#ffffff; font-size:30px; letter-spacing:0; }
  .greg-label{ fill:#1E3A5C; font-size:27.7px; }
  .holiday-label{ font-family:var(--font-main); font-size:22px; font-weight:700; pointer-events:none;}
    .top-pointer-line{ stroke:var(--ink-2); stroke-width:3; }
  .top-pointer-tri{ fill:var(--accent); }
  .today-mark-heb line{ stroke:#ffffff; stroke-width:2.4; }
  .today-mark-heb circle{ fill:#ffffff; }
  .today-mark-greg line{ stroke:var(--ink); stroke-width:2.2; }
  .today-mark-greg circle{ fill:var(--ink); }

  .wheel-year-stepper{
    display:flex; align-items:center; justify-content:center; gap:8px;
    width:100%; max-width:360px; margin:0 auto; line-height:1;
  }
  .wheel-year-stepper + .stage{ margin-top:8px; }
  .stage + .wheel-year-stepper{ margin-top:8px; }
  .wheel-year-val{ font-family:var(--font-serif); font-weight:700; font-size:clamp(23px,6vw,29px); min-width:64px; text-align:center; line-height:1; }
  .wheel-year-val.greg{ color:#6E93B7; }
  .wheel-year-val.heb{ color:var(--moon-strong); }
  .wheel-year-stepper button{
    font-family:var(--font-main); font-weight:700; border:none; background:none;
    color:var(--text-dim); cursor:pointer; font-size:var(--fs-base); padding:4px 2px;
  }
  .wheel-year-stepper button:hover{ color:var(--text); }
  .parasha{ font-family:var(--font-main); font-weight:700; font-size:clamp(14.5px,2.6vw,16.5px); letter-spacing:.3px; color:var(--ink); text-align:center; text-transform:uppercase; margin-bottom:2px; }
  .parasha.loading{ color:var(--text-dim); font-weight:600; text-transform:none; letter-spacing:0; }
  .next-parasha{ font-family:var(--font-main); font-weight:400; font-size:var(--fs-md); color:var(--text-mid); text-align:center; margin-bottom:14px; }

  .center-info{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:34%;
    text-align:center;
    pointer-events:none;
  }
  .center-info .greg-big{ font-family:var(--font-main); font-weight:700; color:var(--ink); font-size:clamp(18px,5.9vw,31px); line-height:1.1;}
  .center-info .heb-big{ font-family:var(--font-serif); font-weight:500; font-style:italic; color:var(--accent); font-size:clamp(14px,4.1vw,22px); margin-top:4px;}
  .center-info .weekday{ font-size:clamp(12px,2.3vw,16px); letter-spacing:1px; text-transform:uppercase; color:var(--text-mid); margin-top:5px;}

  .panel{
    width:min(94vw,620px);
    padding:6px 18px 16px;
    margin-top:2px;
    margin-left:auto; margin-right:auto;
  }
  .row{ display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; }
  .row + .row{ margin-top:14px; }
  button{
    font-family:var(--font-main); font-weight:700; border:none; border-radius:9px;
    background: var(--line); color:var(--text); cursor:pointer; padding:7px 10px; font-size:var(--fs-xs);
    transition: background .15s, transform .1s;
  }
  button:hover{ background: var(--btn-hover); }
  button:active{ transform: scale(.94); }
  .btn-sun{ background: var(--sun-a); color:#241a04; }
  .btn-sun:hover{ background: var(--sun-strong); }
  .divider{ width:1px; align-self:stretch; background:var(--line); margin:0 4px;}
  input[type=date]{
    background:transparent; border:1px solid var(--line); color:var(--text);
    border-radius:9px; padding:6px 8px; font-family:var(--font-main); font-size:var(--fs-xs);
  }
  .cat-toggles{
    display:flex; flex-direction:column; gap:10px; margin-top:16px; align-items:center;
  }
  .cat-toggles-row{ display:flex; gap:18px; flex-wrap:wrap; justify-content:center; }
  .cat-toggle-item{
    display:flex; align-items:center; gap:7px; cursor:pointer; user-select:none;
    font-size:var(--fs-base); font-weight:400; color:var(--text-dim);
    transition: color .15s;
  }
  .cat-toggle-item:hover{ color: var(--text); }
  .cat-toggle-item.active{ color:var(--ink-2); }
  .cat-toggle-item input{
    appearance:none; -webkit-appearance:none; -moz-appearance:none;
    width:12px; height:12px; border-radius:50%; flex-shrink:0;
    border:2px solid var(--cat-color); background:transparent;
    cursor:pointer; margin:0; transition: background .15s;
  }
  .cat-toggle-item input:checked{ background:var(--cat-color); }
  #holidayToast{
    position:fixed; bottom:22px; left:50%; transform:translateX(-50%) translateY(20px);
    background: var(--panel-2); border:1px solid var(--line); padding:10px 18px; border-radius:12px;
    font-size:var(--fs-xs); opacity:0; transition:.25s; pointer-events:none; max-width:90vw; text-align:center;
  }
  #holidayToast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
  @media (max-width:480px){
    .row{ gap:8px; }
  }

  /* ---------- menu inferior ---------- */
  .bottom-nav{
    position:fixed; left:0; right:0; bottom:0; z-index:20;
    display:flex; justify-content:space-around; gap:4px;
    background:#ffffff; border-top:1px solid var(--line);
    padding:4px 12px calc(4px + env(safe-area-inset-bottom));
  }
  .nav-btn{
    display:flex; flex-direction:column; align-items:center; gap:1px;
    background:none; border:none; color:var(--muted);
    font-family:var(--font-main); font-size:var(--fs-2xs); font-weight:600;
    padding:2px 14px; cursor:pointer;
  }
  .nav-btn.active{ color:var(--ink); font-weight:700; }
  .nav-icon{
    display:flex; align-items:center; justify-content:center; line-height:1;
    width:36px; height:36px;
  }
  .nav-icon .icon-filled{ display:none; }
  .nav-btn.active .nav-icon .icon-outline{ display:none; }
  .nav-btn.active .nav-icon .icon-filled{ display:inline-flex; }

  @media (orientation:landscape) and (max-height:500px) and (max-width:900px){
    .bottom-nav{
      padding:2px 12px calc(2px + env(safe-area-inset-bottom));
    }
    .nav-icon{ width:26px; height:26px; }
    .nav-btn{ font-size:var(--fs-3xs); padding:1px 10px; gap:0; }
  }

  /* ---------- linha do tempo (vertical) ---------- */
  .tl-fixed-menu{
    position:sticky; top:0; z-index:10; background:#FFFFFF;
    width:100%; padding-bottom:6px; padding-left:16px; padding-right:16px;
  }
  #yearViewWrap, #monthViewWrap{ padding-left:16px; padding-right:16px; }
  .tl-year-header .wheel-year-stepper{ width:auto; max-width:none; margin:0; }
  .tl-year-header{
    display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:nowrap;
    padding:10px 12px 4px; width:100%; max-width:640px; margin:0 auto;
  }
  .tl-year-greg{ font-family:var(--font-serif); font-weight:700; font-size:clamp(20px,6vw,28px); color:#6E93B7; white-space:nowrap; }
  .tl-year-heb{ font-family:var(--font-serif); font-weight:400; font-size:var(--fs-4xl); color:var(--ink); }
  .tl-list{ width:100%; max-width:640px; padding-bottom:8px; margin:0 auto; }
  .tl-week{ margin-bottom:10px; }
  .tl-week-header{
    background:var(--panel-2); border-radius:8px; padding:6px 12px; margin-bottom:2px;
    display:flex; align-items:baseline; gap:8px;
  }
  .tl-week-header .pnum{ font-size:var(--fs-2xs); font-weight:700; color:var(--moon-strong); }
  .tl-week-header .pname{ font-size:var(--fs-md); font-weight:700; color:var(--text); }
  .tl-day-row{
    display:flex; align-items:center; gap:10px; padding:7px 10px;
    border-bottom:1px solid var(--line);
  }
  .tl-day-row.today{ background:rgba(224,120,79,.10); border-radius:6px; }
  .tl-day-greg{ width:96px; flex-shrink:0; display:flex; align-items:baseline; justify-content:center; gap:5px; }
  .tl-day-greg .tl-wd{ font-size:var(--fs-2xs); font-weight:400; text-transform:uppercase; color:#000000; width:26px; }
  .tl-day-greg .tl-num{ font-family:var(--font-main); font-size:var(--fs-lg); font-weight:700; color:var(--text); }
  .tl-day-greg .tl-mo{ font-size:var(--fs-xs); color:var(--text-dim); }
  .tl-day-heb{ width:92px; flex-shrink:0; display:flex; align-items:baseline; justify-content:center; gap:5px; }
  .tl-day-heb .tl-num{ font-family:var(--font-main); font-size:var(--fs-lg); font-weight:700; color:var(--moon-strong); }
  .tl-day-heb .tl-mo{ font-size:var(--fs-xs); color:var(--text-dim); }
  .tl-day-hol{ flex:1; min-width:0; display:flex; justify-content:flex-start; }
  .tl-chip{
    display:inline-block; font-size:var(--fs-xs); font-weight:700; padding:3px 10px;
    border-radius:20px; white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis;
  }

  /* ---------- seletor de visualização (ano / mês) ---------- */
  .view-toggle{
    display:flex; gap:6px; margin:12px auto 4px; width:100%; max-width:640px; justify-content:center;
  }
  .view-btn{
    background:none; border:1px solid var(--line); color:var(--text-dim);
    font-family:var(--font-main); font-weight:700; font-size:var(--fs-sm);
    padding:6px 18px; border-radius:20px; cursor:pointer; transition:.15s;
  }
  .view-btn:hover{ background:var(--btn-hover); }
  .view-btn.active{ background:var(--ink); color:#fff; border-color:var(--ink); }

  /* ---------- visualização por ano ---------- */
  .pyear-list{ width:100%; max-width:640px; margin:8px auto 0; }
  .pyear-year-label{
    display:flex; justify-content:space-between; align-items:baseline;
    font-size:var(--fs-xs); font-weight:800; text-transform:uppercase; letter-spacing:.5px;
    color:var(--text-dim); margin:16px 4px 4px;
  }
  .pyear-row{
    display:flex; align-items:baseline; gap:10px; padding:8px 10px;
    border-bottom:1px solid var(--line);
  }
  .pyear-row.today-week{ background:rgba(47,90,140,.12); border-radius:6px; }
  .pyear-num{ font-size:var(--fs-md); font-weight:600; color:var(--faint); width:24px; flex-shrink:0; }
  .pyear-name{ font-family:var(--font-main); font-size:var(--fs-xl); font-weight:400; color:var(--ink); flex:1; min-width:0; }
  .pyear-hdate{ font-size:var(--fs-md); color:var(--moon-strong); font-weight:400; min-width:78px; flex-shrink:0; text-align:right; white-space:nowrap; }
  .pyear-gdate{ font-size:var(--fs-md); color:var(--sun-strong); font-weight:400; min-width:48px; flex-shrink:0; text-align:right; white-space:nowrap; }
  .pyear-row{ cursor:pointer; }

  .grid-week-expanded{
    display:flex; align-items:center; gap:10px; background:var(--surface); border:1px solid var(--line);
    border-radius:3px; padding:11px 12px; margin-bottom:2px; cursor:pointer; min-height:40px;
  }
  .load-more-btn{
    display:block; margin:16px auto 4px; background:var(--panel-2); border:1px solid var(--line);
    color:var(--text); font-family:var(--font-main); font-weight:700; font-size:var(--fs-md);
    padding:9px 20px; border-radius:20px; cursor:pointer;
  }
  .load-more-btn:hover{ background:var(--btn-hover); }
  .load-more-btn[disabled]{ opacity:.4; cursor:default; }

  .grid-month-nav{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0px;
    margin:4px auto 10px; width:100%; max-width:640px;
  }
  .grid-month-nav button{ background:none; border:none; color:var(--text-dim); font-size:var(--fs-xl); font-weight:700; cursor:pointer; }
  .grid-month-nav button:hover{ color:var(--text); }
  #gridMonthLabel{ font-weight:400; font-size:var(--fs-xl); color:var(--text); min-width:150px; text-align:center; }
  #gridMonthLabel .heb-range{ font-weight:600; font-size:var(--fs-sm); color:var(--moon-strong); display:block; }

  .grid-box{ width:100%; max-width:640px; margin:0 auto; background:#fff; }
  #monthGrid{ width:100%; }
  .grid-weekday-row{ display:grid; grid-template-columns:44px repeat(7,1fr); gap:4px; margin-bottom:8px; width:calc(100% + 6px); margin-right:-6px; }
  .grid-weekday-row span{ text-align:center; font-size:var(--fs-xs); font-weight:400; color:var(--text-dim); padding:6px 0; }
  .grid-weekday-row .par-header{ text-align:left; padding-left:1px; }
  .grid-week-days{ display:grid; grid-template-columns:44px repeat(7,1fr); gap:4px; margin-bottom:6px; width:calc(100% + 6px); margin-right:-6px; }
  .grid-par-cell{
    text-align:left; padding:10px 1px 6px; cursor:pointer; min-height:48px;
    display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:1px;
  }
  .grid-par-cell span{ font-size:var(--fs-sm); font-weight:400; color:var(--accent); line-height:1.15; }
  .grid-cell{
    text-align:center; padding:6px 1px 7px; cursor:pointer; min-height:48px;
  }
  .grid-cell.outmonth{ opacity:.35; }
  .grid-cell.today .grid-day-num{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border:2px solid var(--ink); border-radius:50%; color:var(--ink); }
  .grid-day-num{ font-size:var(--fs-base); font-weight:400; color:var(--text); line-height:1.3; }
  .grid-day-num.wknd{ color:var(--accent); }
  .grid-heb-num{ font-size:var(--fs-3xs); color:var(--text-mid); font-weight:500; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .grid-dots{ display:flex; justify-content:center; gap:2px; margin-top:3px; min-height:5px; }
  .grid-dots span{ width:5px; height:5px; border-radius:50%; display:inline-block; }

  #monthEventList{ width:100%; max-width:640px; margin:14px auto 0; }
  .grid-event-row{
    display:flex; align-items:center; gap:7px; padding:12px 6px; border-bottom:1px solid var(--line);
  }
  .grid-event-row.has-reading{ cursor:pointer; border-radius:8px; }
  .grid-event-row.has-reading:hover{ background:var(--panel-2); }
  .grid-event-day{ font-family:var(--font-main); font-weight:400; font-size:var(--fs-base); color:var(--sun-strong); width:46px; flex-shrink:0; }
  .grid-event-dot{ width:8px; height:8px; border-radius:50%; flex-shrink:0; }
  .grid-event-sep{ font-weight:400; color:var(--text-dim); }
  .grid-event-name{ font-family:var(--font-main); font-size:var(--fs-lg); font-weight:400; color:var(--ink); }

  /* ---------- layout duas colunas da página Ano (desktop) ---------- */
  /* ---- Ano: mobile / tablet em pé / desktop <50% ---- empilhado */
  #page-wheel{ overflow-x:hidden; }
  #page-wheel .stage{ width:100%; }
  .ano-layout{ display:flex; flex-direction:column; width:100%; }
  .wheel-col{ width:100%; }
  .fest-col{ width:100%; }
  .ano-festas-title{
    text-align:center; margin:14px 0 0;
    font-family:var(--font-main); font-size:var(--fs-sm); color:var(--text-dim);
  }

  /* ---- Ano: tablet deitado / desktop ≥50% ---- duas colunas */
  @media (min-width:740px){
    /* o page-wheel vira o scroll container horizontal */
    #page-wheel{ overflow-x:auto; }
    .stage{ width:100%; }
    .ano-layout{
      flex-direction:row; align-items:flex-start;
      width:100%;
      gap:0; padding:0;
    }
    .wheel-col{
      flex:1 1 0; min-width:0;
    }
    /* A roda é quadrada (largura = altura). Em duas colunas, limita seu
       tamanho também pela altura da tela, descontando cabeçalho, controles
       e barra inferior — assim o círculo inteiro cabe na visão.
       O seletor inclui #page-wheel para vencer a regra #page-wheel .stage. */
    #page-wheel .wheel-col .stage{
      width: min(100%, calc(100vh - 240px));
      max-width: 792px;
      margin-left:auto; margin-right:auto;
    }
    .fest-col{
      flex:0 0 400px; width:400px; padding-top:70px; padding-right:16px;
    }
    .ano-festas-title{ text-align:center; margin:8px 0 0; }
    #page-wheel .panel{ max-width:none; width:100%; padding-top:0; }
    #page-wheel .fest-list{ max-width:none !important; width:100%; margin:0; }
  }

  /* ---------- lista de festas (compartilhada: usada na página Ano) ---------- */
  .fest-list{ width:100%; max-width:640px; padding-bottom:8px; margin:0 auto; }
  .fest-row{
    display:flex; align-items:center; gap:10px; padding:9px 10px;
    border-bottom:1px solid var(--line);
  }
  .fest-row .fest-dot{ width:9px; height:9px; border-radius:50%; flex-shrink:0; }
  .fest-row .fest-name{ flex:1 1 auto; min-width:0; font-family:var(--font-main); font-size:var(--fs-base); font-weight:400; color:var(--ink); }
  .fest-name-link{ cursor:pointer; }
  .fest-name-link:hover{ color:var(--accent); }
  .fest-row .fest-greg{ width:52px; flex-shrink:0; font-size:var(--fs-xs); font-weight:600; color:var(--sun-strong); text-align:right; }
  .fest-row .fest-heb{ width:72px; flex-shrink:0; font-size:var(--fs-xs); font-weight:600; color:var(--moon-strong); text-align:right; }
  .fest-explain-toggle{
    flex-shrink:0; width:22px; height:22px; border:none; border-radius:6px;
    background:none; color:var(--muted); font-size:var(--fs-md); font-weight:600; line-height:1;
    cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0;
  }
  .fest-explain-toggle:hover{ color:var(--text); }
  .fest-explain-toggle[aria-expanded="true"]{ border:1.5px solid var(--accent); color:var(--accent); }
  .fest-explain{
    padding:2px 10px 16px 28px; border-bottom:1px solid var(--line);
  }
  .fest-explain-intro{ font-size:var(--fs-sm); color:var(--text-mid); line-height:1.6; margin:4px 0 12px; }
  .fest-explain-section{ margin-bottom:10px; }
  .fest-explain-title{ font-size:var(--fs-xs); font-weight:700; color:var(--text); margin-bottom:4px; }
  .fest-explain-section ul{ margin:0; padding-left:18px; }
  .fest-explain-section li{ font-size:var(--fs-xs); color:var(--text-mid); line-height:1.5; font-weight:400; }
  .fest-explain-empty{ font-size:var(--fs-xs); color:var(--muted); font-style:italic; margin:4px 0 8px; text-align:center; }
  .fest-year-marker{
    font-size:var(--fs-3xs); font-weight:800; text-transform:uppercase; letter-spacing:.5px;
    color:var(--text-dim); margin:14px 4px 2px; text-align:right;
  }

  /* ---------- splash ---------- */
  #splash{
    position:fixed; inset:0; z-index:100; background:var(--ink);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:8px; padding:0 40px; text-align:center;
  }
  #splash .splash-title{ font-family:var(--font-main); font-weight:700; font-size:var(--fs-display); color:#FFFFFF; margin-top:-4px; }
  #splash .splash-tagline{ font-size:var(--fs-md); color:#C9D6E5; line-height:1.5; max-width:none; white-space:nowrap; margin-top:6px; } #splash .splash-fase{ position:fixed; bottom:24px; left:0; right:0; text-align:center; font-family:var(--font-main); font-size:var(--fs-2xs); letter-spacing:.08em; text-transform:uppercase; color:#8FA6C0; }
  #splashStart{
    margin-top:6px; padding:14px 40px; border-radius:999px; border:none;
    background:#FFFFFF; color:var(--ink); font-family:var(--font-main);
    font-weight:600; font-size:var(--fs-md); cursor:pointer;
  }

  /* ---------- página Início ---------- */
  #page-inicio{ align-items:stretch; max-width:640px; margin:0 auto; position:relative; overflow-x:hidden; flex:1 0 auto; }
  .inicio-header{ padding:20px 20px 0; font-family:var(--font-serif); font-size:var(--fs-4xl); font-weight:400; color:var(--ink); display:flex; align-items:center; justify-content:space-between; }
  .feedback-icon{ background:none; border:none; padding:4px; margin:0; cursor:pointer; color:var(--ink); opacity:.45; line-height:0; border-radius:50%; -webkit-tap-highlight-color:transparent; transition:opacity .15s; }
  .feedback-icon:hover, .feedback-icon:active{ opacity:.85; }
  .header-actions{ display:flex; align-items:center; gap:6px; }
  .account-icon.logged{ opacity:.9; color:var(--accent); }
  #authOverlay{ position:fixed; inset:0; background:rgba(20,35,55,.45); display:none; align-items:center; justify-content:center; z-index:9999; padding:20px; }
  #authOverlay.show{ display:flex; }
  #authOverlay .auth-panel{ background:var(--surface); border-radius:var(--card-radius); max-width:340px; width:100%; max-height:84vh; overflow-y:auto; padding:26px 22px 20px; position:relative; box-shadow:0 14px 44px rgba(0,0,0,.2); box-sizing:border-box; }
  .auth-x{ position:absolute; top:8px; right:12px; background:none; border:none; font-size:24px; color:var(--text-dim); cursor:pointer; line-height:1; }
  .auth-title{ font-family:var(--font-serif); font-size:var(--fs-2xl); color:var(--ink); margin-bottom:16px; }
  .auth-inp{ width:100%; box-sizing:border-box; padding:11px 12px; margin-bottom:10px; border:1px solid var(--line-2); border-radius:10px; font-family:var(--font-main); font-size:var(--fs-base); background:var(--surface); color:var(--text); }
  .auth-inp:focus{ outline:none; border-color:var(--accent); }
  .auth-btn{ width:100%; background:var(--ink); color:#fff; border:none; border-radius:10px; padding:12px; font-family:var(--font-main); font-size:var(--fs-base); font-weight:600; cursor:pointer; }
  .auth-btn[disabled]{ opacity:.5; }
  .auth-btn-ghost{ background:none; color:var(--ink); border:1px solid var(--line-2); font-weight:400; margin-top:6px; }
  .auth-links{ display:flex; justify-content:space-between; margin-top:12px; }
  .auth-links a{ color:var(--accent); font-size:var(--fs-sm); text-decoration:none; }
  .auth-msg{ font-family:var(--font-main); font-size:var(--fs-base); color:var(--text-mid); margin:0 0 14px; line-height:1.5; }
  .auth-hint{ font-family:var(--font-main); font-size:var(--fs-sm); color:var(--text-dim); margin:-4px 0 10px; line-height:1.4; }
  .auth-feedback{ font-family:var(--font-main); font-size:var(--fs-sm); color:var(--text-dim); margin:12px 0 0; min-height:16px; line-height:1.45; }
  .auth-feedback.ok{ color:#1E8F4F; }
  .auth-who{ font-family:var(--font-main); font-size:var(--fs-sm); color:var(--text-dim); margin:0 0 4px; }
  #feedbackOverlay{ position:fixed; inset:0; background:rgba(20,35,55,.45); display:none; align-items:center; justify-content:center; z-index:200; padding:24px; }
  #feedbackOverlay.show{ display:flex; }
  #feedbackOverlay .fb-panel{ background:var(--surface); border-radius:var(--card-radius); max-width:340px; width:100%; padding:26px 24px 22px; box-shadow:0 12px 40px rgba(20,35,55,.28); }
  #feedbackOverlay .fb-title{ font-family:var(--font-serif); font-size:var(--fs-2xl); color:var(--ink); margin:0 0 10px; }
  #feedbackOverlay .fb-text{ font-family:var(--font-main); font-size:var(--fs-base); line-height:1.55; color:#3a5068; margin:0 0 20px; }
  #feedbackOverlay .fb-actions{ display:flex; gap:10px; }
  #feedbackOverlay .fb-primary{ flex:1; background:var(--ink); color:#fff; border:none; border-radius:12px; padding:12px; font-family:var(--font-main); font-size:var(--fs-lg); font-weight:600; cursor:pointer; text-align:center; text-decoration:none; }
  #feedbackOverlay .fb-close{ background:none; border:none; color:var(--text-dim); font-family:var(--font-main); font-size:var(--fs-base); padding:12px 8px; cursor:pointer; }
  .hoje-card{
    margin:18px 16px 0; padding:var(--card-pad); border-radius:var(--card-radius); background:var(--ink); color:#FFFFFF;
  }
  .card-label{ font-size:var(--fs-sm); font-weight:400; letter-spacing:.08em; text-transform:uppercase; opacity:.7; }
  .card-label.blue{ color:var(--accent); opacity:1; }
  .hoje-card .card-label{ font-size:var(--fs-base); }
  #semanaCard .card-label{ font-size:var(--fs-md); }
  .hoje-heb{ font-family:var(--font-serif); font-size:var(--fs-4xl); font-weight:600; margin-top:6px; }
  .hoje-greg{ font-size:var(--fs-base); opacity:.75; margin-top:4px; }
  .parasha-first-word{ font-size:clamp(17.5px,2.6vw,19.5px); }
  .next-parasha-first-word{ font-size:var(--fs-lg); }
  .semana-card{
    margin:16px 16px 0; padding:var(--card-pad); border-radius:var(--card-radius); background:var(--panel-2); cursor:pointer;
  }
  .semana-name{ font-family:var(--font-serif); font-size:var(--fs-4xl); font-weight:600; color:var(--ink); margin-top:6px; }
  .semana-ref{ font-size:var(--fs-md); color:var(--text-label); margin-top:4px; }
  #semanaCard .semana-ref{ font-size:var(--fs-base); }
  #holidayReadingCards{ margin:0 20px; display:flex; flex-direction:column; gap:10px; }
  #holidayReadingCards .semana-card{ margin:0; }
  #holidayReadingCards .semana-card + .semana-card{ margin-top:0; }
  .proximas-label{ padding:22px 16px 4px; font-size:var(--fs-md); font-weight:400; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); }
  .proximas-list{ padding:0 16px 20px; }
  .proximas-row{
    display:flex; justify-content:space-between; align-items:center;
    padding:14px 0; border-bottom:1px solid var(--line);
  }
  .proximas-row .nm{ font-size:var(--fs-lg); font-weight:400; color:var(--ink); }
  .proximas-row .dt{ font-size:var(--fs-md); color:var(--text-dim); }
  .proximas-row-link{ cursor:pointer; }
  .proximas-row-link:hover .nm{ color:var(--accent); }

  /* ---------- Parashiot: título, segmentado, navegações ---------- */
  .tl-title-row{ display:flex; align-items:center; justify-content:flex-start; position:relative; padding-top:14px; max-width:640px; width:100%; margin:0 auto; }
  .tl-title{ text-align:left; font-family:var(--font-main); font-size:var(--fs-md); font-weight:400; color:var(--text-dim); }
  .tl-search-btn{
    position:absolute; right:0; top:8px; background:none; border:none; color:var(--ink);
    cursor:pointer; padding:6px; display:flex; align-items:center; justify-content:center;
  }
  .seg-control{
    display:flex; margin:14px auto 0; max-width:640px; width:100%;
    background:var(--seg-bg); border-radius:10px; padding:3.18px;
  }
  .seg-btn{
    flex:1; text-align:center; padding:5.3px 0; border-radius:8px; border:none; background:none;
    font-family:var(--font-main); font-size:var(--fs-md); font-weight:400; color:var(--muted); cursor:pointer;
  }
  .seg-btn.active{ background:var(--ink); color:#FFFFFF; }
  .tl-subtitle{ text-align:center; font-size:var(--fs-md); color:var(--muted); margin-top:8px; }
  #annualNav .wheel-year-stepper{ margin-top:6px; }
  .tl-greg-range{ text-align:center; font-size:var(--fs-base); color:var(--accent); font-weight:400; margin-top:-4px; font-family:var(--font-main); }
  .grid-month-nav-row{ display:flex; align-items:center; justify-content:center; gap:6px; }
  .grid-month-nav-row button{ background:none; border:none; color:var(--ink); font-size:var(--fs-2xl); cursor:pointer; }
  #gridMonthLabel{ font-family:var(--font-serif); font-weight:400; font-size:var(--fs-4xl); color:var(--ink); min-width:150px; text-align:center; }
  .tl-heb-months{ text-align:center; font-size:var(--fs-base); color:var(--accent); font-weight:400; margin-top:-4px; }

  /* ---------- card de detalhe da parashá ---------- */
  .detail-card{
    position:fixed; inset:0; bottom:0; background:var(--surface); z-index:15;
    overflow-y:auto; padding:32px 20px calc(80px + env(safe-area-inset-bottom)); box-sizing:border-box;
    max-width:640px; margin:0 auto;
  }
  .detail-back{
    display:flex; align-items:center; gap:8px; margin:6px -8px 18px; padding:10px 8px; cursor:pointer;
    font-size:var(--fs-base); font-weight:600; color:var(--ink); width:fit-content;
  }
  .detail-back span:first-child{ font-size:var(--fs-2xl); }
  .detail-ref{ font-size:var(--fs-base); font-weight:400; color:var(--muted); text-align:left; text-transform:uppercase; margin-top:2px; }
  .detail-ref-inline{ font-family:var(--font-main); font-size:var(--fs-base); font-weight:400; color:var(--text-label); text-transform:uppercase; }
  .detail-header{ font-family:var(--font-serif); font-size:var(--fs-4xl); font-weight:600; color:var(--ink); margin-top:14px; }
  .detail-translation{ font-size:var(--fs-xl); font-style:normal; color:var(--muted); margin-top:3px; }
  .detail-resumo{ font-size:var(--fs-xl); color:var(--ink-2); line-height:1.6; margin-top:24px; }
  .detail-section{ font-size:var(--fs-lg); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); margin-top:20px; }
  .detail-section-haftara{ font-family:var(--font-main); font-size:var(--fs-base); font-weight:400; color:var(--text-label); text-transform:uppercase; letter-spacing:normal; margin-top:20px; }
  .detail-section-temas{ font-family:var(--font-main); font-size:var(--fs-md); font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; margin-top:38px; height:0; overflow:hidden; }
  .detail-haftara-line{ font-size:var(--fs-base); font-weight:400; color:var(--muted); text-transform:uppercase; margin-top:6px; }
  .detail-haftara-sum{ font-size:var(--fs-xl); color:var(--ink-2); line-height:1.6; margin-top:8px; }
  .detail-temas{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
  .tema-chip{ display:inline-block; padding:9px 16px; border-radius:20px; background:var(--seg-bg); color:var(--accent); font-family:var(--font-main); font-size:var(--fs-lg); font-weight:600; cursor:pointer; }
  .tema-chip{ cursor:pointer; text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:3px; }
  .tema-chip:hover{ color:var(--accent); }
  .detail-divider{ height:1px; background:var(--line); margin:28px 0; }

  .search-page-title{ font-family:var(--font-serif); font-size:var(--fs-4xl); font-weight:400; color:var(--ink); margin-bottom:16px; }
  .theme-search-input{
    width:100%; box-sizing:border-box; padding:12px 16px; border-radius:12px; border:1px solid var(--line);
    background:var(--seg-bg); font-family:var(--font-main); font-size:var(--fs-lg); color:var(--text);
  }
  .theme-search-input::placeholder{ color:var(--muted); }
  .theme-suggestions{ margin-top:8px; border-radius:12px; background:#fff; box-shadow:0 4px 16px rgba(0,0,0,.10); overflow:hidden; }
  .theme-suggestions:empty{ display:none; box-shadow:none; margin-top:0; }
  .theme-suggestion-item{ padding:14px 16px; font-family:var(--font-main); font-size:var(--fs-xl); font-weight:400; color:var(--ink); cursor:pointer; }
  .theme-suggestion-item:active{ background:var(--seg-bg); }
  #themeSearchResults{ margin-top:18px; }
  .theme-search-empty{ font-size:var(--fs-base); color:var(--muted); margin-top:20px; }
  .theme-result-row{
    display:flex; align-items:baseline; gap:10px; padding:12px 2px; cursor:pointer;
    border-bottom:1px solid var(--line);
  }
  .theme-result-num{ font-size:var(--fs-md); font-weight:600; color:var(--faint); width:22px; flex-shrink:0; }
  .theme-result-name{ font-family:var(--font-serif); font-size:var(--fs-xl); font-weight:400; color:var(--ink); flex:1; min-width:0; }
  .theme-result-book{ font-size:var(--fs-md); font-weight:600; color:var(--sun-strong); flex-shrink:0; text-align:right; }

  #page-descubra{ align-items:stretch; max-width:640px; margin:0 auto; width:100%; }
  .explore-wrap{ width:100%; padding:0 20px; box-sizing:border-box; }
  .explore-sub{ font-family:var(--font-main); font-size:var(--fs-md); color:var(--text-dim); margin-top:-8px; margin-bottom:4px; }
  #page-descubra .seg-control{ margin-top:14px; }
  .etab-panel{ margin-top:16px; }
  .explore-results{ margin-top:8px; }
  .tema-cats{display:flex;flex-direction:column;gap:0;margin-top:4px}
  .tema-group{font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);margin:22px 0 4px;padding:0 10px}
  .tema-group:first-child{margin-top:6px}
  .tema-cat{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 10px;border-bottom:1px solid var(--line);cursor:pointer}
  .tema-cat:active{background:rgba(128,128,128,.06)}
  .tema-cat-name{font-family:var(--font-main);font-size:var(--fs-xl);font-weight:400;color:var(--ink);line-height:1.3}
  .tema-cat-count{font-size:var(--fs-md);color:var(--text-dim);flex-shrink:0}
  .tema-back{display:inline-flex;align-items:center;gap:6px;margin:2px 0 12px;padding:7px 12px;border:1px solid rgba(128,128,128,.25);border-radius:10px;cursor:pointer;font-size:var(--fs-base);background:none;color:inherit;font-family:inherit}
  .tema-lista-title{font-family:var(--font-serif);font-weight:400;font-size:var(--fs-4xl);color:var(--ink);margin:2px 0 12px}
  .tema-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
  .tema-controls .tema-lang{margin:0}
  .tema-lang{display:inline-flex;background:var(--seg-bg);border-radius:9px;padding:3px;margin:0 0 12px}
  .tema-lang-btn{border:none;background:none;font-family:var(--font-main);font-size:var(--fs-md);padding:5px 13px;border-radius:7px;cursor:pointer;color:var(--text-mid)}
  .tema-lang-btn.active{background:var(--ink);color:#fff}
  .gloss-row{
    display:flex; align-items:baseline; justify-content:space-between; gap:12px; width:100%; box-sizing:border-box;
    padding:11px 10px; border-bottom:1px solid var(--line);
  }
  .gloss-row.clickable{ cursor:pointer; }
  .gloss-row.disabled{ opacity:.4; cursor:default; }
  .gloss-left{ display:flex; flex-direction:column; gap:3px; min-width:0; flex:1 1 auto; }
  .gloss-pt{ font-family:var(--font-main); font-size:var(--fs-xl); font-weight:400; color:var(--ink); line-height:1.3; }
  .gloss-translit{ font-family:var(--font-main); font-size:var(--fs-xl); font-weight:400; font-style:italic; color:var(--text-mid); line-height:1.3; }
  .gloss-heb{ font-size:var(--fs-2xl); color:var(--moon-strong); direction:rtl; white-space:nowrap; flex-shrink:0; text-align:right; }
  .gloss-empty{ font-size:var(--fs-base); color:var(--muted); margin-top:20px; }

  .fest-mode-toggle{ max-width:340px; margin:14px auto 4px; }
  .fest-mode-toggle .seg-btn{ font-size:var(--fs-2xs); }

  .fest-year-marker-row{
    display:flex; justify-content:flex-end; gap:10px;
    padding:14px 10px 2px; 
  }
  .fest-year-greg{ width:52px; flex-shrink:0; text-align:right;
    font-size:var(--fs-xs); font-weight:400; text-transform:uppercase; letter-spacing:.5px; color:var(--text-dim); }
  .fest-year-heb{ width:72px; flex-shrink:0; text-align:right;
    font-size:var(--fs-xs); font-weight:400; text-transform:uppercase; letter-spacing:.5px; color:var(--text-dim); }

  .trecho-label{ font-family:var(--font-main); font-size:var(--fs-xs); font-weight:800; text-transform:uppercase; letter-spacing:.5px; color:var(--text-dim); margin:16px 2px 8px; }
  .trecho-books{ display:flex; flex-wrap:wrap; gap:10px; }
  .trecho-book{
    flex:1 1 28%; min-width:96px; padding:14px 10px; border-radius:12px; border:1px solid var(--line);
    background:var(--seg-bg); font-family:var(--font-main); font-size:var(--fs-lg); font-weight:600;
    color:var(--text-mid); cursor:pointer; transition:all .15s;
  }
  .trecho-book.active{ background:var(--ink); color:#fff; border-color:var(--ink); }
  .trecho-range{ display:flex; align-items:flex-end; gap:10px; margin-top:6px; }
  .trecho-field{ flex:1; }
  .trecho-input{
    width:100%; box-sizing:border-box; padding:12px 16px; border-radius:12px; border:1px solid var(--line);
    background:var(--seg-bg); font-family:var(--font-main); font-size:var(--fs-xl); color:var(--text); text-align:center;
  }
  .trecho-input:focus{ outline:none; border-color:var(--sun-strong); }
  .trecho-dash{ padding-bottom:12px; color:var(--text-dim); font-size:var(--fs-2xl); }
  .trecho-example{ font-family:var(--font-main); font-size:var(--fs-base); color:var(--muted); text-align:center; margin-top:18px; }

  .gterm-heb{ font-size:var(--fs-display); color:var(--ink); direction:rtl; text-align:right; margin-top:4px; }
  .gterm-translit{ font-family:var(--font-main); font-size:var(--fs-base); font-weight:600; color:var(--text-mid); margin-top:10px; }
  .gterm-pt{ font-family:var(--font-serif); font-size:var(--fs-4xl); font-weight:600; color:var(--ink); margin-top:2px; line-height:1.2; }
   .gterm-stub{ font-style:italic; opacity:.85; }
  .gterm-body{ font-size:var(--fs-lg); color:var(--ink-2); line-height:1.6; margin-top:18px; }
  .gterm-sources{ font-family:var(--font-main); font-size:var(--fs-xs); color:var(--text-dim); margin-top:22px; }
  .gterm-source-chip{ display:inline-block; background:var(--seg-bg); border-radius:8px; padding:4px 10px; margin:4px 6px 0 0; font-size:var(--fs-xs); color:var(--text-mid); }
  #glossTermCard{ z-index:15; }

  .trecho-cv{ display:flex; align-items:center; gap:6px; }
  .trecho-cap, .trecho-vers{ flex:1; min-width:0; text-align:center; padding:12px 8px; }
  .trecho-colon{ color:var(--text-dim); font-size:var(--fs-2xl); flex-shrink:0; }

/* ===== extensões v3 ===== */
  :root{color-scheme:only light}
  .gterm-texto{margin-top:14px;font-size:.95rem;line-height:1.62;text-align:left}
  .gterm-texto p{margin:0 0 12px}
  .gterm-texto .gterm-subhead{font-family:var(--font-main);font-weight:700;font-size:1rem;color:var(--ink);margin:18px 0 6px}
  .gterm-texto .gterm-list{margin:6px 0 12px;padding-left:20px}
  .gterm-texto .gterm-list li{margin:5px 0;line-height:1.55}
  .gterm-conn{margin-top:20px;padding-top:14px;border-top:1px solid rgba(128,128,128,.25);text-align:left}
  .gterm-conn-title{font-weight:700;font-size:17px;margin-bottom:8px}
  .gterm-conn-group{margin:10px 0}
  .gterm-conn-sub{font-size:15px;font-weight:600;opacity:.85;margin-bottom:6px}
  .gterm-conn-shoresh{font-size:1rem}
  .gterm-conn-item{margin:4px 0;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
  .gterm-conn-rotulo{font-size:14px;opacity:.78;line-height:1.4;flex:1;min-width:180px}
  .gterm-raiz-sem{font-size:14px;opacity:.9;margin:3px 0 7px;line-height:1.45}
  .gterm-etim-item{margin-top:16px}
  .gterm-etim>.gterm-etim-item:first-child{margin-top:2px}
  .gterm-conn-title+.gterm-etim-item{margin-top:8px}
  .gterm-etim-item>.gterm-raiz-sem{margin:0}
  .gterm-etim-sh{font-weight:600}
  .gterm-etim-comoem{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
  .gterm-etim-comoem-lbl{color:var(--text-dim);font-size:14px}
  .gterm-etim-deb{font-size:14px;opacity:.78;font-style:italic;margin:6px 0 2px}
  .gterm-acc{border-top:1px solid var(--line)}
  .gterm-acc>summary.gterm-acc-head{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;font-weight:400;font-size:var(--fs-lg);color:var(--ink)}
  .gterm-acc>summary.gterm-acc-head::-webkit-details-marker{display:none}
  .gterm-acc-ico{flex:none;font-weight:400;font-size:1.5em;line-height:1;color:var(--text-dim)}
  .gterm-acc-ico::before{content:'+'}
  .gterm-acc[open] .gterm-acc-ico::before{content:'−'}
  .gterm-acc-body{padding-bottom:14px}
  .gterm-acc-body>.gterm-conn,.gterm-acc-body>.gterm-sources{margin-top:0;padding-top:0;border-top:none}
  .gterm-conn-nota{font-size:14px;opacity:.78;font-style:italic;margin:2px 0 6px}
  .conn-chip{cursor:pointer}
  .gterm-sources-label{margin-right:6px}
  .chip-plain{opacity:.55;cursor:default}
  .trilha-anc{display:block;font-size:.78rem;opacity:.6;margin-top:2px}\n  .gterm-trilha-num{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:50%;background:rgba(128,128,128,.18);font-size:.72rem;font-weight:700;flex:none}
  .gterm-trilha-titulo{font-weight:700;font-size:1.15rem}
  .gterm-trilha-grupo{font-size:15px;font-weight:700;opacity:.9;margin:16px 0 6px;padding-bottom:4px;border-bottom:1px solid rgba(128,128,128,.2)}
  .gterm-trilha-grupo:first-of-type{margin-top:6px}
  .gterm-ref-inline{font-size:1em;font-weight:400;opacity:.75;margin-top:12px}
  .descubra-title{font-weight:400}
  .detail-topbar{display:flex;align-items:center;justify-content:space-between}
  .detail-lupa{margin:6px -8px 18px;padding:10px 8px;cursor:pointer;color:var(--ink);display:flex;align-items:center}
  .gterm-source-chip{font-size:14px}

/* ===== site de várias páginas: cabeçalho, rodapé e páginas de conteúdo ===== */
.site-header{ width:100%; max-width:640px; display:flex; align-items:center; gap:12px; padding:0 20px 10px; box-sizing:border-box; }
.site-brand{ display:flex; align-items:center; gap:8px; text-decoration:none; color:var(--ink); font-family:var(--font-serif); font-weight:600; font-size:var(--fs-xl); flex:none; }
.site-brand img{ width:28px; height:28px; border-radius:7px; }
.site-search{ flex:1; display:flex; align-items:center; background:var(--seg-bg); border-radius:12px; padding:0 6px 0 12px; min-width:0; }
.site-search input{ flex:1; min-width:0; border:none; background:none; font-family:var(--font-main); font-size:var(--fs-sm); color:var(--text); padding:9px 0; outline:none; }
.site-search input::-webkit-search-decoration{ -webkit-appearance:none; }
.site-search button{ border:none; background:none; color:var(--text-dim); padding:6px; display:flex; cursor:pointer; }
body[data-start-page="page-descubra"] .site-search{ display:none; }
.site-footer{ width:100%; max-width:640px; padding:28px 20px 8px; box-sizing:border-box; font-family:var(--font-main); font-size:var(--fs-xs); color:var(--text-dim); text-align:center; line-height:1.7; }
.site-footer a{ color:var(--text-mid); text-decoration:none; font-weight:600; }
.site-footer p{ margin:8px 0 0; }
a.nav-btn{ text-decoration:none; }
/* Nas páginas de conteúdo o card não flutua: é o corpo da página. */
body.is-detail-page .detail-card{ position:static; inset:auto; max-width:640px; width:100%; padding:8px 20px 24px; overflow:visible; }
body.is-detail-page .page{ display:none !important; }
body.is-detail-page #splash{ display:none !important; }
.indice-h2{ font-family:var(--font-main); font-size:var(--fs-xs); letter-spacing:.08em; text-transform:uppercase; color:var(--text-dim); margin:26px 0 8px; }
.indice-list{ list-style:none; margin:0; padding:0; }
.indice-list li{ border-bottom:1px solid var(--line); }
.indice-list a{ display:flex; justify-content:space-between; gap:12px; padding:10px 2px; text-decoration:none; color:var(--ink); font-family:var(--font-main); font-weight:600; font-size:var(--fs-md); }
.indice-pt{ color:var(--text-dim); font-weight:400; text-align:right; }
