/* ============================================================================
   PENCA MUNDIAL 2026 — Design System v2.0
   GlobalData UY · Estilo deportivo moderno
   ============================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Bebas+Neue&display=swap');

/* ── Variables globales — Azul GlobalData ──────────────────────────────── */
:root {
    /* ── LA LOONEY · Paleta naranja hamburguesa ── */
    /* Fondos crema cálido */
    --bg:           #FFF6EC;     /* Crema claro · fondo principal */
    --bg2:          #FFEEDD;     /* Crema con tinte · cards suaves */
    --bg3:          #FCE3CB;     /* Crema más cálido · hover tabla */
    --card:         #FFFFFF;     /* Blanco · cards principales */
    --border:       #F0C9A0;     /* Naranja claro pastel · bordes */
    --border-light: rgba(240,201,160,0.4);

    /* Acento PRINCIPAL — Naranja LA LOONEY */
    --gold:         #FF7A00;     /* Naranja vibrante · CTAs, links */
    --gold-light:   #FF7A3D;     /* Naranja más claro · hover */
    --gold-dim:     rgba(251,93,19,0.10);
    --gold-border:  rgba(251,93,19,0.40);

    /* Verde — éxito, aciertos (combina con naranja) */
    --neon:         #2A9D8F;     /* Verde azulado · aciertos */
    --neon-dim:     rgba(42,157,143,0.14);

    /* Dorado/ámbar — alertas suaves, ofertas */
    --cyan:         #E8A33D;     /* Ámbar dorado · ofertas */
    --cyan-dim:     rgba(232,163,61,0.14);

    /* Rojo — errores */
    --red:          #D62828;
    --red-dim:      rgba(214,40,40,0.12);

    /* Texto */
    --text:         #3D2817;     /* Marrón muy oscuro · texto principal */
    --muted:        #8B5E3C;     /* Marrón medio · texto secundario */
    --muted2:       #B5896A;     /* Marrón claro · placeholders */

    /* Sistema de puntos 3/2/1/0 */
    --exacto:       #2A9D8F;     /* Verde · 3 pts */
    --diferencia:   #FF7A00;     /* Naranja · 2 pts */
    --ganador:      #E8A33D;     /* Ámbar · 1 pt */
    --warning:      #E8A33D;
    --mundial-gold: #FF7A00;

    --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 24px;
}

/* ── Reset ───────────────────────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{
    background-color:var(--bg);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'><g fill='%238B5A2B' opacity='0.07'><text x='15' y='40' font-size='30'>🍔</text><text x='110' y='75' font-size='26'>🍟</text><text x='50' y='115' font-size='24'>🥤</text><text x='130' y='150' font-size='28'>🍔</text><text x='10' y='165' font-size='22'>🌭</text></g></svg>");
    background-repeat: repeat;
    background-attachment: fixed;
    font-family:'Fredoka','Space Grotesk',sans-serif;color:var(--text);min-height:100vh;
    line-height:1.5;-webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
img{max-width:100%;height:auto;display:block}

/* ── Contenedor ─────────────────────────────────────────────────────────── */
.container{width:100%;max-width:1320px;margin:0 auto;padding:0 20px}

/* ── Tipografía especial ─────────────────────────────────────────────────── */
.bebas{font-family:'Bebas Neue',sans-serif;letter-spacing:1px}
.text-gold{color:var(--gold)} .text-muted{color:var(--muted)}
.text-neon{color:var(--neon)} .text-center{text-align:center}
.text-right{text-align:right}

/* ── Botones ─────────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:10px 22px;border-radius:40px;font-weight:700;font-size:.875rem;
    text-decoration:none;transition:all .2s;cursor:pointer;border:none;letter-spacing:.3px}
.btn--primary{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#FFF6EC;
    box-shadow:0 4px 16px rgba(251,93,19,.25);font-weight:700}
.btn--primary:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(251,93,19,.40);filter:brightness(1.05)}
.btn--ghost{background:var(--gold-dim);border:1px solid var(--gold-border);color:var(--gold)}
.btn--ghost:hover{background:rgba(251,93,19,.2)}
.btn--neon{background:var(--neon-dim);border:1px solid rgba(42,157,143,.3);color:var(--neon)}
.btn--neon:hover{background:rgba(42,157,143,.18)}
.btn--danger{background:var(--red-dim);border:1px solid rgba(251,93,19,.3);color:var(--red)}
.btn--lg{padding:13px 30px;font-size:1rem}
.btn--sm{padding:6px 14px;font-size:.75rem}
.btn--block{display:flex;width:100%}

/* ── Cards ────────────────────────────────────────────────────────────────── */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.card-glass{background:rgba(12,37,24,.7);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.card-gold{background:var(--card);border:1px solid var(--gold-border);border-radius:var(--r-lg)}
.glass{background:rgba(255,255,255,0.85);backdrop-filter:blur(8px);border:1px solid var(--gold-border);border-radius:var(--r-lg)}

/* ── Section tags ─────────────────────────────────────────────────────────── */
.section-tag{display:inline-block;padding:4px 14px;border-radius:20px;font-size:.7rem;
    font-weight:700;text-transform:uppercase;letter-spacing:1.5px}
.section-tag--gold{background:var(--gold-dim);border:1px solid var(--gold-border);color:var(--gold)}
.section-tag--neon{background:var(--neon-dim);border:1px solid rgba(42,157,143,.25);color:var(--neon)}
.section-tag--cyan{background:var(--cyan-dim);border:1px solid rgba(0,196,180,.25);color:var(--cyan)}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;letter-spacing:2px;line-height:1;margin-top:10px}
.section-title span{color:var(--gold)}
.section-sub{font-size:.875rem;color:var(--muted);margin-top:6px}

/* ── Alertas ─────────────────────────────────────────────────────────────── */
.alert{padding:12px 16px;border-radius:var(--r-sm);margin-bottom:18px;font-size:.85rem;display:flex;align-items:center;gap:10px}
.alert--success{background:var(--neon-dim);border:1px solid rgba(42,157,143,.3);color:var(--neon)}
.alert--error{background:var(--red-dim);border:1px solid rgba(251,93,19,.3);color:var(--red)}
.alert--warning{background:rgba(255,209,102,.1);border:1px solid rgba(255,209,102,.3);color:var(--warning)}
.alert--info{background:var(--cyan-dim);border:1px solid rgba(0,196,180,.3);color:var(--cyan)}

/* ── Badges ──────────────────────────────────────────────────────────────── */
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:700}
.badge-exacto{background:rgba(42,157,143,.15);border:1px solid rgba(42,157,143,.3);color:var(--exacto)}
.badge-diferencia{background:rgba(0,196,180,.12);border:1px solid rgba(0,196,180,.3);color:var(--diferencia)}
.badge-ganador{background:var(--gold-dim);border:1px solid var(--gold-border);color:var(--gold)}
.badge-perdido{background:var(--red-dim);border:1px solid rgba(251,93,19,.2);color:var(--red)}
.badge-vivo{background:rgba(251,93,19,.15);border:1px solid rgba(251,93,19,.4);color:#ff6b6b}
.badge-success{background:var(--neon-dim);color:var(--neon)}
.badge-warning{background:rgba(255,209,102,.1);color:var(--warning)}
.badge-info{background:var(--cyan-dim);color:var(--cyan)}
.badge-danger{background:var(--red-dim);color:var(--red)}

/* ── Punto live ──────────────────────────────────────────────────────────── */
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);
    animation:pulse-dot 1.2s ease-in-out infinite;vertical-align:middle;margin-right:5px}

/* ── Inputs ──────────────────────────────────────────────────────────────── */
.field{margin-bottom:16px}
.field label{display:block;font-size:.78rem;font-weight:600;color:var(--muted);
    margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}
.field input,.field select,.field textarea{
    width:100%;padding:12px 14px;background:#FFFFFF;border:1px solid var(--border);
    border-radius:var(--r-sm);color:var(--text);font-size:.9rem;
    transition:border-color .2s,background .2s;font-family:'Space Grotesk',sans-serif}
.field input:focus,.field select:focus,.field textarea:focus{
    outline:none;border-color:var(--gold-border);background:rgba(251,93,19,.04)}
.field input::placeholder{color:var(--muted2)}

/* ── Stat cards ──────────────────────────────────────────────────────────── */
.stat-card{background:#FFFFFF;border:1px solid var(--border);border-radius:var(--r-md);padding:14px 18px;text-align:center}
.stat-card__num{font-family:'Bebas Neue',sans-serif;font-size:2rem;line-height:1;color:var(--gold)}
.stat-card__lbl{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-top:3px}

/* ── Countdown ───────────────────────────────────────────────────────────── */
.countdown{display:flex;gap:10px;flex-wrap:wrap}
.countdown__box{background:rgba(255,255,255,0.85);border:1px solid var(--gold-border);border-radius:var(--r-md);
    padding:12px 16px;text-align:center;min-width:64px}
.countdown__num{font-family:'Bebas Neue',sans-serif;font-size:2.4rem;color:var(--gold);line-height:1}
.countdown__lbl{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:3px}

/* ── Match card ──────────────────────────────────────────────────────────── */
.match-card{background:linear-gradient(135deg,var(--card),var(--bg3));border:1px solid var(--border);
    border-radius:var(--r-lg);overflow:hidden;transition:transform .2s,border-color .2s}
.match-card:hover{transform:translateY(-2px);border-color:rgba(251,93,19,.3)}
.match-card__header{display:flex;justify-content:space-between;align-items:center;
    padding:7px 16px;background:#FFFFFF;font-size:.7rem;color:var(--muted);
    border-bottom:1px solid var(--border);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.match-card__body{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;gap:12px}
.match-team{display:flex;align-items:center;gap:10px;flex:1}
.match-team--right{flex-direction:row-reverse}
.match-flag{width:40px;height:28px;border-radius:4px;object-fit:cover;
    border:1px solid rgba(255,255,255,.12);flex-shrink:0;font-size:22px;
    display:flex;align-items:center;justify-content:center;background:#FFFFFF}
.match-flag img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.match-team__name{font-weight:700;font-size:.95rem}
.match-team__abbr{font-size:.7rem;color:var(--muted)}
.match-center{display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,0.8);
    border:1px solid var(--border);border-radius:var(--r-md);padding:10px 16px;min-width:70px;text-align:center}
.match-center__score{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:2px;line-height:1}
.match-center__score--live{color:var(--red)}
.match-center__score--fin{color:var(--text)}
.match-center__sub{font-size:.65rem;color:var(--muted);margin-top:3px;text-transform:uppercase;letter-spacing:.5px}
.match-card__footer{padding:9px 20px;border-top:1px solid rgba(240,201,160,.4);
    display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--muted)}
.prono-input{background:#FFFFFF;border:2px solid var(--border);border-radius:6px;color:var(--text);
    width:40px;height:38px;text-align:center;font-size:1.05rem;font-weight:700;
    font-family:'Space Grotesk',sans-serif;transition:border-color .2s}
.prono-input:focus{outline:none;border-color:var(--gold);background:rgba(251,93,19,.05)}

/* ── Podio ───────────────────────────────────────────────────────────────── */
.podio{display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:20px 0 0}
.podio__item{text-align:center}
.podio__avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;
    justify-content:center;font-weight:800;font-size:18px;margin:0 auto 8px;border:2px solid var(--border)}
.podio__item--1 .podio__avatar{width:66px;height:66px;font-size:22px;border-color:var(--gold);
    background:linear-gradient(135deg,#FCE3CB,#FFF6EC);color:var(--gold)}
.podio__item--2 .podio__avatar{border-color:#b0b0c0;background:linear-gradient(135deg,#1a1a2a,#111118);color:#d0d0e0}
.podio__item--3 .podio__avatar{border-color:#cd7f32;background:linear-gradient(135deg,#1a1000,#100a00);color:#cd7f32}
.podio__crown{font-size:22px;text-align:center;margin-bottom:4px}
.podio__user{font-size:.75rem;font-weight:700}
.podio__pts{font-family:'Bebas Neue',sans-serif;color:var(--gold)}
.podio__pts-lbl{font-size:.65rem;color:var(--muted)}
.podio__bar{border-radius:6px 6px 0 0;width:80px;display:flex;align-items:flex-end;
    justify-content:center;padding-bottom:6px;font-family:'Bebas Neue',sans-serif;
    font-size:1.6rem;color:rgba(255,255,255,.35)}
.podio__item--1 .podio__bar{height:80px;background:linear-gradient(180deg,rgba(251,93,19,.3),rgba(251,93,19,.06))}
.podio__item--1 .podio__pts{font-size:1.6rem}
.podio__item--2 .podio__bar{height:56px;width:70px;background:linear-gradient(180deg,rgba(176,176,192,.2),rgba(176,176,192,.04))}
.podio__item--2 .podio__pts{font-size:1.3rem}
.podio__item--3 .podio__bar{height:40px;width:70px;background:linear-gradient(180deg,rgba(205,127,50,.2),rgba(205,127,50,.04))}
.podio__item--3 .podio__pts{font-size:1.3rem}

/* ── Rank rows ───────────────────────────────────────────────────────────── */
.rank-row{display:flex;align-items:center;gap:12px;padding:11px 16px;
    border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s}
.rank-row:hover{background:rgba(255,255,255,.02)}
.rank-row.rank-me{background:rgba(251,93,19,.06);border:1px solid rgba(251,93,19,.2);
    border-radius:var(--r-sm);margin:4px 0}
.rank-pos{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:var(--muted2);width:30px;text-align:center;flex-shrink:0}
.rank-pos--me{color:var(--gold)}
.rank-avatar-sm{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;
    justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.rank-info{flex:1}
.rank-name{font-size:.875rem;font-weight:700}
.rank-detail{font-size:.72rem;color:var(--muted)}
.rank-pts{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:var(--gold)}

/* ── Group cards ─────────────────────────────────────────────────────────── */
.group-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.group-card__header{background:linear-gradient(135deg,rgba(251,93,19,.15),rgba(251,93,19,.04));
    border-bottom:1px solid var(--gold-border);padding:12px 16px;display:flex;align-items:center;gap:10px}
.group-card__letter{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--gold);line-height:1}
.group-card__title{font-weight:700;font-size:.9rem}
.group-table{width:100%;border-collapse:collapse}
.group-table th{padding:8px 10px;font-size:.65rem;text-transform:uppercase;letter-spacing:1px;
    color:var(--muted);text-align:center;background:rgba(255,238,221,0.6);border-bottom:1px solid var(--border)}
.group-table th:first-child{text-align:left}
.group-table td{padding:10px 10px;font-size:.82rem;border-bottom:1px solid rgba(255,255,255,.04);
    text-align:center;vertical-align:middle}
.group-table td:first-child{text-align:left}
.group-table tr:last-child td{border-bottom:none}
.group-table tr:nth-child(1) td,.group-table tr:nth-child(2) td{background:rgba(42,157,143,.03)}
.group-pts{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--gold)}

/* ── Form pages ──────────────────────────────────────────────────────────── */
.form-page{min-height:calc(100vh - 140px);display:flex;align-items:center;
    justify-content:center;padding:40px 20px}
.form-box{max-width:460px;width:100%;background:var(--card);border:1px solid var(--border);
    border-radius:var(--r-xl);padding:36px 32px;position:relative;overflow:hidden}
.form-box::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--neon))}
.form-box__logo{display:flex;justify-content:center;margin-bottom:20px}
.form-box__title{font-family:'Bebas Neue',sans-serif;font-size:2rem;text-align:center;
    letter-spacing:2px;margin-bottom:4px}
.form-box__sub{text-align:center;color:var(--muted);font-size:.82rem;margin-bottom:24px}
.field-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-footer{text-align:center;margin-top:20px;font-size:.8rem;color:var(--muted)}
.form-footer a{color:var(--gold)}
.form-footer a:hover{color:var(--gold-light)}

/* ── Footer ──────────────────────────────────────────────────────────────── */
.site-footer{background:linear-gradient(135deg,#FF7A00,#E8531A);border-top:none;padding:48px 24px 24px;margin-top:80px;box-shadow:0 -4px 18px rgba(251,93,19,.2)}
.site-footer__inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
.site-footer__brand p{color:rgba(255,246,236,.9);font-size:.8rem;margin-top:8px}
.site-footer__links h4{color:#FFFFFF;font-size:.85rem;margin-bottom:14px;font-family:'Fredoka',sans-serif;font-weight:600;letter-spacing:.5px}
.site-footer__links ul li{margin-bottom:8px}
.site-footer__links ul a{color:rgba(255,246,236,.85);font-size:.82rem;transition:all .2s}
.site-footer__links ul a:hover{color:#FFFFFF;padding-left:3px}
.site-footer__copy{text-align:center;margin-top:24px;padding-top:20px;
    border-top:1px solid rgba(255,255,255,.2);font-size:.78rem;color:rgba(255,246,236,.85);font-family:'Fredoka',sans-serif}
.footer-local .footer-info{margin-bottom:12px}
.footer-local .footer-info li{margin-bottom:7px;font-size:.78rem;color:rgba(255,246,236,.9);line-height:1.4;display:flex;align-items:flex-start;gap:7px}
.footer-local .footer-info li i{margin-top:3px}
.footer-local .footer-info a{color:rgba(255,246,236,.9);transition:color .2s}
.footer-local .footer-info a:hover{color:#FFFFFF}
.footer-map{margin-top:10px;max-width:260px;box-shadow:0 4px 12px rgba(0,0,0,.2);border-radius:10px;overflow:hidden}
.site-footer__slogan{text-align:center;margin-top:28px;font-family:'Fredoka',sans-serif;
    font-size:.92rem;font-weight:500;color:#FFFFFF;font-style:italic;padding:0 20px}

/* ── Perfil ──────────────────────────────────────────────────────────────── */
.profile-card{background:linear-gradient(135deg,var(--card),var(--bg3));border:1px solid var(--border);
    border-radius:var(--r-xl);padding:28px;position:relative;overflow:hidden}
.profile-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--gold),var(--gold-light))}
.profile-avatar-wrap{position:relative;width:90px;height:90px;margin:0 auto 16px}
.profile-avatar{width:90px;height:90px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);display:block}
.profile-avatar-placeholder{width:90px;height:90px;border-radius:50%;
    background:linear-gradient(135deg,var(--gold),#FCE3CB);
    display:flex;align-items:center;justify-content:center;
    font-size:2rem;font-weight:800;color:#FFF6EC;border:3px solid var(--gold)}
.profile-rank-badge{position:absolute;bottom:-4px;right:-4px;background:var(--gold);color:#FFF6EC;
    border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;
    font-family:'Bebas Neue',sans-serif;font-size:.9rem;border:2px solid var(--bg)}

/* ── Divider ─────────────────────────────────────────────────────────────── */
.divider{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:24px 0}

/* ── Utilidades ──────────────────────────────────────────────────────────── */
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:16px}.mt-4{margin-top:24px}
.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:24px}

/* ── Animaciones ─────────────────────────────────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.animate-fadein{animation:fadeUp .35s ease forwards}

/* ── Flip animation (marcador tipo aeropuerto) ───────────────────────────── */
@keyframes flip-digit {
    0%   { transform: rotateX(0);   opacity: 1; }
    49%  { transform: rotateX(90deg); opacity: 0; }
    50%  { transform: rotateX(-90deg); opacity: 0; }
    100% { transform: rotateX(0);   opacity: 1; }
}
.flip-anim {
    display: inline-block;
    animation: flip-digit 0.4s ease;
    transform-origin: center;
    perspective: 200px;
}

/* ── Marcador en tiempo real (partido.php) ───────────────────────────────── */
@keyframes pulse-num {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.6; }
}
