/* 0.3.8 — Site-wide UX/UI fixes (accessibility, tap targets, contrast, mobile CTA, legal links, 404). */
:root { --cmjx-ink: #02233e; --cmjx-teal: #11a3a5; --cmjx-link: #0a7375; --cmjx-yellow: #fcf089; --cmjx-orange: #f89a44; }
/* Skip link */
.cmj-skip-link { position: absolute; left: 12px; top: -80px; z-index: 100000; background: var(--cmjx-yellow); color: var(--cmjx-ink) !important; padding: 12px 18px; font-weight: 800; text-decoration: none; border-radius: 0 0 8px 8px; }
.cmj-skip-link:focus { top: 0; }
/* Visible keyboard focus everywhere */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [role="button"]:focus-visible {
    outline: 3px solid var(--cmjx-orange) !important; outline-offset: 2px !important; border-radius: 2px;
}
/* Header: active page, cart badge and menu toggle tap targets */
.et-l--header .et-menu > li.current-menu-item > a, .et-l--header .et-menu > li.current_page_item > a { color: var(--cmjx-yellow) !important; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 8px; }
.et-l--header .et_mobile_menu li.current-menu-item > a { color: var(--cmjx-yellow) !important; }
.et-l--header .et_pb_menu__cart-button { display: inline-flex !important; align-items: center; min-height: 44px; padding: 0 6px; }
.et-l--header .mobile_menu_bar { display: inline-flex !important; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.et-l--header .et_mobile_menu a { min-height: 44px; display: flex !important; align-items: center; }
/* Tap targets in content */
.cmjx-toggle { min-height: 44px; }
details > summary { min-height: 44px; display: list-item; padding-top: 11px; padding-bottom: 11px; box-sizing: border-box; }
.cmj-faq-2027-v1 .cmjfaq-item details { padding: 12px 0 !important; }
/* Link contrast on light backgrounds (WCAG AA) */
.page-id-20271188 .entry-content a, .page-id-20271189 .entry-content a, .cmj-tour-page a:not(.cmj-button),
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a, .woocommerce-checkout .cmj-consent a,
.woocommerce-account .woocommerce a:not(.button), .woocommerce-message a.button, .woocommerce-info a.button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-account button.button { color: var(--cmjx-link) !important; }
a[href="/tour/#costos"] { color: var(--cmjx-link) !important; }
#product-517 .cmj-pp-eyebrow { color: var(--cmjx-link) !important; }
/* "PRÓXIMA EDICIÓN" label on yellow */
.cmj-native-edition-card.is-current p > span { color: var(--cmjx-ink) !important; }
/* Footer menu: show links on mobile/tablet instead of a second hamburger */
@media (max-width: 980px) {
    .et-l--footer .et_pb_menu .et_pb_menu__menu { display: flex !important; }
    .et-l--footer .et_pb_menu .et_mobile_nav_menu { display: none !important; }
    .et-l--footer .et_pb_menu .et-menu { display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding-left: 14px !important; }
    .et-l--footer .et_pb_menu .et-menu > li { padding: 0 !important; }
    .et-l--footer .et_pb_menu .et-menu > li > a { display: flex; align-items: center; min-height: 44px; padding: 0 !important; }
    .et-l--footer .et_pb_menu__wrap { justify-content: flex-start !important; }
}
/* Legal links under the footer */
.cmj-legal-bar { background: #02233e; color: rgba(255,255,255,.75); padding: 14px 20px 18px; font-size: 13px; line-height: 1.6; text-align: center; border-top: 1px solid rgba(255,255,255,.12); }
.cmj-legal-bar nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; }
.cmj-legal-bar a { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 44px; }
.cmj-legal-bar a:hover { color: var(--cmjx-yellow) !important; }
/* Mobile registration bar */
.cmj-mobile-cta { display: none; }
@media (max-width: 767px) {
    .cmj-mobile-cta { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(2,35,62,.97); box-shadow: 0 -6px 18px rgba(0,0,0,.25); transform: translateY(110%); transition: transform .25s ease; }
    .cmj-mobile-cta.is-visible { transform: none; }
    .cmj-mobile-cta a { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-decoration: none; min-height: 48px; }
    .cmj-mobile-cta__txt { color: #fff; font-size: 14px; line-height: 1.25; display: flex; flex-direction: column; }
    .cmj-mobile-cta__txt strong { color: var(--cmjx-yellow); font-size: 16px; }
    .cmj-mobile-cta__txt span { color: rgba(255,255,255,.85); }
    .cmj-mobile-cta__btn { background: var(--cmjx-teal); color: var(--cmjx-ink); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; padding: 13px 18px; font-size: 14px; box-shadow: 4px 4px 0 var(--cmjx-yellow); white-space: nowrap; }
    body.cmj-has-mobile-cta .cmj-legal-bar { padding-bottom: 92px; }
    body.cmj-has-mobile-cta .et_pb_scroll_top { bottom: 88px !important; }
}
@media (prefers-reduced-motion: reduce) { .cmj-mobile-cta { transition: none; } }
/* Spanish 404 */
#main-content.cmj-404, .cmj-404 { background: #02233e !important; color: #fff; padding: clamp(64px, 10vw, 120px) 20px; overflow-x: hidden; }
.cmj-404__inner { max-width: 760px; margin: 0 auto; }
.cmj-404__eyebrow { color: var(--cmjx-teal); font-weight: 800; letter-spacing: .2em; text-transform: uppercase; font-size: 12px; margin: 0 0 16px; }
.cmj-404__title { color: #fff !important; font-family: var(--cmj-impact, "Agressive Latin", "Arial Black", Arial, sans-serif) !important; font-size: clamp(28px, 7.5vw, 72px) !important; line-height: 1 !important; overflow-wrap: anywhere; text-transform: uppercase; margin: 0 0 20px !important; padding: 0 !important; }
.cmj-404__text { color: rgba(255,255,255,.85); font-size: 17px; line-height: 1.6; margin: 0 0 28px; }
.cmj-404__actions { display: flex; flex-wrap: wrap; gap: 16px; margin: 0 0 32px; }
.cmj-404__btn { display: inline-flex; align-items: center; min-height: 52px; padding: 0 28px; border: 2px solid #fff; color: #fff !important; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; }
.cmj-404__btn--primary { background: var(--cmjx-teal); border-color: var(--cmjx-teal); color: var(--cmjx-ink) !important; box-shadow: 6px 6px 0 var(--cmjx-yellow); }
.cmj-404__links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; }
.cmj-404__links a { color: var(--cmjx-yellow) !important; text-decoration: underline; text-underline-offset: 4px; display: inline-flex; min-height: 44px; align-items: center; font-weight: 700; }
@media (max-width: 600px) { .cmj-legal-bar nav { flex-direction: column; align-items: center; gap: 0; } .cmj-legal-bar nav > span { display: none; } }
/* 0.4.0 — Títulos de banda en móvil: sin cortar palabras («COMIENZ / A»). */
@media (max-width: 480px) { .cmj-page-hero h1 { font-size: min(3.2rem, 11vw) !important; word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important; } }
