/*
 * GR11 Viajes — Ficha de viaje template rules, copied literally from source/03-ficha-de-viaje/mobile.css.
 * Rules identical to approved/global.css (or global-mobile.css) and the color tokens (GP Global Colors) are removed.
 * Enqueued with media="(max-width:767px)".
 */
:root{
  --fs-price-lg:48px;
  --fs-price-card:46px;
  --fs-date-card:30px;
  --fs-route:23px;
  --radius-price:18px 48px 18px 18px;
  --band-h:260px;
}

.section-head{grid-template-columns:1fr;gap:var(--space-md);margin-bottom:var(--space-xl)}

/* Hero */
.trip-hero{min-height:0;align-items:stretch}
.trip-hero__media img{object-position:62% 50%}
.trip-hero__veil{background:linear-gradient(180deg,rgba(9,24,40,.6) 0%,rgba(9,24,40,.2) 22%,rgba(9,24,40,.55) 42%,rgba(9,24,40,.88) 100%)}
.trip-hero__content{grid-template-columns:1fr;grid-template-areas:"text" "card" "actions";row-gap:var(--space-lg);padding-top:300px;padding-bottom:calc(var(--curve-h) + var(--space-xl))}
.trip-hero__title{line-height:.94;margin-bottom:var(--space-md)}
.trip-hero__card{padding:var(--space-lg)}
.booking-facts dd{font-size:24px}
.booking-price{padding:var(--space-md) 0 var(--space-lg)}
.trip-hero__card .btn{min-height:52px}
.trip-hero__actions .btn{width:100%;min-height:52px}

/* Intro + fila de enlaces desplazable (6 enlaces, «El viaje» primero) */
.trip-intro{padding:var(--space-xs) 0 calc(var(--space-2xl) + var(--space-md))}
.trip-subnav{margin:0 calc(-1 * var(--gutter)) var(--space-xl);padding:0 var(--gutter);overflow-x:auto;scrollbar-width:none}
.trip-subnav::-webkit-scrollbar{display:none}
.trip-subnav__label{display:none}
.trip-subnav__list{flex-wrap:nowrap;white-space:nowrap}
.trip-subnav__list li+li::before{margin:0 var(--space-sm)}
.trip-subnav__list li:last-child{padding-right:var(--gutter)}
#el-viaje{scroll-margin-top:var(--space-3xl)}
.trip-intro__grid{grid-template-columns:1fr;gap:var(--space-xl)}
.trip-intro__text .text-link{min-height:44px}
.facts__item{min-height:56px}

/* Dificultad */
.difficulty{padding:calc(var(--curve-h) + var(--space-xl)) 0 calc(var(--curve-h) + var(--space-2xl))}
.difficulty__grid{grid-template-columns:1fr;gap:var(--space-md)}
.diff-card{display:grid;grid-template-columns:64px 1fr;column-gap:var(--space-md);padding:var(--space-lg) var(--space-md)}
.diff-card__head{display:contents}
.diff-card__icon{grid-row:1/span 4;width:64px;height:48px}
.diff-card__head>div{margin-bottom:var(--space-sm)}
.level{grid-column:2;margin-bottom:var(--space-sm);gap:var(--space-sm)}
.level__bar{height:8px}
.level__text{font-size:12px}
.diff-card__label{grid-column:2;min-height:32px;font-size:19px;padding:0 var(--space-md);margin-bottom:var(--space-sm)}
.diff-card__text{grid-column:2}
.difficulty__note{padding:var(--space-md);font-size:13px;margin-top:var(--space-lg)}

/* Información del viaje: tarjeta → Incluye → No incluye */
.trip-info{padding:var(--space-2xl) 0 var(--space-2xl)}
.info-row{grid-template-columns:1fr;gap:var(--space-2xl)}
.price-card{padding:var(--space-xl) var(--space-lg) var(--space-lg)}
.price-card__prices{column-gap:20px}
.price-row__concept{font-size:15px}
.price-card__rule{margin:var(--space-lg) 0}
.departure dt{font-size:15px}
.price-card__cta{min-height:56px;margin-top:var(--space-lg)}
.inclusions__col{padding-top:0}
.inclusions__title{margin-bottom:var(--space-md)}
.inclusions__badge{width:36px;height:36px}
.list-check li,.list-cross li{gap:var(--space-sm);padding:var(--space-sm) 0;min-height:44px}
.concepts{margin-top:var(--space-2xl)}
.concepts__title{margin-bottom:var(--space-md)}
.concept-table{grid-template-columns:1fr}
.concept-table__row{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--space-sm);row-gap:2px;min-height:48px;padding:var(--space-sm) 0}
.concept-table__row:nth-child(2){border-top:0}
.concept-table dd{white-space:normal;overflow:visible}

/* Itinerario: fondo blanco, ruta con chevrons, cards sin fecha y padding simétrico, mapa al final */
.itinerary{padding:calc(var(--curve-h) + var(--space-xl)) 0 calc(var(--curve-h) + var(--space-2xl))}
.itinerary .section-head{margin-bottom:var(--space-lg)}
.route-strip{margin-bottom:var(--space-xl)}
.route-list{row-gap:var(--space-xs);padding:var(--space-md) 0}
.route-list__item+.route-list__item::before{width:8px;height:8px;border-top-width:2.5px;border-right-width:2.5px;margin:0 var(--space-sm) 0 calc(var(--space-sm) - 4px)}
.itinerary__layout,.itinerary__layout.has-map{grid-template-columns:1fr;gap:var(--space-lg)}
.itinerary__layout.has-map .route-map{order:2;position:static}
.route-map__frame{aspect-ratio:4/3;border-radius:var(--radius-md)}
.days{gap:10px}
.day__head{grid-template-columns:40px 1fr 18px;gap:var(--space-sm);min-height:48px;padding:var(--space-md)}
.day__num{font-size:30px}
.day__title{font-size:21px}
.day__body{padding:var(--space-2xs) var(--space-md) var(--space-md) calc(var(--space-md) + 40px + var(--space-sm))}

/* Sobre la ruta */
.route-text{padding:var(--space-xl) 0 var(--space-3xl)}
.route-text__inner{padding-top:var(--space-2xl)}
.route-text__inner p:not(.eyebrow){line-height:1.65}

/* Foto separadora: una sola foto */
.photo-band__grid{grid-template-columns:1fr;gap:0}
.photo-band__item:nth-child(n+2){display:none}

/* Galería */
.trip-gallery{padding:var(--space-2xl) 0 var(--space-section)}
.gallery__head{flex-direction:column;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg)}
.trip-gallery__grid{grid-template-columns:repeat(2,1fr);gap:10px}
.trip-gallery__item{aspect-ratio:1/1;border-radius:14px}

/* Vídeo */
.trip-video{padding:var(--space-section) 0 calc(var(--space-section) + var(--curve-h))}
.trip-video .section-head{margin-bottom:var(--space-lg);text-align:left}
.trip-video .section-head .eyebrow{justify-content:flex-start}
.video-facade{border-radius:var(--radius-md);margin:0 calc(-1 * var(--space-xs))}
.video-facade__play{width:72px;height:72px;margin:-36px 0 0 -36px;border-width:4px}
.video-facade__play svg{width:26px;height:26px}

/* Contacto */
.trip-contact{padding:calc(var(--curve-h) + var(--space-2xl)) 0 calc(var(--curve-h) + var(--space-2xl));text-align:center}
.trip-contact__inner{grid-template-columns:1fr;gap:var(--space-xl)}
.trip-contact__text .eyebrow{justify-content:center}
.trip-contact__text p:last-child{margin:0 auto}
.trip-contact__actions .btn{min-height:56px}
.contact-link{min-height:60px;text-align:left;border-radius:20px}

/* Barra fija de reserva */
.booking-bar{position:sticky;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:10px var(--gutter);background:var(--color-white);border-top:1px solid var(--color-line);box-shadow:0 -10px 24px -14px rgba(9,24,40,.4)}
.booking-bar__price{display:flex;flex-direction:column;font-family:var(--font-display);font-size:30px;line-height:1;color:var(--color-ink);white-space:nowrap}
.booking-bar__label{font-family:var(--font-body);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);margin-bottom:2px}
.booking-bar .btn{flex:1;min-height:52px;max-width:220px}
