/* ═══════════════════════════════════════════════════════════════
   Astral Livre · A Leitura do Alcione — o visual (v1.37)
   O CSS da Leitura saiu de gerar-mapa-astral.html junto com o
   leitura-alcione.js: o Portal da Astrologia usa os dois.
   ═══════════════════════════════════════════════════════════════ */
.lt-regente { font-size: 1rem; color: rgb(var(--tinta, 255 255 255) / calc(0.88 * var(--realce, 1))); line-height: 1.8; padding-bottom: 1.1rem; margin-bottom: 1.1rem; border-bottom: 1px solid rgb(var(--tinta, 255 255 255) / 0.08); }
.lt-regente strong { color: var(--gold-100); }
.lt-barras { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-bottom: 1.1rem; }
@media (max-width: 620px) { .lt-barras { grid-template-columns: 1fr; } }
.lt-bloco h4 { font-size: 0.66rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(var(--tinta, 255 255 255) / calc(0.45 * var(--realce, 1))); margin-bottom: 0.6rem; }
.lt-barra { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.35rem; font-size: 0.82rem; }
.lt-barra .rot { min-width: 66px; color: rgb(var(--tinta, 255 255 255) / calc(0.75 * var(--realce, 1))); }
.lt-barra .trilho { flex: 1; height: 7px; border-radius: 999px; background: rgb(var(--tinta, 255 255 255) / 0.07); overflow: hidden; }
.lt-barra .trilho i { display: block; height: 100%; border-radius: 999px; }
.lt-barra .num { min-width: 26px; text-align: right; color: rgb(var(--tinta, 255 255 255) / calc(0.4 * var(--realce, 1))); font-size: 0.76rem; }
.lt-clima { font-size: 0.86rem; color: rgb(var(--tinta, 255 255 255) / calc(0.7 * var(--realce, 1))); line-height: 1.75; padding-top: 0.9rem; border-top: 1px solid rgb(var(--tinta, 255 255 255) / 0.08); }
.lt-casas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)); gap: 0.7rem; margin-top: 1.1rem; }
.lt-casa { border-radius: 14px; padding: 0.8rem 0.9rem; background: rgb(var(--tinta, 255 255 255) / 0.03); border: 1px solid rgb(var(--tinta, 255 255 255) / 0.07); }
.lt-casa.cheia { border-color: rgba(212,175,55,0.35); background: rgba(212,175,55,0.05); }
.lt-casa .nm { font-size: 0.82rem; color: rgb(var(--tinta, 255 255 255)); font-weight: 500; }
.lt-casa .ar { font-size: 0.72rem; color: rgb(var(--tinta, 255 255 255) / calc(0.45 * var(--realce, 1))); margin: 0.15rem 0 0.4rem; line-height: 1.5; }
.lt-casa .sg { font-size: 0.78rem; color: var(--gold-100); }
.lt-casa .mor { font-size: 0.8rem; color: rgb(var(--tinta, 255 255 255) / calc(0.8 * var(--realce, 1))); margin-top: 0.35rem; }
/* ── A apostila na Leitura (v1.30) ── */
.lt-casa .ex { font-family: "Cormorant Garamond", serif; font-size: 1rem; color: var(--lilas, #c9b8ff); margin: 0.1rem 0 0.2rem; }
.lt-casa .rg { font-size: 0.74rem; color: rgb(var(--tinta, 255 255 255) / calc(0.7 * var(--realce, 1))); line-height: 1.55; margin-top: 0.45rem;
  padding-top: 0.4rem; border-top: 1px solid rgb(var(--tinta, 255 255 255) / 0.07); }
.lt-casa .rg b { color: var(--gold-100); font-weight: 600; }
.lt-casa .vz { font-size: 0.7rem; color: rgb(var(--tinta, 255 255 255) / calc(0.45 * var(--realce, 1))); font-style: italic; margin-top: 0.3rem; }
.lt-mais { margin-top: 1.1rem; border-top: 1px solid rgb(var(--tinta, 255 255 255) / 0.08); padding-top: 0.9rem; }
.lt-mais > summary { cursor: pointer; list-style: none; font-family: "Cormorant Garamond", serif; font-size: 1.2rem;
  color: var(--gold-100); display: flex; align-items: baseline; gap: 0.5rem; flex-wrap: wrap; }
.lt-mais > summary::-webkit-details-marker { display: none; }
.lt-mais > summary::before { content: "▸"; font-size: 0.85rem; transition: transform 200ms ease; }
.lt-mais[open] > summary::before { transform: rotate(90deg); }
.lt-mais > summary small { font-family: Inter, sans-serif; font-size: 0.72rem; color: rgb(var(--tinta, 255 255 255) / calc(0.45 * var(--realce, 1))); }
.lt-mais-nota { font-size: 0.76rem; color: rgb(var(--tinta, 255 255 255) / calc(0.5 * var(--realce, 1))); line-height: 1.6; margin: 0.6rem 0 0.8rem; }
.lt-astros { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 0.7rem; }
.lt-astro { border-radius: 14px; padding: 0.85rem 0.95rem; background: rgb(var(--tinta, 255 255 255) / 0.03); border: 1px solid rgb(var(--tinta, 255 255 255) / 0.07); }
.lt-astro .tp { font-size: 1rem; color: rgb(var(--tinta, 255 255 255)); }
.lt-astro .tp .g { color: var(--gold-100); margin-right: 0.25rem; }
.lt-astro .ch { display: block; font-size: 0.72rem; color: var(--lilas, #c9b8ff); margin: 0.1rem 0 0.4rem; }
.lt-apo { font-size: 0.8rem; color: rgb(var(--tinta, 255 255 255) / calc(0.78 * var(--realce, 1))); line-height: 1.6; margin-top: 0.45rem; }
.lt-apo > b { color: var(--gold-100); font-weight: 600; }
.lt-apo strong { color: rgb(var(--tinta, 255 255 255)); font-weight: 600; }
.lt-apo .pt { margin-top: 0.2rem; }
.lt-apo .pt b { color: var(--lilas, #c9b8ff); font-weight: 600; }
.lt-apo .td { color: rgb(var(--tinta, 255 255 255) / calc(0.5 * var(--realce, 1))); font-size: 0.74rem; margin-top: 0.2rem; }
.lt-apo .es { color: var(--verde, #8fe8b0); }
.lt-apo .es.fraco { color: var(--erro, #ff9d9d); }
.lt-asps { display: flex; flex-direction: column; gap: 0.55rem; }
.lt-asp { font-size: 0.8rem; color: rgb(var(--tinta, 255 255 255) / calc(0.78 * var(--realce, 1))); line-height: 1.6; padding: 0.55rem 0.75rem; border-radius: 12px;
  background: rgb(var(--tinta, 255 255 255) / 0.025); border: 1px solid rgb(var(--tinta, 255 255 255) / 0.06); }
.lt-asp .tt { color: rgb(var(--tinta, 255 255 255)); font-weight: 600; }
.lt-asp .tt em { font-style: normal; color: rgb(var(--tinta, 255 255 255) / calc(0.4 * var(--realce, 1))); font-weight: 400; font-size: 0.74rem; margin-left: 0.3rem; }
.lt-asp-sub { font-family: "Cormorant Garamond", serif; font-size: 1.05rem; color: var(--gold-100); margin: 0.8rem 0 0.2rem; }
.lt-cfg { border-radius: 14px; padding: 0.85rem 0.95rem; margin-bottom: 0.6rem;
  background: rgba(138,111,212,0.08); border: 1px solid rgba(138,111,212,0.3); }
.lt-cfg .tt { font-size: 0.95rem; color: rgb(var(--tinta, 255 255 255)); font-weight: 600; }
.lt-cfg .qm { font-size: 0.8rem; color: var(--lilas, #c9b8ff); margin-top: 0.15rem; }
.lt-fonte { font-size: 0.66rem; color: rgb(var(--tinta, 255 255 255) / calc(0.35 * var(--realce, 1))); text-align: right; margin-top: 0.6rem; }
/* A tradução de cada grande configuração no mapa da pessoa (v1.32, Plus) */
.lt-trad { margin: 0.55rem 0 0.2rem; padding: 0.7rem 0.9rem; border-radius: 12px; border: 1px solid rgba(212,175,55,0.28);
  background: linear-gradient(135deg, rgba(212,175,55,0.07), rgba(124,92,255,0.06)); font-size: 0.84rem; line-height: 1.65; color: rgb(var(--tinta, 255 255 255) / calc(0.86 * var(--realce, 1))); }
.lt-trad .tt2 { font-family: var(--font-display, serif); color: var(--gold-100, #f3dc8a); font-size: 0.95rem; margin-bottom: 0.3rem; }
.lt-trad p { margin: 0 0 0.45rem; }
.lt-trad b { color: rgb(var(--tinta, 255 255 255)); }
.lt-trad .nt { font-size: 0.7rem; color: rgb(var(--tinta, 255 255 255) / calc(0.42 * var(--realce, 1))); font-style: italic; margin-top: 0.2rem; }
/* Quando a figura se acende: os próximos 12 meses (v1.33, Plus) */
.lt-ativ { margin: 0.6rem 0 0.3rem; padding-top: 0.55rem; border-top: 1px dashed rgba(212,175,55,0.25); }
.lt-ativ .tt3 { font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold-100, #f3dc8a); margin-bottom: 0.3rem; }
.lt-ativ ul { margin: 0 0 0.35rem; padding-left: 1.1rem; }
.lt-ativ li { margin: 0.12rem 0; }
/* A síntese do mapa, no topo da Leitura (v1.33, Plus) */
.lt-sintese { margin: 0 0 1.1rem; padding: 0.95rem 1.1rem; border-radius: 14px; border: 1px solid rgba(212,175,55,0.35);
  background: linear-gradient(135deg, rgba(212,175,55,0.1), rgba(124,92,255,0.08)); font-size: 0.88rem; line-height: 1.7; color: rgb(var(--tinta, 255 255 255) / calc(0.88 * var(--realce, 1))); }
.lt-sintese .tt2 { font-family: var(--font-display, serif); color: var(--gold-100, #f3dc8a); font-size: 1.15rem; margin-bottom: 0.45rem; }
.lt-sintese p { margin: 0 0 0.5rem; }
.lt-sintese b { color: rgb(var(--tinta, 255 255 255)); }
.lt-sint-acoes { display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; margin-top: 0.7rem; }
.lt-sint-acoes .nt { font-size: 0.7rem; color: rgb(var(--tinta, 255 255 255) / calc(0.45 * var(--realce, 1))); }
/* ── A leitura da sinastria (v1.34, Plus) ── */
.sin-leitura { margin: 1.2rem 0; padding: 1.1rem 1.3rem; font-size: 0.86rem; line-height: 1.65; color: rgb(var(--tinta, 255 255 255) / calc(0.86 * var(--realce, 1))); }
.sin-leitura .tt2 { font-family: var(--font-display, serif); color: var(--gold-100, #f3dc8a); font-size: 1.2rem; margin-bottom: 0.3rem; }
.sin-leitura h5 { font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-100); margin: 1rem 0 0.35rem; font-family: inherit; }
.sin-leitura p { margin: 0 0 0.45rem; }
.sin-leitura ul { padding-left: 1.1rem; margin: 0.2rem 0 0.4rem; }
.sin-leitura li { margin: 0.2rem 0; }
.sin-leitura b { color: rgb(var(--tinta, 255 255 255)); }
.sin-leitura .nt { font-size: 0.74rem; color: rgb(var(--tinta, 255 255 255) / calc(0.5 * var(--realce, 1))); font-style: italic; }
.sin-leitura .orb { font-size: 0.72rem; color: rgb(var(--tinta, 255 255 255) / calc(0.45 * var(--realce, 1))); }
.sin-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.4rem; }
.sin-cols .quem { font-size: 0.78rem; color: var(--link, #7fd4ff); margin-top: 0.3rem; }
@media (max-width: 700px) { .sin-cols { grid-template-columns: 1fr; } }
/* O convite ao Plus, onde o texto completo ficaria */
.lt-plus { font-size: 0.8rem; color: var(--lilas, #c9b8ff); line-height: 1.6; margin: 0.4rem 0 0.8rem; padding: 0.55rem 0.8rem; border-radius: 12px;
  background: rgba(138,111,212,0.1); border: 1px solid rgba(138,111,212,0.35); }
.lt-plus a { color: var(--gold-100); font-weight: 600; }

/* ── A leitura da Revolução Solar (v1.37, Plus) — no molde da sinastria ── */
.rs-leitura .lt-cfg { margin-top: 0.5rem; }

/* ── A linha da vida (v1.37) ── */
.cv-intro { font-size: 0.86rem; color: rgb(var(--tinta, 255 255 255) / calc(0.72 * var(--realce, 1))); line-height: 1.7; margin: 0 0 0.8rem; }
.cv-intro b { color: rgb(var(--tinta, 255 255 255)); }
.cv-filtro { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 1rem; }
.cv-filtro button { font-family: inherit; font-size: 0.76rem; padding: 0.35rem 0.85rem; border-radius: 999px; cursor: pointer;
  background: rgb(var(--tinta, 255 255 255) / 0.04); border: 1px solid rgba(212,175,55,0.3); color: rgb(var(--tinta, 255 255 255) / calc(0.7 * var(--realce, 1))); }
.cv-filtro button.on { background: rgba(212,175,55,0.16); color: var(--gold-100); border-color: rgba(212,175,55,0.6); }
.cv-lista { list-style: none; margin: 0; padding: 0 0 0 0.4rem; position: relative; }
.cv-lista::before { content: ""; position: absolute; left: 4.4rem; top: 0.4rem; bottom: 0.4rem; width: 1px; background: linear-gradient(rgba(212,175,55,0.1), rgba(212,175,55,0.45), rgba(127,212,255,0.3)); }
.cv-item { display: grid; grid-template-columns: 4rem 1fr; gap: 1.1rem; padding: 0.55rem 0; position: relative; }
.cv-item::before { content: ""; position: absolute; left: calc(4.4rem - 4px); top: 0.95rem; width: 9px; height: 9px; border-radius: 50%;
  background: var(--superficie-cor, #0a0d26); border: 2px solid rgba(212,175,55,0.7); }
.cv-idade { font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; text-align: right; padding-right: 0.3rem; font-family: "Cormorant Garamond", serif; font-size: 1.35rem; color: var(--gold-100); line-height: 1.1; }
.cv-idade small { display: block; font-family: Inter, sans-serif; font-size: 0.6rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(var(--tinta, 255 255 255) / calc(0.4 * var(--realce, 1))); }
.cv-tit { font-size: 0.95rem; color: rgb(var(--tinta, 255 255 255)); font-weight: 600; }
.cv-tit .g { color: var(--gold-100); margin-right: 0.15rem; }
.cv-quando { font-size: 0.74rem; color: var(--link, #7fd4ff); margin: 0.15rem 0 0.25rem; }
.cv-quando em { font-style: normal; color: rgb(var(--tinta, 255 255 255) / calc(0.4 * var(--realce, 1))); }
.cv-corpo p { font-size: 0.82rem; color: rgb(var(--tinta, 255 255 255) / calc(0.7 * var(--realce, 1))); line-height: 1.65; margin: 0; }
.cv-selo { display: inline-block; font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600;
  padding: 0.12rem 0.5rem; border-radius: 999px; margin-left: 0.3rem; vertical-align: middle; }
.cv-item.agora .cv-selo { color: #0a0d26; background: var(--gold-50, #FFE680); }
.cv-item.proximo .cv-selo { color: var(--link, #7fd4ff); border: 1px solid rgba(127,212,255,0.5); }
.cv-item.passado { opacity: 0.5; }
.cv-item.passado::before { background: rgba(212,175,55,0.5); }
.cv-item.agora::before { background: var(--gold-50, #FFE680); border-color: var(--gold-50, #FFE680); box-shadow: 0 0 12px rgba(255,230,128,0.8); }
.cv-item.proximo::before { border-color: var(--link, #7fd4ff); }
.cv-hoje { position: relative; margin: 0.4rem 0; padding-left: 5.1rem; }
.cv-hoje span { display: inline-block; font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; color: #0a0d26;
  background: var(--link, #7fd4ff); padding: 0.15rem 0.6rem; border-radius: 999px; font-weight: 600; }
.cv-acoes { display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; margin: 1rem 0 0.4rem; }
.cv-acoes .nt, .cv-carregando + .nt { font-size: 0.7rem; color: rgb(var(--tinta, 255 255 255) / calc(0.42 * var(--realce, 1))); max-width: 520px; line-height: 1.5; }
#gma-ciclos > .nt, #gma-ano > .nt, .cv-caixa > .nt { font-size: 0.72rem; color: rgb(var(--tinta, 255 255 255) / calc(0.42 * var(--realce, 1))); font-style: italic; }
.cv-carregando { font-size: 0.82rem; color: rgb(var(--tinta, 255 255 255) / calc(0.55 * var(--realce, 1))); padding: 0.4rem 0; }
.cv-barra { height: 5px; border-radius: 999px; background: rgb(var(--tinta, 255 255 255) / 0.07); overflow: hidden; margin-top: 0.5rem; max-width: 340px; }
.cv-barra i { display: block; height: 100%; background: linear-gradient(90deg, #d4af37, var(--link, #7fd4ff)); transition: width 200ms ease; }
@media (max-width: 520px) {
  .cv-item { grid-template-columns: 2.8rem 1fr; gap: 0.95rem; }
  .cv-lista::before { left: 3.2rem; }
  .cv-item::before { left: calc(3.2rem - 4px); }
  .cv-idade { font-size: 1.15rem; padding-right: 0.2rem; }
  .cv-hoje { padding-left: 3.75rem; }
}

/* ── O ano no céu (v1.37, Plus) ── */
.an-mes { margin-top: 0.9rem; }
.an-mes-tit { font-family: "Cormorant Garamond", serif; font-size: 1.15rem; color: var(--gold-100); padding-bottom: 0.3rem;
  border-bottom: 1px solid rgba(212,175,55,0.2); margin-bottom: 0.45rem; }
.an-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.an-lista li { display: grid; grid-template-columns: 4.2rem 1.4rem 1fr; gap: 0.45rem; align-items: start; }
.an-dia { font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--link, #7fd4ff); padding-top: 0.18rem; }
.an-ico { font-size: 1rem; line-height: 1.35; text-align: center; color: var(--gold-50, #FFE680); }
.an-tit { font-size: 0.88rem; color: rgb(var(--tinta, 255 255 255)); line-height: 1.4; }
.an-txt { font-size: 0.78rem; color: rgb(var(--tinta, 255 255 255) / calc(0.62 * var(--realce, 1))); line-height: 1.55; margin-top: 0.1rem; }
@media (max-width: 520px) { .an-lista li { grid-template-columns: 3.6rem 1.2rem 1fr; } }

/* ── O mapa da relação (v1.41) ── */
.rel-roda { max-width: 460px; margin: 0.8rem auto 0.4rem; }
.rel-roda svg { width: 100% !important; height: auto !important; display: block; margin: 0 auto; }
.rel-astros { display: flex; flex-wrap: wrap; gap: 0.3rem 0.9rem; justify-content: center; font-size: 0.76rem; color: rgb(var(--tinta, 255 255 255) / calc(0.68 * var(--realce, 1))); margin: 0.2rem 0 0.6rem; }
.rel-astros b { color: var(--gold-100, #f3dc8a); font-weight: 600; }
.rel-leitura { border-top: 1px solid rgb(var(--tinta, 255 255 255) / 0.08); padding-top: 0.6rem; margin-top: 0.4rem; }

/* ── O mapa relocado (v1.42) ── */
.rel-casas { width: 100%; font-size: 0.82rem; margin: 0.3rem 0 0.6rem; }
.rel-casas tr.muda td { color: var(--gold-50, #FFE680); }

/* ── As cidades lado a lado (v1.43) ── */
.rel-tabela-rola { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0.4rem 0 0.2rem; }
.rel-compara { min-width: 440px; font-size: 0.8rem; }
.rel-compara th { white-space: nowrap; }
.rel-compara td.muda { color: var(--gold-50, #FFE680); }
.rel-tira { background: none; border: none; color: rgb(var(--tinta, 255 255 255) / calc(0.4 * var(--realce, 1))); cursor: pointer; font: inherit; padding: 0 0.15rem; }
.rel-tira:hover { color: var(--erro, #ff9d9d); }

/* ── A melhor cidade para cada tema (v1.44) ── */
.rel-temas { list-style: none; margin: 0.3rem 0 0.5rem; padding: 0; font-size: 0.84rem; line-height: 1.6; }
.rel-temas li { display: grid; grid-template-columns: 1.6rem 1fr; padding: 0.2rem 0; border-bottom: 1px solid rgb(var(--tinta, 255 255 255) / 0.05); }
.rel-temas li b { color: var(--gold-50, #FFE680); font-weight: 600; }
