.tfv-page-access-experience{background:#f3f6fa;color:#071a31}.ax-exp{min-height:70vh}.ax-exp__hero{padding:42px 20px 32px;background:linear-gradient(180deg,#f7f9fc 0%,#eef3f8 100%)}.ax-exp__hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:34px;align-items:start}.ax-exp__gallery,.ax-exp__summary,.ax-exp__panel{background:#fff;border:1px solid #e3e9f0;border-radius:30px;box-shadow:0 18px 50px rgba(6,31,61,.07)}.ax-exp__gallery{padding:16px}.ax-exp__main-media{aspect-ratio:4/3;border-radius:22px;background:#eaf0f5 var(--ax-main) center/contain no-repeat;display:grid;place-items:center;overflow:hidden;color:#d9a43d;font-size:3rem;font-weight:950}.ax-exp__thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 2px 0}.ax-exp__thumb{border:2px solid transparent;background:#f4f6f9;border-radius:14px;padding:0;overflow:hidden;width:84px;height:68px;flex:0 0 auto;cursor:pointer}.ax-exp__thumb.is-active{border-color:#daa73f}.ax-exp__thumb img{width:100%;height:100%;object-fit:cover}.ax-exp__summary{padding:30px;position:sticky;top:104px}.ax-exp__back{display:inline-flex;color:#53657a;text-decoration:none;font-weight:850;margin-bottom:18px}.ax-exp__badges{display:flex;gap:8px;flex-wrap:wrap}.ax-exp__badges span{background:#edf2f7;border:1px solid #dce4ed;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.ax-exp__badges .is-gold{background:#fff4d7;border-color:#edcf87;color:#8b610d}.ax-exp__summary h1{font-size:clamp(2.4rem,4.6vw,4.65rem);line-height:.94;letter-spacing:-.055em;margin:17px 0 12px;color:#061d39}.ax-exp__ally{display:inline-flex;gap:9px;align-items:center;font-weight:950;color:#071a31;text-decoration:none}.ax-exp__ally small{font-weight:750;color:#7b8796}.ax-exp__location{margin:8px 0 0;color:#6b788a}.ax-exp__lead{font-size:1.05rem;line-height:1.75;color:#58697e;margin:20px 0}.ax-exp__trust{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.ax-exp__trust span{font-size:.82rem;font-weight:850;color:#29435e}.ax-exp__price-card{background:#061f3e;border-radius:22px;padding:19px 20px;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:18px}.ax-exp__price-card del{display:block;color:#aab8c9;font-size:.82rem}.ax-exp__price-card small{display:block;text-transform:uppercase;letter-spacing:.09em;font-weight:850;color:#bdc9d6;margin-top:2px}.ax-exp__price-card strong{display:block;font-size:2rem;color:#e8b54b;margin:3px 0}.ax-exp__price-card span{font-size:.78rem;color:#d6e0e9}.ax-exp__price-card b{background:#e9f8e9;color:#147733;border-radius:999px;padding:8px 11px;white-space:nowrap;font-size:.76rem}.ax-exp__cta{display:flex;justify-content:center;align-items:center;text-align:center;margin-top:14px;background:linear-gradient(135deg,#d89f31,#f2c55c);color:#071a31;text-decoration:none;border-radius:999px;padding:16px 20px;font-weight:950;box-shadow:0 14px 30px rgba(216,159,49,.23)}.ax-exp__login-note{text-align:center;font-size:.8rem!important;color:#79869a!important;margin:9px 0 0!important}.ax-exp__body{padding:12px 20px 72px}.ax-exp__content-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:24px}.ax-exp__main-column,.ax-exp__side-column{display:grid;gap:22px;align-content:start}.ax-exp__panel{padding:26px}.ax-exp__panel h2{font-size:1.7rem;line-height:1.1;margin:6px 0 14px;letter-spacing:-.03em}.ax-exp__benefit{font-size:1.02rem;line-height:1.75;color:#53657a}.ax-exp__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ax-exp__steps article{background:#f7f9fc;border:1px solid #e2e8ef;border-radius:18px;padding:16px}.ax-exp__steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7b34b;color:#071a31;margin-bottom:12px}.ax-exp__steps strong{display:block;font-size:.93rem}.ax-exp__steps span{display:block;color:#69798c;font-size:.82rem;line-height:1.45;margin-top:5px}.ax-exp__conditions summary{cursor:pointer;list-style:none;font-weight:950;display:flex;justify-content:space-between;align-items:center}.ax-exp__conditions summary::-webkit-details-marker{display:none}.ax-exp__conditions summary span{font-size:1.4rem;color:#c28b22}.ax-exp__conditions div{border-top:1px solid #edf0f4;margin-top:16px;padding-top:16px;line-height:1.7;color:#58697d}.ax-exp__partner p{color:#647489;line-height:1.65}.ax-exp__partner a{display:inline-flex;margin-top:8px;color:#9b6b13;font-weight:900;text-decoration:none}.ax-exp__facts dl{margin:0}.ax-exp__facts dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #edf0f4}.ax-exp__facts dl>div:last-child{border-bottom:0}.ax-exp__facts dt{color:#768498}.ax-exp__facts dd{margin:0;font-weight:850;text-align:right}
@media(max-width:980px){.ax-exp__hero-grid,.ax-exp__content-grid{grid-template-columns:1fr}.ax-exp__summary{position:static}.ax-exp__steps{grid-template-columns:1fr 1fr}.ax-exp__main-media{aspect-ratio:16/10}}
@media(max-width:600px){.ax-exp__hero{padding:20px 12px 20px}.ax-exp__body{padding:4px 12px 56px}.ax-exp__gallery{padding:10px;border-radius:22px}.ax-exp__summary,.ax-exp__panel{padding:20px;border-radius:22px}.ax-exp__summary h1{font-size:2.35rem}.ax-exp__price-card{align-items:flex-start;flex-direction:column}.ax-exp__steps{grid-template-columns:1fr}.ax-exp__main-media{aspect-ratio:4/3}.ax-exp__thumb{width:72px;height:58px}}

/* ACCESS P0.5 — detalles turísticos estructurados */
.ax-exp__trip-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.ax-exp__trip-chips span{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid #dde5ee;background:#f7f9fc;border-radius:999px;color:#40556d;font-size:.8rem;font-weight:800}.ax-exp__trip-chips b{color:#071f3e}.ax-exp__trip-sections{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ax-exp__trip-sections article{border:1px solid #e3e9f0;background:#f8fafc;border-radius:18px;padding:17px}.ax-exp__trip-sections article.is-wide{grid-column:1/-1}.ax-exp__trip-sections h3{margin:0 0 10px;color:#071f3e;font-size:1rem}.ax-exp__trip-sections article>div{color:#596a7e;line-height:1.72;font-size:.93rem}.ax-exp__trip-panel h2{margin-bottom:18px}
@media(max-width:700px){.ax-exp__trip-sections{grid-template-columns:1fr}.ax-exp__trip-sections article.is-wide{grid-column:auto}.ax-exp__trip-chips{gap:6px}.ax-exp__trip-chips span{width:100%;border-radius:14px}}

/* =========================================================
   ACCESS P0.8 — Mobile Premium Experience
   Scope: experiencia.php only. No business / payment logic.
   ========================================================= */
@media (max-width: 700px) {
  .tfv-page-access-experience .ax-exp { overflow-x: clip; }

  .tfv-page-access-experience .ax-exp__hero {
    padding: 12px 10px 14px;
  }
  .tfv-page-access-experience .ax-exp__hero-grid,
  .tfv-page-access-experience .ax-exp__content-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 12px;
  }

  /* Galería más panorámica: reduce el primer scroll sin perder navegación. */
  .tfv-page-access-experience .ax-exp__gallery {
    padding: 8px;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(6,31,61,.06);
  }
  .tfv-page-access-experience .ax-exp__main-media {
    aspect-ratio: 16 / 10;
    min-height: 0;
    max-height: 48vh;
    border-radius: 14px;
    background-size: cover;
    background-position: center;
  }
  .tfv-page-access-experience .ax-exp__thumbs {
    gap: 7px;
    padding: 8px 0 1px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .tfv-page-access-experience .ax-exp__thumbs::-webkit-scrollbar { display: none; }
  .tfv-page-access-experience .ax-exp__thumb {
    width: 60px;
    height: 48px;
    border-radius: 10px;
    scroll-snap-align: start;
  }

  /* Resumen: jerarquía compacta para 390–430 px. */
  .tfv-page-access-experience .ax-exp__summary {
    padding: 18px;
    border-radius: 20px;
    box-shadow: 0 10px 28px rgba(6,31,61,.06);
  }
  .tfv-page-access-experience .ax-exp__back {
    margin-bottom: 13px;
    font-size: .9rem;
  }
  .tfv-page-access-experience .ax-exp__badges { gap: 6px; }
  .tfv-page-access-experience .ax-exp__badges span {
    padding: 6px 9px;
    font-size: .66rem;
  }
  .tfv-page-access-experience .ax-exp__summary h1 {
    margin: 13px 0 10px;
    font-size: clamp(2rem, 9vw, 2.45rem);
    line-height: 1.01;
    letter-spacing: -.045em;
    overflow-wrap: anywhere;
  }
  .tfv-page-access-experience .ax-exp__ally {
    display: flex;
    flex-wrap: wrap;
    row-gap: 3px;
    font-size: .92rem;
  }
  .tfv-page-access-experience .ax-exp__location {
    margin-top: 7px;
    font-size: .9rem;
  }
  .tfv-page-access-experience .ax-exp__lead {
    margin: 16px 0;
    font-size: .96rem;
    line-height: 1.62;
    color: #5e6f84;
  }
  .tfv-page-access-experience .ax-exp__trust {
    gap: 7px 12px;
    margin: 12px 0;
  }
  .tfv-page-access-experience .ax-exp__trust span {
    font-size: .78rem;
  }

  /* Tarifa y CTA: más compactos y con mejor lectura táctil. */
  .tfv-page-access-experience .ax-exp__price-card {
    gap: 10px;
    padding: 17px 18px;
    border-radius: 20px;
  }
  .tfv-page-access-experience .ax-exp__price-card del { font-size: .78rem; }
  .tfv-page-access-experience .ax-exp__price-card small { font-size: .72rem; }
  .tfv-page-access-experience .ax-exp__price-card strong {
    margin: 4px 0 3px;
    font-size: clamp(2rem, 10vw, 2.65rem);
    line-height: 1;
  }
  .tfv-page-access-experience .ax-exp__price-card span {
    display: block;
    font-size: .76rem;
    line-height: 1.45;
  }
  .tfv-page-access-experience .ax-exp__price-card b {
    white-space: normal;
    font-size: .72rem;
  }
  .tfv-page-access-experience .ax-exp__cta {
    min-height: 54px;
    margin-top: 10px;
    padding: 13px 16px;
    border-radius: 17px;
    font-size: .98rem;
    line-height: 1.2;
  }

  /* Cuerpo: menos aire muerto y paneles consistentes. */
  .tfv-page-access-experience .ax-exp__body {
    padding: 0 10px 42px;
  }
  .tfv-page-access-experience .ax-exp__main-column,
  .tfv-page-access-experience .ax-exp__side-column {
    gap: 12px;
  }
  .tfv-page-access-experience .ax-exp__panel {
    padding: 18px;
    border-radius: 20px;
    box-shadow: 0 10px 28px rgba(6,31,61,.055);
  }
  .tfv-page-access-experience .ax-exp__panel h2 {
    margin: 5px 0 12px;
    font-size: clamp(1.45rem, 6.5vw, 1.8rem);
    line-height: 1.08;
  }
  .tfv-page-access-experience .ax-exp__benefit,
  .tfv-page-access-experience .ax-exp__conditions div,
  .tfv-page-access-experience .ax-exp__partner p {
    font-size: .94rem;
    line-height: 1.6;
  }

  /* 4 pasos en 2x2: conserva explicación y reduce largo de página. */
  .tfv-page-access-experience .ax-exp__steps {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 9px;
  }
  .tfv-page-access-experience .ax-exp__steps article {
    min-width: 0;
    padding: 13px;
    border-radius: 15px;
  }
  .tfv-page-access-experience .ax-exp__steps b {
    width: 31px;
    height: 31px;
    margin-bottom: 9px;
    font-size: .88rem;
  }
  .tfv-page-access-experience .ax-exp__steps strong { font-size: .9rem; }
  .tfv-page-access-experience .ax-exp__steps span {
    margin-top: 4px;
    font-size: .76rem;
    line-height: 1.38;
  }

  .tfv-page-access-experience .ax-exp__conditions summary {
    min-height: 36px;
    font-size: 1rem;
  }
  .tfv-page-access-experience .ax-exp__conditions summary span { font-size: 1.25rem; }

  /* Datos turísticos: chips horizontales y bloques legibles. */
  .tfv-page-access-experience .ax-exp__trip-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 7px;
    margin: 0 0 12px;
    padding-bottom: 2px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .tfv-page-access-experience .ax-exp__trip-chips::-webkit-scrollbar { display:none; }
  .tfv-page-access-experience .ax-exp__trip-chips span {
    width: auto;
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: .75rem;
    scroll-snap-align: start;
  }
  .tfv-page-access-experience .ax-exp__trip-sections { gap: 9px; }
  .tfv-page-access-experience .ax-exp__trip-sections article {
    padding: 14px;
    border-radius: 15px;
  }
  .tfv-page-access-experience .ax-exp__trip-sections article > div {
    font-size: .89rem;
    line-height: 1.58;
  }

  /* Partner/facts: compacta contenido secundario. */
  .tfv-page-access-experience .ax-exp__partner p { margin: 8px 0; }
  .tfv-page-access-experience .ax-exp__partner p:last-of-type {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .tfv-page-access-experience .ax-exp__facts dl > div {
    gap: 12px;
    padding: 10px 0;
    font-size: .9rem;
  }
}

@media (max-width: 370px) {
  .tfv-page-access-experience .ax-exp__summary h1 { font-size: 1.9rem; }
  .tfv-page-access-experience .ax-exp__steps { grid-template-columns: 1fr; }
  .tfv-page-access-experience .ax-exp__main-media { aspect-ratio: 3 / 2; }
}

/* =========================================================
   ACCESS P0.9.1 — Imagen principal real, completa y centrada
   Compatibilidad con experiencia.php actualizado.
   ========================================================= */
.ax-exp__main-media{
  background:#eaf0f5;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ax-exp__main-image{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  margin:0 auto;
  object-fit:contain;
  object-position:center center;
}


/* =========================================================
   ACCESS P0.9.2 — Responsive Universal / No Overflow
   Objetivo: ficha completa, centrada y legible en cualquier
   teléfono/tablet sin alterar lógica ni desktop.
   ========================================================= */
@media (max-width: 980px) {
  body.tfv-page-access-experience,
  body.tfv-page-access-experience .ax-exp,
  body.tfv-page-access-experience .ax-exp__hero,
  body.tfv-page-access-experience .ax-exp__body {
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:hidden;
  }

  body.tfv-page-access-experience .tfv-wrap,
  body.tfv-page-access-experience .ax-exp__hero-grid,
  body.tfv-page-access-experience .ax-exp__content-grid,
  body.tfv-page-access-experience .ax-exp__gallery,
  body.tfv-page-access-experience .ax-exp__summary,
  body.tfv-page-access-experience .ax-exp__panel,
  body.tfv-page-access-experience .ax-exp__main-column,
  body.tfv-page-access-experience .ax-exp__side-column {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  body.tfv-page-access-experience .ax-exp__hero-grid > *,
  body.tfv-page-access-experience .ax-exp__content-grid > *,
  body.tfv-page-access-experience .ax-exp__summary > *,
  body.tfv-page-access-experience .ax-exp__panel > * {
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }

  body.tfv-page-access-experience .ax-exp__summary h1,
  body.tfv-page-access-experience .ax-exp__lead,
  body.tfv-page-access-experience .ax-exp__ally,
  body.tfv-page-access-experience .ax-exp__location,
  body.tfv-page-access-experience .ax-exp__benefit,
  body.tfv-page-access-experience .ax-exp__conditions div,
  body.tfv-page-access-experience .ax-exp__partner p,
  body.tfv-page-access-experience .ax-exp__trip-sections article > div {
    width:100%;
    max-width:100%;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
  }

  body.tfv-page-access-experience .ax-exp__main-media {
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
    min-height:0;
    max-height:none;
    aspect-ratio:auto;
    margin:0 auto;
    padding:0;
    background:#eef3f7;
    overflow:hidden;
  }

  body.tfv-page-access-experience .ax-exp__main-image {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    max-height:none;
    margin:0 auto;
    object-fit:contain;
    object-position:center center;
  }

  body.tfv-page-access-experience .ax-exp__thumbs {
    width:100%;
    max-width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:6px;
    overflow:visible;
    padding:8px 0 0;
    margin:0 auto;
  }

  body.tfv-page-access-experience .ax-exp__thumb {
    width:100%;
    min-width:0;
    height:auto;
    aspect-ratio:1.25/1;
    border-radius:10px;
  }

  body.tfv-page-access-experience .ax-exp__thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  /* La información del viaje debe verse completa, no en carrusel cortado. */
  body.tfv-page-access-experience .ax-exp__trip-chips {
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    overflow:visible;
    margin:0 0 14px;
    padding:0;
  }

  body.tfv-page-access-experience .ax-exp__trip-chips span {
    width:100%;
    min-width:0;
    max-width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:wrap;
    padding:9px 10px;
    border-radius:13px;
    line-height:1.3;
    white-space:normal;
    overflow-wrap:anywhere;
  }

  body.tfv-page-access-experience .ax-exp__trust {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:7px 12px;
  }
  body.tfv-page-access-experience .ax-exp__trust span {
    min-width:0;
    white-space:normal;
  }

  body.tfv-page-access-experience .ax-exp__price-card,
  body.tfv-page-access-experience .ax-exp__cta {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  body.tfv-page-access-experience .ax-exp__price-card > * {
    min-width:0;
    max-width:100%;
  }

  body.tfv-page-access-experience .ax-exp__price-card span,
  body.tfv-page-access-experience .ax-exp__price-card small,
  body.tfv-page-access-experience .ax-exp__price-card b {
    white-space:normal;
    overflow-wrap:break-word;
  }
}

@media (max-width: 700px) {
  body.tfv-page-access-experience .ax-exp__hero {
    padding:12px 10px 14px;
  }

  body.tfv-page-access-experience .ax-exp__body {
    padding:0 10px 42px;
  }

  body.tfv-page-access-experience .ax-exp__gallery {
    padding:8px;
    border-radius:18px;
  }

  body.tfv-page-access-experience .ax-exp__main-media {
    border-radius:15px;
  }

  body.tfv-page-access-experience .ax-exp__summary,
  body.tfv-page-access-experience .ax-exp__panel {
    padding:18px;
    border-radius:20px;
  }

  body.tfv-page-access-experience .ax-exp__summary h1 {
    margin:12px 0 10px;
    font-size:clamp(1.9rem,8.4vw,2.35rem);
    line-height:1.02;
    letter-spacing:-.04em;
  }

  body.tfv-page-access-experience .ax-exp__lead {
    margin:15px 0;
    font-size:clamp(.93rem,4vw,1rem);
    line-height:1.58;
  }

  body.tfv-page-access-experience .ax-exp__ally {
    display:flex;
    flex-wrap:wrap;
    gap:4px 8px;
  }

  body.tfv-page-access-experience .ax-exp__price-card {
    display:block;
    padding:17px 18px;
    border-radius:20px;
  }

  body.tfv-page-access-experience .ax-exp__price-card strong {
    font-size:clamp(2rem,10vw,2.65rem);
    line-height:1;
  }

  body.tfv-page-access-experience .ax-exp__cta {
    min-height:54px;
    padding:13px 14px;
    border-radius:17px;
    line-height:1.2;
  }

  body.tfv-page-access-experience .ax-exp__steps {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 430px) {
  body.tfv-page-access-experience .ax-exp__hero {
    padding-left:8px;
    padding-right:8px;
  }
  body.tfv-page-access-experience .ax-exp__body {
    padding-left:8px;
    padding-right:8px;
  }
  body.tfv-page-access-experience .ax-exp__summary,
  body.tfv-page-access-experience .ax-exp__panel {
    padding:16px;
  }
  body.tfv-page-access-experience .ax-exp__trip-chips {
    grid-template-columns:1fr;
  }
  body.tfv-page-access-experience .ax-exp__summary h1 {
    font-size:clamp(1.8rem,8.7vw,2.15rem);
  }
  body.tfv-page-access-experience .ax-exp__thumbs {
    gap:5px;
  }
}

@media (max-width: 360px) {
  body.tfv-page-access-experience .ax-exp__steps {
    grid-template-columns:1fr;
  }
  body.tfv-page-access-experience .ax-exp__thumbs {
    grid-template-columns:repeat(3,minmax(0,1fr));
    row-gap:6px;
  }
}



/* =========================================================
   ACCESS P0.9.3 — Hero responsive definitivo
   Objetivo: composición estable en desktop, laptop, tablet
   y móvil. Solo presentación; no altera lógica de negocio.
   ========================================================= */

/* Base defensiva: ningún hijo del hero puede imponer ancho. */
body.tfv-page-access-experience .ax-exp__hero,
body.tfv-page-access-experience .ax-exp__hero .tfv-wrap,
body.tfv-page-access-experience .ax-exp__hero-grid,
body.tfv-page-access-experience .ax-exp__gallery,
body.tfv-page-access-experience .ax-exp__summary,
body.tfv-page-access-experience .ax-exp__gallery > *,
body.tfv-page-access-experience .ax-exp__summary > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

body.tfv-page-access-experience .ax-exp__hero .tfv-wrap {
  width: min(100%, 1280px);
  margin-inline: auto;
}

body.tfv-page-access-experience .ax-exp__hero-grid {
  align-items: start;
}

/* Galería: soporta tanto <img> real como fallback background. */
body.tfv-page-access-experience .ax-exp__main-media {
  width: 100%;
  margin-inline: auto;
  background-position: center center;
  background-repeat: no-repeat;
}

body.tfv-page-access-experience .ax-exp__main-image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  margin: 0 auto;
  object-fit: contain;
  object-position: center center;
}

/* Desktop / monitores. */
@media (min-width: 1181px) {
  body.tfv-page-access-experience .ax-exp__hero {
    padding: 36px 22px 30px;
  }
  body.tfv-page-access-experience .ax-exp__hero-grid {
    grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr);
    gap: clamp(24px, 2.3vw, 34px);
  }
  body.tfv-page-access-experience .ax-exp__gallery {
    width: 100%;
    padding: 14px;
  }
  body.tfv-page-access-experience .ax-exp__main-media {
    aspect-ratio: 4 / 3;
    min-height: 0;
    max-height: 600px;
    background-size: contain;
  }
  body.tfv-page-access-experience .ax-exp__summary {
    width: 100%;
    padding: clamp(24px, 2vw, 30px);
  }
  body.tfv-page-access-experience .ax-exp__summary h1 {
    font-size: clamp(2.65rem, 3.5vw, 4.15rem);
    line-height: .96;
  }
}

/* Laptop y tablet horizontal: aún dos columnas, pero equilibradas. */
@media (min-width: 901px) and (max-width: 1180px) {
  body.tfv-page-access-experience .ax-exp__hero {
    padding: 28px 18px 26px;
  }
  body.tfv-page-access-experience .ax-exp__hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
    gap: 22px;
  }
  body.tfv-page-access-experience .ax-exp__main-media {
    aspect-ratio: 4 / 3;
    background-size: contain;
  }
  body.tfv-page-access-experience .ax-exp__summary {
    padding: 24px;
    position: static;
  }
  body.tfv-page-access-experience .ax-exp__summary h1 {
    font-size: clamp(2.3rem, 4.2vw, 3.35rem);
    line-height: .98;
  }
  body.tfv-page-access-experience .ax-exp__lead {
    font-size: .96rem;
    line-height: 1.62;
  }
}

/* Tablet vertical y teléfonos grandes: una columna limpia. */
@media (max-width: 900px) {
  body.tfv-page-access-experience {
    overflow-x: hidden;
  }
  body.tfv-page-access-experience .ax-exp__hero {
    width: 100%;
    padding: 18px 14px 18px;
  }
  body.tfv-page-access-experience .ax-exp__hero .tfv-wrap {
    width: 100%;
    max-width: 760px;
    padding: 0;
    margin-inline: auto;
  }
  body.tfv-page-access-experience .ax-exp__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  body.tfv-page-access-experience .ax-exp__gallery,
  body.tfv-page-access-experience .ax-exp__summary {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }
  body.tfv-page-access-experience .ax-exp__gallery {
    padding: 10px;
    border-radius: 22px;
  }
  body.tfv-page-access-experience .ax-exp__main-media {
    aspect-ratio: auto;
    min-height: 0;
    max-height: none;
    border-radius: 17px;
    background-size: contain;
    overflow: hidden;
  }
  body.tfv-page-access-experience .ax-exp__main-image {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
  }
  body.tfv-page-access-experience .ax-exp__thumbs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 7px;
    overflow: hidden;
    padding: 9px 0 0;
  }
  body.tfv-page-access-experience .ax-exp__thumb {
    width: 100%;
    height: auto;
    min-width: 0;
    aspect-ratio: 1.22 / 1;
  }
  body.tfv-page-access-experience .ax-exp__summary {
    padding: clamp(20px, 4.8vw, 28px);
    position: static;
    border-radius: 24px;
  }
  body.tfv-page-access-experience .ax-exp__summary h1 {
    width: 100%;
    margin: 14px 0 10px;
    font-size: clamp(2.15rem, 7vw, 3.15rem);
    line-height: .99;
    letter-spacing: -.045em;
    overflow-wrap: anywhere;
  }
  body.tfv-page-access-experience .ax-exp__lead {
    width: 100%;
    margin: 16px 0;
    font-size: clamp(.95rem, 2.7vw, 1.04rem);
    line-height: 1.6;
    overflow-wrap: break-word;
  }
  body.tfv-page-access-experience .ax-exp__trip-chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    overflow: visible;
    padding: 0;
  }
  body.tfv-page-access-experience .ax-exp__trip-chips span {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    border-radius: 14px;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.3;
  }
  body.tfv-page-access-experience .ax-exp__trust {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }
  body.tfv-page-access-experience .ax-exp__trust span {
    width: 100%;
    min-width: 0;
    white-space: normal;
    line-height: 1.3;
  }
  body.tfv-page-access-experience .ax-exp__price-card {
    width: 100%;
    display: block;
    padding: 18px 19px;
  }
  body.tfv-page-access-experience .ax-exp__price-card > div {
    width: 100%;
  }
  body.tfv-page-access-experience .ax-exp__price-card strong {
    font-size: clamp(2rem, 8vw, 2.8rem);
    line-height: 1;
  }
  body.tfv-page-access-experience .ax-exp__cta {
    width: 100%;
    min-height: 54px;
    padding: 14px 16px;
  }
}

/* Móvil real: 320–600px. El Hero usa exactamente el viewport útil. */
@media (max-width: 600px) {
  body.tfv-page-access-experience .ax-exp__hero {
    padding: 12px 8px 14px !important;
  }
  body.tfv-page-access-experience .ax-exp__hero .tfv-wrap,
  body.tfv-page-access-experience .ax-exp__hero-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.tfv-page-access-experience .ax-exp__gallery {
    padding: 7px;
    border-radius: 19px;
  }
  body.tfv-page-access-experience .ax-exp__main-media {
    width: 100%;
    min-width: 0;
    aspect-ratio: auto !important;
    max-height: none !important;
    border-radius: 14px;
  }
  body.tfv-page-access-experience .ax-exp__main-image {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
  }
  body.tfv-page-access-experience .ax-exp__thumbs {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
    padding-top: 7px;
  }
  body.tfv-page-access-experience .ax-exp__thumb:nth-child(n+6) {
    display: none;
  }
  body.tfv-page-access-experience .ax-exp__summary {
    padding: 18px 16px;
    border-radius: 20px;
    overflow: hidden;
  }
  body.tfv-page-access-experience .ax-exp__back {
    margin-bottom: 12px;
    font-size: .92rem;
  }
  body.tfv-page-access-experience .ax-exp__summary h1 {
    font-size: clamp(1.9rem, 8.3vw, 2.35rem);
    line-height: 1.01;
    letter-spacing: -.04em;
  }
  body.tfv-page-access-experience .ax-exp__ally {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    gap: 4px 8px;
    font-size: .92rem;
  }
  body.tfv-page-access-experience .ax-exp__location {
    font-size: .93rem;
  }
  body.tfv-page-access-experience .ax-exp__lead {
    font-size: .95rem;
    line-height: 1.55;
  }
  body.tfv-page-access-experience .ax-exp__trip-chips,
  body.tfv-page-access-experience .ax-exp__trust {
    grid-template-columns: 1fr;
  }
  body.tfv-page-access-experience .ax-exp__trip-chips span,
  body.tfv-page-access-experience .ax-exp__trust span {
    font-size: .82rem;
  }
  body.tfv-page-access-experience .ax-exp__price-card {
    padding: 17px 16px;
    border-radius: 18px;
  }
  body.tfv-page-access-experience .ax-exp__price-card strong {
    font-size: clamp(2.05rem, 10vw, 2.65rem);
  }
  body.tfv-page-access-experience .ax-exp__cta {
    margin-top: 12px;
    min-height: 52px;
    border-radius: 16px;
    font-size: .96rem;
    line-height: 1.2;
  }
}

/* Teléfonos muy angostos: evita cualquier pérdida de contenido. */
@media (max-width: 380px) {
  body.tfv-page-access-experience .ax-exp__thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  body.tfv-page-access-experience .ax-exp__thumb:nth-child(5) {
    display: none;
  }
  body.tfv-page-access-experience .ax-exp__summary {
    padding: 16px 14px;
  }
  body.tfv-page-access-experience .ax-exp__summary h1 {
    font-size: clamp(1.75rem, 8.7vw, 2.05rem);
  }
}

/* =========================================================
   ACCESS P0.9.4 — Responsive móvil autoritativo + cache-bust
   Esta sección es intencionalmente la última del archivo.
   Scope exclusivo: experiencia.php.
   ========================================================= */

body.tfv-page-access-experience,
body.tfv-page-access-experience main.ax-exp,
body.tfv-page-access-experience .ax-exp__hero,
body.tfv-page-access-experience .ax-exp__body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body.tfv-page-access-experience .ax-exp__hero-grid,
body.tfv-page-access-experience .ax-exp__gallery,
body.tfv-page-access-experience .ax-exp__summary,
body.tfv-page-access-experience .ax-exp__summary > *,
body.tfv-page-access-experience .ax-exp__lead,
body.tfv-page-access-experience .ax-exp__trip-chips,
body.tfv-page-access-experience .ax-exp__trust,
body.tfv-page-access-experience .ax-exp__price-card,
body.tfv-page-access-experience .ax-exp__cta {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  body.tfv-page-access-experience .ax-exp__hero {
    padding: 16px 12px 18px !important;
  }

  body.tfv-page-access-experience .ax-exp__hero > .tfv-wrap.ax-exp__hero-grid {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 760px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 16px !important;
  }

  body.tfv-page-access-experience .ax-exp__gallery,
  body.tfv-page-access-experience .ax-exp__summary {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.tfv-page-access-experience .ax-exp__summary {
    position: static !important;
    overflow: hidden !important;
  }

  body.tfv-page-access-experience .ax-exp__summary h1,
  body.tfv-page-access-experience .ax-exp__lead,
  body.tfv-page-access-experience .ax-exp__location,
  body.tfv-page-access-experience .ax-exp__ally {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  /* Los datos del viaje dejan de ser una fila desplazable. */
  body.tfv-page-access-experience .ax-exp__trip-chips {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    width: 100% !important;
    gap: 8px !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 0 14px !important;
  }

  body.tfv-page-access-experience .ax-exp__trip-chips span {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    border-radius: 14px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.25 !important;
  }

  body.tfv-page-access-experience .ax-exp__trust {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    width: 100% !important;
    gap: 8px !important;
  }

  body.tfv-page-access-experience .ax-exp__trust span {
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 600px) {
  body.tfv-page-access-experience .ax-exp__hero {
    padding: 12px 10px 15px !important;
  }

  body.tfv-page-access-experience .ax-exp__gallery {
    padding: 8px !important;
    border-radius: 20px !important;
  }

  body.tfv-page-access-experience .ax-exp__main-media {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 auto !important;
    border-radius: 15px !important;
    overflow: hidden !important;
  }

  body.tfv-page-access-experience .ax-exp__main-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
  }

  body.tfv-page-access-experience .ax-exp__thumbs {
    display: grid !important;
    grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 6px !important;
    overflow: hidden !important;
    padding: 8px 0 0 !important;
  }

  body.tfv-page-access-experience .ax-exp__thumb {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 1.12 / 1 !important;
    border-radius: 10px !important;
  }

  body.tfv-page-access-experience .ax-exp__thumb:nth-child(n+6) {
    display: none !important;
  }

  body.tfv-page-access-experience .ax-exp__summary {
    padding: 18px 16px 20px !important;
    border-radius: 20px !important;
  }

  body.tfv-page-access-experience .ax-exp__summary h1 {
    margin: 14px 0 10px !important;
    font-size: clamp(1.9rem, 8.1vw, 2.35rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.04em !important;
  }

  body.tfv-page-access-experience .ax-exp__lead {
    margin: 17px 0 16px !important;
    font-size: .96rem !important;
    line-height: 1.58 !important;
  }

  body.tfv-page-access-experience .ax-exp__trip-chips {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  body.tfv-page-access-experience .ax-exp__trip-chips span {
    font-size: .84rem !important;
  }

  body.tfv-page-access-experience .ax-exp__trust {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    margin: 13px 0 !important;
  }

  body.tfv-page-access-experience .ax-exp__trust span {
    font-size: .82rem !important;
  }

  body.tfv-page-access-experience .ax-exp__price-card {
    display: block !important;
    width: 100% !important;
    padding: 18px 17px !important;
    border-radius: 19px !important;
  }

  body.tfv-page-access-experience .ax-exp__price-card > div {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.tfv-page-access-experience .ax-exp__price-card strong {
    font-size: clamp(2rem, 10.5vw, 2.65rem) !important;
  }

  body.tfv-page-access-experience .ax-exp__price-card small,
  body.tfv-page-access-experience .ax-exp__price-card span {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.tfv-page-access-experience .ax-exp__cta {
    width: 100% !important;
    min-height: 54px !important;
    margin-top: 12px !important;
    padding: 14px 16px !important;
    border-radius: 17px !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }
}

@media (max-width: 380px) {
  body.tfv-page-access-experience .ax-exp__summary {
    padding: 16px 14px 18px !important;
  }

  body.tfv-page-access-experience .ax-exp__summary h1 {
    font-size: 1.82rem !important;
  }

  body.tfv-page-access-experience .ax-exp__thumbs {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  }

  body.tfv-page-access-experience .ax-exp__thumb:nth-child(5) {
    display:none !important;
  }
}
