.nva-travel-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;padding:120px 0 70px;background:var(--nva-ink);color:#fff;overflow:hidden}
.nva-travel-hero__media,.nva-travel-hero__overlay{position:absolute;inset:0}
.nva-travel-hero__media img{width:100%;height:100%;object-fit:cover}
.nva-travel-hero__overlay{background:linear-gradient(0deg,rgba(5,35,35,.94),rgba(5,35,35,.28) 75%)}
.nva-travel-hero__content{position:relative;z-index:2}
.nva-travel-hero h1{max-width:1050px;margin:0;font:500 clamp(3.5rem,7vw,8rem)/.9 var(--nva-serif);letter-spacing:-.055em}
.nva-travel-hero__intro{max-width:720px;margin:24px 0 0;color:rgba(255,255,255,.82);font-size:1.08rem}
.nva-travel-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.nva-breadcrumbs{margin-bottom:28px}
.nva-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0;color:rgba(255,255,255,.72);font-size:.77rem}
.nva-breadcrumbs a{text-decoration:none}
.nva-breadcrumbs a:hover{text-decoration:underline}
.nva-travel-summary{background:#fff;border-bottom:1px solid var(--nva-line)}
.nva-travel-summary__grid{display:flex;flex-wrap:wrap;align-items:stretch}
.nva-travel-summary__grid>div{min-width:170px;flex:1;padding:22px;border-right:1px solid var(--nva-line)}
.nva-travel-summary__grid>div:first-child{padding-left:0}
.nva-travel-summary__grid>div:last-child{border-right:0}
.nva-travel-summary span,.nva-travel-summary strong,.nva-travel-summary small{display:block}
.nva-travel-summary span{font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--nva-coral)}
.nva-travel-summary strong{margin-top:4px;color:var(--nva-ink)}
.nva-travel-summary small{margin-top:2px;color:var(--nva-muted)}
.nva-travel-content{padding-top:80px;padding-bottom:100px}
.nva-prose{max-width:840px;margin:0 auto 80px;font-size:1.03rem}
.nva-prose h2,.nva-prose h3{font-family:var(--nva-serif);color:var(--nva-ink)}
.nva-travel-media-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;margin-bottom:100px}
.nva-travel-tool{padding:36px;border-radius:26px;background:#e7efeb}
.nva-travel-tool h2{margin:0;font:500 3rem/1 var(--nva-serif)}
.nva-travel-tool p:not(.nva-kicker){color:var(--nva-muted)}
.nva-travel-video{min-height:430px;overflow:hidden;border-radius:26px}
.nva-practical-note{margin:90px 0;padding:40px;border-radius:26px;background:var(--nva-ink);color:#fff}
.nva-practical-note h2{margin:0;font:500 3.3rem/1 var(--nva-serif)}
.nva-practical-note p:not(.nva-kicker){color:rgba(255,255,255,.75)}
.nva-personal-experience{margin:100px 0}
.nva-personal-experience__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.nva-personal-experience__grid article{padding:26px;border:1px solid var(--nva-line);border-radius:20px;background:#fff}
.nva-personal-experience__grid span{display:block;margin-bottom:12px;color:var(--nva-coral);font-size:.7rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.nva-personal-experience__grid p{margin:0;color:var(--nva-muted)}
.nva-context-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin:80px 0 0}
.nva-context-nav a{display:grid;padding:18px;border:1px solid var(--nva-line);border-radius:16px;background:#fff;text-decoration:none}
.nva-context-nav__next{text-align:right}
.nva-context-nav span{font-size:.68rem;color:var(--nva-muted);text-transform:uppercase}
.nva-context-nav strong{margin-top:5px;color:var(--nva-ink)}
.nva-context-nav__parent{min-width:190px;text-align:center;background:var(--nva-sand)!important}
@media(max-width:900px){.nva-travel-media-grid{grid-template-columns:1fr}
.nva-personal-experience__grid{grid-template-columns:1fr 1fr}
.nva-context-nav{grid-template-columns:1fr}
.nva-context-nav__next{text-align:left}
.nva-travel-summary__grid>div{min-width:50%;border-bottom:1px solid var(--nva-line)}
}
@media(max-width:600px){.nva-travel-hero{min-height:540px;padding:100px 0 54px}
.nva-travel-hero h1{font-size:3.7rem}
.nva-travel-summary__grid>div{min-width:100%;padding:16px 0;border-right:0}
.nva-travel-media-grid{margin-bottom:70px}
.nva-travel-video{min-height:330px}
.nva-personal-experience__grid{grid-template-columns:1fr}
}
/* Restaurantes y alojamientos aparecen dentro del viaje al que pertenecen. */
.nva-trip-places{margin:100px 0}
.nva-trip-places__groups{display:grid;align-items:start;gap:22px}
.nva-trip-places__groups.has-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.nva-trip-places__group{align-self:start;min-width:0;min-height:0;padding:24px;border:1px solid var(--nva-line);border-radius:24px;background:var(--nva-sand)}
.nva-trip-places__heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}
.nva-trip-places__heading>p{margin:0;color:var(--nva-coral);font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}
.nva-trip-places__heading h3{margin:0;font:500 clamp(2rem,3vw,3.1rem)/1 var(--nva-serif);color:var(--nva-ink)}
.nva-trip-places__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}
.nva-trip-places__grid.is-count-1 .nva-place-card>a{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(310px,.78fr);min-height:390px}
.nva-trip-places__grid.is-count-1 .nva-place-card__media{height:100%;aspect-ratio:auto}
.nva-trip-places__grid.is-count-1 .nva-place-card__body{padding:clamp(24px,3vw,42px)}
@media(max-width:1000px){.nva-trip-places__groups.has-two{grid-template-columns:1fr}
}
@media(max-width:600px){.nva-trip-places{margin:72px 0}
.nva-trip-places__group{padding:18px}
.nva-trip-places__heading{align-items:flex-start;flex-direction:column;gap:2px}
.nva-trip-places__grid{grid-template-columns:1fr}
.nva-trip-places__grid.is-count-1 .nva-place-card>a{display:flex;min-height:0}
.nva-trip-places__grid.is-count-1 .nva-place-card__media{height:auto;aspect-ratio:16/10}
.nva-trip-places__grid.is-count-1 .nva-place-card__body{padding:18px}
}
/* El siguiente nivel siempre queda visible en países, regiones e islas. */
.nva-child-destinations{margin:0 0 100px}
.nva-travel-card-grid{display:grid;gap:16px;align-items:stretch}
.nva-travel-card-grid.is-count-1{grid-template-columns:minmax(0,1fr)}
.nva-travel-card-grid.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nva-travel-card-grid.is-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.nva-travel-card-grid.is-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.nva-travel-card-grid.is-count-5{grid-template-columns:repeat(6,minmax(0,1fr))}
.nva-travel-card-grid.is-count-5>.nva-destination-card{grid-column:span 2}
.nva-travel-card-grid.is-count-5>.nva-destination-card:nth-last-child(-n+2){grid-column:span 3}
.nva-travel-card-grid.is-count-6{grid-template-columns:repeat(3,minmax(0,1fr))}
.nva-travel-card-grid.is-count-7{grid-template-columns:repeat(12,minmax(0,1fr))}
.nva-travel-card-grid.is-count-7>.nva-destination-card{grid-column:span 3}
.nva-travel-card-grid.is-count-7>.nva-destination-card:nth-last-child(-n+3){grid-column:span 4}
.nva-travel-card-grid.is-count-8{grid-template-columns:repeat(4,minmax(0,1fr))}
.nva-travel-card-grid .nva-destination-card{overflow:hidden;border:1px solid var(--nva-line);border-radius:22px;background:#fff;box-shadow:var(--nva-shadow-soft)}
.nva-travel-card-grid .nva-destination-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none}
.nva-travel-card-grid .nva-destination-card__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#dfe8e3}
.nva-travel-card-grid .nva-destination-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.nva-travel-card-grid .nva-destination-card__link:hover img{transform:scale(1.025)}
.nva-travel-card-grid .nva-destination-card__body{display:flex;flex:1;flex-direction:column;padding:18px}
.nva-travel-card-grid .nva-destination-card h3{margin:0;font:500 clamp(1.65rem,2.2vw,2.25rem)/1 var(--nva-serif);color:var(--nva-ink)}
.nva-travel-card-grid .nva-destination-card__body>p{color:var(--nva-muted)}
.nva-travel-card-grid .nva-card-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:14px 0 0;padding:0}
.nva-travel-card-grid .nva-card-tags li{padding:5px 9px;border-radius:999px;background:var(--nva-sand);font-size:.65rem;font-weight:800}
.nva-travel-card-grid .nva-card-features{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.nva-travel-card-grid .nva-card-features span{padding:5px 8px;border-radius:8px;background:#edf3ef;color:var(--nva-teal);font-size:.65rem;font-weight:850}
.nva-travel-card-grid .nva-card-action{display:block;margin-top:auto;padding-top:17px;color:var(--nva-teal);font-weight:900;font-size:.78rem}
.nva-status{position:absolute;top:12px;left:12px;padding:6px 9px;border-radius:999px;background:#fff;color:var(--nva-ink);font-size:.62rem;font-weight:900}
/* Las paradas sin fotografía no generan rectángulos vacíos gigantes. */




@media(max-width:1100px){.nva-travel-card-grid.is-count-3,.nva-travel-card-grid.is-count-4,.nva-travel-card-grid.is-count-5,.nva-travel-card-grid.is-count-6,.nva-travel-card-grid.is-count-7,.nva-travel-card-grid.is-count-8{grid-template-columns:repeat(2,minmax(0,1fr))}
.nva-travel-card-grid.is-count-5>.nva-destination-card,.nva-travel-card-grid.is-count-7>.nva-destination-card{grid-column:auto}
}
@media(max-width:900px){.nva-travel-card-grid.is-count-2,.nva-travel-card-grid.is-count-3,.nva-travel-card-grid.is-count-4,.nva-travel-card-grid.is-count-5,.nva-travel-card-grid.is-count-6,.nva-travel-card-grid.is-count-7,.nva-travel-card-grid.is-count-8{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){.nva-travel-card-grid.is-count-1,.nva-travel-card-grid.is-count-2,.nva-travel-card-grid.is-count-3,.nva-travel-card-grid.is-count-4,.nva-travel-card-grid.is-count-5,.nva-travel-card-grid.is-count-6,.nva-travel-card-grid.is-count-7,.nva-travel-card-grid.is-count-8{grid-template-columns:1fr}
}
/* Mapa, fotografías, vídeo y alojamiento sin duplicaciones. */
.nva-route-map{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:0 0 92px;padding:34px 38px;border-radius:26px;background:linear-gradient(135deg,#e8f0ec,#f8f4ec);border:1px solid var(--nva-line)}
.nva-route-map>div{max-width:760px}
.nva-route-map h2{margin:0;font:500 clamp(2.5rem,4vw,4.2rem)/.98 var(--nva-serif);letter-spacing:-.04em;color:var(--nva-ink)}
.nva-route-map p:not(.nva-kicker){margin:14px 0 0;color:var(--nva-muted)}
/* Alpha62 · un solo reproductor general por ruta/destino. Los fragmentos de cada parada son enlaces ligeros a YouTube. */
.nva-route-video{margin:100px 0;width:100%;border-radius:0;box-shadow:none}
.nva-route-video__copy{padding:6px}
.nva-route-video__copy strong{display:block;font:500 clamp(1.8rem,2.8vw,2.7rem)/1 var(--nva-serif)}
.nva-route-video__copy p:not(.nva-kicker){margin:9px 0 0;color:rgba(255,255,255,.72);font-size:.88rem}
.nva-route-video__youtube-link{display:inline-flex;margin-top:14px;color:#fff;font-size:.82rem;font-weight:850;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.nva-route-video__youtube-link:hover,.nva-route-video__youtube-link:focus-visible{color:#ffd7ca}
.nva-route-video__player{width:100%;aspect-ratio:16/9}
.nva-route-stay-link{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:24px;align-items:center;margin:88px 0;padding:22px;border-radius:24px;background:var(--nva-ink);color:#fff}
.nva-route-stay-link>img{width:150px;height:112px;object-fit:cover;border-radius:16px}
.nva-route-stay-link h2{margin:0;font:500 clamp(2rem,3vw,3.3rem)/1 var(--nva-serif)}
.nva-route-stay-link p:not(.nva-kicker){max-width:720px;margin:10px 0 0;color:rgba(255,255,255,.7)}
.nva-route-stay-link .nva-button{white-space:nowrap}
/* Alojamiento destacado: una sola estructura, sin columnas vacías. */
.nva-destination-stay{overflow:hidden;border:1px solid var(--nva-line);border-radius:28px;background:#fff;box-shadow:var(--nva-shadow-soft)}
.nva-destination-stay__top{display:grid;grid-template-columns:1fr}
.nva-destination-stay__top.no-gallery{grid-template-columns:1fr}
.nva-destination-stay__top.no-gallery .nva-destination-stay__body{max-width:820px}
.nva-destination-stay__top.has-gallery{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);align-items:stretch}
.nva-destination-stay__top.has-gallery .nva-destination-stay__body{width:100%;margin:0}
.nva-destination-stay__body{display:flex;flex-direction:column;justify-content:stretch;padding:clamp(34px,5vw,62px)}
.nva-destination-stay__body h3{margin:0;font:500 clamp(3rem,4.5vw,5rem)/.94 var(--nva-serif);letter-spacing:-.05em;color:var(--nva-ink)}
.nva-destination-stay__verdict{margin:22px 0 28px;color:var(--nva-muted);font-size:1rem;line-height:1.65}
.nva-destination-stay__body .nva-button{align-self:flex-start}
.nva-destination-stay__video{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:stretch;background:var(--nva-ink);color:#fff}
.nva-destination-stay__video-player{display:flex;min-width:0;padding:22px}
.nva-destination-stay__video-player .nv-lite-video{min-height:0;aspect-ratio:16/9;border-radius:18px}
.nva-destination-stay__video-copy{display:flex;flex-direction:column;justify-content:stretch;padding:34px 34px 34px 12px}
.nva-destination-stay__video-copy strong{font:500 clamp(2rem,3.3vw,3.4rem)/.98 var(--nva-serif)}
.nva-destination-stay__video-copy>p:not(.nva-kicker){margin:16px 0;color:rgba(255,255,255,.72)}
.nva-destination-stay__video-copy a{color:#fff;font-weight:850}
/* Container pages: compact editorial cover with a real image, never a blank green wall. */
.nva-travel-hero--container{min-height:430px;align-items:center;padding:92px 0 58px;background:linear-gradient(135deg,#0f3838,#174a49)}
.nva-travel-hero--container.has-image .nva-travel-hero__media{left:52%;width:48%}
.nva-travel-hero--container.has-image .nva-travel-hero__media img{object-position:center}
.nva-travel-hero--container.has-image .nva-travel-hero__overlay{background:linear-gradient(90deg,#0f3838 0,#0f3838 49%,rgba(15,56,56,.86) 58%,rgba(15,56,56,.08) 100%)}
.nva-travel-hero--container .nva-travel-hero__content{width:min(var(--nva-container),calc(100% - (2 * var(--nva-gutter))))}
.nva-travel-hero--container h1{max-width:49%;font-size:clamp(3.8rem,6.4vw,6.6rem)}
.nva-travel-hero--container .nva-travel-hero__intro{max-width:46%}
@media(max-width:900px){
  .nva-route-map{align-items:flex-start;flex-direction:column}
.nva-route-stay-link{grid-template-columns:120px minmax(0,1fr)}
.nva-route-stay-link>img{width:120px;height:100px}
.nva-route-stay-link .nva-button{grid-column:1/-1;justify-self:start}
.nva-destination-stay__top,.nva-destination-stay__top.has-gallery,.nva-destination-stay__video{grid-template-columns:1fr}
.nva-destination-stay__video-copy{padding:10px 24px 30px}
.nva-travel-hero--container.has-image .nva-travel-hero__media{left:0;width:100%}
.nva-travel-hero--container.has-image .nva-travel-hero__overlay{background:linear-gradient(0deg,rgba(5,35,35,.96),rgba(5,35,35,.35))}
.nva-travel-hero--container h1,.nva-travel-hero--container .nva-travel-hero__intro{max-width:100%}
}
@media(max-width:600px){
  .nva-route-map{margin-bottom:70px;padding:26px 22px}
.nva-route-video{margin:76px 0}
.nva-route-stay-link{grid-template-columns:1fr;padding:20px}
.nva-route-stay-link>img{width:100%;height:180px}
.nva-route-stay-link .nva-button{width:100%}
.nva-destination-stay__body{padding:28px 22px}
.nva-destination-stay__video-player{padding:16px}
.nva-destination-stay__video-copy{padding:8px 20px 26px}
.nva-travel-hero--container{min-height:480px;padding:96px 0 48px}
.nva-travel-hero--container h1{font-size:3.55rem}
}
/* La navegación contextual no crea columnas fantasma cuando falta anterior o siguiente. */
.nva-context-nav:not(.has-parent){grid-template-columns:repeat(2,minmax(0,1fr))}
.nva-context-nav.has-parent:not(.has-previous):not(.has-next){grid-template-columns:minmax(220px,420px);justify-content:stretch}
.nva-context-nav.has-parent.has-previous:not(.has-next){grid-template-columns:1fr auto}
.nva-context-nav.has-parent.has-next:not(.has-previous){grid-template-columns:auto 1fr}
.nva-context-nav.has-parent.has-next:not(.has-previous) .nva-context-nav__parent{order:1}
.nva-context-nav.has-parent.has-next:not(.has-previous) .nva-context-nav__next{order:2}
@media(max-width:900px){.nva-context-nav,.nva-context-nav:not(.has-parent),.nva-context-nav.has-parent:not(.has-previous):not(.has-next),.nva-context-nav.has-parent.has-previous:not(.has-next),.nva-context-nav.has-parent.has-next:not(.has-previous){grid-template-columns:1fr;justify-content:stretch}
.nva-context-nav.has-parent.has-next:not(.has-previous) .nva-context-nav__parent,.nva-context-nav.has-parent.has-next:not(.has-previous) .nva-context-nav__next{order:initial}
}
/* Alpha 21 · medios contextuales de cada parada */











.nva-trip-places__group + .nva-destination-stay{margin-top:22px}
/* Alpha 43 · fotografía limpia, sin marcos ni columnas vacías.
   Una sola plantilla para todos los destinos: las fotos cambian, la retícula no.
   Las galerías usan la proporción real de cada archivo y la imagen principal
   ocupa toda la altura de su fila, sin fondos borrosos ni bandas decorativas. */
.nva-stops{margin-top:72px}
.nva-stops__list{display:block}
.nva-stop{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  grid-template-areas:"media body";
  column-gap:clamp(36px,4vw,56px);
  row-gap:12px;
  align-items:stretch;
  padding:clamp(28px,3vw,38px) 0;
  border-top:1px solid var(--nva-line);
}
.nva-stop.has-recommendation.has-extras{grid-template-areas:"media body" "recommendation recommendation" "extras extras"}
.nva-stop.has-recommendation:not(.has-extras){grid-template-areas:"media body" "recommendation recommendation"}
.nva-stop.has-extras:not(.has-recommendation){grid-template-areas:"media body" "extras extras"}
.nva-stop:nth-child(even){
  background:rgba(247,240,228,.58);
  box-shadow:0 0 0 100vmax rgba(247,240,228,.58);
  clip-path:inset(0 -100vmax);
}
.nva-stop:last-child{border-bottom:1px solid var(--nva-line)}
.nva-stop.is-reverse{
  grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr);
  grid-template-areas:"body media";
}
.nva-stop.is-reverse.has-recommendation.has-extras{grid-template-areas:"body media" "recommendation recommendation" "extras extras"}
.nva-stop.is-reverse.has-recommendation:not(.has-extras){grid-template-areas:"body media" "recommendation recommendation"}
.nva-stop.is-reverse.has-extras:not(.has-recommendation){grid-template-areas:"body media" "extras extras"}
.nva-stop__media{
  grid-area:media;
  position:relative;
  align-self:stretch;
  justify-self:stretch;
  width:100%;
  height:100%;
  min-height:360px;
  min-width:0;
  max-height:none;
  overflow:hidden;
  background:transparent;
}
.nva-stop.is-portrait .nva-stop__media{
  justify-self:stretch;
  width:100%;
  max-height:none;
}
.nva-stop__media>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  object-fit:cover;
  object-position:center center;
  box-shadow:none;
}
.nva-stop.is-portrait .nva-stop__media>img,.nva-stop.has-person-subject .nva-stop__media>img{object-position:center 28%}
/* Alpha95 · sistema maestro de grupos fotográficos para la reparación.
   Solo se activa cuando el Core marca expresamente una parada como "grouped".
   Gran Canaria y cualquier página no marcada conservan el flujo Alpha94. */
.nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped{
  display:grid;
  width:100%;
  max-width:none;
  height:auto;
  min-height:0;
  aspect-ratio:4/3;
  gap:6px;
  align-self:start;
  overflow:hidden;
  background:transparent;
}
.nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-1{grid-template-columns:1fr}
.nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-3{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);grid-template-rows:repeat(2,minmax(0,1fr))}
.nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-3 .nva-stop__media-tile:first-child{grid-row:1 / 3}
.nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.nva-stop__media-tile{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;background:transparent}
.nva-stop__media-tile>img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center;border:0;box-shadow:none}
.nva-stop__media-tile.has-person-subject>img{object-position:center 28%}
.nva-stop.has-grouped-media .nva-stop__gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
.nva-stop.has-grouped-media .nva-stop__gallery-item{width:100%;height:auto;overflow:hidden}
.nva-stop.has-grouped-media .nva-stop__gallery-item>img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.nva-stop__number{
  position:absolute;
  z-index:2;
  top:14px;
  left:14px;
  display:grid;
  width:50px;
  height:50px;
  place-items:center;
  border-radius:50%;
  background:var(--nva-coral);
  color:#fff;
  font-size:.82rem;
  font-weight:950;
}
.nva-stop.is-reverse .nva-stop__number{right:14px;left:auto}
.nva-stop__photo-label{
  position:absolute;
  z-index:2;
  bottom:14px;
  left:14px;
  max-width:calc(100% - 28px);
  padding:6px 10px;
  background:rgba(11,39,42,.86);
  color:#fff;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.05em;
}
.nva-stop.is-reverse .nva-stop__photo-label{right:14px;left:auto}
.nva-stop__body{grid-area:body;align-self:start;min-width:0;padding:0}
.nva-stop__body h3{margin:0;color:var(--nva-ink);font:500 clamp(2.65rem,3.8vw,4.25rem)/.96 var(--nva-serif);letter-spacing:-.04em}
.nva-stop__text{margin-top:18px;color:var(--nva-muted)}
.nva-stop__text>:first-child{margin-top:0}
.nva-stop__text>:last-child{margin-bottom:0}
.nva-stop dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.nva-stop dl:empty{display:none}
.nva-stop dl div{padding:13px;background:rgba(247,240,228,.92)}
.nva-stop:nth-child(even) dl div{background:rgba(255,250,242,.86)}
.nva-stop dt{color:var(--nva-coral);font-size:.68rem;font-weight:950;text-transform:uppercase}
.nva-stop dd{margin:4px 0 0;font-weight:800}
.nva-stop__recommendation{
  grid-area:recommendation;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:20px;
  align-items:center;
  min-width:0;
  margin:2px 0 0;
  padding:20px 24px;
  border:0;
  border-left:5px solid var(--nva-coral);
  background:linear-gradient(135deg,#e5efea,#f7f3ea);
  box-shadow:0 10px 26px rgba(9,48,49,.07);
}
.nva-stop__recommendation-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:112px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--nva-coral);
  color:#fff;
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.nva-stop__recommendation strong{display:block;color:var(--nva-ink);font-size:1.15rem;line-height:1.2}
.nva-stop__recommendation p{margin:5px 0 0;color:var(--nva-muted)}
.nva-stop__extras{grid-area:extras;min-width:0;padding:0}
.nva-stop__gallery{display:flex;align-items:flex-start;width:100%;gap:10px;margin:0}
.nva-stop__gallery.is-count-1{display:block;width:100%;margin:0}
.nva-stop__gallery-item{
  position:relative;
  flex:var(--nva-gallery-ratio,1.5) 1 0;
  width:auto;
  min-width:0;
  height:auto;
  margin:0;
  overflow:visible;
  background:transparent;
}
.nva-stop__gallery.is-count-1 .nva-stop__gallery-item{width:100%}
.nva-stop__gallery-item>img{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  max-height:none;
  border:0;
  object-fit:contain;
  object-position:center center;
  box-shadow:none;
}
.nva-stop-video{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:22px;
  align-items:center;
  width:100%;
  margin:12px 0 0;
  padding:24px;
  background:var(--nva-ink);
  color:#fff;
}
.nva-stop-video__copy{padding:6px}
.nva-stop-video__copy .nva-kicker{margin-bottom:6px}
.nva-stop-video__copy strong{display:block;font:500 clamp(1.8rem,2.8vw,2.7rem)/1 var(--nva-serif)}
.nva-stop-video__copy p:not(.nva-kicker){margin:9px 0 0;color:rgba(255,255,255,.72);font-size:.88rem}
.nva-stop-video__player{position:relative;width:100%;min-height:0;aspect-ratio:16/9;overflow:hidden;border:0;border-radius:0;padding:0;background:#0c282a;cursor:pointer}
.nva-stop-video__player .nv-lite-video__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nva-stop-video__player:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.4))}
.nva-stop-video__player .nv-lite-video__play{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%)}
.nva-stop-video .nv-lite-video--playing,.nva-stop-video .nv-lite-video__iframe{width:100%;min-height:0;aspect-ratio:16/9;border:0;overflow:hidden}
.nva-image-credit{position:absolute;z-index:3;right:8px;bottom:8px;max-width:calc(100% - 16px);padding:5px 8px;background:rgba(11,39,42,.82);color:#fff;font-size:.58rem;line-height:1.2;text-decoration:none}
.nva-stop.no-image{grid-template-columns:1fr;grid-template-areas:"body"}
.nva-stop.no-image.has-recommendation.has-extras{grid-template-areas:"body" "recommendation" "extras"}
.nva-stop.no-image.has-recommendation:not(.has-extras){grid-template-areas:"body" "recommendation"}
.nva-stop.no-image.has-extras:not(.has-recommendation){grid-template-areas:"body" "extras"}
.nva-stop.no-image .nva-stop__media{display:none}
.nva-stop.no-image .nva-stop__body{max-width:860px}
/* Alojamiento: panorámicas completas a resolución original, sin recortes verticales. */
.nva-destination-stay__gallery{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:auto;
  min-height:0;
  gap:0;
  background:transparent;
}
.nva-destination-stay__gallery img,.nva-destination-stay__gallery img:first-child{
  grid-row:auto;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center center;
  background:#dfe8e3;
}
.nva-destination-stay__gallery.is-1{grid-template-columns:1fr}
.nva-destination-stay__gallery.is-1 img{aspect-ratio:16/9}
.nva-destination-stay__gallery.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nva-destination-stay__gallery.is-2 img{aspect-ratio:4/3}
.nva-destination-stay__gallery.is-3{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:repeat(2,minmax(0,1fr))}
.nva-destination-stay__gallery.is-3 img:first-child{grid-row:1 / 3;height:100%}
/* Five-photo content galleries must fill their final row instead of leaving a
   large empty fourth-column area. This applies to Gutenberg galleries inside
   travel/place prose and remains a single column on small screens. */
.nva-travel-main .wp-block-gallery.columns-4.has-nested-images:has(>figure:nth-child(5):last-child),
.nva-place-main .wp-block-gallery.columns-4.has-nested-images:has(>figure:nth-child(5):last-child){display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:10px!important}
.nva-travel-main .wp-block-gallery.columns-4.has-nested-images:has(>figure:nth-child(5):last-child)>figure,
.nva-place-main .wp-block-gallery.columns-4.has-nested-images:has(>figure:nth-child(5):last-child)>figure{grid-column:span 4;width:auto!important;margin:0!important}
.nva-travel-main .wp-block-gallery.columns-4.has-nested-images:has(>figure:nth-child(5):last-child)>figure:nth-child(n+4),
.nva-place-main .wp-block-gallery.columns-4.has-nested-images:has(>figure:nth-child(5):last-child)>figure:nth-child(n+4){grid-column:span 6}
/* Legacy/Classic WordPress gallery markup: same 3+2 packing rule. */
.nva-travel-main .wp-block-gallery.columns-4:has(.blocks-gallery-grid>.blocks-gallery-item:nth-child(5):last-child)>.blocks-gallery-grid,
.nva-place-main .wp-block-gallery.columns-4:has(.blocks-gallery-grid>.blocks-gallery-item:nth-child(5):last-child)>.blocks-gallery-grid,
.nva-travel-main .gallery.gallery-columns-4:has(>.gallery-item:nth-child(5):last-child),
.nva-place-main .gallery.gallery-columns-4:has(>.gallery-item:nth-child(5):last-child){display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:10px!important}
.nva-travel-main .wp-block-gallery.columns-4:has(.blocks-gallery-grid>.blocks-gallery-item:nth-child(5):last-child)>.blocks-gallery-grid>.blocks-gallery-item,
.nva-place-main .wp-block-gallery.columns-4:has(.blocks-gallery-grid>.blocks-gallery-item:nth-child(5):last-child)>.blocks-gallery-grid>.blocks-gallery-item,
.nva-travel-main .gallery.gallery-columns-4:has(>.gallery-item:nth-child(5):last-child)>.gallery-item,
.nva-place-main .gallery.gallery-columns-4:has(>.gallery-item:nth-child(5):last-child)>.gallery-item{grid-column:span 4;width:auto!important;max-width:none!important;margin:0!important}
.nva-travel-main .wp-block-gallery.columns-4:has(.blocks-gallery-grid>.blocks-gallery-item:nth-child(5):last-child)>.blocks-gallery-grid>.blocks-gallery-item:nth-child(n+4),
.nva-place-main .wp-block-gallery.columns-4:has(.blocks-gallery-grid>.blocks-gallery-item:nth-child(5):last-child)>.blocks-gallery-grid>.blocks-gallery-item:nth-child(n+4),
.nva-travel-main .gallery.gallery-columns-4:has(>.gallery-item:nth-child(5):last-child)>.gallery-item:nth-child(n+4),
.nva-place-main .gallery.gallery-columns-4:has(>.gallery-item:nth-child(5):last-child)>.gallery-item:nth-child(n+4){grid-column:span 6}
@media(max-width:1100px){
  .nva-stop,.nva-stop.is-reverse{grid-template-columns:1fr;grid-template-areas:"media" "body";row-gap:14px;padding:30px 0}
.nva-stop.has-recommendation.has-extras,.nva-stop.is-reverse.has-recommendation.has-extras{grid-template-areas:"media" "body" "recommendation" "extras"}
.nva-stop.has-recommendation:not(.has-extras),.nva-stop.is-reverse.has-recommendation:not(.has-extras){grid-template-areas:"media" "body" "recommendation"}
.nva-stop.has-extras:not(.has-recommendation),.nva-stop.is-reverse.has-extras:not(.has-recommendation){grid-template-areas:"media" "body" "extras"}
.nva-stop.no-image{grid-template-areas:"body"}
.nva-stop.no-image.has-recommendation.has-extras{grid-template-areas:"body" "recommendation" "extras"}
.nva-stop.no-image.has-recommendation:not(.has-extras){grid-template-areas:"body" "recommendation"}
.nva-stop.no-image.has-extras:not(.has-recommendation){grid-template-areas:"body" "extras"}
.nva-stop__media,.nva-stop.is-reverse .nva-stop__media{justify-self:center;width:100%;height:auto;min-height:0;max-width:760px;aspect-ratio:16/10}
.nva-stop.is-portrait .nva-stop__media{width:min(100%,520px);max-width:520px;aspect-ratio:3/4}
.nva-stop.is-reverse .nva-stop__number{right:auto;left:14px}
.nva-stop.is-reverse .nva-stop__photo-label{right:auto;left:14px}
.nva-stop__body{width:min(100%,760px);justify-self:center}
.nva-stop-video{grid-template-columns:1fr}
.nva-stop-video__player{order:-1}
.nva-destination-stay__gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .nva-travel-main .wp-block-gallery.columns-4.has-nested-images:has(>figure:nth-child(5):last-child),
  .nva-place-main .wp-block-gallery.columns-4.has-nested-images:has(>figure:nth-child(5):last-child){grid-template-columns:1fr!important}
  .nva-travel-main .wp-block-gallery.columns-4.has-nested-images:has(>figure:nth-child(5):last-child)>figure,
  .nva-place-main .wp-block-gallery.columns-4.has-nested-images:has(>figure:nth-child(5):last-child)>figure{grid-column:auto!important}
  .nva-travel-main .wp-block-gallery.columns-4:has(.blocks-gallery-grid>.blocks-gallery-item:nth-child(5):last-child)>.blocks-gallery-grid,
  .nva-place-main .wp-block-gallery.columns-4:has(.blocks-gallery-grid>.blocks-gallery-item:nth-child(5):last-child)>.blocks-gallery-grid,
  .nva-travel-main .gallery.gallery-columns-4:has(>.gallery-item:nth-child(5):last-child),
  .nva-place-main .gallery.gallery-columns-4:has(>.gallery-item:nth-child(5):last-child){grid-template-columns:1fr!important}
  .nva-travel-main .wp-block-gallery.columns-4:has(.blocks-gallery-grid>.blocks-gallery-item:nth-child(5):last-child)>.blocks-gallery-grid>.blocks-gallery-item,
  .nva-place-main .wp-block-gallery.columns-4:has(.blocks-gallery-grid>.blocks-gallery-item:nth-child(5):last-child)>.blocks-gallery-grid>.blocks-gallery-item,
  .nva-travel-main .gallery.gallery-columns-4:has(>.gallery-item:nth-child(5):last-child)>.gallery-item,
  .nva-place-main .gallery.gallery-columns-4:has(>.gallery-item:nth-child(5):last-child)>.gallery-item{grid-column:auto!important}
  .nva-stops{margin-top:56px}
  .nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped{width:100%;max-width:none;min-height:0;height:auto;aspect-ratio:1/1}
  .nva-stop.has-grouped-media .nva-stop__gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.nva-stop,.nva-stop.is-reverse,.nva-stop.no-image{padding:24px 0;row-gap:12px}
.nva-stop__media{aspect-ratio:4/3}
.nva-stop.is-portrait .nva-stop__media{width:min(100%,390px);aspect-ratio:3/4}
.nva-stop__body h3{font-size:clamp(2.45rem,11.5vw,3.45rem)}
.nva-stop dl{grid-template-columns:1fr}
.nva-stop__recommendation{grid-template-columns:1fr;gap:10px;padding:18px 17px}
.nva-stop__recommendation-badge{justify-self:start;min-width:0}
.nva-stop__gallery,.nva-stop__gallery.is-count-1,.nva-stop__gallery.is-count-2,.nva-stop__gallery.is-count-3{display:flex;flex-direction:column;gap:8px}
.nva-stop__gallery-item,.nva-stop__gallery.is-count-1 .nva-stop__gallery-item{width:100%;height:auto}
.nva-stop-video{padding:18px}
.nva-destination-stay__gallery,.nva-destination-stay__gallery.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nva-destination-stay__gallery.is-1{grid-template-columns:1fr}
.nva-destination-stay__gallery img,.nva-destination-stay__gallery img:first-child{height:auto;max-height:none;aspect-ratio:1/1}
.nva-destination-stay__gallery.is-1 img{aspect-ratio:16/9}
.nva-destination-stay__gallery.is-2 img{aspect-ratio:4/3}
.nva-image-credit{font-size:.54rem}
}

/* Alpha62 · layouts editoriales opt-in, aislados por metadatos.
   Pula, Zagreb, Poreč y cualquier parada sin estos metadatos conservan exactamente
   la retícula de Alpha51. No se infiere ningún diseño por número de fotos. */
.nva-travel-hero--open-frame{min-height:clamp(680px,78vh,840px)}

/* Pareja fotográfica SOLO cuando _nvea_media_layout=paired-after-copy.
   Orden: título/texto -> fotos -> recomendación. Las fotos mantienen su proporción,
   no se recortan ni deforman y el ancho se limita por resolución fuente. */
.nva-stop.has-media-pair,
.nva-stop.is-reverse.has-media-pair{
  grid-template-columns:1fr;
  grid-template-areas:"body" "media";
  column-gap:0;
  row-gap:18px;
}
.nva-stop.has-media-pair.has-recommendation,
.nva-stop.is-reverse.has-media-pair.has-recommendation,
.nva-stop.has-media-pair.has-recommendation:not(.has-extras),
.nva-stop.is-reverse.has-media-pair.has-recommendation:not(.has-extras){grid-template-columns:1fr;grid-template-areas:"body" "media" "recommendation"}
.nva-stop.has-media-pair.has-extras,
.nva-stop.is-reverse.has-media-pair.has-extras,
.nva-stop.has-media-pair.has-extras:not(.has-recommendation),
.nva-stop.is-reverse.has-media-pair.has-extras:not(.has-recommendation){grid-template-columns:1fr;grid-template-areas:"body" "media" "extras"}
.nva-stop.has-media-pair.has-recommendation.has-extras,
.nva-stop.is-reverse.has-media-pair.has-recommendation.has-extras{grid-template-columns:1fr;grid-template-areas:"body" "media" "recommendation" "extras"}
.nva-stop.has-media-pair .nva-stop__body{grid-area:body;width:100%;max-width:980px;justify-self:start;margin:0}
.nva-stop.has-media-pair .nva-stop__media{
  grid-area:media;
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-self:center;
  align-self:start;
  width:min(100%,var(--nva-pair-max,1600px));
  max-width:var(--nva-pair-max,1600px);
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
  background:transparent;
}
.nva-stop.has-media-pair .nva-stop__media-primary,
.nva-stop.has-media-pair .nva-stop__media-secondary{
  position:relative;
  flex-grow:var(--nva-pair-ratio,1.5);
  flex-basis:0;
  min-width:0;
  margin:0;
  overflow:visible;
  background:transparent;
}
.nva-stop.has-media-pair .nva-stop__media-primary>img,
.nva-stop.has-media-pair .nva-stop__media-secondary>img{
  position:relative;
  inset:auto;
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  min-height:0;
  max-height:none;
  border:0;
  object-fit:contain;
  object-position:center center;
  box-shadow:none;
}
.nva-stop.has-media-pair .nva-stop__number{left:14px;right:auto}
.nva-stop.is-reverse.has-media-pair .nva-stop__number{right:14px;left:auto}
.nva-stop.has-media-pair .nva-stop__photo-label{left:14px;right:auto;bottom:14px;max-width:calc(50% - 28px)}
.nva-stop.is-reverse.has-media-pair .nva-stop__photo-label{right:14px;left:auto}

/* Fragmentos de parada: sin seis reproductores incrustados en una misma página. */
.nva-stop-youtube{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  width:min(100%,720px);
  margin:4px 0 0;
  padding:12px 14px;
  border:1px solid var(--nva-line);
  background:#fff;
  color:var(--nva-ink);
  text-decoration:none;
}
.nva-stop-youtube:hover,.nva-stop-youtube:focus-visible{border-color:var(--nva-coral);box-shadow:0 8px 20px rgba(9,48,49,.08)}
.nva-stop-youtube__icon{display:grid;width:36px;height:28px;place-items:center;border-radius:7px;background:var(--nva-coral);color:#fff;font-size:.8rem}
.nva-stop-youtube__copy{display:block;min-width:0}
.nva-stop-youtube__copy strong{display:block;font-size:.84rem;line-height:1.2}
.nva-stop-youtube__copy small{display:block;margin-top:3px;color:var(--nva-muted);font-size:.72rem;line-height:1.35}
.nva-stop-youtube__arrow{font-weight:900;color:var(--nva-coral)}

/* Restaurante único SOLO cuando _nvea_places_layout=single-wide. */
.nva-trip-places__group.is-single-wide{width:100%;margin:0;padding:24px}
.nva-trip-places__single-label{margin:0 0 18px;color:var(--nva-coral);font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}
.nva-trip-places__group.is-single-wide .nva-trip-places__grid{grid-template-columns:1fr}
.nva-trip-places__group.is-single-wide .nva-place-card{width:100%}
.nva-trip-places__group.is-single-wide .nva-place-card>a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;min-height:0}
.nva-trip-places__group.is-single-wide .nva-place-card__media{height:auto;aspect-ratio:auto;overflow:hidden;background:transparent}
.nva-trip-places__group.is-single-wide .nva-place-card__media img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center center;transform:none}
.nva-trip-places__group.is-single-wide .nva-place-card>a:hover .nva-place-card__media img{transform:none}
.nva-trip-places__group.is-single-wide .nva-place-card__body{align-self:center;padding:clamp(24px,3vw,42px)}
.nva-trip-places__group.is-single-wide .nva-place-card h3{font-size:clamp(2.2rem,3.4vw,3.7rem)}
.nva-trip-places__group.is-single-wide .nva-place-card__verdict{max-width:58ch;font-size:.9rem;line-height:1.6}

@media(max-width:1100px){
  .nva-stop.has-media-pair,
  .nva-stop.is-reverse.has-media-pair{grid-template-columns:1fr;grid-template-areas:"body" "media"}
  .nva-stop.has-media-pair.has-recommendation,
  .nva-stop.is-reverse.has-media-pair.has-recommendation{grid-template-areas:"body" "media" "recommendation"}
  .nva-stop.has-media-pair.has-extras,
  .nva-stop.is-reverse.has-media-pair.has-extras{grid-template-areas:"body" "media" "extras"}
  .nva-stop.has-media-pair.has-recommendation.has-extras,
  .nva-stop.is-reverse.has-media-pair.has-recommendation.has-extras{grid-template-areas:"body" "media" "recommendation" "extras"}
  .nva-stop.has-media-pair .nva-stop__media{width:min(100%,var(--nva-pair-max,760px));max-width:var(--nva-pair-max,760px);aspect-ratio:auto}
  .nva-stop.has-media-pair .nva-stop__body{width:min(100%,760px);justify-self:center}
}
@media(max-width:820px){
  .nva-trip-places__group.is-single-wide .nva-place-card>a{display:flex;flex-direction:column}
  .nva-trip-places__group.is-single-wide .nva-place-card__media{width:100%}
  .nva-trip-places__group.is-single-wide .nva-place-card__body{width:100%;padding:20px}
}
@media(max-width:700px){
  .nva-travel-hero--open-frame{min-height:590px}
  .nva-stop.has-media-pair .nva-stop__media{display:flex;flex-direction:column;width:100%;max-width:100%;gap:8px;aspect-ratio:auto}
  .nva-stop.has-media-pair .nva-stop__media-primary,
  .nva-stop.has-media-pair .nva-stop__media-secondary{flex:none;width:100%;height:auto}
  .nva-stop.has-media-pair .nva-stop__media-primary>img,
  .nva-stop.has-media-pair .nva-stop__media-secondary>img{width:100%;height:auto;object-fit:contain}
  .nva-stop.has-media-pair .nva-stop__photo-label{max-width:calc(100% - 28px)}
  .nva-trip-places__group.is-single-wide{padding:18px}
}

/* Alpha 65 · sistema maestro de fotografía vertical.
   Regla GLOBAL y reutilizable: ninguna página/destino recibe CSS propio.
   Las paradas con una imagen principal vertical usan la misma variante de la
   plantilla, mantienen el orden y la recomendación del resto de paradas y
   muestran la fotografía completa, sin cover, deformación, marcos ni fondos.
   Las composiciones de dos imágenes (has-media-pair) conservan su componente
   reutilizable independiente. */
@media (min-width:1101px){
  .nva-stop.is-portrait:not(.has-media-pair){
    grid-template-columns:minmax(320px,480px) minmax(0,1fr);
  }
  .nva-stop.is-portrait.is-reverse:not(.has-media-pair){
    grid-template-columns:minmax(0,1fr) minmax(320px,480px);
  }
  .nva-stop.is-portrait:not(.has-media-pair) .nva-stop__media{
    justify-self:stretch;
    align-self:start;
    width:min(100%,var(--nva-media-max,480px));
    max-width:480px;
    height:auto;
    min-height:0;
    overflow:hidden;
  }
  .nva-stop.is-portrait:not(.has-media-pair) .nva-stop__media>img{
    position:relative;
    inset:auto;
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    object-fit:contain;
    object-position:center center;
    transform:none;
  }
}

/* Alpha68 · ajuste seguro de la variante semántica portrait-full.
   Se mantiene íntegro el sistema global de retratos de Alpha65 para no alterar
   páginas que ya estaban correctas. Solo cuando el contenido declara el layout
   genérico _nvea_media_layout=portrait-full, texto y Nuestra recomendación se
   agrupan en la columna contigua a la foto completa. No hay reglas por destino,
   slug, título o ID. paired-after-copy y el layout default quedan intactos. */
.nva-stop__content{display:contents}

@media (min-width:1101px){
  .nva-stop.media-layout-portrait-full:not(.has-media-pair),
  .nva-stop.is-reverse.media-layout-portrait-full:not(.has-media-pair){
    grid-template-columns:minmax(300px,360px) minmax(0,1fr);
    grid-template-areas:"media content" "extras extras";
    column-gap:clamp(32px,3.5vw,52px);
    align-items:start;
  }
  .nva-stop.is-reverse.media-layout-portrait-full:not(.has-media-pair){
    grid-template-columns:minmax(0,1fr) minmax(300px,360px);
    grid-template-areas:"content media" "extras extras";
  }
  .nva-stop.media-layout-portrait-full:not(.has-media-pair) .nva-stop__content{
    display:block;
    grid-area:content;
    align-self:start;
    min-width:0;
    width:100%;
  }
  .nva-stop.media-layout-portrait-full:not(.has-media-pair) .nva-stop__media{
    grid-area:media;
    width:min(100%,var(--nva-media-max,360px));
    max-width:360px;
  }
  .nva-stop.media-layout-portrait-full:not(.has-media-pair) .nva-stop__body{
    width:100%;
    max-width:none;
    min-width:0;
    padding:0;
  }
  .nva-stop.media-layout-portrait-full:not(.has-media-pair) .nva-stop__recommendation{
    width:100%;
    margin-top:18px;
  }
  .nva-stop.media-layout-portrait-full:not(.has-media-pair) .nva-stop__extras{
    grid-area:extras;
    padding-top:4px;
  }
}

/* Alpha66 — ritmo compacto y alineado de tarjetas hijas.
 * Regla de sistema: el contenido no se estira artificialmente para igualar alturas.
 * Los títulos comparten una zona de metadatos estable y el CTA sigue al contenido,
 * evitando grandes huecos blancos en tarjetas con descripciones más cortas.
 */
.nva-travel-card-grid{align-items:start}
.nva-travel-card-grid .nva-destination-card__link{height:auto}
.nva-travel-card-grid .nva-destination-card__body{display:grid;flex:none;grid-template-columns:minmax(0,1fr);align-content:start;padding:18px}
.nva-travel-card-grid .nva-card-eyebrow{display:block;min-height:2.5em;margin:0 0 7px!important;color:var(--nva-muted)!important;font-size:.76rem!important;font-weight:650!important;line-height:1.25!important;letter-spacing:0!important;text-transform:none!important}
.nva-travel-card-grid .nva-destination-card h3{margin:0 0 12px}
.nva-travel-card-grid .nva-destination-card__body>p:not(.nva-card-eyebrow){min-height:7.25em;margin:0;line-height:1.5}
.nva-travel-card-grid .nva-card-tags{margin-top:14px}
.nva-travel-card-grid .nva-card-features{margin-top:12px}
.nva-travel-card-grid .nva-card-action{margin-top:18px;padding-top:0}

@media(max-width:600px){
  .nva-travel-card-grid .nva-card-eyebrow{min-height:0}
  .nva-travel-card-grid .nva-destination-card__body>p:not(.nva-card-eyebrow){min-height:0}
}


/* Alpha69 · QA visual genérico.
 * 1) Las tarjetas hermanas recuperan la misma altura en cada fila de escritorio/tablet.
 * 2) Las tarjetas de restaurante pueden mostrar una galería compacta cuando el contenido
 *    declara _nvea_card_media_mode=gallery; no hay lógica por destino.
 * 3) Las galerías de alojamiento con fotos horizontales se centran verticalmente en el
 *    panel cuando la columna de texto es más alta, evitando el gran hueco solo debajo.
 */
@media (min-width:601px){
  .nva-travel-card-grid{align-items:stretch}
  .nva-travel-card-grid>.nva-destination-card{height:100%}
  .nva-travel-card-grid .nva-destination-card__link{height:100%}
  .nva-travel-card-grid .nva-destination-card__body{display:flex;flex:1;flex-direction:column}
  .nva-travel-card-grid .nva-destination-card__body>p:not(.nva-card-eyebrow){min-height:0}
  .nva-travel-card-grid .nva-card-action{margin-top:auto}
}
.nva-place-card__media--gallery{display:grid;gap:3px;aspect-ratio:16/10;background:#e5ebe7}
.nva-place-card__media--gallery img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;transform:none!important}
.nva-place-card__media--gallery.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nva-place-card__media--gallery.is-count-3{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:repeat(2,minmax(0,1fr))}
.nva-place-card__media--gallery.is-count-3 img:first-child{grid-row:1 / 3}
.nva-place-card__media--gallery.is-count-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.nva-place-card>a:hover .nva-place-card__media--gallery img{transform:none!important}
@media (min-width:901px){
  .nva-destination-stay__top.has-gallery .nva-destination-stay__gallery{align-self:stretch;align-content:center}
}
@media (max-width:600px){
  .nva-travel-card-grid>.nva-destination-card,
  .nva-travel-card-grid .nva-destination-card__link{height:auto}
}


/* Alpha71 · tarjeta-resumen con teaser fotográfico, no galería duplicada.
 * Regla global: cuando una tarjeta usa _nvea_card_media_mode=gallery,
 * la tarjeta muestra como máximo dos imágenes; la ficha individual conserva
 * su galería completa. En single-wide el panel fotográfico ocupa toda la altura
 * de su mitad de tarjeta, sin huecos blancos ni deformaciones.
 */
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery>a{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
}
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery .nva-place-card__media--gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-self:stretch;
  width:100%;
  height:100%;
  min-height:340px;
  overflow:hidden;
  gap:3px;
  aspect-ratio:auto;
  background:#e5ebe7;
}
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery .nva-place-card__media--gallery img{
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  transform:none!important;
}
@media(max-width:820px){
  .nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery>a{display:flex;flex-direction:column}
  .nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery .nva-place-card__media--gallery{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:16/10;
  }
}

/* Alpha72 · densidad responsive de tarjetas hijas.
 * Objetivo editorial: reducir el scroll vertical en países/regiones con muchos destinos
 * sin convertir la cuadrícula en un catálogo apretado.
 * - Escritorio amplio: 5 por fila.
 * - Pantalla muy ancha: hasta 6 cuando existen 6+ tarjetas y hay anchura real.
 * - Portátil: 4.
 * - Tablet grande: 3.
 * - Tablet/móvil horizontal: 2.
 * - Móvil: 1.
 * Las reglas especiales antiguas de 5/7 tarjetas quedan anuladas para evitar huecos.
 */
@media (min-width:1600px){
  .nva-child-destinations .nva-travel-card-grid.is-count-5{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .nva-child-destinations .nva-travel-card-grid.is-count-6,
  .nva-child-destinations .nva-travel-card-grid.is-count-7,
  .nva-child-destinations .nva-travel-card-grid.is-count-8{
    position:relative;
    left:50%;
    width:min(1480px,calc(100vw - (2 * var(--nva-gutter))));
    transform:translateX(-50%);
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}
@media (min-width:1280px) and (max-width:1599px){
  .nva-child-destinations .nva-travel-card-grid.is-count-5,
  .nva-child-destinations .nva-travel-card-grid.is-count-6,
  .nva-child-destinations .nva-travel-card-grid.is-count-7,
  .nva-child-destinations .nva-travel-card-grid.is-count-8{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
@media (min-width:1101px) and (max-width:1279px){
  .nva-child-destinations .nva-travel-card-grid.is-count-5,
  .nva-child-destinations .nva-travel-card-grid.is-count-6,
  .nva-child-destinations .nva-travel-card-grid.is-count-7,
  .nva-child-destinations .nva-travel-card-grid.is-count-8{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (min-width:901px) and (max-width:1100px){
  .nva-child-destinations .nva-travel-card-grid.is-count-3,
  .nva-child-destinations .nva-travel-card-grid.is-count-4,
  .nva-child-destinations .nva-travel-card-grid.is-count-5,
  .nva-child-destinations .nva-travel-card-grid.is-count-6,
  .nva-child-destinations .nva-travel-card-grid.is-count-7,
  .nva-child-destinations .nva-travel-card-grid.is-count-8{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (min-width:1101px){
  .nva-child-destinations .nva-travel-card-grid.is-count-5>.nva-destination-card,
  .nva-child-destinations .nva-travel-card-grid.is-count-7>.nva-destination-card{
    grid-column:auto;
  }
  .nva-child-destinations .nva-travel-card-grid.is-count-5 .nva-destination-card h3,
  .nva-child-destinations .nva-travel-card-grid.is-count-6 .nva-destination-card h3,
  .nva-child-destinations .nva-travel-card-grid.is-count-7 .nva-destination-card h3,
  .nva-child-destinations .nva-travel-card-grid.is-count-8 .nva-destination-card h3{
    font-size:clamp(1.55rem,1.65vw,1.9rem);
  }
}


/* Alpha73 · composición responsive integral para directorios de destino.
 * La cabecera, el grid, la navegación contextual y el paso a comentarios
 * comparten ahora el mismo ritmo y los mismos ejes visuales.
 */
.nva-travel-content.has-child-destinations{
  padding-bottom:56px;
}
.nva-child-destinations{
  margin-bottom:72px;
}
.nva-travel-content.has-child-destinations>.nva-child-destinations:last-of-type{
  margin-bottom:0;
}
.nva-child-destinations .nva-section-heading--single{
  margin-bottom:38px;
}
.nva-child-destinations .nva-section-heading--single>div{
  max-width:1080px;
}
.nva-child-destinations .nva-section-heading h2{
  max-width:none;
  font-size:clamp(3rem,4.55vw,5.2rem);
  line-height:.96;
}

/* A 1600px+ las páginas con 6-8 destinos ensanchan TODO el bloque, no solo el grid. */
@media(min-width:1600px){
  .nva-child-destinations.is-count-6,
  .nva-child-destinations.is-count-7,
  .nva-child-destinations.is-count-8{
    position:relative;
    left:50%;
    width:min(1480px,calc(100vw - (2 * var(--nva-gutter))));
    transform:translateX(-50%);
  }
  .nva-child-destinations.is-count-6 .nva-travel-card-grid,
  .nva-child-destinations.is-count-7 .nva-travel-card-grid,
  .nva-child-destinations.is-count-8 .nva-travel-card-grid{
    position:static;
    left:auto;
    width:auto;
    transform:none;
  }
  .nva-child-destinations.is-count-6 .nva-section-heading--single>div,
  .nva-child-destinations.is-count-7 .nva-section-heading--single>div,
  .nva-child-destinations.is-count-8 .nva-section-heading--single>div{
    max-width:1120px;
  }
}
@media(min-width:1280px) and (max-width:1599px){
  .nva-child-destinations .nva-section-heading--single>div{max-width:980px}
  .nva-child-destinations .nva-section-heading h2{font-size:clamp(3.3rem,4.6vw,4.8rem)}
}
@media(max-width:1100px){
  .nva-child-destinations .nva-section-heading--single>div{max-width:820px}
  .nva-child-destinations .nva-section-heading h2{font-size:clamp(2.9rem,6.2vw,4.25rem)}
}
@media(max-width:600px){
  .nva-travel-content.has-child-destinations{padding-bottom:44px}
  .nva-child-destinations .nva-section-heading--single{margin-bottom:28px}
  .nva-child-destinations .nva-section-heading h2{font-size:clamp(2.55rem,12vw,3.4rem)}
}

/* Navegación final: dos enlaces = dos tarjetas iguales; tres = tres columnas iguales.
 * Se eliminan las columnas `auto` que creaban barras vacías gigantes.
 */
.nva-context-nav{
  margin-top:48px;
  gap:14px;
  align-items:stretch;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.nva-context-nav a{
  min-width:0;
  min-height:88px;
  padding:20px 22px;
  align-content:center;
}
.nva-context-nav__parent{
  min-width:0;
  text-align:left;
}
.nva-context-nav__next{text-align:right}
.nva-context-nav.has-parent.has-next:not(.has-previous),
.nva-context-nav.has-parent.has-previous:not(.has-next),
.nva-context-nav.has-previous.has-next:not(.has-parent){
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.nva-context-nav.has-parent:not(.has-previous):not(.has-next),
.nva-context-nav.has-previous:not(.has-parent):not(.has-next),
.nva-context-nav.has-next:not(.has-parent):not(.has-previous){
  grid-template-columns:minmax(0,620px);
}
.nva-context-nav.has-next:not(.has-parent):not(.has-previous){justify-content:end}
.nva-context-nav.has-next:not(.has-parent):not(.has-previous) .nva-context-nav__next{text-align:right}
@media(max-width:900px){
  .nva-context-nav,
  .nva-context-nav.has-parent.has-next:not(.has-previous),
  .nva-context-nav.has-parent.has-previous:not(.has-next),
  .nva-context-nav.has-previous.has-next:not(.has-parent),
  .nva-context-nav.has-parent:not(.has-previous):not(.has-next),
  .nva-context-nav.has-previous:not(.has-parent):not(.has-next),
  .nva-context-nav.has-next:not(.has-parent):not(.has-previous){
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  .nva-context-nav__parent,
  .nva-context-nav__next{text-align:left}
}

/* Alpha74 · eje central único y responsive para directorios.
 * El contenido editorial, la navegación final y los comentarios comparten
 * un mismo centro visual sin fijar anchos que rompan tablet o móvil.
 */
.nva-travel-content.has-child-destinations>.nva-prose{
  width:min(900px,100%);
  margin:0 auto 68px;
  text-align:center;
}
.nva-child-destinations .nva-section-heading--single{
  justify-items:center;
  text-align:center;
}
.nva-child-destinations .nva-section-heading--single>div{
  width:min(1120px,100%);
  max-width:none;
  margin-inline:auto;
}
.nva-child-destinations .nva-section-heading h2{
  max-width:1120px;
  margin-inline:auto;
}
.nva-travel-content.has-child-destinations .nva-context-nav{
  width:min(1120px,100%);
  margin:48px auto 0;
}
.nva-travel-content.has-child-destinations .nva-context-nav a,
.nva-travel-content.has-child-destinations .nva-context-nav__parent,
.nva-travel-content.has-child-destinations .nva-context-nav__prev,
.nva-travel-content.has-child-destinations .nva-context-nav__next{
  justify-items:center;
  text-align:center;
}
@media(max-width:900px){
  .nva-travel-content.has-child-destinations>.nva-prose{
    margin-bottom:52px;
  }
  .nva-travel-content.has-child-destinations .nva-context-nav,
  .nva-travel-content.has-child-destinations .nva-context-nav.has-parent.has-next:not(.has-previous),
  .nva-travel-content.has-child-destinations .nva-context-nav.has-parent.has-previous:not(.has-next),
  .nva-travel-content.has-child-destinations .nva-context-nav.has-previous.has-next:not(.has-parent),
  .nva-travel-content.has-child-destinations .nva-context-nav.has-parent:not(.has-previous):not(.has-next),
  .nva-travel-content.has-child-destinations .nva-context-nav.has-previous:not(.has-parent):not(.has-next),
  .nva-travel-content.has-child-destinations .nva-context-nav.has-next:not(.has-parent):not(.has-previous){
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  .nva-travel-content.has-child-destinations .nva-context-nav__parent,
  .nva-travel-content.has-child-destinations .nva-context-nav__prev,
  .nva-travel-content.has-child-destinations .nva-context-nav__next{
    text-align:center;
  }
}
@media(max-width:600px){
  .nva-travel-content.has-child-destinations>.nva-prose{
    margin-bottom:42px;
    text-align:left;
  }
  .nva-child-destinations .nva-section-heading--single{
    text-align:center;
  }
  .nva-travel-content.has-child-destinations .nva-context-nav{
    margin-top:36px;
  }
}


/* Alpha75 · sistema maestro de composición para páginas directorio.
 * Objetivo: un único centro visual adaptable, sin bloques que "viajen" por separado.
 * Hero, introducción, título, tarjetas, navegación y comentarios se relacionan con
 * la misma retícula. En pantallas anchas se aprovecha el espacio; en tablet/móvil
 * la composición se simplifica sin forzar centrados incómodos.
 */
.nva-travel-main--pais,
.nva-travel-main--region,
.nva-travel-main--isla,
.nva-travel-main--ciudad{
  --nva-directory-max:1540px;
  --nva-directory-gutter:clamp(18px,4vw,64px);
}

/* El contenido con destinos hijos ocupa una retícula maestra real y centrada. */
.nva-travel-content.has-child-destinations{
  width:min(var(--nva-directory-max),calc(100% - (2 * var(--nva-directory-gutter))));
  margin-inline:auto;
}
.nva-travel-content.has-child-destinations>.nva-prose{
  width:min(960px,100%);
  margin:0 auto clamp(54px,5vw,76px);
  text-align:center;
}
.nva-child-destinations,
.nva-child-destinations.is-count-6,
.nva-child-destinations.is-count-7,
.nva-child-destinations.is-count-8{
  position:static;
  left:auto;
  width:100%;
  transform:none;
  margin-inline:auto;
}
.nva-child-destinations .nva-section-heading--single{
  width:100%;
  justify-items:center;
  text-align:center;
}
.nva-child-destinations .nva-section-heading--single>div{
  width:min(1120px,100%);
  margin-inline:auto;
}
.nva-child-destinations .nva-section-heading h2{
  max-width:1120px;
  margin-inline:auto;
  font-size:clamp(3rem,4.25vw,5rem);
}

/* Grid: densidad controlada según ancho real, sin sacar el grid del contenedor. */
@media(min-width:1600px){
  .nva-child-destinations .nva-travel-card-grid.is-count-6,
  .nva-child-destinations .nva-travel-card-grid.is-count-7,
  .nva-child-destinations .nva-travel-card-grid.is-count-8{
    position:static;
    left:auto;
    width:100%;
    transform:none;
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}
@media(min-width:1280px) and (max-width:1599px){
  .nva-child-destinations .nva-travel-card-grid.is-count-5,
  .nva-child-destinations .nva-travel-card-grid.is-count-6,
  .nva-child-destinations .nva-travel-card-grid.is-count-7,
  .nva-child-destinations .nva-travel-card-grid.is-count-8{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
@media(min-width:1101px) and (max-width:1279px){
  .nva-child-destinations .nva-travel-card-grid.is-count-5,
  .nva-child-destinations .nva-travel-card-grid.is-count-6,
  .nva-child-destinations .nva-travel-card-grid.is-count-7,
  .nva-child-destinations .nva-travel-card-grid.is-count-8{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(min-width:901px) and (max-width:1100px){
  .nva-child-destinations .nva-travel-card-grid.is-count-3,
  .nva-child-destinations .nva-travel-card-grid.is-count-4,
  .nva-child-destinations .nva-travel-card-grid.is-count-5,
  .nva-child-destinations .nva-travel-card-grid.is-count-6,
  .nva-child-destinations .nva-travel-card-grid.is-count-7,
  .nva-child-destinations .nva-travel-card-grid.is-count-8{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* Hero de páginas contenedor: el split también pertenece al centro maestro.
 * En monitor grande la imagen deja de dominar hasta el borde del viewport:
 * izquierda y derecha ocupan dos mitades de la misma retícula de 1540px.
 */
.nva-travel-hero--container{
  min-height:440px;
  padding:88px 0 62px;
  background:var(--nva-ink);
}
.nva-travel-hero--container .nva-travel-hero__content{
  width:min(var(--nva-directory-max),calc(100% - (2 * var(--nva-directory-gutter))));
  margin-inline:auto;
}
.nva-travel-hero--container.has-image .nva-travel-hero__media{
  inset:auto auto 0 50%;
  top:0;
  width:min(calc(var(--nva-directory-max) / 2),50vw);
  height:100%;
}
.nva-travel-hero--container.has-image .nva-travel-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.nva-travel-hero--container.has-image .nva-travel-hero__overlay{
  inset:auto auto 0 50%;
  top:0;
  width:min(calc(var(--nva-directory-max) / 2),50vw);
  height:100%;
  background:linear-gradient(90deg,rgba(15,56,56,.72) 0%,rgba(15,56,56,.28) 28%,rgba(15,56,56,.04) 65%,rgba(15,56,56,0) 100%);
}
.nva-travel-hero--container h1{
  max-width:46%;
  font-size:clamp(3.8rem,5.5vw,6.2rem);
}
.nva-travel-hero--container .nva-travel-hero__intro{
  max-width:43%;
}

/* Cierre: navegación alineada al centro maestro y con anchura deliberada. */
.nva-travel-content.has-child-destinations .nva-context-nav{
  width:min(1180px,100%);
  margin:clamp(42px,5vw,64px) auto 0;
  gap:16px;
}
.nva-travel-content.has-child-destinations .nva-context-nav a{
  min-height:92px;
  padding:20px 24px;
}

/* Tablet: hero apilado visualmente y cuerpo sin centrados forzados. */
@media(max-width:900px){
  .nva-travel-content.has-child-destinations{
    width:calc(100% - (2 * var(--nva-directory-gutter)));
  }
  .nva-travel-hero--container{
    min-height:500px;
    padding:94px 0 52px;
  }
  .nva-travel-hero--container .nva-travel-hero__content{
    width:calc(100% - (2 * var(--nva-directory-gutter)));
  }
  .nva-travel-hero--container.has-image .nva-travel-hero__media,
  .nva-travel-hero--container.has-image .nva-travel-hero__overlay{
    inset:0;
    width:100%;
    height:100%;
  }
  .nva-travel-hero--container.has-image .nva-travel-hero__overlay{
    background:linear-gradient(0deg,rgba(5,35,35,.96) 8%,rgba(5,35,35,.72) 48%,rgba(5,35,35,.32) 100%);
  }
  .nva-travel-hero--container h1,
  .nva-travel-hero--container .nva-travel-hero__intro{
    max-width:min(680px,100%);
  }
  .nva-travel-content.has-child-destinations>.nva-prose{
    width:min(760px,100%);
  }
  .nva-child-destinations .nva-section-heading h2{
    font-size:clamp(2.8rem,7vw,4.15rem);
  }
  .nva-travel-content.has-child-destinations .nva-context-nav{
    width:min(760px,100%);
  }
}

/* Móvil: lectura alineada a la izquierda; el centro visual lo aporta el contenedor. */
@media(max-width:600px){
  .nva-travel-main--pais,
  .nva-travel-main--region,
  .nva-travel-main--isla,
  .nva-travel-main--ciudad{
    --nva-directory-gutter:18px;
  }
  .nva-travel-content.has-child-destinations>.nva-prose,
  .nva-child-destinations .nva-section-heading--single{
    text-align:left;
  }
  .nva-child-destinations .nva-section-heading--single{
    justify-items:start;
  }
  .nva-child-destinations .nva-section-heading h2{
    margin-inline:0;
    font-size:clamp(2.45rem,11vw,3.25rem);
  }
  .nva-travel-content.has-child-destinations .nva-context-nav{
    width:100%;
    margin-top:34px;
  }
  .nva-travel-content.has-child-destinations .nva-context-nav a,
  .nva-travel-content.has-child-destinations .nva-context-nav__parent,
  .nva-travel-content.has-child-destinations .nva-context-nav__prev,
  .nva-travel-content.has-child-destinations .nva-context-nav__next{
    justify-items:start;
    text-align:left;
  }
}

/* Alpha76 · HERO BLOQUEADO: restauración exacta de la portada panorámica aprobada.
 * No reducir, encajonar ni centrar la imagen dentro del contenedor maestro.
 * Croacia, sus destinos/paradas y Gran Canaria conservan la portada visual anterior.
 */
.nva-travel-hero--container{
  min-height:430px;
  align-items:center;
  padding:92px 0 58px;
  background:linear-gradient(135deg,#0f3838,#174a49);
}
.nva-travel-hero--container .nva-travel-hero__content{
  width:min(var(--nva-container),calc(100% - (2 * var(--nva-gutter))));
  margin-inline:auto;
}
.nva-travel-hero--container.has-image .nva-travel-hero__media{
  inset:0 0 0 52%;
  width:48%;
  height:100%;
}
.nva-travel-hero--container.has-image .nva-travel-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.nva-travel-hero--container.has-image .nva-travel-hero__overlay{
  inset:0;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,#0f3838 0,#0f3838 49%,rgba(15,56,56,.86) 58%,rgba(15,56,56,.08) 100%);
}
.nva-travel-hero--container h1{
  max-width:49%;
  font-size:clamp(3.8rem,6.4vw,6.6rem);
}
.nva-travel-hero--container .nva-travel-hero__intro{max-width:46%;}

@media(max-width:900px){
  .nva-travel-hero--container{
    min-height:430px;
    padding:92px 0 58px;
  }
  .nva-travel-hero--container .nva-travel-hero__content{
    width:min(var(--nva-container),calc(100% - (2 * var(--nva-gutter))));
  }
  .nva-travel-hero--container.has-image .nva-travel-hero__media{
    inset:0;
    width:100%;
    height:100%;
  }
  .nva-travel-hero--container.has-image .nva-travel-hero__overlay{
    inset:0;
    width:100%;
    height:100%;
    background:linear-gradient(0deg,rgba(5,35,35,.96),rgba(5,35,35,.35));
  }
  .nva-travel-hero--container h1,
  .nva-travel-hero--container .nva-travel-hero__intro{max-width:100%;}
}
@media(max-width:600px){
  .nva-travel-hero--container{min-height:480px;padding:96px 0 48px;}
  .nva-travel-hero--container h1{font-size:3.55rem;}
}

/* Alpha77 · REGLA MAESTRA EDITORIAL PARA TODOS LOS TEXTOS NARRATIVOS.
 * Esta regla vive en la plantilla común de viaje: no se corrige destino por destino.
 * Los párrafos de introducción/relato arrancan siempre en el eje izquierdo del
 * contenedor maestro, con ancho de lectura controlado y adaptación responsive.
 * Los heroes panorámicos aprobados permanecen BLOQUEADOS y no se modifican.
 */
.nva-travel-content>.nva-prose,
.nva-travel-content.has-child-destinations>.nva-prose{
  width:min(900px,100%);
  max-width:none;
  margin-left:0;
  margin-right:auto;
  text-align:left;
}
.nva-travel-content>.nva-prose p,
.nva-travel-content>.nva-prose li,
.nva-travel-content>.nva-prose blockquote{
  text-align:left;
}

/* En páginas de detalle/ruta, el relato y el comienzo de "Ruta paso a paso"
 * comparten exactamente el mismo eje del contenedor nva-container. */
.nva-travel-content:not(.has-child-destinations)>.nva-prose{
  margin-bottom:clamp(58px,6vw,84px);
}

/* Tablet y móvil: se conserva el mismo eje; solo se amplía el ancho útil. */
@media(max-width:900px){
  .nva-travel-content>.nva-prose,
  .nva-travel-content.has-child-destinations>.nva-prose{
    width:min(820px,100%);
    margin-left:0;
    margin-right:auto;
  }
}
@media(max-width:600px){
  .nva-travel-content>.nva-prose,
  .nva-travel-content.has-child-destinations>.nva-prose{
    width:100%;
    margin-left:0;
    margin-right:0;
    text-align:left;
  }
}

/* Alpha78 · REGLA MAESTRA DE ALINEACIÓN DEL HERO DE PÁGINAS CONTENEDOR.
 * País, región, isla y ciudad usan un eje izquierdo más amplio en escritorio,
 * equivalente al lenguaje visual de las paradas, SIN tocar la fotografía.
 * La imagen panorámica aprobada de Alpha76 conserva exactamente su 48% derecho,
 * su object-fit, su recorte y su extensión hasta el borde del viewport.
 */
@media(min-width:901px){
  .nva-travel-main--pais .nva-travel-hero--container .nva-travel-hero__content,
  .nva-travel-main--region .nva-travel-hero--container .nva-travel-hero__content,
  .nva-travel-main--isla .nva-travel-hero--container .nva-travel-hero__content,
  .nva-travel-main--ciudad .nva-travel-hero--container .nva-travel-hero__content{
    width:min(var(--nva-directory-max),calc(100% - (2 * var(--nva-directory-gutter))));
    margin-inline:auto;
  }
}

/* Alpha79 · ARQUITECTURA MAESTRA DE EXPERIENCIAS EN PÁGINAS HUB.
 * La isla conserva solo el alojamiento base común; los restaurantes pertenecen
 * a cada excursión/ruta. El bloque de alojamiento comparte el mismo eje central
 * y la misma anchura visual que el directorio de excursiones.
 * Países y archipiélagos continúan sin agregados de restaurantes/alojamientos.
 */
.nva-trip-places--island-lodging{
  width:min(1180px,100%);
  margin:clamp(72px,7vw,100px) auto;
}
.nva-trip-places--island-lodging>.nva-section-heading--single{
  justify-items:center;
  text-align:center;
}
.nva-trip-places--island-lodging>.nva-section-heading--single>div{
  width:min(900px,100%);
  max-width:none;
  margin-inline:auto;
}
.nva-trip-places--island-lodging>.nva-section-heading--single h2{
  margin-inline:auto;
}
.nva-trip-places--island-lodging .nva-destination-stay{
  width:100%;
  margin-inline:auto;
}
@media(max-width:900px){
  .nva-trip-places--island-lodging{
    width:min(760px,100%);
  }
}
@media(max-width:600px){
  .nva-trip-places--island-lodging{
    width:100%;
    margin:64px auto;
  }
  .nva-trip-places--island-lodging>.nva-section-heading--single{
    justify-items:start;
    text-align:left;
  }
  .nva-trip-places--island-lodging>.nva-section-heading--single>div,
  .nva-trip-places--island-lodging>.nva-section-heading--single h2{
    margin-inline:0;
  }
}

/* Alpha81 · REGLA MAESTRA DE DENSIDAD PARA DESTINOS HIJOS.
 * Una o pocas tarjetas nunca se estiran como banners gigantes.
 * El bloque se centra y conserva una anchura editorial estable; al crecer el
 * número de destinos, la retícula se expande automáticamente hasta el sistema
 * 5/6 columnas ya aprobado. Regla global: país, región, archipiélago, isla y ciudad.
 */
.nva-child-destinations .nva-travel-card-grid.is-count-1{
  width:min(310px,100%);
  margin-inline:auto;
  grid-template-columns:minmax(0,1fr);
}
.nva-child-destinations .nva-travel-card-grid.is-count-2{
  width:min(640px,100%);
  margin-inline:auto;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.nva-child-destinations .nva-travel-card-grid.is-count-3{
  width:min(970px,100%);
  margin-inline:auto;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media (min-width:1101px){
  .nva-child-destinations .nva-travel-card-grid.is-count-4{
    width:min(1280px,100%);
    margin-inline:auto;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .nva-child-destinations .nva-travel-card-grid.is-count-5{
    width:100%;
    margin-inline:auto;
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
@media (max-width:900px){
  .nva-child-destinations .nva-travel-card-grid.is-count-1{
    width:min(440px,100%);
  }
  .nva-child-destinations .nva-travel-card-grid.is-count-3{
    width:min(760px,100%);
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:600px){
  .nva-child-destinations .nva-travel-card-grid.is-count-1,
  .nva-child-destinations .nva-travel-card-grid.is-count-2,
  .nva-child-destinations .nva-travel-card-grid.is-count-3{
    width:100%;
    grid-template-columns:1fr;
  }
}


/* Alpha83 · CIERRE DE COHERENCIA EDITORIAL.
 * El resumen rápido de páginas contenedor usa el mismo eje ancho que hero y directorio.
 * Así una única ficha (p. ej. la estancia de Gran Canaria) no queda flotando hacia el centro.
 * No modifica fotografía, hero, grid, restaurantes ni contenido de las rutas.
 */
@media(min-width:901px){
  .nva-travel-main--pais .nva-travel-summary__grid,
  .nva-travel-main--region .nva-travel-summary__grid,
  .nva-travel-main--isla .nva-travel-summary__grid,
  .nva-travel-main--ciudad .nva-travel-summary__grid{
    width:min(var(--nva-directory-max),calc(100% - (2 * var(--nva-directory-gutter))));
    margin-inline:auto;
  }
}

/* Alpha85 · HUBS VISUALES + NAVEGACIÓN SOLITARIA CENTRADA.
 * Croacia (país) y las islas-hub como Gran Canaria usan una portada fotográfica
 * completa y centrada. Las rutas/excursiones y otros niveles conservan su hero.
 * La navegación contextual con una sola tarjeta se centra automáticamente.
 */
@media (min-width:901px){
  .nva-travel-main--pais .nva-travel-hero--container,
  .nva-travel-main--isla .nva-travel-hero--container{
    min-height:clamp(500px,42vw,640px);
    align-items:center;
    padding:96px 0 72px;
    background:var(--nva-ink);
  }
  .nva-travel-main--pais .nva-travel-hero--container.has-image .nva-travel-hero__media,
  .nva-travel-main--isla .nva-travel-hero--container.has-image .nva-travel-hero__media{
    inset:0;
    width:100%;
    height:100%;
  }
  .nva-travel-main--pais .nva-travel-hero--container.has-image .nva-travel-hero__overlay,
  .nva-travel-main--isla .nva-travel-hero--container.has-image .nva-travel-hero__overlay{
    inset:0;
    width:100%;
    height:100%;
    background:linear-gradient(0deg,rgba(5,35,35,.90) 0%,rgba(5,35,35,.58) 50%,rgba(5,35,35,.38) 100%);
  }
  .nva-travel-main--pais .nva-travel-hero--container .nva-travel-hero__content,
  .nva-travel-main--isla .nva-travel-hero--container .nva-travel-hero__content{
    width:min(1080px,calc(100% - (2 * var(--nva-directory-gutter))));
    margin-inline:auto;
    text-align:center;
  }
  .nva-travel-main--pais .nva-travel-hero--container .nva-breadcrumbs ol,
  .nva-travel-main--isla .nva-travel-hero--container .nva-breadcrumbs ol{
    justify-content:center;
  }
  .nva-travel-main--pais .nva-travel-hero--container h1,
  .nva-travel-main--isla .nva-travel-hero--container h1{
    max-width:100%;
    margin-inline:auto;
    font-size:clamp(4rem,6.4vw,7rem);
  }
  .nva-travel-main--pais .nva-travel-hero--container .nva-travel-hero__intro,
  .nva-travel-main--isla .nva-travel-hero--container .nva-travel-hero__intro{
    max-width:780px;
    margin:24px auto 0;
  }
  .nva-travel-main--pais .nva-travel-hero--container .nva-travel-hero__actions,
  .nva-travel-main--isla .nva-travel-hero--container .nva-travel-hero__actions{
    justify-content:center;
  }

  /* En hubs, la introducción del cuerpo comparte el mismo centro que el título de rutas. */
  .nva-travel-main--pais .nva-travel-content.has-child-destinations>.nva-prose,
  .nva-travel-main--isla .nva-travel-content.has-child-destinations>.nva-prose{
    width:min(900px,100%);
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .nva-travel-main--pais .nva-travel-content.has-child-destinations>.nva-prose p,
  .nva-travel-main--isla .nva-travel-content.has-child-destinations>.nva-prose p{
    text-align:center;
  }
}

/* Una sola opción de navegación nunca queda pegada a un lateral. */
.nva-context-nav.has-parent:not(.has-previous):not(.has-next),
.nva-context-nav.has-previous:not(.has-parent):not(.has-next),
.nva-context-nav.has-next:not(.has-parent):not(.has-previous),
.nva-travel-content.has-child-destinations .nva-context-nav.has-parent:not(.has-previous):not(.has-next),
.nva-travel-content.has-child-destinations .nva-context-nav.has-previous:not(.has-parent):not(.has-next),
.nva-travel-content.has-child-destinations .nva-context-nav.has-next:not(.has-parent):not(.has-previous){
  grid-template-columns:minmax(0,620px);
  justify-content:center;
}
.nva-context-nav.has-parent:not(.has-previous):not(.has-next) a,
.nva-context-nav.has-previous:not(.has-parent):not(.has-next) a,
.nva-context-nav.has-next:not(.has-parent):not(.has-previous) a{
  width:100%;
  justify-items:center;
  text-align:center;
}

@media(max-width:900px){
  .nva-context-nav.has-parent:not(.has-previous):not(.has-next),
  .nva-context-nav.has-previous:not(.has-parent):not(.has-next),
  .nva-context-nav.has-next:not(.has-parent):not(.has-previous),
  .nva-travel-content.has-child-destinations .nva-context-nav.has-parent:not(.has-previous):not(.has-next),
  .nva-travel-content.has-child-destinations .nva-context-nav.has-previous:not(.has-parent):not(.has-next),
  .nva-travel-content.has-child-destinations .nva-context-nav.has-next:not(.has-parent):not(.has-previous){
    grid-template-columns:1fr;
    justify-content:stretch;
  }
}

/* Alpha86 · navegación contextual de una sola opción.
 * La tarjeta única se centra como BLOQUE, no como pista dentro de una rejilla ancha.
 * Es una regla global: país, región/archipiélago, isla, ciudad y cualquier nivel futuro.
 */
.nva-context-nav.is-single{
  display:block;
  width:min(680px,calc(100% - 36px));
  max-width:680px;
  margin-left:auto !important;
  margin-right:auto !important;
}
.nva-context-nav.is-single>a{
  display:grid;
  width:100%;
  min-width:0;
  max-width:none;
  margin:0;
  justify-items:center;
  text-align:center;
}
@media(max-width:900px){
  .nva-context-nav.is-single{
    width:min(680px,100%);
  }
}
@media(max-width:600px){
  .nva-context-nav.is-single{
    width:100%;
  }
  .nva-context-nav.is-single>a{
    justify-items:start;
    text-align:left;
  }
}

/* Fotos concretas aprobadas para verse completas y compactas.
 * La marca vive en el adjunto: si una foto no está marcada, conserva Alpha87
 * exactamente. No hay selectores por destino, página, parada o restaurante. */
.nva-stop.has-compact-media .nva-stop__media.nva-media--compact-contain{
  display:flex;
  flex-direction:column;
  align-self:start;
  justify-self:center;
  width:min(100%,var(--nva-media-max,620px),calc(420px * var(--nva-media-ratio,1.5)));
  height:auto;
  min-height:0;
  max-height:none;
  aspect-ratio:auto;
  overflow:visible;
  background:transparent;
}
.nva-stop.has-compact-media .nva-stop__media.nva-media--compact-contain>img{
  position:relative;
  inset:auto;
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  max-height:420px;
  margin-inline:auto;
  object-fit:contain;
  object-position:center center;
}
.nva-stop__gallery-item.nva-media--compact-contain{
  flex:0 1 auto;
  width:fit-content;
  max-width:100%;
  margin-inline:auto;
}
.nva-stop__gallery-item.nva-media--compact-contain>img{
  width:auto;
  max-width:100%;
  max-height:360px;
  margin-inline:auto;
}
.nva-place-card.has-compact-media>a{
  display:grid;
  grid-template-columns:minmax(240px,.82fr) minmax(300px,1.18fr);
  align-items:center;
  min-height:0;
}
.nva-place-card.has-compact-media .nva-place-card__media{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  align-self:center;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:auto;
  overflow:visible;
  gap:8px;
  background:transparent;
}
.nva-place-card.has-compact-media .nva-place-card__media img{
  display:block;
  flex:0 1 auto;
  width:auto;
  max-width:calc(50% - 4px);
  height:auto;
  max-height:300px;
  object-fit:contain;
  object-position:center center;
  transform:none;
}
.nva-place-card.has-compact-media:not(.has-media-gallery) .nva-place-card__media img{max-width:100%}
.nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media>a,
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media>a{
  display:grid;
  grid-template-columns:minmax(240px,.82fr) minmax(300px,1.18fr);
  align-items:center;
  min-height:0;
}
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media .nva-place-card__media--gallery{
  display:flex;
  flex-wrap:wrap;
  align-self:center;
  align-items:center;
  justify-content:center;
  width:100%;
  height:auto;
  min-height:0;
  overflow:visible;
  gap:8px;
  aspect-ratio:auto;
  background:transparent;
}
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media .nva-place-card__media--gallery img{
  display:block;
  flex:0 1 auto;
  width:auto;
  max-width:calc(50% - 4px);
  height:auto;
  min-height:0;
  max-height:300px;
  object-fit:contain;
  object-position:center center;
}
.nva-destination-stay__gallery.has-compact-media{
  display:flex;
  flex-wrap:wrap;
  align-content:center;
  align-items:flex-start;
  justify-content:center;
  gap:8px;
  background:transparent;
}
.nva-destination-stay__top.has-gallery.has-compact-gallery{
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  align-items:center;
}
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media{
  align-self:center;
  align-content:flex-start;
}
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__body{
  justify-content:center;
  padding:clamp(24px,3vw,40px);
}
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__body h3{
  font-size:clamp(2.4rem,3.5vw,3.9rem);
}
.nva-destination-stay__gallery.has-compact-media img{
  display:block;
  flex:0 1 auto;
  width:auto;
  max-width:calc(33.333% - 6px);
  height:auto;
  max-height:220px;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center center;
  background:transparent;
}
@media(max-width:900px){
  .nva-destination-stay__top.has-gallery.has-compact-gallery{
    grid-template-columns:1fr;
    align-items:start;
  }
  .nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media{width:100%}
}
@media(max-width:820px){
  .nva-place-card.has-compact-media>a,
  .nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media>a,
  .nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media>a{display:flex;flex-direction:column}
  .nva-place-card.has-compact-media .nva-place-card__media img,
  .nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media .nva-place-card__media--gallery img{max-height:300px}
  .nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media .nva-place-card__media--gallery{width:100%;height:auto;min-height:0;aspect-ratio:auto}
}
@media(max-width:680px){
  .nva-stop.has-compact-media .nva-stop__media.nva-media--compact-contain{max-width:100%}
  .nva-stop.has-compact-media .nva-stop__media.nva-media--compact-contain>img{max-height:420px}
  .nva-stop__gallery-item.nva-media--compact-contain>img{max-height:360px}
  .nva-destination-stay__gallery.has-compact-media img{max-width:calc(50% - 4px);max-height:240px}
}

/* Alpha87 · paradas compactas con el ritmo visual aprobado de Pula.
 * Las fotografías verticales dejan de imponer su proporción completa al bloque:
 * ocupan la misma caja editorial que una horizontal y la rellenan con cover.
 * Así conservan presencia, no generan bandas ni huecos blancos y no alargan la
 * página con imágenes de altura desproporcionada. Es una regla global y sirve
 * también para cualquier destino futuro, sin selectores por ciudad o parada.
 */
@media(min-width:1101px){
  .nva-stop.is-portrait:not(.has-media-pair):not(.has-compact-media):not(.has-grouped-media),
  .nva-stop.is-portrait.is-reverse:not(.has-media-pair):not(.has-compact-media):not(.has-grouped-media){
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .nva-stop.is-portrait:not(.has-media-pair):not(.has-grouped-media) .nva-stop__media:not(.nva-media--compact-contain){
    align-self:stretch;
    justify-self:stretch;
    width:100%;
    max-width:none;
    height:100%;
    min-height:360px;
    max-height:none;
    overflow:hidden;
  }
  .nva-stop.is-portrait:not(.has-media-pair):not(.has-grouped-media) .nva-stop__media:not(.nva-media--compact-contain)>img{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center 28%;
  }
}
@media(max-width:1100px){
  .nva-stop.is-portrait:not(.has-grouped-media) .nva-stop__media:not(.nva-media--compact-contain),
  .nva-stop.is-reverse.is-portrait:not(.has-grouped-media) .nva-stop__media:not(.nva-media--compact-contain){
    width:100%;
    max-width:760px;
    aspect-ratio:16/10;
  }
}
@media(max-width:680px){
  .nva-stop.is-portrait:not(.has-grouped-media) .nva-stop__media:not(.nva-media--compact-contain),
  .nva-stop.is-reverse.is-portrait:not(.has-grouped-media) .nva-stop__media:not(.nva-media--compact-contain){
    width:100%;
    max-width:100%;
    aspect-ratio:4/3;
  }
}

/* Alpha90 · revisión completa de las fotografías señaladas.
 * La fila deja de heredar la altura de una vertical grande: texto, datos y
 * recomendación permanecen juntos al costado y arrancan en la misma línea.
 * Las imágenes conservan siempre su relación de aspecto y nunca usan cover. */
.nva-stop.has-compact-media,
.nva-stop.has-compact-gallery-pair{
  width:min(100%,1080px);
  margin-inline:auto;
  padding:24px 0;
}

@media(min-width:1101px){
  .nva-stop.has-compact-media:not(.has-media-pair),
  .nva-stop.is-reverse.has-compact-media:not(.has-media-pair){
    grid-template-columns:420px minmax(0,1fr);
    grid-template-areas:"media content" "extras extras";
    align-items:start;
    column-gap:clamp(30px,3.4vw,46px);
    row-gap:16px;
  }
  .nva-stop.is-reverse.has-compact-media:not(.has-media-pair){
    grid-template-columns:minmax(0,1fr) 420px;
    grid-template-areas:"content media" "extras extras";
  }
  .nva-stop.is-portrait.has-compact-media:not(.has-media-pair){
    grid-template-columns:275px minmax(0,1fr);
  }
  .nva-stop.is-reverse.is-portrait.has-compact-media:not(.has-media-pair){
    grid-template-columns:minmax(0,1fr) 275px;
  }
  .nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__content,
  .nva-stop.has-compact-gallery-pair .nva-stop__content{
    display:block;
    grid-area:content;
    align-self:start;
    min-width:0;
    width:100%;
  }
  .nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__body,
  .nva-stop.has-compact-gallery-pair .nva-stop__body{
    width:100%;
    max-width:none;
  }
  .nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__recommendation,
  .nva-stop.has-compact-gallery-pair .nva-stop__recommendation{
    width:100%;
    margin-top:16px;
  }
  .nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__media.nva-media--compact-contain{
    align-self:start;
    justify-self:stretch;
    width:100%;
    max-width:none;
    height:auto;
    min-height:0;
    margin:0;
  }
  .nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__media.nva-media--compact-contain>img{
    width:100%;
    max-width:none;
    height:auto;
    max-height:none;
    margin:0;
  }

  .nva-stop.has-compact-gallery-pair,
  .nva-stop.is-reverse.has-compact-gallery-pair{
    grid-template-columns:minmax(520px,600px) minmax(0,1fr);
    grid-template-areas:"media content" "extras extras";
    align-items:start;
    column-gap:clamp(28px,3vw,42px);
    row-gap:16px;
  }
  .nva-stop.is-reverse.has-compact-gallery-pair{
    grid-template-columns:minmax(0,1fr) minmax(520px,600px);
    grid-template-areas:"content media" "extras extras";
  }
  .nva-stop.has-compact-gallery-pair .nva-stop__media{
    display:flex;
    grid-area:media;
    align-self:start;
    justify-self:stretch;
    align-items:flex-start;
    gap:8px;
    width:100%;
    max-width:none;
    height:auto;
    min-height:0;
    margin:0;
    overflow:visible;
  }
  .nva-stop.has-compact-gallery-pair .nva-stop__media-primary>img,
  .nva-stop.has-compact-gallery-pair .nva-stop__media-secondary>img{
    display:block;
    width:100%;
    max-width:none;
    height:auto;
    max-height:none;
    margin:0;
    object-fit:contain;
  }
}

/* Tarjetas de restaurantes y alojamientos: el panel visual y el texto empiezan
 * arriba. Una vertical sola recibe una columna estrecha; una pareja se agrupa
 * en una sola banda fotográfica, sin miniaturas flotantes. */
.nva-place-card.has-compact-media>a,
.nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media>a,
.nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media>a{
  display:grid;
  grid-template-columns:275px minmax(0,1fr);
  align-items:start;
  width:min(100%,980px);
  min-height:0;
  margin-inline:auto;
}
.nva-place-card.has-media-gallery.has-compact-media>a,
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media>a{
  grid-template-columns:minmax(400px,470px) minmax(0,1fr);
}
.nva-place-card.has-compact-media.compact-is-portrait:not(.has-media-gallery)>a,
.nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media.compact-is-portrait:not(.has-media-gallery)>a,
.nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media.compact-is-portrait:not(.has-media-gallery)>a{
  grid-template-columns:230px minmax(0,1fr);
}
.nva-place-card.has-compact-media.compact-is-landscape:not(.has-media-gallery)>a,
.nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media.compact-is-landscape:not(.has-media-gallery)>a,
.nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media.compact-is-landscape:not(.has-media-gallery)>a{
  grid-template-columns:minmax(400px,460px) minmax(0,1fr);
}
.nva-place-card.has-compact-media.compact-is-square:not(.has-media-gallery)>a,
.nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media.compact-is-square:not(.has-media-gallery)>a,
.nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media.compact-is-square:not(.has-media-gallery)>a{
  grid-template-columns:320px minmax(0,1fr);
}
.nva-place-card.has-compact-media .nva-place-card__body,
.nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media .nva-place-card__body{
  align-self:start;
  padding:24px;
}
.nva-place-card.has-compact-media .nva-place-card__media,
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media .nva-place-card__media--gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-self:start;
  align-items:start;
  justify-content:stretch;
  gap:6px;
  width:100%;
  height:auto;
  min-height:0;
  overflow:visible;
  aspect-ratio:auto;
  background:transparent;
}
.nva-place-card.has-compact-media:not(.has-media-gallery) .nva-place-card__media,
.nva-place-card.has-compact-media .nva-place-card__media--gallery:has(img:only-child){grid-template-columns:1fr}
.nva-place-card.has-compact-media .nva-place-card__media img,
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media .nva-place-card__media--gallery img{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  min-height:0;
  max-height:none;
  margin:0;
  object-fit:contain;
  transform:none;
}

/* El alojamiento marcado usa una cuadrícula real. Un único collage ocupa la
 * columna completa; dos o más fotos se agrupan sin columnas vacías. */
.nva-destination-stay__top.has-gallery.has-compact-gallery{
  grid-template-columns:330px minmax(0,1fr);
  align-items:start;
  width:min(100%,980px);
  margin-inline:auto;
}
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-self:start;
  align-items:start;
  gap:6px;
  width:100%;
  padding:0;
  background:transparent;
}
.nva-destination-stay__gallery.has-compact-media.is-1{grid-template-columns:1fr}
.nva-destination-stay__gallery.has-compact-media.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__body{
  align-self:start;
  justify-content:flex-start;
  padding:24px 28px;
}
.nva-destination-stay__gallery.has-compact-media img{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  max-height:none;
  margin:0;
  aspect-ratio:auto;
  object-fit:contain;
  background:transparent;
}

@media(max-width:1100px){
  .nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__media.nva-media--compact-contain{
    justify-self:center;
    width:min(100%,680px);
    max-width:680px;
    height:auto;
  }
  .nva-stop.is-portrait.has-compact-media:not(.has-media-pair) .nva-stop__media.nva-media--compact-contain{
    width:min(100%,360px);
    max-width:360px;
  }
  .nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__media.nva-media--compact-contain>img{
    width:100%;
    max-width:none;
    height:auto;
    max-height:none;
    margin:0;
  }
  .nva-stop.has-compact-gallery-pair,
  .nva-stop.is-reverse.has-compact-gallery-pair{
    grid-template-columns:1fr;
    grid-template-areas:"media" "body" "recommendation" "extras";
  }
  .nva-stop.has-compact-gallery-pair .nva-stop__content{display:contents}
  .nva-stop.has-compact-gallery-pair .nva-stop__media{
    display:flex;
    align-items:flex-start;
    width:100%;
    max-width:680px;
    gap:8px;
    aspect-ratio:auto;
  }
  .nva-stop.has-compact-gallery-pair .nva-stop__media img{width:100%;height:auto;object-fit:contain}
}

@media(max-width:900px){
  .nva-place-card.has-compact-media>a,
  .nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media>a,
  .nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media>a,
  .nva-place-card.has-media-gallery.has-compact-media>a,
  .nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media>a,
  .nva-place-card.has-compact-media.compact-is-portrait:not(.has-media-gallery)>a,
  .nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media.compact-is-portrait:not(.has-media-gallery)>a,
  .nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media.compact-is-portrait:not(.has-media-gallery)>a,
  .nva-place-card.has-compact-media.compact-is-landscape:not(.has-media-gallery)>a,
  .nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media.compact-is-landscape:not(.has-media-gallery)>a,
  .nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media.compact-is-landscape:not(.has-media-gallery)>a,
  .nva-place-card.has-compact-media.compact-is-square:not(.has-media-gallery)>a,
  .nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media.compact-is-square:not(.has-media-gallery)>a,
  .nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media.compact-is-square:not(.has-media-gallery)>a,
  .nva-destination-stay__top.has-gallery.has-compact-gallery{
    grid-template-columns:1fr;
  }
  .nva-place-card.has-compact-media .nva-place-card__media{width:min(100%,620px);justify-self:center}
}

@media(max-width:700px){
  .nva-stop.has-compact-gallery-pair .nva-stop__media{flex-direction:column}
  .nva-stop.has-compact-gallery-pair .nva-stop__media-primary,
  .nva-stop.has-compact-gallery-pair .nva-stop__media-secondary{flex:none;width:100%}
  .nva-place-card.has-compact-media .nva-place-card__media,
  .nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media .nva-place-card__media--gallery{grid-template-columns:1fr}
  .nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nva-destination-stay__gallery.has-compact-media.is-1{grid-template-columns:1fr}
}

@media(max-width:680px){
  .nva-stop.is-portrait.has-compact-media:not(.has-media-pair) .nva-stop__media.nva-media--compact-contain{
    width:min(100%,360px);
    max-width:360px;
  }
}

/* Alpha91 · anchura única y responsive para todas las fotografías señaladas.
 * Cada parada, restaurante y alojamiento usa la misma retícula 50/50 en
 * escritorio. La orientación ya no modifica el ancho del módulo: solo el modo
 * en que la fotografía completa se encaja dentro de su mitad. El fondo deriva
 * de la propia imagen para ocupar la caja sin franjas blancas, mientras la
 * copia principal permanece completa, sin deformación ni recorte. */
@media(min-width:1101px){
  .nva-stop.has-compact-media:not(.has-media-pair),
  .nva-stop.is-reverse.has-compact-media:not(.has-media-pair),
  .nva-stop.is-portrait.has-compact-media:not(.has-media-pair),
  .nva-stop.is-reverse.is-portrait.has-compact-media:not(.has-media-pair),
  .nva-stop.has-compact-gallery-pair,
  .nva-stop.is-reverse.has-compact-gallery-pair{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    width:min(100%,1080px);
    column-gap:0;
  }
  .nva-stop.has-compact-media:not(.has-media-pair),
  .nva-stop.has-compact-gallery-pair{grid-template-areas:"media content" "extras extras"}
  .nva-stop.is-reverse.has-compact-media:not(.has-media-pair),
  .nva-stop.is-reverse.has-compact-gallery-pair{grid-template-areas:"content media" "extras extras"}
  .nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__content,
  .nva-stop.has-compact-gallery-pair .nva-stop__content{padding-left:clamp(30px,3.4vw,46px)}
  .nva-stop.is-reverse.has-compact-media:not(.has-media-pair) .nva-stop__content,
  .nva-stop.is-reverse.has-compact-gallery-pair .nva-stop__content{padding-right:clamp(30px,3.4vw,46px);padding-left:0}
}
.nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__media,
.nva-stop.has-compact-gallery-pair .nva-stop__media{
  width:100%;
  max-width:none;
  height:auto;
  min-height:0;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#dfe8e3;
}
.nva-stop.has-compact-gallery-pair .nva-stop__media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.nva-stop.has-compact-gallery-pair .nva-stop__media-primary,
.nva-stop.has-compact-gallery-pair .nva-stop__media-secondary{
  position:relative;
  display:grid;
  min-width:0;
  height:100%;
  place-items:center;
  margin:0;
  overflow:hidden;
  background:#dfe8e3;
}
.nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__media>.nva-stop__media-backdrop,
.nva-stop.has-compact-gallery-pair .nva-stop__media-backdrop{
  position:absolute;
  z-index:0;
  inset:-24px;
  display:block;
  width:calc(100% + 48px);
  height:calc(100% + 48px);
  max-width:none;
  max-height:none;
  object-fit:cover;
  filter:blur(18px);
  opacity:.34;
  transform:scale(1.06);
}
.nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__media>.nva-stop__media-main,
.nva-stop.has-compact-gallery-pair .nva-stop__media-main{
  position:relative;
  z-index:1;
  inset:auto;
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  max-height:none;
  margin:0;
  object-fit:contain;
  transform:none;
}

.nva-place-card.has-compact-media,
.nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media,
.nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media,
.nva-destination-stay__top.has-gallery.has-compact-gallery{
  width:min(100%,1080px);
  margin-inline:auto;
}
.nva-place-card.has-compact-media>a,
.nva-place-card.has-media-gallery.has-compact-media>a,
.nva-place-card.has-compact-media.compact-is-portrait:not(.has-media-gallery)>a,
.nva-place-card.has-compact-media.compact-is-landscape:not(.has-media-gallery)>a,
.nva-place-card.has-compact-media.compact-is-square:not(.has-media-gallery)>a,
.nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media>a,
.nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media>a,
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media>a,
.nva-destination-stay__top.has-gallery.has-compact-gallery{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
}
.nva-place-card.has-compact-media .nva-place-card__media,
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media .nva-place-card__media--gallery,
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media{
  display:grid;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:4/3;
  align-self:start;
  overflow:hidden;
  gap:6px;
  background:#dfe8e3;
}
.nva-place-card.has-compact-media:not(.has-media-gallery) .nva-place-card__media{grid-template-columns:1fr}
.nva-place-card.has-compact-media.has-media-gallery .nva-place-card__media{grid-template-columns:repeat(2,minmax(0,1fr))}
.nva-place-card__photo-frame,
.nva-destination-stay__photo-frame{
  position:relative;
  display:grid;
  min-width:0;
  height:100%;
  place-items:center;
  overflow:hidden;
  background:#dfe8e3;
}
.nva-place-card.has-compact-media .nva-place-card__photo-backdrop,
.nva-destination-stay__gallery.has-compact-media .nva-destination-stay__photo-backdrop{
  position:absolute;
  z-index:0;
  inset:-24px;
  display:block;
  width:calc(100% + 48px);
  height:calc(100% + 48px);
  max-width:none;
  max-height:none;
  object-fit:cover;
  filter:blur(18px);
  opacity:.34;
  transform:scale(1.06);
}
.nva-place-card.has-compact-media .nva-place-card__photo-main,
.nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media .nva-place-card__photo-main,
.nva-destination-stay__gallery.has-compact-media .nva-destination-stay__photo-main{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  max-height:none;
  min-height:0;
  margin:0;
  aspect-ratio:auto;
  object-fit:contain;
  transform:none;
}
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(3,minmax(0,1fr));
}
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media.is-1{
  grid-template-columns:1fr;
  grid-template-rows:1fr;
}
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media.is-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:1fr;
}
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media.is-3{
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
}
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media.is-3 .nva-destination-stay__photo-frame:first-child{grid-row:1 / 3}
.nva-place-card.has-compact-media .nva-place-card__media:has(.nva-media--top-four),
.nva-destination-stay__gallery.has-compact-media.is-1:has(.nva-media--top-four){aspect-ratio:1.42}
.nva-place-card.has-compact-media .nva-place-card__photo-main.nva-media--top-four,
.nva-destination-stay__gallery.has-compact-media .nva-destination-stay__photo-main.nva-media--top-four{
  object-fit:cover;
  object-position:center top!important;
}
.nva-destination-stay__top.has-compact-gallery .nva-destination-stay__body{align-self:start}

@media(max-width:1100px){
  .nva-stop.has-compact-media:not(.has-media-pair),
  .nva-stop.is-reverse.has-compact-media:not(.has-media-pair),
  .nva-stop.has-compact-gallery-pair,
  .nva-stop.is-reverse.has-compact-gallery-pair,
  .nva-place-card.has-compact-media>a,
  .nva-place-card.has-media-gallery.has-compact-media>a,
  .nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media>a,
  .nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media>a,
  .nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media>a,
  .nva-destination-stay__top.has-gallery.has-compact-gallery{
    grid-template-columns:1fr;
  }
  .nva-stop.has-compact-media:not(.has-media-pair),
  .nva-stop.is-reverse.has-compact-media:not(.has-media-pair),
  .nva-stop.has-compact-gallery-pair,
  .nva-stop.is-reverse.has-compact-gallery-pair{grid-template-areas:"media" "content" "extras"}
  .nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__media,
  .nva-stop.has-compact-gallery-pair .nva-stop__media,
  .nva-place-card.has-compact-media .nva-place-card__media,
  .nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media .nva-place-card__media--gallery,
  .nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media{
    width:100%;
    max-width:none;
    justify-self:stretch;
  }
  .nva-stop.has-compact-media:not(.has-media-pair) .nva-stop__content,
  .nva-stop.has-compact-gallery-pair .nva-stop__content,
  .nva-stop.is-reverse.has-compact-media:not(.has-media-pair) .nva-stop__content,
  .nva-stop.is-reverse.has-compact-gallery-pair .nva-stop__content{display:block;grid-area:content;width:100%;max-width:none;padding-right:0;padding-left:0}
}
@media(max-width:700px){
  .nva-stop.has-compact-gallery-pair .nva-stop__media{grid-template-columns:1fr;aspect-ratio:auto;background:transparent}
  .nva-stop.has-compact-gallery-pair .nva-stop__media-primary,
  .nva-stop.has-compact-gallery-pair .nva-stop__media-secondary{width:100%;height:auto;aspect-ratio:4/3}
  .nva-place-card.has-compact-media.has-media-gallery .nva-place-card__media{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
  .nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media.is-1{grid-template-columns:1fr;grid-template-rows:1fr}
  .nva-destination-stay__top.has-compact-gallery .nva-destination-stay__gallery.has-compact-media.is-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}
}

/* Alpha92 · corrección visual de Bistro Bava y limpieza de los paneles.
 * En escritorio se mantiene la retícula 50/50. En tableta y móvil, Bistro Bava
 * presenta primero la información y después la fotografía. El risotto usa una
 * caja cuadrada sin deformación, mucho menos recortada que la antigua banda
 * panorámica. Los paneles dejan de usar marcos o fondos grises. */
.nva-place-card.has-compact-media,
.nva-trip-places__grid.is-count-1 .nva-place-card.has-compact-media,
.nva-trip-places__group.is-single-wide .nva-place-card.has-compact-media{
  border:0;
  background:#fff;
  box-shadow:none;
}
.nva-place-card.has-compact-media .nva-place-card__media,
.nva-trip-places__group.is-single-wide .nva-place-card.has-media-gallery.has-compact-media .nva-place-card__media--gallery,
.nva-place-card.has-compact-media .nva-place-card__photo-frame{
  background:#fff;
}
.nva-place-card.has-compact-media .nva-place-card__photo-backdrop{
  display:none;
}
.nva-place-card.has-compact-media:not(.has-media-gallery):not(.is-bistro-bava) .nva-place-card__media:not(:has(.nva-media--top-four)),
.nva-place-card.has-compact-media:not(.has-media-gallery):not(.is-bistro-bava) .nva-place-card__photo-frame:not(:has(.nva-media--top-four)){
  height:auto;
  aspect-ratio:auto;
}
.nva-place-card.has-compact-media:not(.has-media-gallery):not(.is-bistro-bava) .nva-place-card__photo-main:not(.nva-media--top-four){
  width:100%;
  height:auto;
  object-fit:contain;
}
.nva-place-card.is-bistro-bava.has-compact-media .nva-place-card__media{
  aspect-ratio:1/1;
  background:#fff;
}
.nva-place-card.is-bistro-bava.has-compact-media .nva-place-card__photo-main{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 58%!important;
}
@media(max-width:1100px){
  .nva-place-card.is-bistro-bava.has-compact-media>a,
  .nva-trip-places__grid.is-count-1 .nva-place-card.is-bistro-bava.has-compact-media>a,
  .nva-trip-places__group.is-single-wide .nva-place-card.is-bistro-bava.has-compact-media>a{
    display:flex;
    flex-direction:column;
  }
  .nva-place-card.is-bistro-bava.has-compact-media .nva-place-card__body{order:1}
  .nva-place-card.is-bistro-bava.has-compact-media .nva-place-card__media{
    order:2;
    width:100%;
    max-width:none;
    aspect-ratio:1/1;
  }
}

/* Alpha96 · REPARACIÓN CERRADA CROACIA/BOSNIA.
 * El patrón de referencia es la composición aprobada de Gran Canaria, pero esta
 * capa solo se activa en páginas con _nvea_pilot_item croacia-/bosnia-.
 * No se usan fondos borrosos, compact-contain, marcos ni etiquetas verdes.
 */
.nva-travel-main--repair-family .nva-stop__photo-label{display:none!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media{
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  align-items:start;
}
.nva-travel-main--repair-family .nva-stop.is-reverse.has-grouped-media{
  grid-template-columns:minmax(340px,.95fr) minmax(0,1.05fr);
}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped{
  display:grid!important;
  width:100%!important;
  max-width:680px!important;
  height:auto!important;
  max-height:440px!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  gap:6px!important;
  align-self:start!important;
  justify-self:stretch!important;
  overflow:hidden!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-1{grid-template-columns:1fr!important;aspect-ratio:16/10!important;max-height:410px!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-1.is-primary-portrait{width:min(100%,390px)!important;max-width:390px!important;aspect-ratio:auto!important;max-height:none!important;justify-self:center!important;overflow:visible!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-1.is-primary-portrait .nva-stop__media-tile{height:auto!important;aspect-ratio:auto!important;overflow:visible!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-1.is-primary-portrait .nva-stop__media-tile>img{position:static!important;inset:auto!important;width:100%!important;height:auto!important;object-fit:contain!important;object-position:center center!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-3{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-3 .nva-stop__media-tile:first-child{grid-row:1 / 3!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media-tile{
  position:relative!important;display:block!important;min-width:0!important;min-height:0!important;margin:0!important;overflow:hidden!important;border:0!important;background:transparent!important;box-shadow:none!important
}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media-tile>img{
  position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:cover!important;object-position:center center;transform:none!important;border:0!important;box-shadow:none!important
}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media-tile.has-person-subject>img{object-position:center 24%}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__content{display:contents!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__body{width:100%!important;max-width:none!important;justify-self:stretch!important;text-align:left!important;padding:0!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__recommendation{grid-area:recommendation!important;width:100%!important;max-width:none!important;justify-self:stretch!important;margin:2px 0 0!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__extras{grid-area:extras!important;width:100%!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__gallery-item{width:100%!important;max-width:none!important;height:auto!important;margin:0!important;overflow:hidden!important;background:transparent!important}
.nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__gallery-item>img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;border:0!important;box-shadow:none!important}
.nva-travel-main--repair-family .nva-stop.no-image .nva-stop__body{width:100%!important;max-width:none!important;justify-self:start!important;text-align:left!important}
.nva-travel-main--repair-family .nva-stop.no-image .nva-stop__recommendation{width:100%!important;max-width:none!important}

/* Tarjetas de restaurantes Croacia/Bosnia: teaser compacto, sin duplicados ni
 * backdrops. El texto conserva su espacio y la fotografía nunca crea una tarjeta
 * vertical gigantesca. */
.nva-place-card.is-repair-restaurant-card{width:100%;margin-inline:auto}
.nva-place-card.is-repair-restaurant-card .nva-place-card__media,
.nva-place-card.is-repair-restaurant-card .nva-place-card__media--gallery{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:16/10!important;gap:4px!important;overflow:hidden!important;background:transparent!important
}
.nva-place-card.is-repair-restaurant-card:not(.has-media-gallery) .nva-place-card__media{grid-template-columns:1fr!important}
.nva-place-card.is-repair-restaurant-card .nva-place-card__photo-frame{position:relative!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;overflow:hidden!important;background:transparent!important}
.nva-place-card.is-repair-restaurant-card .nva-place-card__photo-backdrop{display:none!important}
.nva-place-card.is-repair-restaurant-card .nva-place-card__photo-main{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:cover!important;transform:none!important;border:0!important;box-shadow:none!important}
.nva-place-card.is-repair-restaurant-card .nva-place-card__body{align-self:stretch}

@media(max-width:1100px){
  .nva-travel-main--repair-family .nva-stop.has-grouped-media,
  .nva-travel-main--repair-family .nva-stop.is-reverse.has-grouped-media{grid-template-columns:1fr;grid-template-areas:"media" "body" "recommendation" "extras";row-gap:14px}
  .nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped{max-width:760px!important;justify-self:center!important}
  .nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__body{width:min(100%,760px)!important;justify-self:center!important}
}
@media(max-width:680px){
  .nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped{max-height:none!important;aspect-ratio:1/1!important}
  .nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-1:not(.is-primary-portrait){aspect-ratio:4/3!important;max-height:none!important}
  .nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-1.is-primary-portrait{width:min(100%,390px)!important;aspect-ratio:auto!important}
  .nva-travel-main--repair-family .nva-stop.has-grouped-media .nva-stop__gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nva-place-card.is-repair-restaurant-card .nva-place-card__media,
  .nva-place-card.is-repair-restaurant-card .nva-place-card__media--gallery{aspect-ratio:4/3!important}
}



/* Alpha100 · reparación visual limitada a Croacia/Bosnia. */
.nva-travel-main--repair-family .nva-place-card.is-repair-restaurant-card .nva-place-card__media{
  aspect-ratio:16/10!important;min-height:0!important;height:auto!important;display:block!important;overflow:hidden!important;background:#e5ebe7!important;
}
.nva-travel-main--repair-family .nva-place-card.is-repair-restaurant-card .nva-place-card__photo-frame{display:block!important;width:100%!important;height:100%!important}
.nva-travel-main--repair-family .nva-place-card.is-repair-restaurant-card .nva-place-card__photo-main{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
/* Center De Lux Zara: una sola portada grande en el resumen de Split. */
.nva-travel-main--repair-family .nva-destination-stay.is-zara .nva-destination-stay__top.has-gallery{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;align-items:stretch!important}
.nva-travel-main--repair-family .nva-destination-stay.is-zara .nva-destination-stay__gallery{display:block!important;width:100%!important;min-width:0!important;overflow:hidden!important}
.nva-travel-main--repair-family .nva-destination-stay.is-zara .nva-destination-stay__gallery>img{display:block!important;width:100%!important;height:100%!important;min-height:420px!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important;margin:0!important}
.nva-travel-main--repair-family .nva-destination-stay.is-zara .nva-destination-stay__body{align-self:center!important}
@media(max-width:900px){
  .nva-travel-main--repair-family .nva-destination-stay.is-zara .nva-destination-stay__top.has-gallery{grid-template-columns:1fr!important}
  .nva-travel-main--repair-family .nva-destination-stay.is-zara .nva-destination-stay__gallery>img{min-height:0!important}
}

/* Alpha100 · una foto vertical extra nunca se convierte en un fotón ni se mutila. */
.nva-travel-main--repair-family .nva-stop__gallery.is-count-1 .nva-stop__gallery-item.is-portrait{width:min(100%,380px)!important;justify-self:center!important;aspect-ratio:auto!important;overflow:visible!important;background:transparent!important}
.nva-travel-main--repair-family .nva-stop__gallery.is-count-1 .nva-stop__gallery-item.is-portrait>img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}

/* Reusable compact collection: beaches, viewpoints, coves, villages, etc. */
.nva-stop-collection{grid-column:1/-1;margin:clamp(30px,5vw,62px) 0;padding:clamp(22px,3vw,34px);background:#fff;border-radius:24px;box-shadow:0 14px 38px rgba(12,39,46,.07)}
.nva-stop-collection__head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.75fr);gap:28px;align-items:end;margin-bottom:22px}
.nva-stop-collection__head h3{margin:.15rem 0 0;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.04}
.nva-stop-collection__head>p{margin:0;color:var(--nva-muted,#5d6f73);max-width:58ch}
.nva-stop-collection__selector{display:flex;gap:9px;overflow-x:auto;padding:2px 2px 12px;scrollbar-width:thin;scroll-snap-type:x proximity}
.nva-stop-collection__tab{flex:0 0 auto;scroll-snap-align:start;border:1px solid rgba(18,50,56,.15);background:#f8f6f1;color:inherit;border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:800;line-height:1.05;transition:.18s ease}
.nva-stop-collection__tab span{display:block;white-space:nowrap}
.nva-stop-collection__tab small{display:block;margin-top:4px;color:#b64f38;font-size:.65rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.nva-stop-collection__tab:hover,.nva-stop-collection__tab:focus-visible{border-color:rgba(18,50,56,.42);outline:none;transform:translateY(-1px)}
.nva-stop-collection__tab.is-active{background:#123238;color:#fff;border-color:#123238}
.nva-stop-collection__tab.is-active small{color:#ffd7c9}
.nva-stop-collection__panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:clamp(22px,4vw,46px);align-items:center;padding-top:16px}
.nva-stop-collection__panel[hidden]{display:none!important}
.nva-stop-collection__media{display:grid;gap:8px;min-width:0}
.nva-stop-collection__media.is-count-1{grid-template-columns:1fr}
.nva-stop-collection__media.is-count-2,.nva-stop-collection__media.is-count-3{grid-template-columns:minmax(0,1.55fr) minmax(120px,.75fr);grid-template-rows:1fr 1fr}
.nva-stop-collection__media figure{margin:0;overflow:hidden;border-radius:18px;min-height:0;background:#ece7df}
.nva-stop-collection__media figure.is-primary{grid-row:1/-1;aspect-ratio:4/3}
.nva-stop-collection__media.is-count-1 figure.is-primary{grid-row:auto;aspect-ratio:16/10}
.nva-stop-collection__media figure:not(.is-primary){aspect-ratio:4/3}
.nva-stop-collection__media img{width:100%;height:100%;display:block;object-fit:cover}
.nva-stop-collection__copy h4{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1;margin:.3rem 0 1rem}
.nva-stop-collection__badge{display:inline-flex;border-radius:999px;background:#f4dfd7;color:#9c3d2a;padding:7px 10px;font-size:.69rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.nva-stop-collection__text>*:first-child{margin-top:0}.nva-stop-collection__text>*:last-child{margin-bottom:0}
.nva-stop-collection__recommendation{margin:18px 0 0;padding:14px 16px;background:#f6f3ec;border-radius:14px}
/* Alpha146.10 · familia gastronómica: misma colección probada de Mykonos,
 * con fotos contenidas y dos imágenes realmente aprovechadas cuando existen. */
.nva-stop-collection--food-guide .nva-stop-collection__panel{grid-template-columns:minmax(0,.88fr) minmax(330px,1.12fr);align-items:start}
.nva-stop-collection--food-guide .nva-stop-collection__media{width:min(100%,620px);justify-self:start}
.nva-stop-collection--food-guide .nva-stop-collection__media.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
.nva-stop-collection--food-guide .nva-stop-collection__media.is-count-2 figure.is-primary{grid-row:auto;aspect-ratio:4/3}
.nva-stop-collection--food-guide .nva-stop-collection__media.is-count-2 figure:not(.is-primary){aspect-ratio:4/3}
.nva-stop-collection--food-guide .nva-stop-collection__copy{padding-top:2px}
@media (max-width:820px){
  .nva-stop-collection{padding:18px;margin:28px 0;border-radius:20px}
  .nva-stop-collection__head{grid-template-columns:1fr;gap:10px}
  .nva-stop-collection__panel{grid-template-columns:1fr;gap:18px}
  .nva-stop-collection--food-guide .nva-stop-collection__panel{grid-template-columns:1fr}
  .nva-stop-collection--food-guide .nva-stop-collection__media{width:100%;justify-self:stretch}
  .nva-stop-collection__media.is-count-2,.nva-stop-collection__media.is-count-3{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .nva-stop-collection__media figure.is-primary{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10}
  .nva-stop-collection__media figure:not(.is-primary){aspect-ratio:4/3}
}
@media (max-width:520px){
  .nva-stop-collection{padding:14px}
  .nva-stop-collection__tab{padding:9px 12px;font-size:.88rem}
  .nva-stop-collection__media.is-count-3{grid-template-columns:1fr 1fr}
}


/* Alpha106 · introducción compacta para páginas que activan stop-collection.
 * Reduce texto, tamaño y altura REAL del bloque; no deja un contenedor vacío
 * debajo. Las páginas cerradas sin stop-collection no entran en estas reglas. */
.nva-travel-main--collection-family .nva-stops{
  margin-top:clamp(42px,5vw,58px);
}
.nva-travel-main--collection-family .nva-section-heading--collection-intro{
  display:block;
  margin:0 0 10px;
}
.nva-travel-main--collection-family .nva-section-heading--collection-intro>div{
  max-width:760px;
}
.nva-travel-main--collection-family .nva-section-heading--collection-intro .nva-kicker{
  margin-bottom:8px;
}
.nva-travel-main--collection-family .nva-section-heading--collection-intro h2{
  max-width:720px;
  font-size:clamp(2.35rem,4vw,3.85rem);
  line-height:.98;
  letter-spacing:-.04em;
}
.nva-travel-main--collection-family .nva-section-heading--collection-intro .nva-section-heading__intro{
  max-width:62ch;
  margin:12px 0 0;
  color:var(--nva-muted);
  font-size:.96rem;
  line-height:1.55;
}
.nva-travel-main--collection-family .nva-section-heading--collection-intro + .nva-stops__list{
  margin-top:0;
}
@media(max-width:700px){
  .nva-travel-main--collection-family .nva-stops{margin-top:36px}
  .nva-travel-main--collection-family .nva-section-heading--collection-intro{margin-bottom:6px}
  .nva-travel-main--collection-family .nva-section-heading--collection-intro h2{font-size:clamp(2.25rem,10.5vw,3.05rem)}
  .nva-travel-main--collection-family .nva-section-heading--collection-intro .nva-section-heading__intro{font-size:.92rem}
}

/* ========================================================================== */
/* Alpha132 · HERO MAESTRO GLOBAL                                              */
/* Países · regiones · islas · ciudades · rutas · excursiones                  */
/* La foto ocupa todo el hero. El azul es degradado, no una placa opaca.       */
/* Restaurantes y alojamientos usan place.css y quedan expresamente fuera.     */
/* ========================================================================== */
.nva-travel-hero.nva-travel-hero--master{
  --nva-hero-accent:#e7a61a;
  position:relative;
  min-height:clamp(570px,68vh,780px);
  display:flex;
  align-items:flex-end;
  padding:clamp(120px,14vh,160px) 0 clamp(54px,6vw,82px);
  overflow:hidden;
  isolation:isolate;
  background:#082f46;
  color:#fff;
}
.nva-travel-hero--master .nva-travel-hero__media,
.nva-travel-hero--master .nva-travel-hero__overlay{
  position:absolute;
  inset:0;
}
.nva-travel-hero--master .nva-travel-hero__media{z-index:-3;background:#0b3147}
.nva-travel-hero--master .nva-travel-hero__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--nva-object-position,50% 50%);
  transform:none;
}
.nva-travel-hero--master .nva-travel-hero__overlay{
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(4,28,43,.24) 0%,rgba(4,28,43,.10) 38%,rgba(4,28,43,.08) 100%);
}
.nva-travel-hero--master .nva-travel-hero__content{
  position:relative;
  z-index:2;
  width:min(1480px,calc(100% - (2 * var(--nva-gutter))));
  margin-inline:auto;
  padding-left:clamp(32px,4vw,72px);
}
.nva-master-hero__rail{
  position:absolute;
  left:0;
  top:3px;
  bottom:0;
  width:1px;
  background:rgba(255,255,255,.58);
}
.nva-master-hero__rail::before{
  content:"";
  position:absolute;
  left:50%;
  top:-4px;
  width:12px;
  height:12px;
  border:2px solid var(--nva-hero-accent);
  border-radius:50%;
  background:rgba(6,41,60,.9);
  transform:translate(-50%,-50%);
}
.nva-master-hero__rail span{
  position:absolute;
  left:0;
  bottom:0;
  width:1px;
  height:26%;
  background:var(--nva-hero-accent);
}
.nva-master-hero__copy{max-width:min(790px,70vw)}
.nva-travel-hero--master .nva-breadcrumbs{margin:0 0 clamp(24px,3.5vw,42px)}
.nva-travel-hero--master .nva-breadcrumbs ol{
  gap:10px;
  color:rgba(255,255,255,.82);
  font-size:clamp(.76rem,.85vw,.9rem);
}
.nva-travel-hero--master .nva-breadcrumbs li:last-child{color:var(--nva-hero-accent)}
.nva-travel-hero--master .nva-breadcrumbs a{color:inherit}
.nva-master-hero__kicker{
  margin:0 0 12px;
  color:var(--nva-hero-accent)!important;
  font-size:.7rem;
  letter-spacing:.13em;
}
.nva-travel-hero--master h1{
  max-width:none;
  margin:0;
  color:#fff;
  font:500 clamp(4.8rem,9vw,9.6rem)/.82 var(--nva-serif);
  letter-spacing:-.067em;
  text-wrap:balance;
  text-shadow:0 4px 24px rgba(0,0,0,.18);
}
.nva-travel-hero--master .nva-travel-hero__intro{
  max-width:640px;
  margin:clamp(18px,2.4vw,28px) 0 0;
  color:#fff;
  font-size:clamp(1.18rem,1.75vw,1.65rem);
  line-height:1.35;
  font-weight:650;
  text-wrap:balance;
  text-shadow:0 2px 16px rgba(0,0,0,.2);
}
.nva-master-hero__facts{
  display:flex;
  flex-wrap:wrap;
  gap:12px clamp(24px,3vw,42px);
  align-items:center;
  margin-top:clamp(22px,2.8vw,34px);
}
.nva-master-hero__fact{
  display:inline-flex;
  align-items:center;
  gap:10px;
  max-width:360px;
  color:rgba(255,255,255,.95);
  font-size:clamp(.94rem,1.12vw,1.08rem);
  line-height:1.35;
}
.nva-master-hero__fact i{
  color:var(--nva-hero-accent);
  font-style:normal;
  font-size:1.28em;
  line-height:1;
}
.nva-travel-hero--master .nva-travel-hero__actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px 24px;
  margin-top:clamp(30px,3.8vw,46px);
}
.nva-master-hero__primary,
.nva-master-hero__secondary{
  text-decoration:none;
  transition:opacity .18s ease,transform .18s ease,color .18s ease;
}
.nva-master-hero__primary{
  display:inline-flex;
  align-items:center;
  gap:18px;
  color:var(--nva-hero-accent);
  font-weight:900;
  font-size:clamp(1rem,1.2vw,1.18rem);
}
.nva-master-hero__primary span{font-size:1.65em;font-weight:400;line-height:.7}
.nva-master-hero__secondary{
  color:rgba(255,255,255,.82);
  font-size:.86rem;
  font-weight:800;
  border-bottom:1px solid rgba(255,255,255,.35);
}
.nva-master-hero__primary:hover,
.nva-master-hero__primary:focus-visible,
.nva-master-hero__secondary:hover,
.nva-master-hero__secondary:focus-visible{
  opacity:.82;
  transform:translateY(-1px);
}
.nva-travel-hero--master:not(.has-image){
  background:linear-gradient(128deg,#082f46,#0d4c66);
}
.nva-travel-hero--master:not(.has-image) .nva-travel-hero__overlay{display:none}

@media(max-width:980px){
  .nva-travel-hero.nva-travel-hero--master{
    min-height:clamp(590px,72vh,760px);
    padding-top:118px;
  }
  .nva-travel-hero--master .nva-travel-hero__overlay{
    background:
      linear-gradient(180deg,rgba(4,28,43,.26) 0%,rgba(4,28,43,.12) 42%,rgba(4,28,43,.10) 100%);
  }
  .nva-master-hero__copy{max-width:min(680px,84vw)}
  .nva-travel-hero--master h1{font-size:clamp(4.4rem,12vw,7.2rem)}
}

@media(max-width:640px){
  .nva-travel-hero.nva-travel-hero--master{
    min-height:clamp(650px,84svh,820px);
    padding:108px 0 42px;
    align-items:flex-end;
  }
  .nva-travel-hero--master .nva-travel-hero__media img{
    object-position:var(--nva-object-position,50% 44%);
  }
  .nva-travel-hero--master .nva-travel-hero__overlay{
    background:
      linear-gradient(180deg,rgba(3,27,42,.34) 0%,rgba(3,27,42,.20) 34%,rgba(3,27,42,.12) 100%);
  }
  .nva-travel-hero--master .nva-travel-hero__content{
    width:calc(100% - 32px);
    padding-left:28px;
  }
  .nva-master-hero__copy{max-width:100%}
  .nva-master-hero__rail{top:0}
  .nva-travel-hero--master .nva-breadcrumbs{margin-bottom:22px}
  .nva-travel-hero--master .nva-breadcrumbs ol{gap:7px;font-size:.75rem}
  .nva-master-hero__kicker{display:none}
  .nva-travel-hero--master h1{
    font-size:clamp(4.15rem,20vw,6.8rem);
    line-height:.84;
    max-width:94%;
  }
  .nva-travel-hero--master .nva-travel-hero__intro{
    max-width:92%;
    margin-top:18px;
    font-size:1.12rem;
    line-height:1.4;
  }
  .nva-master-hero__facts{
    display:grid;
    gap:10px;
    margin-top:22px;
  }
  .nva-master-hero__fact{max-width:92%;font-size:.95rem}
  .nva-travel-hero--master .nva-travel-hero__actions{
    gap:12px 20px;
    margin-top:28px;
  }
  .nva-master-hero__primary{font-size:1rem}
}

@media(prefers-reduced-motion:reduce){
  .nva-master-hero__primary,.nva-master-hero__secondary{transition:none}
}

/* Alpha134 · plantilla maestra estructurada para destinos NUEVOS.
   Se activa exclusivamente con la feature `structured-grid`.
   No altera Gran Canaria, Mykonos, Croacia/Bosnia ni ninguna página congelada.
   Objetivo: composición editorial continua, fotos contenidas y mosaicos compactos,
   sin tarjetas/selector de colección y sin huecos verticales provocados por fotos gigantes. */
.nva-stops--structured-grid{margin-top:52px}
.nva-stops--structured-grid .nva-stop,
.nva-stops--structured-grid .nva-stop.is-reverse{
  grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);
  column-gap:clamp(28px,3.2vw,46px);
  row-gap:10px;
  align-items:start;
  padding:clamp(22px,2.4vw,30px) 0;
}
.nva-stops--structured-grid .nva-stop.is-reverse{
  grid-template-columns:minmax(360px,1.08fr) minmax(0,.92fr);
}
.nva-stops--structured-grid .nva-stop.has-recommendation.has-extras{grid-template-areas:"media body" "recommendation recommendation" "extras extras"}
.nva-stops--structured-grid .nva-stop.has-recommendation:not(.has-extras){grid-template-areas:"media body" "recommendation recommendation"}
.nva-stops--structured-grid .nva-stop.has-extras:not(.has-recommendation){grid-template-areas:"media body" "extras extras"}
.nva-stops--structured-grid .nva-stop.is-reverse.has-recommendation.has-extras{grid-template-areas:"body media" "recommendation recommendation" "extras extras"}
.nva-stops--structured-grid .nva-stop.is-reverse.has-recommendation:not(.has-extras){grid-template-areas:"body media" "recommendation recommendation"}
.nva-stops--structured-grid .nva-stop.is-reverse.has-extras:not(.has-recommendation){grid-template-areas:"body media" "extras extras"}
.nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped{
  width:100%;
  max-width:640px;
  max-height:430px;
  justify-self:start;
  aspect-ratio:4/3;
  gap:6px;
}
.nva-stops--structured-grid .nva-stop.is-reverse.has-grouped-media .nva-stop__media.nva-stop__media--grouped{justify-self:end}
.nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-1{aspect-ratio:4/3}
.nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-2{aspect-ratio:16/10}
.nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-3,
.nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-4{aspect-ratio:4/3}
.nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-5{
  grid-template-columns:minmax(0,1.22fr) repeat(2,minmax(0,.89fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  aspect-ratio:16/10;
}
.nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-5 .nva-stop__media-tile:first-child{
  grid-column:1;
  grid-row:1 / 3;
}
.nva-stops--structured-grid .nva-stop__body h3{font-size:clamp(2.25rem,3vw,3.35rem);line-height:1}
.nva-stops--structured-grid .nva-stop__text{margin-top:13px}
.nva-stops--structured-grid .nva-stop dl{gap:8px;margin:14px 0}
.nva-stops--structured-grid .nva-stop dl div{padding:10px 12px}
.nva-stops--structured-grid .nva-stop__recommendation{margin-top:0;padding:15px 18px;gap:15px}
.nva-stops--structured-grid .nva-stop__extras{margin-top:2px}
.nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__gallery{gap:6px}
.nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__gallery-item>img{aspect-ratio:4/3}

@media(max-width:1100px){
  .nva-stops--structured-grid .nva-stop,
  .nva-stops--structured-grid .nva-stop.is-reverse{
    grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);
    grid-template-areas:"media body";
    padding:24px 0;
  }
  .nva-stops--structured-grid .nva-stop.is-reverse{grid-template-areas:"body media";grid-template-columns:minmax(340px,1.08fr) minmax(0,.92fr)}
  .nva-stops--structured-grid .nva-stop.has-recommendation.has-extras{grid-template-areas:"media body" "recommendation recommendation" "extras extras"}
  .nva-stops--structured-grid .nva-stop.has-recommendation:not(.has-extras){grid-template-areas:"media body" "recommendation recommendation"}
  .nva-stops--structured-grid .nva-stop.has-extras:not(.has-recommendation){grid-template-areas:"media body" "extras extras"}
  .nva-stops--structured-grid .nva-stop.is-reverse.has-recommendation.has-extras{grid-template-areas:"body media" "recommendation recommendation" "extras extras"}
  .nva-stops--structured-grid .nva-stop.is-reverse.has-recommendation:not(.has-extras){grid-template-areas:"body media" "recommendation recommendation"}
  .nva-stops--structured-grid .nva-stop.is-reverse.has-extras:not(.has-recommendation){grid-template-areas:"body media" "extras extras"}
  .nva-stops--structured-grid .nva-stop__body{width:100%;justify-self:stretch}
}
@media(max-width:820px){
  .nva-stops--structured-grid{margin-top:42px}
  .nva-stops--structured-grid .nva-stop,
  .nva-stops--structured-grid .nva-stop.is-reverse,
  .nva-stops--structured-grid .nva-stop.has-recommendation.has-extras,
  .nva-stops--structured-grid .nva-stop.is-reverse.has-recommendation.has-extras,
  .nva-stops--structured-grid .nva-stop.has-recommendation:not(.has-extras),
  .nva-stops--structured-grid .nva-stop.is-reverse.has-recommendation:not(.has-extras),
  .nva-stops--structured-grid .nva-stop.has-extras:not(.has-recommendation),
  .nva-stops--structured-grid .nva-stop.is-reverse.has-extras:not(.has-recommendation){
    grid-template-columns:1fr;
    grid-template-areas:"media" "body" "recommendation" "extras";
    row-gap:12px;
    padding:20px 0;
  }
  .nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped,
  .nva-stops--structured-grid .nva-stop.is-reverse.has-grouped-media .nva-stop__media.nva-stop__media--grouped{
    max-width:620px;
    max-height:none;
    justify-self:center;
  }
  .nva-stops--structured-grid .nva-stop__body{width:min(100%,620px);justify-self:center}
  .nva-stops--structured-grid .nva-stop__recommendation,
  .nva-stops--structured-grid .nva-stop__extras{width:min(100%,620px);justify-self:center}
}
@media(max-width:680px){
  .nva-stops--structured-grid{margin-top:36px}
  .nva-stops--structured-grid .nva-stop,
  .nva-stops--structured-grid .nva-stop.is-reverse{padding:17px 0}
  .nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped.is-count-1{aspect-ratio:4/3}
  .nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped.is-count-2{aspect-ratio:16/10}
  .nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped.is-count-3,
  .nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped.is-count-4{aspect-ratio:1/1}
  .nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media.nva-stop__media--grouped.is-count-5{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto repeat(2,minmax(0,1fr));
    aspect-ratio:auto;
  }
  .nva-stops--structured-grid .nva-stop.has-grouped-media .nva-stop__media--grouped.is-count-5 .nva-stop__media-tile:first-child{
    grid-column:1 / 3;
    grid-row:auto;
    aspect-ratio:16/10;
  }
  .nva-stops--structured-grid .nva-stop__body h3{font-size:clamp(2rem,9vw,2.75rem)}
  .nva-stops--structured-grid .nva-stop dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 0}
  .nva-stops--structured-grid .nva-stop__recommendation{padding:13px 14px}
}

/* ==========================================================
   2.0 alpha142 — HERO NÍTIDO REAL · STAGING
   Base funcional: Alpha136. Implementación de hero rehecha desde cero.
   - asset 3840×1080 local y nítido;
   - foto a sangre 100%;
   - SIN franja azul horneada en la imagen;
   - degradado CSS largo y continuo;
   - encuadre más abierto y título contenido.
   ========================================================== */
.nva-travel-hero.nva-travel-hero--master{
  isolation:isolate;
  overflow:hidden;
  background:#072d42;
}
.nva-travel-hero--master .nva-travel-hero__media{
  position:absolute;
  inset:0;
  z-index:-3;
  overflow:hidden;
}
.nva-travel-hero--master .nva-travel-hero__media img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  transform:none!important;
  filter:none!important;
}
.nva-travel-hero--master.nva-travel-hero--focus-centered .nva-travel-hero__media img{
  object-position:center center!important;
}
.nva-travel-hero--master .nva-travel-hero__overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(2,24,37,.18) 0%,rgba(2,24,37,.08) 42%,rgba(2,24,37,.14) 100%);
}
.nva-master-hero__rail,
.nva-master-hero__kicker{display:none!important}

@media (min-width:981px){
  .nva-travel-hero.nva-travel-hero--master{
    min-height:0!important;
    height:clamp(380px,23vw,460px)!important;
    max-height:460px!important;
    padding:0!important;
    align-items:center!important;
  }
  .nva-travel-hero--master .nva-travel-hero__content{
    width:min(1480px,calc(100% - (2 * var(--nva-gutter))))!important;
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    margin-inline:auto!important;
    padding:30px 0!important;
  }
  .nva-master-hero__copy{
    width:min(590px,43vw)!important;
    max-width:590px!important;
    margin:0!important;
    padding:0!important;
  }
  .nva-travel-hero--master .nva-breadcrumbs{margin:0 0 15px!important}
  .nva-travel-hero--master .nva-breadcrumbs ol{gap:7px!important;font-size:clamp(.70rem,.70vw,.82rem)!important}
  .nva-travel-hero--master h1{
    max-width:590px!important;
    margin:0!important;
    font-size:clamp(3rem,4.05vw,5rem)!important;
    line-height:.91!important;
    letter-spacing:-.046em!important;
    text-wrap:balance!important;
    text-shadow:0 3px 22px rgba(0,0,0,.18)!important;
  }
  .nva-travel-hero--master .nva-travel-hero__intro{
    max-width:490px!important;
    margin:15px 0 0!important;
    font-size:clamp(.96rem,1vw,1.12rem)!important;
    line-height:1.43!important;
    font-weight:650!important;
  }
  .nva-travel-hero--master .nva-master-hero__facts{margin-top:16px!important}
  .nva-travel-hero--master .nva-travel-hero__actions{gap:10px 19px!important;margin-top:19px!important}
  .nva-master-hero__primary{gap:11px!important;font-size:.93rem!important}
  .nva-master-hero__secondary{font-size:.77rem!important}
}
@media (min-width:1800px){
  .nva-travel-hero.nva-travel-hero--master{height:450px!important}
}
@media (max-width:980px){
  .nva-travel-hero.nva-travel-hero--master{
    min-height:clamp(560px,70svh,700px)!important;
    padding:102px 0 36px!important;
    align-items:flex-end!important;
  }
  .nva-travel-hero--master .nva-travel-hero__media img{object-position:72% center!important}
  .nva-travel-hero--master .nva-travel-hero__overlay{
    background:
      linear-gradient(90deg,rgba(4,31,48,.70) 0%,rgba(4,31,48,.46) 35%,rgba(4,31,48,.14) 64%,rgba(4,31,48,0) 82%),
      linear-gradient(0deg,rgba(3,27,42,.94) 0%,rgba(3,27,42,.70) 28%,rgba(3,27,42,.24) 58%,rgba(3,27,42,0) 82%);
  }
  .nva-travel-hero--master .nva-travel-hero__content{padding-left:0!important}
  .nva-master-hero__copy{max-width:min(620px,88vw)!important}
  .nva-travel-hero--master h1{font-size:clamp(3.25rem,10.8vw,5.7rem)!important;line-height:.91!important;max-width:92%!important}
  .nva-travel-hero--master .nva-travel-hero__intro{max-width:90%!important;font-size:1.04rem!important}
}
@media (max-width:640px){
  .nva-travel-hero.nva-travel-hero--master{
    min-height:clamp(560px,75svh,690px)!important;
    padding:98px 0 34px!important;
  }
  .nva-travel-hero--master .nva-travel-hero__media img{object-position:76% center!important}
  .nva-travel-hero--master .nva-travel-hero__content{width:calc(100% - 32px)!important}
  .nva-travel-hero--master .nva-breadcrumbs{margin-bottom:18px!important}
  .nva-travel-hero--master h1{font-size:clamp(3.15rem,15vw,4.9rem)!important;max-width:96%!important}
  .nva-travel-hero--master .nva-travel-hero__intro{margin-top:14px!important;font-size:1rem!important;line-height:1.4!important}
  .nva-travel-hero--master .nva-travel-hero__actions{margin-top:20px!important}
}


/* Alpha146 · tarjetas de restaurante con poco texto: contenido visualmente centrado. */
.nva-place-card.is-repair-restaurant-card.is-sparse-card .nva-place-card__body{
  justify-content:center;
}
.nva-place-card.is-repair-restaurant-card.is-sparse-card .nva-place-card__action{
  margin-top:24px;
}

/* Alpha146.3 · enlaces de vídeo opt-in: vídeo exacto + canal oficial */
.nva-route-video__links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:14px}
.nva-route-video__links .nva-route-video__youtube-link{margin-top:0}

/* Alpha146.11 · Granada: acceso gastronómico compacto y paneles sin huecos. */
@media (min-width:821px){
  .nva-trip-places__group--food-guide .nva-travel-card-grid.is-count-1 .nva-destination-card__link{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
    min-height:0;
    height:auto;
  }
  .nva-trip-places__group--food-guide .nva-travel-card-grid.is-count-1 .nva-destination-card__media{
    height:clamp(330px,24vw,420px);
    min-height:0;
    aspect-ratio:auto;
  }
  .nva-trip-places__group--food-guide .nva-travel-card-grid.is-count-1 .nva-destination-card__body{
    min-width:0;
    padding:clamp(24px,3vw,40px);
  }
  .nva-stop-collection--food-guide .nva-stop-collection__panel{
    align-items:stretch;
  }
  .nva-stop-collection--food-guide .nva-stop-collection__media{
    width:100%;
    height:auto;
    min-height:340px;
    justify-self:stretch;
  }
  .nva-stop-collection--food-guide .nva-stop-collection__media.is-count-1,
  .nva-stop-collection--food-guide .nva-stop-collection__media.is-count-2{
    grid-template-rows:minmax(340px,1fr);
  }
  .nva-stop-collection--food-guide .nva-stop-collection__media figure,
  .nva-stop-collection--food-guide .nva-stop-collection__media.is-count-1 figure.is-primary,
  .nva-stop-collection--food-guide .nva-stop-collection__media.is-count-2 figure.is-primary,
  .nva-stop-collection--food-guide .nva-stop-collection__media.is-count-2 figure:not(.is-primary){
    position:relative;
    height:auto;
    min-height:340px;
    aspect-ratio:auto;
  }
  .nva-stop-collection--food-guide .nva-stop-collection__media.is-count-1 img,
  .nva-stop-collection--food-guide .nva-stop-collection__media.is-count-2 img{
    position:absolute;
    inset:0;
  }
}

@media (max-width:820px){
  .nva-trip-places__group--food-guide .nva-destination-card__media{
    max-height:420px;
    aspect-ratio:16/10;
  }
}

/* Alpha146.13 · Granada: composición específica de La Bella y la Bestia y Los Diamantes. */
@media (min-width:821px){
  /* La Bella y la Bestia: la rosquilla es horizontal y la fachada vertical.
   * No se fuerzan ambas fotos a una columna alta idéntica. */
  .nva-stop-collection--food-guide #la-bella-y-la-bestia.nva-stop-collection__panel{
    align-items:start;
  }
  .nva-stop-collection--food-guide #la-bella-y-la-bestia .nva-stop-collection__media.is-count-2{
    grid-template-columns:minmax(0,1.28fr) minmax(190px,.72fr);
    grid-template-rows:auto;
    min-height:0;
    align-items:start;
  }
  .nva-stop-collection--food-guide #la-bella-y-la-bestia .nva-stop-collection__media.is-count-2 figure,
  .nva-stop-collection--food-guide #la-bella-y-la-bestia .nva-stop-collection__media.is-count-2 figure.is-primary,
  .nva-stop-collection--food-guide #la-bella-y-la-bestia .nva-stop-collection__media.is-count-2 figure:not(.is-primary){
    position:relative;
    height:auto;
    min-height:0;
  }
  .nva-stop-collection--food-guide #la-bella-y-la-bestia .nva-stop-collection__media.is-count-2 figure.is-primary{
    aspect-ratio:4/3;
  }
  .nva-stop-collection--food-guide #la-bella-y-la-bestia .nva-stop-collection__media.is-count-2 figure:not(.is-primary){
    aspect-ratio:3/4;
    max-height:420px;
  }
  .nva-stop-collection--food-guide #la-bella-y-la-bestia .nva-stop-collection__media.is-count-2 img{
    position:absolute;
    inset:0;
    object-fit:cover;
    object-position:50% 50%!important;
  }

  /* Los Diamantes: dos fotos arriba y una tercera panorámica debajo.
   * Así ninguna queda reducida a una tira y el bloque no deja un gran vacío inferior. */
  .nva-stop-collection--food-guide #los-diamantes.nva-stop-collection__panel{
    grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
    align-items:start;
  }
  .nva-stop-collection--food-guide #los-diamantes .nva-stop-collection__media.is-count-3{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto auto;
    min-height:0;
    align-self:start;
  }
  .nva-stop-collection--food-guide #los-diamantes .nva-stop-collection__media.is-count-3 figure,
  .nva-stop-collection--food-guide #los-diamantes .nva-stop-collection__media.is-count-3 figure.is-primary,
  .nva-stop-collection--food-guide #los-diamantes .nva-stop-collection__media.is-count-3 figure:not(.is-primary){
    position:relative;
    grid-row:auto;
    height:auto;
    min-height:0;
    aspect-ratio:4/3;
  }
  .nva-stop-collection--food-guide #los-diamantes .nva-stop-collection__media.is-count-3 figure:nth-child(3){
    grid-column:1/-1;
    aspect-ratio:16/7;
  }
}

@media (min-width:821px) and (max-width:1180px){
  .nva-stop-collection--food-guide #los-diamantes.nva-stop-collection__panel{
    grid-template-columns:1fr;
    gap:22px;
  }
}

@media (max-width:820px){
  .nva-stop-collection--food-guide #la-bella-y-la-bestia .nva-stop-collection__media.is-count-2{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    min-height:0;
  }
  .nva-stop-collection--food-guide #la-bella-y-la-bestia .nva-stop-collection__media.is-count-2 figure.is-primary{
    grid-column:auto;
    aspect-ratio:16/10;
  }
  .nva-stop-collection--food-guide #la-bella-y-la-bestia .nva-stop-collection__media.is-count-2 figure:not(.is-primary){
    width:min(72%,260px);
    justify-self:center;
    aspect-ratio:3/4;
  }
}

/* Alpha146.14 · Responsive de alojamiento destacado.
 * La regla base .has-gallery tenía mayor especificidad que el breakpoint y
 * mantenía dos columnas en móvil, reduciendo la galería a unos pocos píxeles.
 * El breakpoint declara explícitamente .has-gallery a una columna. Es una
 * corrección del componente maestro, sin selectores por destino. */

/* Alpha146.15 · Vídeos dobles opt-in y cierre de extras sin hueco vacío. */
.nva-stop__extras>.nva-stop-youtube:only-child{width:100%;max-width:none}
.nva-route-videos{margin:96px 0 76px}
.nva-route-videos__heading{max-width:860px;margin:0 0 24px}
.nva-route-videos__heading h2{margin:0;font:500 clamp(2.5rem,4vw,4.2rem)/.98 var(--nva-serif);letter-spacing:-.04em;color:var(--nva-ink)}
.nva-route-videos__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.nva-route-video-card{overflow:hidden;background:var(--nva-ink);color:#fff}
.nva-route-video-card__player{width:100%;aspect-ratio:16/9;border-radius:0}
.nva-route-video-card__copy{padding:24px 26px 28px}
.nva-route-video-card__copy h3{margin:0;font:500 clamp(2rem,3vw,3.2rem)/.98 var(--nva-serif);letter-spacing:-.035em;color:#fff}
.nva-route-video-card__copy>p:not(.nva-kicker){margin:12px 0 0;color:rgba(255,255,255,.72);font-size:.9rem;line-height:1.6}
.nva-route-video-card__copy .nva-route-video__links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:16px}
.nva-route-video-card__copy .nva-route-video__youtube-link{margin-top:0}
@media(max-width:900px){
  .nva-route-videos{margin:72px 0 58px}
  .nva-route-videos__grid{grid-template-columns:1fr}
  .nva-route-video-card__copy{padding:20px 20px 24px}
}


/* Alpha146.16 · Fuerteventura: mapa doble sin perder la señal estructurada del planificador. */
.nva-dual-map-block{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(22px,4vw,54px);align-items:center;margin:clamp(38px,5vw,64px) 0;padding:clamp(28px,4vw,46px);border:1px solid var(--nva-line);border-radius:30px;background:#e8efea;color:var(--nva-ink)}
.nva-dual-map-block .nva-kicker{margin-bottom:10px}
.nva-dual-map-block h2{margin:0;font:500 clamp(2.35rem,4vw,4.2rem)/.96 var(--nva-serif);letter-spacing:-.045em;overflow-wrap:normal;word-break:normal;hyphens:none}
.nva-dual-map-block p:not(.nva-kicker){max-width:62ch;margin:15px 0 0;color:var(--nva-muted)}
.nva-dual-map-block__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}
.nva-dual-map-block__actions .nva-button{white-space:nowrap}
.nva-stop__external-image{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center center}
@media(max-width:900px){.nva-dual-map-block{grid-template-columns:1fr}.nva-dual-map-block__actions{justify-content:flex-start}}
@media(max-width:620px){.nva-dual-map-block{padding:24px 20px;border-radius:22px}.nva-dual-map-block__actions{display:grid;grid-template-columns:1fr}.nva-dual-map-block__actions .nva-button{width:100%;white-space:normal}}

/* Alpha146.17 · Cofete + Casa Winter: dos imágenes dentro del mismo componente estructurado. */
.nva-stops--structured-grid .nva-stop.has-grouped-media.has-external-media-pair .nva-stop__media--grouped.nva-stop__media--external-pair.is-count-2{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:minmax(0,1.18fr) minmax(0,.82fr);
  width:min(100%,760px);
  max-width:760px;
  aspect-ratio:4/3;
  gap:8px;
  overflow:hidden;
  background:transparent;
}
.nva-stops--structured-grid .nva-stop.has-grouped-media.has-external-media-pair .nva-stop__media--external-pair .nva-stop__media-tile{
  min-height:0;
  border-radius:0;
}
.nva-stops--structured-grid .nva-stop.has-grouped-media.has-external-media-pair .nva-stop__media--external-pair .nva-stop__media-tile>img{
  width:100%;
  height:100%;
  object-fit:cover;
  max-width:none;
}
.nva-stops--structured-grid .nva-stop.has-grouped-media.has-external-media-pair .nva-stop__media--external-pair .is-primary>img{object-position:center 48%}
.nva-stops--structured-grid .nva-stop.has-grouped-media.has-external-media-pair .nva-stop__media--external-pair .is-external>img{object-position:center 62%}
@media(max-width:900px){
  .nva-stops--structured-grid .nva-stop.has-grouped-media.has-external-media-pair .nva-stop__media--grouped.nva-stop__media--external-pair.is-count-2{
    width:100%;
    max-width:none;
    aspect-ratio:4/3;
    grid-template-rows:minmax(0,1.12fr) minmax(0,.88fr);
  }
}


/* Alpha146.18 · Cofete + Casa Winter: sin hueco vertical ni crédito superpuesto. */
.nva-stops--structured-grid .nva-stop.has-external-media-pair.has-recommendation.has-extras{
  grid-template-areas:"media body" "media recommendation" "extras extras";
}
.nva-stops--structured-grid .nva-stop.is-reverse.has-external-media-pair.has-recommendation.has-extras{
  grid-template-areas:"body media" "recommendation media" "extras extras";
}
.nva-stops--structured-grid .nva-stop.has-external-media-pair.has-recommendation:not(.has-extras){
  grid-template-areas:"media body" "media recommendation";
}
.nva-stops--structured-grid .nva-stop.is-reverse.has-external-media-pair.has-recommendation:not(.has-extras){
  grid-template-areas:"body media" "recommendation media";
}
.nva-stops--structured-grid .nva-stop.has-grouped-media.has-external-media-pair .nva-stop__media--grouped.nva-stop__media--external-pair.is-count-2{
  align-self:stretch;
  height:100%;
  min-height:0;
  max-height:none;
  aspect-ratio:auto;
  grid-template-rows:minmax(0,1.2fr) minmax(0,.8fr);
}
.nva-external-image-credit-note{
  margin:10px 0 0;
  color:var(--nva-muted);
  font-size:.64rem;
  line-height:1.35;
}
.nva-external-image-credit-note a{
  color:inherit;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
@media(max-width:820px){
  .nva-stops--structured-grid .nva-stop.has-external-media-pair.has-recommendation.has-extras,
  .nva-stops--structured-grid .nva-stop.is-reverse.has-external-media-pair.has-recommendation.has-extras,
  .nva-stops--structured-grid .nva-stop.has-external-media-pair.has-recommendation:not(.has-extras),
  .nva-stops--structured-grid .nva-stop.is-reverse.has-external-media-pair.has-recommendation:not(.has-extras){
    grid-template-columns:1fr;
    grid-template-areas:"media" "body" "recommendation" "extras";
  }
  .nva-stops--structured-grid .nva-stop.has-grouped-media.has-external-media-pair .nva-stop__media--grouped.nva-stop__media--external-pair.is-count-2{
    height:auto;
    aspect-ratio:auto;
    grid-template-rows:none;
    grid-auto-rows:auto;
  }
  .nva-stops--structured-grid .nva-stop.has-external-media-pair .nva-stop__media--external-pair .nva-stop__media-tile{
    aspect-ratio:16/9;
  }
}

/* Alpha146.36 · CIERRE PAÍS VASCO / BERMEO.
 * 1) Las colecciones gastronómicas destacadas se muestran al final como una
 *    experiencia probada compacta, no intercaladas en la ruta monumental.
 * 2) En móvil, TODOS los directorios de destinos hijos usan una única columna.
 *    El override queda al final del archivo para neutralizar reglas históricas
 *    de 5/7 tarjetas y cualquier span de grid que pudiera sobrevivir en caché.
 */
.nva-featured-stop-places{margin-top:clamp(72px,7vw,100px)}
.nva-featured-stop-places__group{width:100%;padding:clamp(18px,2.4vw,28px)}
.nva-featured-stop-places__intro{max-width:72ch;margin:0 0 22px;color:var(--nva-muted)}
.nva-featured-stop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.nva-featured-stop-card{overflow:hidden;border:1px solid var(--nva-line);border-radius:20px;background:#fff;box-shadow:var(--nva-shadow-soft)}
.nva-featured-stop-card__media{width:100%;aspect-ratio:16/10;overflow:hidden;background:#e5ebe7}
.nva-featured-stop-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.nva-featured-stop-card__body{padding:20px}
.nva-featured-stop-card__eyebrow{margin:0 0 7px;color:var(--nva-coral);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.nva-featured-stop-card h4{margin:0;color:var(--nva-ink);font:500 clamp(1.9rem,3vw,2.7rem)/1 var(--nva-serif);letter-spacing:-.025em}
.nva-featured-stop-card__text{margin-top:14px;color:var(--nva-muted);font-size:.9rem;line-height:1.58}
.nva-featured-stop-card__text>*:first-child{margin-top:0}
.nva-featured-stop-card__text>*:last-child{margin-bottom:0}
.nva-featured-stop-card__recommendation{margin:16px 0 0;padding:13px 14px;border-radius:13px;background:var(--nva-sand);color:var(--nva-ink);font-size:.84rem;line-height:1.48}
.nva-featured-stop-card__video{display:inline-flex;align-items:center;gap:7px;margin-top:16px;color:var(--nva-teal);font-size:.8rem;font-weight:900;text-decoration:none}
.nva-featured-stop-card__video:hover,.nva-featured-stop-card__video:focus-visible{text-decoration:underline;text-underline-offset:3px}

@media(max-width:760px){
  .nva-featured-stop-grid{grid-template-columns:1fr}
  .nva-featured-stop-places__group{padding:18px}
}

@media(max-width:600px){
  .nva-child-destinations--mobile-stack,
  .nva-child-destinations--mobile-stack.is-count-1,
  .nva-child-destinations--mobile-stack.is-count-2,
  .nva-child-destinations--mobile-stack.is-count-3,
  .nva-child-destinations--mobile-stack.is-count-4,
  .nva-child-destinations--mobile-stack.is-count-5,
  .nva-child-destinations--mobile-stack.is-count-6,
  .nva-child-destinations--mobile-stack.is-count-7,
  .nva-child-destinations--mobile-stack.is-count-8{
    position:static!important;
    left:auto!important;
    width:100%!important;
    max-width:none!important;
    transform:none!important;
  }
  .nva-child-destinations--mobile-stack .nva-travel-card-grid,
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-1,
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-2,
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-3,
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-4,
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-5,
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-6,
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-7,
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-8{
    position:static!important;
    left:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:auto!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
    margin-inline:0!important;
    transform:none!important;
    gap:16px!important;
  }
  .nva-child-destinations--mobile-stack .nva-travel-card-grid>.nva-destination-card,
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-5>.nva-destination-card,
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-7>.nva-destination-card,
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-5>.nva-destination-card:nth-last-child(-n+2),
  .nva-child-destinations--mobile-stack .nva-travel-card-grid.is-count-7>.nva-destination-card:nth-last-child(-n+3){
    grid-column:1/-1!important;
    grid-row:auto!important;
    align-self:start!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
  }
  .nva-child-destinations--mobile-stack .nva-destination-card__link{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
  }
  .nva-child-destinations--mobile-stack .nva-destination-card__media{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/10!important;
  }
  .nva-child-destinations--mobile-stack .nva-destination-card__media img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
  }
  .nva-child-destinations--mobile-stack .nva-destination-card__body{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    padding:18px!important;
  }
  .nva-child-destinations--mobile-stack .nva-card-eyebrow,
  .nva-child-destinations--mobile-stack .nva-destination-card__body>p:not(.nva-card-eyebrow){min-height:0!important}
  .nva-child-destinations--mobile-stack .nva-card-action{margin-top:18px!important;padding-top:0!important}

  .nva-featured-stop-places{margin-top:64px}
  .nva-featured-stop-places__group{padding:16px}
  .nva-featured-stop-card__body{padding:18px}
}
