/* Virtus Perfumería · V18.3 · Reseñas compactas con texto vertical */
:root{--rv-oro:#d4af37;--rv-negro:#171717;--rv-texto:#252525;--rv-suave:#f7f5ef;--rv-borde:#e8e4d9;--rv-verde:#177245}
.resena-estrellas{display:inline-flex;align-items:center;gap:2px;color:#cfcfcf;line-height:1}.resena-estrella{font-size:1.04em}.resena-estrella.llena{color:#d5aa25}.resena-estrellas strong{color:#222;font-size:.9rem;margin-left:6px}

/* Inicio · carrusel horizontal compacto */
.resenas-home{padding:28px 0 30px;background:#faf9f6;border-top:1px solid #f0ede5;border-bottom:1px solid #f0ede5;overflow:hidden}
.resenas-home-head{text-align:center;max-width:620px;margin:0 auto 14px}
.resenas-home-kicker{display:inline-block;color:#9a7a13;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;font-weight:700;margin-bottom:3px}
.resenas-home h2{font-size:1.42rem;line-height:1.15;margin:0 0 3px;color:#1b1b1b}
.resenas-home-head p{margin:0;color:#8a8a8a;font-size:.72rem}
.resenas-carrusel-wrap{position:relative;padding:0 38px}
.resenas-home-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px 1px 5px}
.resenas-home-grid::-webkit-scrollbar{display:none}
.resena-home-card{flex:0 0 calc((100% - 24px)/3);scroll-snap-align:start;background:#fff;border:1px solid #ece8dd;border-radius:13px;padding:13px 14px;box-shadow:0 4px 14px rgba(40,35,20,.03);display:flex;flex-direction:column;min-width:0;height:124px;box-sizing:border-box}
.resena-home-top{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;min-height:28px}
.resena-home-persona{min-width:0}.resena-home-persona strong{display:block;font-size:.78rem;color:#202020;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resena-verificada{display:inline-flex;align-items:center;gap:3px;color:var(--rv-verde)!important;font-size:.56rem!important;font-weight:600;margin-top:2px;white-space:nowrap}
.resena-home-card .resena-estrellas{font-size:.72rem;flex:none;gap:1px}
.resena-home-comentario{position:relative;height:2.15em;margin:8px 0 7px;overflow:hidden;flex:1;min-height:2.15em;mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%)}
.resena-home-comentario blockquote{font-size:.74rem;line-height:1.45;color:#555;margin:0;display:block;min-height:0;will-change:transform;transform:translateY(0)}
.resena-home-comentario blockquote.resena-texto-deslizable{animation:resenaTextoArriba var(--resena-duracion,10s) ease-in-out infinite}
.resena-home-comentario:hover blockquote.resena-texto-deslizable{animation-play-state:paused}
@keyframes resenaTextoArriba{0%,16%{transform:translateY(0)}72%,88%{transform:translateY(calc(-1 * var(--resena-scroll,0px)))}100%{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.resena-home-comentario{overflow-y:auto;mask-image:none;-webkit-mask-image:none;scrollbar-width:thin}.resena-home-comentario blockquote.resena-texto-deslizable{animation:none}}
.resena-home-producto{display:flex;align-items:center;gap:4px;border-top:1px solid #f0ede7;padding-top:6px;color:#5b5b5b;text-decoration:none;min-width:0;line-height:1}
.resena-home-producto span{font-size:.55rem;color:#999;white-space:nowrap;max-width:30%;overflow:hidden;text-overflow:ellipsis}
.resena-home-producto strong{font-size:.61rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.resena-home-producto i{font-size:.55rem;margin-left:auto;color:#aa8a29;flex:none}
.resenas-flecha{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:30px;height:30px;border-radius:50%;border:1px solid #e6dfcc;background:#fff;color:#8c7429;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.06);transition:.18s}
.resenas-flecha:hover{background:#171717;color:#fff;border-color:#171717}
.resenas-flecha:disabled{opacity:.28;cursor:default;background:#fff;color:#8c7429}
.resenas-flecha.anterior{left:0}.resenas-flecha.siguiente{right:0}.resenas-flecha[hidden]{display:none!important}

/* Producto */
.producto-rating-mini{display:flex;align-items:center;gap:10px;margin:4px 0 16px}.producto-rating-mini a{font-size:.79rem;color:#666;text-decoration:none;border-bottom:1px solid #d9d2bd}.producto-resenas{margin-top:54px;border-top:1px solid #eee6d4;padding-top:42px}.producto-resenas-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.producto-resenas-head h2{font-size:1.6rem;margin:0 0 5px}.producto-resenas-head p{margin:0;color:#777;font-size:.87rem}.producto-resena-promedio{text-align:right}.producto-resena-promedio strong{font-size:2rem;color:#222;display:block;line-height:1}.producto-resena-promedio span{font-size:.75rem;color:#888}.producto-resenas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.producto-resena-card{border:1px solid var(--rv-borde);border-radius:15px;padding:18px;background:#fff}.producto-resena-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:11px}.producto-resena-meta strong{display:block;font-size:.9rem}.producto-resena-meta small{display:block;color:#777;margin-top:2px;font-size:.7rem}.producto-resena-card p{margin:0;color:#4f4f4f;line-height:1.6;font-size:.88rem}.producto-sin-resenas{background:#faf8f2;border:1px dashed #ddd1ae;border-radius:14px;padding:22px;color:#666;font-size:.88rem}

/* Página de valoración */
.valoracion-page{background:#f6f4ef;min-height:100vh}.valoracion-page .navbar{position:relative;background:#fff;border-bottom:1px solid #eee7d8}.valoracion-volver{font-size:.8rem;color:#555;text-decoration:none;font-weight:600}.valoracion-wrap{max-width:800px;margin:0 auto;padding:54px 20px 70px}.valoracion-hero{text-align:center;margin-bottom:25px}.valoracion-kicker{display:inline-block;background:#fff4cf;border:1px solid #ead083;color:#836710;border-radius:999px;padding:6px 11px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.valoracion-hero h1{font-size:2rem;margin:14px 0 8px;color:#1b1b1b}.valoracion-hero p{color:#656565;line-height:1.6;margin:0 auto;max-width:650px;font-size:.9rem}.valoracion-privacidad{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #e5dec8;border-radius:15px;padding:17px 18px;margin:22px 0}.valoracion-privacidad>i{color:#a27e14;font-size:1.2rem;margin-top:2px}.valoracion-privacidad strong{display:block;font-size:.85rem}.valoracion-privacidad p{margin:4px 0 0;color:#666;font-size:.77rem;line-height:1.55}.valoracion-productos{display:grid;gap:18px}.valoracion-producto-card{background:#fff;border:1px solid #e6e1d4;border-radius:20px;padding:24px;box-shadow:0 12px 35px rgba(0,0,0,.04)}.valoracion-producto-cabecera{display:flex;align-items:center;gap:15px;padding-bottom:18px;border-bottom:1px solid #eee9dd}.valoracion-producto-img{width:72px;height:72px;border-radius:14px;background:#fafafa;display:grid;place-items:center;overflow:hidden;flex:none}.valoracion-producto-img img{width:100%;height:100%;object-fit:contain}.valoracion-producto-img i{font-size:1.7rem;color:#b9962e}.valoracion-producto-cabecera span{display:block;color:#9b7f27;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.valoracion-producto-cabecera h2{font-size:1.1rem;margin:2px 0 3px}.valoracion-producto-cabecera small{color:#888}.valoracion-form{padding-top:20px}.valoracion-estrellas-input{border:0;padding:0;margin:0 0 20px}.valoracion-estrellas-input legend,.valoracion-comentario>span{font-size:.8rem;font-weight:700;color:#333;margin-bottom:8px;display:block}.star-picker{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:3px}.star-picker input{position:absolute;opacity:0;pointer-events:none}.star-picker label{font-size:2rem;color:#ddd;cursor:pointer;transition:.15s;line-height:1}.star-picker label:hover,.star-picker label:hover~label,.star-picker input:checked~label{color:#d4a920;transform:translateY(-1px)}.star-picker-text{display:block;font-size:.72rem;color:#888;margin-top:7px}.valoracion-comentario textarea{width:100%;min-height:120px;resize:vertical;border:1px solid #dcd7ca;border-radius:12px;padding:13px 14px;font:inherit;font-size:.83rem;outline:none;box-sizing:border-box}.valoracion-comentario textarea:focus{border-color:#c8a740;box-shadow:0 0 0 3px rgba(212,175,55,.1)}.valoracion-comentario small{display:block;color:#999;font-size:.67rem;margin-top:5px}.valoracion-consentimiento{display:flex;gap:11px;align-items:flex-start;background:#faf8f2;border:1px solid #e7dfca;border-radius:12px;padding:14px;margin:18px 0;cursor:pointer}.valoracion-consentimiento input{margin-top:4px;accent-color:#a98416}.valoracion-consentimiento span{font-size:.74rem;line-height:1.55;color:#5d5d5d}.valoracion-consentimiento strong{display:block;color:#333;font-size:.77rem;margin-bottom:2px}.valoracion-btn{border:0;background:#171717;color:#fff;text-decoration:none;border-radius:12px;padding:13px 20px;font:inherit;font-size:.82rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.valoracion-btn:hover{background:#b69122;color:#111}.valoracion-moderacion{font-size:.68rem;color:#909090;margin:8px 0 0}.valoracion-enviada{padding-top:20px}.valoracion-enviada p{color:#555;line-height:1.6;font-size:.85rem}.estado-resena{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:700}.estado-resena.aprobada{background:#e8f5ed;color:#177245}.estado-resena.pendiente{background:#fff5d8;color:#8d6e0d}.estado-resena.rechazada{background:#f4eded;color:#8a4242}.valoracion-alerta{display:flex;gap:12px;padding:14px 16px;border-radius:13px;margin:16px 0;font-size:.78rem}.valoracion-alerta strong,.valoracion-alerta span{display:block}.valoracion-alerta span{margin-top:2px}.valoracion-alerta.ok{background:#eaf6ee;color:#17683d}.valoracion-alerta.error{background:#fff0ef;color:#8b3935}.valoracion-estado-card{background:#fff;border:1px solid #e5dfd1;border-radius:20px;padding:44px;text-align:center;margin-top:40px}.valoracion-estado-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:#fff3d0;color:#8b6e14;font-size:1.4rem;font-weight:700}.valoracion-estado-card h1{font-size:1.5rem}.valoracion-estado-card p{color:#777;margin-bottom:20px}

@media(max-width:900px){.resena-home-card{flex-basis:calc((100% - 12px)/2)}}
@media(max-width:650px){
  .resenas-home{padding:22px 0 24px}.resenas-home-head{margin-bottom:11px;padding:0 8px}.resenas-home h2{font-size:1.25rem}.resenas-home-head p{font-size:.68rem}
  .resenas-carrusel-wrap{padding:0 5px}.resenas-flecha{display:none!important}
  .resenas-home-grid{gap:9px;padding:2px 4px 6px}
  .resena-home-card{flex:0 0 min(86vw,315px);height:116px;padding:11px 12px;border-radius:12px}
  .resena-home-persona strong{font-size:.74rem}.resena-home-card .resena-estrellas{font-size:.67rem}.resena-home-card blockquote{font-size:.7rem;margin:7px 0 6px}.resena-home-producto{padding-top:5px}
  .producto-resenas-grid{grid-template-columns:1fr}.producto-resenas-head{align-items:flex-start;flex-direction:column}.producto-resena-promedio{text-align:left}.valoracion-wrap{padding-top:36px}.valoracion-hero h1{font-size:1.6rem}.valoracion-producto-card{padding:18px}.valoracion-estado-card{padding:30px 20px}
}
