/* TuReseña · estilos optimizados */
:root{--bg:#F4F7FB;--surface:#fff;--ink:#0B2352;--muted:#4F5F85;--line:#D3DCEE;--blue:#1B49B5;--red:#AA151B;--gold:#F1BF00;--cob:#123A8C;--to:.13;
--tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84' fill='none' stroke='%231B49B5' stroke-width='1.4'%3E%3Cpath d='M42 5 79 42 42 79 5 42Z'/%3E%3Ccircle cx='42' cy='42' r='15'/%3E%3Cpath d='M0 0 13 13M84 0 71 13M0 84 13 71M84 84 71 71M42 5V27M42 57V79M5 42H27M57 42H79'/%3E%3C/svg%3E");
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#07142E;--surface:#0E2150;--ink:#F2F6FF;--muted:#A3B3D9;--line:#1F3570;--blue:#8FB0FF;--red:#E4565C;--to:.3;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#07142E;--surface:#0E2150;--ink:#F2F6FF;--muted:#A3B3D9;--line:#1F3570;--blue:#8FB0FF;--red:#E4565C;--to:.3;color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box;margin:0}[hidden]{display:none!important}
body{background:var(--bg);color:var(--ink);font:400 17px/1.55 Figtree,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;background:var(--tile);opacity:var(--to);z-index:-1;pointer-events:none}
h1,h2,h3,.logo,.price,.big{font-family:'Bricolage Grotesque',Figtree,system-ui,sans-serif;letter-spacing:-.025em}
a{color:inherit}.wrap{max-width:1040px;margin:0 auto;padding:0 22px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:14px;font:700 1rem Figtree,system-ui,sans-serif;text-decoration:none;border:2px solid transparent;cursor:pointer;background:none;color:inherit;transition:transform .12s}
.btn:active{transform:scale(.97)}.btn:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.gold{background:var(--gold);color:#0B2352}.line{border-color:currentColor}.mini{min-height:42px;padding:0 16px;font-size:.92rem}
.flg{display:inline-block;width:27px;height:18px;border-radius:3px;margin-left:9px;vertical-align:-2px;background:linear-gradient(#AA151B 0 25%,#F1BF00 25% 75%,#AA151B 75%);box-shadow:0 0 0 1px rgba(0,0,0,.12)}
nav{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 0}.logo{font-weight:800;font-size:1.35rem;text-decoration:none}.nav-r{display:flex;gap:8px}
.hero{background:radial-gradient(520px 380px at 78% 48%,rgba(241,191,0,.26),transparent 70%),var(--cob);color:#fff;border-radius:0 0 46px 46px;position:relative;overflow:hidden;padding-bottom:60px}
.hero::before{content:"";position:absolute;inset:0;background:var(--tile);filter:brightness(2.4);opacity:.4}.hero>.wrap{position:relative}
.hero-g{display:grid;gap:36px;align-items:center;padding-top:22px}
.big{font-size:clamp(3.6rem,17vw,8rem);font-weight:800;line-height:.9;letter-spacing:-.05em}.tag{font-size:1.28rem;max-width:24ch;margin-top:22px;opacity:.92}
.stage{display:grid;place-items:center}
.frame{width:min(84vw,370px);padding:20px;background:#fff;border-radius:30px;box-shadow:0 0 0 4px var(--gold),0 44px 70px -26px rgba(0,0,0,.65);animation:fl 7s ease-in-out infinite}
.frame img{width:100%;display:block;filter:drop-shadow(0 12px 16px rgba(11,35,82,.3))}
@keyframes fl{50%{transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.frame{animation:none}}
section{padding:60px 0}h2{font-size:clamp(1.9rem,5.5vw,3rem);font-weight:800;line-height:1.05;margin-bottom:18px}
.two{display:grid;gap:32px;align-items:center}.two p{color:var(--muted);max-width:52ch;margin-bottom:12px}
.pic{width:100%;border-radius:24px;display:block;box-shadow:0 24px 50px -24px rgba(11,35,82,.5)}
.bento{display:grid;gap:14px;margin-top:8px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px}
.tile h3{font-size:1.3rem;margin-bottom:6px}.tile p{color:var(--muted)}.t1{background:var(--cob);border-color:var(--cob);border-radius:34px;color:#fff}.t1 p{color:#dfe8ff}.t4{border-left:6px solid var(--red)}
.sub{color:var(--muted)}.plans{display:grid;gap:16px;margin-top:24px}.plan{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px 24px}
.plan.top{background:var(--cob);color:#fff;border-color:var(--cob);position:relative}.plan.top::after{content:"Más elegido";position:absolute;top:-13px;right:20px;background:var(--gold);color:#0B2352;font-weight:700;font-size:.8rem;padding:4px 12px;border-radius:99px}
.plan h3{font-size:1.2rem}.price{font-size:3.4rem;font-weight:800;line-height:1.1;margin:8px 0 2px}.plan p{opacity:.78;font-size:.93rem;min-height:1.5em}.plan .btn{width:100%;margin-top:18px}
.band{background:var(--cob);color:#fff;padding:60px 0;position:relative;overflow:hidden}.band::before{content:"";position:absolute;inset:0;background:var(--tile);filter:brightness(2.4);opacity:.3}.band .wrap{position:relative}
.band p{opacity:.88;max-width:44ch;margin-bottom:24px}.actions{display:flex;flex-wrap:wrap;gap:12px}
footer{padding:24px 0;color:var(--muted);font-size:.9rem}
.pg{padding:10px 0 60px;min-height:70svh}.pg h1{font-size:clamp(2.2rem,8vw,3.6rem);font-weight:800;margin:14px 0 8px}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;margin-top:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-decoration:none}
.row small{color:var(--muted);display:block}.row em{font-style:normal;font-weight:700;color:var(--blue);white-space:nowrap}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;margin-top:18px}.panel.hl{border:2px solid var(--gold)}
label{display:block;font-weight:700;font-size:.9rem;margin:14px 0 6px}
input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel]{width:100%;min-height:50px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:inherit}
.chk{display:flex;gap:10px;align-items:center;margin-top:16px;font-weight:500}.chk input{width:22px;height:22px}
.msg{margin-top:12px;font-weight:700;min-height:1.4em;color:var(--red)}.msg.ok{color:#1c8f4e}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.acts .btn{min-height:40px;padding:0 14px;font-size:.88rem}
.lnk{font-size:.82rem;color:var(--muted);word-break:break-all;margin-top:6px}.lnk.l2{font-size:1rem;color:var(--ink);font-weight:700}

/* === OPTIMIZARE VISTA CLIENT (REDIRECT NFC PE MOBIL) === */
.kc{--k:#123A8C;background:var(--k);position:relative;overflow:hidden}
.kc[data-cat=comer]{--k:#A3262A}
.kc[data-cat=cafe]{--k:#8A4B1F}
.kc[data-cat=cuidado]{--k:#1E6A68}
.kc::before{content:"";position:absolute;inset:0;background:var(--tile);filter:brightness(2.4);opacity:.35;pointer-events:none}

#v-client{
  min-height:100vh;
  min-height:100svh;
  padding:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.cc{
  position:relative;
  width:100%;
  max-width:380px;
  margin:0 auto;
  padding:80px 20px 28px 20px;
  text-align:center;
  background:var(--surface);
  border-radius:32px;
  box-shadow:0 0 0 4px var(--gold),0 30px 60px -20px rgba(0,0,0,.5);
  animation:up .6s cubic-bezier(.2,.8,.2,1) both;
}

.cc .kick{
  color:var(--muted);
  font-weight:600;
  font-size:.95rem;
  margin-bottom:4px;
}

.cc h1{
  font-size:clamp(1.8rem, 7vw, 2.3rem);
  font-weight:800;
  line-height:1.1;
  margin:4px 0 10px;
  word-break:break-word;
}

.cc .sub{
  margin:0 0 20px;
  font-size:1.02rem;
  color:var(--muted);
  line-height:1.4;
}

.cc .btn{
  width:100%;
  margin-top:10px;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
}

.cc .fine{
  margin-top:20px;
  font-size:.82rem;
  color:var(--muted);
  line-height:1.4;
}

.mono{
  position:absolute;
  top:-22px;
  left:50%;
  width:48px;
  height:48px;
  margin-left:-24px;
  border-radius:12px;
  background:var(--gold);
  color:#0B2352;
  transform:rotate(45deg);
  display:grid;
  place-items:center;
  box-shadow:0 0 0 4px var(--surface),0 0 0 6px var(--k),0 8px 16px rgba(0,0,0,.2);
  animation:dia .6s cubic-bezier(.2,.8,.2,1) .1s both;
}

.mono span{
  transform:rotate(-45deg);
  font:800 1.4rem 'Bricolage Grotesque',Figtree,sans-serif;
}

@keyframes up{from{opacity:0;transform:translateY(30px)}}
@keyframes dia{from{transform:rotate(-135deg) scale(.3);opacity:0}}
@media (prefers-reduced-motion:reduce){.cc,.mono{animation:none}}

.pv{border-radius:22px;padding:28px 18px;pointer-events:none}.pv .cc,.pv .mono{animation:none}.pv .cc{width:100%}
.pgrid{display:grid;gap:18px}.hint{font-size:.82rem;color:var(--muted);margin-top:6px}
@media(min-width:900px){.pgrid{grid-template-columns:1fr 360px;align-items:start}.pvbox{position:sticky;top:16px}}

.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.pair .btn{margin-top:0;font-size:.9rem;padding:0 10px}

@media(min-width:820px){.hero-g{grid-template-columns:1.1fr .9fr}.two{grid-template-columns:1fr 1fr;gap:56px}.plans{grid-template-columns:repeat(3,1fr)}
.bento{grid-template-columns:repeat(6,1fr)}.t1{grid-column:span 4}.t2,.t3{grid-column:span 2}.t4{grid-column:span 4}.t3{grid-column:span 2}}

.ql{font-weight:700;font-size:.9rem;margin:16px 0 4px}
.rad{display:flex;gap:22px;margin-top:8px}
.rad label{display:flex;gap:8px;align-items:center;margin:0;font-weight:500}
.rad input{width:22px;height:22px}

.chip{display:inline-block;font-size:.78rem;font-weight:700;padding:2px 10px;border-radius:99px;background:var(--line);margin-left:6px}
.chip.y{background:#1c8f4e;color:#fff}
.chip.n{background:var(--red);color:#fff}

.row{padding:0;gap:0;align-items:stretch;overflow:hidden}.row .tx{flex:1;align-self:center;padding:16px 18px}.row em{align-self:center;padding-right:18px}
.ph{flex:0 0 clamp(96px,26vw,190px);width:clamp(96px,26vw,190px);min-width:0;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--cob)}
span.ph{display:grid;place-items:center}span.ph b{font:800 2rem 'Bricolage Grotesque',Figtree,sans-serif;color:var(--gold)}
@media(max-width:520px){.row{flex-wrap:wrap}.row .ph{flex:0 0 100%;width:100%;aspect-ratio:16/9}.row .tx{padding:14px 16px}.row em{padding:0 16px 0 0}.row span.ph{display:none}}

.pc{display:flex;gap:14px;align-items:center}.pc>div{min-width:0}.pc .th{flex:0 0 104px;width:104px;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}
.pvp{width:100%;max-width:320px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;border:1.5px dashed var(--line);background:var(--bg);display:grid;place-items:center;color:var(--muted);font-size:.9rem}
.pvp:empty::before{content:"Sin foto"}.pvp img{width:100%;height:100%;object-fit:cover;display:block}

button,a,input,label{touch-action:manipulation}
.who{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;color:var(--muted);font-size:.9rem}
.acc{margin-left:16px;font-size:.85rem;color:var(--muted);opacity:.75}
#padmin:not(:empty){margin-bottom:28px}
.acts{gap:10px}.acts .btn{min-height:46px;font-size:.92rem}

@media(max-width:520px){
  .acts .btn{flex:1 1 calc(50% - 10px)}
  .panel{padding:18px}
  nav{flex-wrap:wrap}
  .nav-r .btn{padding:0 12px;font-size:.85rem}
  .logo{font-size:1.15rem}
}
/* TuReseña · Vista del cliente (la que se abre al acercar el móvil a la tarjeta NFC)
   Archivo independiente: no depende de styles.css. Cárgalo DESPUÉS de styles.css. */
 
/* ---------- Colores por categoría (se ponen en .rv-stage[data-cat]) ---------- */
.rv-stage{--rv-c1:#123A8C;--rv-c2:#0B2352;--rv-ink:#0B2352;--rv-muted:#4F5F85;--rv-gold:#F1BF00;--rv-gold-d:#C99A00;
--rv-tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84' fill='none' stroke='%23fff' stroke-width='1.4'%3E%3Cpath d='M42 5 79 42 42 79 5 42Z'/%3E%3Ccircle cx='42' cy='42' r='15'/%3E%3Cpath d='M0 0 13 13M84 0 71 13M0 84 13 71M84 84 71 71M42 5V27M42 57V79M5 42H27M57 42H79'/%3E%3C/svg%3E")}
.rv-stage[data-cat=comer]{--rv-c1:#B02A30;--rv-c2:#5A1014}
.rv-stage[data-cat=cafe]{--rv-c1:#8F4E20;--rv-c2:#472310}
.rv-stage[data-cat=cuidado]{--rv-c1:#1E6A68;--rv-c2:#0E3837}
.rv-stage[data-cat=tienda]{--rv-c1:#6B3A8C;--rv-c2:#321A44}
.rv-stage[data-cat=hotel]{--rv-c1:#0F5E80;--rv-c2:#082F42}
.rv-stage[data-cat=servicio]{--rv-c1:#35506F;--rv-c2:#18273A}
 
/* ---------- Pantalla completa (solo la vista real, no la previsualización del panel) ---------- */
html.rv-on{padding:0;background:var(--rv-page,#123A8C)}
html.rv-on,html.rv-on body{height:100%;overflow:hidden}
.rv-root{display:block;position:static;margin:0;padding:0;width:auto;max-width:none;background:none;box-shadow:none;border-radius:0;animation:none}
 
.rv-stage{position:relative;width:100%;color:#fff;font-family:Figtree,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
.rv-stage *,.rv-stage *::before,.rv-stage *::after{box-sizing:border-box}
.rv-live{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;align-items:center;
  overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:max(20px,env(safe-area-inset-top)) 18px max(20px,env(safe-area-inset-bottom));
  background:radial-gradient(90% 55% at 50% 0%,rgba(241,191,0,.32),transparent 64%),linear-gradient(165deg,var(--rv-c1) 0%,var(--rv-c2) 100%)}
.rv-live::before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--rv-tile);background-size:84px 84px;opacity:.13;pointer-events:none}
 
.rv-wrap{position:relative;z-index:1;width:100%;max-width:392px;margin:auto 0;padding-top:36px}
 
/* ---------- Tarjeta ---------- */
.rv-card{position:relative;padding:58px 22px 24px;background:#fff;color:var(--rv-ink);text-align:center;border-radius:34px;
  box-shadow:0 0 0 4px var(--rv-gold),0 0 0 9px rgba(255,255,255,.16),0 40px 70px -24px rgba(0,0,0,.6)}
.rv-live .rv-card{animation:rv-up .7s cubic-bezier(.2,.8,.2,1) both}
 
.rv-seal{position:absolute;top:-34px;left:50%;width:64px;height:64px;margin-left:-32px;border-radius:17px;background:var(--rv-gold);
  transform:rotate(45deg);display:grid;place-items:center;
  box-shadow:0 0 0 5px #fff,0 0 0 8px var(--rv-c1),0 12px 22px rgba(0,0,0,.3)}
.rv-live .rv-seal{animation:rv-seal .75s cubic-bezier(.2,.9,.3,1.25) .12s both}
.rv-seal span{transform:rotate(-45deg);font:800 1.65rem/1 'Bricolage Grotesque',Figtree,system-ui,sans-serif;font-style:normal;color:#0B2352}
 
.rv-kick{font-size:1rem;font-weight:600;color:var(--rv-muted)}
.rv-card .rv-name{margin:6px 0 10px;font:800 clamp(2.3rem,12.5vw,3.4rem)/1 'Bricolage Grotesque',Figtree,system-ui,sans-serif;letter-spacing:-.035em;
  color:var(--rv-c1);overflow-wrap:anywhere;word-break:normal;hyphens:auto;text-wrap:balance}
.rv-card .rv-name[data-len=m]{font-size:clamp(2rem,10vw,2.8rem)}
.rv-card .rv-name[data-len=l]{font-size:clamp(1.6rem,7.8vw,2.15rem);line-height:1.05}
.rv-ask{margin:0 0 14px;font-size:1.12rem;font-weight:500;line-height:1.35;color:var(--rv-ink);text-wrap:balance}
 
.rv-stars{display:flex;justify-content:center;gap:6px;margin:0 0 18px}
.rv-stars svg{width:31px;height:31px;fill:var(--rv-gold);stroke:var(--rv-gold-d);stroke-width:1;stroke-linejoin:round}
.rv-live .rv-stars svg{animation:rv-pop .55s cubic-bezier(.2,.9,.3,1.5) both;animation-delay:calc(.4s + var(--i) * .09s)}
 
/* ---------- Botón principal ---------- */
.rv-go{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:62px;padding:12px 18px;margin-bottom:8px;
  border-radius:19px;background:var(--rv-gold);color:#0B2352;text-decoration:none;text-align:center;overflow:hidden;
  font:800 1.1rem/1.15 Figtree,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  box-shadow:0 7px 0 var(--rv-gold-d),0 18px 26px -10px rgba(201,154,0,.75);transition:transform .12s,box-shadow .12s}
.rv-go:active{transform:translateY(5px);box-shadow:0 2px 0 var(--rv-gold-d),0 8px 14px -8px rgba(201,154,0,.7)}
.rv-go svg{flex:0 0 auto;width:24px;height:24px;fill:currentColor}
.rv-go .rv-arr{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.rv-live .rv-go::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:36%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);
  transform:translateX(0) skewX(-20deg);animation:rv-shine 3.4s ease-in-out 1.4s infinite;pointer-events:none}
 
/* ---------- Contacto directo ---------- */
.rv-or{display:flex;align-items:center;gap:12px;margin:22px 0 4px;font-size:.88rem;font-weight:600;color:var(--rv-muted)}
.rv-or::before,.rv-or::after{content:"";flex:1;height:1px;background:#D3DCEE}
.rv-talk{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;margin-top:10px;padding:10px 16px;
  border-radius:16px;border:2px solid var(--rv-c1);background:transparent;color:var(--rv-c1);cursor:pointer;text-align:center;
  font:700 1.02rem/1.2 Figtree,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.rv-talk:active{background:rgba(18,58,140,.08)}
.rv-talk svg{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.rv-talk[aria-expanded=true] svg{transform:rotate(180deg)}
.rv-help{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:10px;animation:rv-fade .3s ease both}
.rv-help[hidden],.rv-help [hidden]{display:none!important}
.rv-help a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 12px;border-radius:16px;color:#fff;text-decoration:none;
  font:700 1rem Figtree,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.rv-help a:active{transform:scale(.97)}
.rv-help svg{width:20px;height:20px;flex:0 0 auto}
.rv-wa{background:#1F7A4D}.rv-wa svg{fill:currentColor}
.rv-mail{background:var(--rv-c1)}.rv-mail svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 
.rv-fine{margin:18px 0 0;font-size:.88rem;line-height:1.45;color:var(--rv-muted);text-wrap:balance}
 
/* ---------- Firma ---------- */
.rv-by{display:flex;align-items:center;justify-content:center;margin-top:24px;color:#fff;opacity:.85;font:800 1rem 'Bricolage Grotesque',Figtree,system-ui,sans-serif}
.rv-by i{display:inline-block;width:27px;height:18px;margin-left:9px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.15);
  background:linear-gradient(#AA151B 0 25%,#F1BF00 25% 75%,#AA151B 75%)}
 
/* ---------- Previsualización dentro del panel (sin animaciones, sin pantalla completa) ---------- */
.pv .cc{all:unset;display:block}
.pv .rv-stage{color:inherit}
.pv .rv-wrap{margin:0 auto}
.pv .rv-stage *,.pv .rv-stage *::before,.pv .rv-stage *::after{animation:none!important}
 
/* ---------- Animaciones ---------- */
@keyframes rv-up{from{opacity:0;transform:translateY(32px)}}
@keyframes rv-seal{from{opacity:0;transform:rotate(-135deg) scale(.3)}}
@keyframes rv-pop{from{opacity:0;transform:scale(.2) rotate(-25deg)}}
@keyframes rv-shine{0%{transform:translateX(0) skewX(-20deg)}55%,100%{transform:translateX(560%) skewX(-20deg)}}
@keyframes rv-fade{from{opacity:0;transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.rv-stage *,.rv-stage *::before,.rv-stage *::after{animation:none!important;transition:none!important}}
 
/* ---------- Móviles pequeños (iPhone SE, Android 360px) ---------- */
@media (max-width:370px){
  .rv-card{padding:56px 16px 20px;border-radius:28px}
  .rv-go{font-size:1.02rem;min-height:58px}
  .rv-stars svg{width:27px;height:27px}
}
@media (max-height:640px){
  .rv-live{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .rv-wrap{padding-top:34px}.rv-stars{margin-bottom:12px}.rv-or{margin-top:16px}.rv-by{margin-top:16px}
}