/* EcuadorUtil — CSS público de trámites */

/* Corrección móvil del modo oscuro */
@media (max-width: 991.98px){

        body.dark-mode header .nav-links,
        body.dark-mode header .nav-menu,
        body.dark-mode header .navbar-collapse,
        body.dark-mode header .navbar-nav,
        body.dark-mode header .mobile-menu,
        body.dark-mode header .mobile-nav,
        body.dark-mode header .menu-mobile,
        body.dark-mode header .menu,
        body.dark-mode header ul,
        body.dark-mode .nav-links,
        body.dark-mode .nav-menu,
        body.dark-mode .navbar-collapse,
        body.dark-mode .navbar-nav,
        body.dark-mode .mobile-menu,
        body.dark-mode .mobile-nav,
        body.dark-mode .menu-mobile{
            background:#0f172a !important;
            background-color:#0f172a !important;
            border:1px solid #1e293b !important;
            border-radius:22px !important;
            box-shadow:0 24px 70px rgba(0,0,0,.45) !important;
            opacity:1 !important;
            backdrop-filter:none !important;
            -webkit-backdrop-filter:none !important;
        }

        body.dark-mode header .nav-links a,
        body.dark-mode header .nav-menu a,
        body.dark-mode header .navbar-collapse a,
        body.dark-mode header .navbar-nav a,
        body.dark-mode header .mobile-menu a,
        body.dark-mode header .mobile-nav a,
        body.dark-mode header .menu-mobile a,
        body.dark-mode header .menu a,
        body.dark-mode .nav-links a,
        body.dark-mode .nav-menu a,
        body.dark-mode .navbar-collapse a,
        body.dark-mode .navbar-nav a,
        body.dark-mode .mobile-menu a,
        body.dark-mode .mobile-nav a,
        body.dark-mode .menu-mobile a{
            color:#f8fafc !important;
            background:transparent !important;
            background-color:transparent !important;
            opacity:1 !important;
            text-shadow:none !important;
            font-weight:850 !important;
        }

        body.dark-mode header .nav-links a:hover,
        body.dark-mode header .nav-menu a:hover,
        body.dark-mode header .navbar-collapse a:hover,
        body.dark-mode header .navbar-nav a:hover,
        body.dark-mode header .mobile-menu a:hover,
        body.dark-mode header .mobile-nav a:hover,
        body.dark-mode header .menu-mobile a:hover,
        body.dark-mode .nav-links a:hover,
        body.dark-mode .nav-menu a:hover,
        body.dark-mode .navbar-collapse a:hover,
        body.dark-mode .navbar-nav a:hover,
        body.dark-mode .mobile-menu a:hover,
        body.dark-mode .mobile-nav a:hover,
        body.dark-mode .menu-mobile a:hover{
            color:#22c55e !important;
            background:rgba(34,197,94,.12) !important;
            background-color:rgba(34,197,94,.12) !important;
        }

        body.dark-mode header .nav-links a.active,
        body.dark-mode header .nav-menu a.active,
        body.dark-mode header .navbar-collapse a.active,
        body.dark-mode header .navbar-nav a.active,
        body.dark-mode header .mobile-menu a.active,
        body.dark-mode header .mobile-nav a.active,
        body.dark-mode header .menu-mobile a.active,
        body.dark-mode .nav-links a.active,
        body.dark-mode .nav-menu a.active,
        body.dark-mode .navbar-collapse a.active,
        body.dark-mode .navbar-nav a.active,
        body.dark-mode .mobile-menu a.active,
        body.dark-mode .mobile-nav a.active,
        body.dark-mode .menu-mobile a.active{
            color:#22c55e !important;
            background:rgba(34,197,94,.14) !important;
            background-color:rgba(34,197,94,.14) !important;
        }

        body.dark-mode header .nav-links li,
        body.dark-mode header .nav-menu li,
        body.dark-mode header .navbar-nav li,
        body.dark-mode header .mobile-menu li,
        body.dark-mode header .mobile-nav li,
        body.dark-mode header .menu-mobile li,
        body.dark-mode .nav-links li,
        body.dark-mode .nav-menu li,
        body.dark-mode .navbar-nav li,
        body.dark-mode .mobile-menu li,
        body.dark-mode .mobile-nav li,
        body.dark-mode .menu-mobile li{
            background:transparent !important;
            background-color:transparent !important;
        }
    }

    @media (min-width: 992px){
        body.dark-mode header .nav-links,
        body.dark-mode header .nav-menu,
        body.dark-mode header .navbar-collapse,
        body.dark-mode header .navbar-nav{
            background:transparent !important;
            border:0 !important;
            box-shadow:none !important;
        }
    }

/* Navegación y sesión */
.nav-session-desktop{
        display:flex;
        align-items:center;
        gap:9px;
    }

    .nav-login-btn,
    .nav-cv-btn,
    .nav-account-btn,
    .nav-admin-btn,
    .nav-logout-btn{
        min-height:44px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        border-radius:12px;
        text-decoration:none;
        font-size:14px;
        font-weight:850;
        white-space:nowrap;
        transition:.2s ease;
    }

    .nav-login-btn{
        padding:0 12px;
        color:#334155;
    }

    .nav-login-btn:hover{
        color:var(--green);
        background:#eefaf2;
    }

    .nav-cv-btn{
        padding:0 15px;
        color:#047033;
        background:#eefaf2;
        border:1px solid #ccebd6;
    }

    .nav-cv-btn:hover{
        color:#035c2b;
        background:#def4e5;
        transform:translateY(-1px);
    }

    .nav-account-btn{
        padding:0 17px;
        color:#fff;
        background:linear-gradient(135deg,#13a34d,#047033);
        box-shadow:0 10px 24px rgba(15,143,66,.22);
    }

    .nav-account-btn:hover{
        color:#fff;
        transform:translateY(-1px);
        box-shadow:0 14px 28px rgba(15,143,66,.28);
    }

    .nav-admin-btn,
    .nav-logout-btn{
        width:44px;
        border:1px solid #e2e8f0;
        color:#475569;
        background:#fff;
    }

    .nav-admin-btn:hover{
        color:#047033;
        border-color:#bfe8cd;
        background:#eefaf2;
    }

    .nav-logout-form,
    .nav-mobile-logout-form{
        margin:0;
    }

    .nav-logout-btn{
        cursor:pointer;
        font-size:18px;
    }

    .nav-logout-btn:hover{
        color:#b91c1c;
        border-color:#fecaca;
        background:#fff1f2;
    }

    .nav-account-mobile{
        display:none;
    }

    .nav-mobile-logout-form button{
        width:100%;
        display:flex;
        align-items:center;
        gap:9px;
        padding:14px 16px;
        border:0;
        border-radius:12px;
        color:#b91c1c;
        background:transparent;
        cursor:pointer;
        font:inherit;
        font-weight:750;
        text-align:left;
    }

    .nav-mobile-logout-form button:hover{
        background:#fff1f2;
    }

    @media(max-width:1220px){
        .nav-menu{
            gap:20px;
        }

        .nav-cv-btn{
            display:none;
        }
    }

    @media(max-width:992px){
        .nav-session-desktop{
            display:none;
        }

        .nav-account-mobile{
            display:block;
        }

        .nav-account-mobile:first-of-type{
            margin-top:7px;
            padding-top:9px;
            border-top:1px solid #e5e7eb;
        }

        .nav-menu .nav-account-mobile a,
        .nav-menu .nav-account-mobile button{
            display:flex;
            align-items:center;
            gap:9px;
            font-weight:800;
        }

        .nav-menu .nav-mobile-primary{
            color:#fff;
            background:linear-gradient(135deg,#13a34d,#047033);
        }

        .nav-menu .nav-mobile-primary:hover{
            color:#fff;
            background:linear-gradient(135deg,#13a34d,#047033);
        }
    }

    body.dark-mode .nav-login-btn{
        color:#e2e8f0;
    }

    body.dark-mode .nav-admin-btn,
    body.dark-mode .nav-logout-btn{
        color:#e2e8f0;
        border-color:#334155;
        background:#172033;
    }

    body.dark-mode .nav-cv-btn{
        color:#86efac;
        border-color:#24583a;
        background:#133122;
    }

/* Búsqueda inteligente */
.eu-smart-search-host{
        position:relative !important;
    }

    .eu-smart-search-box{
        position:absolute;
        top:calc(100% + 10px);
        left:0;
        right:0;
        z-index:9998;
        display:none;
        max-height:min(520px,70vh);
        overflow-y:auto;
        border:1px solid #dbe5df;
        border-radius:20px;
        background:#fff;
        box-shadow:0 24px 65px rgba(15,23,42,.18);
        text-align:left;
    }

    .eu-smart-search-box.is-visible{
        display:block;
    }

    .eu-smart-search-status{
        padding:15px 17px;
        display:flex;
        align-items:center;
        gap:10px;
        color:#64748b;
        font-size:13px;
        font-weight:750;
    }

    .eu-smart-search-status i{
        color:#16a34a;
    }

    .eu-smart-search-header{
        padding:14px 17px 10px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        border-bottom:1px solid #edf2f7;
    }

    .eu-smart-search-header strong{
        color:#0f172a;
        font-size:13px;
        font-weight:950;
    }

    .eu-smart-search-header span{
        color:#64748b;
        font-size:11px;
    }

    .eu-smart-search-results{
        margin:0;
        padding:8px;
        list-style:none;
    }

    .eu-smart-search-result{
        margin:0;
        padding:0;
    }

    .eu-smart-search-result a{
        padding:13px;
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        align-items:center;
        gap:12px;
        border-radius:14px;
        color:#0f172a;
        text-decoration:none;
        transition:.18s ease;
    }

    .eu-smart-search-result a:hover,
    .eu-smart-search-result a.is-active{
        background:#f0fdf4;
    }

    .eu-smart-search-icon{
        width:42px;
        height:42px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:13px;
        background:#dcfce7;
        color:#047033;
        font-size:18px;
    }

    .eu-smart-search-content{
        min-width:0;
        display:flex;
        flex-direction:column;
        gap:4px;
    }

    .eu-smart-search-content strong{
        color:#0f172a;
        font-size:14px;
        line-height:1.3;
        font-weight:950;
    }

    .eu-smart-search-content p{
        margin:0;
        overflow:hidden;
        color:#64748b;
        font-size:12px;
        line-height:1.45;
        white-space:nowrap;
        text-overflow:ellipsis;
    }

    .eu-smart-search-meta{
        display:flex;
        flex-wrap:wrap;
        gap:5px;
    }

    .eu-smart-search-meta span{
        padding:3px 7px;
        border-radius:999px;
        background:#f1f5f9;
        color:#475569;
        font-size:9px;
        font-weight:850;
        text-transform:uppercase;
        letter-spacing:.35px;
    }

    .eu-smart-search-arrow{
        color:#16a34a;
        font-size:16px;
    }

    .eu-smart-search-footer{
        padding:11px 15px;
        border-top:1px solid #edf2f7;
        background:#f8fafc;
        color:#64748b;
        font-size:11px;
        text-align:center;
    }

    .eu-smart-search-spinner{
        width:17px;
        height:17px;
        flex:0 0 auto;
        border:2px solid #bbf7d0;
        border-top-color:#16a34a;
        border-radius:999px;
        animation:eu-search-spin .7s linear infinite;
    }

    @keyframes eu-search-spin{
        to{
            transform:rotate(360deg);
        }
    }

    @media(max-width:620px){
        .eu-smart-search-box{
            position:fixed;
            top:auto;
            right:12px;
            bottom:12px;
            left:12px;
            max-height:65vh;
            border-radius:18px;
        }

        .eu-smart-search-result a{
            padding:11px;
        }

        .eu-smart-search-content p{
            display:-webkit-box;
            overflow:hidden;
            white-space:normal;
            -webkit-box-orient:vertical;
            -webkit-line-clamp:2;
        }
    }

    html[data-theme="dark"] .eu-smart-search-box,
    body.dark-mode .eu-smart-search-box{
        border-color:#334155;
        background:#111827;
    }

    html[data-theme="dark"] .eu-smart-search-header,
    html[data-theme="dark"] .eu-smart-search-footer,
    body.dark-mode .eu-smart-search-header,
    body.dark-mode .eu-smart-search-footer{
        border-color:#334155;
        background:#172033;
    }

    html[data-theme="dark"] .eu-smart-search-header strong,
    html[data-theme="dark"] .eu-smart-search-content strong,
    html[data-theme="dark"] .eu-smart-search-result a,
    body.dark-mode .eu-smart-search-header strong,
    body.dark-mode .eu-smart-search-content strong,
    body.dark-mode .eu-smart-search-result a{
        color:#f8fafc;
    }

    html[data-theme="dark"] .eu-smart-search-result a:hover,
    html[data-theme="dark"] .eu-smart-search-result a.is-active,
    body.dark-mode .eu-smart-search-result a:hover,
    body.dark-mode .eu-smart-search-result a.is-active{
        background:#153523;
    }

    html[data-theme="dark"] .eu-smart-search-content p,
    body.dark-mode .eu-smart-search-content p{
        color:#cbd5e1;
    }

/* Breadcrumbs de trámites */
.eu-breadcrumbs{
        width:min(1180px, calc(100% - 32px));
        margin:20px auto 10px;
    }

    .eu-breadcrumbs ol{
        margin:0;
        padding:0;
        display:flex;
        align-items:center;
        flex-wrap:wrap;
        gap:8px;
        list-style:none;
        color:#64748b;
        font-size:14px;
        line-height:1.5;
    }

    .eu-breadcrumbs li{
        display:flex;
        align-items:center;
        gap:6px;
    }

    .eu-breadcrumbs a{
        display:inline-flex;
        align-items:center;
        gap:6px;
        color:#047033;
        text-decoration:none;
        font-weight:800;
    }

    .eu-breadcrumbs a:hover{
        text-decoration:underline;
    }

    .eu-breadcrumbs li[aria-current="page"]{
        max-width:520px;
        color:#475569;
        font-weight:700;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    @media(max-width:600px){
        .eu-breadcrumbs{
            width:min(100% - 24px, 1180px);
            margin-top:14px;
        }

        .eu-breadcrumbs ol{
            gap:6px;
            font-size:12px;
        }

        .eu-breadcrumbs li[aria-current="page"]{
            max-width:190px;
        }
    }

    html[data-theme="dark"] .eu-breadcrumbs,
    body.dark-mode .eu-breadcrumbs{
        color:#94a3b8;
    }

    html[data-theme="dark"] .eu-breadcrumbs li[aria-current="page"],
    body.dark-mode .eu-breadcrumbs li[aria-current="page"]{
        color:#cbd5e1;
    }

    html[data-theme="dark"] .eu-breadcrumbs a,
    body.dark-mode .eu-breadcrumbs a{
        color:#4ade80;
    }

/* Confianza y fuente oficial */
.eu-trust{
        margin:28px 0;
        padding:28px;
        border:1px solid #dce7e1;
        border-radius:27px;
        background:
            radial-gradient(
                circle at 100% 0,
                rgba(34,197,94,.10),
                transparent 34%
            ),
            #ffffff;
        box-shadow:0 18px 48px rgba(15,23,42,.065);
    }

    .eu-trust-head{
        display:flex;
        align-items:flex-start;
        gap:15px;
        max-width:760px;
        margin-bottom:24px;
    }

    .eu-trust-head-icon{
        width:52px;
        height:52px;
        display:flex;
        align-items:center;
        justify-content:center;
        flex:0 0 auto;
        border-radius:17px;
        background:#dcfce7;
        color:#047033;
        font-size:23px;
    }

    .eu-trust-head span{
        color:#16a34a;
        font-size:12px;
        font-weight:950;
        text-transform:uppercase;
        letter-spacing:.7px;
    }

    .eu-trust-head h2{
        margin:5px 0 7px;
        color:#0f172a;
        font-size:clamp(25px,4vw,36px);
        line-height:1.08;
        letter-spacing:-1px;
        font-weight:950;
    }

    .eu-trust-head p{
        margin:0;
        color:#64748b;
        line-height:1.6;
    }

    .eu-trust-metrics{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:13px;
    }

    .eu-trust-metrics article{
        min-height:150px;
        padding:18px;
        display:flex;
        align-items:flex-start;
        gap:12px;
        border:1px solid #e2e8f0;
        border-radius:19px;
        background:#f8fafc;
    }

    .eu-trust-metric-icon{
        width:40px;
        height:40px;
        display:flex;
        align-items:center;
        justify-content:center;
        flex:0 0 auto;
        border-radius:13px;
        background:#ecfdf3;
        color:#047033;
        font-size:18px;
    }

    .eu-trust-metrics article > div{
        min-width:0;
        display:flex;
        flex-direction:column;
        gap:5px;
    }

    .eu-trust-metrics small,
    .eu-trust-review small,
    .eu-trust-source small{
        color:#64748b;
        font-size:11px;
        font-weight:850;
        text-transform:uppercase;
        letter-spacing:.45px;
    }

    .eu-trust-metrics strong{
        color:#0f172a;
        font-size:15px;
        line-height:1.3;
        font-weight:950;
        word-break:break-word;
    }

    .eu-trust-metrics article > div > span{
        color:#64748b;
        font-size:12px;
        line-height:1.4;
    }

    .eu-trust-difficulty{
        width:max-content;
        padding:5px 9px;
        border-radius:999px;
    }

    .eu-trust-difficulty.low{
        background:#dcfce7;
        color:#15803d;
    }

    .eu-trust-difficulty.medium{
        background:#fef3c7;
        color:#a16207;
    }

    .eu-trust-difficulty.high{
        background:#fee2e2;
        color:#b91c1c;
    }

    .eu-trust-review{
        margin-top:18px;
        padding:20px;
        display:grid;
        grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);
        gap:20px;
        border:1px solid #dbe5df;
        border-radius:20px;
        background:#fff;
    }

    .eu-trust-review-main{
        display:flex;
        align-items:flex-start;
        gap:13px;
    }

    .eu-trust-review-avatar{
        width:46px;
        height:46px;
        display:flex;
        align-items:center;
        justify-content:center;
        flex:0 0 auto;
        border-radius:15px;
        background:#052e16;
        color:#fff;
        font-size:21px;
    }

    .eu-trust-review-main > div,
    .eu-trust-source{
        display:flex;
        flex-direction:column;
        gap:5px;
    }

    .eu-trust-review strong,
    .eu-trust-source strong{
        color:#0f172a;
        font-size:15px;
        font-weight:950;
    }

    .eu-trust-review p{
        margin:0;
        color:#64748b;
        font-size:13px;
        line-height:1.55;
    }

    .eu-trust-source{
        padding-left:20px;
        border-left:1px solid #e2e8f0;
    }

    .eu-trust-source a{
        width:max-content;
        margin-top:5px;
        display:inline-flex;
        align-items:center;
        gap:7px;
        color:#047033;
        text-decoration:none;
        font-size:13px;
        font-weight:950;
    }

    .eu-trust-independence{
        margin-top:17px;
        padding:15px 17px;
        display:flex;
        align-items:flex-start;
        gap:11px;
        border:1px solid #bfdbfe;
        border-radius:16px;
        background:#eff6ff;
        color:#1e3a8a;
    }

    .eu-trust-independence p{
        margin:0;
        font-size:13px;
        line-height:1.6;
    }

    @media(max-width:1000px){
        .eu-trust-metrics{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }
    }

    @media(max-width:700px){
        .eu-trust{
            padding:20px;
            border-radius:21px;
        }

        .eu-trust-review{
            grid-template-columns:1fr;
        }

        .eu-trust-source{
            padding:18px 0 0;
            border-top:1px solid #e2e8f0;
            border-left:0;
        }
    }

    @media(max-width:520px){
        .eu-trust-metrics{
            grid-template-columns:1fr;
        }

        .eu-trust-metrics article{
            min-height:auto;
        }
    }

    html[data-theme="dark"] .eu-trust,
    html[data-theme="dark"] .eu-trust-review,
    body.dark-mode .eu-trust,
    body.dark-mode .eu-trust-review{
        border-color:#334155;
        background:#111827;
    }

    html[data-theme="dark"] .eu-trust-metrics article,
    body.dark-mode .eu-trust-metrics article{
        border-color:#334155;
        background:#172033;
    }

    html[data-theme="dark"] .eu-trust-head h2,
    html[data-theme="dark"] .eu-trust-metrics strong,
    html[data-theme="dark"] .eu-trust-review strong,
    html[data-theme="dark"] .eu-trust-source strong,
    body.dark-mode .eu-trust-head h2,
    body.dark-mode .eu-trust-metrics strong,
    body.dark-mode .eu-trust-review strong,
    body.dark-mode .eu-trust-source strong{
        color:#f8fafc;
    }

    html[data-theme="dark"] .eu-trust-head p,
    html[data-theme="dark"] .eu-trust-metrics article > div > span,
    html[data-theme="dark"] .eu-trust-review p,
    body.dark-mode .eu-trust-head p,
    body.dark-mode .eu-trust-metrics article > div > span,
    body.dark-mode .eu-trust-review p{
        color:#cbd5e1;
    }

    @media print{
        .eu-trust{
            box-shadow:none;
            break-inside:avoid;
        }
    }

/* Enlazado interno */
.eu-linking{
        margin-top:50px;
        padding:30px;
        border:1px solid #dfe7e3;
        border-radius:28px;
        background:
            radial-gradient(circle at 100% 0,rgba(34,197,94,.10),transparent 32%),
            #fff;
        box-shadow:0 18px 48px rgba(15,23,42,.065);
    }

    .eu-linking-head{
        display:flex;
        justify-content:space-between;
        align-items:flex-end;
        gap:24px;
        margin-bottom:24px;
    }

    .eu-linking-head > div{
        max-width:720px;
    }

    .eu-linking-head span{
        color:#16a34a;
        font-size:12px;
        font-weight:950;
        text-transform:uppercase;
        letter-spacing:.7px;
    }

    .eu-linking-head h2{
        margin:7px 0 9px;
        color:#0f172a;
        font-size:clamp(28px,4vw,40px);
        line-height:1.05;
        letter-spacing:-1.2px;
        font-weight:950;
    }

    .eu-linking-head p,
    .eu-linking-subhead p{
        margin:0;
        color:#64748b;
        line-height:1.65;
    }

    .eu-linking-all{
        min-height:46px;
        padding:11px 16px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        flex:0 0 auto;
        border:1px solid #bbf7d0;
        border-radius:14px;
        background:#f0fdf4;
        color:#047033;
        text-decoration:none;
        font-weight:900;
        white-space:nowrap;
    }

    .eu-linking-hubs{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:12px;
        margin-bottom:34px;
    }

    .eu-linking-hubs > a{
        min-height:92px;
        padding:16px;
        display:grid;
        grid-template-columns:auto 1fr auto;
        align-items:center;
        gap:12px;
        border:1px solid #e2e8f0;
        border-radius:18px;
        background:#f8fafc;
        color:#0f172a;
        text-decoration:none;
        transition:.2s ease;
    }

    .eu-linking-hubs > a:hover{
        transform:translateY(-2px);
        border-color:#86efac;
        background:#f0fdf4;
    }

    .eu-linking-hub-icon{
        width:42px;
        height:42px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:13px;
        background:#dcfce7;
        color:#047033;
        font-size:19px;
    }

    .eu-linking-hubs > a > span:nth-child(2){
        display:flex;
        flex-direction:column;
        gap:4px;
    }

    .eu-linking-hubs strong{
        font-size:15px;
        font-weight:950;
    }

    .eu-linking-hubs small{
        color:#64748b;
        font-size:12px;
        line-height:1.4;
    }

    .eu-linking-subhead{
        margin-bottom:17px;
    }

    .eu-linking-subhead h3{
        margin:0 0 4px;
        color:#0f172a;
        font-size:22px;
        font-weight:950;
    }

    .eu-linking-subhead p{
        font-size:14px;
    }

    .eu-linking-grid{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:15px;
    }

    .eu-linking-grid article{
        min-height:255px;
        padding:20px;
        display:flex;
        flex-direction:column;
        border:1px solid #e2e8f0;
        border-radius:21px;
        background:#fff;
        transition:.2s ease;
    }

    .eu-linking-grid article:hover{
        border-color:#86efac;
        box-shadow:0 15px 38px rgba(15,23,42,.075);
        transform:translateY(-3px);
    }

    .eu-linking-card-top{
        min-height:40px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        margin-bottom:14px;
    }

    .eu-linking-card-icon{
        width:40px;
        height:40px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:13px;
        background:#ecfdf3;
        color:#047033;
        font-size:18px;
    }

    .eu-linking-label{
        padding:6px 9px;
        border-radius:999px;
        background:#f0fdf4;
        color:#15803d;
        font-size:10px;
        font-weight:950;
        text-transform:uppercase;
        letter-spacing:.4px;
    }

    .eu-linking-grid h3{
        margin:0 0 9px;
        font-size:18px;
        line-height:1.28;
        font-weight:950;
    }

    .eu-linking-grid h3 a{
        color:#0f172a;
        text-decoration:none;
    }

    .eu-linking-grid h3 a:hover{
        color:#047033;
    }

    .eu-linking-grid article p{
        margin:0 0 18px;
        color:#64748b;
        font-size:14px;
        line-height:1.6;
    }

    .eu-linking-card-link{
        margin-top:auto;
        display:inline-flex;
        align-items:center;
        gap:8px;
        color:#047033;
        text-decoration:none;
        font-size:14px;
        font-weight:950;
    }

    .eu-linking-empty{
        padding:19px;
        display:grid;
        grid-template-columns:auto 1fr auto;
        align-items:center;
        gap:14px;
        border:1px dashed #86efac;
        border-radius:18px;
        background:#f0fdf4;
    }

    .eu-linking-empty > i{
        color:#16a34a;
        font-size:25px;
    }

    .eu-linking-empty strong{
        color:#0f172a;
        font-weight:950;
    }

    .eu-linking-empty p{
        margin:3px 0 0;
        color:#64748b;
        font-size:13px;
    }

    .eu-linking-empty a{
        padding:10px 14px;
        border-radius:12px;
        background:#047033;
        color:#fff;
        text-decoration:none;
        font-weight:900;
        white-space:nowrap;
    }

    @media(max-width:900px){
        .eu-linking-head{
            align-items:flex-start;
            flex-direction:column;
        }

        .eu-linking-hubs,
        .eu-linking-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }
    }

    @media(max-width:620px){
        .eu-linking{
            padding:19px;
            border-radius:21px;
        }

        .eu-linking-all{
            width:100%;
        }

        .eu-linking-hubs,
        .eu-linking-grid{
            grid-template-columns:1fr;
        }

        .eu-linking-grid article{
            min-height:auto;
        }

        .eu-linking-empty{
            grid-template-columns:auto 1fr;
        }

        .eu-linking-empty a{
            grid-column:1 / -1;
            text-align:center;
        }
    }

    html[data-theme="dark"] .eu-linking,
    html[data-theme="dark"] .eu-linking-grid article,
    body.dark-mode .eu-linking,
    body.dark-mode .eu-linking-grid article{
        border-color:#334155;
        background:#111827;
    }

    html[data-theme="dark"] .eu-linking-hubs > a,
    body.dark-mode .eu-linking-hubs > a{
        border-color:#334155;
        background:#172033;
        color:#f8fafc;
    }

    html[data-theme="dark"] .eu-linking-head h2,
    html[data-theme="dark"] .eu-linking-subhead h3,
    html[data-theme="dark"] .eu-linking-grid h3 a,
    body.dark-mode .eu-linking-head h2,
    body.dark-mode .eu-linking-subhead h3,
    body.dark-mode .eu-linking-grid h3 a{
        color:#f8fafc;
    }

    html[data-theme="dark"] .eu-linking-head p,
    html[data-theme="dark"] .eu-linking-subhead p,
    html[data-theme="dark"] .eu-linking-grid article p,
    body.dark-mode .eu-linking-head p,
    body.dark-mode .eu-linking-subhead p,
    body.dark-mode .eu-linking-grid article p{
        color:#cbd5e1;
    }

    @media print{
        .eu-linking{
            display:none !important;
        }
    }

/* Componente premium */
.eu-premium{
        width:min(1180px, calc(100% - 32px));
        margin:34px auto 70px;
        color:#0f172a;
    }

    .eu-premium-tools{
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:20px;
        margin-bottom:22px;
        padding:18px 20px;
        border:1px solid #dcfce7;
        border-radius:22px;
        background:linear-gradient(135deg,#f0fdf4,#ffffff);
        box-shadow:0 12px 35px rgba(15,23,42,.06);
    }

    .eu-premium-status{
        display:flex;
        align-items:center;
        gap:12px;
    }

    .eu-premium-status-icon{
        width:44px;
        height:44px;
        display:flex;
        align-items:center;
        justify-content:center;
        flex:0 0 auto;
        border-radius:14px;
        background:#dcfce7;
        color:#15803d;
        font-size:20px;
    }

    .eu-premium-status div{
        display:flex;
        flex-direction:column;
        gap:3px;
    }

    .eu-premium-status strong{
        font-size:15px;
        font-weight:900;
    }

    .eu-premium-status span{
        color:#64748b;
        font-size:13px;
    }

    .eu-premium-actions{
        display:flex;
        flex-wrap:wrap;
        gap:8px;
    }

    .eu-premium-actions button{
        min-height:42px;
        padding:9px 13px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:7px;
        border:1px solid #cbd5e1;
        border-radius:13px;
        background:#fff;
        color:#334155;
        font:inherit;
        font-size:13px;
        font-weight:800;
        cursor:pointer;
        transition:.2s ease;
    }

    .eu-premium-actions button:hover{
        border-color:#86efac;
        color:#047033;
        transform:translateY(-1px);
    }

    .eu-premium-index{
        margin-bottom:28px;
        padding:22px;
        border:1px solid #e2e8f0;
        border-radius:24px;
        background:#fff;
        box-shadow:0 16px 45px rgba(15,23,42,.06);
    }

    .eu-premium-index-head{
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:15px;
        margin-bottom:14px;
    }

    .eu-premium-index-head div{
        display:flex;
        flex-direction:column;
        gap:4px;
    }

    .eu-premium-index-head span,
    .eu-premium-section-head > span,
    .eu-premium-official-content > span,
    .eu-premium-related article > span{
        color:#16a34a;
        font-size:12px;
        font-weight:950;
        text-transform:uppercase;
        letter-spacing:.65px;
    }

    .eu-premium-index-head strong{
        font-size:19px;
        font-weight:950;
    }

    .eu-premium-index-toggle{
        min-height:40px;
        padding:9px 13px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        flex:0 0 auto;
        border:1px solid #dbe3ec;
        border-radius:12px;
        background:#f8fafc;
        color:#047033;
        font:inherit;
        font-size:13px;
        font-weight:900;
        white-space:nowrap;
        cursor:pointer;
        transition:.2s ease;
    }

    .eu-premium-index-toggle:hover{
        border-color:#86efac;
        background:#f0fdf4;
    }

    .eu-premium-index-toggle i{
        transition:transform .2s ease;
    }

    .eu-premium-index-content{
        display:block;
    }

    .eu-premium-index-content[hidden]{
        display:none !important;
    }

    .eu-premium-index ol{
        margin:0;
        padding:0;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px 20px;
        list-style:none;
    }

    .eu-premium-index a{
        display:flex;
        align-items:flex-start;
        gap:9px;
        padding:9px 10px;
        border-radius:11px;
        color:#334155;
        text-decoration:none;
        font-size:14px;
        font-weight:750;
    }

    .eu-premium-index a::before{
        content:"";
        width:7px;
        height:7px;
        margin-top:7px;
        flex:0 0 auto;
        border-radius:999px;
        background:#22c55e;
    }

    .eu-premium-index a:hover{
        background:#f0fdf4;
        color:#047033;
    }

    .eu-premium-official{
        margin:28px 0;
        padding:25px;
        display:grid;
        grid-template-columns:auto 1fr auto;
        align-items:center;
        gap:18px;
        border-radius:26px;
        background:linear-gradient(145deg,#052e16,#047033);
        color:#fff;
        box-shadow:0 20px 50px rgba(4,112,51,.22);
    }

    .eu-premium-official-icon{
        width:58px;
        height:58px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:18px;
        background:rgba(255,255,255,.13);
        font-size:25px;
    }

    .eu-premium-official-content h2{
        margin:5px 0 7px;
        color:#fff;
        font-size:22px;
        font-weight:950;
    }

    .eu-premium-official-content p{
        margin:0;
        color:#d1fae5;
        line-height:1.55;
        font-size:14px;
    }

    .eu-premium-official-content > span{
        color:#86efac;
    }

    .eu-premium-official > a{
        min-height:48px;
        padding:12px 16px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        border-radius:14px;
        background:#fff;
        color:#047033;
        text-decoration:none;
        font-weight:950;
        white-space:nowrap;
    }

    .eu-premium-section-head{
        max-width:720px;
        margin-bottom:24px;
    }

    .eu-premium-section-head h2{
        margin:6px 0 9px;
        color:#0f172a;
        font-size:clamp(25px,4vw,36px);
        line-height:1.1;
        font-weight:950;
        letter-spacing:-1px;
    }

    .eu-premium-section-head p{
        margin:0;
        color:#64748b;
        line-height:1.65;
    }

    .eu-premium-faq,
    .eu-premium-related{
        margin-top:48px;
    }

    .eu-premium-faq-list{
        display:grid;
        gap:11px;
    }

    .eu-premium-faq details{
        border:1px solid #e2e8f0;
        border-radius:17px;
        background:#fff;
        overflow:hidden;
    }

    .eu-premium-faq summary{
        padding:18px 20px;
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:16px;
        color:#0f172a;
        font-weight:900;
        cursor:pointer;
        list-style:none;
    }

    .eu-premium-faq summary::-webkit-details-marker{
        display:none;
    }

    .eu-premium-faq summary i{
        transition:transform .2s ease;
    }

    .eu-premium-faq details[open] summary i{
        transform:rotate(45deg);
    }

    .eu-premium-faq details > div{
        padding:0 20px 20px;
        color:#475569;
        line-height:1.7;
    }

    .eu-premium-related-grid{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:16px;
    }

    .eu-premium-related article{
        min-height:245px;
        padding:21px;
        display:flex;
        flex-direction:column;
        border:1px solid #e2e8f0;
        border-radius:22px;
        background:#fff;
        box-shadow:0 12px 35px rgba(15,23,42,.055);
        transition:.2s ease;
    }

    .eu-premium-related article:hover{
        transform:translateY(-3px);
        border-color:#86efac;
    }

    .eu-premium-related-icon{
        width:44px;
        height:44px;
        margin-bottom:15px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:14px;
        background:#ecfdf3;
        color:#047033;
        font-size:20px;
    }

    .eu-premium-related article h3{
        margin:7px 0 9px;
        color:#0f172a;
        font-size:18px;
        line-height:1.25;
        font-weight:950;
    }

    .eu-premium-related article p{
        margin:0 0 17px;
        color:#64748b;
        font-size:14px;
        line-height:1.6;
    }

    .eu-premium-related article a{
        margin-top:auto;
        display:inline-flex;
        align-items:center;
        gap:8px;
        color:#047033;
        text-decoration:none;
        font-weight:950;
    }

    .eu-premium-notice{
        margin-top:34px;
        padding:17px 19px;
        display:flex;
        align-items:flex-start;
        gap:12px;
        border:1px solid #fde68a;
        border-radius:17px;
        background:#fffbeb;
        color:#854d0e;
    }

    .eu-premium-notice p{
        margin:0;
        line-height:1.6;
        font-size:14px;
    }

    .eu-premium-toast{
        position:fixed;
        right:20px;
        bottom:20px;
        z-index:9999;
        max-width:320px;
        padding:13px 17px;
        border-radius:14px;
        background:#0f172a;
        color:#fff;
        box-shadow:0 18px 45px rgba(15,23,42,.25);
        font-size:14px;
        font-weight:800;
        opacity:0;
        pointer-events:none;
        transform:translateY(12px);
        transition:.22s ease;
    }

    .eu-premium-toast.is-visible{
        opacity:1;
        transform:translateY(0);
    }

    @media(max-width:900px){
        .eu-premium-tools{
            align-items:flex-start;
            flex-direction:column;
        }

        .eu-premium-official{
            grid-template-columns:auto 1fr;
        }

        .eu-premium-official > a{
            grid-column:1 / -1;
            width:100%;
        }

        .eu-premium-related-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }
    }

    @media(max-width:620px){
        .eu-premium{
            width:min(100% - 24px,1180px);
            margin-top:24px;
        }

        .eu-premium-tools,
        .eu-premium-index,
        .eu-premium-official{
            padding:17px;
            border-radius:19px;
        }

        .eu-premium-actions{
            width:100%;
            display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
        }

        .eu-premium-actions button{
            padding:9px 6px;
            flex-direction:column;
            font-size:11px;
        }

        .eu-premium-index ol,
        .eu-premium-related-grid{
            grid-template-columns:1fr;
        }

        .eu-premium-official{
            grid-template-columns:1fr;
        }

        .eu-premium-official-icon{
            width:50px;
            height:50px;
        }
    }

    html[data-theme="dark"] .eu-premium,
    body.dark-mode .eu-premium{
        color:#e2e8f0;
    }

    html[data-theme="dark"] .eu-premium-tools,
    html[data-theme="dark"] .eu-premium-index,
    html[data-theme="dark"] .eu-premium-faq details,
    html[data-theme="dark"] .eu-premium-related article,
    body.dark-mode .eu-premium-tools,
    body.dark-mode .eu-premium-index,
    body.dark-mode .eu-premium-faq details,
    body.dark-mode .eu-premium-related article{
        border-color:#334155;
        background:#111827;
    }

    html[data-theme="dark"] .eu-premium-section-head h2,
    html[data-theme="dark"] .eu-premium-related article h3,
    html[data-theme="dark"] .eu-premium-faq summary,
    body.dark-mode .eu-premium-section-head h2,
    body.dark-mode .eu-premium-related article h3,
    body.dark-mode .eu-premium-faq summary{
        color:#f8fafc;
    }

    html[data-theme="dark"] .eu-premium-section-head p,
    html[data-theme="dark"] .eu-premium-related article p,
    html[data-theme="dark"] .eu-premium-faq details > div,
    body.dark-mode .eu-premium-section-head p,
    body.dark-mode .eu-premium-related article p,
    body.dark-mode .eu-premium-faq details > div{
        color:#cbd5e1;
    }

    @media print{
        .main-navbar,
        footer,
        .eu-premium-actions,
        .eu-premium-index,
        .eu-premium-related,
        .eu-premium-toast{
            display:none !important;
        }

        .eu-premium{
            width:100%;
            margin:20px 0;
        }

        .eu-premium-tools,
        .eu-premium-official,
        .eu-premium-faq details,
        .eu-premium-notice{
            box-shadow:none;
            break-inside:avoid;
        }
    }

/* =========================================================
   ECUADORUTIL — HOME HERO DARK CONTRAST FIX V2
   ========================================================= */

body.dark-mode .home-hero-product-title{
    color:#f8fafc;
}

body.dark-mode .home-hero-product-description{
    color:#cbd5e1;
}

body.dark-mode .home-hero-popular > span{
    color:#94a3b8;
}

body.dark-mode .home-feature,
body.dark-mode .home-feature span{
    color:#cbd5e1;
}

body.dark-mode .home-feature i{
    color:#22c55e;
}

/* ECUADORUTIL — HOME HERO DARK CONTRAST FIX V2 END */

/* =========================================================
   ECUADORUTIL — INLINE CSS EXTERNALIZADO V3
   ========================================================= */

/* Fuente: resources/views/components/destacados.blade.php, líneas 216-419 */
.eu-home-guides{
        padding:76px 0;
        background:
            radial-gradient(circle at 10% 5%,rgba(34,197,94,.08),transparent 28%),
            #f8fafc;
    }

    .eu-home-guides-head{
        max-width:800px;
        margin:0 auto 38px;
        text-align:center;
    }

    .eu-home-guides-badge{
        display:inline-flex;
        align-items:center;
        gap:8px;
        padding:9px 14px;
        margin-bottom:14px;
        border:1px solid #bbf7d0;
        border-radius:999px;
        background:#ecfdf3;
        color:#047033;
        font-weight:900;
    }

    .eu-home-guides-head h2{
        margin:0 0 12px;
        color:#0f172a;
        font-size:clamp(32px,5vw,54px);
        line-height:1;
        letter-spacing:-1.8px;
        font-weight:950;
    }

    .eu-home-guides-head p{
        margin:0;
        color:#64748b;
        font-size:17px;
        line-height:1.65;
    }

    .eu-home-guides-grid{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px;
    }

    .eu-guide-card{
        min-height:300px;
        padding:24px;
        display:flex;
        flex-direction:column;
        border:1px solid #e2e8f0;
        border-radius:26px;
        background:#fff;
        box-shadow:0 16px 44px rgba(15,23,42,.07);
        transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
    }

    .eu-guide-card:hover{
        transform:translateY(-4px);
        border-color:#86efac;
        box-shadow:0 24px 55px rgba(15,23,42,.12);
    }

    .eu-guide-card--featured{
        background:linear-gradient(145deg,#0f172a,#047033);
        border-color:transparent;
    }

    .eu-guide-icon{
        width:48px;
        height:48px;
        margin-bottom:18px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:16px;
        background:#ecfdf3;
        color:#047033;
        font-size:23px;
    }

    .eu-guide-card--featured .eu-guide-icon{
        background:rgba(255,255,255,.14);
        color:#fff;
    }

    .eu-guide-category{
        margin-bottom:8px;
        color:#166534;
        font-size:12px;
        font-weight:950;
        text-transform:uppercase;
        letter-spacing:.7px;
    }

    .eu-guide-card--featured .eu-guide-category{
        color:#bbf7d0;
    }

    .eu-guide-card h3{
        margin:0 0 10px;
        color:#0f172a;
        font-size:21px;
        line-height:1.2;
        font-weight:950;
        letter-spacing:-.5px;
    }

    .eu-guide-card--featured h3{
        color:#fff;
    }

    .eu-guide-card p{
        margin:0 0 20px;
        color:#64748b;
        line-height:1.6;
        font-size:15px;
    }

    .eu-guide-card--featured p{
        color:#d1fae5;
    }

    .eu-guide-card a{
        margin-top:auto;
        display:inline-flex;
        align-items:center;
        gap:8px;
        color:#047033;
        text-decoration:none;
        font-weight:950;
    }

    .eu-guide-card--featured a{
        color:#fff;
    }

    .eu-home-guides-actions{
        margin-top:30px;
        display:flex;
        justify-content:center;
        align-items:center;
        flex-wrap:wrap;
        gap:12px;
    }

    .eu-guides-main-btn,
    .eu-guides-secondary-btn{
        min-height:50px;
        padding:13px 20px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:9px;
        border-radius:16px;
        text-decoration:none;
        font-weight:950;
    }

    .eu-guides-main-btn{
        background:linear-gradient(135deg,#22c55e,#047033);
        color:#fff;
        box-shadow:0 14px 30px rgba(34,197,94,.22);
    }

    .eu-guides-secondary-btn{
        border:1px solid #cbd5e1;
        background:#fff;
        color:#0f172a;
    }

    @media(max-width:992px){
        .eu-home-guides-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }
    }

    @media(max-width:620px){
        .eu-home-guides{
            padding:50px 0;
        }

        .eu-home-guides-grid{
            grid-template-columns:1fr;
        }

        .eu-guide-card{
            min-height:auto;
        }

        .eu-home-guides-actions{
            flex-direction:column;
        }

        .eu-guides-main-btn,
        .eu-guides-secondary-btn{
            width:100%;
        }
    }

/* Fuente: resources/views/components/hero.blade.php, líneas 2-153 */
.home-hero-product-badge{
            display:inline-flex;
            align-items:center;
            gap:8px;
            padding:9px 14px;
            border:1px solid rgba(187,247,208,.8);
            border-radius:999px;
            background:rgba(236,253,243,.92);
            color:#047033;
            font-weight:900;
        }

        .home-hero-product-title{
            max-width:760px;
            margin:18px 0 16px;
            color:#0f172a;
            font-size:clamp(42px,6vw,74px);
            line-height:.98;
            letter-spacing:-3px;
            font-weight:950;
        }

        .home-hero-product-title span{
            color:#0f8f42;
        }

        .home-hero-product-description{
            max-width:690px;
            margin:0 0 24px;
            color:#475569;
            font-size:clamp(17px,2vw,21px);
            line-height:1.65;
        }

        .home-hero-popular{
            display:flex;
            flex-wrap:wrap;
            align-items:center;
            gap:9px;
            margin-top:18px;
        }

        .home-hero-popular > span{
            color:#64748b;
            font-size:13px;
            font-weight:850;
        }

        .home-hero-popular a{
            display:inline-flex;
            align-items:center;
            gap:6px;
            padding:7px 10px;
            border:1px solid #dbe5df;
            border-radius:999px;
            background:#fff;
            color:#334155;
            font-size:12px;
            font-weight:850;
            text-decoration:none;
            transition:.18s ease;
        }

        .home-hero-popular a:hover{
            border-color:#86efac;
            color:#047033;
            transform:translateY(-1px);
        }

        .home-hero-purpose{
            display:grid;
            grid-template-columns:repeat(4,minmax(0,1fr));
            gap:10px;
            margin-top:26px;
        }

        .home-hero-purpose a{
            display:flex;
            align-items:center;
            gap:10px;
            min-height:60px;
            padding:12px;
            border:1px solid #e2e8f0;
            border-radius:16px;
            background:rgba(255,255,255,.88);
            color:#0f172a;
            text-decoration:none;
            box-shadow:0 12px 30px rgba(15,23,42,.06);
        }

        .home-hero-purpose i{
            color:#0f8f42;
            font-size:20px;
        }

        .home-hero-purpose strong{
            display:block;
            font-size:13px;
            line-height:1.2;
        }

        .home-hero-purpose small{
            display:block;
            margin-top:3px;
            color:#64748b;
            font-size:10px;
            line-height:1.2;
        }

        @media(max-width:992px){
            .home-hero-visual{
                display:none !important;
            }

            .home-hero-grid{
                grid-template-columns:1fr !important;
            }

            .home-hero-content{
                max-width:820px;
            }
        }

        @media(max-width:700px){
            .home-hero{
                min-height:auto !important;
                height:auto !important;
                padding-bottom:34px !important;
            }

            .home-hero-product-title{
                letter-spacing:-2px;
            }

            .home-hero-purpose{
                grid-template-columns:repeat(2,minmax(0,1fr));
            }

            .home-hero-features{
                display:grid !important;
                grid-template-columns:repeat(2,minmax(0,1fr));
                gap:14px !important;
            }
        }

        @media(max-width:430px){
            .home-hero-purpose{
                grid-template-columns:1fr;
            }
        }

/* Fuente: resources/views/components/home-centers.blade.php, líneas 2-137 */
.eu-home-centers{
            padding:68px 0;
            background:#f8fafc;
        }

        .eu-home-centers-head{
            max-width:790px;
            margin:0 auto 32px;
            text-align:center;
        }

        .eu-home-centers-head span{
            display:inline-flex;
            align-items:center;
            gap:8px;
            padding:8px 13px;
            margin-bottom:12px;
            border:1px solid #bbf7d0;
            border-radius:999px;
            background:#ecfdf3;
            color:#047033;
            font-weight:900;
        }

        .eu-home-centers-head h2{
            margin:0 0 12px;
            color:#0f172a;
            font-size:clamp(30px,5vw,50px);
            line-height:1.05;
            letter-spacing:-1.6px;
            font-weight:950;
        }

        .eu-home-centers-head p{
            margin:0;
            color:#64748b;
            font-size:17px;
            line-height:1.65;
        }

        .eu-home-centers-grid{
            display:grid;
            grid-template-columns:repeat(4,minmax(0,1fr));
            gap:16px;
        }

        .eu-home-center-card{
            display:flex;
            flex-direction:column;
            min-height:230px;
            padding:22px;
            border:1px solid #e2e8f0;
            border-radius:24px;
            background:#fff;
            color:#0f172a;
            text-decoration:none;
            box-shadow:0 16px 42px rgba(15,23,42,.06);
            transition:.2s ease;
        }

        .eu-home-center-card:hover{
            transform:translateY(-4px);
            border-color:#86efac;
            box-shadow:0 24px 56px rgba(15,23,42,.1);
        }

        .eu-home-center-icon{
            width:48px;
            height:48px;
            display:flex;
            align-items:center;
            justify-content:center;
            margin-bottom:17px;
            border-radius:16px;
            background:#ecfdf3;
            color:#047033;
            font-size:22px;
        }

        .eu-home-center-card h3{
            margin:0 0 8px;
            font-size:20px;
            font-weight:950;
            letter-spacing:-.4px;
        }

        .eu-home-center-card p{
            margin:0 0 17px;
            color:#64748b;
            font-size:14px;
            line-height:1.55;
        }

        .eu-home-center-links{
            display:flex;
            flex-wrap:wrap;
            gap:6px;
            margin-bottom:18px;
        }

        .eu-home-center-links span{
            padding:5px 8px;
            border-radius:999px;
            background:#f1f5f9;
            color:#475569;
            font-size:10px;
            font-weight:850;
        }

        .eu-home-center-action{
            display:inline-flex;
            align-items:center;
            gap:7px;
            margin-top:auto;
            color:#047033;
            font-size:13px;
            font-weight:950;
        }

        @media(max-width:992px){
            .eu-home-centers-grid{
                grid-template-columns:repeat(2,minmax(0,1fr));
            }
        }

        @media(max-width:576px){
            .eu-home-centers{
                padding:48px 0;
            }

            .eu-home-centers-grid{
                grid-template-columns:1fr;
            }
        }

/* Fuente: resources/views/components/home-routes.blade.php, líneas 2-98 */
.eu-home-guided-routes{
            padding:70px 0;
            background:#0f172a;
            color:#fff;
        }

        .eu-home-guided-wrap{
            display:grid;
            grid-template-columns:minmax(0,1fr) minmax(0,1fr);
            gap:36px;
            align-items:center;
        }

        .eu-home-guided-copy span{
            display:inline-flex;
            align-items:center;
            gap:8px;
            padding:8px 13px;
            margin-bottom:14px;
            border:1px solid rgba(187,247,208,.28);
            border-radius:999px;
            background:rgba(15,143,66,.16);
            color:#bbf7d0;
            font-weight:900;
        }

        .eu-home-guided-copy h2{
            margin:0 0 14px;
            font-size:clamp(34px,5vw,54px);
            line-height:1;
            letter-spacing:-1.8px;
            font-weight:950;
        }

        .eu-home-guided-copy p{
            max-width:650px;
            margin:0 0 22px;
            color:#cbd5e1;
            font-size:17px;
            line-height:1.65;
        }

        .eu-home-guided-copy a{
            display:inline-flex;
            align-items:center;
            gap:8px;
            padding:13px 17px;
            border-radius:14px;
            background:#fff;
            color:#047033;
            font-weight:950;
            text-decoration:none;
        }

        .eu-home-guided-preview{
            display:grid;
            gap:10px;
        }

        .eu-home-guided-step{
            display:grid;
            grid-template-columns:42px minmax(0,1fr);
            gap:13px;
            align-items:center;
            padding:14px;
            border:1px solid rgba(255,255,255,.1);
            border-radius:17px;
            background:rgba(255,255,255,.06);
        }

        .eu-home-guided-number{
            width:42px;
            height:42px;
            display:flex;
            align-items:center;
            justify-content:center;
            border-radius:13px;
            background:#16a34a;
            font-weight:950;
        }

        .eu-home-guided-step strong{
            display:block;
            margin-bottom:2px;
        }

        .eu-home-guided-step small{
            color:#cbd5e1;
        }

        @media(max-width:850px){
            .eu-home-guided-wrap{
                grid-template-columns:1fr;
            }
        }

/* Fuente: resources/views/pages/calculadoras.blade.php, líneas 10-90 */
.eu-tools-vac-card{
        background:#ffffff;
        border:1px solid #e2e8f0;
        border-radius:28px;
        padding:28px;
        min-height:260px;
        text-decoration:none;
        color:#0f172a;
        display:flex;
        flex-direction:column;
        position:relative;
        overflow:hidden;
        box-shadow:0 18px 45px rgba(15,23,42,.08);
        transition:.22s ease;
    }

    .eu-tools-vac-card:hover{
        transform:translateY(-5px);
        border-color:#86efac;
        box-shadow:0 26px 70px rgba(15,23,42,.14);
        color:#0f172a;
    }

    .eu-tools-vac-icon{
        width:52px;
        height:52px;
        border-radius:18px;
        background:#ecfdf3;
        color:#047033;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:24px;
        margin-bottom:28px;
        position:relative;
        z-index:1;
    }

    .eu-tools-vac-badge{
        position:absolute;
        right:24px;
        top:28px;
        background:#0f172a;
        color:#ffffff;
        border-radius:999px;
        padding:7px 12px;
        font-size:12px;
        font-weight:950;
        z-index:1;
    }

    .eu-tools-vac-card h3{
        font-size:24px;
        font-weight:950;
        letter-spacing:-.6px;
        margin:0 0 14px;
        position:relative;
        z-index:1;
    }

    .eu-tools-vac-card p{
        color:#64748b;
        line-height:1.6;
        font-size:15px;
        margin:0 0 24px;
        position:relative;
        z-index:1;
    }

    .eu-tools-vac-link{
        margin-top:auto;
        color:#047033;
        font-weight:950;
        display:inline-flex;
        align-items:center;
        gap:7px;
        position:relative;
        z-index:1;
    }

/* Fuente: resources/views/pages/calculadoras.blade.php, líneas 95-175 */
.eu-tools-resign-card{
        background:#ffffff;
        border:1px solid #e2e8f0;
        border-radius:28px;
        padding:28px;
        min-height:260px;
        text-decoration:none;
        color:#0f172a;
        display:flex;
        flex-direction:column;
        position:relative;
        overflow:hidden;
        box-shadow:0 18px 45px rgba(15,23,42,.08);
        transition:.22s ease;
    }

    .eu-tools-resign-card:hover{
        transform:translateY(-5px);
        border-color:#86efac;
        box-shadow:0 26px 70px rgba(15,23,42,.14);
        color:#0f172a;
    }

    .eu-tools-resign-icon{
        width:52px;
        height:52px;
        border-radius:18px;
        background:#ecfdf3;
        color:#047033;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:24px;
        margin-bottom:28px;
        position:relative;
        z-index:1;
    }

    .eu-tools-resign-badge{
        position:absolute;
        right:24px;
        top:28px;
        background:#0f172a;
        color:#ffffff;
        border-radius:999px;
        padding:7px 12px;
        font-size:12px;
        font-weight:950;
        z-index:1;
    }

    .eu-tools-resign-card h3{
        font-size:24px;
        font-weight:950;
        letter-spacing:-.6px;
        margin:0 0 14px;
        position:relative;
        z-index:1;
    }

    .eu-tools-resign-card p{
        color:#64748b;
        line-height:1.6;
        font-size:15px;
        margin:0 0 24px;
        position:relative;
        z-index:1;
    }

    .eu-tools-resign-link{
        margin-top:auto;
        color:#047033;
        font-weight:950;
        display:inline-flex;
        align-items:center;
        gap:7px;
        position:relative;
        z-index:1;
    }

/* Fuente: resources/views/pages/calculadoras.blade.php, líneas 180-280 */
.eu-tools-cv-grid-card{
        background:#ffffff;
        border:1px solid #e2e8f0;
        border-radius:28px;
        padding:28px;
        min-height:260px;
        text-decoration:none;
        color:#0f172a;
        display:flex;
        flex-direction:column;
        position:relative;
        overflow:hidden;
        box-shadow:0 18px 45px rgba(15,23,42,.08);
        transition:.22s ease;
    }

    .eu-tools-cv-grid-card:hover{
        transform:translateY(-5px);
        border-color:#86efac;
        box-shadow:0 26px 70px rgba(15,23,42,.14);
        color:#0f172a;
    }

    .eu-tools-cv-grid-card:before{
        content:"";
        position:absolute;
        width:150px;
        height:150px;
        border-radius:999px;
        background:rgba(34,197,94,.10);
        right:-45px;
        top:-45px;
    }

    .eu-tools-cv-grid-icon{
        width:52px;
        height:52px;
        border-radius:18px;
        background:#ecfdf3;
        color:#047033;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:24px;
        margin-bottom:28px;
        position:relative;
        z-index:1;
    }

    .eu-tools-cv-grid-badge{
        position:absolute;
        right:24px;
        top:28px;
        background:#0f172a;
        color:#ffffff;
        border-radius:999px;
        padding:7px 12px;
        font-size:12px;
        font-weight:950;
        z-index:1;
    }

    .eu-tools-cv-grid-card h3{
        font-size:24px;
        font-weight:950;
        letter-spacing:-.6px;
        margin:0 0 14px;
        position:relative;
        z-index:1;
    }

    .eu-tools-cv-grid-card p{
        color:#64748b;
        line-height:1.6;
        font-size:15px;
        margin:0 0 24px;
        position:relative;
        z-index:1;
    }

    .eu-tools-cv-grid-link{
        margin-top:auto;
        color:#047033;
        font-weight:950;
        display:inline-flex;
        align-items:center;
        gap:7px;
        position:relative;
        z-index:1;
    }

    body.dark-mode .eu-tools-cv-grid-card{
        background:#ffffff;
        color:#0f172a;
    }

    body.dark-mode .eu-tools-cv-grid-card p{
        color:#64748b;
    }

/* Fuente: resources/views/pages/calculadoras.blade.php, líneas 285-421 */
.eu-cv-highlight{
        background:linear-gradient(135deg,#0f172a 0%,#064e3b 55%,#16a34a 100%);
        border-radius:28px;
        color:#fff;
        overflow:hidden;
        position:relative;
        box-shadow:0 24px 70px rgba(15,23,42,.18);
    }

    .eu-cv-highlight:before{
        content:"";
        position:absolute;
        width:280px;
        height:280px;
        border-radius:999px;
        background:rgba(255,255,255,.11);
        right:-80px;
        top:-90px;
    }

    .eu-cv-highlight-inner{
        position:relative;
        z-index:1;
        padding:34px;
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        gap:24px;
        align-items:center;
    }

    .eu-cv-kicker{
        display:inline-flex;
        align-items:center;
        gap:8px;
        background:rgba(255,255,255,.14);
        border:1px solid rgba(255,255,255,.22);
        color:#dcfce7;
        padding:8px 13px;
        border-radius:999px;
        font-weight:900;
        font-size:13px;
        margin-bottom:14px;
    }

    .eu-cv-highlight h2{
        margin:0 0 10px;
        font-size:clamp(26px,4vw,42px);
        line-height:1;
        letter-spacing:-1.5px;
        font-weight:950;
    }

    .eu-cv-highlight p{
        margin:0;
        color:#d1fae5;
        font-size:16px;
        line-height:1.6;
        max-width:760px;
    }

    .eu-cv-actions{
        display:flex;
        gap:10px;
        flex-wrap:wrap;
        margin-top:22px;
    }

    .eu-cv-btn{
        display:inline-flex;
        align-items:center;
        gap:9px;
        border-radius:16px;
        padding:13px 18px;
        font-weight:950;
        text-decoration:none;
        transition:.2s ease;
    }

    .eu-cv-btn.primary{
        background:#fff;
        color:#047033;
    }

    .eu-cv-btn.secondary{
        background:rgba(255,255,255,.12);
        color:#fff;
        border:1px solid rgba(255,255,255,.22);
    }

    .eu-cv-btn:hover{
        transform:translateY(-2px);
    }

    .eu-cv-mini-card{
        width:210px;
        background:#fff;
        color:#0f172a;
        border-radius:22px;
        padding:18px;
        box-shadow:0 24px 50px rgba(0,0,0,.18);
    }

    .eu-cv-mini-card strong{
        display:block;
        font-size:18px;
        line-height:1.1;
        margin-bottom:12px;
    }

    .eu-cv-mini-line{
        height:8px;
        border-radius:999px;
        background:#e2e8f0;
        margin-bottom:8px;
    }

    .eu-cv-mini-line.green{
        background:#16a34a;
        width:70%;
    }

    .eu-cv-mini-line.short{
        width:55%;
    }

    @media(max-width:768px){
        .eu-cv-highlight-inner{
            grid-template-columns:1fr;
            padding:26px;
        }

        .eu-cv-mini-card{
            width:100%;
        }
    }

/* Fuente: resources/views/pages/rutas/index.blade.php, líneas 11-139 */
.eu-routes-page{
        padding:72px 0 88px;
        background:#f8fafc;
    }

    .eu-routes-hero{
        max-width:860px;
        margin:0 auto 42px;
        text-align:center;
    }

    .eu-routes-badge{
        display:inline-flex;
        align-items:center;
        gap:8px;
        padding:9px 14px;
        margin-bottom:15px;
        border:1px solid #bbf7d0;
        border-radius:999px;
        background:#ecfdf3;
        color:#047033;
        font-weight:900;
    }

    .eu-routes-hero h1{
        margin:0 0 16px;
        color:#0f172a;
        font-size:clamp(38px,6vw,66px);
        line-height:1;
        letter-spacing:-2px;
        font-weight:950;
    }

    .eu-routes-hero p{
        margin:0;
        color:#64748b;
        font-size:18px;
        line-height:1.7;
    }

    .eu-routes-grid{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px;
    }

    .eu-route-card{
        display:flex;
        flex-direction:column;
        min-height:280px;
        padding:25px;
        border:1px solid #e2e8f0;
        border-radius:26px;
        background:#fff;
        color:#0f172a;
        text-decoration:none;
        box-shadow:0 18px 48px rgba(15,23,42,.07);
        transition:.2s ease;
    }

    .eu-route-card:hover{
        transform:translateY(-4px);
        border-color:#86efac;
        box-shadow:0 26px 62px rgba(15,23,42,.11);
    }

    .eu-route-card.is-soon{
        opacity:.72;
        cursor:default;
    }

    .eu-route-icon{
        width:52px;
        height:52px;
        display:flex;
        align-items:center;
        justify-content:center;
        margin-bottom:18px;
        border-radius:17px;
        background:#ecfdf3;
        color:#047033;
        font-size:24px;
    }

    .eu-route-card h2{
        margin:0 0 9px;
        font-size:23px;
        font-weight:950;
        letter-spacing:-.5px;
    }

    .eu-route-card p{
        margin:0 0 18px;
        color:#64748b;
        line-height:1.6;
    }

    .eu-route-meta{
        display:flex;
        flex-wrap:wrap;
        gap:7px;
        margin-bottom:20px;
    }

    .eu-route-meta span{
        padding:6px 9px;
        border-radius:999px;
        background:#f1f5f9;
        color:#475569;
        font-size:11px;
        font-weight:850;
    }

    .eu-route-action{
        display:inline-flex;
        align-items:center;
        gap:7px;
        margin-top:auto;
        color:#047033;
        font-weight:950;
    }

    @media(max-width:900px){
        .eu-routes-grid{
            grid-template-columns:1fr;
        }
    }

/* Fuente: resources/views/pages/rutas/trabajo.blade.php, líneas 11-281 */
.eu-guided-route{
        padding:66px 0 90px;
        background:#f8fafc;
    }

    .eu-guided-header{
        max-width:850px;
        margin:0 auto 40px;
        text-align:center;
    }

    .eu-guided-back{
        display:inline-flex;
        align-items:center;
        gap:7px;
        margin-bottom:20px;
        color:#047033;
        font-weight:900;
        text-decoration:none;
    }

    .eu-guided-header h1{
        margin:0 0 15px;
        color:#0f172a;
        font-size:clamp(38px,6vw,64px);
        line-height:1;
        letter-spacing:-2px;
        font-weight:950;
    }

    .eu-guided-header p{
        margin:0;
        color:#64748b;
        font-size:18px;
        line-height:1.7;
    }

    .eu-guided-layout{
        display:grid;
        grid-template-columns:minmax(0,1fr) 320px;
        gap:24px;
        align-items:start;
    }

    .eu-guided-steps{
        display:grid;
        gap:16px;
    }

    .eu-guided-step{
        display:grid;
        grid-template-columns:58px minmax(0,1fr);
        gap:18px;
        padding:24px;
        border:1px solid #e2e8f0;
        border-radius:24px;
        background:#fff;
        box-shadow:0 14px 38px rgba(15,23,42,.06);
        transition:.2s ease;
    }

    .eu-guided-step.is-complete{
        border-color:#86efac;
        background:#f0fdf4;
    }

    .eu-guided-number{
        width:58px;
        height:58px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:18px;
        background:#ecfdf3;
        color:#047033;
        font-size:20px;
        font-weight:950;
        transition:.2s ease;
    }

    .eu-guided-step.is-complete .eu-guided-number{
        background:#16a34a;
        color:#fff;
    }

    .eu-guided-step h2{
        margin:0 0 7px;
        color:#0f172a;
        font-size:21px;
        font-weight:950;
    }

    .eu-guided-step p{
        margin:0 0 12px;
        color:#64748b;
        line-height:1.6;
    }

    .eu-guided-why{
        margin:0 0 14px;
        padding:12px 14px;
        border-left:3px solid #86efac;
        border-radius:0 12px 12px 0;
        background:#f8fafc;
        color:#475569;
        font-size:13px;
        line-height:1.55;
    }

    .eu-guided-outcome{
        display:grid;
        gap:6px;
        margin:0 0 15px;
        padding:0;
        list-style:none;
    }

    .eu-guided-outcome li{
        display:flex;
        align-items:flex-start;
        gap:8px;
        color:#334155;
        font-size:13px;
    }

    .eu-guided-outcome i{
        color:#16a34a;
    }

    .eu-guided-links{
        display:flex;
        flex-wrap:wrap;
        gap:8px;
    }

    .eu-guided-links a,
    .eu-guided-complete{
        display:inline-flex;
        align-items:center;
        gap:6px;
        padding:9px 12px;
        border-radius:999px;
        font-size:12px;
        font-weight:900;
        text-decoration:none;
        cursor:pointer;
    }

    .eu-guided-links a{
        border:1px solid #bbf7d0;
        background:#ecfdf3;
        color:#047033;
    }

    .eu-guided-complete{
        border:1px solid #cbd5e1;
        background:#fff;
        color:#334155;
    }

    .eu-guided-step.is-complete .eu-guided-complete{
        border-color:#16a34a;
        background:#16a34a;
        color:#fff;
    }

    .eu-guided-summary{
        position:sticky;
        top:100px;
        padding:24px;
        border-radius:24px;
        background:linear-gradient(145deg,#0f172a,#047033);
        color:#fff;
        box-shadow:0 22px 54px rgba(15,23,42,.18);
    }

    .eu-guided-summary h2{
        margin:0 0 8px;
        font-size:23px;
        font-weight:950;
    }

    .eu-guided-summary p{
        margin:0 0 16px;
        color:#dcfce7;
        line-height:1.6;
    }

    .eu-progress-bar{
        height:11px;
        margin-bottom:9px;
        overflow:hidden;
        border-radius:999px;
        background:rgba(255,255,255,.16);
    }

    .eu-progress-bar span{
        display:block;
        width:0;
        height:100%;
        border-radius:999px;
        background:#86efac;
        transition:width .25s ease;
    }

    .eu-progress-label{
        display:flex;
        justify-content:space-between;
        gap:12px;
        margin-bottom:18px;
        color:#dcfce7;
        font-size:12px;
        font-weight:850;
    }

    .eu-guided-summary ul{
        display:grid;
        gap:10px;
        padding:0;
        margin:0 0 22px;
        list-style:none;
    }

    .eu-guided-summary li{
        display:flex;
        align-items:flex-start;
        gap:9px;
        color:#f8fafc;
        font-size:14px;
    }

    .eu-guided-summary .eu-main-action{
        display:flex;
        justify-content:center;
        padding:12px 15px;
        border-radius:14px;
        background:#fff;
        color:#047033;
        font-weight:950;
        text-decoration:none;
    }

    .eu-reset-progress{
        width:100%;
        margin-top:10px;
        border:0;
        background:transparent;
        color:#bbf7d0;
        font-size:12px;
        font-weight:850;
        cursor:pointer;
    }

    @media(max-width:900px){
        .eu-guided-layout{
            grid-template-columns:1fr;
        }

        .eu-guided-summary{
            position:static;
            order:-1;
        }
    }

    @media(max-width:560px){
        .eu-guided-step{
            grid-template-columns:1fr;
        }
    }

/* Fuente: resources/views/pages/tramites.blade.php, líneas 10-71 */
.eu-apost-feature{
        max-width:1120px;
        margin:0 auto 28px;
        background:linear-gradient(135deg,#ecfdf3,#ffffff);
        color:#0f172a;
        border:1px solid #bbf7d0;
        border-radius:30px;
        padding:28px;
        box-shadow:0 18px 48px rgba(15,23,42,.10);
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        gap:18px;
        align-items:center;
    }

    .eu-apost-feature span{
        display:inline-flex;
        background:#0f172a;
        color:#fff;
        border-radius:999px;
        padding:7px 12px;
        font-size:12px;
        font-weight:950;
        margin-bottom:12px;
    }

    .eu-apost-feature h2{
        margin:0 0 8px;
        font-size:clamp(26px,4vw,40px);
        font-weight:950;
        letter-spacing:-1.3px;
    }

    .eu-apost-feature p{
        margin:0;
        color:#475569;
        line-height:1.6;
        font-size:16px;
    }

    .eu-apost-feature a{
        background:linear-gradient(135deg,#22c55e,#047033);
        color:#fff;
        text-decoration:none;
        font-weight:950;
        border-radius:18px;
        padding:14px 18px;
        white-space:nowrap;
        box-shadow:0 14px 28px rgba(34,197,94,.20);
    }

    @media(max-width:800px){
        .eu-apost-feature{
            grid-template-columns:1fr;
        }

        .eu-apost-feature a{
            text-align:center;
        }
    }

/* Fuente: resources/views/pages/tramites.blade.php, líneas 90-151 */
.eu-bach-feature{
        max-width:1120px;
        margin:0 auto 28px;
        background:linear-gradient(135deg,#ecfdf3,#ffffff);
        color:#0f172a;
        border:1px solid #bbf7d0;
        border-radius:30px;
        padding:28px;
        box-shadow:0 18px 48px rgba(15,23,42,.10);
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        gap:18px;
        align-items:center;
    }

    .eu-bach-feature span{
        display:inline-flex;
        background:#0f172a;
        color:#fff;
        border-radius:999px;
        padding:7px 12px;
        font-size:12px;
        font-weight:950;
        margin-bottom:12px;
    }

    .eu-bach-feature h2{
        margin:0 0 8px;
        font-size:clamp(26px,4vw,40px);
        font-weight:950;
        letter-spacing:-1.3px;
    }

    .eu-bach-feature p{
        margin:0;
        color:#475569;
        line-height:1.6;
        font-size:16px;
    }

    .eu-bach-feature a{
        background:linear-gradient(135deg,#22c55e,#047033);
        color:#fff;
        text-decoration:none;
        font-weight:950;
        border-radius:18px;
        padding:14px 18px;
        white-space:nowrap;
        box-shadow:0 14px 28px rgba(34,197,94,.20);
    }

    @media(max-width:800px){
        .eu-bach-feature{
            grid-template-columns:1fr;
        }

        .eu-bach-feature a{
            text-align:center;
        }
    }

/* Fuente: resources/views/welcome.blade.php, líneas 21-158 */
.eu-home-tools{
            padding:70px 0;
            background:#ffffff;
        }

        .eu-home-tools-head{
            max-width:820px;
            margin:0 auto 34px;
            text-align:center;
        }

        .eu-home-tools-head span{
            display:inline-flex;
            align-items:center;
            gap:8px;
            padding:9px 14px;
            margin-bottom:14px;
            border:1px solid #bbf7d0;
            border-radius:999px;
            background:#ecfdf3;
            color:#047033;
            font-weight:900;
        }

        .eu-home-tools-head h2{
            margin:0 0 12px;
            color:#0f172a;
            font-size:clamp(30px,5vw,52px);
            line-height:1;
            letter-spacing:-1.8px;
            font-weight:950;
        }

        .eu-home-tools-head p{
            margin:0;
            color:#475569;
            font-size:17px;
            line-height:1.6;
        }

        .eu-home-tools-grid{
            display:grid;
            grid-template-columns:repeat(4,minmax(0,1fr));
            gap:18px;
        }

        .eu-home-tool-card{
            display:flex;
            flex-direction:column;
            min-height:190px;
            padding:22px;
            border:1px solid #e2e8f0;
            border-radius:24px;
            background:#fff;
            color:#0f172a;
            text-decoration:none;
            box-shadow:0 16px 45px rgba(15,23,42,.07);
            transition:.2s ease;
        }

        .eu-home-tool-card:hover{
            transform:translateY(-4px);
            border-color:#86efac;
            box-shadow:0 24px 60px rgba(15,23,42,.11);
        }

        .eu-home-tool-card.featured{
            border-color:transparent;
            background:linear-gradient(135deg,#0f172a,#047033);
            color:#fff;
        }

        .eu-home-tool-icon{
            width:46px;
            height:46px;
            display:flex;
            align-items:center;
            justify-content:center;
            margin-bottom:16px;
            border-radius:16px;
            background:#ecfdf3;
            color:#047033;
            font-size:22px;
        }

        .eu-home-tool-card.featured .eu-home-tool-icon{
            background:rgba(255,255,255,.14);
            color:#fff;
        }

        .eu-home-tool-card h3{
            margin:0 0 8px;
            font-size:19px;
            font-weight:950;
            letter-spacing:-.4px;
        }

        .eu-home-tool-card p{
            margin:0 0 18px;
            color:#475569;
            font-size:14px;
            line-height:1.5;
        }

        .eu-home-tool-card.featured p{
            color:#ecfdf5;
        }

        .eu-home-tool-link{
            display:inline-flex;
            align-items:center;
            gap:7px;
            margin-top:auto;
            color:#047033;
            font-weight:950;
        }

        .eu-home-tool-card.featured .eu-home-tool-link{
            color:#fff;
        }

        @media(max-width:992px){
            .eu-home-tools-grid{
                grid-template-columns:repeat(2,minmax(0,1fr));
            }
        }

        @media(max-width:576px){
            .eu-home-tools{
                padding:46px 0;
            }

            .eu-home-tools-grid{
                grid-template-columns:1fr;
            }
        }


/* ECUADORUTIL CSP INLINE THEMES V1 */
.institution-icon.eu-inst-theme-green { background: #16a34a18; }
.institution-icon.eu-inst-theme-green i { color: #16a34a; }
.institution-icon.eu-inst-theme-blue { background: #2563eb18; }
.institution-icon.eu-inst-theme-blue i { color: #2563eb; }
.institution-icon.eu-inst-theme-yellow { background: #eab30818; }
.institution-icon.eu-inst-theme-yellow i { color: #eab308; }
.institution-icon.eu-inst-theme-teal { background: #0f766e18; }
.institution-icon.eu-inst-theme-teal i { color: #0f766e; }
.institution-icon.eu-tool-theme-green { background: #dcfce7; }
.institution-icon.eu-tool-theme-green i { color: #16a34a; }
.institution-icon.eu-tool-theme-red { background: #fee2e2; }
.institution-icon.eu-tool-theme-red i { color: #dc2626; }
.institution-icon.eu-tool-theme-yellow { background: #fef3c7; }
.institution-icon.eu-tool-theme-yellow i { color: #ca8a04; }
.institution-icon.eu-tool-theme-purple { background: #ede9fe; }
.institution-icon.eu-tool-theme-purple i { color: #7c3aed; }
.institution-icon.eu-tool-theme-blue { background: #dbeafe; }
.institution-icon.eu-tool-theme-blue i { color: #2563eb; }
.institution-icon.eu-tool-theme-sky { background: #e0f2fe; }
.institution-icon.eu-tool-theme-sky i { color: #0284c7; }
/* END ECUADORUTIL CSP INLINE THEMES V1 */

/* ECUADORUTIL CV GUEST MODAL CSP V1 */
.eu-cv-guest-inline-01 { position:fixed;
        inset:0;
        z-index:2147483647;
        display:none;
        align-items:center;
        justify-content:center;
        padding:22px;
        background:rgba(15,23,42,.72);
        backdrop-filter:blur(5px); }
.eu-cv-guest-inline-02 { width:100%;
            max-width:470px;
            padding:32px 28px;
            border-radius:22px;
            background:#fff;
            box-shadow:0 28px 75px rgba(15,23,42,.32);
            text-align:center; }
.eu-cv-guest-inline-03 { width:68px;
                height:68px;
                display:grid;
                place-items:center;
                margin:0 auto 18px;
                border-radius:50%;
                background:#dcfce7;
                color:#15803d;
                font-size:31px; }
.eu-cv-guest-inline-04 { margin:0 0 10px;
                color:#0f172a;
                font-size:27px; }
.eu-cv-guest-inline-05 { margin:0 0 12px;
                color:#475569;
                line-height:1.6; }
.eu-cv-guest-inline-06 { margin:0 0 22px;
                padding:12px 14px;
                border-radius:12px;
                background:#f0fdf4;
                color:#166534;
                font-size:14px;
                line-height:1.5;
                font-weight:700; }
.eu-cv-guest-inline-07 { display:grid;
                grid-template-columns:1fr 1fr;
                gap:10px; }
.eu-cv-guest-inline-08 { display:flex;
                    align-items:center;
                    justify-content:center;
                    min-height:48px;
                    padding:0 14px;
                    border-radius:12px;
                    background:#0f8f42;
                    color:#fff;
                    text-decoration:none;
                    font-weight:850; }
.eu-cv-guest-inline-09 { display:flex;
                    align-items:center;
                    justify-content:center;
                    min-height:48px;
                    padding:0 14px;
                    border:1px solid #0f8f42;
                    border-radius:12px;
                    background:#fff;
                    color:#047033;
                    text-decoration:none;
                    font-weight:850; }
.eu-cv-guest-inline-10 { margin-top:17px;
                border:0;
                background:transparent;
                color:#64748b;
                font:inherit;
                font-size:14px;
                font-weight:750;
                cursor:pointer; }
/* END ECUADORUTIL CV GUEST MODAL CSP V1 */

/* ECUADORUTIL CV GUEST MODAL CSP OPEN STATE V1 */
.eu-cv-guest-inline-01[hidden] {
    display: none !important;
}

.eu-cv-guest-inline-01.is-open {
    display: flex;
}

body.cv-guest-modal-open {
    overflow: hidden;
}
/* END ECUADORUTIL CV GUEST MODAL CSP OPEN STATE V1 */

/* P1D_V4_HOME_TOOLS_GUIDES_DARK_V1
   Screenshot-proven residual dark-mode gaps.
   Scoped only to body.dark-mode; light mode is intentionally untouched. */

body.dark-mode .eu-home-tools {
    background: #0f172a;
}

body.dark-mode .eu-home-tools-head span,
body.dark-mode .eu-home-guides-badge {
    border-color: #245b37;
    background: #123524;
    color: #bbf7d0;
}

body.dark-mode .eu-home-tools-head h2,
body.dark-mode .eu-home-guides-head h2 {
    color: #f8fafc;
}

body.dark-mode .eu-home-tools-head p,
body.dark-mode .eu-home-guides-head p {
    color: #cbd5e1;
}

body.dark-mode .eu-home-tool-card:not(.featured),
body.dark-mode .eu-guide-card:not(.eu-guide-card--featured) {
    border-color: #2b3a54;
    background: #111c2f;
    color: #f8fafc;
    box-shadow: none;
}

body.dark-mode .eu-home-tool-card:not(.featured):hover,
body.dark-mode .eu-guide-card:not(.eu-guide-card--featured):hover {
    border-color: #1f6b43;
    box-shadow: 0 18px 46px rgba(0,0,0,.18);
}

body.dark-mode .eu-home-tool-card:not(.featured) p,
body.dark-mode .eu-guide-card:not(.eu-guide-card--featured) p {
    color: #cbd5e1;
}

body.dark-mode .eu-home-tool-card:not(.featured) .eu-home-tool-icon,
body.dark-mode .eu-guide-card:not(.eu-guide-card--featured) .eu-guide-icon {
    background: #16243a;
    color: #bbf7d0;
}

body.dark-mode .eu-home-tool-card:not(.featured) .eu-home-tool-link,
body.dark-mode .eu-guide-card:not(.eu-guide-card--featured) a,
body.dark-mode .eu-guide-card:not(.eu-guide-card--featured) .eu-guide-category {
    color: #bbf7d0;
}

body.dark-mode .eu-home-guides {
    background:
        radial-gradient(circle at 10% 5%, rgba(34,197,94,.10), transparent 28%),
        #0f172a;
}

body.dark-mode .eu-guides-secondary-btn {
    border-color: #334155;
    background: #16243a;
    color: #e5e7eb;
}

body.dark-mode .eu-guides-secondary-btn:hover,
body.dark-mode .eu-guides-secondary-btn:focus-visible {
    border-color: #1f6b43;
    background: #1e293b;
    color: #f8fafc;
}

/* P1G1_1_PUBLIC_NAV_AUTH_BUTTONS_V1
   P1F contract: public navbar primary/secondary interaction normalization.
   No auth behavior changes. */

body.dark-mode .nav-login-btn {
    background: #16243a;
    color: #f8fafc;
    border-color: #334155;
    box-shadow: none;
}

body.dark-mode .nav-login-btn:hover {
    background: #1e293b;
    color: #bbf7d0;
    border-color: #3f5d4b;
}

.nav-login-btn:focus-visible,
.nav-account-btn:focus-visible {
    outline: 3px solid rgba(34, 197, 94, .32);
    outline-offset: 2px;
}

.nav-login-btn:active {
    transform: translateY(0);
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .14);
}

.nav-account-btn:active {
    transform: translateY(0);
    box-shadow: 0 8px 18px rgba(15, 143, 66, .18);
}

body.dark-mode .nav-login-btn:focus-visible {
    border-color: #4ade80;
    outline-color: rgba(74, 222, 128, .34);
}

/* P1G1_2_ICON_CONTROLS_V1
   P1F contract: keyboard focus/active states for icon controls
   and explicit mobile nav-toggle dark surface. */

.theme-btn:focus-visible,
.nav-toggle:focus-visible {
    outline: 3px solid rgba(34, 197, 94, .34);
    outline-offset: 2px;
}

.theme-btn:active,
.nav-toggle:active {
    transform: translateY(0);
}

body.dark-mode .nav-toggle {
    color: #f8fafc;
    background: #1e293b;
}

body.dark-mode .nav-toggle:hover {
    color: #bbf7d0;
    background: #26364d;
}

body.dark-mode .nav-toggle:focus-visible {
    outline-color: rgba(74, 222, 128, .38);
}

/* P1_DARK_RESIDUAL_GROUPED_V1
   Consolidated public dark-mode residual repair.
   Source: P1 global dark residual audit + browser-proven light islands.
   All rules are body.dark-mode-scoped. */

/* HOME — Explora por necesidad / center cards */
body.dark-mode .eu-home-centers {
    background: #0f172a;
}

body.dark-mode .eu-home-centers-head h2 {
    color: #f8fafc;
}

body.dark-mode .eu-home-centers-head p {
    color: #cbd5e1;
}

body.dark-mode .eu-home-center-card {
    background: #111c2f;
    border-color: #2b3a54;
    box-shadow: none;
}

body.dark-mode .eu-home-center-card:hover {
    border-color: #3f5d4b;
    box-shadow: 0 12px 28px rgba(2, 6, 23, .22);
}

body.dark-mode .eu-home-center-card h3 {
    color: #f8fafc;
}

body.dark-mode .eu-home-center-card p {
    color: #cbd5e1;
}

body.dark-mode .eu-home-center-icon {
    background: #16243a;
    color: #86efac;
}

body.dark-mode .eu-home-center-links span {
    background: #16243a;
    color: #cbd5e1;
}

body.dark-mode .eu-home-center-action {
    color: #bbf7d0;
}

/* TRÁMITES — browser-proven featured cards + image placeholder */
body.dark-mode .eu-apost-feature,
body.dark-mode .eu-bach-feature {
    background: linear-gradient(135deg, #111c2f 0%, #0f172a 100%);
    border-color: #2b3a54;
    box-shadow: none;
}

body.dark-mode .eu-apost-feature h2,
body.dark-mode .eu-bach-feature h2 {
    color: #f8fafc;
}

body.dark-mode .eu-apost-feature p,
body.dark-mode .eu-bach-feature p {
    color: #cbd5e1;
}

body.dark-mode .tramite-placeholder {
    background: #16243a;
    color: #94a3b8;
    border-color: #334155;
}

/* HERRAMIENTAS + INSTITUCIONES — hero stats and premium cards */
body.dark-mode .institution-stats div {
    background: #111c2f;
    border-color: #2b3a54;
    box-shadow: none;
}

body.dark-mode .institution-stats strong {
    color: #f8fafc;
}

body.dark-mode .institution-stats span,
body.dark-mode .institution-stats small {
    color: #cbd5e1;
}

body.dark-mode .institution-premium-card {
    background: #111c2f;
    border-color: #2b3a54;
    box-shadow: none;
}

body.dark-mode .institution-premium-card:hover {
    border-color: #3f5d4b;
    box-shadow: 0 12px 28px rgba(2, 6, 23, .22);
}

body.dark-mode .institution-premium-card h2,
body.dark-mode .institution-premium-card h3,
body.dark-mode .institution-premium-card strong {
    color: #f8fafc;
}

body.dark-mode .institution-premium-card p {
    color: #cbd5e1;
}

body.dark-mode .institution-premium-card .institution-action {
    color: #bbf7d0;
}

/* HERRAMIENTAS — additional white utility cards detected without dark coverage */
body.dark-mode .eu-tools-vac-card,
body.dark-mode .eu-tools-resign-card {
    background: #111c2f;
    border-color: #2b3a54;
    box-shadow: none;
}

body.dark-mode .eu-tools-vac-card:hover,
body.dark-mode .eu-tools-resign-card:hover {
    border-color: #3f5d4b;
}

body.dark-mode .eu-tools-vac-card h2,
body.dark-mode .eu-tools-vac-card h3,
body.dark-mode .eu-tools-resign-card h2,
body.dark-mode .eu-tools-resign-card h3 {
    color: #f8fafc;
}

body.dark-mode .eu-tools-vac-card p,
body.dark-mode .eu-tools-resign-card p {
    color: #cbd5e1;
}

/* P1_DARK_GUIDE_TITLE_CONTRAST_V1
   Minimal fix: normal guide-card h3 must override its explicit light-mode color in dark mode.
   Featured guide card is intentionally excluded. */
body.dark-mode .eu-guide-card:not(.eu-guide-card--featured) h3 {
    color: #f8fafc;
}


/* P1_RESPONSIVE_MOBILE_RESIDUALS_V1 */
@media (max-width: 992px) {
    .nav-menu .nav-mobile-primary,
    .nav-menu .nav-mobile-primary:hover,
    .nav-menu .nav-mobile-primary:focus-visible,
    .nav-menu .nav-mobile-primary:active,
    body.dark-mode .nav-menu .nav-mobile-primary,
    body.dark-mode .nav-menu .nav-mobile-primary:hover,
    body.dark-mode .nav-menu .nav-mobile-primary:focus-visible,
    body.dark-mode .nav-menu .nav-mobile-primary:active {
        color: #fff !important;
        background: linear-gradient(135deg, #13a34d, #047033) !important;
    }
}

.tramite-card > a,
.tramite-card > a:visited,
.tramite-card > a:hover,
.tramite-card > a:focus-visible,
.tramite-card > a:active {
    color: inherit;
    text-decoration: none;
}

/* ============================================================
   P2 mobile Hero containment — immutable CSP v9
   Scope: <=576px only.
   Purpose: prevent 388px horizontal overflow without changing
   desktop, Home content/order, routes, or CSP policy.
   ============================================================ */
@media (max-width: 576px) {
    .main-navbar .container,
    .home-hero > .container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .home-hero > .container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .home-hero-grid,
    .home-hero-content,
    .home-hero-product-title,
    .home-hero-product-description,
    .home-hero-search,
    .home-search-input,
    .home-hero-popular,
    .home-hero-purpose,
    .home-hero-features {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .home-hero-product-badge {
        box-sizing: border-box;
        max-width: 100%;
        white-space: normal;
        text-align: center;
        justify-content: center;
    }

    .home-hero-product-title {
        font-size: clamp(36px, 10vw, 40px);
        letter-spacing: -1.5px;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .home-hero-product-description {
        font-size: 16px;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .home-search-input input {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .home-hero-popular {
        justify-content: center;
    }

    .home-hero-purpose a,
    .home-feature {
        min-width: 0;
    }
}

/* P3_TRAMITES_UX_GROUPED_V1 — immutable CSP v10 */
.tramites-page{padding-top:32px}

.eu-tramites-featured{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:26px 0 34px;
}
.eu-tramites-featured .eu-apost-feature,
.eu-tramites-featured .eu-bach-feature{
  box-sizing:border-box;
  width:100%;
  max-width:none;
  min-width:0;
  min-height:0;
  margin:0;
  padding:20px 22px;
  border-radius:20px;
  gap:18px;
}
.eu-tramites-featured .eu-apost-feature h2,
.eu-tramites-featured .eu-bach-feature h2{
  margin:8px 0 7px;
  font-size:clamp(21px,2vw,25px);
  line-height:1.12;
  letter-spacing:-.5px;
}
.eu-tramites-featured .eu-apost-feature p,
.eu-tramites-featured .eu-bach-feature p{
  font-size:14px;
  line-height:1.5;
}
.eu-tramites-featured .eu-apost-feature>a,
.eu-tramites-featured .eu-bach-feature>a{
  flex:0 0 auto;
  padding:11px 15px;
  border-radius:13px;
  white-space:nowrap;
}

.tramites-filter-summary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:-4px auto 26px;
  color:#64748b;
  font-size:14px;
}
.tramites-filter-summary strong{color:#0f172a}
.tramites-filter-summary a{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border:1px solid #bbf7d0;
  border-radius:999px;
  background:#ecfdf5;
  color:#047033;
  font-size:12px;
  font-weight:850;
  text-decoration:none;
}
.tramites-filter-summary a:hover,
.tramites-filter-summary a:focus-visible{
  border-color:#0f8f42;
  background:#dcfce7;
  outline:2px solid transparent;
}

.tramite-card-main-link{
  display:flex;
  flex-direction:column;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.tramite-card-main-link>p{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
}
.tramite-card-main-link:focus-visible{
  border-radius:12px;
  outline:3px solid rgba(15,143,66,.28);
  outline-offset:4px;
}
.tramite-card-cta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:fit-content;
  margin-top:17px;
  color:#047033;
  font-size:14px;
  font-weight:900;
}
.tramite-card:hover .tramite-card-cta{color:#0f8f42}

.tramites-empty-state{
  grid-column:1/-1;
  width:min(680px,100%);
  margin:8px auto 28px;
  padding:48px 28px;
  border:1px solid #dbe7df;
  border-radius:24px;
  background:rgba(255,255,255,.82);
  text-align:center;
  box-shadow:0 16px 40px rgba(15,23,42,.07);
}
.tramites-empty-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  margin-bottom:16px;
  border-radius:18px;
  background:#ecfdf5;
  color:#0f8f42;
  font-size:24px;
}
.tramites-empty-state h3{
  margin:0 0 9px;
  color:#0f172a;
  font-size:25px;
  font-weight:900;
}
.tramites-empty-state p{
  max-width:520px;
  margin:0 auto;
  color:#64748b;
  line-height:1.6;
}
.tramites-empty-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}
.tramites-empty-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border-radius:13px;
  font-weight:850;
  text-decoration:none;
}
.tramites-empty-primary{
  border:1px solid #0f8f42;
  background:#0f8f42;
  color:#fff;
}
.tramites-empty-secondary{
  border:1px solid #d7e7dd;
  background:#fff;
  color:#047033;
}

body.dark-mode .tramites-filter-summary{color:#94a3b8}
body.dark-mode .tramites-filter-summary strong{color:#f8fafc}
body.dark-mode .tramites-filter-summary a{
  border-color:#31533f;
  background:#16243a;
  color:#bbf7d0;
}
body.dark-mode .tramite-card-cta{color:#86efac}
body.dark-mode .tramites-empty-state{
  border-color:#2b3a54;
  background:#111c2f;
  box-shadow:none;
}
body.dark-mode .tramites-empty-icon{
  background:#16243a;
  color:#86efac;
}
body.dark-mode .tramites-empty-state h3{color:#f8fafc}
body.dark-mode .tramites-empty-state p{color:#cbd5e1}
body.dark-mode .tramites-empty-secondary{
  border-color:#334155;
  background:#16243a;
  color:#bbf7d0;
}

@media(max-width:767.98px){
  .eu-tramites-featured{
    grid-template-columns:1fr;
    gap:12px;
    margin:20px 0 28px;
  }
  .eu-tramites-featured .eu-apost-feature,
  .eu-tramites-featured .eu-bach-feature{
    display:block;
    padding:18px;
  }
  .eu-tramites-featured .eu-apost-feature>a,
  .eu-tramites-featured .eu-bach-feature>a{
    display:flex;
    justify-content:center;
    width:100%;
    margin-top:14px;
  }
}

@media(max-width:576px){
  .tramites-page{padding-top:24px}
  .tramites-categories{
    box-sizing:border-box;
    display:flex;
    flex-wrap:nowrap;
    justify-content:flex-start;
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    gap:9px;
    margin-bottom:24px;
    padding:0 2px 9px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .tramites-categories::-webkit-scrollbar{display:none}
  .tramites-categories a{
    flex:0 0 auto;
    white-space:nowrap;
    padding:9px 14px;
  }
  .tramite-card{
    padding:18px;
    border-radius:22px;
  }
  .tramite-image,
  .tramite-placeholder{
    height:132px;
    margin-bottom:14px;
    border-radius:18px;
  }
  .tramite-placeholder i{font-size:45px}
  .tramite-card h3{
    font-size:20px;
    line-height:1.2;
  }
  .tramite-card-main-link>p{
    -webkit-line-clamp:4;
    font-size:14px;
    line-height:1.55;
  }
  .tramite-meta{
    gap:8px;
    margin-top:14px;
  }
  .tramite-meta span{
    padding:7px 10px;
    font-size:12px;
  }
  .tramite-card-cta{margin-top:15px}
  .tramites-filter-summary{
    margin-bottom:22px;
    text-align:center;
  }
  .tramites-empty-state{
    padding:34px 18px;
    border-radius:20px;
  }
  .tramites-empty-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .tramites-empty-actions a{width:100%}
}

/* P3_SEARCH_LABEL_A11Y_V11
   Keep the explicit form label accessible to assistive technology while
   preventing it from becoming visible inside the styled search control. */
.tramites-search > label.visually-hidden[for="tramites-search-input"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
