/* ==========================================================
   «Lo que dicen de mí» y formulario de opinión · 20/10/2026
   Las opiniones llegan de /opinion/, Anet las aprueba por email
   y se pintan aquí desde opiniones.php?listar=1.
   ========================================================== */

.reviews{background:#fafaf7;position:relative}
.reviews .section-head{align-items:end}
.reviews-summary{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 34px;padding:18px 24px;background:#fff;border:1px solid #7d133a1f;border-radius:18px;width:fit-content}
.reviews-summary[hidden]{display:none}
.rs-media{font:400 46px/1 'DM Serif Display',Georgia,serif;color:#7d133a}
.rs-stars{font-size:20px;letter-spacing:2px;color:#7d133a}
.rs-total{font:800 11px/1.4 Raleway,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#191919}

.reviews-list{columns:3 300px;column-gap:24px}
.review{break-inside:avoid;margin:0 0 24px;background:#fff;border:1px solid #7d133a1a;border-radius:18px;padding:24px 24px 20px;box-shadow:0 10px 26px #7d133a0d;
  opacity:0;transform:translateY(24px);transition:opacity .4s cubic-bezier(.23,1,.32,1),transform .5s cubic-bezier(.23,1,.32,1)}
.review.in{opacity:1;transform:none}
.review-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.review-avatar{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:400 20px/1 'DM Serif Display',Georgia,serif;background:#a7d4e4;color:#7d133a}
.review:nth-child(3n+2) .review-avatar{background:#f5ecc2}
.review:nth-child(3n+3) .review-avatar{background:#7d133a;color:#f5ecc2}
.review-who b{display:block;font:800 14px/1.3 Raleway,sans-serif;color:#191919}
.review-who small{display:block;font-size:12px;line-height:1.35;color:#191919;opacity:.75}
.review-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.review-stars{color:#7d133a;letter-spacing:1.5px;font-size:15px}
.review-date{font-size:12px;opacity:.65}
.review blockquote{margin:0;font-size:15px;line-height:1.65;color:#191919;white-space:pre-line}
.review-tag{display:inline-block;margin-top:14px;font:800 9px/1.4 Raleway,sans-serif;letter-spacing:1.4px;text-transform:uppercase;background:#a7d4e466;color:#191919;padding:5px 10px;border-radius:30px}
.review.long blockquote{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.review.long.open blockquote{display:block}
.review-more{background:none;border:0;padding:6px 0 0;font:800 11px Raleway,sans-serif;letter-spacing:1px;color:#7d133a;cursor:pointer;text-transform:uppercase}

/* Sin opiniones todavía: invitación, nada inventado */
.reviews-empty{display:grid;grid-template-columns:auto 1fr;gap:20px 30px;align-items:center;background:#f5ecc2;border-radius:18px;padding:34px 38px;max-width:860px}
.reviews-empty[hidden]{display:none}
.reviews-empty .re-stars{font-size:38px;letter-spacing:4px;color:#7d133a;line-height:1}
.reviews-empty p{margin:0;font-size:16px}
.reviews-empty .hand{margin:6px 0 0;font-size:24px;color:#7d133a}

.reviews-cta{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center;margin-top:26px}
.reviews-cta .btn{margin:0}
.reviews-note{font-size:12px;opacity:.75;max-width:460px;margin:0}

@media(max-width:800px){
  .reviews-list{columns:1}
  .reviews-empty{grid-template-columns:1fr;padding:26px 24px}
  .reviews-empty .re-stars{font-size:30px}
}
@media(prefers-reduced-motion:reduce){.review{opacity:1;transform:none;transition:none}}

/* ---------- Página /opinion/ ---------- */
.review-form{max-width:720px;display:grid;gap:20px;margin-top:10px}
.review-form label,.review-form legend{display:block;font:800 11px/1.4 Raleway,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#191919;margin-bottom:8px}
.review-form label small{font-weight:500;letter-spacing:0;text-transform:none;opacity:.7}
.review-form input[type=text],.review-form input[type=email],.review-form select,.review-form textarea{width:100%;padding:14px 16px;border:1.5px solid #7d133a40;border-radius:12px;background:#fff;font:400 16px/1.5 Raleway,sans-serif;color:#191919}
.review-form textarea{min-height:150px;resize:vertical}
.review-form input:focus,.review-form select:focus,.review-form textarea:focus{outline:none;border-color:#7d133a;box-shadow:0 0 0 4px #a7d4e480}
.review-form [aria-invalid=true]{border-color:#c0392b}
.review-form .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.review-form fieldset{border:0;margin:0;padding:0}
.review-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.review-form .check{display:flex;gap:12px;align-items:flex-start;font:400 14px/1.5 Raleway,sans-serif;text-transform:none;letter-spacing:0}
.review-form .check input{margin-top:4px;width:18px;height:18px;accent-color:#7d133a;flex:none}
.review-form .count{display:block;text-align:right;font-size:12px;opacity:.65;margin-top:4px}
.review-form .btn{justify-self:start;cursor:pointer}
.rf-status{min-height:1.5em;font-size:15px}
.rf-status.is-error{color:#a3171f;font-weight:600}
.review-form.is-sent>*:not(.rf-status){display:none}
.review-form.is-sent .rf-status{background:#a7d4e4;border-radius:18px;padding:30px;font:400 24px/1.3 'DM Serif Display',Georgia,serif;color:#7d133a}
.review-form.is-sent .rf-status small{display:block;font:400 15px/1.6 Raleway,sans-serif;color:#191919;margin-top:8px}

/* Estrellas: radios accesibles, de derecha a izquierda para el efecto hover */
.stars-input{display:inline-flex;flex-direction:row-reverse;gap:4px}
.stars-input input{position:absolute;opacity:0;width:1px;height:1px}
.stars-input label{margin:0;font:400 40px/1 Georgia,serif;letter-spacing:0;color:#7d133a40;cursor:pointer;transition:color .15s,transform .15s}
.stars-input label:hover,.stars-input label:hover~label,.stars-input input:checked~label{color:#7d133a}
.stars-input label:hover{transform:scale(1.12)}
.stars-input input:focus-visible+label{outline:3px solid #a7d4e4;outline-offset:2px;border-radius:6px}
@media(max-width:700px){.review-form .row{grid-template-columns:1fr}}

/* Plegado en la portada (30/10): 3 opiniones (2 en móvil) y botón «Ver las N opiniones» */
.reviews-list.folded{columns:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.reviews-list.folded .review{margin:0}
.reviews-list.folded .review:nth-child(n+4){display:none}
.reviews-all{display:inline-block;margin:28px 0 0;font:800 12px/1.4 Raleway,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#7d133a;background:none;border:0;border-bottom:1.5px solid currentColor;padding:0 0 3px;cursor:pointer}
@media(max-width:800px){
  .reviews-list.folded{grid-template-columns:1fr;gap:18px}
  .reviews-list.folded .review:nth-child(n+3){display:none}
}
