*{margin:0;padding:0;box-sizing:border-box;border-radius:0!important}
:root{
    --bg:#0f1117;--surface:#1a1c25;--surface2:#22252f;--surface3:#2a2d39;
    --text:#e8e9ed;--text-muted:#8b8fa3;--accent:#F5C400;--accent2:#F5C400;
    --green:#22c55e;--orange:#f59e0b;--red:#ef4444;--purple:#a855f7;
    --border:#2a2d39;
    --footer-border:rgba(71,85,105,0.2);--footer-text:rgba(100,116,139,0.8);
}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}
a{color:var(--accent2);text-decoration:none;transition:color .2s}
a:hover{color:#e0b300}

/* Navbar */
.navbar{background:#fff;border-bottom:1px solid #e5e7eb;padding:0 40px;position:fixed;top:0;left:0;right:0;z-index:100;transition:border-color 0.3s}
.navbar.scrolled{border-bottom:2px solid #F5C400}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}
.nav-logo{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.25rem;color:#1a1a1a;letter-spacing:-0.02em;text-decoration:none}
.nav-logo-bar{width:6px;height:28px;background:#F5C400;flex-shrink:0}
.nav-logo-dot{color:#1a2540}
.nav-links{display:flex;gap:1rem;align-items:center}
.nav-links a{color:#1a1a1a;font-size:14px;font-weight:500;padding:.4rem .8rem;transition:all .2s;text-decoration:none}
.nav-links a:hover,.nav-links a.active{color:#1a2540;text-decoration:underline}
.nav-btn-yellow{font-size:13px;font-weight:700;padding:9px 20px;background:#F5C400;color:#1a1a1a;border:none;cursor:pointer;display:inline-block;text-decoration:none;transition:background .15s}
.nav-btn-yellow:hover{background:#e0b300}
.hidden{display:none!important}

/* ── DROPDOWNS ── */
.nav-dropdown-menu.hidden{display:none!important}
.nav-dropdown-item{display:grid;grid-template-columns:1fr;padding:10px 16px;text-decoration:none;color:#1a1a1a;border-bottom:1px solid #f3f4f6;transition:background 0.1s}
.nav-dropdown-item:hover{background:#f9fafb}
.nav-dropdown-item strong{font-size:13px;font-weight:600;display:block}
.nav-dropdown-item span{font-size:12px;color:#6b7280;margin-top:1px;display:block}
.nav-dropdown-item--soon{opacity:0.5;pointer-events:none}

/* Hero */
.hero{position:relative;background-image:url('https://images.unsplash.com/photo-1481627834876-b7833e8f5570?w=1600&q=80');background-size:cover;background-position:center 30%;padding:80px 20px 60px;margin-bottom:40px;text-align:center}
.hero::before{content:'';position:absolute;inset:0;background:rgba(5,10,25,0.75)}
.hero>*{position:relative;z-index:2}
.hero h1{font-size:2.5rem;font-weight:800;color:#fff;margin-bottom:.75rem}
.hero h1 span{color:#fff}
.hero p{color:rgba(255,255,255,0.85);font-size:1.1rem;max-width:600px;margin:0 auto 1.5rem}

/* Grid */
.container{max-width:1100px;margin:0 auto;padding:0 1.5rem 3rem}
.section{margin-bottom:2.5rem}
.section-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.section-icon{font-size:1.3rem}
.section-title{font-size:1.1rem;font-weight:600}
.section-badge{font-size:.65rem;padding:.15rem .5rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.badge-eu{background:rgba(245,196,0,.15);color:#F5C400}
.badge-estatal{background:rgba(34,197,94,.15);color:var(--green)}
.badge-ccaa{background:rgba(245,158,11,.15);color:var(--orange)}
.badge-judicial{background:rgba(168,85,247,.15);color:var(--purple)}
.badge-registro{background:rgba(239,68,68,.15);color:var(--red)}

.links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}
.link-card{background:var(--surface);border:1px solid var(--border);padding:.85rem 1rem;display:flex;align-items:flex-start;gap:.75rem;transition:all .2s;cursor:pointer;text-decoration:none;color:var(--text)}
.link-card:hover{border-color:#F5C400;background:var(--surface2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.3)}
.link-card .icon{font-size:1.4rem;flex-shrink:0;margin-top:.1rem}
.link-card .info{min-width:0}
.link-card .name{font-weight:600;font-size:.9rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.link-card .desc{font-size:.75rem;color:var(--text-muted);display:block;margin-top:.15rem;line-height:1.4}
.link-card .tag{display:inline-block;font-size:.6rem;padding:.1rem .35rem;margin-top:.3rem;font-weight:600;text-transform:uppercase;background:var(--surface3);color:var(--text-muted)}

/* CCAA grid — más compacto */
.ccaa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}
.ccaa-card{background:var(--surface);border:1px solid var(--border);padding:.65rem .85rem;display:flex;align-items:center;gap:.6rem;transition:all .2s;text-decoration:none;color:var(--text)}
.ccaa-card:hover{border-color:var(--orange);background:var(--surface2)}
.ccaa-card .flag{font-size:1.1rem}
.ccaa-card .ccaa-name{font-weight:600;font-size:.8rem}
.ccaa-card .ccaa-abbr{font-size:.65rem;color:var(--text-muted)}

/* Footer */
/* footer via partials/footer.blade.php */

/* Dark/Light toggle */
.theme-toggle{background:var(--surface2);border:1px solid var(--border);padding:.35rem .6rem;cursor:pointer;font-size:.9rem;color:var(--text-muted);transition:all .2s}
.theme-toggle:hover{color:var(--text);border-color:#F5C400}

/* Light mode */
body.light{
    --bg:#f5f6f8;--surface:#ffffff;--surface2:#f0f1f4;--surface3:#e5e7eb;
    --text:#1a1c25;--text-muted:#6b7085;--border:#d8dae0;
    --footer-border:rgba(203,213,225,0.4);--footer-text:rgba(100,116,139,0.7);
}
body.light .link-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}

/* Apps strip */
.apps-strip{background:linear-gradient(rgba(5,10,25,0.75),rgba(5,10,25,0.75)),url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?w=1600&q=80') center/cover no-repeat;padding:2.5rem 0;margin-bottom:3rem;width:100%}
.apps-strip-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.apps-strip-title{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:1rem;text-align:center}
.apps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;max-width:900px;margin:0 auto}
.app-chip{display:flex;flex-direction:column;gap:.4rem;padding:1rem 1.25rem;border:1px solid transparent;background:#fff;text-decoration:none;color:#111;transition:border-color .2s;height:100%}
.app-chip:hover{border-color:#111}
.app-chip-header{display:flex;align-items:center;gap:.5rem}
.app-chip-icon{font-size:1.25rem}
.app-chip strong{font-size:.95rem;font-weight:700;color:#111}
.app-chip-desc{font-size:.8rem;color:#555;line-height:1.4;flex:1}
.app-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:.15rem .4rem;margin-top:.2rem}
.badge-price{background:#111;color:#fff}
.badge-free{background:#16a34a;color:#fff}
.badge-dev{background:#f3f4f6;color:#888}

/* Hidden by search */
.link-card.hidden,.ccaa-card.hidden{display:none}

/* Hamburger */
.hamburger-btn-enlaces{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.hamburger-btn-enlaces span{width:24px;height:2px;background:#1a2540;display:block}

/* Responsive */
@media(max-width:768px){
    .navbar{padding:0 16px}
    .hamburger-btn-enlaces{display:flex !important}
    .nav-links{display:none;flex-direction:column;gap:12px;position:absolute;top:64px;left:0;right:0;background:#fff;padding:20px 16px;border-bottom:3px solid #F5C400;z-index:999;box-shadow:0 8px 24px rgba(0,0,0,0.08)}
    .nav-links.open{display:flex !important}
    .nav-dropdown-menu{position:static !important;box-shadow:none !important;border:none !important;border-left:3px solid #F5C400 !important;margin:8px 0 !important}
    .hero{padding:50px 1rem 40px}
    .hero h1{font-size:1.75rem}
    /* footer responsive via partials/footer.blade.php */
}
@media(max-width:640px){
    .links-grid{grid-template-columns:1fr}
    .ccaa-grid{grid-template-columns:repeat(2,1fr)}
    .stats-row{gap:1.5rem}
    .apps-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
    .nav-links a{padding:.25rem .5rem;font-size:.75rem}
}
