/* ═══════════════════════════════════════════════════════════════════════
   LANDING EDITORIAL — reseñas propias (Bloque 1, 2026-09-28)

   Va después de editorial.css y editorial-ajustes.css. Todo con los tokens
   `--ed-*`, que el renderizador enlaza con la paleta del tenant
   (`landingPalette`: --andrea-*, --i21-*…): ningún color propio.
   ═══════════════════════════════════════════════════════════════════════ */
.led-rv{max-width:880px}
.led-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Estrellas: llenas con el acento del tenant, vacías con su línea. */
.led-rv-stars{display:inline-flex;gap:2px;vertical-align:middle}
.led-rv-star{fill:color-mix(in srgb,var(--ed-muted) 30%,transparent)}
.led-rv-star.is-on{fill:var(--ed-gold-deep)}

/* Promedio */
.led-rv-sum{margin:28px 0 8px}
.led-rv-avg{display:inline-flex;align-items:center;gap:16px}
.led-rv-avg-n{font-family:var(--ed-display);font-size:clamp(40px,6vw,56px);line-height:1}
.led-rv-avg-s{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}

/* Tarjetas */
.led-rv-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:var(--ed-gap);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));text-align:left}
.led-rv-card{border:1px solid var(--ed-line);border-radius:12px;padding:20px 22px;
  background:color-mix(in srgb,var(--ed-ivory) 70%,#fff)}
.led-rv-card-h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.led-rv-date{font-size:13px;color:var(--ed-muted)}
.led-rv-text{margin:12px 0 10px;white-space:pre-line;overflow-wrap:anywhere}
.led-rv-author{margin:0;font-weight:600}

/* Formulario */
.led-rv-form{margin:48px auto 0;text-align:left;border:1px solid var(--ed-line);border-radius:14px;
  padding:clamp(20px,4vw,36px);background:color-mix(in srgb,var(--ed-ivory) 60%,#fff)}
.led-rv-form .led-h3{margin:0 0 18px}
.led-rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.led-rv-full{grid-column:1 / -1}
.led-rv-f{display:flex;flex-direction:column;gap:6px;min-width:0;border:0;padding:0;margin:0}
.led-rv-f label,.led-rv-f legend{font-weight:600;font-size:15px}
.led-rv-f input,.led-rv-f textarea{font:inherit;color:inherit;min-height:48px;padding:10px 14px;border-radius:8px;
  border:1px solid color-mix(in srgb,var(--ed-ink) 35%,transparent);background:#fff;width:100%}
.led-rv-f textarea{min-height:120px;resize:vertical}
.led-rv-f [aria-invalid="true"]{border-color:#B3261E;box-shadow:0 0 0 1px #B3261E}
.led-rv-help{margin:0;font-size:13px;color:var(--ed-muted)}

/* Las estrellas del formulario: radios reales, en orden inverso para que el
   hover y la selección «llenen hacia la izquierda» solo con CSS. */
.led-rv-radios{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.led-rv-radios input{position:absolute;opacity:0;width:1px;height:1px}
.led-rv-radios label{cursor:pointer;padding:6px;border-radius:8px;line-height:0}
.led-rv-radios label .led-rv-star{fill:color-mix(in srgb,var(--ed-muted) 30%,transparent);transition:fill .15s ease}
.led-rv-radios input:checked~label .led-rv-star,
.led-rv-radios label:hover .led-rv-star,.led-rv-radios label:hover~label .led-rv-star{fill:var(--ed-gold-deep)}
.led-rv-radios input:focus-visible+label{outline:2px solid var(--ed-gold-deep);outline-offset:2px}

.led-rv-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5}
.led-rv-consent input{width:22px;height:22px;margin-top:1px;flex:0 0 auto;accent-color:var(--ed-gold-deep)}
.led-rv-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.led-rv-msg{margin:16px 0 0;color:#B3261E;font-weight:600}
.led-rv-form .led-actions{margin-top:20px}
.led-rv-ok{margin:48px auto 0;padding:24px;border-radius:14px;border:1px solid var(--ed-line);
  background:color-mix(in srgb,var(--ed-gold) 12%,var(--ed-ivory));font-weight:600;font-size:17px}
.led-rv-ok p{margin:0}
.led-rv-ext{margin-top:36px}

@media (max-width:640px){
  .led-rv-grid{grid-template-columns:1fr}
  .led-rv-avg{gap:12px}
}

/* ── Modo oscuro ─────────────────────────────────────────────────────── */
:root[data-theme="dark"] .led-rv-card,:root[data-theme="dark"] .led-rv-form{background:var(--ed-dark);border-color:color-mix(in srgb,var(--ed-gold) 45%,transparent)}
:root[data-theme="dark"] .led-rv-f input,:root[data-theme="dark"] .led-rv-f textarea{background:var(--ed-dark-2);color:var(--ed-cream);
  border-color:color-mix(in srgb,var(--ed-gold) 45%,transparent)}
:root[data-theme="dark"] .led-rv-star.is-on,:root[data-theme="dark"] .led-rv-radios input:checked~label .led-rv-star,
:root[data-theme="dark"] .led-rv-radios label:hover .led-rv-star,:root[data-theme="dark"] .led-rv-radios label:hover~label .led-rv-star{fill:var(--ed-gold)}
:root[data-theme="dark"] .led-rv-star,:root[data-theme="dark"] .led-rv-radios label .led-rv-star{fill:color-mix(in srgb,var(--ed-cream) 22%,transparent)}
:root[data-theme="dark"] .led-rv-date,:root[data-theme="dark"] .led-rv-help{color:var(--ed-muted-dark)}
:root[data-theme="dark"] .led-rv-msg,:root[data-theme="dark"] .led-rv-f [aria-invalid="true"]{color:#F2B8B5;border-color:#F2B8B5}
:root[data-theme="dark"] .led-rv-ok{background:var(--ed-dark);color:var(--ed-cream)}
@media (prefers-reduced-motion:reduce){.led-rv-radios label .led-rv-star{transition:none}}

/* «Dejar reseña» abre el formulario (reseñas sin contacto, 2026-10-05). */
.led-rv-abrir{text-align:center}
.led-rv-abrir>summary{list-style:none;display:inline-flex;cursor:pointer}
.led-rv-abrir>summary::-webkit-details-marker{display:none}
.led-rv-abrir[open]>summary{margin-bottom:18px}
.led-rv-abrir .led-rv-form{text-align:left}
