/* 04-worldcup-2026.css
   Extracted from the approved La Laguna commercial demo. Keep order in index.html. */

:root{--mx-green:#006847;--mx-red:#CE1126;--mx-gold:#F59E0B;--mx-slate:#0F172A;}
    #mxWorldcupPreloader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.92),transparent 26%),linear-gradient(135deg,#063b2b 0%,#0f5138 33%,#f8fafc 33%,#fff 66%,#CE1126 66%,#7f1d1d 100%);transition:opacity .55s ease,visibility .55s ease,transform .55s ease;}
    #mxWorldcupPreloader.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.035)}
    .mx-loader-card{position:relative;width:min(94vw,920px);min-height:520px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.62);border-radius:34px;box-shadow:0 40px 120px rgba(0,0,0,.28);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:grid;grid-template-columns:1.18fr .82fr;overflow:hidden;}
    .mx-papel-picado{position:absolute;top:20px;left:28px;right:28px;display:flex;justify-content:center;gap:10px;z-index:2}.mx-flag-tile{width:32px;height:24px;border-radius:0 0 7px 7px;box-shadow:0 8px 18px rgba(15,23,42,.15);animation:mxSwing 1.8s ease-in-out infinite;transform-origin:top center}.mx-flag-tile:nth-child(3n+1){background:var(--mx-green)}.mx-flag-tile:nth-child(3n+2){background:#fff;animation-delay:.14s}.mx-flag-tile:nth-child(3n+3){background:var(--mx-red);animation-delay:.28s}
    .mx-loader-copy{position:relative;z-index:3;padding:5.2rem 3rem 3rem;display:flex;flex-direction:column;justify-content:center}.mx-loader-chip{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(0,104,71,.28);background:#ecfdf5;color:var(--mx-green);border-radius:999px;padding:.42rem .78rem;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;width:max-content}.mx-loader-title{font-family:'Space Grotesk','Plus Jakarta Sans',system-ui,sans-serif;font-size:clamp(3.2rem,7vw,5.4rem);line-height:.88;letter-spacing:-.06em;font-weight:900;color:#0f172a;margin:1.4rem 0 0}.mx-loader-title span{color:var(--mx-red)}.mx-loader-text{margin-top:1rem;color:#475569;font-size:.95rem;line-height:1.65;font-weight:600;max-width:36rem}.mx-loader-status{margin-top:1.6rem;display:inline-flex;align-items:center;gap:.72rem;background:#0f172a;color:white;border-radius:999px;padding:.82rem 1.1rem;box-shadow:0 18px 40px -22px rgba(15,23,42,.8);width:max-content}.mx-loading-dot{height:10px;width:10px;border-radius:999px;background:var(--mx-gold);box-shadow:0 0 0 0 rgba(245,158,11,.7);animation:mxPulse 1.4s infinite}.mx-loader-status-text{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.mx-loader-progress{margin-top:1.15rem;width:min(100%,400px);height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden}.mx-loader-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mx-green),#fff,var(--mx-red));animation:mxLoad 3s cubic-bezier(.65,0,.2,1) forwards}.mx-loader-skip{margin-top:1.35rem;background:transparent;border:0;color:#64748b;text-decoration:underline;text-underline-offset:3px;font-size:.78rem;font-weight:800;cursor:pointer;width:max-content}.mx-loader-skip:hover{color:#0f172a}
    .mx-loader-visual{position:relative;z-index:2;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(245,158,11,.10));border-left:1px solid rgba(255,255,255,.5);overflow:hidden}.mx-ball-wrap{position:relative;animation:mxBounce 1s cubic-bezier(.55,.05,.38,.95) infinite;filter:drop-shadow(0 25px 15px rgba(0,0,0,.28));z-index:2}.mx-ball{width:142px;height:142px;border-radius:50%;background:conic-gradient(from 18deg,#fff 0 12%,#e5e7eb 12% 18%,#fff 18% 32%,#e5e7eb 32% 39%,#fff 39% 58%,#e5e7eb 58% 64%,#fff 64% 80%,#e5e7eb 80% 86%,#fff 86% 100%);border:3px solid #0f172a;animation:mxSpin 2s linear infinite}.mx-field-shadow{position:absolute;bottom:25%;width:80%;height:80px;background:rgba(0,104,71,.10);border-top:2px solid rgba(0,104,71,.20);border-radius:100%}.mx-city-badge{position:absolute;right:1.4rem;bottom:1.4rem;background:rgba(255,255,255,.9);border:1px solid rgba(226,232,240,.88);box-shadow:0 14px 34px -20px rgba(15,23,42,.65);border-radius:1rem;padding:.62rem .88rem;color:#0f172a;font-size:.70rem;font-weight:900;text-transform:uppercase;letter-spacing:.10em}.mx-confetti span{position:absolute;width:8px;height:18px;border-radius:3px;opacity:.85;animation:mxFloat 3s ease-in-out infinite}.mx-confetti span:nth-child(1){left:20%;top:20%;background:var(--mx-green);animation-delay:.1s}.mx-confetti span:nth-child(2){left:80%;top:15%;background:var(--mx-red);animation-delay:.3s}.mx-confetti span:nth-child(3){left:30%;top:70%;background:#fbbf24;animation-delay:.5s}.mx-confetti span:nth-child(4){left:70%;top:80%;background:var(--mx-green);animation-delay:.7s}.mx-confetti span:nth-child(5){left:50%;top:10%;background:var(--mx-red);animation-delay:.9s}
    @keyframes mxLoad{to{width:100%}}@keyframes mxPulse{0%{box-shadow:0 0 0 0 rgba(245,158,11,.7)}70%{box-shadow:0 0 0 12px rgba(245,158,11,0)}100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}}@keyframes mxSpin{to{transform:rotate(360deg)}}@keyframes mxBounce{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-50px) scale(1.05)}75%{transform:translateY(5px) scale(.95)}}@keyframes mxSwing{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes mxFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(20deg)}}
    .worldcup-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(0,104,71,.22);background:#ECFDF5;color:#006847;border-radius:999px;padding:.34rem .66rem;font-size:.70rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.dark .worldcup-chip{background:rgba(0,104,71,.18);color:#86efac;border-color:rgba(134,239,172,.22)}
    .worldcup-readiness{position:relative;overflow:hidden;background:linear-gradient(135deg,#0F172A,#102f25 42%,#7f1d1d)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 22px 58px -28px rgba(2,6,23,.8)!important}.worldcup-readiness:before{content:'';position:absolute;right:-9%;top:-60%;width:360px;height:360px;background:radial-gradient(circle,rgba(245,158,11,.30),transparent 62%);filter:blur(18px)}.worldcup-readiness:after{content:'';position:absolute;left:-8%;bottom:-40%;width:320px;height:260px;background:radial-gradient(circle,rgba(0,104,71,.42),transparent 64%);filter:blur(26px)}.worldcup-readiness .readiness-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:1rem;padding:1rem}.worldcup-readiness .readiness-btn{border-radius:.75rem;padding:.72rem .9rem;font-size:.82rem;font-weight:900;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#fff;display:inline-flex;align-items:center;gap:.5rem;transition:.18s}.worldcup-readiness .readiness-btn:hover{background:rgba(255,255,255,.17);transform:translateY(-1px)}.worldcup-readiness .readiness-btn.gold{background:#f59e0b;color:#0f172a;border-color:#f59e0b}.worldcup-readiness .readiness-btn.green{background:#006847;color:#fff;border-color:#006847}
    .preloader-mini-ball{width:18px;height:18px;border-radius:50%;background:conic-gradient(from 18deg,#fff 0 18%,#e5e7eb 18% 28%,#fff 28% 50%,#e5e7eb 50% 58%,#fff 58% 82%,#e5e7eb 82% 90%,#fff 90% 100%);border:1px solid #0f172a;display:inline-block;box-shadow:0 2px 8px rgba(15,23,42,.18)}
    @media (max-width:820px){.mx-loader-card{grid-template-columns:1fr;min-height:auto}.mx-loader-visual{min-height:210px;border-left:0;border-top:1px solid rgba(255,255,255,.5)}.mx-loader-copy{padding:4.8rem 1.35rem 1.45rem}.mx-loader-title{font-size:clamp(3rem,18vw,4.7rem)}.mx-ball{width:104px;height:104px}.mx-loader-status{width:100%;justify-content:center}.worldcup-readiness .readiness-grid{grid-template-columns:1fr!important}}
    @media (prefers-reduced-motion:reduce){#mxWorldcupPreloader,.mx-flag-tile,.mx-loader-progress span,.mx-loading-dot,.mx-ball-wrap,.mx-ball,.mx-confetti span,#content>div,#content>section>div{animation:none!important;transition:none!important}}
