/* Página reseñas · film dark alineado al hub */
.rv{
  min-height:100vh;
  background:var(--mist,#0c0e11);
  color:var(--charcoal,#f2f3f4);
}
.rv__bar{
  display:flex;align-items:center;justify-content:flex-end;gap:16px;
  width:min(1120px, 100% - 64px);
  margin:0 auto;
  padding:calc(22px + 52px) 0 18px;
}
.rv__back{
  display:inline-flex;align-items:center;min-height:40px;padding:0 14px;
  border:1px solid rgba(255,255,255,.22);
  color:inherit;text-decoration:none;
  font:650 11px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;
}
[data-theme="light"] .rv__back{border-color:rgba(26,27,29,.18)}
.rv__back:hover{border-color:rgba(255,255,255,.5)}
[data-theme="light"] .rv__back:hover{border-color:rgba(26,27,29,.4)}

.rv__in{
  width:min(1120px, 100% - 64px);
  margin:0 auto;
  padding:clamp(40px, 7vh, 72px) 0 clamp(72px, 10vh, 120px);
}
.rv__head{
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) auto;
  gap:clamp(20px, 4vw, 48px);
  align-items:end;
  margin-bottom:clamp(28px, 4vh, 40px);
  padding-bottom:clamp(20px, 2.8vh, 28px);
  border-bottom:1px solid rgba(255,255,255,.1);
}
[data-theme="light"] .rv__head{border-bottom-color:rgba(26,27,29,.1)}
.rv__kicker{
  margin:0 0 10px;
  font:650 12px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--orange,#FF6600);
}
.rv__kicker::before{
  content:"";display:block;width:48px;height:2px;
  background:var(--orange,#FF6600);margin-bottom:12px;
}
.rv__title{
  margin:0 0 12px;
  max-width:18ch;
  font:650 clamp(32px, 5vw, 56px)/1.08 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.04em;
}
.rv__lead{
  margin:0;
  max-width:42ch;
  font:400 15px/1.55 "Geist Sans",system-ui,sans-serif;
  color:var(--muted,rgba(242,243,244,.68));
}
.rv__score{
  display:flex;flex-direction:column;align-items:flex-end;gap:8px;
  text-align:right;
}
.rv__score-num{
  margin:0;
  font:800 clamp(48px, 8vw, 72px)/.85 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.06em;
}
.rv__stars{display:flex;gap:5px;justify-content:flex-end}
.rv__stars i{
  display:block;width:14px;height:14px;
  background:var(--orange,#FF6600);
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}
.rv__score-meta{
  margin:0;
  font:650 11px/1.3 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-2,rgba(242,243,244,.48));
}

/* Filtros por ciudad: texto plano, mismo gesto que equipo */
.rv__filters{
  display:flex;flex-wrap:wrap;gap:6px 22px;
  margin:0 0 clamp(18px, 2.6vh, 26px);
}
.rv__filter{
  appearance:none;border:0;background:transparent;padding:4px 0;cursor:pointer;
  font:650 11px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted-2,rgba(255,255,255,.38));
  position:relative;
  transition:color .25s ease;
}
.rv__filter::after{
  content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;
  background:var(--orange,#FF6600);
  transition:right .3s cubic-bezier(.16,1,.3,1);
}
.rv__filter:hover{color:var(--charcoal,rgba(255,255,255,.72))}
.rv__filter[aria-pressed="true"]{color:var(--ink,#fff)}
.rv__filter[aria-pressed="true"]::after{right:0}
[data-theme="light"] .rv__filter{color:rgba(26,27,29,.4)}
[data-theme="light"] .rv__filter:hover{color:rgba(26,27,29,.72)}
[data-theme="light"] .rv__filter[aria-pressed="true"]{color:var(--ink,#1a1b1d)}

.rv__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0;
  border-top:1px solid rgba(255,255,255,.08);
}
[data-theme="light"] .rv__grid{border-top-color:rgba(26,27,29,.08)}
.rv__card{
  margin:0;
  padding:clamp(22px, 3vh, 32px) clamp(0px, 1.2vw, 8px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
[data-theme="light"] .rv__card{border-bottom-color:rgba(26,27,29,.08)}
.rv__card:nth-child(odd){
  padding-right:clamp(16px, 2.2vw, 28px);
  border-right:1px solid rgba(255,255,255,.08);
}
[data-theme="light"] .rv__card:nth-child(odd){border-right-color:rgba(26,27,29,.08)}
.rv__card:nth-child(even){padding-left:clamp(16px, 2.2vw, 28px)}
.rv__card-text{
  margin:0 0 16px;
  font:500 clamp(16px, 1.5vw, 19px)/1.45 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.015em;
  text-wrap:pretty;
}
.rv__card-attr{
  margin:0;
  display:flex;flex-direction:column;gap:6px;
}
.rv__card-attr strong{
  font:650 12px/1.2 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.08em;text-transform:uppercase;
}
.rv__card-attr span{
  font:500 13px/1.35 "Geist Sans",system-ui,sans-serif;
  color:var(--muted-2,rgba(242,243,244,.48));
}
.rv__empty{
  grid-column:1 / -1;
  margin:0;
  padding:clamp(28px, 4vh, 40px) 0;
  font:400 15px/1.5 "Geist Sans",system-ui,sans-serif;
  color:var(--muted,rgba(242,243,244,.58));
}

.rv__foot{
  margin-top:clamp(28px, 4vh, 40px);
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;
  padding-top:clamp(20px, 3vh, 28px);
  border-top:1px solid rgba(255,255,255,.08);
}
[data-theme="light"] .rv__foot{border-top-color:rgba(26,27,29,.08)}
.rv__foot p{
  margin:0;
  flex:1 1 240px;
  font:400 14px/1.5 "Geist Sans",system-ui,sans-serif;
  color:var(--muted,rgba(242,243,244,.68));
}
.rv__ext{
  display:inline-flex;align-items:center;min-height:44px;padding:0 16px;
  border:1px solid rgba(255,255,255,.22);
  color:inherit;text-decoration:none;
  font:650 11px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;
}
[data-theme="light"] .rv__ext{border-color:rgba(26,27,29,.18)}
.rv__ext:hover{border-color:rgba(255,255,255,.5)}
[data-theme="light"] .rv__ext:hover{border-color:rgba(26,27,29,.4)}

@media (max-width:900px){
  .rv__in{width:min(1120px, 100% - 40px)}
  .rv__head,
  .rv__grid{grid-template-columns:1fr}
  .rv__score{align-items:flex-start;text-align:left}
  .rv__stars{justify-content:flex-start}
  .rv__filters{gap:8px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .rv__filters::-webkit-scrollbar{display:none}
  .rv__card:nth-child(odd),
  .rv__card:nth-child(even){
    padding-left:0;padding-right:0;border-right:0;
  }
}
