/* ==========================================================================
   AM Vivencial Tours v2 - Promociones y programas especiales
   Prefijo .am-promo-  |  Mobile first (390px) hasta 1440px
   Blue Nova Consulting
   ========================================================================== */

/* ------------------------------ UTILIDADES -------------------------------- */
.am-promo-sr{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ------------------------------- ENCABEZADOS ------------------------------- */
.am-promo-head{ margin-bottom:clamp(36px,5vw,64px); }
.am-promo-head--split{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px 48px; }
.am-page .am-promo-head .am-h2{ max-width:17ch; }
.am-promo-nav{ display:flex; gap:10px; }
.am-promo-nav__btn--prev .am-ico{ transform:rotate(180deg); }
.am-page button.am-round.swiper-button-disabled{ opacity:.35; pointer-events:none; }

/* ------------------------- PROMOCIONES (con ofertas) ------------------------ */
.am-promo-offers{ overflow:hidden; background:var(--am-cream); }
.am-promo-offers .am-promo-offers__swiper{ overflow:visible; }
.am-promo-offers .swiper-slide{ height:auto; }
.am-promo-offers .swiper-slide[hidden]{ display:none; }

.am-promo-card{ position:relative; display:grid; grid-template-columns:minmax(0,1fr); height:100%; overflow:hidden; border-radius:var(--am-r-lg);
  background:var(--am-terracotta); color:#FAEDE4; box-shadow:var(--am-shadow); }
.am-promo-card[hidden]{ display:none; }
.am-promo-card__visual{ position:relative; }
.am-promo-card .am-promo-card__media{ display:block; aspect-ratio:4/3; border-radius:0; }
.am-promo-card__media img{ transition:scale 1.3s var(--am-ease); }
.am-promo-card:hover .am-promo-card__media img{ scale:1.05; }

/* sello: emblema cuadrado del manual, se inclina con el scroll */
.am-promo-stamp{ position:absolute; top:16px; right:16px; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:124px; height:124px; padding:10px; border-radius:22px; overflow:hidden; isolation:isolate; background:var(--am-coffee); color:#FAEDE4;
  box-shadow:var(--am-shadow-lg); text-align:center; line-height:1; }
.am-promo-stamp .am-promo-stamp__emblem{ position:absolute; inset:8px; z-index:-1; width:calc(100% - 16px); height:calc(100% - 16px); color:var(--am-beige); opacity:.2; }
.am-promo-stamp__small{ font-family:var(--am-font-display); font-size:max(.75rem,12px); font-weight:500; letter-spacing:.06em; }
.am-promo-stamp__small--solo{ font-size:.9rem; letter-spacing:.12em; text-transform:uppercase; }
.am-promo-stamp__big{ margin:4px 0; font-family:var(--am-font-display); font-size:2.3rem; font-weight:600; letter-spacing:-.02em; color:#fff; }

.am-promo-card__body{ position:relative; display:flex; flex-direction:column; justify-content:center; min-width:0; overflow:hidden;
  padding:clamp(40px,4.5vw,64px) clamp(22px,4.5vw,64px) clamp(30px,4vw,56px); }
.am-page .am-promo-card__cat{ margin:0 0 10px; font-family:var(--am-font-display); font-size:max(.78rem,12px); font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:#FAEDE4; }
.am-page .am-promo-card__title{ margin:0 0 14px; max-width:16ch; font-size:clamp(1.9rem,1.3rem + 2vw,3rem); line-height:1.02; letter-spacing:-.022em; color:#fff; }
.am-page .am-promo-card__title a{ color:inherit !important; background:linear-gradient(currentColor,currentColor) 0 100% / 0 2px no-repeat; transition:background-size .7s var(--am-ease); }
.am-page .am-promo-card__title a:hover{ background-size:100% 2px; }
.am-page .am-promo-card__short{ margin:0 0 20px; max-width:48ch; font-size:1.05rem; line-height:1.68; color:#FAEDE4; }
.am-page .am-promo-facts{ display:flex; flex-wrap:wrap; gap:10px 22px; list-style:none; margin:0 0 22px; padding:0; }
.am-page .am-promo-facts li{ display:inline-flex; align-items:center; gap:8px; margin:0; padding:0; list-style:none; font-family:var(--am-font-display); font-size:.95rem; color:#FAEDE4; }
.am-promo-facts .am-ico{ width:18px; height:18px; color:var(--am-beige); }
.am-promo-card__price{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px; margin:0 0 18px; padding:18px 0; border-block:1px solid rgba(250,237,228,.3); }
.am-page .am-promo-card__now{ margin:0; font-family:var(--am-font-display); font-size:clamp(2.2rem,3.4vw,2.9rem); font-weight:600; line-height:1; color:#fff; }
.am-promo-card__was{ font-family:var(--am-font-display); font-size:1.15rem; color:#FAEDE4; text-decoration-thickness:1.5px; }
.am-promo-card__note{ flex-basis:100%; font-size:.95rem; color:#FAEDE4; }
.am-promo-card__price .am-price, .am-promo-card__price .am-price--quote{ font-size:1.7rem; color:#fff; }
.am-promo-card__price .am-price small, .am-promo-card__price .am-price__note{ color:#FAEDE4; }
.am-page .am-promo-countdown{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 14px; margin:0 0 24px; font-family:var(--am-font-display); color:#FAEDE4; }
.am-promo-countdown__label{ font-size:max(.78rem,12px); letter-spacing:.14em; text-transform:uppercase; }
.am-promo-countdown__val{ font-size:1.05rem; }
.am-promo-countdown__val strong{ font-size:1.7rem; font-weight:600; color:#fff; font-variant-numeric:tabular-nums; }
.am-promo-card__btns{ position:relative; z-index:1; gap:10px 24px; }
.am-page .am-promo-card__more{ display:inline-flex; align-items:center; gap:8px; min-height:44px; font-family:var(--am-font-display); font-weight:600; color:#fff !important;
  text-decoration:underline; text-decoration-color:rgba(250,237,228,.5); text-underline-offset:5px; }
.am-promo-card__more .am-ico{ width:18px; height:18px; transition:transform .45s var(--am-ease); }
.am-promo-card__more:hover .am-ico{ transform:translateX(4px); }
.am-promo-card .am-promo-card__bird{ position:absolute; right:-18px; bottom:-26px; width:auto; height:clamp(140px,16vw,210px); color:#FAEDE4; opacity:.14; pointer-events:none; }
.am-page .am-promo-card :focus-visible{ outline-color:#fff; }
@media (min-width:900px){
  .am-promo-card{ grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); min-height:560px; }
  .am-promo-card .am-promo-card__media{ position:absolute; inset:0; aspect-ratio:auto; }
  .am-promo-stamp{ top:36px; right:-40px; width:132px; height:132px; }
  .am-promo-card__body{ padding-left:clamp(64px,6vw,90px); }
  .am-promo-card .am-promo-card__visual{ background:var(--am-coffee); }
}


/* ===================== CABECERA EDITORIAL (foto del cliente a sangre) =====================
   Abre /promociones/ con una foto real a sangre, el texto que el cliente edita en
   Ajustes > Promociones del mes y, encima, la tarifa mas baja publicada (dato de _am_precios). */
.am-promo-lead{ position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:flex-end;
  min-height:clamp(540px,76svh,760px); background:var(--am-coffee); color:#FAEDE4; }
.am-promo-lead__bg{ position:absolute; inset:0; z-index:-2; }
.am-promo-lead__bg img{ width:100%; height:100%; object-fit:cover; object-position:50% 48%; }
.am-promo-lead::after{ content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg,rgba(24,18,14,.70) 0%,rgba(24,18,14,.30) 34%,rgba(24,18,14,.88) 100%),
             linear-gradient(90deg,rgba(24,18,14,.80) 0%,rgba(24,18,14,.40) 48%,rgba(24,18,14,.06) 78%); }
.am-promo-lead__inner{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr); align-items:end;
  gap:clamp(30px,4vw,56px); padding-top:calc(var(--am-hd,92px) + clamp(40px,6vw,92px)); padding-bottom:clamp(44px,6vw,88px); }
.am-promo-lead__col{ min-width:0; }
.am-page .am-promo-lead .am-promo-crumbs{ margin-bottom:clamp(14px,2vw,22px); }
/* 29-sep: "Promociones del mes" mas grande (antes 12,5px como todos los antetitulos) */
.am-page .am-promo-lead__eyebrow{ margin:0 0 clamp(16px,2.2vw,24px); gap:12px; font-size:clamp(.98rem,.82rem + .55vw,1.3rem); letter-spacing:.2em; line-height:1.3; }
.am-promo-lead__eyebrow::before{ width:10px; height:26px; }
.am-page .am-promo-lead__title{ margin:0; max-width:15ch; color:#fff !important; }
.am-promo-lead__title .am-title-duo__strong{ font-size:.9em; }
.am-promo-lead__title .am-title-duo__light{ font-size:.54em; line-height:1.1; margin-top:.16em; color:var(--am-beige); }
.am-page .am-promo-lead__text{ margin:clamp(18px,2.4vw,28px) 0 0; max-width:46ch; color:#f2e8dd !important; }
.am-promo-lead__btns{ margin-top:clamp(24px,3vw,36px); gap:12px 16px; }
.am-page .am-promo-lead__note{ margin:clamp(16px,2vw,24px) 0 0; max-width:48ch; font-size:.95rem; line-height:1.6; color:#d8ccbe; }
.am-page .am-promo-lead :focus-visible{ outline-color:#fff; }

/* tarjeta de tarifa encima de la foto */
.am-promo-tarifa{ position:relative; overflow:hidden; isolation:isolate; justify-self:start; align-self:end; width:100%; max-width:380px;
  padding:clamp(22px,2.4vw,32px); border-radius:var(--am-r-lg); border:1px solid rgba(225,197,175,.28);
  background:rgba(23,17,13,.76); box-shadow:var(--am-shadow-lg);
  -webkit-backdrop-filter:blur(10px) saturate(1.1); backdrop-filter:blur(10px) saturate(1.1); }
.am-promo-tarifa .am-promo-tarifa__emblem{ position:absolute; z-index:-1; right:-20px; bottom:-26px; width:auto; height:160px; color:var(--am-beige); opacity:.15; pointer-events:none; }
.am-page .am-promo-tarifa__kicker{ margin:0 0 12px; font-family:var(--am-font-display); font-size:max(.75rem,12px); font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--am-beige); }
.am-page .am-promo-tarifa__price{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0 10px; margin:0; color:#fff; }
.am-promo-tarifa__from{ font-family:var(--am-font-display); font-size:1.05rem; font-weight:500; color:#e9dfd2; }
.am-promo-tarifa__price strong{ font-family:var(--am-font-display); font-size:clamp(2.3rem,3.4vw,3rem); font-weight:600; line-height:1; letter-spacing:-.025em; color:#fff; font-variant-numeric:tabular-nums; }
.am-promo-tarifa__unit{ flex-basis:100%; margin-top:8px; font-family:var(--am-font-display); font-size:1rem; color:#e9dfd2; }
.am-page .am-promo-tarifa__note{ margin:14px 0 0; max-width:34ch; font-size:.95rem; line-height:1.55; color:#d8ccbe; }
.am-page .am-promo-tarifa__note--solo{ margin-top:0; }
.am-page .am-promo-tarifa__link{ display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:10px; font-family:var(--am-font-display); font-size:.98rem; font-weight:600;
  color:var(--am-beige) !important; text-decoration:underline; text-decoration-color:rgba(225,197,175,.45); text-underline-offset:6px; }
.am-promo-tarifa__link .am-ico{ width:18px; height:18px; transition:transform .45s var(--am-ease); }
.am-promo-tarifa__link:hover .am-ico{ transform:translateX(4px); }
.am-promo-tarifa__link:hover{ text-decoration-color:var(--am-beige); }
@media (min-width:900px){
  .am-promo-lead__inner{ grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr); }
  .am-promo-tarifa{ justify-self:end; }
}
@media (max-width:899.98px){
  .am-promo-lead{ min-height:clamp(440px,62svh,640px); }
  .am-promo-lead__inner{ padding-bottom:clamp(36px,6vw,56px); }
  .am-promo-tarifa{ max-width:none; }
}
@media (max-width:559.98px){
  .am-promo-lead__btns .am-btn{ width:100%; }
  .am-promo-tarifa{ padding:22px 18px; }
}

/* ===================== PROMOCION DEL MES (tarjeta de la cabecera) =====================
   Misma tarjeta que la de "tarifa en grupo", con la experiencia que el cliente eligio este mes:
   nombre, tarifa real de esa ficha, tarifas por 2..6 personas y vigencia si esta rebajada.
   Si no hay nada cargado esta tarjeta no se imprime y la cabecera queda a una columna. */
.am-promo-tarifa--mes{ max-width:430px; }
.am-page .am-promo-tarifa--mes .am-promo-tarifa__kicker{ margin-bottom:8px; color:var(--am-beige); }
.am-page .am-promo-mes__title{ margin:0 0 10px; font-family:var(--am-font-display); font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem);
  font-weight:600; line-height:1.14; letter-spacing:-.015em; color:#fff; text-wrap:balance; }
.am-page .am-promo-mes__title a{ color:inherit !important; background:linear-gradient(currentColor,currentColor) 0 100% / 0 1.5px no-repeat; transition:background-size .7s var(--am-ease); }
.am-page .am-promo-mes__title a:hover{ background-size:100% 1.5px; }
.am-page .am-promo-mes__meta{ display:flex; flex-wrap:wrap; gap:4px 18px; margin:0 0 16px; font-family:var(--am-font-display); font-size:.9rem; color:#d8ccbe; }
.am-promo-mes__meta span{ display:inline-flex; align-items:center; gap:7px; }
.am-promo-mes__meta .am-ico{ width:16px; height:16px; color:var(--am-beige); }
.am-promo-tarifa--mes .am-promo-tarifa__price strong{ font-size:clamp(2rem,2.6vw,2.5rem); }
.am-promo-mes__was{ font-family:var(--am-font-display); font-size:1.05rem; color:#e0d4c6; text-decoration-thickness:1.5px; }
.am-page .am-promo-tarifa--mes .am-promo-tarifa__note{ margin-top:12px; }

/* tarifas por 2, 3, 4, 5 y 6 personas: filas con puntos, como la carta de tarifas de mas abajo.
   Los tamanos seguidos con la misma tarifa comparten fila; el que la ficha no cubre dice "Consultar". */
.am-promo-pax{ margin-top:16px; padding-top:14px; border-top:1px solid rgba(225,197,175,.22); }
.am-page .am-promo-pax__label{ margin:0 0 8px; font-family:var(--am-font-display); font-size:max(.72rem,11.5px); font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; color:var(--am-beige); }
.am-promo-pax__list{ display:flex; flex-direction:column; gap:2px; list-style:none; margin:0; padding:0; }
.am-page .am-promo-pax__item{ display:flex; align-items:baseline; gap:10px; margin:0; padding:5px 0; list-style:none;
  font-family:var(--am-font-display); font-size:.95rem; color:#e9dfd2; }
.am-promo-pax__n{ display:flex; align-items:baseline; gap:10px; flex:1; min-width:0; }
.am-promo-pax__n::after{ content:""; flex:1; min-width:18px; border-bottom:1px dotted rgba(225,197,175,.38); transform:translateY(-4px); }
.am-promo-pax__v{ flex:0 0 auto; font-size:1.05rem; font-weight:600; color:#fff; font-variant-numeric:tabular-nums; white-space:nowrap; }
.am-promo-pax__item.is-ask .am-promo-pax__v{ font-size:.92rem; font-weight:500; color:var(--am-beige); }

/* vigencia (solo si la ficha esta rebajada con fecha de fin) */
.am-page .am-promo-mes__hasta{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0 6px; margin:14px 0 0;
  font-family:var(--am-font-display); font-size:.95rem; line-height:1.5; color:var(--am-beige); }
.am-promo-mes__hasta strong{ font-weight:700; color:#fff; font-variant-numeric:tabular-nums; }

.am-page .am-promo-mes__acts{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0 20px; margin:6px 0 0; }
.am-page .am-promo-mes__all{ display:inline-flex; align-items:center; min-height:44px; font-family:var(--am-font-display); font-size:.92rem;
  color:#d8ccbe !important; text-decoration:underline; text-decoration-color:rgba(225,197,175,.35); text-underline-offset:5px; }
.am-page .am-promo-mes__all:hover{ color:var(--am-beige) !important; text-decoration-color:var(--am-beige); }

/* Sitio del selector nacional / extranjero. Lo imprime el mecanismo de core.php cuando exista
   (do_action 'am_promo_audience_ui', en la tarjeta del mes y en cada tarjeta de tarifas). Si ese
   control sale envuelto en .am-promo-aud ya entra con su aire; mientras nadie lo imprima, nada ocupa sitio. */
.am-promo-tarifa--mes .am-promo-aud{ margin:14px 0 0; }
.am-promo-rate .am-promo-aud{ margin:2px 0 6px; }

/* sin promocion y sin tarifas legibles: cabecera a una columna, sin hueco donde iba la tarjeta */
.am-promo-lead--solo .am-promo-lead__inner{ grid-template-columns:minmax(0,1fr); }
@media (min-width:900px){
  .am-promo-lead--solo .am-promo-lead__inner{ grid-template-columns:minmax(0,1fr); }
  .am-page .am-promo-lead--solo .am-promo-lead__text{ max-width:54ch; }
  .am-page .am-promo-lead--solo .am-promo-lead__title{ max-width:18ch; }
}
@media (max-width:899.98px){
  .am-promo-tarifa--mes{ max-width:none; }
}
@media (max-width:559.98px){
  .am-page .am-promo-mes__meta{ gap:4px 14px; font-size:.88rem; }
  .am-page .am-promo-pax__item{ font-size:.92rem; }
  .am-promo-pax__v{ font-size:1rem; }
}

/* ------------------------------ MIGAS DE PAN ------------------------------ */
/* page.css no se carga en esta vista: estilos propios, en claro (sobre cafe) y en oscuro (sobre crema) */
.am-page .am-promo-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:0 10px; margin:0 0 clamp(18px,2.4vw,28px); font-family:var(--am-font-display); font-size:.9rem; color:#cfc5b8; }
.am-page .am-promo-crumbs a,
.am-page .am-promo-crumbs span{ display:inline-flex; align-items:center; min-height:40px; }
.am-page .am-promo-crumbs a{ min-width:44px; justify-content:center; margin-inline:-4px; padding-inline:4px; color:#fff !important; text-decoration:underline; text-decoration-color:rgba(225,197,175,.5); text-underline-offset:4px; }
.am-page .am-promo-crumbs a:hover{ text-decoration-color:var(--am-beige); }
.am-page .am-promo-offers .am-promo-crumbs{ color:var(--am-muted); }
.am-page .am-promo-offers .am-promo-crumbs a{ color:var(--am-green) !important; text-decoration-color:rgba(55,70,49,.35); }

/* ------------------------ MIENTRAS MAS, MEJOR PRECIO -----------------------
   29-sep: texto centrado arriba y, debajo, el carrusel de experiencias (antes: dos columnas con la
   lista larga de tarjetas a la derecha). */
.am-promo-rates{ overflow:hidden; }
.am-promo-rates__intro{ position:relative; z-index:2; max-width:780px; margin:0 auto; text-align:center; }
.am-page .am-promo-rates__intro .am-h2,
.am-page .am-promo-rates__intro .am-display{ max-width:none; margin:0 auto; color:#fff; }
.am-promo-rates__intro .am-title-duo__strong{ font-size:.8em; line-height:1.02; }
.am-promo-rates__intro .am-title-duo__light{ color:#FAEDE4; }
.am-page .am-promo-rates__intro .am-promo-rates__lead{ margin:clamp(20px,2.4vw,28px) auto 0; max-width:60ch; }
.am-page .am-promo-rates__note{ margin:16px auto 0; max-width:60ch; font-size:.95rem; line-height:1.6; color:#cfc5b8; }

.am-promo-rates__list{ display:flex; flex-direction:column; gap:clamp(18px,2vw,26px); min-width:0; }
.am-promo-rate{ --rp:clamp(20px,3vw,32px); display:grid; gap:clamp(18px,1.6vw,24px); padding:var(--rp); overflow:hidden; border-radius:var(--am-r-lg);
  background:var(--am-green-800); border:1px solid rgba(225,197,175,.14); transition:border-color .4s var(--am-ease); }
.am-promo-rate:hover{ border-color:rgba(225,197,175,.38); }
.am-promo-rate__head{ display:flex; align-items:flex-start; gap:18px; }
.am-promo-rate .am-promo-rate__thumb{ flex:0 0 auto; display:grid; place-items:center; width:72px; height:72px; overflow:hidden; border-radius:var(--am-r); }
.am-promo-rate__thumb img{ width:100%; height:100%; object-fit:cover; transition:scale 1s var(--am-ease); }
.am-promo-rate:hover .am-promo-rate__thumb img{ scale:1.1; }
.am-promo-rate__thumb .am-brand{ width:auto; height:46px; color:#FAEDE4; }
.am-promo-rate__thumb--terracotta{ background:var(--am-terracotta); }
.am-promo-rate__thumb--olive{ background:var(--am-olive); }
.am-promo-rate__thumb--wine{ background:var(--am-wine); }
.am-promo-rate__info{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.am-page .am-promo-rate__title{ margin:0; font-size:clamp(1.3rem,2vw,1.65rem); line-height:1.1; color:#fff; }
.am-page .am-promo-rate__title a{ display:inline-block; padding-block:7px; color:inherit !important; }
.am-page .am-promo-rate__sub{ margin:0; font-size:1rem; line-height:1.45; color:#e3d8cb; }
.am-promo-rate__meta{ display:inline-flex; align-items:center; gap:6px; font-size:.92rem; color:#cfc5b8; }
.am-promo-rate__meta .am-ico{ width:16px; height:16px; color:var(--am-beige); }


/* banda de foto real en la tarjeta de tarifas (a sangre de la tarjeta, texto sobre degradado) */
.am-promo-rate--photo{ padding-top:0; }
.am-promo-rate .am-promo-rate__media{ position:relative; display:block; margin:0 calc(var(--rp) * -1); aspect-ratio:16/8; border-radius:0 !important; background:var(--am-coffee); }
.am-promo-rate__media img{ width:100%; height:100%; object-fit:cover; transition:scale 1.3s var(--am-ease); }
.am-promo-rate--photo:hover .am-promo-rate__media img{ scale:1.04; }
.am-promo-rate__media::after{ content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,rgba(18,13,10,.14) 0%,rgba(18,13,10,.04) 36%,rgba(18,13,10,.86) 100%); }
.am-promo-rate__over{ position:absolute; z-index:1; inset:auto 0 0; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:10px 18px; padding:14px var(--rp) 16px; }
.am-promo-rate__chip{ display:inline-flex; align-items:center; gap:7px; padding:7px 14px; border-radius:var(--am-r-pill); background:rgba(23,17,13,.6);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); font-family:var(--am-font-display); font-size:.9rem; color:#FAEDE4; }
.am-promo-rate__chip .am-ico{ width:16px; height:16px; color:var(--am-beige); }
.am-promo-rate__from{ display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:0 7px; font-family:var(--am-font-display); color:#fff; }
.am-promo-rate__from small{ font-size:.85rem; font-weight:500; color:#e9dfd2; }
.am-promo-rate__from strong{ font-size:1.55rem; font-weight:600; letter-spacing:-.015em; color:#fff; font-variant-numeric:tabular-nums; }
.am-promo-rate--photo .am-promo-rate__head{ padding-top:2px; }
@media (max-width:559.98px){
  .am-promo-rate .am-promo-rate__media{ aspect-ratio:16/9; }
  .am-promo-rate__from strong{ font-size:1.35rem; }
}

/* tabla tipo carta: personas ....... precio */
.am-promo-table-wrap{ min-width:0; }
.am-page .am-promo-table{ width:100%; margin:0; border:0; border-collapse:collapse; background:transparent; font-size:.95rem; table-layout:auto; }
.am-page .am-promo-table th,
.am-page .am-promo-table td{ padding:12px 0; border:0; background:transparent; text-align:left; vertical-align:baseline; color:#e9e1d6; }
.am-page .am-promo-table thead th{ padding:0 0 8px; border-bottom:1px solid rgba(225,197,175,.14); font-family:var(--am-font-display); font-size:max(.75rem,12px); font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:#cfc5b8; }
.am-page .am-promo-table thead th.am-promo-table__price-h{ text-align:right; white-space:nowrap; letter-spacing:.06em; }
/* el encabezado no ensancha la columna: la columna mide lo que mide el precio y los puntos llegan hasta el */
.am-page .am-promo-table thead th.am-promo-table__price-h{ width:1%; padding-left:0; }
.am-promo-table__price-h span{ display:block; width:0; margin-left:auto; direction:rtl; white-space:nowrap; }
.am-page .am-promo-table tbody th{ font-family:var(--am-font-display); font-size:1rem !important; font-weight:500; line-height:1.3; white-space:nowrap; }
.am-promo-table__pax{ display:flex; align-items:baseline; gap:12px; }
.am-promo-table__pax::after{ content:""; flex:1; min-width:24px; border-bottom:1px dotted rgba(225,197,175,.35); transform:translateY(-4px); }
.am-page .am-promo-table td.am-promo-table__price{ width:1%; padding-left:12px; text-align:right; white-space:nowrap; }
.am-promo-table__price strong{ font-family:var(--am-font-display); font-size:1.15rem; font-weight:500; color:#fff; font-variant-numeric:tabular-nums; }
.am-page .am-promo-table tr.is-best th{ color:var(--am-beige); font-weight:600; }
.am-promo-table tr.is-best .am-promo-table__price strong{ color:var(--am-beige); font-weight:700; }

/* una ficha con varias opciones ("3 dias / 2 noches", "Recorrido en ingles"): cada bloque lleva su titulo
   y su tabla. La marca "== ... ==" del administrador nunca se imprime como fila. */
.am-promo-opt{ display:grid; gap:12px; min-width:0; }
.am-promo-opt + .am-promo-opt{ padding-top:clamp(16px,1.8vw,22px); border-top:1px solid rgba(225,197,175,.14); }
.am-page .am-promo-opt__title{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:2px 14px; margin:0;
  font-family:var(--am-font-display); font-size:clamp(1.02rem,1.3vw,1.14rem); font-weight:600; line-height:1.25; letter-spacing:-.005em; color:#FAEDE4; }
.am-promo-opt__from{ font-size:.88rem; font-weight:500; white-space:nowrap; color:var(--am-beige); font-variant-numeric:tabular-nums; }
@media (max-width:559.98px){
  .am-promo-rate{ --rp:16px; padding:20px var(--rp); }
  .am-promo-rate .am-rc{ padding:18px 14px; }
  .am-promo-rate .am-rc__wa{ padding:0 14px; gap:8px; font-size:.94rem; letter-spacing:0; }
}

.am-promo-rate .am-promo-rate__calc{ margin:2px 0 0; }
.am-promo-rate__foot{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 20px; padding-top:6px; border-top:1px solid rgba(225,197,175,.14); }
.am-page .am-promo-rate__link{ display:inline-flex; align-items:center; gap:8px; min-height:44px; font-family:var(--am-font-display); font-size:.95rem; font-weight:600; color:var(--am-beige) !important; }
.am-promo-rate__link .am-ico{ width:18px; height:18px; transition:transform .45s var(--am-ease); }
.am-promo-rate__link:hover .am-ico{ transform:translateX(4px); }
.am-page .am-promo-rate--empty p{ margin:0; }



/* ------------------ CARRUSEL DE EXPERIENCIAS (Mientras mas, mejor precio) ------------------
   Lo arranca el JS de promociones.php: avance solo en modo "full"; flechas y arrastre siempre.
   Sin Swiper (o antes de que cargue) es un carril con desplazamiento nativo y encaje por tarjeta. */
.am-promo-exps{ position:relative; z-index:2; margin-top:clamp(36px,5vw,60px); }
.am-page .am-promo-exps__swiper{ overflow:visible; }
.am-promo-exps__swiper:not(.swiper-initialized){ overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.am-promo-exps__swiper:not(.swiper-initialized)::-webkit-scrollbar{ display:none; }
.am-promo-exps__swiper:not(.swiper-initialized) .swiper-wrapper{ gap:14px; }
.am-promo-exps__swiper:not(.swiper-initialized) .am-promo-exps__slide{ flex:0 0 86%; scroll-snap-align:start; }
@media (min-width:640px){ .am-promo-exps__swiper:not(.swiper-initialized) .am-promo-exps__slide{ flex-basis:46%; } }
@media (min-width:1024px){ .am-promo-exps__swiper:not(.swiper-initialized) .am-promo-exps__slide{ flex-basis:31.5%; } }
.am-promo-exps .am-promo-exps__slide{ height:auto; }
/* las tarjetas que quedan fuera del contenedor se apagan un poco: se lee que el carril sigue */
.am-promo-exps.is-ready .am-promo-exps__slide{ transition:opacity .6s var(--am-ease); }
.am-promo-exps.is-ready .am-promo-exps__slide:not(.swiper-slide-visible){ opacity:.45; }

.am-promo-exp{ display:flex; flex-direction:column; height:100%; overflow:hidden; border-radius:var(--am-r-lg);
  background:var(--am-green-800); border:1px solid rgba(225,197,175,.14); transition:border-color .4s var(--am-ease), transform .6s var(--am-ease); }
.am-promo-exp:hover{ border-color:rgba(225,197,175,.4); }
.am-page .am-promo-exp .am-promo-exp__media{ position:relative; display:grid; place-items:center; aspect-ratio:4/3; margin:0; border-radius:0; background:var(--am-coffee); }
.am-promo-exp__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:scale 1.3s var(--am-ease); }
.am-promo-exp:hover .am-promo-exp__media img{ scale:1.05; }
.am-promo-exp__media::after{ content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(18,13,10,0) 55%,rgba(18,13,10,.55) 100%); }
.am-promo-exp__media--terracotta{ background:var(--am-terracotta); }
.am-promo-exp__media--olive{ background:var(--am-olive); }
.am-promo-exp__media--wine{ background:var(--am-wine); }
.am-promo-exp__leaf{ width:auto; height:64px; color:#FAEDE4; opacity:.8; }
.am-promo-exp__chip{ position:absolute; z-index:1; left:14px; bottom:14px; right:14px; justify-self:start; display:inline-flex; align-items:center; gap:7px; max-width:calc(100% - 28px);
  padding:7px 14px; border-radius:var(--am-r-pill); background:rgba(23,17,13,.62); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  font-family:var(--am-font-display); font-size:.88rem; line-height:1.25; color:#FAEDE4; width:max-content; }
.am-promo-exp__chip .am-ico{ flex:0 0 auto; width:16px; height:16px; color:var(--am-beige); }

.am-promo-exp__body{ display:flex; flex-direction:column; flex:1; gap:10px; padding:clamp(20px,2vw,26px) clamp(20px,2vw,26px) clamp(14px,1.4vw,18px); min-width:0; }
.am-page .am-promo-exp__cat{ margin:0; font-family:var(--am-font-display); font-size:max(.76rem,12px); font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--am-beige); }
.am-page .am-promo-exp__title{ margin:0; font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem); line-height:1.12; letter-spacing:-.012em; color:#fff; }
.am-page .am-promo-exp__title a{ color:inherit !important; text-decoration:none; background:linear-gradient(currentColor,currentColor) 0 100% / 0 1.5px no-repeat; transition:background-size .7s var(--am-ease); }
.am-page .am-promo-exp__title a:hover{ background-size:100% 1.5px; }
.am-page .am-promo-exp__from{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0 7px; margin:0; font-family:var(--am-font-display); color:#fff; }
.am-promo-exp__from small{ font-size:.86rem; font-weight:500; color:#e3d8cb; }
.am-promo-exp__from strong{ font-size:1.6rem; font-weight:600; line-height:1.1; letter-spacing:-.015em; font-variant-numeric:tabular-nums; }
.am-promo-exp__rates{ margin-top:2px; padding-top:12px; border-top:1px solid rgba(225,197,175,.16); }
.am-page .am-promo-exp__opt{ margin:0 0 4px; font-family:var(--am-font-display); font-size:max(.74rem,11.5px); font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:#cfc5b8; }
.am-promo-exp__list{ display:flex; flex-direction:column; list-style:none; margin:0; padding:0; }
.am-page .am-promo-exp__row{ display:flex; align-items:baseline; gap:10px; margin:0; padding:5px 0; list-style:none; font-family:var(--am-font-display); font-size:.95rem; color:#e9e1d6; }
.am-promo-exp__pax{ display:flex; align-items:baseline; gap:10px; flex:1; min-width:0; }
.am-promo-exp__pax::after{ content:""; flex:1; min-width:16px; border-bottom:1px dotted rgba(225,197,175,.35); transform:translateY(-4px); }
.am-promo-exp__price{ flex:0 0 auto; font-size:1.02rem; font-weight:500; color:#fff; font-variant-numeric:tabular-nums; white-space:nowrap; }
.am-promo-exp__row.is-best .am-promo-exp__pax{ color:var(--am-beige); font-weight:600; }
.am-promo-exp__row.is-best .am-promo-exp__price{ color:var(--am-beige); font-weight:700; }
.am-page .am-promo-exp__link{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; min-height:44px; margin-top:auto; padding-top:6px;
  font-family:var(--am-font-display); font-size:.98rem; font-weight:600; color:var(--am-beige) !important;
  text-decoration:underline; text-decoration-color:rgba(225,197,175,.45); text-underline-offset:6px; text-decoration-thickness:1.5px; }
.am-page .am-promo-exp__link:hover{ text-decoration-color:var(--am-beige); }
.am-promo-exp__link .am-ico{ width:18px; height:18px; transition:transform .45s var(--am-ease); }
.am-promo-exp__link:hover .am-ico{ transform:translateX(4px); }
.am-page .am-promo-exp :focus-visible{ outline-color:var(--am-beige); }

/* controles: barra de avance + pausa + flechas */
.am-promo-exps__ctrl{ display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:clamp(22px,3vw,34px); }
.am-promo-exps__bar{ position:relative; flex:1; height:2px; margin-right:clamp(8px,2vw,24px); overflow:hidden; border-radius:2px; background:rgba(225,197,175,.2); }
.am-promo-exps__fill{ position:absolute; inset:0; background:var(--am-beige); transform:scaleX(.12); transform-origin:0 50%; transition:transform .6s var(--am-ease); }
.am-promo-exps__swiper:not(.swiper-initialized) ~ .am-promo-exps__ctrl{ display:none; }
.am-page button.am-promo-exps__pause[hidden]{ display:none !important; }
.am-promo-exps__pause .am-promo-exps__i-play{ display:none; }
.am-promo-exps__pause.is-paused .am-promo-exps__i-play{ display:block; }
.am-promo-exps__pause.is-paused .am-promo-exps__i-pause{ display:none; }
.am-promo-exps__pause .am-ico{ width:18px; height:18px; margin:0 auto; }
@media (max-width:559.98px){
  .am-page .am-promo-exps__ctrl button.am-round{ width:46px !important; height:46px !important; }
  .am-promo-exp__chip{ font-size:.84rem; }
}

/* ---------------------------- PROGRAMAS A MEDIDA --------------------------- */
.am-page .am-promo-programs .am-promo-head .am-h2{ max-width:14ch; margin:0; }
.am-promo-progs{ list-style:none; margin:0; padding:0; border-bottom:1px solid rgba(55,70,49,.18); }
.am-page .am-promo-prog{ display:grid; grid-template-columns:clamp(4.5rem,8vw,7rem) minmax(0,1fr); gap:14px clamp(24px,3vw,44px); align-items:baseline;
  margin:0; padding-block:clamp(32px,4.4vw,60px); list-style:none; border-top:1px solid rgba(55,70,49,.18); }
.am-promo-prog__n{ font:300 clamp(3rem,6vw,5.5rem)/1 'Jost',sans-serif; letter-spacing:-.03em; color:#A2573A; font-variant-numeric:tabular-nums; }
.am-page .am-promo-prog__title{ margin:0 0 10px; max-width:24ch; font-size:clamp(1.45rem,2.4vw,2.1rem); font-weight:600; line-height:1.1; letter-spacing:-.012em; color:var(--am-green); }
.am-page .am-promo-prog__text{ margin:0; max-width:54ch; font-size:1.05rem; line-height:1.65; color:#4d544b; }
.am-page .am-promo-prog__link{ display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:12px; font-family:var(--am-font-display); font-size:1rem; font-weight:600; white-space:nowrap;
  color:var(--am-green) !important; text-decoration:underline; text-decoration-color:rgba(162,87,58,.45); text-underline-offset:6px; text-decoration-thickness:1.5px; }
.am-promo-prog__link span{ display:inline-block; transition:transform .45s var(--am-ease); }
.am-promo-prog__link .am-ico{ flex:0 0 auto; width:20px; height:20px; color:#A2573A; }
.am-promo-prog__link:hover span{ transform:translateX(4px); }
.am-promo-prog__link:hover{ text-decoration-color:#A2573A; }

/* foto real del programa (colegios / convivencia con la familia) */
.am-promo-prog .am-promo-prog__ph{ margin:0; align-self:start; width:100%; aspect-ratio:16/10; border-radius:var(--am-r); background:var(--am-green-800); }
.am-promo-prog__ph img{ width:100%; height:100%; object-fit:cover; transition:scale 1.2s var(--am-ease); }
.am-promo-prog:hover .am-promo-prog__ph img{ scale:1.04; }

@media (min-width:900px){
  /* la foto alterna de lado para que la lista no se lea como una cuadricula */
  .am-page .am-promo-prog--photo{ grid-template-columns:clamp(4.5rem,8vw,7rem) minmax(0,1fr) clamp(230px,26vw,360px); }
  .am-page .am-promo-prog--photo:nth-child(even){ grid-template-columns:clamp(230px,26vw,360px) clamp(4.5rem,8vw,7rem) minmax(0,1fr); }
  .am-promo-prog--photo:nth-child(even) .am-promo-prog__ph{ grid-column:1; grid-row:1; }
  .am-promo-prog--photo:nth-child(even) .am-promo-prog__n{ grid-column:2; }
  .am-promo-prog--photo:nth-child(even) .am-promo-prog__body{ grid-column:3; }
  .am-promo-prog .am-promo-prog__ph{ aspect-ratio:4/3; }
}
@media (max-width:899.98px){
  .am-promo-prog .am-promo-prog__ph{ grid-column:1 / -1; margin-top:8px; max-width:560px; }
}
@media (max-width:599.98px){
  .am-page .am-promo-prog{ grid-template-columns:minmax(0,1fr); gap:8px; }
  .am-promo-prog__n{ font-size:3.2rem; }
  .am-page .am-promo-prog__link{ justify-self:start; }
}

/* -------------------------- CIERRE UNICO (terracota) ----------------------- */
.am-promo-final{ position:relative; overflow:hidden; isolation:isolate; padding-block:var(--am-sec-y); background:#A2573A; color:#FAEDE4; }
.am-promo-final .am-promo-final__bird{ position:absolute; z-index:-1; right:clamp(-120px,-6vw,-40px); bottom:-14%; width:auto; height:clamp(240px,34vw,500px); color:#FAEDE4; opacity:.16; pointer-events:none; }
.am-promo-final__inner{ position:relative; }
.am-page .am-promo-final__title{ margin:0; max-width:20ch; color:#FAEDE4 !important; }
.am-page .am-promo-final__text{ margin:18px 0 0; font-size:1.1rem; line-height:1.6; color:#FAEDE4; }
.am-promo-final__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 28px; margin-top:clamp(26px,3vw,36px); }
.am-page .am-promo-final__form{ display:inline-flex; align-items:center; min-height:44px; font-family:var(--am-font-display); font-size:1rem; font-weight:500; color:#FAEDE4 !important;
  text-decoration:underline; text-decoration-color:rgba(250,237,228,.55); text-underline-offset:6px; }
.am-page .am-promo-final__form:hover{ text-decoration-color:#FAEDE4; }
.am-page .am-promo-final__form{ gap:9px; }
.am-promo-final__form .am-ico{ flex:0 0 auto; width:20px; height:20px; }
.am-page .am-promo-final :focus-visible{ outline-color:#FAEDE4; }
@media (max-width:559.98px){
  .am-promo-final .am-promo-final__bird{ height:190px; right:-56px; top:-28px; bottom:auto; opacity:.14; }
  .am-promo-final__actions .am-btn{ width:100%; }
}

/* ------------------------------ MOVIMIENTO REDUCIDO ------------------------ */
/* Tambien con el interruptor del sitio (html.am-no-motion), salvo si se fuerza con html.am-motion-force. */
@media (prefers-reduced-motion:reduce){
  .am-promo-card__media img, .am-promo-rate__thumb img, .am-promo-rate__media img, .am-promo-prog__ph img,
  .am-promo-prog__link span, .am-promo-tarifa__link .am-ico, .am-promo-mes__title a{ transition:none; }
  .am-promo-rate--photo:hover .am-promo-rate__media img, .am-promo-prog:hover .am-promo-prog__ph img{ scale:1; }
  .am-promo-exp__media img, .am-promo-exp__link .am-ico, .am-promo-exps__fill, .am-promo-exps__slide{ transition:none; }
  .am-promo-exp:hover .am-promo-exp__media img{ scale:1; }
}
html.am-no-motion:not(.am-motion-force) :is(.am-promo-card__media img,.am-promo-rate__thumb img,.am-promo-rate__media img,.am-promo-prog__ph img,.am-promo-prog__link span,.am-promo-tarifa__link .am-ico,.am-promo-mes__title a){ transition:none; }
html.am-no-motion:not(.am-motion-force) :is(.am-promo-exp__media img,.am-promo-exp__link .am-ico,.am-promo-exps__fill,.am-promo-exps__slide,.am-promo-exp__title a){ transition:none !important; }
html.am-no-motion:not(.am-motion-force) .am-promo-exp:hover .am-promo-exp__media img{ scale:1; }
html.am-no-motion:not(.am-motion-force) .am-promo-rate--photo:hover .am-promo-rate__media img,
html.am-no-motion:not(.am-motion-force) .am-promo-prog:hover .am-promo-prog__ph img{ scale:1; }

/* =========================================================================
   r26 · PROMOCIONES MENOS INVASIVAS (pedido del cliente, 1-oct)
   "Se ve muy invasivo, lo que hablabamos de los margenes y proporciones" y "el carrusel no puedo
   moverlo con el mouse, debo hacer clic y arrastrar".
   - El carrusel ya no sangra hasta el borde de la ventana: se corta en el margen del contenedor.
   - En computadora entran 4 tarjetas mas bajas (foto 16/10) y el encabezado va en dos columnas,
     asi la seccion con sus flechas cabe en la pantalla de una laptop.
   - Flechas siempre a la vista bajo las tarjetas, con la barra de avance; ademas se mueve con la
     rueda horizontal del mouse o el trackpad (promociones.php, Swiper mousewheel).
   ========================================================================= */
@media (min-width:1025px){
  .am-page .am-promo-exps__swiper{ overflow:hidden; border-radius:var(--am-r-lg); }
  .am-promo-exps.is-ready .am-promo-exps__slide:not(.swiper-slide-visible){ opacity:1; }
  .am-promo-exps{ margin-top:clamp(22px,min(3.4vw,4.4vh),48px); }
  .am-page .am-promo-exp .am-promo-exp__media{ aspect-ratio:16/10; }
  .am-promo-exp__body{ gap:8px; padding:clamp(16px,1.6vw,22px) clamp(16px,1.6vw,22px) clamp(10px,1vw,14px); }
  .am-page .am-promo-exp__title{ font-size:clamp(1.15rem,1.3vw,1.4rem); }
  .am-promo-exp__from strong{ font-size:1.35rem; }
  .am-page .am-promo-exp__row{ padding:3px 0; font-size:.92rem; }
  /* flechas, pausa y barra ARRIBA de las tarjetas: siempre a la vista apenas aparece el carrusel */
  .am-promo-exps{ position:relative; padding-top:68px; }
  .am-promo-exps__ctrl{ position:absolute; top:0; left:var(--am-gutter); right:var(--am-gutter); margin:0; }
  .am-page .am-promo-exps__ctrl button.am-round{ width:50px !important; height:50px !important; }

  /* encabezado en dos columnas: titulo a la izquierda, texto a la derecha */
  .am-promo-rates__intro{ max-width:none; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); column-gap:clamp(32px,5vw,80px); align-items:end; text-align:left; }
  .am-page .am-promo-rates__intro .am-h2, .am-page .am-promo-rates__intro .am-display{ grid-column:1; grid-row:1 / span 2; margin:0; }
  .am-page .am-promo-rates__intro .am-promo-rates__lead{ grid-column:2; margin:0; max-width:56ch; font-size:clamp(1rem,1.25vw,1.15rem) !important; }
  .am-page .am-promo-rates__note{ grid-column:2; margin:10px 0 0; max-width:56ch; }

  /* Programas a medida: fila mas baja y foto apaisada */
  .am-page .am-promo-prog{ padding-block:clamp(22px,min(3.4vw,4.4vh),60px); }
  .am-promo-prog .am-promo-prog__ph{ aspect-ratio:16/10; }
  .am-promo-head{ margin-bottom:clamp(22px,min(4vw,4.4vh),64px); }
}

/* r29: en laptops de poca altura (o con la barra de marcadores abierta) la tarjeta de tarifas no entraba completa:
   foto mas baja y menos aire, para que se vea entera con "Ver experiencia" (medido: 1366x657 y 1536x666 caben). */
@media (min-width:1024px) and (max-height:820px){
  .am-page .am-promo-exp__media{ aspect-ratio:auto !important; height:clamp(110px,19svh,165px) !important; }
  .am-page .am-promo-exp__body{ padding-top:14px !important; padding-bottom:12px !important; gap:4px !important; }
  .am-page .am-promo-exp__rates{ padding-top:6px !important; }
  .am-page .am-promo-exp__rates > *{ padding-top:5px !important; padding-bottom:5px !important; }
  .am-page .am-promo-exp__link{ margin-top:auto !important; padding-top:10px !important; }
}

/* r31 (reunion del 2-oct): ventana de la promocion. La abre «Más información» en el carrusel cuando la ficha tiene
   «Imagen de la promoción»; la imagen la arma el cliente con precio, fechas y condiciones. */
.am-promo-dlg{ width:min(760px, calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 24px); margin:auto; padding:0; border:0;
  border-radius:var(--am-r-lg, 24px); background:#FAEDE4; color:#251E18; box-shadow:0 30px 80px -20px rgba(0,0,0,.6); overflow:hidden; }
.am-promo-dlg::backdrop{ background:rgba(20,16,12,.74); }
.am-promo-dlg__box{ display:flex; flex-direction:column; max-height:calc(100dvh - 24px); overflow:auto; overscroll-behavior:contain; }
.am-promo-dlg__head{ position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:10px 12px 10px 20px; background:#FAEDE4; border-bottom:1px solid rgba(37,30,24,.1); }
.am-page .am-promo-dlg__t{ margin:0; font-family:var(--am-font-display); font-size:1.08rem; font-weight:600; line-height:1.3; letter-spacing:0; text-transform:none; color:#251E18; }
.am-promo-dlg .am-promo-dlg__x{ flex:none; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-height:0 !important;
  padding:0 !important; border:0 !important; border-radius:50% !important; background:#251E18 !important; color:#FAEDE4 !important; cursor:pointer; line-height:1 !important; }
.am-promo-dlg .am-promo-dlg__x:hover, .am-promo-dlg .am-promo-dlg__x:focus-visible{ background:var(--am-terracotta, #A2573A) !important; }
.am-promo-dlg__img{ display:flex; justify-content:center; background:#EFE3D6; }
/* la imagen entera a la vista (las promociones suelen ser verticales): alto maximo = pantalla menos cabecera y botones */
.am-promo-dlg__img img{ display:block; width:auto; max-width:100%; height:auto; max-height:calc(100dvh - 200px); border-radius:0; }
.am-promo-dlg__acts{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; padding:16px 20px 20px; }
.am-page .am-promo-dlg__more{ font-family:var(--am-font-display); font-weight:600; color:var(--am-terracotta, #A2573A) !important;
  text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:5px; }
@media (max-width:560px){ .am-promo-dlg__acts .am-btn{ width:100%; justify-content:center; } }
@media (prefers-reduced-motion:no-preference){ .am-promo-dlg[open]{ animation:am-promo-dlg-in .35s cubic-bezier(.22,.61,.36,1) both; } }
@keyframes am-promo-dlg-in{ from{ opacity:0; transform:translateY(14px) scale(.985); } to{ opacity:1; transform:none; } }
html.am-no-motion:not(.am-motion-force) .am-promo-dlg[open]{ animation:none; }
