:root{--bg:#0b1220;--card:#0f172a;--muted:#94a3b8;--text:#e2e8f0;--brand:#60a5fa;--brand-2:#34d399;--accent:#f59e0b;--danger:#ef4444;--ring:0 0 0 2px rgba(96,165,250,.35);--shadow:0 10px 30px rgba(3,7,18,.35);--radius:14px;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji";background:linear-gradient(180deg,#0a0f1c 0%,#0b1220 50%,#0f172a 100%);color:var(--text);line-height:1.55;min-height:100vh;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;}
.container{width:min(1200px,92vw);margin-inline:auto;}
@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important;}}
header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(120%) blur(8px);background:color-mix(in oklab,#0b1220 85%,#0f172a 15%/60%);border-bottom:1px solid color-mix(in oklab,#fff 10%,transparent);}
.header__inner{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:12px 0;}
.brand{display:inline-flex;align-items:center;gap:10px;}
.brand img{width:42px;height:42px;border-radius:10px;box-shadow:var(--shadow);}
.brand__title{font-weight:700;letter-spacing:-.01em;font-size:clamp(18px,1.6vw,22px);color:var(--text);}
.nav{display:flex;align-items:center;gap:12px;justify-content:center;}
.nav__search{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;background:#0b1220;border:1px solid color-mix(in oklab,#fff 10%,transparent);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.03);}
.nav__search input{border:0;outline:none;background:transparent;color:var(--text);min-width:220px;}
.nav__links{display:flex;gap:8px;}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#0b1220;border:1px solid rgba(255,255,255,.06);opacity:.92;transition:.2s ease;font-weight:600;font-size:13px;}
.chip:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(2,6,23,.35);}
.chip img{width:18px;height:18px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));}
.btn{border:0;padding:10px 16px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#06121e;font-weight:800;letter-spacing:.2px;transition:transform .12s ease,box-shadow .2s ease;box-shadow:0 10px 24px rgba(52,211,153,.22),inset 0 -1px rgba(0,0,0,.15);}
.btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(52,211,153,.28);}
.mobile-menu-toggle{display:none;background:transparent;border:none;color:var(--text);cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s;}
.mobile-menu-toggle:hover{background:rgba(255,255,255,0.05);}
.mobile-menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--card);border-left:1px solid rgba(255,255,255,0.08);z-index:100;padding:20px;transition:right .3s ease;overflow-y:auto;}
.mobile-menu.active{right:0;}
.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(2,6,23,0.7);z-index:99;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.mobile-menu-overlay.active{opacity:1;pointer-events:auto;}
.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,0.08);}
.mobile-menu-title{font-weight:700;font-size:18px;}
.mobile-menu-close{background:transparent;border:none;color:var(--text);cursor:pointer;padding:5px;border-radius:6px;}
.mobile-menu-close:hover{background:rgba(255,255,255,0.05);}
.mobile-menu-links{display:flex;flex-direction:column;gap:10px;}
.mobile-chip{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:12px;background:#0b1220;border:1px solid rgba(255,255,255,.06);transition:all .2s ease;}
.mobile-chip:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(2,6,23,.35);}
.mobile-chip img{width:20px;height:20px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));}
@media(max-width:900px){.mobile-menu-toggle{display:block;}.header__inner{grid-template-columns:auto 1fr;}.nav__links{display:none;}.nav__search input{min-width:140px;}}
.main-container{padding:20px 0;}
.main-titulo{text-align:center;font-size:clamp(28px,5vw,42px);font-weight:900;letter-spacing:-0.02em;margin-bottom:30px;background:linear-gradient(135deg,var(--text),var(--brand));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.content-tabs{display:flex;justify-content:center;gap:12px;margin-bottom:30px;}
.tab-button{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:12px;background:var(--card);color:var(--text);border:1px solid rgba(255,255,255,.06);font-weight:700;transition:all .2s ease;}
.tab-button:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--brand);}
.tab-button.active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#06121e;border-color:transparent;}
.tab-button img{width:20px;height:20px;}
.filters-container{display:flex;justify-content:center;gap:16px;margin-bottom:30px;}
.filter-select{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;background:var(--card);border:1px solid rgba(255,255,255,.06);}
.filter-select img{width:20px;height:20px;}
.filter-select select{background:transparent;border:none;color:var(--text);outline:none;cursor:pointer;}
.filter-select select option{background:var(--card);color:var(--text);}
.grupos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:40px;}
.grupo-card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;transition:all .3s ease;}
.grupo-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(3,7,18,.45);}
.grupo-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.grupo-icon{width:50px;height:50px;border-radius:12px;background:#0b1220;display:grid;place-items:center;}
.grupo-icon img{width:30px;height:30px;object-fit:contain;}
.grupo-info{flex:1;}
.grupo-nombre{font-size:18px;font-weight:900;margin-bottom:4px;}
.grupo-descripcion{font-size:14px;color:var(--muted);line-height:1.4;margin-bottom:12px;}
.grupo-detalles{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:15px;}
.grupo-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px;}
.grupo-tag{font-size:11px;padding:4px 8px;border-radius:999px;background:#0b1220;color:var(--muted);border:1px solid rgba(255,255,255,.06);}
.grupo-actions{display:flex;gap:10px;}
.grupo-btn{flex:1;padding:8px 12px;border-radius:8px;font-weight:700;font-size:13px;transition:all .2s ease;}
.grupo-btn-unirse{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#06121e;border:none;}
.grupo-btn-compartir{background:#0b1220;color:var(--text);border:1px solid rgba(255,255,255,.06);}
.pagination{display:flex;justify-content:center;gap:8px;margin-bottom:50px;}
.pagination-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--card);color:var(--text);border:1px solid rgba(255,255,255,.06);font-weight:700;transition:all .2s ease;}
.pagination-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.pagination-btn.active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#06121e;border-color:transparent;}
.section-title{text-align:center;font-size:28px;font-weight:900;margin-bottom:30px;color:var(--text);}
.categories-grid,.countries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:50px;}
.category-card,.country-card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;text-align:center;transition:all .3s ease;}
.category-card:hover,.country-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(3,7,18,.45);}
.category-card h3,.country-card h3{font-size:18px;font-weight:900;margin-top:10px;}
.country-flag{width:60px;height:40px;border-radius:6px;margin:0 auto 10px;object-fit:cover;}
footer{margin-top:40px;border-top:1px solid rgba(255,255,255,.06);background:#0b1220;}
.footer__inner{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding:26px 0;}
.footer__col h4{font-size:16px;margin-bottom:12px;font-weight:900;}
.footer__links{display:grid;gap:8px;color:var(--muted);}
.footer__links a{color:var(--muted);}
.footer__links a:hover{color:var(--text);}
.copyright{text-align:center;color:var(--muted);padding:18px 0 26px;font-size:13px;}
.cookies{position:fixed;inset-inline:0;bottom:0;background:#01060f;border-top:1px solid rgba(255,255,255,.08);color:var(--text);z-index:70;transform:translateY(100%);transition:transform .4s ease;}
.cookies.active{transform:translateY(0);}
.cookies__inner{display:grid;grid-template-columns:1fr auto;gap:16px;padding:18px;align-items:center;}
.cookies__actions{display:grid;gap:10px;grid-auto-flow:column;}
.cookies label{display:flex;align-items:center;gap:8px;color:var(--muted);}
.overlay{position:fixed;inset:0;background:rgba(2,6,23,.6);display:grid;place-items:center;opacity:0;pointer-events:none;transition:.2s ease;z-index:60;padding:20px;}
.overlay.active{opacity:1;pointer-events:auto;}
.modal{width:min(420px,92vw);max-height:85vh;background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:var(--shadow);padding:20px;display:flex;flex-direction:column;}
.modal header{position:unset;background:transparent;border:0;}
.modal__title{font-weight:900;font-size:18px;text-align:center;}
.modal__row{display:grid;gap:8px;margin:12px 0;}
.modal-close{position:absolute;top:15px;right:15px;background:transparent;border:none;color:var(--text);font-size:24px;cursor:pointer;z-index:10;}
.modal-content{position:relative;padding:10px 0;display:flex;flex-direction:column;height:100%;overflow:hidden;}
.modal-title{font-weight:900;font-size:20px;margin-bottom:12px;text-align:center;}
.modal-text{color:var(--muted);line-height:1.5;margin-bottom:16px;text-align:center;}
.modal-form{display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto;max-height:300px;padding-right:5px;}
.modal-form::-webkit-scrollbar{width:6px;}
.modal-form::-webkit-scrollbar-track{background:rgba(255,255,255,0.05);border-radius:3px;}
.modal-form::-webkit-scrollbar-thumb{background:var(--brand);border-radius:3px;}
.modal-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#0b1220;border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:all .2s ease;}
.modal-option:hover{background:rgba(255,255,255,.03);}
.modal-option input{width:18px;height:18px;}
.modal-buttons{display:flex;gap:12px;margin-top:20px;padding-top:15px;border-top:1px solid rgba(255,255,255,0.08);}
.modal-btn{flex:1;padding:12px;border-radius:12px;font-weight:700;transition:all .2s ease;}
.modal-btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#06121e;border:none;}
.modal-btn-secondary{background:#0b1220;color:var(--text);border:1px solid rgba(255,255,255,.06);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.hidden{display:none !important;}
@media(max-width:1024px){.categories-grid,.countries-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:768px){.categories-grid,.countries-grid{grid-template-columns:repeat(2,1fr);}.grupos-grid{grid-template-columns:1fr;}.filters-container{flex-direction:column;align-items:center;}.content-tabs{flex-direction:column;align-items:center;}.cookies__inner{grid-template-columns:1fr;gap:16px;text-align:center;}.cookies__actions{grid-auto-flow:row;gap:12px;}.modal-buttons{flex-direction:column;}.modal{width:min(380px,92vw);}}
@media(max-width:480px){.categories-grid,.countries-grid{grid-template-columns:1fr;}}
