/* KenAly · Horóscopo semanal (público). Usa las variables de marca.css; el tema oscuro ya viene de marca.css. */

.ho-page{--ho-oro-t:#7A5C26}
:root[data-theme="dark"] .ho-page{--ho-oro-t:#E2C487}

.ho-page [hidden]{display:none!important}

.ho-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.ho-semana{margin:.9rem 0 0;font-family:var(--serif-d);font-size:1.25rem;color:var(--ho-oro-t);letter-spacing:.02em}

.ho-clima-wrap{max-width:46rem}
.ho-clima{margin:.4rem 0 0;font-size:1.15rem;line-height:1.7;color:var(--ink-2);overflow-wrap:anywhere}
.ho-publicado{margin:.8rem 0 0;font-size:.9rem;color:var(--muted)}

/* Cielo de la semana: tarjeta en la columna derecha del hero (abajo en móvil) */
.ho-cielo{--ho-luz:#E4C986;--ho-sombra:#ECE4D4;position:relative;justify-self:start;width:100%;max-width:27rem;margin:0;padding:clamp(1.2rem,2.2vw,1.7rem);background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 1px 0 rgb(58 54 38 / 4%),0 30px 50px -36px rgb(58 54 38 / 40%)}
:root[data-theme="dark"] .ho-cielo{--ho-luz:#F1DFAE;--ho-sombra:#2A2740;box-shadow:0 30px 50px -36px rgb(0 0 0 / 70%)}
@media (min-width:900px){.ho-cielo{justify-self:end}}
.ho-cielo__eyebrow{margin:0;font-family:var(--serif-d);font-size:1.05rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.ho-cielo__cuerpo{display:flex;align-items:center;gap:clamp(1rem,2.4vw,1.5rem);margin-top:1rem}
.ho-cielo__luna{position:relative;flex:0 0 auto;width:clamp(6.5rem,8.6vw,8.2rem);aspect-ratio:1}
.ho-cielo__luna::before{content:"";position:absolute;inset:-16%;border-radius:50%;background:radial-gradient(closest-side,rgb(217 183 110 / 30%),transparent 72%);pointer-events:none}
.ho-luna{position:relative;display:block;width:100%;height:100%}
.ho-luna__sombra{fill:var(--ho-sombra);stroke:var(--line);stroke-width:.5}
.ho-luna__luz{fill:var(--ho-luz)}
.ho-cielo__fase{margin:0;font-family:var(--serif-d);font-size:1.6rem;line-height:1.1;color:var(--ink)}
.ho-cielo__ilum{margin:.3rem 0 0;font-size:.95rem;color:var(--muted)}
.ho-cielo__lista{margin:1.1rem 0 0;display:grid}
.ho-cielo__lista>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 0;border-top:1px solid var(--line)}
.ho-cielo__lista dt{margin:0;font-size:.92rem;color:var(--muted);flex:0 0 auto}
.ho-cielo__lista dd{margin:0;text-align:right;font-family:var(--serif-d);font-size:1.2rem;line-height:1.25;color:var(--ink);overflow-wrap:anywhere}

/* Selector de signo: chips en cuadrícula equilibrada (2, 4 o 6 por fila; nunca una fila huérfana) */
.ho-filtro-sec{padding-block:1.5rem}
.ho-filtro{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
@media (min-width:640px){.ho-filtro{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1024px){.ho-filtro{grid-template-columns:repeat(6,minmax(0,1fr))}}
.ho-filtro li{min-width:0}
.ho-filtro__btn{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;min-height:44px;margin:0;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-family:inherit;font-size:1rem;line-height:1.2;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.ho-filtro__btn:hover{border-color:var(--gold)}
.ho-filtro__btn[aria-pressed="true"]{background:var(--sage-2);border-color:var(--sage-2);color:var(--card)}
.ho-filtro__glifo{flex:0 0 auto;font-variant-emoji:text;font-size:1.1rem;line-height:1;color:var(--gold-text)}
.ho-filtro__btn[aria-pressed="true"] .ho-filtro__glifo{color:var(--card)}
.ho-filtro__txt{min-width:0;overflow-wrap:anywhere}
.ho-filtro__btn:focus-visible,.ho-card:focus-visible,.ho-detalle__cerrar:focus-visible{outline:2px solid var(--gold-text);outline-offset:3px}

/* Cuadrícula de signos: 2, 3 o 4 columnas (12 signos = filas completas en cada tamaño) y tarjetas de igual altura */
.ho-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.7rem,1.6vw,1rem);grid-auto-rows:1fr}
@media (min-width:640px){.ho-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.ho-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ho-grid__item{display:flex;min-width:0}
.ho-card{flex:1 1 auto;width:100%;min-width:0;display:flex;flex-direction:column;gap:.7rem;margin:0;padding:clamp(.9rem,1.8vw,1.15rem);border:1px solid var(--line);border-radius:16px;background:var(--card);color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:0 1px 0 rgb(58 54 38 / 4%);transition:border-color .25s,box-shadow .25s}
.ho-card:hover{border-color:var(--gold)}
.ho-card[aria-pressed="true"]{border-color:var(--gold);box-shadow:0 0 0 3px rgb(176 140 78 / 22%)}
:root[data-theme="dark"] .ho-card[aria-pressed="true"]{box-shadow:0 0 0 3px rgb(217 183 110 / 22%)}
.ho-card__top{display:flex;align-items:center;gap:.5rem;min-width:0}
@media (min-width:640px){.ho-card__top{gap:.7rem}}
.ho-card__glifo{flex:0 0 auto;display:grid;place-items:center;width:1.9rem;height:1.9rem;border:1px solid var(--gold);border-radius:50%;font-size:1.05rem;line-height:1;font-variant-emoji:text;color:var(--gold-text)}
@media (min-width:640px){.ho-card__glifo{width:2.2rem;height:2.2rem;font-size:1.2rem}}
.ho-card__tit{display:block;min-width:0}
.ho-card__nombre{display:block;font-family:var(--serif-d);font-size:1.15rem;line-height:1.1;color:var(--ink);overflow-wrap:anywhere}
@media (min-width:640px){.ho-card__nombre{font-size:1.3rem}}
.ho-card__fechas{display:block;margin-top:.2rem;font-size:.8rem;line-height:1.3;color:var(--muted);overflow-wrap:anywhere}
.ho-card__texto{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.95rem;line-height:1.55;color:var(--ink-2);overflow-wrap:anywhere}

/* Panel de detalle: único, fijo bajo los chips y sobre la cuadrícula */
.ho-detalle{margin-top:1.25rem;padding:clamp(1.2rem,2.6vw,2rem);background:var(--card);border:1px solid var(--gold);border-radius:22px;box-shadow:0 1px 0 rgb(58 54 38 / 4%),0 30px 50px -36px rgb(58 54 38 / 40%)}
:root[data-theme="dark"] .ho-detalle{box-shadow:0 30px 50px -36px rgb(0 0 0 / 70%)}
.ho-detalle:not([hidden]){animation:ho-entra .3s ease both}
@keyframes ho-entra{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ho-detalle__in{transition:opacity .16s ease}
.ho-detalle__in.is-out{opacity:0}
.ho-detalle__cab{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.2rem}
.ho-detalle__id{display:flex;align-items:center;gap:.9rem;flex:1 1 15rem;min-width:0}
.ho-detalle__glifo{flex:0 0 auto;display:grid;place-items:center;width:3.25rem;height:3.25rem;border:1px solid var(--gold);border-radius:50%;font-size:1.7rem;line-height:1;font-variant-emoji:text;color:var(--gold-text)}
.ho-detalle__tit{min-width:0}
.ho-detalle__nombre{margin:0;font-family:var(--serif-d);font-size:clamp(1.9rem,3.2vw,2.3rem);font-weight:500;line-height:1.05;color:var(--ink);overflow-wrap:anywhere}
.ho-detalle__fechas{margin:.25rem 0 0;font-size:.95rem;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}
.ho-detalle__pills{list-style:none;margin:0 0 0 auto;padding:0;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}
.ho-detalle__pills li{display:inline-flex;align-items:baseline;gap:.4rem;max-width:100%;padding:.32rem .8rem;border:1px solid var(--line);border-radius:999px;font-size:.95rem;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}
.ho-detalle__etq{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ho-detalle__cerrar{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:border-color .2s}
.ho-detalle__cerrar:hover{border-color:var(--gold)}
.ho-detalle__cerrar svg{width:1rem;height:1rem}
.ho-detalle__cuerpo{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
@media (min-width:900px){.ho-detalle__cuerpo{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,4vw,3.5rem);align-items:start}}
.ho-detalle__col{min-width:0}
.ho-detalle__h{margin:0;font-family:var(--serif-d);font-size:1.3rem;font-weight:500;line-height:1.2;color:var(--ho-oro-t)}
.ho-detalle__texto,.ho-detalle__esencia{max-width:70ch;margin:.7rem 0 0;font-size:1.05rem;line-height:1.7;color:var(--ink-2);overflow-wrap:anywhere}
.ho-detalle__sub{margin:1.3rem 0 0;font-size:.78rem;font-weight:600;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ho-detalle__enfoques{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.ho-detalle__enfoques li{max-width:100%;padding:.3rem .8rem;border:1px solid var(--line);border-radius:999px;font-size:.95rem;line-height:1.35;color:var(--ink-2);overflow-wrap:anywhere}

@media (prefers-reduced-motion:reduce){.ho-card,.ho-filtro__btn,.ho-detalle__in,.ho-detalle__cerrar{transition:none}.ho-detalle:not([hidden]){animation:none}}

.ho-vacio{padding-block:clamp(3rem,8vw,5rem)}
.ho-vacio__txt{margin:0;text-align:center;font-family:var(--serif-d);font-size:1.5rem;line-height:1.3;color:var(--ink)}


/* Hasta 899 px: cerrar arriba a la derecha; pastillas alineadas a la izquierda y en una línea de ajuste limpio */
@media (max-width:899px){
  .ho-detalle{position:relative}
  .ho-detalle__cab{display:block}
  .ho-detalle__id{padding-right:3rem}
  .ho-detalle__cerrar{position:absolute;top:clamp(1rem,2.6vw,2rem);right:clamp(1rem,2.6vw,2rem)}
  .ho-detalle__pills{margin:1rem 0 0;justify-content:flex-start}
}
