/* 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 */
