/* ==========================================================================
   AM Vivencial Tours v3 - Ficha de experiencia (templates/tour.php)
   Prefijo .am-tour-*  |  Blue Nova Consulting
   Los hover usan translate/scale/rotate sueltos para no chocar con el transform que deja GSAP.
   ========================================================================== */
.am-page--tour{
  --am-tour-aside:clamp(340px,30vw,400px);
  --am-tour-gap:clamp(48px,5.5vw,96px);
  --am-tour-nav:52px;
  --am-tour-dock-right:16px;
  --am-tour-rainy:#94A05A;   /* oliva aclarado: barras del calendario con 3:1 sobre cafe */
  --am-tour-migr:#C8795A;    /* terracota aclarada */
}
@media (min-width:1024px){ .am-page--tour{ --am-tour-nav:58px; } }
.am-page--tour [id]{ scroll-margin-top:calc(var(--am-hd) + var(--am-tour-nav) + 18px); }

/* Firma de dos pesos en esta vista: linea fuerte corta en versalitas + linea ligera grande */
.am-page--tour .am-title-duo__strong{ font-size:.5em; letter-spacing:.12em; line-height:1.2; margin-bottom:.12em; }
.am-page--tour .am-title-duo__light{ line-height:1; }

/* ---------------------------------------------------------------- HERO --- */
.am-tour-hero{ position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:clamp(620px,94svh,960px);
  background:var(--am-coffee); color:#fff; overflow:hidden; }
@media (min-width:640px) and (max-width:1023px){ .am-tour-hero{ min-height:clamp(620px,72svh,820px); } }
.am-page .am-tour-hero__media{ position:absolute; inset:0; z-index:-3; border-radius:0; background:var(--am-coffee); animation:am-tour-settle 2.4s var(--am-ease) both; }
@keyframes am-tour-settle{ from{ transform:scale(1.1); opacity:.4; } to{ transform:scale(1); opacity:1; } }
.am-tour-hero__video{ position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.6s var(--am-ease); }
.am-tour-hero__video.is-playing{ opacity:1; }
.am-tour-hero__veil{ position:absolute; inset:0; z-index:-2; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(37,30,24,.62) 0%, rgba(37,30,24,0) 26%),
    linear-gradient(0deg, rgba(37,30,24,.96) 0%, rgba(37,30,24,.72) 32%, rgba(37,30,24,.08) 66%),
    linear-gradient(90deg, rgba(37,30,24,.55) 0%, rgba(37,30,24,0) 60%); }

/* Modo marca: sin foto propia (marcador ph_ o foto de menos de 1600px). Emblema + curvas de nivel, nunca una imagen estirada. */
.am-tour-hero.is-brand{ --am-contours-opacity:.085; min-height:clamp(560px,82svh,880px); overflow:clip; }
/* Tono por ficha: fondos planos de la paleta (texto crema con 4,5:1 o mas); las curvas de nivel son la unica textura */
.am-tour-hero.is-brand--olive{ background:#5F6A30; }
.am-tour-hero.is-brand--coffee{ background:#251E18; }
.am-tour-hero.is-brand--terracotta{ background:#8C4D34; background:color-mix(in srgb,#A2573A 82%,#251E18); }
.am-tour-hero.is-brand--green{ background:#374631; }
.am-tour-hero.is-brand--wine{ background:#360500; }
.am-tour-hero.is-brand::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:4px; z-index:1; background:linear-gradient(90deg,var(--am-terracotta) 0 38%, var(--am-beige) 38% 100%); opacity:.9; }
.am-tour-hero.is-brand--terracotta::after{ background:linear-gradient(90deg,var(--am-coffee) 0 38%, var(--am-beige) 38% 100%); }
.am-page .am-tour-hero.is-brand .am-tour-crumbs a{ color:rgba(255,255,255,.9); }
/* Ave de la marca: solo en escritorio, sobre la columna de la tarjeta */
.am-page .am-tour-hero__bird{ display:none; }
@media (min-width:1024px){
  .am-page .am-tour-hero__bird{ display:block; position:absolute; z-index:1; pointer-events:none;
    top:clamp(120px,14vh,170px); right:calc(max(0px, (100vw - var(--am-container,1240px) - var(--am-gutter,40px) * 2) / 2) + var(--am-gutter,40px) + (var(--am-tour-aside) - clamp(180px,20vw,260px) * .88) / 2);
    height:clamp(180px,20vw,260px); width:auto; color:var(--am-beige); opacity:.78; }
}
@media (min-width:640px) and (max-width:1023px){ .am-tour-hero.is-brand{ min-height:clamp(560px,64svh,760px); } }

.am-tour-hero__inner{ position:relative; z-index:2; padding-block:calc(var(--am-hd) + 40px) 64px; }
.am-tour-hero__content{ max-width:820px; }

.am-tour-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:0 10px; margin:0 0 clamp(14px,2.6vw,30px);
  font-family:var(--am-font-display); font-size:.85rem; letter-spacing:.03em; color:rgba(255,255,255,.72); text-shadow:0 1px 14px rgba(0,0,0,.35); }
.am-page--tour .am-tour-crumbs a{ display:inline-flex; align-items:center; min-height:36px; padding:10px 4px; margin-inline:-4px; color:rgba(255,255,255,.86);
  background:linear-gradient(currentColor,currentColor) 4px calc(100% - 8px)/0 1px no-repeat; transition:background-size .5s var(--am-ease), color .3s; }
.am-page--tour .am-tour-crumbs a:hover{ color:var(--am-beige); background-size:calc(100% - 8px) 1px; }
.am-tour-crumbs__sep{ opacity:.45; }

.am-page--tour .am-tour-hero__title{ color:#fff; margin:0; font-size:clamp(2.7rem,7vw,6rem) !important; text-wrap:balance; }
.am-page--tour .am-tour-hero.is-brand .am-tour-hero__title{ color:#FAEDE4; }
.am-page--tour .am-tour-hero__sub{ margin:20px 0 0; max-width:44ch; color:rgba(250,237,228,.9); text-wrap:pretty; }

/* Datos: lista editorial con filete, sin pastillas */
.am-page--tour .am-tour-facts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; margin:clamp(26px,4vw,46px) 0 0; padding:0; }
.am-page--tour .am-tour-fact{ min-width:0; margin:0; padding:2px 0 2px 14px; border-left:2px solid rgba(225,197,175,.38); }
.am-page--tour .am-tour-fact dt, .am-page--tour .am-tour-fact dd{ margin:0; padding:0; }
.am-page--tour .am-tour-fact__label{ display:block; font-family:var(--am-font-display); font-size:.75rem; font-weight:600; letter-spacing:.14em; line-height:1.3; text-transform:uppercase; color:rgba(255,255,255,.82); }
.am-page--tour .am-tour-fact__value{ display:block; margin-top:4px; font-family:var(--am-font-display); font-size:1rem; font-weight:500; line-height:1.3; color:#fff; overflow-wrap:anywhere; }
.am-page--tour .am-tour-fact--price{ border-left-color:var(--am-terracotta); }
.am-page--tour .am-tour-fact--price .am-tour-fact__value{ font-size:1.2rem; font-weight:600; color:var(--am-beige); }
.am-page--tour .am-tour-fact__note{ display:block; margin-top:2px; font-size:max(.8rem,12px); font-weight:500; letter-spacing:.02em; color:rgba(250,237,228,.82); }
@media (min-width:640px){
  .am-page--tour .am-tour-facts{ display:flex; flex-wrap:wrap; gap:18px 34px; }
  .am-page--tour .am-tour-fact{ padding-left:16px; }
  .am-page--tour .am-tour-fact__value{ font-size:1.08rem; }
  .am-page--tour .am-tour-fact--price .am-tour-fact__value{ font-size:1.35rem; }
}
@media (min-width:640px) and (max-width:1023px){
  .am-page--tour .am-tour-facts{ display:grid; grid-template-columns:repeat(2,max-content); column-gap:34px; row-gap:14px; }
}
/* En escritorio el precio vive en la tarjeta de reserva: no se repite en el hero */
@media (min-width:1024px){ .am-page--tour .am-tour-fact--price{ display:none; } }

/* Movil: el hero y las anclas caben por encima de la barra fija de reserva */
@media (max-width:767px){
  .am-tour-hero{ min-height:clamp(520px,calc(100svh - 150px),760px); }
  .am-tour-hero.is-brand{ min-height:0; }
  .am-tour-hero.is-brand .am-tour-hero__inner{ padding-block:calc(var(--am-hd, 74px) + 40px) 36px; }
  .am-page--tour .am-tour-anchors__item--book{ display:none; }
}

/* ------------------------------------------------------------- ANCLAS --- */
.am-tour-anchors{ position:sticky; top:var(--am-hd); z-index:30; background:rgba(251,248,243,.94);
  -webkit-backdrop-filter:saturate(1.2) blur(14px); backdrop-filter:saturate(1.2) blur(14px);
  border-bottom:1px solid var(--am-line); transition:transform .5s var(--am-ease), opacity .35s var(--am-ease); }
.am-tour-anchors.is-stuck{ box-shadow:0 14px 30px -26px rgba(37,30,24,.6); }
.am-tour-anchors.is-tucked{ transform:translateY(calc(-100% - 2px)); }
.am-tour-anchors.is-done{ opacity:0; pointer-events:none; transform:translateY(calc(-100% - 2px)); }
.am-page--tour .am-tour-anchors__list{ display:flex; gap:2px; list-style:none; margin:0 calc(var(--am-gutter) * -1); padding:0 var(--am-gutter);
  overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.am-tour-anchors__list::-webkit-scrollbar{ display:none; }
.am-page--tour .am-tour-anchors__list.has-more{ -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent); mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent); }
.am-page--tour .am-tour-anchors__list li{ flex:none; margin:0; padding:0; list-style:none; }
.am-page--tour .am-tour-anchors__link{ position:relative; display:inline-flex; align-items:center; min-height:var(--am-tour-nav); padding:0 14px;
  font-family:var(--am-font-display); font-size:.95rem; font-weight:500; color:var(--am-green-800); white-space:nowrap; transition:color .3s; }
.am-page--tour .am-tour-anchors__link::after{ content:''; position:absolute; left:14px; right:14px; bottom:-1px; height:3px; border-radius:3px 3px 0 0;
  background:var(--am-terracotta); transform:scaleX(0); transform-origin:0 50%; transition:transform .5s var(--am-ease); }
.am-page--tour .am-tour-anchors__link:hover{ color:var(--am-terracotta-700); }
.am-page--tour .am-tour-anchors__link.is-active{ color:var(--am-coffee); font-weight:600; }
.am-page--tour .am-tour-anchors__link.is-active::after{ transform:scaleX(1); }
.am-page--tour .am-tour-anchors__link--book{ gap:.35em; color:var(--am-terracotta-700); font-weight:600; }
.am-page--tour .am-tour-anchors__link:focus-visible{ outline-offset:-4px; }
@media (min-width:1024px){
  .am-page--tour .am-tour-anchors__list{ margin:0 0 0 -14px; padding:0; max-width:calc(100% - var(--am-tour-aside) - var(--am-tour-gap) + 14px); gap:6px; }
  .am-tour-anchors.is-tucked{ transform:none; }
}

/* ---------------------------------------------------- CUERPO + RESERVA --- */
.am-tour-body{ position:relative; background:var(--am-cream); padding-bottom:var(--am-sec-y); } /* r23: antes 140 */
.am-tour-layout{ display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(56px,8vw,88px); }
.am-tour-main{ min-width:0; padding-top:clamp(56px,9vw,96px); }
.am-tour-aside{ position:relative; min-width:0; }
@media (min-width:640px) and (max-width:1023px){ .am-tour-aside{ max-width:600px; } }

@media (min-width:1024px){
  .am-tour-hero__inner{ padding-block:calc(var(--am-hd) + 64px) clamp(104px,14vh,156px); }
  .am-tour-hero__content{ max-width:calc(100% - var(--am-tour-aside) - var(--am-tour-gap)); }
  .am-tour-layout{ grid-template-columns:minmax(0,1fr) var(--am-tour-aside); column-gap:var(--am-tour-gap); align-items:start; }
  .am-tour-main{ grid-column:1; grid-row:1; padding-top:var(--am-sec-y); }
  .am-tour-aside{ z-index:35; grid-column:2; grid-row:1; align-self:start; position:sticky; top:calc(var(--am-hd) + var(--am-tour-nav) + 14px);
    margin:calc(-196px - var(--am-tour-nav)) -16px 0; padding:6px 16px 24px;
    max-height:calc(100svh - var(--am-hd) - var(--am-tour-nav) - 22px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(37,30,24,.25) transparent; }
  /* dentro del contenedor con scroll la sombra larga se recortaba en un rectangulo gris */
  .am-tour-aside .am-tour-book{ box-shadow:0 12px 22px -8px rgba(37,30,24,.22), 0 2px 6px rgba(37,30,24,.08); }
}

/* Tarjeta de reserva */
.am-tour-book{ position:relative; overflow:hidden; background:#fff; border-radius:var(--am-r-lg); box-shadow:var(--am-shadow-lg); border:1px solid rgba(230,220,207,.8); outline:0; }
.am-tour-book.is-flash{ animation:am-tour-flash 1.4s var(--am-ease); }
@keyframes am-tour-flash{ 0%{ box-shadow:0 0 0 0 rgba(162,87,58,.55), var(--am-shadow-lg); } 100%{ box-shadow:0 0 0 18px rgba(162,87,58,0), var(--am-shadow-lg); } }
.am-tour-book__head{ position:relative; isolation:isolate; overflow:hidden; padding:24px 28px 22px; color:#fff; background:var(--am-green); }
.am-tour-book__head::before{ content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background-color:var(--am-beige); opacity:.09;
  -webkit-mask:url(brand/patron-curvas-tile.svg) 0 0/420px 210px repeat; mask:url(brand/patron-curvas-tile.svg) 0 0/420px 210px repeat; }
.am-tour-book__head::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg,var(--am-terracotta) 0 38%,var(--am-beige) 38% 100%); }
.am-page .am-tour-book__leaf{ position:absolute; right:26px; top:-26px; width:46px; height:auto; z-index:-1; color:var(--am-beige); opacity:.22; rotate:24deg; transition:rotate 1.2s var(--am-ease); }
.am-tour-book:hover .am-tour-book__leaf{ rotate:8deg; }
.am-tour-book__from{ display:block; margin-bottom:8px; font-family:var(--am-font-display); font-size:.75rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--am-beige); }
.am-page--tour .am-tour-book__price{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; margin:0; line-height:1; color:#fff; }
.am-tour-book__price strong{ font-family:var(--am-font-display); font-weight:600; font-size:clamp(2.7rem,4vw,3.3rem); letter-spacing:-.03em; color:#fff; white-space:nowrap; }
.am-tour-book__cur{ display:inline-block; margin-right:-.08em; font-size:.4em; font-weight:500; letter-spacing:.02em; vertical-align:.95em; color:var(--am-beige); }
.am-tour-book__iva{ font-family:var(--am-font-display); font-size:1.05rem; font-weight:600; color:var(--am-beige); }
.am-tour-book__price--quote strong{ font-size:1.55rem; line-height:1.15; letter-spacing:-.01em; white-space:normal; }
.am-tour-book__body{ padding:20px 26px 24px; }

/* Tarifas: plegables en movil y tablet, siempre abiertas en escritorio */
.am-tour-rates-wrap{ margin:0; }
.am-page--tour .am-tour-rates-wrap__sum{ list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding:0 18px;
  border:1px solid var(--am-line); border-radius:var(--am-r-sm); background:var(--am-cream); cursor:pointer;
  font-family:var(--am-font-display); font-size:1rem; font-weight:600; color:var(--am-green-800); transition:border-color .3s, background .3s; }
.am-tour-rates-wrap__sum::-webkit-details-marker{ display:none; }
.am-tour-rates-wrap__sum::marker{ content:''; }
.am-tour-rates-wrap__sum:hover{ border-color:var(--am-green); }
.am-tour-rates-wrap__sum .am-ico{ width:18px; height:18px; rotate:90deg; color:var(--am-terracotta); transition:rotate .4s var(--am-ease); }
.am-tour-rates-wrap[open] .am-tour-rates-wrap__sum .am-ico{ rotate:-90deg; }
.am-tour-rates-wrap[open] .am-tour-rates-wrap__in{ padding-top:16px; }
@media (min-width:1024px){
  .am-page--tour .am-tour-rates-wrap__sum{ display:none; }
  .am-tour-rates-wrap[open] .am-tour-rates-wrap__in{ padding-top:0; }
}

/* Calculadora de grupo (am.js [data-rate-calc]) */
.am-tour-calc{ --rc-fg:var(--am-coffee); display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:14px; }
.am-page--tour .am-tour-calc__label{ flex:1 1 auto; min-width:0; max-width:15ch; font-family:var(--am-font-display); font-size:1rem; font-weight:500; line-height:1.25; color:var(--am-coffee); }
.am-tour-calc__stepper{ flex:none; }
.am-tour-calc__stepper{ display:inline-flex; align-items:center; gap:2px; padding:3px; border-radius:var(--am-r-pill); border:1px solid var(--am-line); background:#fff; }
.am-page button.am-tour-calc__btn{ color:var(--am-green-800) !important; }
.am-tour-calc__btn svg{ display:block; }
.am-page button.am-tour-calc__btn:focus-visible{ outline:2px solid var(--am-terracotta); outline-offset:1px; }
.am-tour-calc__n{ min-width:2.2ch; text-align:center; font-family:var(--am-font-display); font-size:1.35rem; font-weight:600; font-variant-numeric:tabular-nums; color:var(--am-coffee); }
.am-page--tour .am-tour-calc__price{ margin:0; }
.am-page--tour .am-tour-calc__price:not(.is-quote){ position:absolute !important; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.am-page--tour .am-tour-calc__price.is-quote{ margin:12px 0 0; padding:11px 14px; border-radius:var(--am-r-sm); background:var(--am-sand); font-family:var(--am-font-display); font-size:1rem; line-height:1.3; color:var(--am-terracotta-700); }
.am-tour-calc__price.is-quote strong{ font-weight:600; }
.am-page--tour .am-tour-calc__total{ margin:12px 0 0; font-size:1rem; line-height:1.4; color:var(--am-coffee); font-variant-numeric:tabular-nums; }
.am-tour-calc__total[hidden]{ display:none; }

.am-page--tour table.am-tour-rates{ width:100%; margin:0; border:0; border-collapse:collapse; background:transparent; font-size:1rem; }
.am-page--tour .am-tour-rates th{ padding:0 12px 8px !important; border:0 !important; border-bottom:1px solid var(--am-line) !important; background:transparent !important; text-align:left;
  font-family:var(--am-font-display); font-size:max(.75rem,12px) !important; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--am-muted) !important; }
.am-page--tour .am-tour-rates td{ padding:11px 12px !important; border:0 !important; border-bottom:1px solid var(--am-line) !important; background:transparent !important;
  font-size:1rem !important; line-height:1.3; color:var(--am-ink) !important; vertical-align:middle; transition:background-color .35s var(--am-ease), box-shadow .35s var(--am-ease); }
.am-page--tour .am-tour-rates th:first-child, .am-page--tour .am-tour-rates td:first-child{ text-align:left !important; }
.am-page--tour .am-tour-rates th:last-child, .am-page--tour .am-tour-rates td:last-child{ text-align:right !important; }
.am-page--tour .am-tour-rates td:last-child{ font-family:var(--am-font-display); font-weight:600; font-size:1.1rem !important; color:var(--am-green-800) !important; white-space:nowrap; }
.am-page--tour .am-tour-rates tbody tr:last-child td{ border-bottom:0 !important; }
.am-page--tour .am-tour-rates tr.is-match td{ background:var(--am-sand) !important; }
.am-page--tour .am-tour-rates tr.is-match td:first-child{ box-shadow:inset 3px 0 0 var(--am-terracotta); font-weight:600; }
.am-page--tour .am-tour-book__vat{ margin:14px 0 0; font-size:.9rem; line-height:1.4; color:var(--am-muted); }

.am-tour-book__actions{ display:grid; justify-items:center; gap:6px; margin-top:18px; }
.am-page--tour .am-tour-book__actions .am-btn{ width:100%; padding:0 18px; }
.am-page--tour .am-tour-book__alt{ display:inline-flex; align-items:center; min-height:40px; padding:0 4px; font-size:.95rem; color:var(--am-green-800);
  text-decoration:underline; text-decoration-color:var(--am-beige); text-decoration-thickness:1px; text-underline-offset:4px; transition:color .3s, text-decoration-color .3s; }
.am-page--tour .am-tour-book__alt:hover{ color:var(--am-terracotta-700); text-decoration-color:currentColor; }

@media (min-width:1024px) and (max-height:940px){
  .am-tour-book__head{ padding:16px 22px 15px; }
  .am-tour-book__from{ margin-bottom:4px; }
  .am-tour-book__price strong{ font-size:2.3rem; }
  .am-tour-book__price--quote strong{ font-size:1.3rem; }
  .am-tour-book__body{ padding:14px 22px 18px; }
  .am-tour-calc{ padding-bottom:10px; }
  .am-page--tour .am-tour-rates td{ padding-block:8px !important; }
  .am-page--tour .am-tour-calc__total{ margin-top:8px; }
  .am-page--tour .am-tour-book__vat{ margin-top:8px; }
  .am-tour-book__actions{ margin-top:12px; gap:8px; }
  .am-page--tour .am-tour-book__actions .am-btn{ min-height:46px; }
}
@media (min-width:1024px) and (max-height:800px){
  .am-tour-aside{ padding-bottom:16px; }
  .am-page--tour .am-tour-rates th{ padding-bottom:6px !important; }
  .am-page--tour .am-tour-rates td{ padding-block:7px !important; }
}

/* --------------------------------------------------- BLOQUES DEL CUERPO --- */
.am-tour-block + .am-tour-block{ margin-top:clamp(72px,9vw,128px); }
.am-tour-block + .am-tour-block--note{ margin-top:clamp(28px,3.4vw,44px); }
.am-page--tour .am-tour-block__title{ margin:0 0 clamp(24px,3vw,40px); max-width:18ch; text-wrap:balance; }
.am-page--tour .am-tour-block__title.am-title-duo .am-title-duo__strong{ color:var(--am-terracotta-700); }

.am-page--tour .am-tour-prose p{ margin:0 0 1.1em; max-width:64ch; font-size:1.06rem; line-height:1.8; color:var(--am-muted); }
.am-page--tour .am-tour-prose > p:first-child{ max-width:34ch; font-family:var(--am-font-display); font-weight:300; font-size:clamp(1.35rem,2.3vw,1.8rem); line-height:1.42; letter-spacing:-.005em; color:var(--am-coffee); text-wrap:pretty; }
.am-page--tour .am-tour-prose.has-dropcap > p:first-child::first-letter{ float:left; margin:.07em .12em 0 0; font-weight:600; font-size:3.3em; line-height:.8; color:var(--am-terracotta); }
@media (max-width:639px){
  .am-page--tour .am-tour-prose.has-dropcap > p:first-child::first-letter{ float:none; margin:0; font-size:inherit; font-weight:inherit; line-height:inherit; color:inherit; }
}
.am-page--tour .am-tour-prose > :last-child{ margin-bottom:0; }
.am-page--tour .am-tour-prose ul, .am-page--tour .am-tour-prose ol{ margin:0 0 1.2em; padding-left:1.2em; color:var(--am-muted); line-height:1.7; }
.am-page--tour .am-tour-prose a{ color:var(--am-green); text-decoration:underline; text-decoration-color:var(--am-beige); text-decoration-thickness:2px; text-underline-offset:3px; }
.am-page--tour .am-tour-prose strong{ color:var(--am-green-800); }

/* Comunidad: banda vino (firma del turismo comunitario) */
.am-page--tour .am-tour-community{ position:relative; isolation:isolate; overflow:clip; display:grid; gap:18px 30px; align-items:center;
  margin-top:clamp(36px,5vw,60px); padding:clamp(26px,4vw,44px); border-radius:var(--am-r-lg); }
.am-page--tour .am-tour-community::after{ content:none; }
.am-page .am-tour-community__bird{ position:absolute; right:-18px; bottom:-26px; width:124px; height:auto; z-index:-1; color:var(--am-beige); opacity:.16; }
.am-page .am-tour-community__waves{ height:26px; margin:0 0 14px; color:var(--am-terracotta); }
.am-page--tour .am-tour-community__kicker{ margin:0 0 6px; font-family:var(--am-font-display); font-size:.8rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--am-beige); }
.am-page--tour .am-tour-community__name{ margin:0 0 12px; font-size:clamp(1.55rem,2.8vw,2.2rem); font-weight:300; line-height:1.1; color:#FAEDE4; text-wrap:balance; }
.am-page--tour .am-tour-community__text{ margin:0; max-width:52ch; font-size:1.02rem; line-height:1.65; color:#eadccf; }
.am-page--tour .am-tour-community__text strong{ color:#FAEDE4; font-weight:600; }
.am-page--tour .am-tour-community__dato{ display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; margin:18px 0 0; padding-top:16px; border-top:1px solid rgba(225,197,175,.24); color:#eadccf; }
.am-tour-community__dato strong{ font-family:var(--am-font-display); font-size:2.4rem; font-weight:600; line-height:1; color:var(--am-beige); }
.am-page--tour .am-tour-community__photo{ margin:0; aspect-ratio:4/5; border-radius:var(--am-r); }
@media (min-width:640px){
  .am-page--tour .am-tour-community{ grid-template-columns:120px minmax(0,1fr); }
  .am-page .am-tour-community__bird{ position:static; width:120px; opacity:.92; z-index:auto; }
  .am-page--tour .am-tour-community.has-photo{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
}

/* Itinerario: la hora es el marcador (sin numeracion) */
.am-tour-timeline{ --rail:7px; position:relative; }
.am-tour-timeline__rail{ position:absolute; left:var(--rail); top:10px; bottom:0; width:2px; background:var(--am-line); }
.am-tour-timeline__fill{ position:absolute; inset:0; background:linear-gradient(180deg,var(--am-terracotta),var(--am-green)); transform-origin:50% 0; }
@supports (animation-timeline: view()){
  .am-tour-timeline__fill{ animation:am-tour-fill linear both; animation-timeline:view(); animation-range:entry 25% cover 65%; }
}
@keyframes am-tour-fill{ from{ transform:scaleY(0); } to{ transform:scaleY(1); } }
.am-page--tour .am-tour-timeline__list{ list-style:none; margin:0; padding:0; }
.am-page--tour .am-tour-step{ position:relative; display:grid; grid-template-columns:16px minmax(0,1fr); column-gap:20px; align-items:start; margin:0; padding:0 0 28px; }
.am-tour-step:last-child{ padding-bottom:0; }
.am-tour-step:last-child::after{ content:''; position:absolute; left:calc(var(--rail) - 3px); top:22px; bottom:0; width:8px; background:var(--am-cream); }
.am-tour-step__dot{ grid-column:1; grid-row:1 / span 2; position:relative; z-index:1; width:16px; height:16px; margin-top:4px; border-radius:50%;
  background:var(--am-cream); border:2px solid var(--am-terracotta); box-shadow:0 0 0 5px var(--am-cream); transition:background .4s, scale .5s var(--am-ease); }
.am-tour-step--notime .am-tour-step__dot{ background:var(--am-terracotta); }
.am-tour-step:last-child .am-tour-step__dot{ background:var(--am-green); border-color:var(--am-green); }
.am-tour-step:hover .am-tour-step__dot{ background:var(--am-terracotta); scale:1.15; }
.am-tour-step__time{ grid-column:2; font-family:var(--am-font-display); font-size:1.05rem; font-weight:600; line-height:1.3; color:var(--am-terracotta-700); font-variant-numeric:tabular-nums; white-space:nowrap; }
.am-page--tour .am-tour-step__text{ grid-column:2; margin:4px 0 0; max-width:52ch; font-size:1.06rem; line-height:1.55; color:var(--am-ink); }
.am-page--tour .am-tour-step--notime .am-tour-step__text{ margin-top:0; }
@media (min-width:768px){
  .am-tour-timeline{ --rail:127px; }  /* 100px hora + 20px espacio + 7px (medio punto menos medio riel) */
  .am-page--tour .am-tour-step{ grid-template-columns:100px 16px minmax(0,1fr); column-gap:20px; }
  .am-tour-step__time{ grid-column:1; grid-row:1; text-align:right; }
  .am-tour-step__dot{ grid-column:2; grid-row:1; }
  .am-page--tour .am-tour-step__text{ grid-column:3; grid-row:1; margin:0; }
}

/* Sin itinerario cargado: una linea, sin caja ni boton */
.am-page--tour .am-tour-free{ margin:clamp(22px,3vw,32px) 0 0; max-width:52ch; padding-top:16px; border-top:1px solid var(--am-line); font-size:1.02rem; line-height:1.6; color:var(--am-ink); }
.am-page--tour .am-tour-free strong{ font-family:var(--am-font-display); font-weight:600; color:var(--am-terracotta-700); }

/* Incluye / No incluye: listas con filete, sin tarjetas */
.am-tour-incl{ display:grid; gap:28px 40px; align-items:start; }
@media (min-width:640px){ .am-tour-incl:not(.am-tour-incl--single){ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.am-page--tour .am-tour-incl__list{ list-style:none; margin:0; padding:0; display:grid; border-top:1px solid var(--am-line); }
@media (min-width:640px){ .am-page--tour .am-tour-incl--single .am-tour-incl__list{ grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:40px; } }
.am-page--tour .am-tour-incl__list li{ display:flex; align-items:flex-start; gap:12px; margin:0; padding:14px 0; border-bottom:1px solid var(--am-line); font-size:1.04rem; line-height:1.45; color:var(--am-ink); }
.am-tour-incl__ico{ flex:none; display:inline-flex; margin-top:-1px; color:var(--am-olive); transition:scale .4s var(--am-ease); }
.am-tour-incl__ico .am-ico{ width:22px; height:22px; }
.am-tour-incl__list li:hover .am-tour-incl__ico{ scale:1.15; }
.am-tour-incl__col--no .am-tour-incl__ico{ color:var(--am-terracotta); }
.am-page--tour .am-tour-incl__title{ margin:0 0 10px; font-family:var(--am-font-display); font-size:.8rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--am-muted); }
.am-page--tour .am-tour-incl__one{ margin:18px 0 0; font-size:1rem; color:var(--am-muted); }
.am-page--tour .am-tour-incl__one strong{ color:var(--am-coffee); font-weight:600; }

/* Observaciones */
.am-page--tour .am-tour-note{ margin:0; padding:18px 24px; border-left:3px solid var(--am-terracotta); border-radius:0 var(--am-r) var(--am-r) 0; background:var(--am-sand); }
.am-page--tour .am-tour-note__title{ margin:0 0 6px; font-size:.8rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--am-terracotta-700); }
.am-page--tour .am-tour-note p{ margin:0; line-height:1.6; color:var(--am-ink); }

/* ------------------------------------------ CABECERAS Y CARRUSELES --- */
.am-tour-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:clamp(28px,4vw,48px); }
.am-page--tour .am-tour-head h2, .am-page--tour .am-tour-head h3{ margin:0; }
.am-tour-head__nav{ flex:none; display:flex; gap:10px; }
.am-page--tour .am-tour-round{ -webkit-appearance:none; appearance:none; display:grid; place-items:center; width:52px; height:52px; min-height:0; padding:0; margin:0;
  border-radius:50%; border:1.5px solid var(--am-line); background:#fff; color:var(--am-green); box-shadow:none; cursor:pointer; line-height:1;
  transition:background .35s var(--am-ease), color .35s, border-color .35s, scale .35s var(--am-ease); }
.am-page--tour .am-tour-round:hover{ background:var(--am-green); border-color:var(--am-green); color:#fff; scale:1.06; }
.am-page--tour .am-tour-round:focus-visible{ outline:2px solid var(--am-terracotta); outline-offset:3px; }
.am-tour-round.am-swiper-prev .am-ico{ transform:rotate(180deg); }
.am-tour-round.swiper-button-disabled{ opacity:.35; pointer-events:none; }
.am-page--tour .am-section--coffee .am-tour-round{ background:transparent; border-color:rgba(255,255,255,.3); color:#fff; }
.am-page--tour .am-section--coffee .am-tour-round:hover{ background:var(--am-beige); border-color:var(--am-beige); color:var(--am-coffee); }
@media (max-width:639px){ .am-tour-head__nav{ display:none; } }

.am-tour-gallery, .am-tour-related, .am-tour-birds{ overflow:clip; }
.am-page--tour .am-tour-bleed.swiper{ overflow:visible; }

/* -------------------------------------------------- GALERIA DE LA FICHA --- */
/* Mosaico editorial de 6 columnas. Cada foto trae su sitio calculado en PHP (--c columna,
   --r fila, --cs columnas, --rs filas), por eso la retícula nunca deja huecos aunque el
   cliente suba 5, 8 o 14 fotos. Bajo 760px el mismo bloque es un carrusel a dedo. */
.am-tour-gallery{ --am-contours-opacity:.05; }
.am-tour-gal__head{ flex-wrap:wrap; row-gap:22px; }
.am-page--tour .am-tour-gal__head .am-eyebrow{ color:var(--am-terracotta); margin:0 0 14px; }
.am-tour-gal__actions{ flex:none; display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; }
@media (max-width:759px){ .am-tour-gal__actions{ width:100%; } }
/* el tema pinta todos los <button>: hay que reponer el boton de contorno a mano */
.am-page--tour button.am-tour-gal__open{ -webkit-appearance:none; appearance:none; gap:10px;
  background:transparent !important; color:var(--am-green) !important; border:1.5px solid var(--am-green) !important;
  border-radius:var(--am-r-pill) !important; box-shadow:none !important; min-height:46px !important; padding:0 22px !important;
  font-family:var(--am-font-display) !important; font-size:.92rem !important; font-weight:600 !important;
  letter-spacing:.02em !important; line-height:1 !important; text-transform:none !important; }
.am-page--tour button.am-tour-gal__open::before{ background:var(--am-green) !important; }
.am-page--tour button.am-tour-gal__open:hover{ color:#fff !important; border-color:var(--am-green) !important; }
.am-tour-gal__n{ display:inline-grid; place-items:center; min-width:24px; height:24px; padding:0 7px; border-radius:999px;
  background:rgba(162,87,58,.14); color:var(--am-terracotta); font-size:.78rem; font-weight:600; font-variant-numeric:tabular-nums;
  transition:background-color .45s var(--am-ease), color .45s var(--am-ease); }
.am-page--tour .am-tour-gal__open:hover .am-tour-gal__n{ background:rgba(255,255,255,.22); color:#fff; }
.am-tour-gal__more{ display:inline-flex; align-items:center; gap:9px; min-height:38px; font-weight:600; font-size:.95rem; color:var(--am-green);
  text-decoration:none; padding:8px 0 7px; border-bottom:1px solid rgba(55,70,49,.28);
  transition:color .35s var(--am-ease), border-color .35s var(--am-ease); }
.am-tour-gal__more .am-btn__arrow{ display:inline-block; transition:transform .45s var(--am-ease); }
.am-tour-gal__more:hover{ color:var(--am-terracotta); border-bottom-color:var(--am-terracotta); }
.am-tour-gal__more:hover .am-btn__arrow{ transform:translateX(5px); }

.am-tour-gal{ --am-gal-u:clamp(150px,19.5vw,285px);
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:var(--am-gal-u); gap:clamp(12px,1.4vw,20px); }
.am-page--tour .am-tour-gal__item{ margin:0; cursor:zoom-in; grid-area:var(--r) / var(--c) / span var(--rs) / span var(--cs); }
.am-tour-gal__item > img{ transition:transform 1.15s var(--am-ease); }
.am-tour-gal__item::after{ content:''; position:absolute; inset:0; z-index:2; pointer-events:none; border-radius:inherit;
  box-shadow:inset 0 0 0 0 rgba(225,197,175,0); transition:box-shadow .5s var(--am-ease); }
@media (hover:hover) and (pointer:fine){
  .am-tour-gal__item:hover > img{ transform:scale(1.045); }
  .am-tour-gal__item:hover::after{ box-shadow:inset 0 0 0 3px rgba(225,197,175,.9); }
}
.am-tour-gal__item.has-credit::before{ content:''; position:absolute; left:0; right:0; bottom:0; height:42%; z-index:1; pointer-events:none;
  background:linear-gradient(to top,rgba(37,30,24,.6),rgba(37,30,24,0)); }
.am-page--tour .am-tour-gal__credit{ position:absolute; left:clamp(12px,1.4vw,18px); bottom:clamp(10px,1.2vw,15px); z-index:3; margin:0;
  color:#FAEDE4; font-size:.74rem; line-height:1.3; letter-spacing:.015em; text-shadow:0 1px 8px rgba(0,0,0,.45); pointer-events:none; }

/* Movil: carrusel a pantalla ancha con el dedo (scroll-snap nativo) + puntos de progreso.
   r24: tambien en tablet (hasta 899px), para que el pie vaya completo debajo de cada foto (ver mas abajo). */
.am-tour-gal__dots{ display:none; }
@media (max-width:899px){
  .am-tour-gal{ display:flex; grid-template-columns:none; gap:12px; overflow-x:auto; overflow-y:hidden;
    scroll-snap-type:x mandatory; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:none;
    margin-inline:calc(var(--am-gutter) * -1); padding-inline:var(--am-gutter); scroll-padding-inline:var(--am-gutter); }
  .am-tour-gal::-webkit-scrollbar{ display:none; }
  .am-page--tour .am-tour-gal__item{ grid-area:auto; flex:0 0 auto; width:80vw; height:clamp(290px,72vw,430px); scroll-snap-align:center; }
  .am-page--tour .am-tour-gal__item[data-or="p"]{ width:58vw; }
  .am-page--tour .am-tour-gal__item[data-or="w"]{ width:90vw; }
  .am-tour-gal__dots{ display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin-top:20px; }
  .am-tour-gal__dot{ width:8px; height:8px; border-radius:999px; background:rgba(55,70,49,.24);
    transition:width .4s var(--am-ease), background-color .4s var(--am-ease); }
  .am-tour-gal__dot.is-on{ width:26px; background:var(--am-terracotta); }
}

/* Sin fotos todavia: franja corta, nunca un hueco */
.am-tour-galcta__in{ display:grid; gap:20px; align-items:center; background:#fff; border:1px solid var(--am-line);
  border-radius:var(--am-r-lg); padding:clamp(22px,3vw,34px) clamp(22px,3.4vw,40px); }
@media (min-width:860px){ .am-tour-galcta__in{ grid-template-columns:minmax(0,1fr) auto; gap:34px; } }
.am-page--tour .am-tour-galcta .am-eyebrow{ color:var(--am-terracotta); margin:0 0 10px; }
.am-page--tour .am-tour-galcta h2{ margin:0 0 8px; }
.am-tour-galcta__txt{ margin:0; max-width:56ch; color:var(--am-muted); }

/* ------------------------------------------------------- AVITURISMO --- */
.am-tour-birds{ position:relative; isolation:isolate; --am-contours-opacity:.07; }
.am-tour-birds__intro{ display:grid; gap:18px 64px; align-items:end; }
@media (min-width:1024px){ .am-tour-birds__intro{ grid-template-columns:minmax(0,auto) minmax(0,44ch); justify-content:space-between; } }
.am-page--tour .am-tour-birds__intro .am-h2{ margin:0; }
.am-page--tour .am-tour-birds__intro .am-lead{ margin:0; max-width:44ch; }

/* Calendario: epocas y barras de meses en una sola pieza */
.am-tour-cal{ margin-top:clamp(48px,6vw,84px); padding:clamp(18px,3vw,36px); border-radius:var(--am-r-lg);
  background:rgba(37,30,24,.55); border:1px solid rgba(225,197,175,.2); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.am-tour-cal__months, .am-tour-cal__cells{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:4px; }
.am-tour-cal__corner{ display:none; }
.am-tour-cal__m{ position:relative; padding-bottom:8px; text-align:center; font-family:var(--am-font-display); font-size:.75rem; font-weight:600; color:rgba(250,237,228,.62); }
.am-tour-cal__m.is-now{ color:var(--am-beige); }
.am-tour-cal__m.is-now::after{ content:''; position:absolute; left:50%; bottom:0; width:5px; height:5px; margin-left:-2.5px; border-radius:50%; background:var(--am-beige); }
.am-tour-cal__row{ display:grid; gap:12px; padding:16px 0; border-top:1px solid rgba(225,197,175,.14); }
.am-tour-cal__row--dry{ --c:var(--am-beige); }
.am-tour-cal__row--rainy{ --c:var(--am-tour-rainy); }
.am-tour-cal__row--migr{ --c:var(--am-tour-migr); }
.am-tour-cal__label{ display:grid; gap:3px; min-width:0; }
.am-tour-cal__name{ display:flex; align-items:center; gap:10px; font-family:var(--am-font-display); font-size:1.08rem; font-weight:600; line-height:1.2; color:#FAEDE4; }
.am-tour-cal__name::before{ content:''; flex:none; width:12px; height:12px; border-radius:3px; background:var(--c); }
.am-tour-cal__when{ padding-left:22px; font-family:var(--am-font-display); font-size:.8rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--am-beige); }
.am-tour-cal__text{ padding-left:22px; font-size:.95rem; line-height:1.45; color:#d9cfc3; }
.am-tour-cal__cell{ display:block; height:14px; border-radius:var(--am-r-pill); background:rgba(255,255,255,.08); }
.am-tour-cal__cell.is-on{ background:var(--c); transform-origin:0 50%; }
.am-tour-cal__cell.is-now{ box-shadow:0 0 0 1.5px rgba(255,255,255,.7); }
@supports (animation-timeline: view()){
  .am-tour-cal__cell.is-on{ animation:am-tour-grow linear both; animation-timeline:view(); animation-range:entry 0% entry 60%; }
}
@keyframes am-tour-grow{ from{ transform:scaleX(0); opacity:0; } to{ transform:scaleX(1); opacity:1; } }
.am-page--tour .am-tour-cal__foot{ margin:6px 0 0; font-size:.85rem; line-height:1.4; color:#cfc5b8; }
@media (min-width:900px){
  .am-tour-cal__months{ grid-template-columns:300px repeat(12,minmax(0,1fr)); column-gap:6px; }
  .am-tour-cal__corner{ display:block; }
  .am-tour-cal__row{ grid-template-columns:300px minmax(0,1fr); gap:6px; align-items:center; padding:18px 0; }
  .am-tour-cal__cells{ column-gap:6px; }
  .am-tour-cal__cell{ height:16px; }
}

/* Especies */
.am-tour-birds__species{ margin-top:clamp(64px,8vw,110px); }
.am-page--tour .am-tour-birds__note{ margin:8px 0 0; font-size:.95rem; color:#cfc5b8; }
.am-tour-bird{ position:relative; margin:0; }
.am-page--tour .am-tour-bird__media{ aspect-ratio:4/5; }
.am-tour-bird__media > img{ transition:transform 1.2s var(--am-ease); }
.am-tour-bird:hover .am-tour-bird__media > img{ transform:scale(1.06); }
.am-tour-bird__media::after{ content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, rgba(37,30,24,0) 50%, rgba(37,30,24,.9) 100%); }
.am-tour-bird__cap{ position:absolute; left:20px; right:20px; bottom:18px; z-index:2; display:grid; gap:4px; transition:translate .6s var(--am-ease); }
.am-tour-bird:hover .am-tour-bird__cap{ translate:0 -4px; }
.am-tour-bird__name{ font-family:var(--am-font-display); font-size:1.3rem; font-weight:600; line-height:1.1; color:#fff; }
.am-tour-bird__credit{ font-size:.8rem; letter-spacing:.02em; color:rgba(250,237,228,.82); }

/* ---------------------------------------------------------------- FAQ --- */
.am-tour-faq{ background:var(--am-cream); }
.am-tour-faq__inner{ display:grid; gap:28px 64px; align-items:start; }
@media (min-width:1024px){ .am-tour-faq__inner{ grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); } }
.am-page--tour .am-tour-faq__title{ margin:0; max-width:12ch; }
.am-tour-faq__list{ border-top:1px solid var(--am-line); }
.am-tour-faq__item{ border-bottom:1px solid var(--am-line); }
.am-page--tour .am-tour-faq__q{ list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:64px; padding:16px 0; cursor:pointer;
  font-family:var(--am-font-display); font-size:clamp(1.05rem,1.6vw,1.25rem); font-weight:500; line-height:1.35; color:var(--am-green-800); }
.am-tour-faq__q::-webkit-details-marker{ display:none; }
.am-tour-faq__q::marker{ content:''; }
.am-tour-faq__ico{ position:relative; flex:none; width:22px; height:22px; }
.am-tour-faq__ico::before, .am-tour-faq__ico::after{ content:''; position:absolute; left:3px; right:3px; top:50%; height:2px; margin-top:-1px; background:var(--am-terracotta); transition:rotate .4s var(--am-ease); }
.am-tour-faq__ico::after{ rotate:90deg; }
.am-tour-faq__item[open] .am-tour-faq__ico::after{ rotate:0deg; }
.am-page--tour .am-tour-faq__a p{ margin:0 0 20px; max-width:62ch; color:var(--am-muted); }

/* ------------------------------------------------------- RELACIONADAS --- */
/* Indice editorial: filas con filete, nombre grande, miniatura solo con foto real (nunca la silueta) */
.am-tour-related__inner{ display:grid; gap:clamp(24px,4vw,40px) 64px; align-items:start; }
@media (min-width:1024px){ .am-tour-related__inner{ grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr); } }
.am-page--tour .am-tour-related__title{ margin:0; max-width:14ch; font-size:clamp(2rem,3.3vw,3rem) !important; text-wrap:balance; }
.am-tour-body + .am-tour-related{ padding-top:0; }
@media (min-width:1024px){ .am-page--tour .am-tour-related__title{ position:sticky; top:calc(var(--am-hd) + 32px); } }
.am-page--tour .am-tour-rel-list{ list-style:none; margin:0; padding:0; border-bottom:1px solid var(--am-line); counter-reset:none; }
.am-page--tour .am-tour-rel-row{ margin:0; padding:0; border-top:1px solid var(--am-line); }
.am-page--tour .am-tour-rel-row__link{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:clamp(20px,2.6vw,30px) 0; color:inherit; }
.am-page--tour .am-tour-rel-row.has-thumb .am-tour-rel-row__link{ grid-template-columns:minmax(0,1fr) 96px auto; }
.am-tour-rel-row__text{ display:grid; gap:6px; min-width:0; }
.am-page--tour .am-tour-rel-row__cat{ font-family:var(--am-font-display); font-size:max(.75rem,12px); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--am-terracotta-700); }
.am-page--tour .am-tour-rel-row__name{ font-family:var(--am-font-display); font-weight:500; font-size:clamp(1.3rem,2.2vw,1.8rem); line-height:1.12; letter-spacing:-.01em; color:var(--am-coffee);
  background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat; transition:background-size .6s var(--am-ease), color .3s; justify-self:start; }
.am-page--tour .am-tour-rel-row__sub{ max-width:52ch; font-size:1rem; line-height:1.5; color:var(--am-muted); text-wrap:pretty; }
.am-page--tour .am-tour-rel-row__meta{ font-size:.95rem; line-height:1.4; color:var(--am-ink); font-variant-numeric:tabular-nums; }
.am-page--tour .am-tour-rel-row__thumb{ display:block; width:96px; aspect-ratio:4/3; border-radius:var(--am-r); }
.am-tour-rel-row__thumb > img{ transition:transform 1.2s var(--am-ease); }
.am-page--tour .am-tour-rel-row__go{ display:grid; place-items:center; width:40px; height:40px; color:var(--am-terracotta-700); transition:translate .5s var(--am-ease); }
.am-tour-rel-row__go .am-ico{ width:22px; height:22px; }
.am-page--tour .am-tour-rel-row__link:hover .am-tour-rel-row__name{ color:var(--am-green-800); background-size:100% 1px; }
.am-tour-rel-row__link:hover .am-tour-rel-row__thumb > img{ transform:scale(1.06); }
.am-page--tour .am-tour-rel-row__link:hover .am-tour-rel-row__go{ translate:6px 0; }
.am-page--tour .am-tour-rel-row__link:focus-visible{ outline:3px solid var(--am-terracotta); outline-offset:4px; }
@media (max-width:479px){
  .am-page--tour .am-tour-rel-row.has-thumb .am-tour-rel-row__link{ grid-template-columns:minmax(0,1fr) 96px; }
  .am-page--tour .am-tour-rel-row__go{ display:none; }
  .am-page--tour .am-tour-rel-row__thumb{ align-self:start; }
}
@media (min-width:1024px){
  .am-page--tour .am-tour-rel-row.has-thumb .am-tour-rel-row__link{ grid-template-columns:minmax(0,1fr) 220px auto; gap:28px; }
  .am-page--tour .am-tour-rel-row__thumb{ width:220px; }
}

/* ---------------------------------------------------------- CTA FINAL --- */
.am-tour-cta{ position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:flex-end; min-height:clamp(520px,78svh,760px); background:var(--am-coffee); color:#fff; }
.am-tour-cta.is-brand{ align-items:center; min-height:0; }
.am-tour-cta.is-brand .am-tour-cta__inner{ padding-block:var(--am-sec-y); }
.am-tour-cta.is-brand--wine{ background:#360500; }
.am-tour-cta.is-brand--terracotta{ background:#8C4D34; background:color-mix(in srgb,#A2573A 82%,#251E18); }
.am-page .am-tour-cta__waves{ height:42px; margin:0 0 26px; color:var(--am-terracotta); }
.am-tour-cta.is-brand--terracotta .am-tour-cta__waves{ color:var(--am-beige); }
.am-page .am-tour-cta__media{ position:absolute; inset:0; z-index:-2; border-radius:0; }
.am-tour-cta__veil{ position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(90% 85% at 70% 35%, rgba(37,30,24,.30) 0%, rgba(37,30,24,.72) 100%),
    linear-gradient(0deg, rgba(37,30,24,.78) 0%, rgba(37,30,24,0) 58%); }
.am-tour-cta__inner{ display:grid; gap:26px 64px; align-items:end; padding-block:var(--am-sec-y); }
@media (min-width:1024px){ .am-tour-cta__inner{ grid-template-columns:minmax(0,1fr) auto; } .am-tour-cta__btns{ flex-wrap:nowrap; } }
.am-page--tour .am-tour-cta__title{ margin:0; max-width:15ch; color:#FAEDE4; text-shadow:0 2px 30px rgba(0,0,0,.25); }
.am-page--tour .am-tour-cta__title .am-title-duo__strong{ color:var(--am-beige); }
.am-page--tour .am-tour-cta__lead{ margin:0 0 24px; max-width:36ch; color:#eadfd2; }
.am-page--tour .am-tour-cta__title .am-title-duo__light{ text-wrap:balance; }
.am-page--tour .am-tour-cta__alt{ display:inline-flex; align-items:center; min-height:40px; margin-top:8px; color:#FAEDE4; text-decoration:underline; text-decoration-color:rgba(225,197,175,.6); text-underline-offset:4px; }
@media (max-width:560px){
  .am-tour-cta__btns{ flex-direction:column; align-items:stretch; width:100%; }
  .am-tour-cta__btns .am-btn{ width:100%; }
}

/* ------------------------------------------- BARRA FIJA (movil y tablet) --- */
.am-tour-dock{ position:fixed; z-index:990; left:12px; right:var(--am-tour-dock-right); bottom:calc(12px + env(safe-area-inset-bottom, 0px));
  display:flex; align-items:center; gap:8px; padding:6px 6px 6px 18px; border-radius:var(--am-r-pill);
  background:rgba(37,30,24,.95); border:1px solid rgba(225,197,175,.24); box-shadow:var(--am-shadow-lg); color:#fff;
  -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%);
  transition:transform .6s var(--am-ease), opacity .4s var(--am-ease), visibility 0s linear 0s; }
.am-tour-dock-ready .am-tour-dock{ transform:translateY(calc(100% + 32px)); opacity:0; pointer-events:none; visibility:hidden;
  transition:transform .6s var(--am-ease), opacity .4s var(--am-ease), visibility 0s linear .6s; }
.am-tour-dock-ready .am-tour-dock.is-visible{ transform:none; opacity:1; pointer-events:auto; visibility:visible;
  transition:transform .6s var(--am-ease), opacity .4s var(--am-ease), visibility 0s linear 0s; }
.am-tour-dock__price{ display:flex; flex-direction:column; min-width:0; line-height:1.15; }
.am-tour-dock__from{ font-family:var(--am-font-display); font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--am-beige); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.am-tour-dock__amount{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--am-font-display); font-size:1.12rem; font-weight:600; color:#fff; }
.am-tour-dock__amount small{ font-size:.75rem; font-weight:600; color:var(--am-beige); }
.am-page--tour .am-tour-dock__btn{ flex:none; margin-left:auto; min-height:48px; padding:0 20px; font-size:.98rem; gap:8px; }
.am-tour-dock__btn .am-ico{ width:22px; height:22px; }
.am-page--tour .am-tour-dock__btn:focus-visible{ outline:2px solid var(--am-beige); outline-offset:2px; }
@media (min-width:1024px){ .am-tour-dock{ display:none; } }
/* La barra fija ya lleva WhatsApp: en la ficha, por debajo de 1024, no se muestra el boton flotante */
@media (max-width:1023px){ body.am-view-tour .am-wa-float{ display:none !important; } }

/* ------------------------------------------------- MOVIMIENTO REDUCIDO --- */
@media (prefers-reduced-motion:reduce){
  .am-page .am-tour-hero__media{ animation:none; }
  html:not(.am-motion-force) .am-tour-hero__video{ display:none; }   /* r22: con el movimiento forzado (am-motion = on) el video se ve */
  .am-tour-timeline__fill, .am-tour-cal__cell.is-on{ animation:none !important; transform:none !important; opacity:1 !important; }
  .am-tour-dock, .am-tour-anchors, .am-tour-book.is-flash{ transition:none; animation:none; }
  .am-tour-step__dot, .am-page--tour .am-tour-rel-row__go, .am-tour-bird__cap{ transition:none; translate:none !important; }
}

/* =========================================================================
   Varias opciones en una ficha: itinerarios (pestanas / acordeon) y tarifas
   ========================================================================= */
.am-page--tour [hidden]{ display:none !important; }

.am-tour-itin__lead{ margin:-6px 0 22px; max-width:56ch; font-size:1.05rem; line-height:1.55; color:var(--am-muted); }
.am-tour-itin{ position:relative; }
.am-tour-itin__bar:empty{ display:none; }

/* --- barra de pestanas (escritorio) --- */
.am-tour-itin__bar{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 30px; padding:5px;
  border:1px solid var(--am-line); border-radius:var(--am-r-pill,999px); background:#fff; width:fit-content; max-width:100%; }
.am-page--tour .am-tour-itin__bar .am-tour-itin__tab{ display:inline-flex; align-items:baseline; gap:10px; width:auto;
  padding:11px 22px; border:0; border-radius:var(--am-r-pill,999px); background:transparent; cursor:pointer;
  font-family:var(--am-font-display); font-size:1.02rem; font-weight:600; line-height:1.2; color:var(--am-green-800);
  transition:background .35s var(--am-ease), color .35s var(--am-ease); }
.am-page--tour .am-tour-itin__bar .am-tour-itin__tab:hover{ background:var(--am-sand); }
.am-page--tour .am-tour-itin__bar .am-tour-itin__tab.is-on{ background:var(--am-green); color:#FAEDE4; }
.am-tour-itin__bar .am-tour-itin__tab-meta{ font-family:var(--am-font-body,inherit); font-size:.84rem; font-weight:500; letter-spacing:.04em;
  text-transform:uppercase; color:var(--am-terracotta); }
.am-page--tour .am-tour-itin__bar .am-tour-itin__tab.is-on .am-tour-itin__tab-meta{ color:var(--am-beige); }
.am-tour-itin__bar .am-tour-itin__chev{ display:none; }
.am-page--tour .am-tour-itin__tab:focus-visible{ outline:2px solid var(--am-terracotta); outline-offset:3px; }

/* --- acordeon (movil) --- */
.am-page--tour .am-tour-itin__item > .am-tour-itin__tab{ display:flex; align-items:center; gap:14px; width:100%; text-align:left;
  padding:18px 4px; border:0; border-top:1px solid var(--am-line); background:transparent; cursor:pointer;
  font-family:var(--am-font-display); font-size:1.18rem; font-weight:600; line-height:1.2; color:var(--am-green-800); }
.am-tour-itin__item:last-child > .am-tour-itin__tab{ border-bottom:1px solid var(--am-line); }
.am-tour-itin__item > .am-tour-itin__tab.is-on{ border-bottom:0; color:var(--am-terracotta-700); }
.am-tour-itin__item > .am-tour-itin__tab .am-tour-itin__tab-name{ flex:1 1 auto; min-width:0; }
.am-tour-itin__item > .am-tour-itin__tab .am-tour-itin__tab-meta{ flex:none; font-size:.8rem; font-weight:500; letter-spacing:.06em;
  text-transform:uppercase; color:var(--am-terracotta); }
.am-tour-itin__chev{ flex:none; width:12px; height:12px; border-right:2px solid var(--am-terracotta); border-bottom:2px solid var(--am-terracotta);
  rotate:45deg; translate:0 -3px; transition:rotate .35s var(--am-ease), translate .35s var(--am-ease); }
.am-tour-itin__item > .am-tour-itin__tab.is-on .am-tour-itin__chev{ rotate:-135deg; translate:0 2px; }
.am-tour-itin[data-mode="acc"] .am-tour-itin__panel{ padding:4px 0 30px; }
.am-tour-itin[data-mode="acc"] .am-tour-itin__item:last-child .am-tour-itin__panel.is-on{ border-bottom:1px solid var(--am-line); }

/* --- panel + animacion sobria --- */
.am-tour-itin__panel.is-on{ animation:am-itin-in .45s var(--am-ease) both; }
@keyframes am-itin-in{ from{ opacity:0; translate:0 10px; } to{ opacity:1; translate:0 0; } }

/* --- dias dentro de un itinerario --- */
.am-tour-itin__day + .am-tour-itin__day{ margin-top:34px; padding-top:30px; border-top:1px solid var(--am-line); }
.am-page--tour .am-tour-itin__day-h{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px; margin:0 0 20px; }
.am-tour-itin__day-n{ font-family:var(--am-font-display); font-size:.82rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:#FAEDE4; background:var(--am-terracotta); padding:6px 13px; border-radius:var(--am-r-pill,999px); line-height:1; }
.am-tour-itin__day-s{ font-family:var(--am-font-display); font-size:1.18rem; font-weight:600; line-height:1.25; color:var(--am-green-800); }

/* =========================== Tarifas por opcion =========================== */
.am-tour-rates__bar:empty{ display:none; }
.am-tour-rates__item + .am-tour-rates__item{ margin-top:2px; }
.am-page--tour .am-tour-rates__tab{ display:flex; align-items:center; gap:10px; width:100%; text-align:left;
  padding:12px 2px; border:0; border-bottom:1px solid var(--am-line); background:transparent; cursor:pointer;
  font-family:var(--am-font-display); font-size:1.02rem; font-weight:600; line-height:1.25; color:var(--am-green-800); }
.am-page--tour .am-tour-rates__tab > span:first-child{ flex:1 1 auto; min-width:0; }
.am-tour-rates__tab-from{ flex:none; font-size:.94rem; font-weight:600; color:var(--am-terracotta-700); white-space:nowrap; font-variant-numeric:tabular-nums; }
.am-page--tour .am-tour-rates__tab.is-on{ color:var(--am-terracotta-700); border-bottom-color:var(--am-terracotta); }
.am-page--tour .am-tour-rates__tab:focus-visible{ outline:2px solid var(--am-terracotta); outline-offset:2px; }
.am-tour-rates__tab::after{ content:''; flex:none; width:9px; height:9px; border-right:2px solid var(--am-terracotta); border-bottom:2px solid var(--am-terracotta);
  rotate:45deg; translate:0 -2px; transition:rotate .35s var(--am-ease); }
.am-page--tour .am-tour-rates__tab.is-on::after{ rotate:-135deg; translate:0 2px; }
.am-tour-rates__panel{ padding:10px 0 14px; }
.am-tour-rates__panel.is-on{ animation:am-itin-in .35s var(--am-ease) both; }
.am-tour-calc--multi{ padding-top:14px; }

@media (max-width:899px){
  .am-tour-itin__bar{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .am-tour-itin__panel.is-on, .am-tour-rates__panel.is-on{ animation:none !important; }
  .am-tour-itin__chev, .am-tour-rates__tab::after{ transition:none; }
}
.am-page--tour .am-tour-incl__grp{ margin:26px 0 12px; font-family:var(--am-font-display); font-size:.82rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:var(--am-terracotta); }
.am-page--tour .am-tour-incl__col > .am-tour-incl__grp:first-of-type{ margin-top:0; }

/* =========================================================================
   r7 - Ajustes pedidos por el cliente en la reunion (ficha de experiencia)
   2) La tarjeta de reserva no puede dominar la ficha en portatiles de
      1280-1366 px (ni con el zoom de Windows al 125%, que deja el ancho CSS
      en ~1090). Va al final del archivo a proposito: asi gana a los ajustes
      por alto de arriba y a las reglas de "Tarifas por opcion".
   7) Ritmo vertical homogeneo entre los bloques del cuerpo.
   ========================================================================= */

/* ---------------------------------------- 7. RITMO DEL CUERPO DE LA FICHA --- */
/* "Ten en cuenta" colgaba a 44px del bloque anterior mientras el resto de
   bloques respiraba 113-123px: se leia pegado a la linea "No incluye: ...".
   Sigue siendo el salto mas corto -pertenece al bloque que lo precede-, pero
   ya no se toca con el. */
.am-tour-block + .am-tour-block--note{ margin-top:clamp(42px,5.4vw,76px); }
/* La linea "No incluye: ..." cerraba la lista sin aire */
.am-page--tour .am-tour-incl__one{ margin-top:clamp(20px,2.1vw,30px); }
/* Lista de "incluye" a dos columnas con un numero impar de items: el ultimo
   ocupaba media fila y dejaba un filete colgando. Ocupa la fila entera. */
@media (min-width:640px){
  .am-page--tour .am-tour-incl--single .am-tour-incl__list li:last-child:nth-child(odd){ grid-column:1 / -1; }
}

/* ------------------------------- 2. TARJETA DE RESERVA EN 1024-1439 px --- */
@media (min-width:1024px) and (max-width:1439.98px){

  /* La tarjeta cede ancho y la columna de texto lo recupera */
  .am-page--tour{
    --am-tour-aside:clamp(310px,16.8vw + 138px,380px);
    --am-tour-gap:clamp(46px,6.6vw - 22px,74px);
  }

  /* Cabecera: el precio sigue siendo lo primero que se lee, solo baja de escala */
  .am-tour-book__head{ padding:clamp(13px,.9vw + 4px,16px) clamp(17px,1.2vw + 4.7px,22px) clamp(12px,.72vw + 4.6px,15px); }
  .am-tour-book__head::after{ height:3px; }
  .am-page .am-tour-book__leaf{ right:20px; top:-21px; width:38px; }
  .am-tour-book__from{ margin-bottom:4px; font-size:.68rem; letter-spacing:.14em; }
  .am-tour-book__price strong{ font-size:clamp(1.9rem,.92rem + 1.54vw,2.3rem); }
  .am-tour-book__iva{ font-size:.92rem; }
  .am-tour-book__price--quote strong{ font-size:clamp(1.12rem,.34rem + 1.22vw,1.3rem); }
  .am-tour-book__body{ padding:clamp(11px,.62vw + 4.6px,14px) clamp(17px,1.2vw + 4.7px,22px) clamp(14px,.9vw + 5px,18px); }

  /* Calculadora: mismo gesto, menos bulto (el area de clic no baja de 40px) */
  .am-tour-calc{ gap:10px; padding-bottom:9px; }
  .am-page--tour .am-tour-calc__label{ max-width:13ch; font-size:.92rem; line-height:1.22; }
  .am-tour-calc__stepper{ padding:2px; }
  .am-page--tour .am-tour-calc .am-tour-calc__stepper button.am-rc__btn{ width:40px !important; height:40px !important; }
  .am-page--tour .am-tour-calc__stepper .am-tour-calc__btn svg{ width:16px; height:16px; }
  .am-tour-calc__n{ min-width:2ch; font-size:1.18rem; }
  .am-page--tour .am-tour-calc__total{ margin-top:8px; font-size:.92rem; }
  .am-page--tour .am-tour-calc__price.is-quote{ margin-top:10px; padding:9px 12px; font-size:.92rem; }
  .am-tour-calc--multi{ padding-top:11px; }

  /* Tabla de tarifas: filas mas bajas, la cifra sigue mandando sobre el rango */
  .am-page--tour table.am-tour-rates{ font-size:.94rem; }
  .am-page--tour .am-tour-rates th{ padding:0 10px 5px !important; font-size:max(.68rem,11px) !important; letter-spacing:.1em; }
  .am-page--tour .am-tour-rates td{ padding:7px 10px !important; font-size:.94rem !important; }
  .am-page--tour .am-tour-rates td:last-child{ font-size:1rem !important; }
  .am-page--tour .am-tour-rates tr.is-match td:first-child{ box-shadow:inset 3px 0 0 var(--am-terracotta); }

  /* Tarifas por opcion (fichas con varias opciones) */
  .am-page--tour .am-tour-rates__tab{ padding:10px 2px; font-size:.95rem; }
  .am-tour-rates__tab-from{ font-size:.88rem; }
  .am-tour-rates__panel{ padding:8px 0 11px; }

  /* Cierre de la tarjeta */
  .am-page--tour .am-tour-book__vat{ margin-top:8px; font-size:.82rem; }
  .am-tour-book__actions{ margin-top:11px; gap:2px; }
  .am-page--tour .am-tour-book__actions .am-btn{ min-height:44px; padding:0 14px; font-size:.94rem; }
  .am-page--tour .am-tour-book__actions .am-btn .am-ico{ width:17px; height:17px; }
  .am-page--tour .am-tour-book__alt{ min-height:34px; font-size:.87rem; }
}


/* =========================================================================
   r22 - Reunion del 29-sep con Brandon (ficha de experiencia)
   1) Tarjeta de reserva mas corta: sin calculadora de grupo ni recuadro de
      cedula. Solo precio (el del itinerario elegido), enlace a las tarifas y
      contacto. La tabla y el apartado de nacionales viven en #tarifas.
   2) "En movimiento": hasta 6 clips verticales u horizontales en un carrusel
      con flechas; al tocar uno se abre en grande en un visor.
   ========================================================================= */

/* ------------------------------------------------ 1. TARJETA DE RESERVA --- */
.am-page--tour .am-tour-book__opt{ display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 9px; margin:14px 0 0; padding-top:11px;
  border-top:1px solid rgba(225,197,175,.3); line-height:1.3; color:#FAEDE4; }
.am-tour-book__opt span{ font-family:var(--am-font-display); font-size:.7rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--am-beige); }
.am-tour-book__opt strong{ min-width:0; font-family:var(--am-font-display); font-size:1rem; font-weight:600; color:#fff; overflow-wrap:anywhere; }
.am-page--tour a.am-tour-book__rates{ display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:50px; padding:0 18px;
  border:1px solid var(--am-line); border-radius:var(--am-r-sm); background:#fff; text-decoration:none;
  font-family:var(--am-font-display); font-size:1rem; font-weight:600; line-height:1.25; color:var(--am-green-800);
  transition:border-color .3s var(--am-ease), color .3s var(--am-ease); }
.am-page--tour a.am-tour-book__rates:hover{ border-color:var(--am-green); color:var(--am-terracotta-700); }
.am-page--tour a.am-tour-book__rates:focus-visible{ outline:2px solid var(--am-terracotta); outline-offset:2px; }
.am-tour-book__rates span{ flex:none; font-size:1.15rem; color:var(--am-terracotta); }
.am-tour-book__rates + .am-tour-book__vat{ margin-top:12px; }
@media (min-width:1024px) and (max-width:1439.98px){
  .am-page--tour a.am-tour-book__rates{ min-height:44px; padding:0 14px; font-size:.94rem; }
  .am-page--tour .am-tour-book__opt{ margin-top:10px; padding-top:8px; }
  .am-tour-book__opt strong{ font-size:.94rem; }
}

/* ------------------------------------------------------ BLOQUE TARIFAS --- */
.am-page--tour .am-tour-tar__lead{ margin:-6px 0 22px; max-width:56ch; font-size:1.05rem; line-height:1.55; color:var(--am-muted); }
.am-tour-tar{ display:grid; gap:clamp(12px,1.4vw,18px); }
.am-tour-tar.is-multi{ grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr)); }
.am-tour-tar.is-single{ max-width:560px; }
.am-tour-tar__card{ min-width:0; padding:16px 6px 6px; background:#fff; border:1px solid var(--am-line); border-radius:var(--am-r);
  transition:border-color .35s var(--am-ease), box-shadow .35s var(--am-ease); }
.am-tour-tar.is-single .am-tour-tar__card{ padding-top:12px; }
.am-tour-tar__card.is-pick{ border-color:var(--am-terracotta); box-shadow:0 0 0 1px var(--am-terracotta), 0 12px 24px -16px rgba(37,30,24,.4); }
.am-tour-tar__head{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:2px 12px; padding:0 12px 12px; }
.am-page--tour .am-tour-tar__name{ margin:0; min-width:0; font-family:var(--am-font-display); font-size:1.08rem; font-weight:600; line-height:1.3; color:var(--am-green-800); overflow-wrap:anywhere; }
.am-tour-tar__from{ flex:none; font-family:var(--am-font-display); font-size:.92rem; font-weight:600; color:var(--am-terracotta-700); white-space:nowrap; font-variant-numeric:tabular-nums; }
.am-page--tour .am-tour-tar__card table.am-tour-rates{ font-size:.98rem; }
.am-page--tour .am-tour-rates__nac{ display:block; margin-top:2px; font-family:var(--am-font-body,inherit); font-size:.8rem;
  font-weight:500; line-height:1.25; letter-spacing:.005em; color:var(--am-olive) !important; white-space:nowrap; }
.am-tour-nac{ margin:clamp(16px,2vw,22px) 0 0; max-width:640px; padding:14px 16px; border-radius:var(--am-r-sm); background:var(--am-sand);
  border-left:3px solid var(--am-olive); }
.am-page--tour .am-tour-nac__head{ display:flex; align-items:flex-start; gap:9px; margin:0;
  font-family:var(--am-font-display); font-size:1rem; line-height:1.35; color:var(--am-green-800); }
.am-tour-nac__head .am-ico{ flex:none; width:20px; height:20px; margin-top:1px; color:var(--am-olive); }
.am-tour-nac__head strong{ font-weight:600; color:var(--am-coffee); }
.am-page--tour .am-tour-nac__txt{ margin:7px 0 0; font-size:.94rem; line-height:1.5; color:var(--am-coffee); }
@media (max-width:420px){
  .am-page--tour .am-tour-rates__nac{ font-size:.76rem; }
  .am-tour-nac{ padding:12px 13px; }
  .am-tour-tar__head{ padding-inline:10px; }
}
@media (prefers-reduced-motion:reduce){ .am-tour-tar__card{ transition:none; } }

/* ------------------------------------------------- 2. EN MOVIMIENTO --- */
.am-tour-reels{ position:relative; isolation:isolate; overflow:clip; --am-contours-opacity:.06; --am-reel-h:clamp(360px,34vw,500px); }
.am-page--tour .am-tour-reels__head{ flex-wrap:wrap; row-gap:18px; margin-bottom:clamp(24px,3.2vw,40px); }
.am-page--tour .am-tour-reels__head h2{ margin:0; }
.am-page--tour .am-tour-reels__note{ margin:10px 0 0; max-width:44ch; font-size:1rem; line-height:1.55; color:rgba(250,237,228,.8); }
.am-tour-reels__nav{ flex:none; display:flex; gap:10px; margin-left:auto; }
.am-tour-reels__nav.is-still{ display:none; }
.am-page--tour .am-tour-reels .am-tour-round{ background:transparent; border-color:rgba(250,237,228,.36); color:#FAEDE4; }
.am-page--tour .am-tour-reels .am-tour-round:hover{ background:var(--am-beige); border-color:var(--am-beige); color:var(--am-coffee); }
.am-page--tour .am-tour-reels .am-tour-round:disabled{ opacity:.32; pointer-events:none; }
.am-tour-reels__arrow.is-prev .am-ico{ transform:rotate(180deg); }
@media (max-width:639px){ .am-page--tour .am-tour-reels .am-tour-round{ width:46px; height:46px; } }

/* La fila tiene un alto fijo y cada clip toma su forma real (9:16, 16:9 o cuadrado): nada se recorta de mas. */
.am-page--tour ul.am-tour-reels__row{ list-style:none; display:flex; gap:clamp(12px,1.4vw,20px); margin:0; padding:0;
  overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:none;
  margin-inline:calc(var(--am-gutter) * -1); padding-inline:var(--am-gutter); scroll-padding-inline:var(--am-gutter); }
.am-tour-reels__row::-webkit-scrollbar{ display:none; }
@media (min-width:1024px){ .am-page--tour ul.am-tour-reels__row{ margin-inline:0; padding-inline:0; scroll-padding-inline:0; } }
.am-page--tour .am-tour-reel{ position:relative; flex:0 0 auto; height:var(--am-reel-h); aspect-ratio:var(--am-reel-ar,9/16);
  margin:0; padding:0; scroll-snap-align:start; border-radius:var(--am-r); overflow:hidden; background:rgba(37,30,24,.55); list-style:none; }
.am-page--tour .am-tour-reel::before{ content:none; }
.am-page--tour .am-tour-reel[data-or="l"]{ max-width:84vw; }
.am-tour-reel__fig{ position:absolute; inset:0; margin:0; }
.am-page--tour .am-tour-reel__media{ position:absolute; inset:0; border-radius:0; }
.am-tour-reel__media > img, .am-tour-reel__media > video{ position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.am-tour-reel__media > video{ opacity:0; transition:opacity .5s var(--am-ease); }
.am-tour-reel__media > video.is-playing{ opacity:1; }
.am-tour-reel::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:44%; z-index:1; pointer-events:none;
  background:linear-gradient(to top,rgba(37,30,24,.76),rgba(37,30,24,0)); }
.am-page--tour .am-tour-reel__cap{ position:absolute; left:14px; right:14px; bottom:12px; z-index:2; margin:0;
  color:#FAEDE4; font-size:.9rem; line-height:1.35; text-shadow:0 1px 10px rgba(0,0,0,.55); pointer-events:none; }
/* Toda la casilla es el boton que abre el visor (el tema pinta todos los <button>: se repone a mano) */
.am-page--tour button.am-tour-reel__open{ position:absolute; inset:0; z-index:3; display:grid; place-items:center; width:100%; height:100%;
  margin:0; padding:0 !important; min-height:0 !important; cursor:pointer; -webkit-appearance:none; appearance:none;
  background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; color:var(--am-coffee) !important; }
.am-page--tour button.am-tour-reel__open::before, .am-page--tour button.am-tour-reel__open::after{ content:none !important; }
.am-page--tour button.am-tour-reel__open:focus-visible{ outline:3px solid var(--am-beige); outline-offset:-3px; }
.am-tour-reel__play{ display:grid; place-items:center; width:58px; height:58px; border-radius:999px; padding-left:3px;
  background:rgba(250,237,228,.94); color:var(--am-coffee); box-shadow:0 6px 18px rgba(0,0,0,.28); transition:scale .35s var(--am-ease), background .35s var(--am-ease); }
/* con la vista previa en marcha, el boton se hace chico y se va a la esquina para no tapar el clip */
.am-tour-reels[data-motion="full"] .am-tour-reel__open{ place-items:start end; }
.am-tour-reels[data-motion="full"] .am-tour-reel__play{ width:42px; height:42px; margin:12px; background:rgba(250,237,228,.86); }
.am-tour-reels[data-motion="full"] .am-tour-reel__play svg{ width:18px; height:18px; }
@media (hover:hover) and (pointer:fine){
  .am-page--tour button.am-tour-reel__open:hover .am-tour-reel__play{ scale:1.1; background:#fff; }
}

/* Visor de videos: pantalla completa oscura, el clip al mayor tamano que cabe (lo calcula el script). */
html.am-vbx-open, html.am-vbx-open body{ overflow:hidden !important; }
.am-tour-vbx{ position:fixed; inset:0; z-index:100000; display:grid; grid-template-rows:auto minmax(0,1fr) auto;
  padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
  background:rgba(23,18,14,.96); color:#FAEDE4; opacity:0; transition:opacity .26s ease; }
.am-tour-vbx.is-open{ opacity:1; }
.am-tour-vbx.is-instant{ transition:none; }
.am-tour-vbx[hidden]{ display:none !important; }
.am-tour-vbx__top{ display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; padding:0 4px 6px; }
.am-tour-vbx__count{ font-family:var(--am-font-display); font-size:.92rem; letter-spacing:.08em; color:rgba(250,237,228,.78); font-variant-numeric:tabular-nums; }
.am-tour-vbx__stage{ position:relative; display:grid; place-items:center; min-height:0; min-width:0; }
.am-tour-vbx__video{ display:block; max-width:100%; max-height:100%; border-radius:12px; background:#000; }
button.am-tour-vbx__btn{ display:grid; place-items:center; width:48px !important; height:48px !important; min-height:0 !important; margin:0; padding:0 !important; cursor:pointer;
  -webkit-appearance:none; appearance:none; border:1px solid rgba(250,237,228,.28) !important; border-radius:999px !important;
  background:rgba(37,30,24,.62) !important; color:#FAEDE4 !important; box-shadow:none !important; transition:background .3s ease; }
button.am-tour-vbx__btn::before, button.am-tour-vbx__btn::after{ content:none !important; }
button.am-tour-vbx__btn:hover{ background:rgba(250,237,228,.2) !important; }
button.am-tour-vbx__btn:focus-visible{ outline:2px solid var(--am-beige); outline-offset:2px; }
.am-tour-vbx__prev, .am-tour-vbx__next{ position:absolute; top:50%; translate:0 -50%; z-index:2; }
.am-tour-vbx__prev{ left:4px; }
.am-tour-vbx__next{ right:4px; }
@media (min-width:768px){ .am-tour-vbx__prev{ left:18px; } .am-tour-vbx__next{ right:18px; } button.am-tour-vbx__btn{ width:54px !important; height:54px !important; } }
.am-page--tour .am-tour-vbx__cap, .am-tour-vbx__cap{ margin:10px auto 0; max-width:60ch; min-height:1.4em; text-align:center; font-size:1rem; line-height:1.4; color:#FAEDE4; }
@media (prefers-reduced-motion:reduce){
  .am-tour-vbx{ transition:none; }
  .am-tour-reel__media > video, .am-tour-reel__play{ transition:none; }
}

/* r23 · galeria de la ficha: el pie visible es la «Leyenda» de la foto (y el credito). Dos lineas como mucho en
   el mosaico; el texto completo sale en el visor.
   r24 (revision del 30-sep: pies a 12px y cortados con "..." en celular y tablet): mas grandes, y hasta 899px van
   DEBAJO de la foto, completos y en tinta sobre el fondo arena, sin degradado ni corte. */
.am-page--tour .am-tour-gal__pie{ right:clamp(12px,1.4vw,18px); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  font-size:clamp(.8rem,.75rem + .2vw,.9rem); line-height:1.35; letter-spacing:.005em; }
@media (max-width:899px){
  .am-page--tour .am-tour-gal{ align-items:flex-start; }
  .am-page--tour .am-tour-gal__item{ height:auto; display:flex; flex-direction:column; gap:10px; overflow:visible; background:none; border-radius:0; }
  .am-page--tour .am-tour-gal__item > img{ flex:none; width:100%; height:clamp(290px,72vw,430px); border-radius:var(--am-r-lg); background:var(--am-green-800); }
  .am-page--tour .am-tour-gal__item.has-credit::before, .am-page--tour .am-tour-gal__item::after{ display:none; }
  .am-page--tour .am-tour-gal__pie{ position:static; display:block; -webkit-line-clamp:unset; overflow:visible; margin:0; padding:0 2px;
    color:var(--am-ink); text-shadow:none; font-size:.9rem; line-height:1.45; }
}

/* r24 · "Precio: Cotiza por WhatsApp" del hero (fichas sin tarifa): ahora es un enlace real, con su icono */
.am-page--tour .am-tour-fact__link{ display:inline-flex; align-items:center; gap:8px; color:inherit; text-decoration:underline;
  text-decoration-color:rgba(225,197,175,.55); text-decoration-thickness:1px; text-underline-offset:5px; transition:color .3s, text-decoration-color .3s; }
.am-page--tour .am-tour-fact__link .am-ico{ flex:none; width:1.05em; height:1.05em; }
.am-page--tour .am-tour-fact__link:hover{ color:#fff; text-decoration-color:currentColor; }
.am-page--tour .am-tour-fact__link:focus-visible{ outline:2px solid var(--am-beige); outline-offset:3px; border-radius:4px; }
/* tarjeta: "tarifa nacional" cuando todas las filas son de nacionales (Mindo) */
.am-tour-book__nac{ white-space:nowrap; }

/* r24 · encuadre del hero en celular (meta _am_focus_movil, ver templates/tour.php). El style en linea trae el
   object-position de escritorio; el de celular tiene que ganarle, por eso el !important. */
@media (max-width:767px){
  .am-page .am-tour-hero__media .am-tour-hero__img[style*="--am-focus-m"]{ object-position:var(--am-focus-m) !important; }
  .am-page .am-tour-hero__media .am-tour-hero__img[style*="--am-zoom-m"]{ position:absolute; left:0; right:0; top:auto; bottom:0; height:calc(var(--am-zoom-m) * 100%); }
}

/* =========================================================================
   r23 · Hero de la ficha en tablet y celular (reunion del 29-sep: fotos y videos "expandidos")
   Medido antes: a 820 de ancho el hero media 820x820 y un video 16:9 se veia al 56 %; a 390, 390x694 y una
   foto apaisada al 42 %. Ahora el minimo es mas bajo en vertical (el contenido sigue mandando si necesita mas).
   ========================================================================= */
@media (min-width:640px) and (max-width:1023px) and (orientation:portrait){
  .am-tour-hero{ min-height:clamp(560px,56svh,700px); }
  .am-tour-cta{ min-height:clamp(480px,54svh,660px); }
}
@media (max-width:639px){
  .am-tour-hero{ min-height:clamp(480px,calc(100svh - 240px),640px); }
  .am-tour-cta{ min-height:clamp(440px,60svh,600px); }
}

/* r24 · Antetitulos dentro del texto de la ficha (Aviturismo: "Listas de especies", "A tres horas de Quito"): al quitar
   el font-size en linea del contenido quedaban con el tamano del parrafo (.am-tour-prose p, 17px); van con el global. */
.am-page--tour .am-tour-prose p.am-eyebrow{ font-size:var(--am-eyebrow-fs); }

/* =========================================================================
   r26 (2-oct) · Aviso de pago en efectivo y tarifa nacional en la tarjeta
   - .am-tour-book__nacp: "US$ 30 con cedula" bajo el precio (Mindo trae la tarifa nacional fila por fila).
   - .am-tour-book__pago / .am-tour-tar__pago / .am-tour-dock__pago: "Precios promocionales en efectivo.
     Pago con tarjeta aplica recargo." (pedido de Brandon del 1-oct, en todos los precios).
   ========================================================================= */
.am-page--tour .am-tour-book__nacp{ display:flex; align-items:center; gap:7px; margin:12px 0 0; font-size:.92rem; line-height:1.35; color:var(--am-beige); }
.am-page--tour .am-tour-book__nacp[hidden]{ display:none; }
.am-page--tour .am-tour-book__nacp .am-ico{ flex:none; width:1.15em; height:1.15em; }
.am-page--tour .am-tour-book__nacp [data-am-book-nacn]{ font-weight:700; color:#fff; white-space:nowrap; }
.am-page--tour .am-tour-book__pago{ margin:6px 0 0; padding-left:10px; border-left:2px solid var(--am-terracotta); font-size:.86rem; line-height:1.4; color:var(--am-green-800, #27341f); }
.am-page--tour .am-tour-tar__pago{ display:block; margin-top:4px; font-size:.95rem; color:var(--am-green-800, #27341f); }
.am-tour-dock__pago{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:1px; font-size:.68rem; line-height:1.2; color:rgba(234,220,207,.85); }
@media (max-width:1023px){
  .am-page--tour .am-tour-book__pago{ font-size:.8rem; }
  .am-page--tour .am-tour-book__nacp{ margin-top:8px; font-size:.86rem; }
}
