/* V20 Promotions: La Mesa de Loteria, scoped to the named page template. */
.v20-promos { overflow: clip; background: var(--lt-crema); color: var(--lt-tinta); }
.v20-promos-section { scroll-margin-top: calc(var(--v20-header-h) + var(--sp-3)); }
.v20-promos > .v20-promos-header { background: var(--lt-crema) !important; color: var(--lt-tinta) !important; }
.v20-promos > .v20-promos-ayce { background: var(--lt-rouge) !important; }
.v20-promos > .v20-promos-evening { background: var(--lt-noche) !important; color: var(--lt-crema) !important; }
.v20-promos > .v20-promos-conditions { background: var(--lt-crema-deep) !important; color: var(--lt-tinta) !important; }
.v20-promos > .v20-promos-faq,
.v20-promos > .v20-promos-cross-sell { background: var(--lt-crema) !important; color: var(--lt-tinta) !important; }
.v20-promos-section__head { max-width: var(--wrap-text); margin: 0 0 var(--sp-7); }
.v20-promos-section__head h2 { color: var(--lt-crema); }
.v20-promos-section__head p { margin: var(--sp-3) 0 0; color: var(--lt-crema-soft); font-size: var(--fs-body-lg); }

.v20-promos .v20-promos-breadcrumb {
  display: flex; align-items: center; gap: var(--sp-2); min-width: 0; margin-bottom: var(--sp-6);
  overflow-x: auto; color: var(--lt-ink-soft); font-size: var(--fs-caption); white-space: nowrap;
}
.v20-promos .v20-promos-breadcrumb a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: var(--lt-ink-soft); }
.v20-promos-header { padding-block: var(--sp-5) var(--sp-8); background: var(--lt-crema); }
.v20-promos-header__inner { max-width: calc(var(--wrap-text) + (2 * var(--gutter))); }
.v20-promos-header h1 { max-width: 16ch; color: var(--lt-tinta); }
.v20-promos-header__lead { max-width: 64ch; margin: var(--sp-5) 0 var(--sp-6); font-size: var(--fs-body-lg); }
.v20-promos-day-rail {
  display: flex; gap: var(--sp-2); width: 100%; margin-right: 0;
  padding: var(--sp-2) var(--sp-1) var(--sp-4); overflow-x: auto; overscroll-behavior-x: contain;
  scroll-padding-inline: var(--sp-1); scroll-snap-type: x mandatory; scrollbar-width: thin; -webkit-overflow-scrolling: touch;
}
.v20-promos-day {
  display: inline-flex; flex: 0 0 auto; flex-direction: column; align-items: center; justify-content: center;
  min-width: 64px; min-height: 56px; padding: .45rem .55rem; scroll-snap-align: start; border: 2px solid var(--lt-tinta);
  border-radius: var(--r-stamp); background: var(--lt-marigold); color: var(--lt-tinta); font-family: var(--font-display);
  font-feature-settings: "liga" 0, "clig" 0; font-variant-ligatures: none; letter-spacing: .06em; line-height: 1.12; text-decoration: none; transform: rotate(-2deg);
}
.v20-promos-day:nth-child(even) { transform: rotate(2deg); }
.v20-promos-day strong { font-size: var(--fs-label); font-weight: 400; }
.v20-promos-day span { font-family: var(--font-body); font-size: .625rem; font-weight: 700; letter-spacing: .03em; }
.v20-promos-day.is-today { min-width: 94px; background: var(--lt-rouge); color: var(--lt-crema); }

.v20-promos-ayce { padding-block: var(--sp-8); background: var(--lt-rouge); }
.v20-promos-card {
  position: relative; min-width: 0; padding: 1rem; border: var(--bw-frame); border-radius: var(--r-card);
  background: var(--lt-blanco); color: var(--lt-tinta);
  box-shadow: inset 0 0 0 5px var(--lt-blanco), inset 0 0 0 6px var(--lt-tinta), var(--shadow-card);
}
.v20-promos-card__index {
  position: absolute; top: .4rem; left: .4rem; z-index: 2; display: inline-grid; place-items: center;
  min-width: 44px; min-height: 44px; padding: .3rem; border: 2px solid var(--lt-tinta); border-radius: var(--r-stamp);
  background: var(--lt-marigold); color: var(--lt-tinta); font-family: var(--font-display); font-feature-settings: "liga" 0, "clig" 0;
  font-size: var(--fs-label); font-variant-ligatures: none; letter-spacing: .06em;
}
.v20-promos-card__media { aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--r-media); background: var(--lt-crema-deep); }
.v20-promos-card__media picture, .v20-promos-card__media img { display: block; width: 100%; height: 100%; }
.v20-promos-card__media img { object-fit: cover; }
.v20-promos-card__body { padding: var(--sp-5) var(--sp-4) var(--sp-3); }
.v20-promos-stamp {
  display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--sp-2); min-height: 44px;
  margin: 0 0 var(--sp-4); padding: .65rem .8rem; border: 2px solid var(--lt-tinta); border-radius: var(--r-stamp);
  background: var(--lt-marigold); color: var(--lt-tinta); font-family: var(--font-display); font-feature-settings: "liga" 0, "clig" 0; font-size: var(--fs-label);
  font-variant-ligatures: none; letter-spacing: .06em; line-height: 1.2; text-align: center; text-transform: uppercase; transform: rotate(-3deg);
}
.v20-promos-stamp.is-today { background: var(--lt-rouge); color: var(--lt-crema); }
.v20-promos-stamp span { font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: inherit; }
.v20-promos-card h2 { margin: 0 0 var(--sp-3); color: var(--lt-tinta); }
.v20-promos-card__offer { display: grid; gap: var(--sp-1); container-type: inline-size; }
.v20-promos-card__offer strong {
  color: var(--lt-rosa); font-family: var(--font-display); font-feature-settings: "liga" 0, "clig" 0; font-size: clamp(2rem, 18cqi, var(--fs-price-xl)); font-weight: 400;
  font-variant-ligatures: none; font-variant-numeric: tabular-nums; letter-spacing: .06em; line-height: 1.12;
}
.v20-promos-card__offer > span { font-size: var(--fs-label); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.v20-promos-card__condition { margin: var(--sp-3) 0 var(--sp-5); color: var(--lt-ink-soft); font-size: var(--fs-caption); }
.v20-promos-card__actions { display: flex; flex-direction: column; align-items: stretch; gap: var(--sp-2); }
.v20-promos-card__actions .v20-button { width: 100%; }
.v20-promos-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--lt-rosa-deep); font-weight: 700; }
.v20-promos-link--dark { margin-top: var(--sp-5); color: var(--lt-rosa-bright); }

.v20-promos-evening { padding-block: var(--sp-9); background: var(--lt-noche); color: var(--lt-crema); }
.v20-promos-evening__cards { display: grid; gap: var(--sp-6); }
.v20-promos-evening .v20-promos-card:nth-child(2) { transform: rotate(.4deg); }

.v20-promos-conditions { background: var(--lt-crema-deep); }
.v20-promos-conditions__inner { max-width: calc(var(--wrap-text) + (2 * var(--gutter))); padding-block: var(--sp-8); }
.v20-promos-conditions h2, .v20-promos-faq h2, .v20-promos-cross-sell h2 { color: var(--lt-rouge); }
.v20-promos-condition-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); padding: 0; margin: var(--sp-5) 0 0; list-style: none; border-top: var(--bw-hair); }
.v20-promos-condition-list li { display: flex; align-items: center; gap: var(--sp-3); min-height: 60px; padding-block: var(--sp-3); border-bottom: var(--bw-hair); font-weight: 600; }
.v20-promos-condition-list svg { flex: 0 0 28px; width: 28px; height: 28px; fill: none; stroke: var(--lt-rouge); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.v20-promos-reserve { padding-block: var(--sp-7); background: var(--lt-rosa); color: var(--lt-tinta); }
.v20-promos-reserve__inner { display: grid; gap: var(--sp-5); }
.v20-promos-reserve__inner > p { margin: 0; font-size: var(--fs-body-lg); font-weight: 700; }
.v20-promos-reserve__actions { display: grid; gap: var(--sp-2); }
.v20-promos-reserve .v20-button { width: 100%; border-color: var(--lt-tinta); background: var(--lt-tinta); color: var(--lt-crema); }
.v20-promos-reserve .v20-button:last-child { background: transparent; color: var(--lt-tinta); }

.v20-promos-faq { padding-block: var(--sp-8); background: var(--lt-crema); }
.v20-promos-faq__inner { max-width: calc(var(--wrap-text) + (2 * var(--gutter))); }
.v20-promos-faq__items { margin-top: var(--sp-5); border-top: var(--bw-hair); }
.v20-promos-faq details { border-bottom: var(--bw-hair); }
.v20-promos-faq summary {
  position: relative; display: flex; align-items: center; min-height: 56px; padding: var(--sp-3) 3rem var(--sp-3) 0;
  color: var(--lt-tinta) !important; font-weight: 600; cursor: pointer; list-style: none;
}
.v20-promos-faq summary::-webkit-details-marker { display: none; }
.v20-promos-faq summary span::before, .v20-promos-faq summary span::after {
  position: absolute; top: 50%; right: .25rem; width: 18px; height: 2px; background: var(--lt-rosa-deep); content: ""; transform: translateY(-50%);
}
.v20-promos-faq summary span::after { transform: translateY(-50%) rotate(90deg); transition: transform var(--duration-state) var(--ease-out); }
.v20-promos-faq details[open] summary span::after { transform: translateY(-50%) rotate(0); }
.v20-promos-faq details p { max-width: 70ch; margin: 0; padding: 0 var(--sp-7) var(--sp-5) 0; color: var(--lt-tinta) !important; }

.v20-promos-cross-sell { padding-block: var(--sp-8); background: var(--lt-crema); }
.v20-promos-cross-sell__head { max-width: var(--wrap-text); margin-bottom: var(--sp-5); }
.v20-promos-cross-sell__head p { margin: var(--sp-3) 0 0; }
.v20-promos-cross-sell__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); }
.v20-promos-cross-card {
  display: block; min-width: 0; padding: .45rem; border: var(--bw-frame); border-radius: var(--r-card);
  background: var(--lt-blanco); color: var(--lt-tinta); text-decoration: none; box-shadow: var(--shadow-card);
}
.v20-promos-cross-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r-media); }
.v20-promos-cross-card__media picture, .v20-promos-cross-card__media img { display: block; width: 100%; height: 100%; }
.v20-promos-cross-card__media img { object-fit: cover; }
.v20-promos-cross-card strong { display: block; padding: var(--sp-3) var(--sp-1); font-size: clamp(1rem, .85rem + .75vw, var(--fs-card)); overflow-wrap: anywhere; }
.v20-promos-cross-sell__locations { margin-top: var(--sp-4); }

@media (min-width: 768px) {
  .v20-promos-card__actions { flex-direction: row; align-items: center; }
  .v20-promos-card__actions .v20-button { width: auto; }
  .v20-promos-reserve__actions { grid-template-columns: repeat(2, max-content); }
  .v20-promos-reserve .v20-button { width: auto; }
  .v20-promos-cross-sell__grid { gap: var(--sp-5); }
}

@media (max-width: 767px) {
  body.page-template-page-promotions .v20-sticky-actions { width: 100%; min-width: 0; max-width: 100vw; }
}

@media (max-width: 359px) {
  .v20-promos-day-rail { gap: .25rem; }
  .v20-promos-day { min-width: 56px; padding: .35rem .4rem; }
  .v20-promos-day.is-today { min-width: 84px; }
  .v20-promos-day.is-today span { font-size: .5625rem; letter-spacing: .01em; }
}

@media (min-width: 1024px) {
  .v20-promos-header { padding-block: var(--sp-7) var(--sp-9); text-align: center; }
  .v20-promos-header h1, .v20-promos-header__lead { margin-inline: auto; }
  .v20-promos-breadcrumb { justify-content: center; }
  .v20-promos-day-rail { justify-content: center; width: 100%; margin-right: 0; padding-inline: 0; overflow: visible; }
  .v20-promos-day { min-width: 72px; min-height: 64px; }
  .v20-promos-day.is-today { min-width: 112px; }
  .v20-promos-card--featured { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); max-width: 68rem; margin-inline: auto; }
  .v20-promos-card--featured .v20-promos-card__body { display: flex; flex-direction: column; justify-content: center; padding: var(--sp-7); }
  .v20-promos-evening__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 62rem; margin-inline: auto; }
  .v20-promos-evening .v20-promos-card__media { max-height: 30rem; }
  .v20-promos-condition-list { column-gap: var(--sp-7); }
  .v20-promos-reserve__inner { grid-template-columns: 1fr auto; align-items: center; }
  .v20-promos-cross-sell__head { margin-inline: auto; text-align: center; }
  .v20-promos-cross-sell__grid { max-width: 62rem; margin-inline: auto; }
  .v20-promos-cross-sell__locations { justify-content: center; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .v20-promos-faq summary span::after { transition: none; }
}
