/* Ajustes de uso en celular. Conserva los tokens y la composición de escritorio. */
.hero__pre-scroll { opacity: 1; animation: none; }
.hero__pre-scroll-word::after { animation: none; opacity: 1; left: 96%; }
.hero__pre-scroll-word::before {
  content: ''; position: absolute; z-index: 2;
  left: 10%; bottom: 14%; width: 28px; height: 35px;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2040%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27c%27%20x2%3D%271%27%20y2%3D%271%27%3E%3Cstop%20stop-color%3D%27%23ff3d7f%27%2F%3E%3Cstop%20offset%3D%271%27%20stop-color%3D%27%23ff8a3d%27%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%27M11%2022V6a3%203%200%200%201%206%200v12-3a2.7%202.7%200%200%201%205.4%200v3-1a2.6%202.6%200%200%201%205.2%200v9c0%205-3%207-3%2010H12c0-3-3-5-5-8L3%2022a3%203%200%200%201%204.5-4Z%27%20fill%3D%27url%28%23c%29%27%20stroke%3D%27%23f5f0e6%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  filter: drop-shadow(0 2px 4px #000); pointer-events: none;
  opacity: 0; transform: rotate(18deg);
  animation: archiCursorIn .2s ease-out 1s both, archiCursorPoint 1.8s ease-in-out 1.2s infinite;
}
@keyframes archiCursorIn { to { opacity: 1; } }
@keyframes archiCursorPoint {
  0%, 100% { transform: translate(0, 0) rotate(18deg); }
  50% { transform: translate(4px, -3px) rotate(18deg); }
}
@media (prefers-reduced-motion: reduce) {
  .hero__pre-scroll-word::before { animation: archiCursorIn 1ms step-end 1s both; }
}
.hero__pre-scroll-word.is-open::before,
.hero__pre-scroll-word.is-bursting::before { display: none; }
.hero__pre-scroll-word:focus-visible { outline: 2px solid var(--pink); outline-offset: 5px; }
.hero__pre-scroll-word:active { filter: brightness(1.15); }
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--night); border-color: var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--cream); }
.woocommerce div.product .woocommerce-tabs:has(ul.tabs > li:only-child) ul.tabs { display: none; }
.ct-cartpage .ct-actions .ct-checkout-btn { text-transform: none; letter-spacing: 0; margin: 0; }
.ct-cartpage .ct-actions .update-btn { background: var(--black); color: var(--cream-soft); border: 1px solid var(--line-2); box-shadow: none; }
.ct-cartpage .ct-actions .update-btn:hover { border-color: var(--pink); color: var(--cream); }
.ct-cartpage .ct-actions .update-btn:focus-visible,
.ct-cartpage .ct-checkout-btn:focus-visible { outline: 2px solid var(--pink); outline-offset: 3px; }
.ct-cartpage .ct-checkout-btn { cursor: pointer; border: 0; }
.ct-coupon summary { cursor: pointer; color: var(--cream-soft); font: 500 14px var(--font-body); padding: 12px 0; }
.ct-coupon summary:focus-visible { outline: 2px solid var(--pink); }
.ct-cartpage .ct-promo input { color: var(--cream) !important; background: transparent !important; width: 100%; }
.ct-cartpage .ct-promo input::placeholder { color: var(--cream-soft); opacity: 1; }
.archi-fqr__qr > summary {
  display: flex; justify-content: center; align-items: center; gap: 10px;
  min-height: 44px; padding: 10px 16px; border: 1px solid var(--orange);
  border-radius: 12px; color: var(--cream); background: var(--night-2);
  cursor: pointer; font: 600 14px var(--font-body); list-style: none;
}
.archi-fqr__qr > summary::after { content: '+'; color: var(--orange); font-size: 22px; }
.archi-fqr__qr[open] > summary::after { content: '-'; }
.archi-fqr__qr > summary::-webkit-details-marker { display: none; }
.archi-fqr__qr > summary:focus-visible { outline: 2px solid var(--pink); outline-offset: 3px; }
.archi-fqr__qr > summary:hover { border-color: var(--pink); }
.archi-fqr__qr > summary:active { transform: scale(.99); }
.archi-upload-fallback { font: 400 14px/1.5 var(--font-body); color: var(--cream-soft); }
.archi-fdrop:focus-visible { outline: 2px solid var(--pink); outline-offset: 3px; }
.archi-fdrop:active { background: var(--night-2); }
.archi-ffile__name b { white-space: normal; overflow-wrap: anywhere; overflow: visible; }
.archi-payment-state { display: none !important; }
body.archi-reserva-sin-pago .archi-bank-cta--step-3,
body.archi-reserva-sin-pago .archi-funnel-stepper { display: none !important; }
/* El QR ya está en la tarjeta principal del paso de pago. */
body.archi-step3-active #order_review > h3,
body.archi-step3-active #order_review > p,
body.archi-step3-active #order_review > img { display: none; }
.agenda-list { min-width: 0; }
@media (max-width: 980px) {
  .agenda-body .agenda-body__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 720px) {
  html { scroll-padding-top: calc(var(--archi-navh, 64px) + var(--archi-adminbar, 0px) + 12px); }
  .nav { padding: 8px 16px !important; min-height: 64px; }
  .nav:not(.nav--cream):not(.nav--on-light) { background: var(--black) !important; }
  body.admin-bar .nav { top: var(--archi-adminbar, 46px); }
  .nav .nav__logo img { height: 32px !important; width: auto !important; }
  .nav .nav__item--account > .nav__trigger { padding: 3px !important; min-width: 44px; height: 48px !important; font-size: 0 !important; }
  .nav .menu-btn { width: 44px; height: 44px; }
  .nav .nav__links { top: calc(var(--archi-navh, 64px) + var(--archi-adminbar, 0px)); }
  .nav #navEye { display: block !important; left: auto !important; right: calc(clamp(12px, 4vw, 18px) + 66px) !important; margin: auto 0 !important; width: 46px !important; height: 28px !important; }
  .hero__pre-scroll-word::after { left: 93%; top: 40%; }
  .hero__pre-scroll-word { margin-right: 26px; }
  .quicklinks { padding: 24px 0; }
  .quicklinks__head { gap: 12px; margin-bottom: 12px; }
  .quicklinks .quicklinks__title { font-size: 30px !important; }
  .quicklinks__head .section-head__caption { display: none; }
  .quicklinks .circ-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; border: 0; }
  .quicklinks .circ-card { min-width: 0; padding: 12px !important; gap: 10px !important; border: 1px solid var(--line-2) !important; border-radius: 10px; background: var(--night); }
  .quicklinks .circ-card__num, .quicklinks .circ-card__photo,
  .quicklinks .circ-card__desc, .quicklinks .circ-card__meta { display: none; }
  .quicklinks .circ-card__title { font-size: 20px; line-height: 1.12; margin: 0; }
  .quicklinks .circ-card__cta { margin-top: auto; padding-top: 0; border-top: 0; font-size: 10px; letter-spacing: .04em; min-height: 24px; color: var(--orange); }
  .quicklinks .circ-card:focus-visible { outline: 2px solid var(--pink); outline-offset: -2px; }
  .quicklinks .circ-card:active { background: var(--night-2); }
  .pagehead--agenda { padding: 92px 0 22px; }
  .pagehead--agenda .pagehead__title { font-size: 38px; }
  .pagehead--agenda .pagehead__sub { font-size: 15px; line-height: 1.5; }
  .pagehead--agenda .pagehead__meta { display: none; }
  body .agenda-filters { position: static; padding: 10px 0; }
  .agenda-filters__inner { gap: 8px; }
  .agenda-filters__chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .agenda-filters__chips .label { display: none; }
  .agenda-filters__chips .chip { flex: 0 0 auto; min-height: 40px; }
  body .agenda-filters__view { padding-right: 4px; }
  .agenda-filters__view button { min-height: 40px; }
  .agenda-body { padding: 24px 0; }
  .event-row { scroll-margin-top: calc(var(--archi-navh, 64px) + 12px); }
  .event-row.is-open { min-height: calc(100svh - var(--archi-navh, 64px)); display: flex; flex-direction: column; }
  .event-row.is-open .event-row__panel { flex: 1; display: flex; max-height: none; }
  .event-row.is-open .event-row__panel-inner { flex: 1; width: 100%; display: flex; flex-direction: column; }
  .event-row.is-open .event-row__detail { width: 100%; margin-top: auto; }
  .event-row .event-row__head { grid-template-columns: 48px minmax(0, 1fr) 40px; gap: 10px; padding: 14px 0; }
  .event-row .event-row__title { font-size: 21px; line-height: 1.12; }
  .event-row .event-row__panel-inner { gap: 12px; padding-bottom: 18px; }
  .event-row .event-row__flyer { width: auto; max-width: 100%; height: min(40svh, 300px); margin: 0 auto; }
  .event-row .event-row__detail { gap: 12px; }
  .event-row .event-row__meta { display: flex; flex-wrap: wrap; gap: 8px 14px; }
  .event-row .event-row__cta { display: flex; gap: 8px; width: 100%; }
  .event-row .event-row__action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; font-size: 13px; flex: 1; padding: 10px 12px; }
  body .ev-hero { padding: 88px 0 24px; }
  .ev-hero .ev-hero__inner { gap: 16px; }
  .ev-hero .ev-hero__poster { height: min(29svh, 230px); aspect-ratio: 4 / 5; width: auto; max-width: 100%; margin: auto; transform: none; }
  .ev-hero .ev-hero__poster img { object-fit: contain !important; }
  .ev-hero .ev-hero__crumbs { display: none; }
  .ev-hero .ev-hero__title { font-size: clamp(26px, 7vw, 32px); line-height: 1.04; }
  .ev-hero .ev-hero__edition { font-size: 10px; letter-spacing: .1em; }
  .ev-hero .ev-hero__main { gap: 10px; }
  .ev-hero .ev-hero__info { gap: 12px; }
  .ev-hero .ev-hero__tagline { font-size: 16px; line-height: 1.4; }
  .ev-hero .ev-hero__tagline, .ev-hero .ev-hero__chips { margin: 0; }
  .ev-hero .ev-hero__cta { margin-top: 10px; }
  .ev-hero .ev-hero__cta .btn { min-height: 44px; font-size: 14px; }
  .ev-body { padding: 28px 0; }
  .single-product .wp-generic { padding-top: 0; }
  .single-product .wp-generic__head { padding: 84px 0 14px; margin: 0; }
  .single-product .wp-generic__body { padding-top: 16px; }
  .single-product .wp-generic__title { font-size: clamp(26px, 7vw, 32px); line-height: 1.08; }
  .single-product .wp-generic__eyebrow { margin-bottom: 8px; }
  .single-product .woocommerce div.product { gap: 14px; }
  .single-product .woocommerce div.product .woocommerce-product-gallery { max-width: 100%; justify-self: center; }
  .single-product .woocommerce div.product .woocommerce-product-gallery img { height: min(18svh, 140px) !important; width: auto !important; max-width: 100%; object-fit: contain; margin: auto; }
  .single-product .woocommerce div.product .summary > .price { font-size: 16px; margin-bottom: 8px; }
  .single-product .archi-ticket-when { font-size: 14px; margin: 0 0 8px; }
  .single-product .woocommerce div.product .woocommerce-product-details__short-description { font-size: 14px; line-height: 1.4; margin-bottom: 10px; }
  .single-product .woocommerce-product-details__short-description p { margin: 0; }
  .single-product .woocommerce div.product form.cart { gap: 8px; margin: 0; width: 100%; }
  .single-product .woocommerce div.product form.cart::before,
  .single-product .woocommerce div.product form.cart::after { display: none; }
  .single-product .woocommerce div.product form.cart .variations { margin: 0 0 8px; }
  .single-product .woocommerce div.product form.cart .variations label { font-size: 10px; margin: 0; }
  .single-product .woocommerce div.product form.cart .variations th,
  .single-product .woocommerce div.product form.cart .variations td { padding: 0; text-align: left; font-size: 14px; line-height: 1.3; }
  .single-product .woocommerce div.product form.cart .variations select { font-size: 14px; min-height: 44px; padding: 8px 10px; }
  .single-product .woocommerce div.product form.cart .reset_variations { display: block; font-size: 12px; line-height: 16px; margin-top: 4px; }
  .single-product .woocommerce-variation-description p,
  .single-product .woocommerce-variation-price p { margin: 4px 0; font-size: 14px; line-height: 1.4; }
  .single-product .single_variation_wrap { width: 100%; }
  .single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
  .single-product .woocommerce div.product form.cart .single_add_to_cart_button { min-height: 44px; flex: 1; justify-content: center; font-size: 14px; }
  .single-product .woocommerce div.product .woocommerce-tabs { margin-top: 20px; }
  .mt-head { padding: 88px 0 16px; }
  .mt-head__inner { grid-template-columns: 1fr; gap: 12px; }
  .mt-head__inner > div:empty { display: none; }
  .mt-head__crumbs { display: none; }
  .mt-head__title { font-size: 32px; }
  .mt-head .mt-avatar { padding: 10px 12px; gap: 12px; }
  .mt-head .mt-avatar__circle { width: 44px; height: 44px; font-size: 20px; }
  .mt-head .mt-avatar__info .name { font-size: 18px; }
  .mt-tab { padding: 12px; min-height: 44px; }
  .mt-body { padding: 16px 0 32px; }
  .mt-card--woo { padding: 16px !important; }
  .mt-card--woo > p, .mt-card--woo .woocommerce-MyAccount-content > p { font-size: 14px; line-height: 1.5; margin-bottom: 14px; }
  .mt-card--woo .woocommerce-EditAccountForm { grid-template-columns: 1fr 1fr; gap: 8px 12px; }
  .mt-card--woo .woocommerce-EditAccountForm > p { margin-bottom: 6px; min-width: 0; }
  .mt-card--woo .woocommerce-EditAccountForm input { min-height: 44px; font-size: 16px; padding: 8px 10px; width: 100%; }
  .mt-card--woo .woocommerce-EditAccountForm em { font-size: 12px; line-height: 1.4; }
  .woocommerce-cart .wp-generic { padding-top: 0; }
  .woocommerce-cart .wp-generic__body { padding-top: 76px !important; }
  .woocommerce-cart .archi-funnel-stepper { margin: 0 auto 12px; padding: 0; }
  .woocommerce-cart .archi-funnel-stepper__figmark { display: none; }
  .woocommerce-cart .archi-funnel-stepper__list { display: none; }
  .woocommerce-cart .archi-funnel-stepper__mobile { display: block; margin: 0; }
  .woocommerce-cart .archi-page-heading .archi-eyebrow { display: none; }
  .woocommerce-cart .wp-generic__content--woo .woocommerce-message { margin-bottom: 12px; }
  .woocommerce-cart .archi-page-heading { margin: 12px 0 16px; padding: 0; }
  .woocommerce-cart .woocommerce-notices-wrapper { margin-bottom: 0; }
  .woocommerce-cart .archi-page-title { font-size: 30px; }
  .woocommerce-cart .archi-page-sub { font-size: 14px; line-height: 1.4; margin-top: 8px; }
  .woocommerce-cart .archi-stepper { margin: 0 auto 12px; }
  .woocommerce-cart .woocommerce-message { font-size: 12px; padding: 10px 32px 10px 14px !important; margin-bottom: 12px; }
  .woocommerce-cart .woocommerce-message::before { display: none; }
  .woocommerce-cart .woocommerce-message .button { display: none; }
  .ct-cartpage { padding: 0; }
  .ct-cartpage .ct-body__grid { display: flex; flex-direction: column; gap: 12px; }
  .ct-cartpage__main, .ct-cartpage .ct-card, .ct-cartpage .ct-side { display: contents; }
  .ct-cartpage .ct-item { order: 0; display: grid; grid-template-columns: 54px minmax(0, 1fr) 36px; padding: 12px; gap: 10px; border-radius: 12px; background: var(--night); border: 1px solid var(--line); }
  .ct-cartpage .ct-item__media { width: 54px; grid-row: 1 / 3; }
  .ct-cartpage .ct-item__name { font-size: 18px; line-height: 1.16; }
  html body .ct-cartpage .ct-item__name a { color: var(--cream) !important; text-decoration: none !important; }
  .ct-cartpage .ct-item:only-of-type .ct-item__total { display: none; }
  .ct-cartpage .ct-item__cat, .ct-cartpage .ct-item__price { display: none; }
  .ct-cartpage .ct-item__qty { grid-column: 2; grid-row: 2; }
  .ct-cartpage .ct-item__qty input.qty, .ct-cartpage .ct-qtybtn { height: 40px; }
  .ct-cartpage .ct-item__total { grid-column: 2 / 4; grid-row: 3; font-size: 16px; }
  .ct-cartpage .ct-totals { order: 1; padding: 12px 16px; width: 100%; }
  .ct-cartpage .ct-totals h3 { display: none; }
  .ct-cartpage .ct-row { padding: 5px 0; font-size: 13px; }
  .ct-cartpage .ct-total { margin-top: 8px; padding-top: 10px; font-size: 16px; }
  .ct-cartpage .ct-total b { font-size: 24px; }
  .ct-cartpage .ct-total b bdi, .ct-cartpage .ct-total b .woocommerce-Price-currencySymbol { color: inherit; background: none; -webkit-text-fill-color: inherit; }
  .ct-cartpage .ct-actions { order: 2; padding: 0; background: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
  .ct-cartpage .ct-actions .ct-checkout-btn { min-height: 46px; padding: 10px 12px; font-size: 14px; }
  .ct-cartpage .ct-actions .update-btn { min-height: 46px; padding: 10px; font-size: 12px; letter-spacing: 0; }
  .ct-cartpage .ct-actions > a { grid-column: 1 / -1; order: 3; min-height: 36px; font-size: 10px; }
  html body.archi-step3-active .archi-fqr__qr > summary { min-height: 44px; line-height: 1.4; }
  .ct-cartpage .ct-coupon { order: 3; width: 100%; }
  .ct-cartpage .ct-trust { order: 4; padding: 12px; font-size: 11px; }
  .ct-cartpage .ct-promo { border-radius: 12px; }
  .ct-cartpage .ct-promo input { font-size: 16px; padding: 8px 0; }
  .archi-thankyou .archi-thankyou__hero { margin-bottom: 18px; }
  .archi-thankyou .archi-thankyou__icon { width: 44px; height: 44px; margin-bottom: 10px; }
  .archi-thankyou .archi-thankyou__icon svg { width: 26px; height: 26px; }
  .archi-thankyou .archi-thankyou__title { font-size: 28px; line-height: 1.12; }
  .archi-thankyou .archi-thankyou__sub { font-size: 14px; line-height: 1.5; }
  html body.woocommerce-order-received .archi-thankyou .archi-thankyou__upload { padding: 16px !important; }
  .archi-thankyou__upload table.upload_receipt { display: block; width: 100% !important; margin: 0 !important; }
  .archi-thankyou__upload table.upload_receipt tbody { display: block; width: 100%; }
  .archi-thankyou__upload table.upload_receipt tr:has(.receipt-img-upload) { display: block; width: 100%; }
  .archi-thankyou .archi-thankyou__title { text-align: center; }
  .archi-thankyou__upload #uploadreceiptfileimage > div { display: block !important; width: 100%; }
  .archi-thankyou .archi-fdrop { width: 100%; margin-inline: auto; }
  .archi-thankyou .archi-fdrop { padding: 14px; border-color: var(--pink); background: rgba(255,61,127,.06); }
  .archi-thankyou .archi-fdrop__icon { margin-bottom: 6px; color: var(--orange); }
  .archi-thankyou .archi-fdrop__icon svg { width: 24px; height: 24px; }
  .archi-thankyou .archi-ffile { padding: 12px; gap: 10px; flex-wrap: wrap; }
  .archi-thankyou .archi-ffile__name { flex-basis: calc(100% - 32px); }
  .archi-thankyou .archi-ffile button { min-height: 44px; }
  .archi-thankyou .archi-fminipedido { padding: 14px 0; margin-top: 16px; }
}
