/* Reseñas Overant — estilos propios, independientes del tema.
   El color sale de --ovr-acento (Reseñas → Ajustes); la tipografía se hereda. */
.ovr{
  --ovr-acento:#3F6F5A;
  --ovr-oro:#E0A526;
  --ovr-tinta:inherit;
  --ovr-suave:rgba(40,45,50,.68);
  --ovr-linea:rgba(40,45,50,.12);
  --ovr-fondo:#fff;
  --ovr-campo:rgba(40,45,50,.035);
  --ovr-radio:18px;
  --ovr-sombra:0 1px 2px rgba(20,25,30,.04),0 8px 26px rgba(20,25,30,.06);
  --ovr-acento-claro:color-mix(in srgb,var(--ovr-acento) 12%,#fff);
  margin:28px 0;
}
.ovr *,.ovr *::before,.ovr *::after{box-sizing:border-box}
.ovr-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}

/* Botones */
.ovr-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  background:var(--ovr-acento);color:#fff!important;border:0;border-radius:999px;
  padding:13px 26px;font:inherit;font-weight:600;font-size:.97rem;line-height:1.2;
  cursor:pointer;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease,opacity .18s;
  box-shadow:0 8px 22px color-mix(in srgb,var(--ovr-acento) 30%,transparent);
}
.ovr-btn:hover{transform:translateY(-2px)}
.ovr-btn:disabled{opacity:.6;cursor:wait;transform:none}
.ovr-btn--s{background:transparent;color:var(--ovr-acento)!important;border:1.5px solid var(--ovr-linea);box-shadow:none}
.ovr-btn--s:hover{border-color:var(--ovr-acento)}
.ovr-btn--bloque{width:100%;margin-top:22px}

/* Estrellas: dos filas superpuestas, la de color recortada al porcentaje */
.ovr-est{position:relative;display:inline-block;line-height:0;vertical-align:middle}
.ovr-est svg{width:18px;height:18px;margin-right:2px;fill:currentColor;flex:none}
.ovr-est__base{color:rgba(40,45,50,.16);display:inline-flex;white-space:nowrap}
.ovr-est__lleno{color:var(--ovr-oro);position:absolute;left:0;top:0;overflow:hidden;display:inline-flex;white-space:nowrap}
.ovr-est--g svg{width:24px;height:24px}

/* Resumen */
.ovr-resumen{
  display:grid;grid-template-columns:auto 1fr auto;gap:22px 34px;align-items:center;
  background:var(--ovr-fondo);border:1px solid var(--ovr-linea);border-radius:var(--ovr-radio);
  padding:26px 28px;box-shadow:var(--ovr-sombra);margin-bottom:26px;
}
.ovr-resumen__media{display:grid;justify-items:center;gap:6px;text-align:center}
.ovr-resumen__num{font-size:3rem;font-weight:700;line-height:1;letter-spacing:-.03em}
.ovr-resumen__total{font-size:.88rem;color:var(--ovr-suave)}
.ovr-barras{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.86rem;color:var(--ovr-suave)}
.ovr-barras li{display:grid;grid-template-columns:34px 1fr 28px;gap:10px;align-items:center;margin:0}
.ovr-barras li::before{content:none}
.ovr-barra{height:8px;border-radius:99px;background:rgba(40,45,50,.08);overflow:hidden}
.ovr-barra i{display:block;height:100%;border-radius:99px;background:var(--ovr-oro)}
.ovr-barras__n{text-align:right}
@media (max-width:680px){
  .ovr-resumen{grid-template-columns:1fr;justify-items:stretch}
  .ovr-resumen .ovr-btn{justify-self:stretch}
}

/* Tarjetas */
.ovr-lista{display:grid;gap:18px}
.ovr-tarjeta{
  background:var(--ovr-fondo);border:1px solid var(--ovr-linea);border-radius:var(--ovr-radio);
  padding:22px 24px;box-shadow:var(--ovr-sombra);
}
.ovr-tarjeta__cab{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.ovr-tarjeta__cab time{font-size:.84rem;color:var(--ovr-suave)}
.ovr-sobre{
  display:inline-block;margin:0 0 10px;padding:4px 12px;border-radius:999px;font-size:.8rem;font-weight:600;
  background:var(--ovr-acento-claro);color:var(--ovr-acento);
}
.ovr-texto{font-size:1rem}
.ovr-texto p{margin:0 0 .8em}
.ovr-texto p:last-child{margin-bottom:0}
.ovr-fotos{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.ovr-fotos a{display:block;width:96px;height:96px;border-radius:12px;overflow:hidden;border:1px solid var(--ovr-linea);transition:transform .2s}
.ovr-fotos a:hover{transform:translateY(-2px)}
.ovr-fotos img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.ovr-autor{display:flex;align-items:center;gap:11px;margin-top:16px;padding-top:14px;border-top:1px solid var(--ovr-linea)}
.ovr-autor__ini{
  width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--ovr-acento-claro);color:var(--ovr-acento);font-weight:700;
}
.ovr-autor b{display:block;font-size:.96rem;line-height:1.3}
.ovr-autor small{display:block;font-size:.82rem;color:var(--ovr-suave);line-height:1.3}
.ovr-respuesta{
  margin-top:14px;padding:14px 16px;border-radius:12px;background:var(--ovr-campo);
  border-left:3px solid var(--ovr-acento);font-size:.94rem;
}
.ovr-respuesta b{display:block;font-size:.82rem;margin-bottom:4px;color:var(--ovr-acento)}
.ovr-respuesta p{margin:0 0 .6em}
.ovr-respuesta p:last-child{margin-bottom:0}
.ovr-vacio{padding:22px;border:1.5px dashed var(--ovr-linea);border-radius:var(--ovr-radio);text-align:center;color:var(--ovr-suave)}
.ovr-pag{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 18px;margin-top:22px;font-size:.9rem;color:var(--ovr-suave)}
.ovr-todas{text-align:center;margin-top:20px}

/* Formulario */
.ovr-form{
  margin-top:40px;background:var(--ovr-fondo);border:1px solid var(--ovr-linea);border-radius:var(--ovr-radio);
  padding:clamp(22px,4vw,38px);box-shadow:var(--ovr-sombra);scroll-margin-top:110px;
}
.ovr-form__tit{margin:0 0 .3em}
.ovr-form__intro{color:var(--ovr-suave);margin:0 0 22px}
.ovr-campo{margin:0 0 18px;border:0;padding:0;min-width:0}
.ovr-campo>label,.ovr-campo>legend,.ovr-etq{display:block;font-weight:600;font-size:.92rem;margin-bottom:7px;padding:0}
.ovr-etq small{font-weight:400;color:var(--ovr-suave)}
.ovr-req{color:#B3403A}
.ovr-campo input[type=text],.ovr-campo input[type=email],.ovr-campo textarea{
  width:100%;font:inherit;font-size:1rem;color:inherit;background:var(--ovr-campo);
  border:1.5px solid var(--ovr-linea);border-radius:12px;padding:12px 14px;transition:border-color .15s,box-shadow .15s,background .15s;
}
.ovr-campo textarea{min-height:140px;resize:vertical}
.ovr-campo input:focus,.ovr-campo textarea:focus{
  outline:none;border-color:var(--ovr-acento);background:#fff;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--ovr-acento) 16%,transparent);
}
.ovr-campo-2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media (max-width:620px){.ovr-campo-2{grid-template-columns:1fr}}
.ovr-pista{font-size:.83rem;color:var(--ovr-suave);margin:6px 0 0}
.ovr-trampa{position:absolute;left:-9999px;top:auto}

/* Estrellas del formulario: radios en orden inverso para que «~» pinte las anteriores */
.ovr-nota__estrellas{display:inline-flex;flex-direction:row-reverse;gap:4px}
.ovr-nota__estrellas input{position:absolute;opacity:0;width:1px;height:1px}
.ovr-nota__estrellas label{cursor:pointer;color:rgba(40,45,50,.18);transition:color .12s,transform .12s;line-height:0;margin:0}
.ovr-nota__estrellas svg{width:36px;height:36px;fill:currentColor}
.ovr-nota__estrellas label:hover,.ovr-nota__estrellas label:hover~label,
.ovr-nota__estrellas input:checked~label{color:var(--ovr-oro)}
.ovr-nota__estrellas label:hover{transform:scale(1.12)}
.ovr-nota__estrellas input:focus-visible+label{outline:2px solid var(--ovr-acento);outline-offset:3px;border-radius:6px}

/* Subir fotos */
.ovr .ovr-subir{
  display:inline-flex!important;align-items:center;gap:10px;cursor:pointer;font-weight:600!important;
  padding:12px 18px;border:1.5px dashed color-mix(in srgb,var(--ovr-acento) 50%,transparent);
  border-radius:12px;color:var(--ovr-acento);background:var(--ovr-acento-claro);transition:border-color .15s;
}
.ovr-subir:hover{border-color:var(--ovr-acento)}
.ovr-subir svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
#ovr-fotos:focus-visible~.ovr-previas{outline:2px solid var(--ovr-acento);outline-offset:4px}
.ovr-previas{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ovr-previas:empty{display:none}
.ovr-previa{position:relative;width:84px;height:84px;border-radius:12px;overflow:hidden;border:1px solid var(--ovr-linea);background:var(--ovr-campo)}
.ovr-previa img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.ovr-previa button{
  position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(20,25,30,.72);color:#fff;font-size:15px;line-height:24px;padding:0;
}
.ovr-previas__nota{flex-basis:100%;font-size:.83rem;color:#B3403A;margin:0}

.ovr-acepto{display:flex;gap:11px;align-items:flex-start;font-size:.9rem;color:var(--ovr-suave);cursor:pointer}
.ovr-acepto input{width:18px;height:18px;margin:3px 0 0;flex:none;accent-color:var(--ovr-acento)}

.ovr-aviso{border-radius:12px;padding:14px 16px;margin:0 0 20px;font-size:.95rem}
.ovr-aviso--ok{background:#E9F4E6;color:#2F5A2A}
.ovr-aviso--err{background:#FCEBEA;color:#8E2F2A}

/* Visor */
.ovr-visor{border:0;padding:0;background:transparent;max-width:min(94vw,1100px);max-height:92vh;overflow:visible}
.ovr-visor::backdrop{background:rgba(15,18,22,.86)}
.ovr-visor img{display:block;max-width:min(94vw,1100px);max-height:88vh;border-radius:12px;margin:0;object-fit:contain}
.ovr-visor button{
  position:absolute;border:0;cursor:pointer;background:rgba(255,255,255,.92);color:#222;
  width:44px;height:44px;border-radius:50%;font-size:26px;line-height:42px;padding:0;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.ovr-visor__x{top:-14px;right:-14px}
.ovr-visor__ant{left:10px;top:50%;margin-top:-22px}
.ovr-visor__sig{right:10px;top:50%;margin-top:-22px}
.ovr-visor[data-una] .ovr-visor__ant,.ovr-visor[data-una] .ovr-visor__sig{display:none}
@media (max-width:600px){.ovr-visor__x{top:8px;right:8px}}

@media (prefers-reduced-motion:reduce){
  .ovr *{transition:none!important}
  .ovr-btn:hover,.ovr-fotos a:hover,.ovr-nota__estrellas label:hover{transform:none}
}

/* Bloque corto (portada): rejilla y resumen de una línea */
.ovr-lista--rejilla{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));align-items:start}
.ovr-lista--rejilla .ovr-fotos a{width:72px;height:72px}
.ovr-lista--rejilla .ovr-respuesta{display:none}
.ovr-mini{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 18px;font-size:.95rem;color:var(--ovr-suave)}
.ovr-mini b{font-size:1.25rem;color:inherit;color:var(--ovr-tinta)}
.ovr-mini a{color:var(--ovr-acento);font-weight:600}
