/* El Cantarito 44 — capa de marca sobre Dawn.
   Tokens: papel (fondo), tarjeta, hueso (bandas), tinta/arena (texto), lotería (CTA), barro, chile, lima. */
:root {
  --c44-papel: #FAF8F5; --c44-tarjeta: #FFFFFF; --c44-hueso: #F4EBDD; --c44-tinta: #1A1512; --c44-arena: #6B5C50;
  --c44-loteria: #F5A623; --c44-ambar: #D4880C; --c44-barro: #A8501A; --c44-chile: #B42318; --c44-lima: #9FB33A; --c44-verde: #1F7A45;
  --c44-oro-hondo: #8A5A00; --c44-linea: rgba(26, 21, 18, .1); --c44-r: 18px; --c44-r-sm: 12px;
  --c44-sombra: 0 18px 40px -24px rgba(26, 21, 18, .35);
  --c44-ease: cubic-bezier(.22, 1, .36, 1);
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; }

/* Tipografía de marca */
.c44-display, .c44-eyebrow, .c44-btn, .c44-price { font-family: var(--font-heading-family); }
.c44-eyebrow { display: inline-flex; align-items: center; gap: .5rem; font-size: 1.2rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--c44-barro); margin: 0 0 1.2rem; }
.c44-eyebrow::before { content: ""; width: 1.8rem; height: 3px; border-radius: 3px; background: var(--c44-loteria); }
.color-scheme-4 .c44-eyebrow, .c44-dark .c44-eyebrow { color: var(--c44-loteria); }
.c44-title { font-size: clamp(2.8rem, 4.6vw, 4.6rem); line-height: 1.08; letter-spacing: -.02em; margin: 0 0 1.4rem; text-wrap: balance; font-weight: 800; }
.c44-title--sm { font-size: clamp(2.4rem, 3.4vw, 3.4rem); }
.c44-lead { font-size: clamp(1.6rem, 1.6vw, 1.9rem); line-height: 1.55; color: var(--c44-arena); max-width: 60ch; margin: 0; }
.color-scheme-4 .c44-lead, .c44-dark .c44-lead { color: rgba(250, 248, 245, .78); }
.c44-accent { color: var(--c44-barro); }
.color-scheme-4 .c44-accent { color: var(--c44-loteria); }
.c44-mark { background: linear-gradient(transparent 55%, rgba(245, 166, 35, .55) 55%); }

/* Botones */
.c44-btn { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 5rem; padding: 0 2.4rem; border-radius: 999px; font-weight: 800; font-size: 1.5rem; letter-spacing: .01em; text-decoration: none; border: 2px solid transparent; cursor: pointer; transition: transform .25s var(--c44-ease), box-shadow .25s var(--c44-ease), background .2s; }
.c44-btn:focus-visible { outline: 3px solid var(--c44-tinta); outline-offset: 3px; }
.c44-btn--primary { background: var(--c44-loteria); color: var(--c44-tinta); box-shadow: 0 12px 24px -12px rgba(212, 136, 12, .8); }
.c44-btn--primary:hover { background: #ffb33a; transform: translateY(-2px); box-shadow: 0 18px 30px -14px rgba(212, 136, 12, .9); }
.c44-btn--dark { background: var(--c44-tinta); color: var(--c44-papel); }
.c44-btn--dark:hover { background: #2a221c; transform: translateY(-2px); }
.c44-btn--ghost { background: transparent; color: var(--c44-tinta); border-color: currentColor; }
.c44-btn--ghost:hover { background: rgba(26, 21, 18, .06); }
.color-scheme-4 .c44-btn--ghost, .c44-dark .c44-btn--ghost { color: var(--c44-papel); }
.c44-btn--wa { background: #25D366; color: #06331a; }
.c44-btn--wa:hover { background: #3be17a; transform: translateY(-2px); }
.c44-btn--sm { min-height: 4.2rem; padding: 0 1.8rem; font-size: 1.35rem; }
.c44-btn[disabled], .c44-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; transform: none !important; box-shadow: none !important; }
.c44-btn svg { width: 1.8rem; height: 1.8rem; flex: none; }
.c44-actions { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; }

/* Layout helpers */
.c44-section { position: relative; padding-block: clamp(5rem, 8vw, 9rem); overflow: clip; }
.c44-section--tight { padding-block: clamp(3rem, 5vw, 5rem); }
.c44-head { max-width: 72rem; margin-bottom: clamp(2.4rem, 4vw, 4rem); }
.c44-head--center { margin-inline: auto; text-align: center; }
.c44-head--center .c44-eyebrow { justify-content: center; }
.c44-grid { display: grid; gap: clamp(1.6rem, 2.4vw, 2.4rem); }
.c44-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 30rem), 1fr)); }
.c44-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 28rem), 1fr)); }
.c44-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.c44-card { background: var(--c44-tarjeta); border: 1px solid var(--c44-linea); border-radius: var(--c44-r); box-shadow: var(--c44-sombra); }
.c44-chip { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem 1rem; border-radius: 999px; background: var(--c44-hueso); color: var(--c44-tinta); font-size: 1.25rem; font-weight: 700; }
.c44-chip--dark { background: var(--c44-tinta); color: var(--c44-loteria); }
.c44-chip--verde { background: #E5F4EA; color: var(--c44-verde); }
.c44-check { display: grid; grid-template-columns: 2.2rem 1fr; gap: .8rem; align-items: start; font-size: 1.5rem; line-height: 1.45; }
.c44-check svg { width: 2.2rem; height: 2.2rem; color: var(--c44-verde); flex: none; }
.c44-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.c44-muted { color: var(--c44-arena); }
.c44-money { font-variant-numeric: tabular-nums; }
.c44-img { display: block; width: 100%; height: auto; border-radius: var(--c44-r); }
.c44-blob { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .55; pointer-events: none; }

/* Barra superior */
.c44-topbar { background: var(--c44-tinta); color: var(--c44-papel); font-size: 1.3rem; }
.c44-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; min-height: 3.8rem; padding-block: .4rem; }
.c44-topbar__contact { display: flex; align-items: center; gap: 1.6rem; flex-wrap: wrap; }
.c44-topbar a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: .5rem; }
.c44-topbar a:hover { color: var(--c44-loteria); }
.c44-topbar svg { width: 1.5rem; height: 1.5rem; }
.c44-topbar__ship { color: var(--c44-loteria); font-weight: 700; }
.c44-topbar .localization-form { margin: 0; }
.c44-topbar .disclosure__button { color: var(--c44-papel); padding: .4rem .8rem; min-height: 0; }
.c44-topbar .disclosure__button:hover { color: var(--c44-loteria); }
.c44-topbar__loc { display: flex; align-items: center; gap: .4rem; }
@media (max-width: 749px) { .c44-topbar__ship, .c44-topbar__email { display: none; } .c44-topbar__inner { justify-content: center; } }

/* Header: marca y CTA */
.c44-brand { display: inline-flex; align-items: center; gap: 1rem; color: var(--c44-tinta); }
.c44-brand img { width: 3.4rem; height: auto; border-radius: 3px; box-shadow: 0 2px 6px rgba(0, 0, 0, .25); }
.c44-brand__text { display: flex; flex-direction: column; line-height: 1; font-family: var(--font-heading-family); font-weight: 900; letter-spacing: .02em; }
.c44-brand__el { font-size: 1rem; letter-spacing: .3em; opacity: .85; padding-left: .2rem; }
.c44-brand__word { font-size: 1.9rem; }
.header__heading-link:hover .c44-brand img { transform: rotate(-4deg); }
.c44-brand img { transition: transform .3s var(--c44-ease); }
.header { padding-block: .6rem; }
.header__menu-item { font-family: var(--font-heading-family); font-weight: 700; font-size: 1.4rem; letter-spacing: .02em; text-transform: uppercase; }
.header__menu-item:hover span { text-decoration-thickness: .2rem; }
.c44-header-cta { margin-left: 1.2rem; }
@media (max-width: 989px) { .c44-header-cta { display: none; } }
.shopify-section-header-sticky { box-shadow: 0 10px 30px -20px rgba(0, 0, 0, .45); }
.menu-drawer__menu-item { font-family: var(--font-heading-family); font-weight: 800; font-size: 2rem; }
.menu-drawer__utility-links { background: var(--c44-hueso); }
.c44-drawer-cta { padding: 1.6rem 2.4rem 0; display: grid; gap: 1rem; }

/* Hero */
.c44-hero { padding-block: clamp(3rem, 6vw, 7rem) clamp(4rem, 7vw, 8rem); }
.c44-hero__grid { display: grid; gap: clamp(2.4rem, 4vw, 5rem); align-items: center; grid-template-columns: 1.1fr .9fr; }
.c44-hero__title { font-size: clamp(3.4rem, 5.6vw, 6.2rem); line-height: 1.02; letter-spacing: -.025em; margin: 0 0 2rem; font-weight: 800; text-wrap: balance; }
.c44-hero__title .c44-accent { display: block; }
.c44-hero__bullets { margin: 2.4rem 0 0; display: flex; flex-wrap: wrap; gap: .8rem 1.6rem; }
.c44-hero__visual { position: relative; aspect-ratio: 1; max-width: 56rem; margin-inline: auto; width: 100%; }
.c44-hero__ring { position: absolute; inset: 6%; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ffd27a, var(--c44-loteria) 55%, #e4951f 100%); box-shadow: inset 0 -30px 60px rgba(168, 80, 26, .25), 0 40px 80px -40px rgba(168, 80, 26, .6); }
.c44-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 30px 40px rgba(26, 21, 18, .35)); transition: opacity .6s; }
.c44-hero__canvas { position: absolute; inset: -8%; width: 116%; height: 116%; opacity: 0; transition: opacity .8s; }
.c44-hero__visual.is-3d .c44-hero__canvas { opacity: 1; }
.c44-hero__visual.is-3d .c44-hero__img { opacity: 0; }
.c44-hero__badge { position: absolute; left: -2%; bottom: 10%; background: var(--c44-tarjeta); border-radius: var(--c44-r-sm); padding: 1rem 1.4rem; box-shadow: var(--c44-sombra); display: grid; gap: .1rem; }
.c44-hero__badge b { font-family: var(--font-heading-family); font-size: 2rem; }
.c44-hero__badge small { color: var(--c44-arena); font-size: 1.2rem; }
.c44-hero__badge--2 { left: auto; right: -2%; top: 8%; bottom: auto; }
.c44-hero__scroll { display: inline-flex; align-items: center; gap: .6rem; margin-top: 3rem; color: var(--c44-arena); font-size: 1.3rem; }
.c44-hero__scroll span { width: 1px; height: 3rem; background: currentColor; display: inline-block; animation: c44-drop 1.8s infinite; }
@keyframes c44-drop { 0% { transform: scaleY(0); transform-origin: top } 50% { transform: scaleY(1); transform-origin: top } 51% { transform-origin: bottom } 100% { transform: scaleY(0); transform-origin: bottom } }
@media (max-width: 989px) { .c44-hero__grid { grid-template-columns: 1fr; } .c44-hero__visual { max-width: 40rem; order: -1; } .c44-hero__badge { left: 0 } .c44-hero__badge--2 { right: 0 } }

/* Franja de confianza */
.c44-trust { border-block: 1px solid var(--c44-linea); }
.c44-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; }
.c44-trust__item { display: grid; gap: .2rem; padding: 1.6rem 0; text-align: center; }
.c44-trust__item b { font-family: var(--font-heading-family); font-size: clamp(2.4rem, 3vw, 3.2rem); line-height: 1; letter-spacing: -.02em; }
.c44-trust__item span { color: var(--c44-arena); font-size: 1.3rem; }
.c44-trust__item a { color: inherit; text-decoration: none; }
@media (max-width: 749px) { .c44-trust__grid { grid-template-columns: 1fr 1fr; } }

/* Productos (Dawn cards) */
.card__heading { font-family: var(--font-heading-family); font-weight: 700; }
.price { font-family: var(--font-heading-family); font-weight: 800; color: var(--c44-verde); }
.price .price-item--regular { font-size: 1.7rem; }
.c44-price-quote { font-family: var(--font-heading-family); font-weight: 800; color: var(--c44-barro); font-size: 1.6rem; }
.quick-add__submit.button--secondary { background: var(--c44-loteria); color: var(--c44-tinta); --color-button: 245, 166, 35; --color-button-text: 26, 21, 18; border: 0; font-weight: 800; }
.card-wrapper .card { transition: transform .3s var(--c44-ease), box-shadow .3s var(--c44-ease); }
.card__inner .card__media img { mix-blend-mode: multiply; }
.c44-quote-cta { display: grid; gap: 1.2rem; padding: 1.8rem; border-radius: var(--c44-r); background: var(--c44-hueso); margin-top: 1rem; }

/* Pasos */
.c44-steps__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.4rem, 4vw, 6rem); align-items: start; }
.c44-steps__visual { position: sticky; top: 12rem; aspect-ratio: 4/5; max-height: 70vh; display: grid; place-items: center; }
.c44-steps__visual img { position: absolute; max-width: 100%; max-height: 100%; width: auto; height: 100%; object-fit: contain; filter: drop-shadow(0 30px 40px rgba(26, 21, 18, .25)); transition: opacity .6s var(--c44-ease), transform .8s var(--c44-ease); opacity: 0; transform: translateY(30px) scale(.96); }
.c44-steps__visual img.is-on { opacity: 1; transform: none; }
.c44-steps__list { display: grid; gap: clamp(2rem, 3vw, 3rem); counter-reset: s; }
.c44-step { counter-increment: s; display: grid; grid-template-columns: 5.6rem 1fr; gap: 1.6rem; padding: 2rem; border-radius: var(--c44-r); border: 1px solid transparent; transition: background .4s, border-color .4s; }
.c44-step.is-active { background: var(--c44-tarjeta); border-color: var(--c44-linea); box-shadow: var(--c44-sombra); }
.c44-step__num { width: 5.6rem; height: 5.6rem; border-radius: 50%; display: grid; place-items: center; background: var(--c44-hueso); font-family: var(--font-heading-family); font-weight: 800; font-size: 1.8rem; transition: background .4s, color .4s; }
.c44-step__num::before { content: counter(s, decimal-leading-zero); }
.c44-step.is-active .c44-step__num { background: var(--c44-loteria); }
.c44-step h3 { margin: .4rem 0 .6rem; font-size: 2rem; font-weight: 800; }
.c44-step p { margin: 0; color: var(--c44-arena); font-size: 1.5rem; line-height: 1.5; }
.c44-steps__done { font-family: var(--font-heading-family); font-weight: 800; font-size: 3rem; color: var(--c44-barro); margin: 1rem 0 2rem; }
@media (max-width: 989px) { .c44-steps__grid { grid-template-columns: 1fr; } .c44-steps__visual { position: relative; top: 0; aspect-ratio: 1; max-height: 42rem; } }

/* Barra móvil (teaser) */
.c44-bar { background: var(--c44-tinta); color: var(--c44-papel); overflow: clip; }
.c44-bar__bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .45; transform: scale(1.1); will-change: transform; }
.c44-bar__fade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(26, 21, 18, .95) 0%, rgba(26, 21, 18, .7) 50%, rgba(26, 21, 18, .25) 100%); }
.c44-bar__inner { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem; align-items: end; }
.c44-bar .c44-title { color: var(--c44-papel); }
.c44-bar__from { display: flex; align-items: baseline; gap: 1rem; margin: 2rem 0; }
.c44-bar__from b { font-family: var(--font-heading-family); font-size: clamp(3.4rem, 5vw, 5.4rem); color: var(--c44-loteria); letter-spacing: -.02em; }
.c44-bar__from span { color: rgba(250, 248, 245, .7); }
.c44-bar .c44-check { color: var(--c44-papel); }
.c44-bar .c44-check svg { color: var(--c44-loteria); }
@media (max-width: 989px) { .c44-bar__inner { grid-template-columns: 1fr; } }

/* Reseñas */
.c44-reviews__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 32rem), 1fr)); gap: 2rem; }
.c44-review { padding: 2.6rem; display: grid; gap: 1.4rem; align-content: start; position: relative; }
.c44-review__stars { color: var(--c44-loteria); display: flex; gap: .2rem; }
.c44-review__stars svg { width: 1.8rem; height: 1.8rem; }
.c44-review blockquote { margin: 0; font-size: 1.7rem; line-height: 1.5; font-weight: 500; }
.c44-review footer { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; color: var(--c44-arena); font-size: 1.3rem; }
.c44-review footer b { color: var(--c44-tinta); }
.c44-reviews__more { margin-top: 2.4rem; }

/* Fundadora */
.c44-founder__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2.4rem, 4vw, 6rem); align-items: center; }
.c44-founder__photo { position: relative; }
.c44-founder__photo img { border-radius: var(--c44-r); aspect-ratio: 4/5; object-fit: cover; width: 100%; box-shadow: var(--c44-sombra); }
.c44-founder__photo::before { content: ""; position: absolute; inset: 6% -4% -4% 6%; border-radius: var(--c44-r); background: var(--c44-loteria); z-index: -1; }
.c44-founder__caption { position: absolute; left: 1.6rem; bottom: 1.6rem; background: var(--c44-tinta); color: var(--c44-papel); padding: .8rem 1.4rem; border-radius: 999px; font-size: 1.3rem; font-weight: 700; }
@media (max-width: 989px) { .c44-founder__grid { grid-template-columns: 1fr; } .c44-founder__photo { max-width: 40rem; } }

/* Negocios */
.c44-b2b__card { padding: clamp(2.4rem, 4vw, 5rem); display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: center; background: var(--c44-hueso); border-radius: var(--c44-r); }
.c44-b2b__card img { width: 100%; height: auto; border-radius: var(--c44-r); mix-blend-mode: multiply; }
@media (max-width: 989px) { .c44-b2b__card { grid-template-columns: 1fr; } }

/* Redes */

/* CTA final */
.c44-cta { background: var(--c44-loteria); color: var(--c44-tinta); overflow: visible; }
.c44-cta__inner { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center; }
.c44-cta form { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.c44-cta input[type="date"] { min-height: 5rem; border-radius: 999px; border: 2px solid var(--c44-tinta); padding: 0 1.8rem; font: inherit; font-size: 1.5rem; background: var(--c44-papel); color: var(--c44-tinta); }
.c44-cta__mascot { width: clamp(14rem, 18vw, 22rem); }
@media (max-width: 749px) { .c44-cta__inner { grid-template-columns: 1fr; } .c44-cta__mascot { justify-self: center; } }

/* Mascota 3D con scroll */
.c44-mascot { display: block; width: 100%; height: auto; transform-style: preserve-3d; will-change: transform; filter: drop-shadow(0 24px 30px rgba(26, 21, 18, .35)); pointer-events: none; }
.c44-mascot-wrap { perspective: 900px; }

/* Footer */
.c44-footer { background: var(--c44-tinta); color: var(--c44-papel); padding-block: clamp(4rem, 6vw, 7rem) 2.4rem; }
.c44-footer a { color: inherit; text-decoration: none; }
.c44-footer a:hover { color: var(--c44-loteria); }
.c44-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 3rem; }
.c44-footer h3 { font-size: 1.2rem; letter-spacing: .12em; text-transform: uppercase; color: var(--c44-loteria); margin: 0 0 1.4rem; }
.c44-footer .c44-brand { color: var(--c44-papel); }
.c44-footer__tag { margin: 1.6rem 0 .6rem; font-family: var(--font-heading-family); font-size: 1.8rem; font-weight: 700; }
.c44-footer__alc { color: rgba(250, 248, 245, .6); font-size: 1.25rem; margin: 0; }
.c44-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; font-size: 1.45rem; }
.c44-footer__office { display: grid; gap: .5rem; font-size: 1.45rem; margin-bottom: 2rem; }
.c44-footer__office b { font-weight: 700; }
.c44-footer__news form { display: flex; gap: .8rem; margin-top: 1.2rem; }
.c44-footer__news input { flex: 1; min-width: 0; min-height: 4.6rem; border-radius: 999px; border: 1px solid rgba(250, 248, 245, .3); background: rgba(250, 248, 245, .06); color: var(--c44-papel); padding: 0 1.6rem; font: inherit; font-size: 1.4rem; }
.c44-footer__news input::placeholder { color: rgba(250, 248, 245, .5); }
.c44-footer__news p { font-size: 1.35rem; color: rgba(250, 248, 245, .7); margin: .6rem 0 0; }
.c44-footer__social { display: flex; gap: 1.2rem; margin-top: 1.6rem; }
.c44-footer__social a { width: 4.2rem; height: 4.2rem; border-radius: 50%; display: grid; place-items: center; background: rgba(250, 248, 245, .08); }
.c44-footer__social a:hover { background: var(--c44-loteria); color: var(--c44-tinta); }
.c44-footer__social svg { width: 1.9rem; height: 1.9rem; }
.c44-footer__bottom { border-top: 1px solid rgba(250, 248, 245, .12); margin-top: 4rem; padding-top: 2rem; display: flex; flex-wrap: wrap; gap: 1.6rem 3rem; justify-content: space-between; align-items: center; font-size: 1.3rem; color: rgba(250, 248, 245, .65); }
.c44-footer__policies { display: flex; flex-wrap: wrap; gap: .6rem 1.8rem; list-style: none; margin: 0; padding: 0; }
.c44-footer .localization-form { margin: 0; }
.c44-footer .disclosure__button { color: var(--c44-papel); border: 1px solid rgba(250, 248, 245, .3); border-radius: 999px; padding: .6rem 1.4rem; min-height: 0; }
.c44-footer__loc { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.c44-footer .list-payment { justify-content: flex-start; }
@media (max-width: 989px) { .c44-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .c44-footer__grid { grid-template-columns: 1fr; } }

/* WhatsApp flotante */
.c44-wa { position: fixed; right: 1.6rem; bottom: 1.6rem; z-index: 60; width: 5.6rem; height: 5.6rem; border-radius: 50%; background: #25D366; color: #fff; display: grid; place-items: center; box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .45); transition: transform .3s var(--c44-ease); }
.c44-wa:hover { transform: scale(1.08); }
.c44-wa svg { width: 3rem; height: 3rem; }
body.c44-drawer-open .c44-wa { display: none; }

/* Página: hero genérico */
.c44-phero { position: relative; color: var(--c44-papel); background: var(--c44-tinta); padding-block: clamp(8rem, 14vw, 14rem) clamp(5rem, 8vw, 9rem); overflow: clip; }
.c44-phero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .55; transform: scale(1.08); will-change: transform; }
.c44-phero__fade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26, 21, 18, .35), rgba(26, 21, 18, .9)); }
.c44-phero__inner { position: relative; max-width: 80rem; }
.c44-phero .c44-title { color: var(--c44-papel); }
.c44-phero .c44-lead { color: rgba(250, 248, 245, .85); }
.c44-phero .c44-eyebrow { color: var(--c44-loteria); }
.c44-phero--light { background: var(--c44-papel); color: var(--c44-tinta); padding-top: clamp(5rem, 8vw, 9rem); }
.c44-phero--light .c44-title { color: var(--c44-tinta); }
.c44-phero--light .c44-lead { color: var(--c44-arena); }
.c44-phero--light .c44-eyebrow { color: var(--c44-barro); }

/* Paquetes */
.c44-packs__tabs { display: inline-flex; gap: .4rem; padding: .4rem; border-radius: 999px; background: var(--c44-hueso); margin-bottom: 2.4rem; }
.c44-packs__tab { border: 0; background: transparent; padding: .9rem 1.6rem; border-radius: 999px; font: inherit; font-weight: 700; font-size: 1.35rem; cursor: pointer; color: var(--c44-arena); }
.c44-packs__tab[aria-selected="true"] { background: var(--c44-tinta); color: var(--c44-papel); }
.c44-packs__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr)); gap: 1.8rem; align-items: stretch; }
.c44-pack { position: relative; display: grid; gap: 1.2rem; align-content: start; padding: 2.4rem; transition: transform .3s var(--c44-ease), box-shadow .3s; }
.c44-pack:hover { transform: translateY(-4px); }
.c44-pack--featured { outline: 3px solid var(--c44-loteria); }
.c44-pack__badge { position: absolute; top: -1.3rem; left: 2rem; }
.c44-pack__head { display: grid; gap: .2rem; }
.c44-pack__head b { font-family: var(--font-heading-family); font-size: 2.2rem; font-weight: 800; }
.c44-pack__head span { color: var(--c44-arena); font-size: 1.35rem; }
.c44-pack__price { font-family: var(--font-heading-family); font-size: clamp(3rem, 3.4vw, 3.8rem); letter-spacing: -.02em; line-height: 1; font-weight: 800; }
.c44-pack__price small { font-size: 1.3rem; color: var(--c44-arena); font-weight: 600; letter-spacing: 0; display: block; margin-top: .4rem; }
.c44-pack__specs { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; font-size: 1.3rem; color: var(--c44-arena); }
.c44-pack__specs b { display: block; color: var(--c44-tinta); font-size: 1.6rem; font-family: var(--font-heading-family); }
.c44-pack__provide { font-size: 1.35rem; padding: 1rem 1.2rem; border-radius: var(--c44-r-sm); background: var(--c44-hueso); }
.c44-pack__deposit { font-size: 1.3rem; color: var(--c44-arena); }
.c44-pack__deposit b { color: var(--c44-verde); font-family: var(--font-heading-family); }
.c44-pack[hidden] { display: none; }
.c44-packs__over { margin-top: 2.4rem; display: flex; flex-wrap: wrap; gap: 1.2rem 2rem; align-items: center; justify-content: space-between; padding: 2rem 2.4rem; border-radius: var(--c44-r); background: var(--c44-hueso); }

/* Extras */
.c44-extras__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: 1.6rem; }
.c44-extra { padding: 2rem; display: grid; gap: .6rem; align-content: start; }
.c44-extra b { font-family: var(--font-heading-family); font-size: 1.7rem; }
.c44-extra p { margin: 0; color: var(--c44-arena); font-size: 1.35rem; }
.c44-extra__price { font-family: var(--font-heading-family); font-weight: 800; color: var(--c44-verde); font-size: 1.8rem; }

/* Proceso */
.c44-process__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1.6rem; counter-reset: p; }
.c44-process__item { counter-increment: p; display: grid; gap: .8rem; padding: 2.2rem; border-radius: var(--c44-r); background: var(--c44-tarjeta); border: 1px solid var(--c44-linea); position: relative; }
.c44-process__item::before { content: counter(p, decimal-leading-zero); font-family: var(--font-heading-family); font-weight: 800; color: var(--c44-loteria); font-size: 3.2rem; line-height: 1; }
.c44-process__item h3 { margin: 0; font-size: 1.8rem; font-weight: 800; }
.c44-process__item p { margin: 0; color: var(--c44-arena); font-size: 1.4rem; }

/* FAQ */
.c44-faq__list { display: grid; gap: 1rem; max-width: 86rem; }
.c44-faq details { background: var(--c44-tarjeta); border: 1px solid var(--c44-linea); border-radius: var(--c44-r-sm); padding: 0 2rem; }
.c44-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1.6rem; padding: 1.8rem 0; font-family: var(--font-heading-family); font-weight: 800; font-size: 1.7rem; }
.c44-faq summary::-webkit-details-marker { display: none; }
.c44-faq summary::after { content: "+"; font-size: 2.6rem; line-height: 1; color: var(--c44-barro); transition: transform .3s; flex: none; }
.c44-faq details[open] summary::after { transform: rotate(45deg); }
.c44-faq details p { margin: 0 0 1.8rem; color: var(--c44-arena); font-size: 1.5rem; line-height: 1.55; max-width: 70ch; }

/* Galería */
.c44-gallery__grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 22rem; gap: 1.2rem; }
.c44-gallery__grid figure { margin: 0; border-radius: var(--c44-r); overflow: hidden; position: relative; }
.c44-gallery__grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--c44-ease); }
.c44-gallery__grid figure:hover img { transform: scale(1.05); }
.c44-gallery__grid figure:first-child { grid-column: span 2; grid-row: span 2; }
.c44-gallery__grid figcaption { position: absolute; left: 1.2rem; bottom: 1.2rem; background: rgba(26, 21, 18, .75); color: var(--c44-papel); padding: .5rem 1rem; border-radius: 999px; font-size: 1.2rem; }
@media (max-width: 749px) { .c44-gallery__grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 16rem; } }

/* Reserva (wizard) */
.c44-book { background: var(--c44-hueso); }
.c44-book__grid { display: grid; grid-template-columns: 1.3fr .8fr; gap: 2.4rem; align-items: start; }
.c44-book__steps { display: flex; gap: .6rem; flex-wrap: wrap; margin-bottom: 2rem; }
.c44-book__step { display: inline-flex; align-items: center; gap: .6rem; padding: .6rem 1.2rem; border-radius: 999px; background: var(--c44-tarjeta); color: var(--c44-arena); font-size: 1.3rem; font-weight: 700; border: 1px solid var(--c44-linea); }
.c44-book__step i { font-style: normal; width: 2.2rem; height: 2.2rem; border-radius: 50%; display: grid; place-items: center; background: var(--c44-hueso); font-size: 1.1rem; }
.c44-book__step.is-active { background: var(--c44-tinta); color: var(--c44-papel); }
.c44-book__step.is-active i { background: var(--c44-loteria); color: var(--c44-tinta); }
.c44-book__step.is-done i { background: var(--c44-verde); color: #fff; }
.c44-book__panel { padding: clamp(2rem, 3vw, 3.2rem); display: grid; gap: 1.8rem; }
.c44-book__panel[hidden] { display: none; }
.c44-book h3 { margin: 0; font-size: 2.2rem; font-weight: 800; }
.c44-opt { display: grid; grid-template-columns: 2.4rem 1fr auto; gap: 1.2rem; align-items: start; padding: 1.6rem; border-radius: var(--c44-r-sm); border: 2px solid var(--c44-linea); background: var(--c44-tarjeta); cursor: pointer; transition: border-color .2s, background .2s; }
.c44-opt:has(input:checked) { border-color: var(--c44-loteria); background: #fff8e8; }
.c44-opt input { width: 2.2rem; height: 2.2rem; margin: .2rem 0 0; accent-color: var(--c44-barro); }
.c44-opt b { font-family: var(--font-heading-family); font-size: 1.6rem; display: block; }
.c44-opt span { color: var(--c44-arena); font-size: 1.3rem; }
.c44-opt .c44-money { font-family: var(--font-heading-family); font-weight: 800; white-space: nowrap; }
.c44-opts { display: grid; gap: 1rem; }
.c44-field { display: grid; gap: .5rem; }
.c44-field label { font-size: 1.3rem; font-weight: 700; }
.c44-field input, .c44-field textarea, .c44-field select { width: 100%; min-height: 4.8rem; border-radius: var(--c44-r-sm); border: 1px solid rgba(26, 21, 18, .25); padding: 1rem 1.4rem; font: inherit; font-size: 1.5rem; background: var(--c44-tarjeta); color: var(--c44-tinta); }
.c44-field textarea { min-height: 9rem; resize: vertical; }
.c44-field input:focus, .c44-field textarea:focus { outline: 3px solid rgba(245, 166, 35, .55); border-color: var(--c44-ambar); }
.c44-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.c44-fields .c44-field--full { grid-column: 1 / -1; }
.c44-hours { display: inline-flex; align-items: center; gap: 1rem; }
.c44-hours input { width: 7rem; text-align: center; }
.c44-contract { max-height: 24rem; overflow: auto; padding: 1.6rem; border-radius: var(--c44-r-sm); background: var(--c44-tarjeta); border: 1px solid var(--c44-linea); font-size: 1.35rem; line-height: 1.55; color: var(--c44-arena); }
.c44-contract h4 { margin: 0 0 .6rem; color: var(--c44-tinta); font-size: 1.4rem; }
.c44-contract p, .c44-contract li { margin: 0 0 .8rem; }
.c44-accept { display: grid; grid-template-columns: 2.2rem 1fr; gap: 1rem; align-items: start; font-size: 1.4rem; }
.c44-accept input { width: 2.2rem; height: 2.2rem; accent-color: var(--c44-barro); }
.c44-sign { font-family: 'Caveat', 'Segoe Script', cursive; font-size: 2.6rem !important; }
.c44-book__nav { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.c44-book__error { color: var(--c44-chile); font-size: 1.35rem; font-weight: 700; margin: 0; }
.c44-book__error:empty { display: none; }
.c44-summary { position: sticky; top: 10rem; padding: 2.4rem; display: grid; gap: 1rem; }
.c44-summary dl { margin: 0; display: grid; gap: .8rem; font-size: 1.4rem; }
.c44-summary dl div { display: flex; justify-content: space-between; gap: 1rem; }
.c44-summary dt { color: var(--c44-arena); }
.c44-summary dd { margin: 0; font-weight: 700; text-align: right; }
.c44-summary .c44-summary__total { border-top: 1px solid var(--c44-linea); padding-top: .8rem; font-size: 1.6rem; }
.c44-summary .c44-summary__deposit dd { color: var(--c44-verde); font-family: var(--font-heading-family); font-size: 2.2rem; }
.c44-summary__note { font-size: 1.25rem; color: var(--c44-arena); margin: 0; }
.c44-summary__secure { font-size: 1.2rem; color: var(--c44-arena); display: flex; gap: .6rem; align-items: center; margin: 0; }
.c44-summary__secure svg { width: 1.6rem; height: 1.6rem; color: var(--c44-verde); }
.c44-book__unavailable { padding: 1.6rem; border-radius: var(--c44-r-sm); background: #FEF0DC; color: #7a4a06; font-size: 1.4rem; }
@media (max-width: 989px) { .c44-book__grid { grid-template-columns: 1fr; } .c44-summary { position: static; } .c44-fields { grid-template-columns: 1fr; } }

/* Historia (nosotros) */
.c44-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1.6rem; margin: 3rem 0; }
.c44-fact { padding: 2rem; border-radius: var(--c44-r); background: var(--c44-tarjeta); border: 1px solid var(--c44-linea); text-align: center; }
.c44-fact b { display: block; font-family: var(--font-heading-family); font-size: 3rem; letter-spacing: -.02em; color: var(--c44-barro); }
.c44-fact span { color: var(--c44-arena); font-size: 1.3rem; }
.c44-timeline { display: grid; gap: 0; position: relative; margin: 3rem 0; }
.c44-timeline::before { content: ""; position: absolute; left: 1.1rem; top: 1rem; bottom: 1rem; width: 2px; background: var(--c44-linea); }
.c44-tl { display: grid; grid-template-columns: 2.4rem 1fr; gap: 1.8rem; padding-bottom: 2.6rem; position: relative; }
.c44-tl::before { content: ""; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--c44-loteria); border: 3px solid var(--c44-papel); margin: .4rem 0 0 .4rem; box-shadow: 0 0 0 2px var(--c44-loteria); }
.c44-tl small { display: block; font-family: var(--font-heading-family); color: var(--c44-barro); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; font-size: 1.2rem; }
.c44-tl h3 { margin: .3rem 0 .4rem; font-size: 2rem; font-weight: 800; }
.c44-tl p { margin: 0; color: var(--c44-arena); font-size: 1.45rem; }
.c44-story__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.4rem, 4vw, 6rem); align-items: start; }
@media (max-width: 989px) { .c44-story__grid { grid-template-columns: 1fr; } }

/* Mayoreo y contacto */
.c44-form { padding: clamp(2rem, 3vw, 3.2rem); display: grid; gap: 1.6rem; }
.c44-form .form__message, .c44-form .form-status { font-size: 1.4rem; }
.c44-contact__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; }
.c44-contact__card { padding: 2.4rem; display: grid; gap: .8rem; align-content: start; }
.c44-contact__card b { font-family: var(--font-heading-family); font-size: 1.9rem; }
.c44-contact__card a { color: var(--c44-tinta); text-decoration: none; display: inline-flex; gap: .6rem; align-items: center; font-size: 1.5rem; }
.c44-contact__card a:hover { color: var(--c44-barro); }
.c44-contact__card svg { width: 1.8rem; height: 1.8rem; color: var(--c44-barro); }
.c44-contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; align-items: start; }
@media (max-width: 989px) { .c44-contact__grid, .c44-contact__cards { grid-template-columns: 1fr; } }

/* Artículo (receta) */
.c44-article-products { background: var(--c44-hueso); }
.article-template__title { font-weight: 800; }

/* Animación de entrada (complementa animations.js de Dawn) */
.c44-rise { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--c44-ease), transform .8s var(--c44-ease); }
.c44-rise.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .c44-rise { opacity: 1; transform: none; transition: none; } .c44-hero__scroll span { animation: none; } .c44-mascot { transform: none !important; } }

/* Títulos de colecciones destacadas (Dawn) */
.collection .title.h1, .collection__title .title { font-size: clamp(2.6rem, 3.6vw, 3.6rem); letter-spacing: -.015em; font-weight: 800; }
.collection__view-all .button { background: transparent; color: var(--c44-tinta); border: 2px solid var(--c44-tinta); font-weight: 800; }
.product__title h1 { font-weight: 800; letter-spacing: -.015em; }
.product-form__submit { font-weight: 800; }
.menu-drawer__navigation-container { display: flex; flex-direction: column; }

/* Celular: barra superior compacta y marca en una línea */
.c44-brand__word { white-space: nowrap; }
@media (max-width: 749px) {
  .c44-topbar { font-size: 1.2rem; }
  .c44-topbar__inner { flex-wrap: nowrap; justify-content: space-between; gap: .8rem; min-height: 3.6rem; }
  .c44-topbar__contact { gap: 1rem; flex-wrap: nowrap; }
  .c44-topbar__contact a span { display: none; }
  .c44-topbar__loc { gap: .2rem; }
  .c44-topbar .disclosure__button { padding: .3rem .5rem; font-size: 1.15rem; }
  .c44-brand img { width: 2.8rem; }
  .c44-brand__word { font-size: 1.5rem; }
  .c44-brand__el { font-size: .85rem; }
  .c44-hero__title { font-size: clamp(3rem, 9vw, 3.8rem); }
}
body { overflow-x: clip; } /* solo body: si html también lo tiene, el encabezado deja de quedarse fijo al abrir el menú */
.c44-facts { grid-template-columns: repeat(2, 1fr); }
.c44-tl { grid-template-columns: 2.4rem minmax(0, 1fr); }

/* Selectores de país e idioma: texto legible y listas que se abren hacia abajo (antes quedaban fuera de pantalla) */
.shopify-section:has(> .c44-topbar) { position: relative; z-index: 6; }
.c44-topbar .disclosure__list-wrapper, .c44-footer .disclosure__list-wrapper { color: var(--c44-tinta); background: var(--c44-papel); }
.c44-topbar .disclosure__list-wrapper a, .c44-footer .disclosure__list-wrapper a,
.c44-topbar .disclosure__list-wrapper .disclosure__link, .c44-footer .disclosure__list-wrapper .disclosure__link { color: var(--c44-tinta); }
.c44-topbar .disclosure__list-wrapper .disclosure__link:hover, .c44-footer .disclosure__list-wrapper .disclosure__link:hover { color: var(--c44-barro); }
.c44-topbar .country-filter input, .c44-footer .country-filter input { color: var(--c44-tinta); }
.c44-topbar .localization-form__select, .c44-footer .localization-form__select { white-space: nowrap; }
.c44-topbar .disclosure__list-wrapper:not(.country-selector) { bottom: auto; top: calc(100% + .6rem); right: 0; left: auto; transform: none; z-index: 20; min-width: 16rem; }
@media screen and (min-width: 750px) {
  .c44-topbar .disclosure__list-wrapper { bottom: auto; top: calc(100% + .6rem); right: 0; left: auto; transform: none; z-index: 20; }
}
@media (max-width: 749px) {
  .c44-topbar .localization-form__select { font-size: 1.15rem; padding: 0 2.2rem 0 .9rem; height: 3.4rem; }
  .c44-topbar .localization-form__select .icon-caret { right: .6rem; }
}

/* Celular (revisión 2026-10-08): selectores cortos, palomitas del inicio, precios, pagos y galería */
.c44-chip svg { width: 1.6rem; height: 1.6rem; flex: none; }
.c44-bar .c44-lead { color: rgba(250, 248, 245, .82); }
.c44-footer .list-payment { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; padding: 0; }
@media (max-width: 749px) {
  .c44-topbar .c44-loc-long { display: none; }
  .c44-topbar .c44-loc-short[hidden] { display: inline; }
  .c44-topbar__contact a { padding: .4rem; }
  .c44-topbar svg { width: 1.7rem; height: 1.7rem; }
  .c44-hero__bullets { gap: .8rem; }
  .c44-hero__bullets .c44-chip { font-size: 1.25rem; padding: .5rem 1.1rem; }
  .c44-gallery__grid figure:nth-child(4):last-child { grid-column: span 2; }
  .c44-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* Indicador de scroll: flota abajo al centro de la primera pantalla y se desvanece al empezar a bajar */
.c44-scrollcue { position: fixed; left: 50%; bottom: calc(2.4rem + env(safe-area-inset-bottom)); z-index: 40; display: inline-flex; flex-direction: column; align-items: center; gap: .6rem; padding: 0; border: 0; background: none; color: var(--c44-tinta); font: 700 1.05rem/1 var(--font-body-family); letter-spacing: .22em; text-transform: uppercase; cursor: pointer; transform: translate(-50%, 0); opacity: 0; animation: c44-cue-in .8s 1.6s var(--c44-ease) forwards; transition: opacity .45s var(--c44-ease), transform .45s var(--c44-ease); }
.c44-scrollcue.is-gone { opacity: 0 !important; transform: translate(-50%, 1.2rem); pointer-events: none; animation: none; }
.c44-scrollcue__mouse { width: 2.6rem; height: 4rem; border-radius: 1.4rem; border: 2px solid currentColor; display: flex; justify-content: center; padding-top: .7rem; background: rgba(250, 248, 245, .7); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 8px 24px -10px rgba(26, 21, 18, .35); }
.c44-scrollcue__mouse i { width: .4rem; height: .9rem; border-radius: 1rem; background: var(--c44-barro); animation: c44-cue-wheel 1.8s var(--c44-ease) infinite; }
.c44-scrollcue__label { opacity: .7; }
.c44-scrollcue:hover .c44-scrollcue__mouse, .c44-scrollcue:focus-visible .c44-scrollcue__mouse { border-color: var(--c44-barro); }
@keyframes c44-cue-in { to { opacity: 1; } }
@keyframes c44-cue-wheel { 0% { transform: translateY(0); opacity: 0; } 25% { opacity: 1; } 70% { transform: translateY(1.3rem); opacity: 0; } 100% { opacity: 0; } }
@media (max-width: 749px) { .c44-scrollcue { bottom: calc(1.6rem + env(safe-area-inset-bottom)); } .c44-scrollcue__mouse { width: 2.2rem; height: 3.4rem; } }
/* En celular cae encima del texto: pastilla sólida flotante (ícono + texto) en lugar del contorno transparente. */
@media (max-width: 749px) { .c44-scrollcue { flex-direction: row; gap: .6rem; padding: .5rem 1.4rem .5rem .7rem; border-radius: 999px; background: var(--c44-papel); box-shadow: 0 10px 24px -10px rgba(26, 21, 18, .45); } .c44-scrollcue__mouse { width: 1.8rem; height: 2.8rem; padding-top: .5rem; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; } .c44-scrollcue__label { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .c44-scrollcue { animation: none; opacity: 1; } .c44-scrollcue__mouse i { animation: none; opacity: 1; } }
.c44-drawer-open .c44-scrollcue { display: none; }
/* En la vista previa de Shopify, subir el indicador sobre la barra negra de "Draft" */
body:has(#PBarNextFrameWrapper) .c44-scrollcue { bottom: calc(2.4rem + 68px); }
/* Pantallas táctiles: círculo de vidrio con flecha que baja (el ratón no tiene sentido en un celular) */
@media (hover: none) {
  .c44-scrollcue__mouse { width: 3.6rem; height: 3.6rem; border-radius: 50%; border-width: 1.5px; padding: 0; align-items: center; }
  .c44-scrollcue__mouse i { width: .9rem; height: .9rem; border-radius: 0; background: none; border-right: 2px solid var(--c44-barro); border-bottom: 2px solid var(--c44-barro); transform: rotate(45deg); animation: c44-cue-chev 1.6s var(--c44-ease) infinite; }
}
@keyframes c44-cue-chev { 0%, 100% { transform: translateY(-.3rem) rotate(45deg); opacity: .4; } 50% { transform: translateY(.3rem) rotate(45deg); opacity: 1; } }

/* Tarjetas de producto alineadas: misma altura, título de hasta 3 renglones (espacio reservado),
   precio y botón siempre a la misma altura sin importar el largo del nombre */
.product-grid .grid__item, .slider .grid__item { display: flex; }
.product-grid .card-wrapper, .slider .card-wrapper { width: 100%; height: 100%; }
.card-wrapper .card { height: 100%; }
.card-wrapper .card__content { display: flex; flex-direction: column; flex-grow: 1; }
.card-wrapper .card__information { display: flex; flex-direction: column; flex-grow: 1; gap: .8rem; }
.card-wrapper .card__heading { margin: 0; line-height: 1.3; min-height: calc(1.3em * 3); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card-wrapper .card-information { margin-top: auto; }
.card-wrapper .card-information .price { margin: 0; line-height: 1.2; min-height: calc(1.2em + 1.6rem); display: flex; flex-direction: column; justify-content: flex-end; }
.card-wrapper .price .c44-from { display: block; font-family: var(--font-body-family); font-weight: 600; font-size: 1.2rem; letter-spacing: .02em; color: var(--c44-arena); margin-bottom: .2rem; }
.card-wrapper .price-item { white-space: nowrap; }
.card-wrapper .quick-add { margin: 1.4rem 0 0; }
.card-wrapper .quick-add__submit { width: 100%; min-height: 4.4rem; padding: .6rem 1.2rem; letter-spacing: 0; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 749px) {
  .card-wrapper .card__heading { font-size: 1.35rem; }
  .card-wrapper .card-information .price, .card-wrapper .price .price-item--regular, .card-wrapper .price .price-item--sale { font-size: 1.5rem; }
  .card-wrapper .quick-add__submit { font-size: 1.25rem; min-height: 4rem; }
  .card-wrapper .quick-add__submit::after { box-shadow: none; }
}

/* Indicador de scroll en celular: píldora de vidrio para que se lea aunque pase sobre el texto */
@media (hover: none) {
  .c44-scrollcue { flex-direction: row; gap: .8rem; padding: .5rem 1.4rem .5rem .5rem; border-radius: 999px; background: rgba(250, 248, 245, .82); -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4); box-shadow: 0 10px 30px -12px rgba(26, 21, 18, .45), inset 0 0 0 1px rgba(26, 21, 18, .08); }
  .c44-scrollcue__mouse { width: 3rem; height: 3rem; border: 0; background: var(--c44-loteria); box-shadow: none; }
  .c44-scrollcue__mouse i { border-color: var(--c44-tinta); }
  .c44-scrollcue__label { opacity: 1; }
}
/* Ninguna pieza de la tarjeta puede ensanchar la tarjeta (antes el botón empujaba y se encimaban) */
.card-wrapper, .card-wrapper .card, .card-wrapper .card__content, .card-wrapper .card__information, .card-wrapper .quick-add, .card-wrapper product-form, .card-wrapper form { min-width: 0; max-width: 100%; }
/* Fotos de producto en cuadro igual para todas: los títulos empiezan a la misma altura */
.card-wrapper .card__inner.ratio { --ratio-percent: 100% !important; }
.card-wrapper .card__media .media img { object-fit: contain; }
.product-grid > .grid__item, .slider > .grid__item, .grid > .grid__item { min-width: 0; }

/* "Así se sirve": en compu la imagen fija acompaña la lista; en celular la sección se queda fija
   y al deslizar cambian imagen y paso (1 → 2 → 3); al terminar, la página sigue normal */
.c44-steps__pin { display: contents; }
.c44-steps__dots, .c44-steps__after { display: none; }
@media (max-width: 989px) {
  .c44-steps__grid { display: block; position: relative; height: calc(100svh - var(--c44-pin-top, 0px) + var(--c44-n, 3) * 70svh); }
  .c44-steps__pin { position: sticky; top: var(--c44-pin-top, 0px); height: calc(100svh - var(--c44-pin-top, 0px)); display: flex; flex-direction: column; justify-content: center; gap: 1.6rem; padding-block: 1.6rem; }
  .c44-steps__visual { position: relative; top: 0; flex: 1 1 auto; min-height: 0; max-height: 46svh; aspect-ratio: auto; width: 100%; }
  .c44-steps__list { display: grid; gap: 0; }
  .c44-step { grid-area: 1 / 1; opacity: 0; transform: translateY(1.6rem); pointer-events: none; transition: opacity .45s var(--c44-ease), transform .45s var(--c44-ease), background .4s; }
  .c44-step.is-active { opacity: 1; transform: none; pointer-events: auto; }
  .c44-steps__end { display: none; }
  .c44-steps__dots { display: flex; justify-content: center; gap: .6rem; }
  .c44-steps__dots i { width: .8rem; height: .8rem; border-radius: 999px; background: rgba(26, 21, 18, .2); transition: width .4s var(--c44-ease), background .4s; }
  .c44-steps__dots i.is-on { width: 2.4rem; background: var(--c44-barro); }
  .c44-steps__after { display: block; }
  .c44-steps__after .c44-steps__done { margin-top: 0; }
}
@media (max-width: 989px) and (prefers-reduced-motion: reduce) { .c44-step { transition: none; transform: none; } }
/* Foto de la fundadora: proporción fija (antes tomaba la altura original de la foto en celular) */
.c44-founder__photo img { height: auto; display: block; }
@media (max-width: 989px) { .c44-founder__photo { margin-inline: auto; width: 100%; } .c44-founder__photo img { aspect-ratio: 4 / 5; max-height: 62svh; object-position: 50% 20%; } }

/* Coreografía de la mascota: cada sección tiene su movimiento (ver c44.js) */
.c44-mascot-pos--cross, .c44-mascot-pos--clock, .c44-mascot-pos--spin { position: absolute; z-index: 2; pointer-events: none; }
.c44-mascot-pos--cross { left: 0; bottom: .4rem; width: clamp(7rem, 8vw, 11rem); }
.c44-mascot-pos--clock { right: clamp(1.2rem, 4vw, 6rem); top: clamp(2rem, 5vw, 6rem); width: clamp(7rem, 9vw, 13rem); }
.c44-mascot-pos--spin { right: clamp(1.2rem, 4vw, 8rem); top: clamp(3rem, 6vw, 7rem); width: clamp(7.5rem, 9vw, 13rem); }
.c44-mascot[data-move="cross"], .c44-mascot[data-move="clock"], .c44-mascot[data-move="spin"] { will-change: transform; }
.c44-mascot-wrap--dance.is-dancing .c44-mascot { animation: c44-dance 1.1s cubic-bezier(.45, 0, .55, 1) infinite; transform-origin: 50% 100%; }
@keyframes c44-dance {
  0%   { transform: translateY(0) rotate(0) scale(1, 1); }
  12%  { transform: translateY(0) rotate(-10deg) scale(1.06, .92); }
  25%  { transform: translateY(-16%) rotate(-4deg) scale(.96, 1.06); }
  37%  { transform: translateY(0) rotate(0) scale(1.08, .9); }
  50%  { transform: translateY(0) rotate(10deg) scale(1.04, .95); }
  62%  { transform: translateY(-16%) rotate(4deg) scale(.96, 1.06); }
  75%  { transform: translateY(0) rotate(0) scale(1.08, .9); }
  87%  { transform: translateY(-6%) rotateY(180deg) scale(1, 1); }
  100% { transform: translateY(0) rotateY(360deg) scale(1, 1); }
}
@media (prefers-reduced-motion: reduce) { .c44-mascot-wrap--dance.is-dancing .c44-mascot { animation: none; } .c44-mascot-pos--cross { display: none; } }
/* Tarjetas de recetas: sin el espacio reservado de las tarjetas de producto */
.article-card-wrapper .card__heading { min-height: 0; -webkit-line-clamp: unset; display: block; }
/* Pestañas de paquetes en celular: en una línea, desplazables */
@media (max-width: 749px) {
  .c44-packs__tabs { display: flex; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .c44-packs__tabs::-webkit-scrollbar { display: none; }
  .c44-packs__tab { flex: none; white-space: nowrap; padding: .8rem 1.3rem; font-size: 1.25rem; }
}

/* Redes: tarjetas con el color de cada red, como estampas; la grande es Instagram */
.c44-social__wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 5vw, 7rem); align-items: center; }
.c44-social__head .c44-lead { margin-top: 1.2rem; }
.c44-social__tag { display: inline-block; margin-top: 2rem; padding: .9rem 1.8rem; border-radius: 999px; background: var(--c44-tinta); color: var(--c44-loteria); font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(1.8rem, 2.2vw, 2.4rem); letter-spacing: -.01em; transform: rotate(-2deg); box-shadow: 0 14px 30px -14px rgba(26, 21, 18, .6); }
.c44-social__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.c44-social__tile { position: relative; display: flex; flex-direction: column; gap: 1.6rem; padding: 2.2rem; min-height: 19rem; border-radius: 2.4rem; color: #fff; text-decoration: none; overflow: hidden; isolation: isolate; box-shadow: 0 24px 40px -24px rgba(26, 21, 18, .55); transition: transform .5s var(--c44-ease), box-shadow .5s var(--c44-ease); }
.c44-social__tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(120% 80% at 100% 0%, rgba(255, 255, 255, .28), transparent 55%); }
.c44-social__tile:hover { transform: translateY(-6px) rotate(0deg) !important; box-shadow: 0 34px 50px -26px rgba(26, 21, 18, .6); }
.c44-social__tile--instagram { grid-column: 1 / -1; min-height: 22rem; background: linear-gradient(135deg, #feda75 0%, #fa7e1e 25%, #d62976 55%, #962fbf 80%, #4f5bd5 100%); transform: rotate(-1deg); }
.c44-social__tile--tiktok { background: #111; transform: rotate(1.5deg); }
.c44-social__tile--tiktok .c44-social__icon svg { filter: drop-shadow(2px 2px 0 #fe2c55) drop-shadow(-2px -2px 0 #25f4ee); }
.c44-social__tile--facebook { background: #1877f2; transform: rotate(-1.5deg); }
.c44-social__icon { width: 5.2rem; height: 5.2rem; border-radius: 1.6rem; display: grid; place-items: center; background: rgba(255, 255, 255, .18); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.c44-social__icon svg { width: 2.8rem; height: 2.8rem; color: #fff; }
.c44-social__body { display: grid; gap: .3rem; margin-top: auto; }
.c44-social__body b { font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(1.8rem, 2vw, 2.4rem); letter-spacing: -.01em; line-height: 1.1; overflow-wrap: anywhere; }
.c44-social__body small { font-size: 1.35rem; opacity: .85; line-height: 1.35; }
.c44-social__go { position: absolute; top: 2.2rem; right: 2.2rem; display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1.3rem; border-radius: 999px; background: #fff; color: var(--c44-tinta); font-family: var(--font-heading-family); font-weight: 800; font-size: 1.3rem; }
.c44-social__go svg { width: 1.4rem; height: 1.4rem; transition: transform .3s var(--c44-ease); }
.c44-social__tile:hover .c44-social__go svg { transform: translateX(3px); }
@media (max-width: 989px) { .c44-social__wrap { grid-template-columns: 1fr; } }
@media (max-width: 749px) {
  .c44-social__grid { gap: 1.2rem; }
  .c44-social__tile { min-height: 17rem; padding: 1.8rem; border-radius: 2rem; }
  .c44-social__tile--instagram { min-height: 18rem; }
  .c44-social__icon { width: 4.4rem; height: 4.4rem; border-radius: 1.3rem; }
  .c44-social__icon svg { width: 2.4rem; height: 2.4rem; }
  .c44-social__go { top: 1.6rem; right: 1.6rem; padding: .6rem 1.1rem; font-size: 1.2rem; }
  .c44-social__tile--tiktok .c44-social__go, .c44-social__tile--facebook .c44-social__go { padding: .6rem; font-size: 0; gap: 0; }
  .c44-social__tile--tiktok .c44-social__go svg, .c44-social__tile--facebook .c44-social__go svg { width: 1.5rem; height: 1.5rem; }
  .c44-social__body b { font-size: 1.7rem; }
  .c44-social__body small { font-size: 1.25rem; }
}
/* La mascota que cruza camina en su propio carril debajo de las cifras (no tapa el texto) */
.c44-trust:has(.c44-mascot-pos--cross) { padding-bottom: clamp(12rem, 14vw, 18rem); }
.c44-mascot-pos--cross { bottom: 0; width: clamp(6.5rem, 7vw, 9.5rem); }
.c44-trust:has(.c44-mascot-pos--cross)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 1.2rem; height: 1px; background: linear-gradient(90deg, transparent, var(--c44-linea) 20%, var(--c44-linea) 80%, transparent); }

/* Llamado final con calendario de disponibilidad: texto a la izquierda, calendario a la derecha;
   la mascota (más chica) se asoma bailando por la esquina del calendario */
.c44-cta__inner { grid-template-columns: 1fr minmax(0, 44rem); gap: clamp(3rem, 5vw, 7rem); }
.c44-cta__copy .c44-title { margin-bottom: 1.2rem; }
.c44-cal { position: relative; background: var(--c44-papel); border-radius: 2.8rem; padding: 2.2rem 2rem 2rem; box-shadow: 0 30px 60px -30px rgba(26, 21, 18, .55), 0 0 0 2px var(--c44-tinta); }
.c44-cal__mascot { position: absolute; top: -7.4rem; right: 1.4rem; width: 7rem; z-index: 2; pointer-events: none; }
.c44-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.2rem; }
.c44-cal__month { margin: 0; font-family: var(--font-heading-family); font-weight: 800; font-size: 2rem; letter-spacing: -.01em; text-transform: capitalize; }
.c44-cal__nav { width: 4rem; height: 4rem; border-radius: 50%; border: 0; background: var(--c44-hueso); color: var(--c44-tinta); font-size: 2.2rem; line-height: 1; cursor: pointer; display: grid; place-items: center; transition: background .2s; }
.c44-cal__nav:hover:not(:disabled) { background: var(--c44-loteria); }
.c44-cal__nav:disabled { opacity: .3; cursor: default; }
.c44-cal__week, .c44-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: .4rem; }
.c44-cal__week span { text-align: center; font-size: 1.15rem; font-weight: 700; color: var(--c44-arena); padding-bottom: .4rem; }
.c44-cal__day { position: relative; aspect-ratio: 1; border: 0; border-radius: 1.2rem; background: transparent; font: inherit; font-weight: 700; font-size: 1.45rem; color: var(--c44-tinta); cursor: pointer; transition: background .2s, color .2s, transform .2s var(--c44-ease); }
.c44-cal__day:hover:not(:disabled) { background: var(--c44-hueso); }
.c44-cal__day:disabled { color: rgba(26, 21, 18, .22); cursor: default; }
.c44-cal__day.is-today::before { content: ""; position: absolute; inset: 3px; border-radius: 1rem; border: 1.5px dashed var(--c44-arena); }
.c44-cal__day.is-busy { background: repeating-linear-gradient(-45deg, #f6dcd0, #f6dcd0 4px, #fbe9e1 4px, #fbe9e1 8px); color: #a8321f; }
.c44-cal__day.is-busy::after { content: ""; position: absolute; left: 50%; bottom: 14%; width: .5rem; height: .5rem; border-radius: 50%; background: currentColor; transform: translateX(-50%); }
.c44-cal__day.is-selected { background: var(--c44-tinta) !important; color: var(--c44-loteria) !important; transform: scale(1.06); }
.c44-cal__legend { display: flex; gap: 1.6rem; margin-top: 1.2rem; font-size: 1.2rem; color: var(--c44-arena); }
.c44-cal__legend span { display: inline-flex; align-items: center; gap: .5rem; }
.c44-cal__legend i { width: 1.2rem; height: 1.2rem; border-radius: .4rem; display: inline-block; }
.c44-cal__legend .is-free { background: var(--c44-hueso); }
.c44-cal__legend .is-busy { background: repeating-linear-gradient(-45deg, #f6dcd0, #f6dcd0 3px, #fbe9e1 3px, #fbe9e1 6px); box-shadow: inset 0 0 0 1px #e9b9a6; }
.c44-cal__info { margin-top: 1.4rem; padding-top: 1.4rem; border-top: 1px solid var(--c44-linea); }
.c44-cal__msg { margin: 0 0 1.2rem; font-size: 1.45rem; line-height: 1.45; }
.c44-cal__msg b { font-family: var(--font-heading-family); }
.c44-cal__msg ul { margin: .6rem 0; padding: 0; list-style: none; display: grid; gap: .4rem; }
.c44-cal__msg li { display: flex; gap: .6rem; align-items: center; font-weight: 700; }
.c44-cal__msg li::before { content: ""; width: .8rem; height: .8rem; border-radius: 50%; background: #a8321f; flex: none; }
.c44-cal__actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.c44-cal__actions .c44-btn { flex: 1 1 auto; justify-content: center; }
.c44-cal__actions [hidden] { display: none; }
@media (max-width: 989px) { .c44-cta__inner { grid-template-columns: 1fr; } .c44-cal { margin-top: 5rem; } }
@media (max-width: 749px) { .c44-cal { padding: 1.8rem 1.4rem 1.6rem; border-radius: 2.4rem; } .c44-cal__mascot { width: 6.2rem; top: -6.6rem; right: 1.2rem; } .c44-cal__day { font-size: 1.35rem; border-radius: 1rem; } }

/* Pie de página compacto en celular: marca y redes en una fila, menú en 2 columnas, oficinas lado a lado,
   sin selectores repetidos (ya están arriba) y políticas/pagos en bloque corto */
.c44-footer__offices .c44-footer__office { margin-bottom: 2rem; }
@media (max-width: 749px) {
  .c44-footer { padding-block: 3.6rem 2rem; }
  .c44-footer__grid { gap: 2.6rem; }
  .c44-footer__brand { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 1.2rem; }
  .c44-footer__brand > a { grid-column: 1; }
  .c44-footer__brand .c44-footer__social { grid-column: 2; grid-row: 1; margin: 0; gap: .6rem; }
  .c44-footer__brand .c44-footer__social a { width: 3.6rem; height: 3.6rem; }
  .c44-footer__brand .c44-footer__social svg { width: 1.6rem; height: 1.6rem; }
  .c44-footer__tag { grid-column: 1 / -1; margin: 1.4rem 0 .4rem; font-size: 1.6rem; }
  .c44-footer__alc { grid-column: 1 / -1; font-size: 1.15rem; }
  .c44-footer h3 { font-size: 1.1rem; margin-bottom: 1rem; }
  .c44-footer__nav ul { grid-template-columns: 1fr 1fr; gap: .9rem 1.6rem; font-size: 1.4rem; }
  .c44-footer__offices { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; }
  .c44-footer__offices .c44-footer__office { margin: 0; gap: .35rem; font-size: 1.25rem; }
  .c44-footer__offices .c44-footer__office a { overflow-wrap: anywhere; color: rgba(250, 248, 245, .8); }
  .c44-footer__news p { font-size: 1.25rem; }
  .c44-footer__news input { min-height: 4.4rem; }
  .c44-footer__loc { display: none !important; }
  .c44-footer__bottom { margin-top: 2.6rem; padding-top: 1.8rem; gap: 1.4rem; font-size: 1.15rem; }
  .c44-footer__bottom > div:first-child { order: 3; }
  .c44-footer__policies { order: 1; gap: .4rem 1.4rem; font-size: 1.2rem; }
  .c44-footer .list-payment { order: 2; gap: .4rem; }
  .c44-footer .list-payment .icon { width: 3.4rem; height: 2.2rem; }
}
/* Ajustes finos: la mascota se para sobre el borde del calendario sin tapar las flechas; políticas en línea */
.c44-cal__month { text-transform: none; }
.c44-cal__mascot { top: -11.2rem; right: 7rem; width: 6.8rem; }
@media (max-width: 749px) {
  .c44-cal__mascot { top: -10.2rem; right: 6.4rem; width: 6.2rem; }
  .c44-cal { margin-top: 10rem; }
  .c44-footer .c44-footer__policies { display: flex; flex-wrap: wrap; }
  .c44-footer__offices { grid-template-columns: 1fr 1.12fr; gap: 1.2rem; }
  .c44-footer__offices .c44-footer__office a { overflow-wrap: normal; font-size: 1.15rem; }
}

/* Paquetes: una pregunta clara ("¿Quién pone el tequila?") con dos botones iguales y una píldora que se desliza;
   tarjetas compactas: nombre y precio arriba, 4 datos en una fila, depósito + botón abajo */
.c44-packs__tabs { display: none; }
.c44-packs__pick { margin-bottom: 2.4rem; max-width: 56rem; }
.c44-packs__ask { margin: 0 0 1rem; font-family: var(--font-heading-family); font-weight: 800; font-size: 1.7rem; }
.c44-packs__seg { position: relative; display: grid; grid-template-columns: 1fr 1fr; padding: .5rem; border-radius: 2rem; background: var(--c44-hueso); box-shadow: inset 0 0 0 1px var(--c44-linea); }
.c44-packs__thumb { position: absolute; top: .5rem; bottom: .5rem; left: .5rem; width: calc(50% - .5rem); border-radius: 1.6rem; background: var(--c44-tinta); box-shadow: 0 10px 24px -12px rgba(26, 21, 18, .7); transition: transform .45s var(--c44-ease); }
.c44-packs__seg[data-active="B"] .c44-packs__thumb { transform: translateX(100%); }
.c44-packs__seg .c44-packs__tab { position: relative; z-index: 1; display: grid; gap: .2rem; padding: 1.2rem .8rem; border: 0; background: none; border-radius: 1.6rem; cursor: pointer; text-align: center; color: var(--c44-tinta); font: inherit; transition: color .3s; }
.c44-packs__seg .c44-packs__tab b { font-family: var(--font-heading-family); font-weight: 800; font-size: 1.55rem; }
.c44-packs__seg .c44-packs__tab small { font-size: 1.15rem; color: var(--c44-arena); transition: color .3s; }
.c44-packs__seg .c44-packs__tab[aria-selected="true"] { color: var(--c44-papel); }
.c44-packs__seg .c44-packs__tab[aria-selected="true"] small { color: var(--c44-loteria); }
.c44-pack { gap: 1.4rem; padding: 2rem; animation: c44-pack-in .5s var(--c44-ease) both; }
@keyframes c44-pack-in { from { opacity: 0; transform: translateY(1.2rem); } }
.c44-pack__top { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.c44-pack__name { font-family: var(--font-heading-family); font-weight: 800; font-size: 2rem; }
.c44-pack__price { font-size: clamp(2.6rem, 3vw, 3.2rem); }
.c44-pack__specs { list-style: none; margin: 0; padding: 1.2rem 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; border-block: 1px solid var(--c44-linea); font-size: 1.1rem; color: var(--c44-arena); text-align: center; }
.c44-pack__specs li { display: grid; gap: .2rem; line-height: 1.2; }
.c44-pack__specs b { font-size: 1.6rem; color: var(--c44-tinta); font-family: var(--font-heading-family); white-space: nowrap; }
.c44-pack__provide { margin: 0; font-size: 1.3rem; padding: .9rem 1.2rem; }
.c44-pack__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.c44-pack__deposit { display: grid; font-size: 1.15rem; line-height: 1.25; }
.c44-pack__deposit b { font-size: 1.7rem; }
.c44-pack__foot .c44-btn { flex: none; }
.c44-pack--featured { outline-offset: 0; }
@media (prefers-reduced-motion: reduce) { .c44-pack { animation: none; } .c44-packs__thumb { transition: none; } }
.c44-pack__name, .c44-pack__price { color: var(--c44-tinta); }

/* Add-ons: carrusel horizontal que avanza solo (con la siguiente tarjeta asomándose) */
.c44-extras__grid { display: none; }
.c44-extras__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(28rem, 32rem); gap: 1.6rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 0; padding: .6rem .2rem 2.4rem; margin-inline: -.2rem; scrollbar-width: none; overscroll-behavior-x: contain; }
.c44-extras__track::-webkit-scrollbar { display: none; }
.c44-extras__track:focus-visible { outline: 2px solid var(--c44-barro); outline-offset: 4px; border-radius: var(--c44-r); }
.c44-extra { position: relative; scroll-snap-align: start; display: flex; flex-direction: column; gap: .8rem; padding: 2.2rem; min-height: 22rem; }
.c44-extra__plus { width: 4rem; height: 4rem; border-radius: 1.2rem; display: grid; place-items: center; background: var(--c44-loteria); color: var(--c44-tinta); font-family: var(--font-heading-family); font-weight: 800; font-size: 2.4rem; line-height: 1; margin-bottom: .4rem; }
.c44-extra b { font-size: 1.75rem; line-height: 1.25; color: var(--c44-tinta); }
.c44-extra__foot { margin-top: auto; padding-top: 1.2rem; border-top: 1px solid var(--c44-linea); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.c44-extra__add { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; font-size: 1.25rem; color: var(--c44-barro); text-decoration: none; white-space: nowrap; }
.c44-extra__add svg { width: 1.3rem; height: 1.3rem; }
.c44-extras__dots { display: flex; justify-content: center; gap: .6rem; }
.c44-extras__dots i { width: .8rem; height: .8rem; border-radius: 999px; background: rgba(26, 21, 18, .2); transition: width .4s var(--c44-ease), background .4s; }
.c44-extras__dots i.is-on { width: 2.4rem; background: var(--c44-barro); }
@media (max-width: 749px) { .c44-extras__track { grid-auto-columns: 82%; gap: 1.2rem; } .c44-extra { min-height: 20rem; padding: 2rem; } }
/* Reserva: aviso de fecha ocupada */
.c44-book__busy { grid-column: 1 / -1; margin: 0; display: grid; gap: 1rem; padding: 1.4rem 1.6rem; border-radius: var(--c44-r-sm); background: #fbe9e1; border: 1px solid #e9b9a6; color: #7a2516; font-size: 1.4rem; line-height: 1.45; }
.c44-book__busy[hidden] { display: none; }
.c44-book__busy .c44-btn { justify-self: start; }
/* "Así se sirve" en celular: cada paso cambia con un solo deslizamiento (35 % de pantalla por paso)
   y el avance es una barra vertical a la derecha, que invita a deslizar hacia abajo */
@media (max-width: 989px) {
  .c44-steps__grid { height: calc(100svh - var(--c44-pin-top, 0px) + var(--c44-n, 3) * 32svh); }
  .c44-steps__pin { padding-right: 2.6rem; }
  .c44-steps__dots { position: absolute; right: 0; top: 50%; transform: translateY(-50%); flex-direction: column; align-items: center; gap: .6rem; }
  .c44-steps__dots i { width: .6rem; height: .8rem; }
  .c44-steps__dots i.is-on { width: .6rem; height: 3rem; }
  .c44-step { transition: opacity .3s var(--c44-ease), transform .3s var(--c44-ease), background .3s; }
}


/* Portada: los cuadros de alcohol y Yelp entran rebotando al cargar y luego corren los números */
.c44-hero__badge { color: var(--c44-tinta); text-decoration: none; }
a.c44-hero__badge:hover { box-shadow: 0 18px 36px -16px rgba(26, 21, 18, .45); }
a.c44-hero__badge small { text-decoration: underline; text-underline-offset: 2px; }
.c44-hero__badge b { font-variant-numeric: tabular-nums; }
.c44-pop { opacity: 0; transform: scale(.4) translateY(20px); animation: c44-pop .8s cubic-bezier(.34, 1.56, .64, 1) forwards; }
.c44-hero__badge--2.c44-pop { animation-delay: .15s; }
.c44-hero__badge:not(.c44-hero__badge--2).c44-pop { animation-delay: .35s; }
@keyframes c44-pop { 0% { opacity: 0; transform: scale(.4) translateY(20px); } 60% { opacity: 1; transform: scale(1.08) translateY(-4px); } 80% { transform: scale(.97); } 100% { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .c44-pop { animation: none; opacity: 1; transform: none; } }
@media (max-width: 989px) { .c44-hero__badge--2 { left: auto; } .c44-hero__badge { right: auto; } .c44-hero__badge--2 { right: 0; } }
html { scroll-behavior: smooth; }
#resenas { scroll-margin-top: 8rem; }

/* Redes con movimiento al hacer scroll (--e = entrada 0→1, --p = avance de la sección 0→1, lo calcula c44.js):
   el hashtag entra girando desde la izquierda, Instagram sube inclinado en 3D y su degradado se desplaza,
   TikTok y Facebook entran de lados opuestos y siguen flotando a distinta velocidad (parallax) */
.c44-social { --e: 1; --p: .5; perspective: 1200px; }
.c44-social__tag { transform: translateX(calc((1 - var(--e)) * -60vw)) rotate(calc(-2deg - (1 - var(--e)) * 14deg)) scale(calc(.8 + var(--e) * .2)); opacity: calc(.2 + var(--e) * .8); }
.c44-social__grid { transform-style: preserve-3d; }
.c44-social__tile { will-change: transform; transition: box-shadow .5s var(--c44-ease); }
.c44-social__tile--instagram { background-size: 220% 220%; background-position: calc(var(--p) * 100%) 50%; transform: translateY(calc((1 - var(--e)) * 14rem)) rotateX(calc((1 - var(--e)) * 28deg)) rotate(calc(-1deg - (var(--p) - .5) * 3deg)); opacity: calc(var(--e) * 1.4 - .1); transform-origin: 50% 100%; }
.c44-social__tile--tiktok { transform: translate(calc((1 - var(--e)) * -70vw), calc((var(--p) - .5) * -5rem)) rotate(calc(1.5deg - (1 - var(--e)) * 18deg)); }
.c44-social__tile--facebook { transform: translate(calc((1 - var(--e)) * 70vw), calc((var(--p) - .5) * 5rem)) rotate(calc(-1.5deg + (1 - var(--e)) * 18deg)); }
.c44-social__icon { transform: rotate(calc((var(--p) - .5) * 40deg)) scale(calc(.9 + var(--e) * .1)); }
.c44-social__go { transform: translateX(calc((1 - var(--e)) * 3rem)); opacity: var(--e); }
.c44-social__tile:hover { transform: translateY(-6px) !important; }
@media (prefers-reduced-motion: reduce) { .c44-social { --e: 1 !important; --p: .5 !important; } }

/* Barra móvil (sección oscura): el botón "Ver paquetes y reservar" brilla con un halo que respira
   y un destello que lo cruza; el precio también tiene un brillo suave */
.c44-bar .c44-btn--primary { position: relative; overflow: hidden; isolation: isolate; animation: c44-glow 2.4s ease-in-out infinite; }
.c44-bar .c44-btn--primary::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .55) 50%, transparent 65%); transform: translateX(-120%); animation: c44-shine 3.2s ease-in-out infinite; }
.c44-bar__from b { text-shadow: 0 0 24px rgba(245, 166, 35, .45), 0 0 2px rgba(245, 166, 35, .4); }
@keyframes c44-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(245, 166, 35, .55), 0 10px 30px -8px rgba(245, 166, 35, .55); } 50% { box-shadow: 0 0 0 10px rgba(245, 166, 35, 0), 0 14px 46px -4px rgba(245, 166, 35, .9); } }
@keyframes c44-shine { 0%, 55% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }
@media (prefers-reduced-motion: reduce) { .c44-bar .c44-btn--primary, .c44-bar .c44-btn--primary::after { animation: none; } }

/* Portada: "Comprar mixes" y "Cotizar mi evento" entran deslizándose desde la izquierda, uno tras otro, con un pequeño rebote */
.c44-hero .c44-actions .c44-btn { animation: c44-slide-l .8s cubic-bezier(.34, 1.4, .64, 1) both; animation-delay: .55s; }
.c44-hero .c44-actions .c44-btn + .c44-btn { animation-delay: .75s; }
@keyframes c44-slide-l { from { opacity: 0; transform: translateX(-110vw); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .c44-hero .c44-actions .c44-btn { animation: none; } }

/* Calendario en tarjetas de mes, una junto a otra, en carrusel 3D (el giro lo pone c44.js) */
.c44-cta__inner { grid-template-columns: 1fr; }
.c44-cal { background: none; box-shadow: none; padding: 0; border-radius: 0; margin-top: 9rem; max-width: none; }
.c44-cal__mascot { top: -9.6rem; left: 50%; right: auto; transform: translateX(10rem); width: 6.4rem; }
.c44-cal__stage { margin-inline: calc(50% - 50vw); }
.c44-cal__track { display: flex; gap: 1.2rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: 1.6rem calc(50vw - min(41vw, 19rem)) 3rem; scrollbar-width: none; overscroll-behavior-x: contain; outline: none; }
.c44-cal__track::-webkit-scrollbar { display: none; }
.c44-cal__card { flex: none; width: min(82vw, 38rem); scroll-snap-align: center; background: var(--c44-papel); border-radius: 2.6rem; padding: 2rem 1.6rem 1.6rem; box-shadow: 0 30px 60px -30px rgba(26, 21, 18, .6), 0 0 0 2px var(--c44-tinta); transform-origin: 50% 50%; transition: opacity .2s; will-change: transform; cursor: pointer; }
.c44-cal__card.is-center { cursor: default; }
.c44-cal__card .c44-cal__month { display: flex; align-items: baseline; gap: .6rem; margin: 0 0 1.2rem; font-size: 2.2rem; }
.c44-cal__card .c44-cal__month small { font-size: 1.4rem; color: var(--c44-arena); font-weight: 700; }
.c44-cal__count { margin-left: auto; align-self: center; min-width: 2.4rem; height: 2.4rem; padding: 0 .7rem; border-radius: 999px; background: #a8321f; color: #fff; font-size: 1.2rem; display: inline-grid; place-items: center; }
.c44-cal__ctrl { display: flex; align-items: center; justify-content: center; gap: 1.6rem; margin-top: -1rem; }
.c44-cal__ctrl .c44-cal__nav { background: var(--c44-tinta); color: var(--c44-loteria); }
.c44-cal__ctrl .c44-cal__nav:disabled { opacity: .25; }
.c44-cal__dots { display: flex; gap: .5rem; }
.c44-cal__dots i { width: .7rem; height: .7rem; border-radius: 999px; background: rgba(26, 21, 18, .25); transition: width .35s var(--c44-ease), background .35s; }
.c44-cal__dots i.is-on { width: 2.2rem; background: var(--c44-tinta); }
.c44-cal__panel { margin: 2rem auto 0; max-width: 44rem; background: var(--c44-papel); border-radius: 2.2rem; padding: 1.6rem 1.8rem; box-shadow: 0 20px 40px -26px rgba(26, 21, 18, .5); }
.c44-cal__panel .c44-cal__legend { margin-top: 0; }
@media (min-width: 990px) { .c44-cal__card { width: 36rem; } .c44-cal__track { padding-inline: calc(50vw - 18rem); } }
.c44-cta__inner { grid-template-columns: minmax(0, 1fr) !important; }
.c44-cal, .c44-cal__stage { min-width: 0; }
.c44-cal__stage { width: 100vw; margin-left: calc(50% - 50vw); margin-right: 0; overflow: hidden; }
/* Add-ons en carrusel 3D: la tarjeta del centro de frente, las de los lados giradas */
.c44-extras__track { scroll-snap-type: x mandatory; padding-inline: calc(50% - min(41vw, 16rem)); margin-inline: calc(50% - 50vw); padding-left: calc(50vw - min(41vw, 16rem)); padding-right: calc(50vw - min(41vw, 16rem)); }
.c44-extra { scroll-snap-align: center; will-change: transform; }
@media (max-width: 749px) { .c44-extras__track { grid-auto-columns: 82vw; } }
@media (min-width: 750px) { .c44-extras__track { grid-auto-columns: 32rem; } }
.c44-cal__track, .c44-extras__track { position: relative; }
/* Add-ons: tarjeta más angosta para que se asomen las de los lados girando en 3D */
@media (max-width: 749px) { .c44-extras__track { grid-auto-columns: 74vw; padding-left: 13vw; padding-right: 13vw; } }

/* Encabezado con foto (barra móvil y ciudades): la foto del evento se ve clara arriba y el texto queda sobre la parte oscura */
.c44-phero--photo { min-height: min(86svh, 76rem); display: flex; align-items: flex-end; padding-top: 0; }
.c44-phero--photo .page-width { width: 100%; }
.c44-phero--photo .c44-phero__bg { opacity: 1; background-position: 50% 30%; }
.c44-phero--photo .c44-phero__fade { background: linear-gradient(180deg, rgba(26, 21, 18, .15) 0%, rgba(26, 21, 18, .05) 30%, rgba(26, 21, 18, .75) 62%, rgba(26, 21, 18, .97) 100%); }
@media (min-width: 990px) { .c44-phero--photo .c44-phero__fade { background: linear-gradient(90deg, rgba(26, 21, 18, .95) 0%, rgba(26, 21, 18, .7) 40%, rgba(26, 21, 18, .1) 75%), linear-gradient(0deg, rgba(26, 21, 18, .5), transparent 40%); } .c44-phero--photo { align-items: center; } }
/* Galería con 3 fotos: en compu, la grande a la izquierda y dos a la derecha */
@media (min-width: 750px) { .c44-gallery__grid:has(figure:nth-child(3):last-child) { grid-template-columns: 2fr 1fr; } .c44-gallery__grid:has(figure:nth-child(3):last-child) figure:first-child { grid-column: 1; grid-row: span 2; } }

/* Blog de recetas estilo revista */
.c44-blog__tags { display: flex; gap: .6rem; overflow-x: auto; scrollbar-width: none; margin-bottom: 2.4rem; padding-bottom: .4rem; }
.c44-blog__tags::-webkit-scrollbar { display: none; }
.c44-blog__tag { flex: none; padding: .8rem 1.6rem; border-radius: 999px; background: var(--c44-hueso); color: var(--c44-tinta); text-decoration: none; font-weight: 700; font-size: 1.35rem; transition: background .2s, color .2s; }
.c44-blog__tag.is-on, .c44-blog__tag:hover { background: var(--c44-tinta); color: var(--c44-loteria); }
.c44-blog__hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(2rem, 4vw, 5rem); align-items: center; text-decoration: none; color: var(--c44-tinta); margin-bottom: clamp(4rem, 6vw, 7rem); }
.c44-blog__hero-media { position: relative; border-radius: 2.8rem; overflow: hidden; aspect-ratio: 4 / 3; box-shadow: 0 30px 60px -30px rgba(26, 21, 18, .55); }
.c44-blog__hero-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--c44-ease); }
.c44-blog__hero:hover .c44-blog__hero-media img { transform: scale(1.05); }
.c44-blog__badge { position: absolute; top: 1.6rem; left: 1.6rem; padding: .6rem 1.3rem; border-radius: 999px; background: var(--c44-loteria); color: var(--c44-tinta); font-weight: 800; font-size: 1.25rem; letter-spacing: .06em; text-transform: uppercase; }
.c44-blog__hero-title { font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(3rem, 4vw, 4.6rem); line-height: 1.05; letter-spacing: -.02em; margin: .6rem 0 1.4rem; }
.c44-blog__meta { margin: 0; font-size: 1.25rem; color: var(--c44-arena); font-weight: 600; letter-spacing: .02em; }
.c44-blog__meta span { color: var(--c44-barro); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.c44-blog__excerpt { color: var(--c44-arena); font-size: 1.5rem; line-height: 1.55; margin: 0 0 2rem; }
.c44-blog__more { font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(2.2rem, 2.6vw, 2.8rem); margin: 0 0 1.8rem; }
.c44-blog__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 28rem), 1fr)); gap: 2rem; }
.c44-blog__card { display: flex; flex-direction: column; background: var(--c44-tarjeta); border-radius: 2.2rem; overflow: hidden; text-decoration: none; color: var(--c44-tinta); box-shadow: 0 20px 40px -28px rgba(26, 21, 18, .5); border: 1px solid var(--c44-linea); transition: transform .4s var(--c44-ease), box-shadow .4s; }
.c44-blog__card:hover { transform: translateY(-6px); box-shadow: 0 30px 50px -28px rgba(26, 21, 18, .55); }
.c44-blog__card-media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--c44-hueso); }
.c44-blog__card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--c44-ease); }
.c44-blog__card:hover .c44-blog__card-media img { transform: scale(1.06); }
.c44-blog__chip { position: absolute; left: 1.2rem; bottom: 1.2rem; padding: .5rem 1.1rem; border-radius: 999px; background: rgba(26, 21, 18, .8); color: var(--c44-papel); font-size: 1.15rem; font-weight: 700; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.c44-blog__card-body { display: flex; flex-direction: column; gap: .6rem; padding: 1.8rem 2rem 2rem; flex: 1; }
.c44-blog__card-body h3 { margin: 0; font-family: var(--font-heading-family); font-weight: 800; font-size: 1.9rem; line-height: 1.2; }
.c44-blog__card-body .c44-blog__excerpt { font-size: 1.4rem; margin: 0; }
.c44-blog__read { margin-top: auto; padding-top: 1rem; display: inline-flex; align-items: center; gap: .5rem; font-weight: 800; color: var(--c44-barro); font-size: 1.35rem; }
.c44-blog__read svg { width: 1.4rem; height: 1.4rem; transition: transform .3s var(--c44-ease); }
.c44-blog__card:hover .c44-blog__read svg { transform: translateX(4px); }
.c44-blog__pages { margin-top: 3rem; text-align: center; font-weight: 700; }
@media (max-width: 989px) { .c44-blog__hero { grid-template-columns: 1fr; } }
/* El giro 3D va en una capa interna; la casilla exterior queda recta para que el centrado (scroll-snap) sea exacto */
.c44-cal__card { background: none !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; transform: none !important; }
.c44-cal__face { background: var(--c44-papel); border-radius: 2.6rem; padding: 2rem 1.6rem 1.6rem; box-shadow: 0 30px 60px -30px rgba(26, 21, 18, .6), 0 0 0 2px var(--c44-tinta); will-change: transform; transform-origin: 50% 50%; }
.c44-extra__slot { scroll-snap-align: center; display: flex; }
.c44-extra__slot .c44-extra { width: 100%; scroll-snap-align: none; }
.c44-cal__track, .c44-cal__track * { touch-action: pan-x pan-y; }
/* El tema base oculta los div vacíos (div:empty); los fondos con foto son div vacíos, así que se fuerzan visibles */
.c44-phero__bg, .c44-phero__fade, .c44-bar__bg, .c44-bar__fade, .c44-blob, .c44-hero__ring, .c44-cal__dots, .c44-steps__dots, .c44-extras__dots { display: block; }
.c44-cal__dots, .c44-steps__dots, .c44-extras__dots { display: flex; }
@media (max-width: 749px) { .c44-extras__track { grid-auto-columns: 70vw; padding-left: 15vw; padding-right: 15vw; gap: 1rem; } }
div.c44-phero__bg, div.c44-phero__fade, div.c44-bar__bg, div.c44-bar__fade, div.c44-blob, div.c44-hero__ring { display: block; }
.c44-blog__tag, .c44-blog__chip, .c44-blog__meta span { text-transform: capitalize; }

/* Calendario infinito: tarjetas más angostas para que se asomen el mes anterior y el siguiente */
.c44-cal__card { width: min(70vw, 34rem); }
.c44-cal__track { padding-inline: calc(50vw - min(35vw, 17rem)); gap: .8rem; }
@media (min-width: 990px) { .c44-cal__card { width: 34rem; } .c44-cal__track { padding-inline: calc(50vw - 17rem); gap: 1.6rem; } }
@media (max-width: 749px) { .c44-cal__card .c44-cal__month { font-size: 1.9rem; } .c44-cal__face { padding: 1.6rem 1.2rem 1.2rem; border-radius: 2.2rem; } .c44-cal__day { font-size: 1.25rem; } }
/* Tarjeta final: llamado a reservar o comprar */
.c44-cal__card--cta .c44-cal__face { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; gap: 1rem; background: radial-gradient(120% 70% at 80% 0%, #3a2a1f, var(--c44-tinta) 60%); color: var(--c44-papel); box-shadow: 0 30px 60px -30px rgba(26, 21, 18, .7), 0 0 0 2px var(--c44-tinta); overflow: hidden; min-height: 100%; }
.c44-cal__card--cta { align-self: stretch; }
.c44-cal__track { align-items: stretch; }
.c44-cal__card { display: flex; }
.c44-cal__card > .c44-cal__face { width: 100%; }
.c44-cal__cta-img { position: absolute; right: -1.2rem; top: 1.2rem; width: 42%; height: auto; transform: rotate(10deg); filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .5)); animation: c44-float 3.2s ease-in-out infinite; }
@keyframes c44-float { 0%, 100% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-10px); } }
.c44-cal__card--cta .c44-eyebrow { color: var(--c44-loteria); margin: 0; }
.c44-cal__card--cta h3 { margin: 0; font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(2.6rem, 3vw, 3.2rem); line-height: 1.05; letter-spacing: -.02em; color: var(--c44-papel); max-width: 62%; }
.c44-cal__cta-text { margin: 0 0 .6rem; font-size: 1.4rem; line-height: 1.45; color: rgba(250, 248, 245, .82); }
.c44-cal__card--cta .c44-btn { justify-content: center; width: 100%; }
.c44-cal__card--cta .c44-btn--primary { animation: c44-glow 2.4s ease-in-out infinite; }
.c44-cal__cta-shop { color: var(--c44-papel) !important; border-color: rgba(250, 248, 245, .6) !important; background: transparent; }
@media (prefers-reduced-motion: reduce) { .c44-cal__cta-img, .c44-cal__card--cta .c44-btn--primary { animation: none; } }
/* Menú: íconos de redes en una fila */
.menu-drawer .list-social { display: flex; flex-wrap: wrap; gap: .4rem; padding: 1rem 1.6rem 2rem; }
.menu-drawer .list-social__item .icon { width: 2.2rem; height: 2.2rem; }
.menu-drawer .list-social__link { padding: 1rem; border-radius: 50%; background: var(--c44-tarjeta); }
/* Carruseles de productos: cada tarjeta no puede ensanchar su casilla */
.slider .grid__item, .product-grid .grid__item { min-width: 0; overflow: visible; }
.slider .grid__item > .card-wrapper { max-width: 100%; }
.c44-cal__cta-img { width: 34%; top: .8rem; right: -.6rem; }
.c44-cal__card--cta h3 { max-width: 66%; }
.c44-cal__cta-text { max-width: 100%; position: relative; z-index: 1; }

/* Mascota flotando entre secciones (Micheladas → Así se sirve) */
.c44-mbreak { position: relative; display: grid; place-items: center; padding: 1rem 0 2.4rem; background: linear-gradient(180deg, var(--c44-papel), var(--c44-hueso)); overflow: clip; }
.c44-mbreak__img { width: clamp(9rem, 22vw, 14rem); height: auto; filter: drop-shadow(0 22px 26px rgba(26, 21, 18, .35)); animation: c44-float 3.2s ease-in-out infinite; }
div.c44-mbreak__shadow, .c44-mbreak__shadow { display: block; width: clamp(6rem, 14vw, 9rem); height: 1.2rem; margin-top: -.6rem; border-radius: 50%; background: radial-gradient(closest-side, rgba(26, 21, 18, .28), transparent); animation: c44-float-shadow 3.2s ease-in-out infinite; }
@keyframes c44-float-shadow { 0%, 100% { transform: scaleX(1); opacity: .9; } 50% { transform: scaleX(.75); opacity: .5; } }
@media (prefers-reduced-motion: reduce) { .c44-mbreak__img, .c44-mbreak__shadow { animation: none; } }
.c44-cal__card--cta h3 { max-width: 100%; }
.c44-mbreak__img { filter: none; }
/* Tarjetas del carrusel de productos: nunca más anchas que su casilla (el botón y el precio en una línea las ensanchaban) */
.card-wrapper > .card { width: 100%; max-width: 100%; min-width: 0; }
.card-wrapper .card__content, .card-wrapper .card__information, .card-wrapper .card-information, .card-wrapper .price, .card-wrapper .quick-add, .card-wrapper product-form, .card-wrapper .quick-add__submit { min-width: 0; max-width: 100%; }
.card-wrapper .price-item { white-space: normal; }
.card-wrapper .quick-add__submit { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 749px) { .card-wrapper .quick-add__submit { font-size: 1.15rem; padding-inline: .6rem; } .card-wrapper .card__content { padding-inline: 1.2rem; } }
.card-wrapper .card__content * { min-width: 0; max-width: 100%; }
.card-wrapper modal-opener { display: block; }
.card-wrapper > .card { overflow: hidden; }
.card-wrapper .card > .card__inner, .card-wrapper .card > .card__content { width: 100% !important; max-width: 100%; }
.slider .grid__item > *, .product-grid .grid__item > * { min-width: 0; width: 100%; max-width: 100%; }
.card-wrapper .quick-add__submit { white-space: normal; text-overflow: clip; line-height: 1.15; padding-block: .7rem; }
/* Mascota flotando SOBRE el cambio de sección (no ocupa espacio: la distancia entre Micheladas y Así se sirve queda igual) */
.c44-mbreak { height: 0; padding: 0; background: none; overflow: visible; display: block; position: relative; z-index: 5; }
.shopify-section:has(> .c44-mbreak) { position: relative; z-index: 5; height: 0; }
.c44-mbreak__img { position: absolute; right: max(1.6rem, 6vw); top: 0; transform: translateY(-50%); width: clamp(8rem, 20vw, 13rem); animation: c44-hover 3.2s ease-in-out infinite; }
div.c44-mbreak__shadow { display: none; }
@keyframes c44-hover { 0%, 100% { transform: translateY(-50%) rotate(8deg); } 50% { transform: translateY(calc(-50% - 12px)) rotate(2deg); } }
@media (prefers-reduced-motion: reduce) { .c44-mbreak__img { animation: none; } }
.card-wrapper .price-item { white-space: nowrap; }

/* Productos en carrusel 3D infinito (Cantaritos / Micheladas) */
.c44-pcar__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.c44-pcar__all { display: inline-flex; align-items: center; gap: .4rem; font-weight: 800; color: var(--c44-barro); text-decoration: none; font-size: 1.4rem; white-space: nowrap; }
.c44-pcar__all svg { width: 1.4rem; height: 1.4rem; }
.c44-pcar__stage { width: 100vw; margin-left: calc(50% - 50vw); overflow: hidden; }
.c44-pcar__track { position: relative; display: flex; align-items: stretch; gap: .8rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: 1.6rem calc(50vw - min(31vw, 13rem)) 2.8rem; scrollbar-width: none; overscroll-behavior-x: contain; outline: none; }
.c44-pcar__track::-webkit-scrollbar { display: none; }
.c44-pcar__slot { flex: none; width: min(62vw, 26rem); scroll-snap-align: center; display: flex; }
.c44-pcar__face { width: 100%; will-change: transform; display: flex; }
.c44-pcar__face > .card-wrapper { width: 100%; }
.c44-pcar__face .card { box-shadow: 0 26px 50px -30px rgba(26, 21, 18, .55); }
.c44-pcar__cta { flex-direction: column; justify-content: flex-end; gap: 1rem; padding: 2.4rem 2rem; border-radius: var(--c44-r); background: radial-gradient(120% 70% at 80% 0%, #3a2a1f, var(--c44-tinta) 60%); color: var(--c44-papel); box-shadow: 0 30px 60px -30px rgba(26, 21, 18, .7); }
.c44-pcar__cta .c44-eyebrow { color: var(--c44-loteria); margin: 0; }
.c44-pcar__cta h3 { margin: 0; font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(2.4rem, 3vw, 3rem); line-height: 1.05; letter-spacing: -.02em; color: var(--c44-papel); }
.c44-pcar__cta-text { margin: 0 0 .6rem; font-size: 1.35rem; line-height: 1.45; color: rgba(250, 248, 245, .82); }
.c44-pcar__cta .c44-btn { justify-content: center; width: 100%; }
.c44-pcar__cta .c44-btn--primary { animation: c44-glow 2.4s ease-in-out infinite; }
.c44-pcar__cta2 { color: var(--c44-papel) !important; border-color: rgba(250, 248, 245, .6) !important; background: transparent; }
.c44-pcar__ctrl { display: flex; align-items: center; justify-content: center; gap: 1.6rem; margin-top: -1rem; }
.c44-pcar__ctrl .c44-cal__nav { background: var(--c44-tinta); color: var(--c44-loteria); }
div.c44-pcar__dots, .c44-pcar__dots { display: flex; gap: .5rem; }
.c44-pcar__dots i { width: .7rem; height: .7rem; border-radius: 999px; background: rgba(26, 21, 18, .2); transition: width .35s var(--c44-ease), background .35s; }
.c44-pcar__dots i.is-on { width: 2.2rem; background: var(--c44-tinta); }
.c44-pcar__view { display: flex; align-items: center; justify-content: center; text-decoration: none; }
@media (min-width: 990px) { .c44-pcar__slot { width: 28rem; } .c44-pcar__track { padding-inline: calc(50vw - 14rem); gap: 1.6rem; } }
@media (prefers-reduced-motion: reduce) { .c44-pcar__cta .c44-btn--primary { animation: none; } }

/* Mascotas repartidas: izquierda (entre Micheladas y Así se sirve), centro (barra móvil y calendario), derecha (reseñas e historia).
   La de la barra móvil da vueltas como reloj DENTRO del cuadro (radio corto y con espacio reservado abajo) */
.c44-mbreak__img { right: auto; left: max(1.6rem, 6vw); }
@keyframes c44-hover { 0%, 100% { transform: translateY(-50%) rotate(-8deg); } 50% { transform: translateY(calc(-50% - 12px)) rotate(-2deg); } }
.c44-cal__mascot { left: 50%; transform: translateX(-50%); }
.c44-mascot-pos--clock { right: auto; top: auto; left: 50%; bottom: 3rem; width: 7rem; margin-left: -3.5rem; }
@media (max-width: 989px) { .c44-bar { padding-bottom: 22rem; } }
@media (min-width: 990px) { .c44-mascot-pos--clock { left: auto; margin-left: 0; right: 8rem; bottom: auto; top: 10rem; width: 9rem; } }
/* Los carruseles 3D quedan en su propia capa: las tarjetas nunca pasan por encima del encabezado fijo */
.c44-pcar__stage, .c44-cal__stage, .c44-extras__track { position: relative; z-index: 0; isolation: isolate; }

/* Barra superior: idioma como botón ES | EN y país más compacto */
.c44-lang { display: inline-flex; padding: .3rem; border-radius: 999px; background: rgba(250, 248, 245, .12); gap: .2rem; }
.c44-lang a { min-width: 3.4rem; padding: .5rem .8rem; border-radius: 999px; text-align: center; font-weight: 800; font-size: 1.2rem; letter-spacing: .04em; color: rgba(250, 248, 245, .75) !important; line-height: 1.2; }
.c44-lang a.is-on { background: var(--c44-loteria); color: var(--c44-tinta) !important; }
.c44-topbar__loc { gap: .8rem; }
@media (max-width: 749px) { .c44-topbar .localization-form__select { padding: 0 2.4rem 0 1rem; height: 3.2rem; } }
.c44-lang a[data-c44-lang="es"] { order: -1; }
/* Barra móvil: la mascota-reloj va ARRIBA al centro (antes abajo); el espacio reservado pasa de abajo hacia arriba */
@media (max-width: 989px) {
  .c44-bar { padding-bottom: clamp(5rem, 8vw, 9rem); padding-top: 19rem; }
  .c44-mascot-pos--clock { bottom: auto; top: 3.2rem; }
}
/* Mascota de la historia de Dulce: un poco más a la izquierda y completa (antes se cortaba en la orilla) */
.c44-founder__mascot { position: absolute; right: clamp(3.2rem, 10vw, 8rem); bottom: 1.2rem; width: clamp(8.5rem, 12vw, 15rem); }
@media (max-width: 749px) { .c44-founder__mascot { width: 7.4rem; bottom: .8rem; right: 3.6rem; } }
@media (max-width: 749px) { .c44-founder__mascot { right: 5.6rem; } }
/* Reseñas: mascota que gira un poco más adentro, sin pegarse a la orilla */
.c44-mascot-pos--spin { right: clamp(3.6rem, 9vw, 9rem); }
.c44-tfx { will-change: transform; }

/* Reserva en línea: zona de acción, no informativa. Fondo amarillo lotería con papel picado sutil,
   halo cálido y tarjetas blancas con borde negro; pasos como fichas oscuras */
.c44-book { position: relative; background: var(--c44-loteria); color: var(--c44-tinta); overflow: clip; border-top: 3px solid var(--c44-tinta); border-bottom: 3px solid var(--c44-tinta); }
.c44-book::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .14; background-image: radial-gradient(circle at 1.2rem 1.2rem, var(--c44-tinta) 1.5px, transparent 2px); background-size: 2.4rem 2.4rem; }
div.c44-book__glow { display: block; position: absolute; width: 70vmax; height: 70vmax; left: 50%; top: -30vmax; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 236, 190, .5), transparent); pointer-events: none; }
.c44-book .page-width { position: relative; }
/* El contenido va encima del brillo (antes el brillo deslavaba el título). */
.c44-book .page-width > :not(.c44-book__glow) { position: relative; }
.c44-book .c44-eyebrow { color: var(--c44-tinta); display: inline-flex; align-items: center; gap: .8rem; }
.c44-book .c44-eyebrow::before { background: var(--c44-tinta); }
.c44-book__live { width: 1rem; height: 1rem; border-radius: 50%; background: #1f9d55; box-shadow: 0 0 0 0 rgba(31, 157, 85, .6); animation: c44-live 1.6s infinite; }
@keyframes c44-live { 70% { box-shadow: 0 0 0 1rem rgba(31, 157, 85, 0); } 100% { box-shadow: 0 0 0 0 rgba(31, 157, 85, 0); } }
.c44-book .c44-title { color: var(--c44-tinta); font-size: clamp(3.4rem, 5vw, 5.4rem); }
.c44-book .c44-lead { color: rgba(26, 21, 18, .82); }
.c44-book .c44-card, .c44-book .c44-summary { background: var(--c44-papel); border: 2px solid var(--c44-tinta); box-shadow: 0 .8rem 0 var(--c44-tinta); border-radius: 2.4rem; }
.c44-book__step { background: rgba(250, 248, 245, .55); border: 2px solid var(--c44-tinta); color: var(--c44-tinta); }
.c44-book__step i { background: var(--c44-papel); }
.c44-book__step.is-active { background: var(--c44-tinta); color: var(--c44-loteria); }
.c44-book .c44-opt:has(input:checked) { border-color: var(--c44-tinta); background: #fff3d6; box-shadow: inset 0 0 0 1px var(--c44-tinta); }
@media (prefers-reduced-motion: reduce) { .c44-book__live { animation: none; } }
/* Portada: los botones entran desde la izquierda cuando llegan a la pantalla (no al cargar) */
.c44-hero .c44-actions .c44-btn { animation: none; opacity: 0; transform: translateX(-110vw); }
.c44-hero .c44-actions.is-seen .c44-btn { animation: c44-slide-l .8s cubic-bezier(.34, 1.4, .64, 1) both; }
.c44-hero .c44-actions.is-seen .c44-btn + .c44-btn { animation-delay: .18s; }
.c44-hero .c44-hero__bullets .c44-chip { opacity: 0; transform: translateX(-110vw); }
.c44-hero .c44-hero__bullets.is-seen .c44-chip { animation: c44-slide-l .8s cubic-bezier(.34, 1.4, .64, 1) both; }
.c44-hero .c44-hero__bullets.is-seen .c44-chip:nth-child(2) { animation-delay: .12s; }
.c44-hero .c44-hero__bullets.is-seen .c44-chip:nth-child(3) { animation-delay: .24s; }
@media (prefers-reduced-motion: reduce) { .c44-hero .c44-actions .c44-btn, .c44-hero .c44-hero__bullets .c44-chip { opacity: 1; transform: none; animation: none !important; } }
/* Moneda: USD | MXN igual que el botón de idioma */
.c44-cur { display: inline-flex; margin: 0; padding: .3rem; border-radius: 999px; background: rgba(250, 248, 245, .12); gap: .2rem; }
.c44-cur button { min-width: 4.4rem; padding: .5rem .8rem; border: 0; border-radius: 999px; background: none; font: inherit; font-weight: 800; font-size: 1.2rem; letter-spacing: .04em; color: rgba(250, 248, 245, .75); cursor: pointer; line-height: 1.2; }
.c44-cur button.is-on { background: var(--c44-loteria); color: var(--c44-tinta); }
/* Botones y etiquetas de la portada con transición (en vez de animación de una sola vez) para que también se regresen al subir */
.c44-hero .c44-actions .c44-btn, .c44-hero .c44-hero__bullets .c44-chip { animation: none !important; opacity: 0; transform: translateX(-110vw); transition: transform .8s cubic-bezier(.34, 1.3, .64, 1), opacity .5s ease; }
.c44-hero .c44-actions.is-seen .c44-btn, .c44-hero .c44-hero__bullets.is-seen .c44-chip { opacity: 1; transform: none; }
.c44-hero .c44-actions.is-seen .c44-btn + .c44-btn { transition-delay: .15s; }
.c44-hero .c44-hero__bullets.is-seen .c44-chip:nth-child(2) { transition-delay: .1s; }
.c44-hero .c44-hero__bullets.is-seen .c44-chip:nth-child(3) { transition-delay: .2s; }
@media (prefers-reduced-motion: reduce) { .c44-hero .c44-actions .c44-btn, .c44-hero .c44-hero__bullets .c44-chip { opacity: 1; transform: none; transition: none; } }
/* Pop de tarjetas de producto */
.c44-pop-in { opacity: 0; transform: scale(.72) translateY(26px); transition: transform .65s cubic-bezier(.34, 1.56, .64, 1) var(--pop-d, 0ms), opacity .35s ease var(--pop-d, 0ms); }
.c44-pop-in.is-pop { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .c44-pop-in { opacity: 1; transform: none; transition: none; } }
/* Reseñas: entran deslizándose desde la izquierda, una tras otra (y se regresan al subir) */
.c44-review.c44-rv { transform: translateX(-110vw) rotate(-4deg); opacity: 0; transition: transform .9s cubic-bezier(.34, 1.3, .64, 1) var(--rv-d, 0ms), opacity .5s ease var(--rv-d, 0ms); }
.c44-review.c44-rv.is-in { transform: none; opacity: 1; }
@media (prefers-reduced-motion: reduce) { .c44-review.c44-rv { transform: none; opacity: 1; transition: none; } }
/* Todas las mascotas pasan POR ENCIMA del encabezado fijo al hacer scroll (como la de Así se sirve) */
.c44-mascot-wrap, .c44-cal__mascot, .c44-founder__mascot, .c44-cta__mascot { z-index: 40; }
.c44-mascot-pos--cross, .c44-mascot-pos--clock, .c44-mascot-pos--spin { z-index: 40; }
.c44-founder__mascot .c44-mascot-wrap, .c44-cal__mascot .c44-mascot-wrap { position: relative; }
.shopify-section:has(> .c44-mbreak) { z-index: 40; }
/* La mascota que cruza puede pasar por encima del menú (sin recortarse en la orilla de su sección) */
.c44-trust:has(.c44-mascot-pos--cross) { overflow: visible; }

/* ===== Eventos ===== */
.c44-countdown { display: inline-grid; grid-auto-flow: column; gap: .8rem; margin: 1.6rem 0; }
.c44-countdown div { min-width: 6.4rem; padding: 1rem .8rem; border-radius: 1.6rem; background: var(--c44-tinta); color: var(--c44-papel); text-align: center; display: grid; gap: .2rem; }
.c44-countdown b { font-family: var(--font-heading-family); font-weight: 800; font-size: 2.8rem; line-height: 1; color: var(--c44-loteria); font-variant-numeric: tabular-nums; }
.c44-countdown span { font-size: 1.1rem; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.c44-countdown.is-today { display: inline-block; padding: 1rem 1.8rem; border-radius: 999px; background: #1f9d55; color: #fff; font-family: var(--font-heading-family); font-weight: 800; font-size: 2rem; }
.c44-countdown--sm div { min-width: 5rem; padding: .7rem .5rem; border-radius: 1.2rem; }
.c44-countdown--sm b { font-size: 2rem; }
.c44-events__next { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: clamp(2.4rem, 5vw, 6rem); align-items: center; margin-bottom: clamp(4rem, 6vw, 7rem); }
.c44-events__next-media img, .c44-evd__media img { width: 100%; height: auto; border-radius: 2.4rem; box-shadow: 0 30px 60px -30px rgba(26, 21, 18, .55); display: block; }
.c44-events__facts { list-style: none; margin: 0 0 1.6rem; padding: 0; display: grid; gap: .8rem; font-size: 1.5rem; font-weight: 600; }
.c44-events__facts li { display: flex; gap: .8rem; align-items: flex-start; }
.c44-events__facts svg { width: 2rem; height: 2rem; flex: none; color: var(--c44-barro); margin-top: .1rem; }
.c44-events__h { margin: 0 0 2rem; }
.c44-events__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr)); gap: 2rem; margin-bottom: clamp(4rem, 6vw, 7rem); }
.c44-evcard { display: flex; flex-direction: column; border-radius: 2.2rem; overflow: hidden; background: var(--c44-tarjeta); border: 1px solid var(--c44-linea); color: var(--c44-tinta); text-decoration: none; box-shadow: 0 20px 40px -28px rgba(26, 21, 18, .5); transition: transform .4s var(--c44-ease); }
.c44-evcard:hover { transform: translateY(-6px); }
.c44-evcard.is-past { filter: saturate(.75); }
.c44-evcard__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--c44-hueso); }
.c44-evcard__media img { width: 100%; height: 100%; object-fit: cover; }
.c44-evcard__date { position: absolute; top: 1.2rem; left: 1.2rem; display: grid; place-items: center; width: 6rem; padding: .6rem 0; border-radius: 1.4rem; background: var(--c44-loteria); color: var(--c44-tinta); font-weight: 800; text-transform: uppercase; font-size: 1.2rem; line-height: 1.1; box-shadow: 0 .4rem 0 var(--c44-tinta); }
.c44-evcard__date b { font-family: var(--font-heading-family); font-size: 2.6rem; }
.c44-evcard__body { padding: 1.6rem 1.8rem 1.8rem; display: grid; gap: .6rem; }
.c44-evcard__body h3 { margin: 0; font-family: var(--font-heading-family); font-weight: 800; font-size: 1.9rem; line-height: 1.2; }
.c44-evcard__where, .c44-evcard__time { margin: 0; display: flex; gap: .5rem; align-items: center; font-size: 1.3rem; color: var(--c44-arena); }
.c44-evcard__where svg, .c44-evcard__time svg { width: 1.5rem; height: 1.5rem; flex: none; }
.c44-evcard__more { display: inline-flex; align-items: center; gap: .4rem; font-weight: 800; color: var(--c44-barro); font-size: 1.35rem; }
.c44-evcard__more svg { width: 1.4rem; height: 1.4rem; }
.c44-events__empty { text-align: center; padding: 4rem 0; }
.c44-events__invite { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(2.4rem, 4vw, 4rem); border-radius: 2.6rem; background: var(--c44-loteria); border: 2px solid var(--c44-tinta); box-shadow: 0 .8rem 0 var(--c44-tinta); }
.c44-events__invite .c44-lead { color: rgba(26, 21, 18, .82); }
@media (max-width: 989px) { .c44-events__next { grid-template-columns: 1fr; } .c44-events__next-media { max-width: 44rem; } }
/* Detalle de evento */
.c44-evd__back { display: inline-block; margin-bottom: 2rem; font-weight: 700; color: var(--c44-barro); text-decoration: none; }
.c44-evd__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: clamp(2.4rem, 5vw, 6rem); align-items: start; }
.c44-evd__media { position: sticky; top: 9rem; }
.c44-evd__coupon { margin: 0 0 2rem; padding: 1.6rem 1.8rem; border-radius: 1.8rem; background: #fff3d6; border: 2px dashed var(--c44-barro); }
.c44-evd__coupon p { margin: 0 0 1rem; font-weight: 600; }
.c44-evd__code { display: inline-flex; align-items: baseline; gap: 1rem; padding: .8rem 1.6rem; border: 0; border-radius: 1.2rem; background: var(--c44-tinta); color: var(--c44-loteria); font-family: var(--font-heading-family); font-weight: 800; font-size: 2.4rem; letter-spacing: .08em; cursor: pointer; }
.c44-evd__code small { font-size: 1.2rem; letter-spacing: 0; color: var(--c44-papel); opacity: .8; }
.c44-evd__ext { align-self: center; font-weight: 700; color: var(--c44-barro); }
.c44-evd__sell { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: clamp(4rem, 6vw, 7rem); }
.c44-evd__sell-card { padding: clamp(2.4rem, 4vw, 3.6rem); border-radius: 2.6rem; background: var(--c44-hueso); display: grid; gap: 1.2rem; align-content: start; justify-items: start; }
.c44-evd__sell-card h2 { margin: 0; font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(2.2rem, 2.6vw, 2.8rem); line-height: 1.15; }
.c44-evd__sell-card--dark { background: var(--c44-tinta); color: var(--c44-papel); }
.c44-evd__sell-card--dark h2 { color: var(--c44-papel); }
.c44-evd__sell-card--dark .c44-eyebrow { color: var(--c44-loteria); }
.c44-evd__qr { margin-top: 3rem; border-top: 1px solid var(--c44-linea); padding-top: 1.6rem; }
.c44-evd__qr summary { cursor: pointer; font-weight: 700; color: var(--c44-arena); }
.c44-evd__qr-box { display: grid; justify-items: center; gap: 1.2rem; padding: 2rem; text-align: center; }
.c44-evd__qr-code svg { width: 24rem; height: 24rem; }
@media (max-width: 989px) { .c44-evd__grid, .c44-evd__sell { grid-template-columns: 1fr; } .c44-evd__media { position: static; max-width: 46rem; } }
@media print { body * { visibility: hidden; } .c44-evd__qr-box, .c44-evd__qr-box * { visibility: visible; } .c44-evd__qr-box { position: fixed; inset: 0; } .c44-evd__qr-box button { display: none; } .c44-evd__qr-code svg { width: 12cm; height: 12cm; } }
/* Franja del próximo evento (portada) */
.c44-evstrip { padding: clamp(2.4rem, 4vw, 4rem) 0; background: var(--c44-papel); }
.c44-evstrip__card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 2rem; align-items: center; padding: 1.6rem; border-radius: 2.6rem; background: var(--c44-tinta); color: var(--c44-papel); text-decoration: none; box-shadow: 0 30px 60px -30px rgba(26, 21, 18, .7); }
.c44-evstrip__img { width: 9rem; height: 12rem; object-fit: cover; border-radius: 1.6rem; transform: rotate(-4deg); }
.c44-evstrip__eyebrow { margin: 0 0 .4rem; display: inline-flex; align-items: center; gap: .6rem; font-size: 1.2rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--c44-loteria); }
.c44-evstrip__body h2 { margin: 0 0 .6rem; font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(1.9rem, 2.4vw, 2.6rem); line-height: 1.15; color: var(--c44-papel); }
.c44-evstrip__meta { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; font-size: 1.3rem; color: rgba(250, 248, 245, .8); }
.c44-evstrip__meta svg { width: 1.5rem; height: 1.5rem; color: var(--c44-loteria); }
.c44-evstrip .c44-countdown { margin: 0; }
.c44-evstrip .c44-countdown div { background: rgba(250, 248, 245, .1); }
@media (max-width: 989px) {
  .c44-evstrip__card { grid-template-columns: auto minmax(0, 1fr); }
  .c44-evstrip .c44-countdown, .c44-evstrip__cta { grid-column: 1 / -1; }
  .c44-evstrip .c44-countdown { justify-self: start; }
  .c44-evstrip__cta { justify-content: center; }
  .c44-evstrip__img { width: 7.4rem; height: 10rem; }
}
/* Aviso del evento en la barra superior */
.c44-topbar__event { display: inline-flex; align-items: center; gap: .6rem; color: var(--c44-loteria) !important; font-weight: 800; }
.c44-topbar__event svg { width: 1.5rem; height: 1.5rem; }
/* Carruseles: pequeño empujón horizontal al llegar, para invitar a deslizar */
@keyframes c44-nudge { 0%, 100% { transform: translateX(0); } 30% { transform: translateX(-3.6rem); } 55% { transform: translateX(1rem); } 75% { transform: translateX(-.6rem); } }
.c44-nudge { animation: c44-nudge 1.4s cubic-bezier(.45, 0, .2, 1) .15s 1; }
@media (prefers-reduced-motion: reduce) { .c44-nudge { animation: none; } }
@media (max-width: 749px) { .c44-topbar__event { display: none; } }
@media (max-width: 749px) { .c44-topbar a.c44-topbar__event { display: none; } }
/* Mayoreo: datos fiscales según el país del negocio */
.c44-wcountry { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.c44-wcountry legend { width: 100%; margin-bottom: .6rem; font-weight: 700; font-size: 1.35rem; }
.c44-wcountry label { display: inline-flex; align-items: center; gap: .6rem; padding: .9rem 1.6rem; border-radius: 999px; border: 2px solid var(--c44-linea); cursor: pointer; font-weight: 700; }
.c44-wcountry label:has(input:checked) { background: var(--c44-tinta); color: var(--c44-loteria); border-color: var(--c44-tinta); }
.c44-wcountry input { accent-color: var(--c44-loteria); }
form:has(.c44-wcountry input[value="México"]:checked) .c44-wfields-us, form:has(.c44-wcountry input[value="Estados Unidos"]:checked) .c44-wfields-mx { display: none; }
.c44-wcountry input[type="radio"] { width: 1.6rem; height: 1.6rem; min-height: 0; margin: 0; padding: 0; flex: none; }
/* Encabezado: Comprar mixes + Cotizar + WhatsApp (número de USA o México según el país del visitante) */
.c44-header-shop { margin-left: 1.2rem; }
.c44-header-shop + .c44-header-cta { margin-left: .8rem; }
.c44-header-wa { width: 4.2rem; height: 4.2rem; margin-left: .8rem; border-radius: 50%; display: inline-grid; place-items: center; background: #25D366; color: #fff; flex: none; transition: transform .2s; }
.c44-header-wa:hover { transform: scale(1.08); }
.c44-header-wa svg { width: 2.2rem; height: 2.2rem; }
@media (max-width: 989px) { .c44-header-wa { display: none; } }
.c44-drawer-cta .c44-btn { justify-content: center; }
.c44-drawer-cta .c44-btn--wa svg { width: 2rem; height: 2rem; }
/* Panel de cuenta (Shopify): fondo crema y texto oscuro en lugar del amarillo del encabezado; botones amarillos */
shopify-account.header__icon {
  --shopify-account-color-background: #FAF8F5 !important;
  --shopify-account-color-text: #1A1512 !important;
  --shopify-account-color-accent: #1A1512 !important;
  --shopify-account-color-accent-text: #F5A623 !important;
  --shopify-account-radius-base: 20px !important;
}
/* Encabezado en computadora: botones en una línea; "Comprar mixes" en crema para que resalte sobre el amarillo; menú más compacto */
.header .c44-header-cta { white-space: nowrap; padding: .9rem 1.6rem; font-size: 1.3rem; }
.header .c44-header-shop { background: var(--c44-papel); color: var(--c44-tinta); box-shadow: inset 0 0 0 2px var(--c44-tinta); }
.header .c44-header-shop:hover { background: #fff; }
@media (min-width: 990px) {
  .header__inline-menu .list-menu--inline { flex-wrap: nowrap; }
  .header__inline-menu .header__menu-item { padding: 1.2rem .9rem; white-space: nowrap; }
}
@media (min-width: 990px) and (max-width: 1279px) {
  .header__inline-menu .header__menu-item { padding: 1.2rem .6rem; font-size: 1.25rem; }
  .header .c44-header-cta { padding: .8rem 1.2rem; font-size: 1.2rem; }
  .c44-header-wa { width: 3.8rem; height: 3.8rem; }
}
/* Que quepan todos los íconos (búsqueda, cuenta y carrito) en laptops */
@media (min-width: 990px) {
  .header { column-gap: 1.6rem; }
  .header__icons { gap: 0; flex-wrap: nowrap; }
  .header__icons .header__icon { width: 3.8rem; }
  .header .c44-header-cta { padding: .75rem 1.3rem; font-size: 1.25rem; margin-left: .6rem; }
  .c44-header-wa { width: 3.6rem; height: 3.6rem; margin: 0 .4rem 0 .6rem; }
  .c44-header-wa svg { width: 2rem; height: 2rem; }
  .header__heading-logo-wrapper, .header__heading-link { flex: none; }
}
@media (min-width: 990px) and (max-width: 1365px) {
  .header__inline-menu .header__menu-item { padding: 1.2rem .5rem; font-size: 1.2rem; letter-spacing: 0; }
  .header .c44-brand__word { font-size: 1.8rem; }
}
@media (min-width: 990px) and (max-width: 1180px) {
  .header .c44-header-shop { display: none; }
}
/* Nosotros: foto de Dulce fija a la izquierda mientras la historia avanza a la derecha */
.c44-story__grid--sticky { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.c44-story__photo { position: sticky; top: 11rem; align-self: start; }
.c44-story__fig { position: relative; margin: 0; }
.c44-story__fig img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2.8rem; box-shadow: 0 30px 60px -30px rgba(26, 21, 18, .55); display: block; }
.c44-story__fig::before { content: ""; position: absolute; inset: 5% -4% -4% 5%; border-radius: 2.8rem; background: var(--c44-loteria); z-index: -1; }
.c44-story__fig figcaption { position: absolute; left: 1.6rem; bottom: 1.6rem; background: var(--c44-tinta); color: var(--c44-papel); padding: .8rem 1.4rem; border-radius: 999px; font-size: 1.3rem; font-weight: 700; }
.c44-story__text { display: grid; gap: 3.2rem; }
.c44-story__text .c44-timeline { margin: 0; }
@media (max-width: 989px) { .c44-story__grid--sticky { grid-template-columns: 1fr; } .c44-story__photo { position: static; max-width: 46rem; } .c44-story__fig img { max-height: 62svh; object-position: 50% 20%; } }
/* Con "Eventos" en el menú: más compacto en laptops */
@media (min-width: 990px) and (max-width: 1439px) {
  .header__inline-menu .header__menu-item { padding: 1.2rem .45rem; font-size: 1.15rem; letter-spacing: 0; }
  .header .c44-header-cta { padding: .7rem 1.1rem; font-size: 1.15rem; }
  .header .c44-brand img { width: 3.6rem; }
  .header .c44-brand__word { font-size: 1.6rem; }
}
@media (min-width: 990px) and (max-width: 1279px) { .header .c44-header-shop { display: none; } }
@media (min-width: 1440px) and (max-width: 1559px) { .header__inline-menu .header__menu-item { padding: 1.2rem .6rem; font-size: 1.25rem; } }
@media (min-width: 990px) and (max-width: 1099px) { .c44-header-wa { display: none; } .header__inline-menu .header__menu-item { padding: 1.2rem .35rem; font-size: 1.1rem; } }

/* ===== Asistente "Pregúntale al Cantarito" (reemplaza al botón flotante de WhatsApp) ===== */
.c44-ai { position: fixed; right: 1.6rem; bottom: calc(1.6rem + env(safe-area-inset-bottom)); z-index: 70; }
body:has(#PBarNextFrameWrapper) .c44-ai { bottom: calc(1.6rem + 68px); }
body.c44-drawer-open .c44-ai { display: none; }
.c44-ai__bubble { position: relative; width: 6.4rem; height: 6.4rem; border-radius: 50%; border: 3px solid var(--c44-tinta); background: var(--c44-loteria); padding: 0; cursor: pointer; display: grid; place-items: end center; overflow: visible; box-shadow: 0 14px 30px -10px rgba(26, 21, 18, .55); animation: c44-ai-bob 3s ease-in-out infinite; }
.c44-ai__bubble img { width: 4.6rem; height: auto; margin-bottom: -.2rem; transform: translateY(-.6rem); filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .25)); }
.c44-ai__dot { position: absolute; top: .1rem; right: .1rem; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: #1f9d55; border: 2px solid #fff; }
.c44-ai.is-open .c44-ai__bubble { animation: none; }
@keyframes c44-ai-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.c44-ai__panel { position: absolute; right: 0; bottom: calc(100% + 1.2rem); width: min(36rem, calc(100vw - 3.2rem)); max-height: min(62rem, calc(100svh - 18rem)); display: flex; flex-direction: column; border-radius: 2.4rem; background: var(--c44-papel); border: 2px solid var(--c44-tinta); box-shadow: 0 30px 60px -20px rgba(26, 21, 18, .55); overflow: hidden; transform-origin: 100% 100%; animation: c44-ai-in .35s cubic-bezier(.34, 1.4, .64, 1); }
.c44-ai__panel[hidden] { display: none; }
@keyframes c44-ai-in { from { opacity: 0; transform: scale(.85) translateY(10px); } }
.c44-ai__head { display: flex; align-items: center; gap: 1rem; padding: 1.2rem 1.4rem; background: var(--c44-loteria); border-bottom: 2px solid var(--c44-tinta); }
.c44-ai__head img { width: 3.2rem; height: auto; }
.c44-ai__head b { display: block; font-family: var(--font-heading-family); font-weight: 800; font-size: 1.6rem; color: var(--c44-tinta); }
.c44-ai__head small { display: inline-flex; align-items: center; gap: .5rem; font-size: 1.15rem; color: rgba(26, 21, 18, .75); }
.c44-ai__head .c44-book__live { width: .8rem; height: .8rem; }
.c44-ai__close { margin-left: auto; width: 3.4rem; height: 3.4rem; border-radius: 50%; border: 0; background: rgba(26, 21, 18, .12); font-size: 1.5rem; cursor: pointer; color: var(--c44-tinta); }
.c44-ai__log { flex: 1; overflow-y: auto; padding: 1.4rem; display: flex; flex-direction: column; gap: .8rem; min-height: 14rem; }
.c44-ai__msg { max-width: 88%; padding: 1rem 1.3rem; border-radius: 1.6rem; font-size: 1.4rem; line-height: 1.45; }
.c44-ai__msg--bot { align-self: flex-start; background: var(--c44-tarjeta); border: 1px solid var(--c44-linea); border-bottom-left-radius: .4rem; color: var(--c44-tinta); }
.c44-ai__msg--me { align-self: flex-end; background: var(--c44-tinta); color: var(--c44-papel); border-bottom-right-radius: .4rem; }
.c44-ai__msg ul { margin: .6rem 0; padding-left: 1.6rem; display: grid; gap: .3rem; }
.c44-ai__link { display: inline-block; margin-top: .6rem; margin-right: .6rem; padding: .5rem 1.1rem; border-radius: 999px; background: var(--c44-loteria); color: var(--c44-tinta); font-weight: 800; font-size: 1.25rem; text-decoration: none; }
.c44-ai__link--wa { background: #25D366; color: #06331a; }
.c44-ai__chips { display: flex; gap: .6rem; overflow-x: auto; padding: 0 1.4rem 1rem; scrollbar-width: none; }
.c44-ai__chips::-webkit-scrollbar { display: none; }
.c44-ai__chips button { flex: none; padding: .7rem 1.2rem; border-radius: 999px; border: 1.5px solid var(--c44-tinta); background: #fff; font: inherit; font-weight: 700; font-size: 1.25rem; color: var(--c44-tinta); cursor: pointer; }
.c44-ai__chips button:hover { background: var(--c44-loteria); }
.c44-ai__form { display: flex; gap: .6rem; padding: 1rem 1.4rem; border-top: 1px solid var(--c44-linea); }
.c44-ai__form input { flex: 1; min-width: 0; height: 4.4rem; padding: 0 1.4rem; border-radius: 999px; border: 1.5px solid var(--c44-linea); background: #fff; font: inherit; font-size: 1.5rem; }
.c44-ai__form button { width: 4.4rem; height: 4.4rem; border-radius: 50%; border: 0; background: var(--c44-tinta); color: var(--c44-loteria); display: grid; place-items: center; cursor: pointer; }
.c44-ai__form button svg { width: 1.8rem; height: 1.8rem; }
.c44-ai__wa { display: flex; align-items: center; justify-content: center; gap: .6rem; padding: 1rem; background: #25D366; color: #06331a; font-weight: 800; font-size: 1.35rem; text-decoration: none; }
.c44-ai__wa svg { width: 1.8rem; height: 1.8rem; }
@media (prefers-reduced-motion: reduce) { .c44-ai__bubble, .c44-ai__panel { animation: none; } }
.c44-ai__chips, .c44-ai__form, .c44-ai__wa, .c44-ai__head { flex: none; }
.c44-ai__chips button { line-height: 1.2; white-space: nowrap; }
.c44-ai__log { min-height: 0; }
@media (max-width: 749px) { .c44-ai__panel { max-height: calc(100svh - 20rem); } }
/* Franja del evento arriba de todo */
.c44-evribbon { display: block; padding: .8rem 1.6rem; background: var(--c44-loteria); color: var(--c44-tinta); text-align: center; font-weight: 800; font-size: 1.3rem; line-height: 1.35; text-decoration: none; border-bottom: 2px solid var(--c44-tinta); }
.c44-evribbon:hover { background: #ffb938; }
.c44-topbar a.c44-topbar__event { display: none !important; }

/* ===== Paleta: principal (como siempre) + 5 colores del logo para acentos, botones y barra de anuncios =====
   Principal: amarillo lotería #F5A623 · ámbar #D4880C · crema #FAF8F5 · tinta #1A1512
   Acentos del logo: amarillo #F2D230 · olivo #A6974B · naranja #D98236 · rojo #D93B3B · negro #0D0D0D */
:root { --c44-amarillo-logo: #F2D230; --c44-olivo: #A6974B; --c44-naranja: #D98236; --c44-rojo: #D93B3B; --c44-negro: #0D0D0D; }
/* Botones de acción en rojo del logo */
.c44-btn--primary { background: var(--c44-rojo); color: #fff; box-shadow: 0 12px 24px -12px rgba(217, 59, 59, .75); }
.c44-btn--primary:hover { background: #c22f2f; }
.c44-btn--primary svg { color: #fff; }
.quick-add__submit.button--secondary, .card-wrapper .quick-add__submit { background: var(--c44-rojo) !important; color: #fff !important; --color-button: 217, 59, 59; --color-button-text: 255, 255, 255; }
@keyframes c44-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(217, 59, 59, .5), 0 10px 30px -8px rgba(217, 59, 59, .5); } 50% { box-shadow: 0 0 0 10px rgba(217, 59, 59, 0), 0 14px 46px -4px rgba(217, 59, 59, .85); } }
/* Barra de anuncios (evento) en negro del logo con amarillo del logo */
.c44-evribbon { background: var(--c44-negro); color: var(--c44-amarillo-logo); border-bottom: 0; }
.c44-evribbon:hover { background: #222; }
/* Asistente */
.c44-ai__bubble { background: var(--c44-rojo); }
.c44-ai__link { background: var(--c44-rojo); color: #fff; }
/* Acentos */
.c44-eyebrow::before { background: var(--c44-naranja) !important; }
.c44-check svg, .c44-hero__bullets svg { color: var(--c44-olivo); }
.c44-cal__day.is-busy { color: var(--c44-rojo); }
.c44-pack--featured { outline-color: var(--c44-rojo); }
.c44-steps__dots i.is-on, .c44-cal__dots i.is-on, .c44-pcar__dots i.is-on, .c44-extras__dots i.is-on { background: var(--c44-rojo); }
.c44-extra__plus { background: var(--c44-naranja); color: #fff; }

/* ===== Colores del logo integrados al diseño (el amarillo lotería sigue siendo el principal) ===== */
/* Franja tipo papel picado bajo el encabezado: amarillo · naranja · rojo · olivo */
.section-header .header-wrapper { border-bottom: 0; box-shadow: none; }
.section-header .header-wrapper::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 4px; background: linear-gradient(90deg, var(--c44-amarillo-logo) 0 25%, var(--c44-naranja) 25% 50%, var(--c44-rojo) 50% 75%, var(--c44-olivo) 75% 100%); z-index: 2; }
.section-header .header-wrapper { position: relative; }
/* Portada: la frase destacada en rojo; cifras de confianza con un color del logo cada una */
.c44-hero__title .c44-accent { color: var(--c44-rojo); }
.c44-trust__item:nth-child(4n+1) b { color: var(--c44-rojo); }
.c44-trust__item:nth-child(4n+2) b { color: var(--c44-naranja); }
.c44-trust__item:nth-child(4n+3) b { color: var(--c44-olivo); }
.c44-trust__item:nth-child(4n+4) b { color: var(--c44-tinta); }
.c44-hero__badge b { color: var(--c44-rojo); }
.c44-hero__badge--2 b { color: var(--c44-olivo); }
/* Así se sirve: número activo en naranja */
.c44-step.is-active .c44-step__num { background: var(--c44-naranja); color: #fff; }
/* Nosotros: cifras en los colores del logo */
.c44-fact:nth-child(4n+1) b { color: var(--c44-rojo); }
.c44-fact:nth-child(4n+2) b { color: var(--c44-naranja); }
.c44-fact:nth-child(4n+3) b { color: var(--c44-olivo); }
.c44-fact:nth-child(4n+4) b { color: var(--c44-tinta); }
.c44-story__fig::before { background: var(--c44-naranja); }
/* Para negocios: banda olivo con texto oscuro */
.c44-b2b__card { background: var(--c44-olivo); }
.c44-b2b__card .c44-lead, .c44-b2b__card p { color: rgba(13, 13, 13, .85); }
.c44-b2b__card .c44-eyebrow { color: var(--c44-negro); }
/* Paquetes: precio y "Más pedido" en rojo; pestaña activa negra con texto amarillo del logo */
.c44-pack__price { color: var(--c44-rojo); }
.c44-pack__badge.c44-chip--dark { background: var(--c44-rojo); color: #fff; }
.c44-packs__seg .c44-packs__tab[aria-selected="true"] small { color: var(--c44-amarillo-logo); }
/* Barra móvil (oscura): fondo negro del logo, precio en amarillo del logo */
.c44-bar { background: var(--c44-negro); }
.c44-bar__from b { color: var(--c44-amarillo-logo); }
/* Calendario y tarjetas finales en negro del logo; cuenta regresiva en amarillo */
.c44-cal__card--cta .c44-cal__face, .c44-pcar__cta { background: radial-gradient(120% 70% at 80% 0%, #2a2a2a, var(--c44-negro) 60%); }
.c44-countdown div { background: var(--c44-negro); }
.c44-countdown b { color: var(--c44-amarillo-logo); }
/* Eventos: invitación en naranja, fechas en amarillo del logo */
.c44-events__invite { background: var(--c44-naranja); }
.c44-evcard__date { background: var(--c44-amarillo-logo); }
/* Recetas: etiqueta activa roja */
.c44-blog__tag.is-on, .c44-blog__tag:hover { background: var(--c44-rojo); color: #fff; }
.c44-blog__badge { background: var(--c44-rojo); color: #fff; }
/* Pie de página: negro del logo con franja de colores arriba */
.c44-footer { background: var(--c44-negro); position: relative; }
.c44-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--c44-amarillo-logo) 0 25%, var(--c44-naranja) 25% 50%, var(--c44-rojo) 50% 75%, var(--c44-olivo) 75% 100%); }
.c44-footer h3 { color: var(--c44-amarillo-logo); }
/* Redes: hashtag en rojo */
.c44-social__tag { background: var(--c44-rojo); color: #fff; }
/* Mayoreo: país elegido en negro con amarillo del logo */
.c44-wcountry label:has(input:checked) { background: var(--c44-negro); color: var(--c44-amarillo-logo); }
/* Barra de anuncios en movimiento (marquee); se detiene al pasar el dedo o el ratón */
.c44-evribbon { overflow: hidden; white-space: nowrap; padding: .8rem 0; text-align: left; }
.c44-evribbon__track { display: inline-flex; animation: c44-marquee 28s linear infinite; }
.c44-evribbon__item { flex: none; padding-right: 4.8rem; }
.c44-evribbon__item b { color: var(--c44-rojo); margin-left: .4rem; }
.c44-evribbon:hover .c44-evribbon__track, .c44-evribbon:focus-visible .c44-evribbon__track { animation-play-state: paused; }
@keyframes c44-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .c44-evribbon__track { animation: none; } .c44-evribbon { text-overflow: ellipsis; padding-inline: 1.6rem; } }
/* La mascota que cruza no puede ensanchar la página (eso movía a CantarIA fuera de la pantalla):
   recorte solo horizontal, así puede seguir pasando por encima del menú */
.c44-trust:has(.c44-mascot-pos--cross) { overflow-x: clip; overflow-y: visible; }
.c44-hero, .c44-bar, .c44-section { overflow-x: clip; }
/* Sin franja de colores en encabezado y pie */
.section-header .header-wrapper::after, .c44-footer::before { content: none; display: none; }
/* Para negocios: tarjeta negra con luz cálida (el olivo se veía apagado) */
.c44-b2b__card { background: radial-gradient(120% 80% at 85% 100%, rgba(245, 166, 35, .28), transparent 60%), var(--c44-negro); color: var(--c44-papel); }
.c44-b2b__card .c44-title { color: var(--c44-papel); }
.c44-b2b__card .c44-lead, .c44-b2b__card p { color: rgba(250, 248, 245, .82); }
.c44-b2b__card .c44-eyebrow { color: var(--c44-loteria); }
.c44-b2b__card img { mix-blend-mode: normal; border-radius: 1.6rem; filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .5)); }
/* Precios en tinta (el rojo se leía como alerta); el depósito sigue en verde */
.c44-pack__price { color: var(--c44-tinta); }
.c44-pack__price small { color: var(--c44-arena); }
/* "¿Organizas una feria?": tarjeta negra con luz cálida, igual que "Para negocios" (el naranja de fondo se veía apagado) */
.c44-events__invite { background: radial-gradient(120% 90% at 100% 100%, rgba(245, 166, 35, .3), transparent 60%), var(--c44-negro); color: var(--c44-papel); border-color: var(--c44-negro); box-shadow: 0 30px 60px -30px rgba(13, 13, 13, .6); }
.c44-events__invite .c44-title { color: var(--c44-papel); }
.c44-events__invite .c44-lead { color: rgba(250, 248, 245, .82); }

/* ===== Sin rojo (se leía como advertencia): botones negros con texto amarillo; en fondos oscuros, amarillos con texto negro ===== */
:root { --c44-rojo: #0D0D0D; }
.c44-btn--primary { background: var(--c44-negro); color: var(--c44-amarillo-logo); box-shadow: 0 12px 24px -12px rgba(13, 13, 13, .6); }
.c44-btn--primary:hover { background: #262626; }
.c44-btn--primary svg { color: var(--c44-amarillo-logo); }
.quick-add__submit.button--secondary, .card-wrapper .quick-add__submit { background: var(--c44-negro) !important; color: var(--c44-amarillo-logo) !important; --color-button: 13, 13, 13; --color-button-text: 242, 210, 48; }
@keyframes c44-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(245, 166, 35, .55), 0 10px 30px -8px rgba(245, 166, 35, .55); } 50% { box-shadow: 0 0 0 10px rgba(245, 166, 35, 0), 0 14px 46px -4px rgba(245, 166, 35, .9); } }
/* En secciones oscuras el botón principal es amarillo lotería */
.c44-bar .c44-btn--primary, .c44-pcar__cta .c44-btn--primary, .c44-cal__card--cta .c44-btn--primary, .c44-b2b__card .c44-btn--primary, .c44-events__invite .c44-btn--primary, .c44-evd__sell-card--dark .c44-btn--primary, .c44-evstrip .c44-btn--primary, .c44-phero:not(.c44-phero--light) .c44-btn--primary, .c44-footer .c44-btn--primary { background: var(--c44-loteria); color: var(--c44-tinta); }
.c44-bar .c44-btn--primary svg, .c44-pcar__cta .c44-btn--primary svg, .c44-cal__card--cta .c44-btn--primary svg, .c44-b2b__card .c44-btn--primary svg, .c44-evstrip .c44-btn--primary svg, .c44-phero:not(.c44-phero--light) .c44-btn--primary svg { color: var(--c44-tinta); }
/* Acentos que eran rojos */
.c44-hero__title .c44-accent { color: var(--c44-barro); }
.c44-trust__item:nth-child(4n+1) b, .c44-fact:nth-child(4n+1) b, .c44-hero__badge b { color: var(--c44-ambar); }
.c44-evribbon__item b { color: var(--c44-loteria); }
.c44-cal__day.is-busy { background: repeating-linear-gradient(-45deg, #e6e1da, #e6e1da 4px, #f1ede7 4px, #f1ede7 8px); color: var(--c44-arena); text-decoration: line-through; }
.c44-cal__legend .is-busy { background: repeating-linear-gradient(-45deg, #e6e1da, #e6e1da 3px, #f1ede7 3px, #f1ede7 6px); box-shadow: inset 0 0 0 1px #cfc7bc; }
.c44-cal__count { background: var(--c44-negro); color: var(--c44-amarillo-logo); }
.c44-cal__msg li::before { background: var(--c44-arena); }
.c44-ai__bubble { background: var(--c44-loteria); }
.c44-ai__link { background: var(--c44-negro); color: var(--c44-amarillo-logo); }
.c44-social__tag, .c44-blog__tag.is-on, .c44-blog__tag:hover, .c44-blog__badge { background: var(--c44-negro); color: var(--c44-amarillo-logo); }
.c44-pack--featured { outline-color: var(--c44-loteria); }
.c44-steps__dots i.is-on, .c44-cal__dots i.is-on, .c44-pcar__dots i.is-on, .c44-extras__dots i.is-on { background: var(--c44-negro); }
/* Menú del celular: "Cotizar mi evento" en amarillo lotería (color principal) */
.c44-drawer-cta .c44-btn--primary { background: var(--c44-loteria); color: var(--c44-tinta); box-shadow: 0 12px 24px -12px rgba(212, 136, 12, .8); }
.c44-drawer-cta .c44-btn--primary svg { color: var(--c44-tinta); }
/* Menú del celular: se desliza por dentro (jalar hacia abajo arriba del todo recarga la página, ver c44.js) */
.menu-drawer, .menu-drawer__inner-container, .menu-drawer__navigation-container { overscroll-behavior: contain; }
.menu-drawer { overflow-y: auto; -webkit-overflow-scrolling: touch; }
/* Jalar para recargar (menú del celular) */
.c44-ptr { position: fixed; top: 7rem; left: 50%; z-index: 200; width: 4.4rem; height: 4.4rem; border-radius: 50%; display: grid; place-items: center; background: var(--c44-loteria); color: var(--c44-tinta); font-size: 2.4rem; font-weight: 800; box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .5); opacity: 0; transform: translate(-50%, 0); pointer-events: none; transition: opacity .15s; }
.c44-ptr.is-ready { background: var(--c44-negro); color: var(--c44-amarillo-logo); }
.c44-ptr.is-loading span { animation: c44-spin .7s linear infinite; display: inline-block; }
@keyframes c44-spin { to { transform: rotate(360deg); } }
/* Tarjeta por presentación */
.c44-vcard .card { display: flex; flex-direction: column; background: #fff; border-radius: 2rem; overflow: hidden; border: 1px solid var(--c44-linea); }
.c44-vcard__media { display: grid; place-items: center; aspect-ratio: 1; background: #fff; padding: 1.2rem; }
.c44-vcard__media img { width: 100%; height: 100%; object-fit: contain; }
.c44-vcard .card__content { padding: 1.2rem 1.6rem 1.6rem; }
.c44-vcard__kicker { margin: 0; font-size: 1.15rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--c44-arena); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c44-vcard .card__heading { min-height: 0; -webkit-line-clamp: 2; font-size: 1.8rem; }
.c44-vcard .card__heading a { text-decoration: none; color: var(--c44-tinta); }
/* Menú del celular: todo cabe en la pantalla sin deslizar (enlaces, 3 botones y redes) */
@media (max-width: 989px) {
  .menu-drawer__menu-item { font-size: 1.8rem; padding: .85rem 3rem; }
  .menu-drawer__navigation { padding: 1.2rem 0 .4rem; }
  .c44-drawer-cta { padding: .8rem 2.4rem 0; gap: .7rem; }
  .c44-drawer-cta .c44-btn { min-height: 4.6rem; padding-block: .9rem; font-size: 1.5rem; }
  .menu-drawer__utility-links { padding: 1.2rem 2.4rem 1.6rem; }
  .menu-drawer .list-social { padding: .6rem 0 0; }
  .menu-drawer .list-social__link { padding: .8rem; }
}
@media (max-width: 989px) and (max-height: 800px) {
  .menu-drawer__menu-item { font-size: 1.6rem; padding: .6rem 3rem; }
  .c44-drawer-cta .c44-btn { min-height: 4.2rem; font-size: 1.4rem; }
}
@media (max-width: 989px) and (max-height: 800px) {
  .menu-drawer__menu-item { padding: .5rem 3rem; }
  .c44-drawer-cta { gap: .5rem; }
  .menu-drawer__utility-links { padding: .8rem 2.4rem 1rem; }
  .menu-drawer .list-social__link { padding: .6rem; }
}
@media (max-width: 989px) {
  .menu-drawer__navigation { flex: none; }
  .menu-drawer__navigation-container { justify-content: flex-start; }
  .menu-drawer__utility-links { margin-top: 1.2rem; }
}
@media (max-width: 989px) {
  .menu-drawer__navigation-container { display: flex; flex-direction: column; }
  .menu-drawer__navigation .menu-drawer__menu { padding-top: .6rem; }
}
@media (max-width: 989px) and (max-height: 800px) {
  .menu-drawer__menu-item { padding: .4rem 3rem; font-size: 1.6rem; }
  .menu-drawer__navigation { padding: .4rem 0 0; }
  .menu-drawer__utility-links { margin-top: .6rem; padding: .6rem 2.4rem .8rem; }
  .menu-drawer .list-social { padding-top: 0; }
  .menu-drawer .list-social__link { padding: .5rem; }
  .menu-drawer .list-social__item .icon { width: 1.9rem; height: 1.9rem; }
}
@media (max-width: 989px) and (max-height: 800px) { .c44-drawer-cta .c44-btn { min-height: 3.9rem; padding-block: .6rem; } .c44-drawer-cta { gap: .4rem; padding-top: .4rem; } .menu-drawer__menu-item { padding: .35rem 3rem; } }

/* Marquee de anuncios con glow: texto amarillo que brilla y un resplandor que recorre la barra */
.c44-evribbon { position: relative; box-shadow: 0 0 18px rgba(242,210,48,.35), inset 0 -1px 0 rgba(242,210,48,.5); animation: c44-rib-glow 2.6s ease-in-out infinite; }
.c44-evribbon__item { text-shadow: 0 0 6px rgba(242,210,48,.75), 0 0 16px rgba(242,210,48,.45); }
.c44-evribbon::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(100deg, transparent 30%, rgba(242,210,48,.22) 50%, transparent 70%); background-size: 250% 100%; animation: c44-rib-shine 3.2s linear infinite; }
@keyframes c44-rib-glow { 0%,100% { box-shadow: 0 0 10px rgba(242,210,48,.25), inset 0 -1px 0 rgba(242,210,48,.4); } 50% { box-shadow: 0 0 26px rgba(242,210,48,.6), inset 0 -1px 0 rgba(242,210,48,.9); } }
@keyframes c44-rib-shine { from { background-position: 150% 0; } to { background-position: -100% 0; } }
@media (prefers-reduced-motion: reduce) { .c44-evribbon, .c44-evribbon::after { animation: none; } }

/* Hero en celular: botella de Cantarito Mix 1 L flotando junto a los botones */
.c44-hero__bottle { display: none; }
@media (max-width: 989px) {
  .c44-hero__actions { position: relative; padding-right: 11rem; }
  .c44-hero__bottle { display: block; position: absolute; right: -.4rem; top: -1rem; width: 11.5rem; height: 26rem; perspective: 600px; }
  .c44-hero__bottle img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 18px 18px rgba(13,13,13,.28)); transform-origin: 50% 50%; animation: c44-bottle-float 4.2s ease-in-out infinite; }
}
@keyframes c44-bottle-float { 0%,100% { transform: translateY(0) scale(2.1) rotateY(-14deg) rotate(4deg); } 50% { transform: translateY(-1.2rem) scale(2.1) rotateY(14deg) rotate(-3deg); } }
@media (prefers-reduced-motion: reduce) { .c44-hero__bottle img { animation: none; } }

/* Cuadro del próximo evento: rebota y brilla */
.c44-evstrip__card.is-in { animation: c44-ev-bounce 2.8s cubic-bezier(.3,0,.3,1) infinite, c44-ev-glow 2.8s ease-in-out infinite; will-change: transform; }
@keyframes c44-ev-bounce { 0%,100% { transform: translateY(0) scale(1); } 12% { transform: translateY(-1.4rem) scale(1.01); } 24% { transform: translateY(0) scale(1, .985); } 32% { transform: translateY(-.5rem); } 40% { transform: translateY(0); } }
@keyframes c44-ev-glow { 0%,100% { box-shadow: 0 0 0 1px rgba(242,210,48,.25), 0 0 22px rgba(242,210,48,.28), 0 30px 60px -30px rgba(13,13,13,.7); } 50% { box-shadow: 0 0 0 1px rgba(242,210,48,.6), 0 0 46px rgba(242,210,48,.55), 0 30px 60px -30px rgba(13,13,13,.7); } }
@media (prefers-reduced-motion: reduce) { .c44-evstrip__card { animation: c44-ev-glow 2.8s ease-in-out infinite; } }

/* Marquee: el glow solo en las orillas de la barra (sin brillo en el texto ni luz por el centro) */
.c44-evribbon__item { text-shadow: none; }
.c44-evribbon::after { content: none; }
.c44-evribbon { animation: c44-rib-edge 2.6s ease-in-out infinite; }
@keyframes c44-rib-edge {
  0%,100% { box-shadow: inset 0 2px 0 rgba(242,210,48,.55), inset 0 -2px 0 rgba(242,210,48,.55), inset 0 8px 10px -8px rgba(242,210,48,.5), inset 0 -8px 10px -8px rgba(242,210,48,.5), 0 0 10px rgba(242,210,48,.3); }
  50% { box-shadow: inset 0 2px 0 rgba(242,210,48,1), inset 0 -2px 0 rgba(242,210,48,1), inset 0 10px 14px -8px rgba(242,210,48,.85), inset 0 -10px 14px -8px rgba(242,210,48,.85), 0 0 22px rgba(242,210,48,.65); }
}
@media (prefers-reduced-motion: reduce) { .c44-evribbon { animation: none; box-shadow: inset 0 2px 0 rgba(242,210,48,.8), inset 0 -2px 0 rgba(242,210,48,.8), 0 0 14px rgba(242,210,48,.45); } }
