/*! TrueAndes — Bricks compat
    Bricks aplica display:flex + flex-direction:column a TODOS sus .brxe-section/.brxe-block,
    y su CSS carga despues del framework → gana por orden. Reasertamos el layout del framework
    con especificidad doblada (.ta-x.brxe-y = 0,2,0) para ganar sin depender del orden de carga.
    Cada bloque nativo que use una clase estructural .ta-* necesita su override aca. */

/* ===================== SISTEMA CONTENEDOR + PADDING (la maqueta lo tenía inline) =====================
   Estructura correcta: section.ta-band--X.ta-sec-pad > .ta-wide (max-width, centrado) > contenido.
   Bricks no porta los inline styles ni respeta el padding de sección → lo reasertamos acá para TODAS
   las secciones de una, sin parche por componente. */

/* padding vertical estándar de sección en las bandas + darker + sec-pad */
.ta-band--bone.brxe-section,
.ta-band--paper.brxe-section,
.ta-band--sand.brxe-section,
.ta-darker.brxe-section,
.ta-sec-pad.brxe-section {
  padding-block: clamp(3rem, 6vw, 6rem);
}
/* la banda de chips es más chata */
.ta-band--sand.brxe-section {
  padding-block: clamp(2rem, 3.5vw, 3rem);
}

/* max-width del contenido: todo grid/track/contenedor suelto se centra al ancho del sitio
   (por si no quedó envuelto en .ta-wide) */
.ta-wide.brxe-block {
  max-width: var(--ta-container-wide);
  margin-inline: auto;
  padding-inline: var(--ta-gutter);
  width: 100%;
  box-sizing: border-box;
}
.ta-container.brxe-block {
  max-width: var(--ta-container);
  margin-inline: auto;
  padding-inline: var(--ta-gutter);
  width: 100%;
  box-sizing: border-box;
}
.ta-cards-grid.brxe-block,
.ta-chips.brxe-block,
.ta-track.brxe-block {
  max-width: var(--ta-container-wide);
  margin-inline: auto;
  padding-inline: var(--ta-gutter);
  box-sizing: border-box;
}

/* ===================== RITMO VERTICAL DE TEXTO =====================
   Bricks pone margin:0 en .brxe-heading y renderiza .brxe-text-basic como <div>,
   así que se pierden los márgenes del framework (p { margin:0 0 1em }, headings, eyebrows).
   Los reponemos sin tocar las cards (scopeado a prosa / heros / bloques de texto). */

/* eyebrow = label de sección con aire debajo */
.ta-eyebrow {
  display: block;
  margin-bottom: 1rem;
}
/* headings: reponer margen inferior donde el framework lo tenía */
.ta-phero .brxe-heading {
  margin: 0.7rem 0 1rem;
}
.ta-story .prose .brxe-heading,
.ta-lead-block .brxe-heading {
  margin-bottom: 1rem;
}
.ta-brandline.brxe-text-basic {
  margin: 0;
}
/* Interludio oscuro (.ta-darker): la brandline usa --ta-ink (fondo claro) → ilegible en negro.
   Forzar texto claro; el <b> con estilo inline (gold-warm) se mantiene. */
.ta-darker .ta-brandline,
.ta-darker .ta-brandline.brxe-text-basic {
  color: var(--ta-on-dark);
}
/* párrafos de prosa: separación entre ellos (1em) */
.ta-story .prose .brxe-text-basic:not(.ta-eyebrow),
.ta-answer-lite .brxe-text-basic,
.prose .brxe-text-basic:not(.ta-eyebrow) {
  margin-bottom: 1em;
}
/* el breadcrumb no debe heredar márgenes de texto (separadores/último item) */
.ta-breadcrumb .brxe-text-basic,
.ta-breadcrumb .brxe-text-link {
  margin: 0;
}
.ta-story .prose .brxe-text-basic:last-child,
.ta-answer-lite .brxe-text-basic:last-child,
.prose .brxe-text-basic:last-child {
  margin-bottom: 0;
}

/* ===================== HEADER ===================== */
.ta-header.brxe-section {
  display: block;
  height: var(--ta-nav-h);
  padding: 0;
  min-height: 0;
}
.ta-header__inner.brxe-block {
  flex-direction: row;
  align-items: center;
  height: 100%;
  gap: 0;
  max-width: var(--ta-container-wide);
  padding-block: 0;
  padding-inline: var(--ta-gutter);
}
.ta-nav.brxe-block {
  flex-direction: row;
  align-items: center;
  gap: 1.8rem;
  width: auto; /* Bricks pone width:100% → los navs median media pantalla */
  flex: 0 0 auto;
}
.ta-nav--left.brxe-block {
  margin-right: auto;
}
.ta-nav--right.brxe-block {
  margin-left: auto;
}
/* el logo va absolutamente centrado (brxe-image lo pone en flujo) */
.ta-header__brand.brxe-image {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
}

/* ===================== FOOTER ===================== */
/* la barra inferior: copyright a la izq, nav de policies a la der */
.ta-footer__bottom.brxe-block {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.ta-footer__bottom nav.brxe-block {
  flex-direction: row;
  align-items: center;
  gap: 1.5rem;
  width: auto;
  flex: 0 0 auto;
}
/* social row (cuando se agregue) */
.ta-social.brxe-block {
  flex-direction: row;
  width: auto;
  flex: 0 0 auto;
}

/* ===================== MEGA-MENÚ (jacobsensalt 50/50) ===================== */
.ta-mega__inner.brxe-block {
  flex-direction: row;
  min-height: 520px;
}
.ta-mega__side.brxe-block {
  flex-direction: row;
  width: 50%;
}
.ta-mega__col.brxe-block {
  flex-direction: column;
  width: 50%;
}
.ta-mega__group.brxe-block {
  flex-direction: column;
}
.ta-mega__featured.brxe-block {
  flex-direction: column;
  width: 50%;
}
.ta-mega__grid.brxe-block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.ta-mega__card.brxe-block {
  flex-direction: column;
}

/* ===================== HERO (home) ===================== */
.ta-hero.brxe-section {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  min-height: 100vh;
  padding-top: clamp(80px, 9.7vw, 140px);
  padding-bottom: 15px;
}
.ta-hero__media.brxe-block {
  position: absolute;
  inset: 0;
  padding: 0;
}
.ta-hero__parent.brxe-block {
  padding-block: 0;
  padding-inline: var(--ta-gutter);
}
.ta-hero__row.brxe-block {
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 2rem;
}
.ta-hero__left.brxe-block {
  max-width: 460px;
  flex: 1 1 340px;
}
.ta-hero__right.brxe-block {
  max-width: 480px;
  flex: 1 1 340px;
}
.ta-hero__feature.brxe-block {
  flex-direction: row;
  align-items: center;
  gap: 1rem;
}
.ta-hero__feature .brxe-image {
  flex: 0 0 auto;
}

/* ===================== CHIPS (home) ===================== */
.ta-chips.brxe-block {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  overflow-x: auto;
  gap: 0.75rem;
  scroll-snap-type: x proximity;
}
.ta-chip.brxe-block {
  flex-direction: row;
  align-items: center;
  width: auto;
  flex: 0 0 auto;
  scroll-snap-align: start;
}
.ta-chip__thumb.brxe-block {
  flex: 0 0 auto;
  padding: 0;
}

/* ===================== PRODUCT CARD ===================== */
/* el media es un contenedor con aspect-ratio; la imagen lo llena (ver pages.css) */
.ta-pcard__media.brxe-block {
  flex-direction: column;
  padding: 0;
}

/* ===================== CARRUSELES / TRACKS (why-us, reviews) ===================== */
.ta-track.brxe-block {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  overflow-x: auto;
  gap: 1.25rem;
  padding-bottom: 0.5rem;
}
.ta-utile.brxe-block {
  flex-direction: column;
  width: 300px;
  flex: 0 0 auto;
  gap: 0;
  padding: 0;
  position: relative;
}
.ta-rcard.brxe-block {
  flex-direction: column;
  width: 380px;
  flex: 0 0 auto;
}
.ta-rcard__foot.brxe-block {
  flex-direction: row;
  align-items: center;
  width: 100%;
}

/* ===================== PRE-FOOTER CTA ===================== */
.ta-cta-center {
  text-align: center;
  align-items: center;
}
.ta-cta-title {
  font-size: clamp(2rem, 3.2vw, 3rem);
  max-width: 16ch;
  margin: 0.5rem auto 1.6rem;
}
.ta-cta-btns.brxe-block {
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  width: auto;
}

/* ===================== PÁGINAS INTERIORES ===================== */
/* hero interior (phero) — mismo patrón que el hero home */
.ta-phero.brxe-section {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  min-height: 54vh;
  padding: 0;
}
.ta-phero__media.brxe-block {
  position: absolute;
  inset: 0;
  padding: 0;
}
.ta-phero__in.brxe-block {
  padding-top: 0;
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  padding-inline: var(--ta-gutter);
}
.ta-breadcrumb.brxe-block {
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  width: auto;
}
/* hero cinematográfico de permits (mismo patrón que phero) */
.ta-permits-hero.brxe-section {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  min-height: 66vh;
  padding: 0;
}
.ta-permits-hero__media.brxe-block {
  position: absolute;
  inset: 0;
  padding: 0;
}
.ta-permits-hero__in.brxe-block {
  padding-top: 0;
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  padding-inline: var(--ta-gutter);
}
/* story: grid 2-col (Bricks lo pone flex → forzar grid) */
.ta-story.brxe-block {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}
/* imagen de la story: altura controlada (era 4:5 → 770px gigante) */
.ta-story .brxe-image,
.ta-story img {
  height: clamp(340px, 34vw, 480px);
  width: 100%;
  object-fit: cover;
  border-radius: 18px;
}
/* team: grid 3-col */
.ta-team.brxe-block {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
  align-items: start;
}
.ta-team-figure.brxe-block,
.ta-team figure.brxe-block {
  flex-direction: column;
}
/* imagen del team: 3:4 pero capeada */
.ta-team .brxe-image,
.ta-team img {
  aspect-ratio: 3 / 4;
  max-height: 380px;
  width: 100%;
  object-fit: cover;
  border-radius: 14px;
  margin-bottom: 0.9rem;
}
@media (max-width: 780px) {
  .ta-story.brxe-block {
    grid-template-columns: 1fr;
  }
  .ta-team.brxe-block {
    grid-template-columns: 1fr 1fr;
  }
}
/* filtros de categoría: fila de chips */
.ta-filters.brxe-block {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
}
.ta-lead-block.brxe-block {
  width: auto;
}
/* contacto: 2 columnas (form + info) */
.ta-contact.brxe-block {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}
.ta-contact__info.brxe-block {
  flex-direction: column;
  gap: 1.5rem;
}
.ta-contact__info .item.brxe-block {
  flex-direction: column;
}
@media (max-width: 780px) {
  .ta-contact.brxe-block {
    grid-template-columns: 1fr;
  }
}
/* blog / journal: grilla de post cards */
.ta-blog-grid.brxe-block {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}
.ta-post-card.brxe-block {
  flex-direction: column;
}
.ta-post-card__media.brxe-block {
  display: block;
}
@media (max-width: 900px) {
  .ta-blog-grid.brxe-block {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .ta-blog-grid.brxe-block {
    grid-template-columns: 1fr;
  }
}

/* ===================== TOUR SINGLE ===================== */
.ta-tour-gallery.brxe-block {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 8px;
}
.ta-tour-gallery .g-side.brxe-block {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 8px;
}
.ta-tour-body.brxe-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 3.5rem;
  align-items: start;
}
.ta-tour-main.brxe-block {
  flex-direction: column;
}
.ta-stats.brxe-block {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.6rem 2.5rem;
}
.ta-stat.brxe-block {
  flex-direction: row;
  align-items: flex-start;
  gap: 0.8rem;
  width: auto;
  min-width: 120px;
  flex: 0 0 auto;
}
.ta-itin.brxe-block,
.ta-itin__day.brxe-block {
  flex-direction: column;
}
.ta-includes.brxe-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 1.5rem;
}
.ta-booking.brxe-block {
  position: sticky;
  top: calc(var(--ta-nav-h) + 1.5rem);
  flex-direction: column;
}
.ta-booking .btns.brxe-block {
  flex-direction: column;
  gap: 0.6rem;
}
.ta-tour-tabs__in.brxe-block {
  flex-direction: row;
  flex-wrap: wrap;
}
@media (max-width: 980px) {
  .ta-tour-body.brxe-block {
    grid-template-columns: 1fr;
  }
  .ta-tour-gallery.brxe-block {
    grid-template-columns: 1fr;
  }
  .ta-includes.brxe-block {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   FIXES v0.3.0 — feedback cliente (hero/interludio/why-us/mega/header/burger + Woo)
   ============================================================ */

/* --- HERO home: menos alto + más aire abajo del contenido --- */
.ta-hero.brxe-section {
  min-height: 85vh;
  padding-bottom: clamp(2.75rem, 5vw, 4.75rem);
}
/* --- INTERLUDIO (.ta-hero.ta-dark): mucho más bajo --- */
.ta-hero.ta-dark.brxe-section {
  min-height: clamp(400px, 52vh, 540px);
}

/* --- WHY-US: empujar el caption al fondo (evita encimado con el pill) --- */
.ta-utile.brxe-block {
  justify-content: flex-end;
  align-items: stretch;
}
.ta-utile__cap {
  width: 100%;
}

/* --- MEGA: la featured card mete la imagen directo (sin .ta-mega__thumb) → dimensionarla --- */
.ta-mega__card.brxe-block > .brxe-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 0.6rem;
}
.ta-mega__card.brxe-block > .brxe-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ta-mega__featured.brxe-block {
  padding: 40px 32px;
  gap: 0.4rem;
}
.ta-mega__grid.brxe-block {
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-bottom: 0.9rem;
}
.ta-mega.brxe-section,
.ta-mega__inner.brxe-block {
  min-height: 0;
}
a.ta-mega__cta,
.ta-mega__cta.brxe-text-link {
  height: 50px;
  margin-top: 0.4rem;
}

/* --- HEADER blanco cuando el mega está abierto (pedido cliente) --- */
#header:has(#mega-tours.is-open) {
  background: #fff !important;
  box-shadow: 0 1px 0 var(--ta-line);
}
#header:has(#mega-tours.is-open) .ta-navitem,
#header:has(#mega-tours.is-open) .ta-nav a {
  color: var(--ta-ink) !important;
}
#header:has(#mega-tours.is-open) .ta-header__brand img {
  filter: brightness(0) saturate(0%) invert(10%);
}

/* --- BURGER: ícono SVG más grande y prolijo --- */
.ta-burger svg {
  width: 26px;
  height: 26px;
  display: block;
}
.ta-burger .brxe-text-basic {
  display: inline-flex;
}

/* ============================================================
   WOO — single product (elementos nativos con mi look)
   ============================================================ */
/* precio grande en la tarjeta de reserva */
.ta-booking .brxe-product-price,
.ta-booking .brxe-product-price .price {
  font-family: var(--ta-font-display);
  font-size: clamp(1.6rem, 2.4vw, 2.1rem);
  color: var(--ta-ink);
  margin: 0 0 0.9rem;
}
.ta-booking .brxe-product-price del {
  opacity: 0.5;
  font-size: 0.7em;
}
/* form add-to-cart (con deposits) */
.ta-booking .brxe-product-add-to-cart form.cart {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  margin: 0;
}
.ta-booking .brxe-product-add-to-cart .quantity input.qty {
  width: 72px;
  padding: 0.6rem;
  border: 1px solid var(--ta-line);
  border-radius: 8px;
  background: #fff;
  font-family: var(--ta-font-nav);
}
.ta-booking .brxe-product-add-to-cart .single_add_to_cart_button,
.ta-booking .brxe-product-add-to-cart button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: var(--ta-ink);
  color: var(--ta-bone);
  border: 0;
  border-radius: 999px;
  padding: 0.95rem 1.4rem;
  font-family: var(--ta-font-nav);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.03em;
  text-transform: none;
  cursor: pointer;
  transition: background 0.15s ease;
}
.ta-booking .brxe-product-add-to-cart .single_add_to_cart_button:hover {
  background: var(--ta-forest);
}
/* deposits (radios de seña 50% / total) */
.ta-booking .wc-deposits-option,
.ta-booking .wc-deposit-radio-container label {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  font-size: 14px;
  padding: 0.35rem 0;
}
.ta-booking ul.trust {
  list-style: none;
  margin: 1.2rem 0 0;
  padding: 1.2rem 0 0;
  border-top: 1px solid var(--ta-line);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 13px;
  color: var(--ta-muted-soft);
}
.ta-booking .dep {
  font-size: 13px;
  color: var(--ta-muted-soft);
  margin: 0.6rem 0 0;
}
/* rating + descripción */
.ta-tour-head .brxe-product-rating {
  margin-top: 0.6rem;
}
.ta-tour-main .brxe-product-content {
  max-width: 68ch;
}
.ta-tour-main .brxe-product-content h2 {
  font-family: var(--ta-font-display);
  margin: 1.8rem 0 0.7rem;
}
.ta-tour-main .brxe-product-content p {
  margin: 0 0 1rem;
  line-height: 1.7;
}
/* galería nativa Woo */
.ta-tour-head .brxe-product-gallery {
  margin-top: 1.5rem;
}
.ta-tour-head .brxe-product-gallery .woocommerce-product-gallery__image img {
  border-radius: 12px;
}

/* ============================================================
   WOO — archive (query loop con mi .ta-pcard + dynamic tags)
   ============================================================ */
.ta-pcard.brxe-block {
  flex-direction: column;
  position: relative;
}
.ta-pcard__media.brxe-block > .brxe-image,
.ta-pcard__img.brxe-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.ta-pcard__media.brxe-block > .brxe-image img,
.ta-pcard__img.brxe-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ta-pcard__price .woocommerce-Price-amount,
.ta-pcard__price .woocommerce-Price-amount span,
.ta-pcard__price bdi {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--ta-forest) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.ta-pcard__price del .woocommerce-Price-amount {
  opacity: 0.5;
  font-size: 13px !important;
}
.ta-cards-grid.brxe-block {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}
@media (max-width: 900px) {
  .ta-cards-grid.brxe-block {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .ta-cards-grid.brxe-block {
    grid-template-columns: 1fr;
  }
}

/* tour single: título + rating sobre el hero oscuro (phero) */
.ta-phero__in .ta-tour-title,
.ta-phero__in .brxe-product-title {
  color: var(--ta-bone);
  font-family: var(--ta-font-display);
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
  margin: 0.4rem 0 0.4rem;
}
.ta-phero__in .brxe-product-rating {
  color: var(--ta-on-dark-soft);
  font-size: 14px;
}
.ta-phero__in .brxe-product-rating .star-rating span {
  color: var(--ta-gold);
}

/* FluentForm real embebido en el contacto → look TrueAndes */
.ta-form--ff .ff-el-input--label label {
  font-family: var(--ta-font-nav);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ta-muted-soft);
}
.ta-form--ff input[type="text"],
.ta-form--ff input[type="email"],
.ta-form--ff input[type="tel"],
.ta-form--ff textarea,
.ta-form--ff select {
  border: 1px solid var(--ta-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  padding: 0.85rem 1rem !important;
  font-family: var(--ta-font-body) !important;
}
.ta-form--ff .ff-btn-submit,
.ta-form--ff button[type="submit"] {
  background: var(--ta-ink) !important;
  color: var(--ta-bone) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0.95rem 2rem !important;
  font-family: var(--ta-font-nav) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.02em !important;
  transition: background 0.15s ease !important;
}
.ta-form--ff .ff-btn-submit:hover,
.ta-form--ff button[type="submit"]:hover {
  background: var(--ta-forest) !important;
}

/* ===== VIDEO REEL (home — clips verticales reales) ===== */
.ta-reel {
  display: flex;
  gap: clamp(0.85rem, 1.5vw, 1.25rem);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  padding-bottom: 0.6rem;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  cursor: grab;
  scrollbar-width: none;
}
.ta-reel::-webkit-scrollbar {
  display: none;
}
.ta-reel.is-dragging {
  cursor: grabbing;
}
.ta-reel__card {
  position: relative;
  flex: 0 0 auto;
  width: clamp(196px, 20vw, 248px);
  aspect-ratio: 9 / 16;
  border-radius: 18px;
  overflow: hidden;
  background: var(--ta-ink);
  scroll-snap-align: start;
  box-shadow: 0 12px 30px -12px rgba(16, 19, 12, 0.5);
}
.ta-reel__vid {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ta-reel__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 -60px 60px -30px rgba(16, 19, 12, 0.55);
}
/* reviews CTA fallback (TripAdvisor) */
.ta-reviews-cta {
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}
.ta-reviews-live {
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

/* ===== TOUR DETAILS (ACF: stats · galería · itinerario · includes · FAQ) ===== */
.ta-tour-main .brxe-product-content {
  max-width: 70ch;
}
.ta-tstats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2.5rem;
  margin: 2rem 0;
  padding: 1.4rem 0;
  border-top: 1px solid var(--ta-line);
  border-bottom: 1px solid var(--ta-line);
}
.ta-tstat {
  display: flex;
  flex-direction: column;
}
.ta-tstat b {
  font-family: var(--ta-font-display);
  font-size: 1.3rem;
  color: var(--ta-ink);
  line-height: 1.1;
}
.ta-tstat span {
  font-family: var(--ta-font-nav);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ta-muted-soft);
  margin-top: 0.25rem;
}
.ta-tgal {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 2.5rem 0;
}
.ta-tgal__cell {
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}
.ta-tgal__cell:first-child {
  grid-column: span 2;
  grid-row: span 2;
  aspect-ratio: auto;
}
.ta-tgal__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ta-tprose {
  max-width: 70ch;
  margin: 2.5rem 0;
}
.ta-tprose h2 {
  font-family: var(--ta-font-display);
  font-weight: 400;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  margin: 0 0 1rem;
}
.ta-tprose p {
  line-height: 1.75;
  margin: 0 0 1rem;
}
.ta-tprose strong {
  color: var(--ta-ink);
}
.ta-tprose--inc ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.7rem;
}
.ta-tprose--inc ul li {
  position: relative;
  padding-left: 1.6rem;
  line-height: 1.5;
}
.ta-tprose--inc ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--ta-forest);
  font-weight: 700;
}
.ta-tfaq {
  max-width: 70ch;
  margin: 2.5rem 0 0;
}
.ta-tfaq > h2 {
  font-family: var(--ta-font-display);
  font-weight: 400;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  margin: 0 0 1rem;
}
.ta-faq {
  border-top: 1px solid var(--ta-line);
  padding: 0.2rem 0;
}
.ta-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 2rem 1rem 0;
  position: relative;
  font-family: var(--ta-font-nav);
  font-weight: 600;
  font-size: 15px;
}
.ta-faq summary::-webkit-details-marker {
  display: none;
}
.ta-faq summary i::after {
  content: "+";
  position: absolute;
  right: 0.2rem;
  top: 0.9rem;
  font-size: 1.3rem;
  color: var(--ta-muted-soft);
}
.ta-faq[open] summary i::after {
  content: "–";
}
.ta-faq__a {
  padding: 0 0 1rem;
  color: var(--ta-muted);
}
.ta-faq__a p {
  margin: 0;
  line-height: 1.7;
}

/* Deposit toggle (webtomizer switch-candy) → reskin marca (sin violeta) */
.ta-booking .switch-toggle.switch-candy {
  display: flex !important;
  gap: 0.4rem;
  position: static !important;
  height: auto !important;
  background: none !important;
  padding: 0 !important;
  margin: 0.4rem 0 0 !important;
}
.ta-booking .switch-toggle.switch-candy input {
  position: absolute !important;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.ta-booking .switch-toggle.switch-candy label {
  position: static !important;
  flex: 1;
  text-align: center;
  padding: 0.6rem 0.5rem !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  border: 1px solid var(--ta-line);
  border-radius: 999px;
  background: var(--ta-bone) !important;
  color: var(--ta-muted-soft) !important;
  cursor: pointer;
  font-family: var(--ta-font-nav) !important;
  font-size: 13px !important;
  font-weight: 600;
  text-indent: 0 !important;
  text-shadow: none !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
}
.ta-booking .switch-toggle.switch-candy input:checked + label {
  background: var(--ta-ink) !important;
  color: var(--ta-bone) !important;
  border-color: var(--ta-ink);
}
.ta-booking .switch-toggle.switch-candy input:disabled + label {
  opacity: 0.4;
  cursor: not-allowed;
}
.ta-booking .wc-deposits-switcher {
  display: none !important;
}
.ta-booking .deposit-option {
  font-family: var(--ta-font-nav);
  font-size: 13px;
  color: var(--ta-muted-soft);
  display: block;
  margin-bottom: 0.3rem;
}
.ta-booking .deposit-option #deposit-amount {
  color: var(--ta-forest);
  font-weight: 600;
}
.ta-booking .separator {
  border: 0;
  border-top: 1px solid var(--ta-line);
  margin: 1rem 0;
}
@media (max-width: 980px) {
  .ta-tgal {
    grid-template-columns: 1fr 1fr;
  }
  .ta-tgal__cell:first-child {
    grid-column: span 2;
  }
}

/* ===================================================================
   TOUR SINGLE — layout maqueta (header sólido y solicitud Woo)
   =================================================================== */
/* header sólido en el tour (banda de head es clara → nav necesita fondo) */
body.single-product .ta-header {
  background: var(--ta-green-black) !important;
}
/* offset de anclas bajo los tabs sticky */
#overview,
#itinerary,
#included,
#faq {
  scroll-margin-top: calc(var(--ta-nav-h) + 4.5rem);
}
.ta-tour-main #overview {
  margin-top: 0.5rem;
}
.ta-tour-main #itinerary,
.ta-tour-main #included,
.ta-tour-main #faq {
  margin-top: 2.75rem;
}
.ta-tour-main #overview p {
  color: var(--ta-ink-soft);
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 62ch;
  margin: 0 0 1rem;
}
/* includes: una columna, lista con ✓ */
.ta-incl.ta-incl--single {
  grid-template-columns: 1fr !important;
}
.ta-incl .yes ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.55rem;
}
.ta-incl .yes li {
  display: flex;
  gap: 0.65rem;
  align-items: baseline;
  color: var(--ta-ink-soft);
  font-size: 0.98rem;
}
.ta-incl .yes li::before {
  content: "✓";
  color: var(--ta-forest);
  font-weight: 700;
}
/* FAQ (acordeón) dentro del tour */
.ta-tour-main .ta-faq {
  border-top: 1px solid var(--ta-line);
}
.ta-tour-main .ta-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 2rem 1rem 0;
  position: relative;
  font-family: var(--ta-font-nav);
  font-weight: 500;
  font-size: 16px;
  color: var(--ta-ink);
}
.ta-tour-main .ta-faq summary::-webkit-details-marker {
  display: none;
}
.ta-tour-main .ta-faq summary i::after {
  content: "+";
  position: absolute;
  right: 0.2rem;
  top: 0.9rem;
  font-size: 1.3rem;
  color: var(--ta-muted-soft);
}
.ta-tour-main .ta-faq[open] summary i::after {
  content: "–";
}
.ta-tour-main .ta-faq__a {
  padding: 0 0 1rem;
}
.ta-tour-main .ta-faq__a p {
  margin: 0;
  color: var(--ta-muted);
  line-height: 1.7;
  max-width: 62ch;
}
/* ---- Booking: form Woo real embebido ---- */
.ta-booking .price .woocommerce-Price-amount {
  font-family: var(--ta-font-display);
  color: var(--ta-ink);
}
.ta-booking .deposit-option {
  font-family: var(--ta-font-nav);
  font-size: 12px;
  letter-spacing: 0.03em;
  color: var(--ta-muted-soft);
  display: block;
  margin: 0.2rem 0 0.6rem;
}
.ta-booking .deposit-option #deposit-amount {
  color: var(--ta-forest);
  font-weight: 700;
}
.ta-booking .separator {
  display: none;
}
.ta-booking form.cart {
  margin: 1rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.ta-booking .quantity {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  max-width: 190px;
}
.ta-booking__quantity-label {
  display: block;
  font-family: var(--ta-font-nav);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ta-muted-soft);
  margin-bottom: 0.4rem;
}
.ta-booking .quantity .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.ta-booking .quantity .action {
  display: none !important;
}
.ta-booking .ta-qty-btn {
  width: 44px;
  border: 1px solid var(--ta-line);
  background: var(--ta-bone);
  color: var(--ta-ink);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}
.ta-booking .ta-qty-btn:hover {
  background: var(--ta-paper);
}
.ta-booking .ta-qty-minus {
  order: 1 !important;
  border-radius: 8px 0 0 8px;
  border-right: 0;
}
.ta-booking .ta-qty-plus {
  order: 3 !important;
  border-radius: 0 8px 8px 0;
  border-left: 0;
}
.ta-booking .quantity input.qty {
  order: 2 !important;
  width: 66px !important;
  min-width: 0 !important;
  text-align: center;
  padding: 0.7rem 0;
  border: 1px solid var(--ta-line);
  border-radius: 0;
  background: #fff;
  font-family: var(--ta-font-nav);
  font-size: 15px;
  -moz-appearance: textfield;
}
.ta-booking .quantity input.qty::-webkit-outer-spin-button,
.ta-booking .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.ta-booking .single_add_to_cart_button,
.ta-booking form.cart button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: var(--ta-ink);
  color: var(--ta-bone);
  border: 0;
  border-radius: 4px;
  padding: 14px 22px;
  font-family: var(--ta-font-nav);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.02em;
  text-transform: none;
  cursor: pointer;
  transition: background 0.15s ease;
}
.ta-booking .single_add_to_cart_button:hover {
  background: var(--ta-forest);
}
.ta-booking .wa {
  color: #128c4b;
}

/* fix tipografía del tour (root del clon = 10px → los rem de tour.css quedan a la mitad) */
body.single-product .ta-tour-main p,
body.single-product .ta-tour-main #overview p,
body.single-product .ta-tour-main .ta-faq__a p {
  font-size: 16px !important;
  line-height: 1.7;
  max-width: 64ch;
}
body.single-product .ta-tour-main .ta-incl .yes li,
body.single-product .ta-tour-main .ta-itin__day p {
  font-size: 15px !important;
  line-height: 1.6;
}
body.single-product .ta-tour-main .ta-stat b {
  font-size: 16px !important;
}
body.single-product .ta-tour-main .ta-stat span {
  font-size: 13px !important;
}
body.single-product .ta-tour-main .ta-itin__day h4 {
  font-size: 18px !important;
}
body.single-product .ta-tour-main .ta-itin__day .d {
  font-size: 12px !important;
}
body.single-product .ta-tour-main h2 {
  font-size: clamp(22px, 2.4vw, 27px) !important;
}
body.single-product .ta-tour-meta {
  font-size: 14px !important;
}
body.single-product .ta-booking .price {
  font-size: 34px !important;
}
body.single-product .ta-booking .price small {
  font-size: 12px !important;
}
body.single-product .ta-booking .dep,
body.single-product .ta-booking .trust li {
  font-size: 13px !important;
}

/* ===== LIGHTBOX de galería del tour ===== */
.ta-tour-gallery [data-idx] {
  cursor: zoom-in;
}
.ta-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(16, 19, 12, 0.94);
  display: none;
  align-items: center;
  justify-content: center;
}
body.ta-lb-open {
  overflow: hidden;
}
body.ta-lb-open .ta-lightbox {
  display: flex;
}
.ta-lb__img {
  max-width: 90vw;
  max-height: 86vh;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.ta-lb__close,
.ta-lb__nav {
  position: absolute;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  backdrop-filter: blur(4px);
  transition: background 0.15s ease;
}
.ta-lb__close:hover,
.ta-lb__nav:hover {
  background: rgba(255, 255, 255, 0.25);
}
.ta-lb__close {
  top: 22px;
  right: 26px;
  width: 44px;
  height: 44px;
  font-size: 26px;
  line-height: 1;
}
.ta-lb__nav {
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  font-size: 30px;
  line-height: 1;
}
.ta-lb__prev {
  left: 24px;
}
.ta-lb__next {
  right: 24px;
}
.ta-lb__count {
  position: absolute;
  bottom: 26px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.8);
  font-family: var(--ta-font-nav);
  font-size: 13px;
  letter-spacing: 0.05em;
}
@media (max-width: 640px) {
  .ta-lb__nav {
    width: 42px;
    height: 42px;
    font-size: 24px;
  }
  .ta-lb__prev {
    left: 10px;
  }
  .ta-lb__next {
    right: 10px;
  }
}

/* tour: título con más aire abajo + clear del header fijo (fix overlap mobile) */
body.single-product .ta-tour-head {
  padding-top: calc(var(--ta-nav-h) + 2.6rem) !important;
}
body.single-product .ta-tour-title {
  margin: 14px 0 18px !important;
}
body.single-product .ta-tour-meta {
  margin-bottom: 6px;
}
@media (max-width: 780px) {
  body.single-product .ta-tour-head {
    padding-top: calc(var(--ta-nav-h) + 1.8rem) !important;
  }
  body.single-product .ta-tour-title {
    margin: 10px 0 14px !important;
  }
}

/* "You might also like" → carousel de una fila (drag + scroll) */
.ta-related-track,
.ta-related-track.brxe-block {
  display: flex;
  flex-direction: row;
  gap: clamp(1rem, 2vw, 1.5rem);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  padding-bottom: 0.75rem;
  margin-top: 0.5rem;
  cursor: grab;
  scrollbar-width: none;
}
.ta-related-track::-webkit-scrollbar {
  display: none;
}
.ta-related-track.is-dragging {
  cursor: grabbing;
}
.ta-related-track .ta-pcard {
  flex: 0 0 auto;
  width: clamp(255px, 27vw, 300px);
  height: auto;
  scroll-snap-align: start;
}
.ta-related-track .ta-pcard__media {
  aspect-ratio: 5 / 4;
}
.ta-related-track .ta-pcard__cta {
  bottom: 20px;
  right: 20px;
}

/* booking: más aire adentro (el container estaba apretado) */
body.single-product .ta-booking {
  padding: clamp(26px, 2.4vw, 34px) !important;
}
body.single-product .ta-booking .price {
  margin-top: 4px;
}

/* grid de cards de categoría (shortcode raw → mismo diseño que el home) */
.ta-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}
@media (max-width: 900px) {
  .ta-cards-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .ta-cards-grid {
    grid-template-columns: 1fr;
  }
}

/* ===================================================================
   NATIVE ACF/Woo MARKUP v0.6.0 — plantillas Bricks nativas (sin shortcodes propios)
   Estilos del markup de elementos nativos + query loops. px = inmune al root=10px.
   =================================================================== */

/* — título del tour: presente sobre la banda clara (root=10px → px) — */
body.single-product .ta-tour-title {
  font-size: clamp(32px, 4vw, 50px) !important;
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--ta-ink);
  max-width: 20ch;
}

/* — meta line (head): rating + Duration / Difficulty / Location — */
.ta-tour-head .ta-tour-meta,
.ta-tour-head .ta-tour-meta.brxe-block {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 12px;
}
.ta-tour-head .ta-tour-meta > *,
.ta-tour-head .ta-tour-meta__item {
  flex: 0 0 auto;
  width: auto;
}
.ta-tour-head .ta-tour-meta__item {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.ta-tour-head .ta-tour-meta__item:not(:first-of-type) {
  padding-left: 16px;
  border-left: 1px solid var(--ta-line);
}
.ta-tour-head .ta-meta-k {
  font-family: var(--ta-font-nav);
  font-size: 11px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--ta-muted-soft);
}
.ta-tour-head .ta-meta-v {
  font-family: var(--ta-font-nav);
  font-size: 14px;
  font-weight: 600;
  color: var(--ta-ink);
}
.ta-tour-head .ta-meta-rating .star-rating {
  font-size: 13px;
}

/* — section headings (display) — */
.ta-tour-main .ta-sec-h {
  font-family: var(--ta-font-display);
  font-weight: 400;
}

/* — stats k/v (columna) — */
.ta-tour-main .ta-stat.brxe-block {
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
}
.ta-tour-main .ta-stat__k {
  font-family: var(--ta-font-nav);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ta-muted-soft);
}
.ta-tour-main .ta-stat__v {
  font-family: var(--ta-font-display);
  font-weight: 400;
  font-size: 19px;
  color: var(--ta-ink);
  line-height: 1.15;
}

/* — itinerario (RichText WYSIWYG {acf_itinerary}) → timeline día-a-día — */
.ta-tour-main .ta-itin {
  position: relative;
  padding-left: 26px;
  margin: 8px 0 0;
  border-left: 0;
}
.ta-tour-main .ta-itin::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 8px;
  bottom: 10px;
  width: 1px;
  background: var(--ta-line);
}
.ta-tour-main .ta-itin > h2 {
  font-family: var(--ta-font-nav);
  font-size: 12px !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ta-muted-soft);
  margin: 0 0 16px;
}
.ta-tour-main .ta-itin p {
  position: relative;
  color: var(--ta-ink-soft);
  font-size: 16px !important;
  line-height: 1.7;
  margin: 0 0 14px;
  max-width: 60ch;
}
.ta-tour-main .ta-itin p:has(strong) {
  margin-top: 22px;
}
.ta-tour-main .ta-itin p:has(strong)::before {
  content: "";
  position: absolute;
  left: -23px;
  top: 9px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ta-gold);
  box-shadow: 0 0 0 4px var(--ta-bone);
}
.ta-tour-main .ta-itin p strong {
  font-family: var(--ta-font-display);
  font-weight: 400;
  font-size: 20px;
  color: var(--ta-ink);
}

/* — includes (RichText WYSIWYG {acf_Includes}) → lista con ✓ — */
.ta-tour-main .ta-incl {
  display: block;
}
.ta-tour-main .ta-incl ul {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  display: grid;
  gap: 12px;
}
.ta-tour-main .ta-incl li {
  position: relative;
  padding-left: 28px;
  color: var(--ta-ink-soft);
  font-size: 16px !important;
  line-height: 1.6;
}
.ta-tour-main .ta-incl li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--ta-forest);
  font-weight: 700;
}
.ta-tour-main .ta-incl li strong {
  color: var(--ta-ink);
}

/* — FAQ (query loop repeater ACF) → bloques Q/A — */
.ta-tour-main .ta-faq {
  border-top: 1px solid var(--ta-line);
  margin-top: 8px;
}
.ta-tour-main .ta-faq__item {
  padding: 18px 0;
  border-bottom: 1px solid var(--ta-line);
}
.ta-tour-main .ta-faq__q {
  font-family: var(--ta-font-nav);
  font-weight: 600;
  font-size: 16px !important;
  color: var(--ta-ink);
  margin: 0 0 7px;
}
.ta-tour-main .ta-faq__a {
  color: var(--ta-muted);
  font-size: 15px !important;
  line-height: 1.7;
  margin: 0;
  max-width: 64ch;
}

/* — booking: nota de depósito + CTAs (Enquire / WhatsApp) + trust — */
.ta-booking .ta-booking__dep {
  font-size: 13px;
  color: var(--ta-muted);
  line-height: 1.5;
  margin: 0 0 10px;
}
.ta-booking .ta-booking__ctas {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 14px;
}
.ta-booking .ta-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border: 1px solid var(--ta-line-strong);
  border-radius: 4px;
  font-family: var(--ta-font-nav);
  font-weight: 600;
  font-size: 14px;
  color: var(--ta-ink);
  transition: all 0.18s ease;
}
.ta-booking .ta-btn-outline:hover {
  border-color: var(--ta-forest);
  background: var(--ta-paper);
}
.ta-booking .ta-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 20px;
  border-radius: 4px;
  background: #128c4b;
  color: #fff;
  font-family: var(--ta-font-nav);
  font-weight: 600;
  font-size: 14px;
}
.ta-booking .ta-wa:hover {
  background: #0f7a41;
}
.ta-booking .ta-booking__trust {
  margin: 16px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--ta-line);
  font-size: 12px;
  color: var(--ta-muted-soft);
  line-height: 1.6;
}

/* — related heading + grid de cards fill (archivo) — */
.ta-related .ta-related__h {
  font-family: var(--ta-font-display);
  font-weight: 400;
  font-size: clamp(22px, 3vw, 30px);
  color: var(--ta-ink);
  margin: 0 0 20px;
}
.ta-cards-grid .ta-pcard {
  width: auto;
  height: auto;
}

/* ===================================================================
   AUDIT FIXES v0.7.3 — defectos reales del review multi-agente
   =================================================================== */

/* [MAJOR] Card grids: igualar altura por fila + alinear footer (precio/CTA) */
.ta-cards-grid,
.ta-cards-grid.brxe-block {
  align-items: stretch;
}
.ta-cards-grid > .ta-pcard,
.ta-related-track > .ta-pcard {
  height: auto;
}
.ta-related-track {
  align-items: stretch;
}
.ta-pcard__body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ta-pcard__title {
  min-height: 2.1em;
  line-height: 1.06;
}

/* [MAJOR] "Read our reviews on Tripadvisor" CTA pegado al borde → respetar gutter */
.ta-reviews-cta {
  max-width: var(--ta-container-wide);
  margin-inline: auto;
  padding-inline: var(--ta-gutter);
  box-sizing: border-box;
}

/* [MAJOR] Widget WhatsApp: colapsado por defecto (solo el FAB); abre al click. No overlap. */
.wa__popup_chat_box {
  display: none !important;
}
body.ta-wa-open .wa__popup_chat_box {
  display: block !important;
}

/* [minor] CTAs de la card de reserva: Enquire/WhatsApp full-width como "Book now" */
.ta-booking .ta-booking__ctas {
  align-items: stretch;
}
.ta-booking .ta-btn-outline,
.ta-booking .ta-wa {
  width: 100%;
  box-sizing: border-box;
}

/* [minor] Footer "Subscribe": botón oscuro sobre footer oscuro = invisible → contrastarlo */
.ta-footer .ta-btn-dark,
.ta-footer .brxe-button.ta-btn-dark {
  background: var(--ta-bone);
  color: var(--ta-ink);
  border: 1px solid var(--ta-bone);
}
.ta-footer .ta-btn-dark:hover {
  background: #fff;
  border-color: #fff;
}

/* [minor] Badge de card (POPULAR) ilegible sobre nieve → subir opacidad + sombra */
.ta-pcard__tag {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1px 5px rgba(16, 19, 12, 0.18);
}

/* [minor] Eyebrow del interludio sobre follaje claro → sombra para contraste */
.ta-hero.ta-dark .ta-eyebrow,
.ta-hero.ta-dark [class*="eyebrow"],
.ta-hero .ta-eyebrow {
  text-shadow: 0 1px 10px rgba(16, 19, 12, 0.55);
}

/* [minor] Nav blanco sobre héroe claro → scrim de gradiente cuando el header es transparente */
.ta-header:not(.is-fixed)::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 120%;
  background: linear-gradient(
    180deg,
    rgba(16, 19, 12, 0.34),
    rgba(16, 19, 12, 0)
  );
  pointer-events: none;
  z-index: -1;
}

/* [minor] Gap excesivo booking → "You might also like" en mobile */
@media (max-width: 900px) {
  body.single-product .ta-related.ta-sec-pad {
    padding-top: 1.6rem;
  }
}
