/* Empaque Total - Home fiel al boceto */

body.home main {
    overflow: hidden;
}

body.home .et-hero {
    min-height: 420px;
}

body.home .et-hero .container {
    position: relative;
    z-index: 2;
}

body.home .et-hero-title {
    font-size: 45px !important;
    line-height: 1.05;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

body.home .et-hero-subtitle {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}

body.home .et-hero-search {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

body.home .et-hs-row {
    border-radius: 14px;
    padding: 8px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 16px 34px rgba(0,0,0,.16);
}

body.home .et-home-register-cta {
    position: relative;
    z-index: 8;
    margin-top: -62px;
    padding: 0 0 20px;
}

body.home .et-home-register-card {
    max-width: 980px;
    margin: 0 auto;
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 16px 22px;
    border-radius: 14px;
    background: linear-gradient(90deg, #008d4b 0%, #007d41 100%);
    box-shadow: 0 16px 34px rgba(0,111,61,.22);
    color: #fff;
    text-decoration: none;
}

body.home .et-home-register-icon,
body.home .et-home-growth-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: rgba(255,255,255,.14);
    font-size: 24px;
}

body.home .et-home-register-copy {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

body.home .et-home-register-copy strong {
    font-size: 17px;
    line-height: 1.2;
}

body.home .et-home-register-copy small {
    font-size:14px;
    line-height: 1.45;
    opacity: .88;
}

body.home .et-home-register-button,
body.home .et-directory-primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 8px;
    background: #fff;
    color: #08743f;
    font-size:14px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 5px 14px rgba(0,0,0,.08);
}

body.home .et-banner-zone {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.home .et-home-horizontal-ad {
    max-width: 980px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 15px;
}

body.home .et-home-horizontal-ad .et-banner-rotator,
body.home .et-home-horizontal-ad > a,
body.home .et-home-horizontal-ad picture,
body.home .et-home-horizontal-ad img {
    border-radius: 14px;
    overflow: hidden;
}

body.home .et-home-horizontal-ad img {
    width: 100%;
    height: auto;
    display: block;
}

body.home .et-home-horizontal-ad-1 {
    padding-top: 2px;
    padding-bottom: 16px;
}

body.home .et-home-horizontal-ad-2,
body.home .et-home-horizontal-ad-3,
body.home .et-home-bottom-ad {
    padding-top: 18px;
    padding-bottom: 18px;
}

body.home .et-home-featured,
body.home .et-home-news,
body.home .et-home-directory,
body.home .et-home-why-register {
    padding: 28px 0;
}

body.home .et-home-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

body.home .et-home-section-head h2,
body.home .et-home-why-heading h2 {
    margin: 0;
    color: #0a2d57;
    font-size: 21px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.3px;
}

body.home .et-home-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #068b4b;
    font-size:14px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 1.25px;
    text-transform: uppercase;
}

body.home .et-home-head-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #0878c9;
    font-size:14px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

body.home .et-featured-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: 22px;
    align-items: start;
}

body.home .et-featured-companies-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 12px;
}

body.home .et-featured-company-card {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    min-height: 82px;
    padding: 10px 12px;
    border: 1px solid #e8edf1;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(15,35,55,.035);
}

body.home .et-featured-company-logo {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #edf0f2;
    border-radius: 8px;
    background: #fff;
    color: #0b7650;
    font-weight: 900;
    text-decoration: none;
}

body.home .et-featured-company-logo img {
    width: 88%;
    height: 88%;
    object-fit: contain;
}

body.home .et-featured-company-info {
    min-width: 0;
    flex: 1;
}

body.home .et-featured-company-title {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    font-size:14px;
    line-height: 1.2;
    font-weight: 900;
}

body.home .et-featured-company-title a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #0a2d57;
    text-decoration: none;
}

body.home .et-featured-company-title i {
    flex: 0 0 auto;
    color: #008c4c;
    font-size:14px;
}

body.home .et-featured-company-cat {
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #0c8a4b;
    font-size:14px;
    font-weight: 700;
}

body.home .et-featured-company-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 5px;
    color: #7a858e;
    font-size:14px;
    line-height: 1.2;
}

body.home .et-featured-company-go {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
    color: #0578c9;
    font-size:14px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

body.home .et-featured-ad-rail {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.home .et-featured-side-ad {
    overflow: hidden;
    border-radius: 9px;
    background: transparent;
}

body.home .et-featured-side-ad .et-banner-rotator,
body.home .et-featured-side-ad picture,
body.home .et-featured-side-ad img {
    width: 100%;
}

body.home .et-featured-side-ad img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 9px;
}

body.home .et-home-growth-cta {
    padding: 2px 0 22px;
}

body.home .et-home-growth-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 98px;
    padding: 18px 24px;
    border-radius: 14px;
    background: linear-gradient(90deg, #008c49 0%, #007f43 100%);
    color: #fff;
    box-shadow: 0 12px 26px rgba(0,112,59,.16);
}

body.home .et-home-growth-main {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

body.home .et-home-growth-main > div {
    display: flex;
    flex-direction: column;
}

body.home .et-home-growth-main small {
    margin-bottom: 2px;
    font-size:14px;
    opacity: .9;
}

body.home .et-home-growth-main strong {
    font-size: 20px;
    line-height: 1.15;
}

body.home .et-home-growth-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 18px;
    margin-top: 8px;
}

body.home .et-home-growth-benefits b {
    font-size:14px;
    font-weight: 600;
    opacity: .95;
}

body.home .et-home-growth-benefits i {
    margin-right: 4px;
}

body.home .et-home-news {
    padding-top: 10px;
}

body.home .et-home-section-head-line {
    padding-bottom: 9px;
    border-bottom: 1px solid #b8c7d3;
}

body.home .et-home-news-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

body.home .et-home-news-card {
    overflow: hidden;
    min-width: 0;
    border: 1px solid #e4eaee;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(15,35,55,.055);
}

body.home .et-home-news-thumb {
    display: block;
    aspect-ratio: 1.18 / 1;
    overflow: hidden;
    background: #eef2f4;
}

body.home .et-home-news-img,
body.home .et-home-news-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.home .et-home-news-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9aa6ae;
    font-size: 28px;
}

body.home .et-home-news-body {
    padding: 9px 9px 10px;
}

body.home .et-home-news-body time {
    display: block;
    margin-bottom: 5px;
    color: #84919a;
    font-size:14px;
    font-weight: 700;
    text-transform: uppercase;
}

body.home .et-home-news-body h3 {
    margin: 0 0 10px;
    font-size:14px;
    line-height: 1.28;
    font-weight: 800;
}

body.home .et-home-news-body h3 a {
    color: #0a2d57;
    text-decoration: none;
}

body.home .et-home-news-more {
    color: #0878c9;
    font-size:14px;
    font-weight: 800;
    text-decoration: none;
}

body.home .et-home-directory {
    padding: 32px 0;
    background: linear-gradient(180deg, #eef7fc 0%, #f4f9fc 100%);
}

body.home .et-home-directory-layout {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 28px;
    align-items: stretch;
}

body.home .et-directory-intro-card {
    position: relative;
    overflow: hidden;
    min-height: 240px;
    padding: 24px 22px;
    border: 1px solid #e0e8ed;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15,35,55,.07);
}

body.home .et-directory-intro-card h3 {
    position: relative;
    z-index: 2;
    max-width: 220px;
    margin: 6px 0 10px;
    color: #0a2d57;
    font-size: 20px;
    line-height: 1.15;
    font-weight: 900;
}

body.home .et-directory-intro-card p {
    position: relative;
    z-index: 2;
    max-width: 220px;
    margin: 0 0 18px;
    color: #65727c;
    font-size:14px;
    line-height: 1.5;
}

body.home .et-directory-intro-card .et-directory-primary-btn {
    position: relative;
    z-index: 2;
    background: #08a64f;
    color: #fff;
    box-shadow: none;
}

body.home .et-directory-boxes {
    position: absolute;
    right: 13px;
    bottom: 10px;
    color: #c69761;
    font-size: 74px;
    opacity: .38;
    transform: rotate(-4deg);
}

body.home .et-home-categories-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

body.home .et-home-category-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    min-height: 70px;
    padding: 12px 14px;
    border: 1px solid #e2e9ee;
    border-radius: 8px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 4px 11px rgba(15,35,55,.035);
}

body.home .et-home-category-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #eef9f2;
    color: #0ca252;
    font-size: 17px;
}

body.home .et-home-category-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

body.home .et-home-category-copy strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #0a2d57;
    font-size:14px;
    line-height: 1.2;
    font-weight: 800;
}

body.home .et-home-category-copy small {
    margin-top: 3px;
    color: #7c8991;
    font-size:14px;
}

body.home .et-home-why-register {
    position: relative;
    padding: 28px 0 26px;
    background: #fff;
}

body.home .et-home-why-heading {
    margin-bottom: 16px;
    text-align: center;
}

body.home .et-home-why-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    padding-top: 14px;
    border-top: 1px solid #dfe6eb;
}

body.home .et-home-why-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

body.home .et-home-why-item > span {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d8efdf;
    border-radius: 50%;
    color: #13a457;
    font-size: 15px;
}

body.home .et-home-why-item div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

body.home .et-home-why-item strong {
    color: #0a2d57;
    font-size:14px;
    line-height: 1.25;
    font-weight: 800;
}

body.home .et-home-why-item small {
    margin-top: 5px;
    color: #7b8790;
    font-size:14px;
    line-height: 1.45;
}

body.home .et-home-why-action {
    margin-top: 18px;
    text-align: center;
}

body.home .et-home-why-action .et-directory-primary-btn {
    background: #078d46;
    color: #fff;
}

@media (max-width: 1199.98px) {
    body.home .et-featured-layout {
        grid-template-columns: minmax(0, 1fr) 205px;
    }

    body.home .et-home-news-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    body.home .et-hero {
        min-height: auto;
    }

    body.home .et-home-register-cta {
        margin-top: 0;
        padding-top: 16px;
    }

    body.home .et-featured-layout {
        grid-template-columns: 1fr;
    }

    body.home .et-featured-ad-rail {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 650px;
        margin: 4px auto 0;
    }

    body.home .et-home-directory-layout {
        grid-template-columns: 1fr;
    }

    body.home .et-directory-intro-card {
        min-height: 205px;
    }

    body.home .et-home-growth-card {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767.98px) {
    body.home .et-hero-title {
        font-size: 36px !important;
    }

    body.home .et-home-register-card {
        flex-wrap: wrap;
    }

    body.home .et-home-register-button {
        width: 100%;
    }

    body.home .et-featured-companies-grid {
        grid-template-columns: 1fr;
    }

    body.home .et-home-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.home .et-home-categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.home .et-home-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    body.home .et-hero-title {
        font-size: 31px !important;
    }

    body.home .et-home-register-card,
    body.home .et-home-growth-card {
        padding: 16px;
    }

    body.home .et-home-register-icon {
        display: none;
    }

    body.home .et-featured-company-card {
        flex-wrap: wrap;
    }

    body.home .et-featured-company-info {
        width: calc(100% - 66px);
    }

    body.home .et-featured-company-go {
        margin-left: 66px;
    }

    body.home .et-featured-ad-rail {
        gap: 8px;
    }

    body.home .et-home-news-grid {
        gap: 8px;
    }

    body.home .et-home-categories-grid,
    body.home .et-home-why-grid {
        grid-template-columns: 1fr;
    }

    body.home .et-home-growth-main {
        align-items: flex-start;
    }

    body.home .et-home-growth-icon {
        display: none;
    }
}


/* ══════════════════════════════════════════════════════════════
   HERO SEARCH — COMPOSICIÓN FIEL AL BOCETO
══════════════════════════════════════════════════════════════ */

body.home .et-hero.et-hero-search-layout {
    position: relative;
    display: block;
    min-height: 480px;
    overflow: hidden;
    background: #082c58;
    color: #fff;
}

body.home .et-hero-search-layout .et-hero-media-video,
body.home .et-hero-search-layout .et-hero-media-image,
body.home .et-hero-search-layout .et-hero-media-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

body.home .et-hero-search-layout .et-hero-media-video {
    z-index: 0;
    object-fit: cover;
    object-position: center center;
}

body.home .et-hero-search-layout .et-hero-media-image {
    z-index: 0;
    background-image: var(--et-hero-bg-image);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

body.home .et-hero-search-layout .et-hero-media-video ~ .et-hero-media-image {
    opacity: 0;
}

body.home .et-hero-search-layout .et-hero-media-overlay {
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(3, 31, 67, calc(var(--et-hero-overlay, .62) + .16)) 0%,
            rgba(3, 35, 75, calc(var(--et-hero-overlay, .62) + .07)) 43%,
            rgba(4, 45, 86, calc(var(--et-hero-overlay, .62) - .05)) 100%
        );
    pointer-events: none;
}

body.home .et-hero-search-layout .et-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1280px;
    min-height: 480px;
    padding-top: 46px;
    padding-bottom: 22px;
    display: flex;
    align-items: flex-start;
}

body.home .et-hero-search-layout .et-hero-copy {
    width: 100%;
    max-width: 1110px;
    margin: 0;
    text-align: left !important;
}

body.home .et-hero-search-layout .et-hero-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 760px !important;
    margin: 0 0 16px !important;
    font-family: var(--et-font-brand);
    font-size: 45px !important;
    line-height: .98 !important;
    font-weight: 900 !important;
    letter-spacing: -1.7px;
    text-align: left !important;
    color: #fff !important;
}

body.home .et-hero-search-layout .et-hero-title-white {
    display: block;
    color: #fff !important;
}

body.home .et-hero-search-layout .et-hero-title-green {
    display: block;
    color: #61be2f !important;
}

body.home .et-hero-search-layout .et-hero-subtitle {
    max-width: 650px !important;
    margin: 0 0 22px !important;
    color: rgba(255,255,255,.98) !important;
    font-size: 15px !important;
    line-height: 1.48 !important;
    font-weight: 500;
    text-align: left !important;
}

body.home .et-hero-search-layout .et-hero-search {
    width: 100%;
    max-width: 1025px !important;
    margin: 0 !important;
}

body.home .et-hero-search-layout .et-hs-row {
    width: 100%;
    display: grid !important;
    grid-template-columns: minmax(0, 1.85fr) minmax(245px, .83fr) 145px !important;
    gap: 10px !important;
    align-items: center;
    padding: 9px !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.18) !important;
}

body.home .et-hero-search-layout .et-hs-field {
    position: relative;
    min-width: 0;
    min-height: 55px !important;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 0 16px !important;
    border: 1px solid #eef1f4 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.home .et-hero-search-layout .et-hs-field-icon {
    flex: 0 0 auto;
    color: #0b3465 !important;
    font-size: 15px;
}

body.home .et-hero-search-layout .et-hs-input {
    width: 100% !important;
    min-width: 0;
    height: 53px !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #253444 !important;
    font-size:14px !important;
    font-weight: 500;
}

body.home .et-hero-search-layout .et-hs-input::placeholder {
    color: #737f8a !important;
    opacity: 1;
}

body.home .et-hero-search-layout .et-hs-btn {
    min-height: 55px !important;
    width: 100%;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: linear-gradient(180deg, #1a9348 0%, #0b7835 100%) !important;
    color: #fff !important;
    box-shadow: 0 5px 14px rgba(7,117,50,.22) !important;
    font-size:14px !important;
    font-weight: 900 !important;
    line-height: 1;
    text-transform: uppercase;
}

body.home .et-hero-search-layout .et-hs-btn:hover {
    transform: none !important;
    filter: brightness(.96);
}

body.home .et-hero-search-layout .et-hs-dropdown {
    z-index: 50;
}

body.home .et-hero-register-card {
    width: calc(100% - 55px);
    max-width: 965px;
    min-height: 84px;
    margin: 30px 0 0 55px;
    padding: 15px 22px;
    display: flex;
    align-items: center;
    gap: 16px;
    border-radius: 12px;
    background: linear-gradient(90deg, rgba(0,139,73,.96) 0%, rgba(0,126,64,.96) 100%);
    box-shadow: 0 12px 28px rgba(0,0,0,.15);
    color: #fff;
    text-decoration: none;
}

body.home .et-hero-register-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(255,255,255,.11);
    color: #fff;
    font-size: 23px;
}

body.home .et-hero-register-copy {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

body.home .et-hero-register-copy strong {
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
}

body.home .et-hero-register-copy small {
    color: rgba(255,255,255,.83);
    font-size:14px;
    line-height: 1.45;
}

body.home .et-hero-register-button {
    min-width: 215px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 20px;
    border-radius: 8px;
    background: #fff;
    color: #087640;
    box-shadow: 0 5px 14px rgba(0,0,0,.08);
    font-size:14px;
    line-height: 1;
    font-weight: 900;
    white-space: nowrap;
}

body.home .et-home-register-cta {
    display: none !important;
}

/* Evita que reglas viejas de Bootstrap centren el contenido del hero */
body.home .et-hero-search-layout .row,
body.home .et-hero-search-layout [class*="col-"] {
    text-align: left !important;
}

@media (max-width: 1199.98px) {
    body.home .et-hero-search-layout .et-hero-inner {
        padding-left: 28px;
        padding-right: 28px;
    }

    body.home .et-hero-register-card {
        width: calc(100% - 35px);
        margin-left: 35px;
    }
}

@media (max-width: 991.98px) {
    body.home .et-hero.et-hero-search-layout,
    body.home .et-hero-search-layout .et-hero-inner {
        min-height: auto;
    }

    body.home .et-hero-search-layout .et-hero-inner {
        padding-top: 42px;
        padding-bottom: 34px;
    }

    body.home .et-hero-search-layout .et-hs-row {
        grid-template-columns: minmax(0, 1.35fr) minmax(210px, .8fr) 130px !important;
    }

    body.home .et-hero-register-card {
        width: 100%;
        margin-left: 0;
    }
}

@media (max-width: 767.98px) {
    body.home .et-hero-search-layout .et-hero-title {
        font-size: 36px !important;
    }

    body.home .et-hero-search-layout .et-hero-subtitle {
        font-size: 14px !important;
    }

    body.home .et-hero-search-layout .et-hs-row {
        grid-template-columns: 1fr !important;
    }

    body.home .et-hero-register-card {
        flex-wrap: wrap;
        margin-top: 20px;
    }

    body.home .et-hero-register-button {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 575.98px) {
    body.home .et-hero-search-layout .et-hero-inner {
        padding: 30px 18px 26px;
    }

    body.home .et-hero-search-layout .et-hero-title {
        font-size: 31px !important;
        letter-spacing: -1px;
    }

    body.home .et-hero-register-icon {
        display: none;
    }

    body.home .et-hero-register-card {
        padding: 15px;
    }

    body.home .et-hero-search-layout .et-hs-field,
    body.home .et-hero-search-layout .et-hs-btn {
        min-height: 50px !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   HERO SEARCH — AJUSTE DE PROPORCIONES V2 SEGÚN BOCETO
   Fuerza dimensiones y alineación para evitar reglas antiguas.
══════════════════════════════════════════════════════════════ */

@media (min-width: 992px) {

    body.home .et-hero.et-hero-search-layout {
        min-height: 485px !important;
        height: 485px !important;
        display: block !important;
    }

    body.home .et-hero-search-layout > .container.et-hero-inner {
        width: calc(100% - 40px) !important;
        max-width: 1280px !important;
        min-height: 485px !important;
        height: 485px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 56px 0 18px !important;
        display: block !important;
    }

    body.home .et-hero-search-layout .et-hero-copy {
        width: 100% !important;
        max-width: 1185px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    body.home .et-hero-search-layout .et-hero-title {
        width: auto !important;
        max-width: 820px !important;
        margin: 0 0 20px !important;
        padding: 0 !important;
        font-size: 56px !important;
        line-height: .94 !important;
        letter-spacing: -2.15px !important;
        text-align: left !important;
    }

    body.home .et-hero-search-layout .et-hero-title-white,
    body.home .et-hero-search-layout .et-hero-title-green {
        display: block !important;
        width: max-content !important;
        max-width: 100% !important;
    }

    body.home .et-hero-search-layout .et-hero-subtitle {
        width: 100% !important;
        max-width: 665px !important;
        margin: 0 0 25px !important;
        padding: 0 !important;
        font-size: 16px !important;
        line-height: 1.48 !important;
        text-align: left !important;
    }

    body.home .et-hero-search-layout .et-hero-search {
        width: 1025px !important;
        max-width: calc(100vw - 300px) !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.home .et-hero-search-layout .et-hs-row {
        box-sizing: border-box !important;
        width: 100% !important;
        height: 76px !important;
        min-height: 76px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1.9fr) 260px 150px !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 0 !important;
        border-radius: 15px !important;
    }

    body.home .et-hero-search-layout .et-hs-field {
        box-sizing: border-box !important;
        width: 100% !important;
        height: 58px !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 0 17px !important;
        border-radius: 9px !important;
    }

    body.home .et-hero-search-layout .et-hs-input {
        height: 56px !important;
        min-height: 56px !important;
        margin: 0 !important;
        font-size: 14px !important;
    }

    body.home .et-hero-search-layout .et-hs-btn {
        box-sizing: border-box !important;
        width: 100% !important;
        height: 58px !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 0 18px !important;
        border-radius: 9px !important;
        font-size:14px !important;
    }

    body.home .et-hero-register-card {
        box-sizing: border-box !important;
        width: calc(100% - 60px) !important;
        max-width: 1125px !important;
        min-height: 102px !important;
        height: 102px !important;
        margin: 30px 0 0 60px !important;
        padding: 17px 28px !important;
        gap: 18px !important;
        border-radius: 13px !important;
    }

    body.home .et-hero-register-icon {
        width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
        font-size: 25px !important;
    }

    body.home .et-hero-register-copy strong {
        font-size: 17px !important;
        line-height: 1.2 !important;
    }

    body.home .et-hero-register-copy small {
        margin-top: 3px !important;
        font-size:14px !important;
        line-height: 1.42 !important;
    }

    body.home .et-hero-register-button {
        min-width: 245px !important;
        height: 50px !important;
        min-height: 50px !important;
        padding: 0 22px !important;
        font-size: 14px !important;
    }

    /* Oscurecimiento más cercano al boceto de referencia */
    body.home .et-hero-search-layout .et-hero-media-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(2, 29, 64, .82) 0%,
                rgba(2, 34, 73, .76) 46%,
                rgba(3, 42, 81, .67) 100%
            ) !important;
    }

    body.home .et-hero-search-layout .et-hero-media-image {
        background-position: center center !important;
    }

    body.home .et-hero-search-layout .et-hero-media-video {
        object-position: center center !important;
    }
}

/* Desktop ancho: replica mejor el margen izquierdo de ~128px del boceto 1536px */
@media (min-width: 1400px) {
    body.home .et-hero-search-layout > .container.et-hero-inner {
        max-width: 1280px !important;
    }
}

/* Laptop */
@media (min-width: 992px) and (max-width: 1399.98px) {
    body.home .et-hero-search-layout > .container.et-hero-inner {
        width: calc(100% - 64px) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.home .et-hero-search-layout .et-hero-search {
        max-width: 920px !important;
    }

    body.home .et-hero-register-card {
        max-width: 1000px !important;
    }
}


/* HERO — centrado solicitado */
body.home .et-hero-search-layout .et-hero-copy {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

body.home .et-hero-search-layout .et-hero-title {
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: center !important;
    text-align: center !important;
}

body.home .et-hero-search-layout .et-hero-title-white,
body.home .et-hero-search-layout .et-hero-title-green {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

body.home .et-hero-search-layout .et-hero-subtitle {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

body.home .et-hero-search-layout .et-hero-search {
    margin-left: auto !important;
    margin-right: auto !important;
}

body.home .et-hero-register-card {
    margin-left: auto !important;
    margin-right: auto !important;
}

body.home .et-hero-register-copy {
    text-align: center !important;
}

@media (max-width: 767.98px) {
    body.home .et-hero-search-layout .et-hero-copy,
    body.home .et-hero-search-layout .et-hero-title,
    body.home .et-hero-search-layout .et-hero-subtitle,
    body.home .et-hero-register-copy {
        text-align: center !important;
    }
}


/* Hero search: solo texto + botón */
body.home .et-hero-search-layout .et-hs-row {
    grid-template-columns: minmax(0, 1fr) 150px !important;
}

@media (min-width: 992px) {
    body.home .et-hero-search-layout .et-hs-row {
        grid-template-columns: minmax(0, 1fr) 150px !important;
    }
}

@media (max-width: 767.98px) {
    body.home .et-hero-search-layout .et-hs-row {
        grid-template-columns: 1fr !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   HERO SEARCH — SOLO TEXTO + BOTÓN
══════════════════════════════════════════════════════════════ */

body.home .et-hero-search-layout .et-hero-search {
    width: 100% !important;
    max-width: 1025px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.home .et-hero-search-layout .et-hs-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 160px !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 76px !important;
    padding: 9px !important;
    align-items: center !important;
    border-radius: 15px !important;
    background: rgba(255,255,255,.98) !important;
}

body.home .et-hero-search-layout .et-hs-field--main {
    min-width: 0 !important;
    width: 100% !important;
}

body.home .et-hero-search-layout .et-hs-btn {
    width: 160px !important;
    min-width: 160px !important;
    height: 58px !important;
    min-height: 58px !important;
}

/* El autocomplete se limita al ancho del campo de texto, no invade el botón */
body.home .et-hero-search-layout .et-hs-field--main {
    position: relative !important;
}

body.home .et-hero-search-layout .et-hs-field--main .et-hs-dropdown {
    position: absolute !important;
    left: -9px !important;
    right: -9px !important;
    top: calc(100% + 9px) !important;
    width: auto !important;
    max-width: none !important;
    z-index: 100 !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 16px 32px rgba(15,35,55,.16) !important;
}

/* Evita cualquier rastro visual del campo eliminado */
body.home .et-hs-field--loc,
body.home #hs-loc-input,
body.home #hs-loc-list,
body.home #hs-loc-clear {
    display: none !important;
}

@media (max-width: 767.98px) {
    body.home .et-hero-search-layout .et-hs-row {
        grid-template-columns: 1fr !important;
    }

    body.home .et-hero-search-layout .et-hs-btn {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.home .et-hero-search-layout .et-hs-field--main .et-hs-dropdown {
        left: 0 !important;
        right: 0 !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   BANNERS HORIZONTALES HOME
   Soporta creativos 728x90 / 980x90 y versión móvil.
   No estira imágenes pequeñas.
══════════════════════════════════════════════════════════════ */

body.home .et-home-horizontal-ad {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 18px 15px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: visible !important;
    background: #fff;
    border: 0 !important;
}

body.home .et-home-horizontal-ad .et-banner-rotator {
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    text-align: center;
}

body.home .et-home-horizontal-ad .et-banner-slide {
    width: 100%;
    text-align: center;
}

body.home .et-home-horizontal-ad .et-banner-slide > a,
body.home .et-home-horizontal-ad > a,
body.home .et-home-horizontal-ad picture {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    line-height: 0;
    border-radius: 0 !important;
    overflow: visible !important;
}

body.home .et-home-horizontal-ad img,
body.home .et-home-horizontal-ad picture img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 90px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}

/* Primer banner inmediatamente después del hero */
body.home .et-home-horizontal-ad-1 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

/* Si no hay publicidad activa, no deja espacio vacío */
body.home .et-home-horizontal-ad:has(.et-banner-placeholder.d-none) {
    display: none !important;
    padding: 0 !important;
}

/* Tablet */
@media (max-width: 991.98px) {
    body.home .et-home-horizontal-ad {
        padding: 14px 18px !important;
    }

    body.home .et-home-horizontal-ad .et-banner-rotator {
        max-width: 100% !important;
    }

    body.home .et-home-horizontal-ad img,
    body.home .et-home-horizontal-ad picture img {
        max-width: 100% !important;
        max-height: 90px !important;
    }
}

/* Móvil: usa ad_imagen_movil mediante <picture>; si no existe, escala desktop */
@media (max-width: 767.98px) {
    body.home .et-home-horizontal-ad {
        padding: 10px 12px !important;
        min-height: 0 !important;
    }

    body.home .et-home-horizontal-ad .et-banner-rotator,
    body.home .et-home-horizontal-ad .et-banner-slide,
    body.home .et-home-horizontal-ad .et-banner-slide > a,
    body.home .et-home-horizontal-ad > a,
    body.home .et-home-horizontal-ad picture {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.home .et-home-horizontal-ad img,
    body.home .et-home-horizontal-ad picture img {
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   AJUSTES SOLICITADOS — HERO + EMPRESAS DESTACADAS
══════════════════════════════════════════════════════════════ */

@media (min-width: 992px) {
    body.home .et-hero-register-copy small {
        font-size: 14px !important;
        text-align: left !important;
    }

    body.home .et-hero-register-copy strong {
        font-size: 22px !important;
        text-align: left !important;
    }

    body.home .et-hero-search-layout .et-hs-input::placeholder,
    body.home .et-hero-search-layout .et-hs-input,
    body.home .et-hero-search-layout .et-hs-btn {
        font-size: 18px !important;
    }

    /* Columna publicitaria de 300 px exactos */
    body.home .et-featured-layout {
        grid-template-columns: minmax(0, 1fr) 300px !important;
        gap: 24px !important;
    }

    body.home .et-featured-ad-rail {
        width: 300px !important;
        max-width: 300px !important;
        min-width: 300px !important;
    }

    body.home .et-featured-side-ad,
    body.home .et-featured-side-ad .et-banner-rotator,
    body.home .et-featured-side-ad .et-banner-slide,
    body.home .et-featured-side-ad a,
    body.home .et-featured-side-ad picture {
        width: 300px !important;
        max-width: 300px !important;
    }

    body.home .et-featured-side-ad img,
    body.home .et-featured-side-ad picture img {
        width: 300px !important;
        max-width: 300px !important;
        height: auto !important;
        display: block !important;
        object-fit: contain !important;
    }

    /* En Empresas Destacadas ningún texto baja de 14 px */
    body.home .et-home-featured .et-home-eyebrow,
    body.home .et-home-featured .et-home-head-link,
    body.home .et-home-featured .et-featured-company-title,
    body.home .et-home-featured .et-featured-company-title a,
    body.home .et-home-featured .et-featured-company-cat,
    body.home .et-home-featured .et-featured-company-meta,
    body.home .et-home-featured .et-featured-company-meta span,
    body.home .et-home-featured .et-featured-company-go {
        font-size: 14px !important;
    }

    body.home .et-home-featured .et-featured-company-title {
        font-size: 16px !important;
    }

    body.home .et-home-featured .et-featured-company-cat {
        font-size: 14px !important;
    }

    body.home .et-home-featured .et-featured-company-meta,
    body.home .et-home-featured .et-featured-company-go {
        font-size: 14px !important;
    }

    body.home .et-home-featured .et-featured-company-card {
        min-height: 94px !important;
        padding: 13px 14px !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   AJUSTES HOME — EMPRESAS DESTACADAS / CTA / CATEGORÍAS
══════════════════════════════════════════════════════════════ */

body.home .et-home-horizontal-ad-1{
	background:#eee;
}

@media (min-width: 992px) {
	body.home .et-home-featured .et-home-eyebrow{
		font-size:16px!important;
	}
	body.home .et-home-section-head h2{
		font-size:33px;
	}
	body.home .et-home-growth-main small{
		font-size:14px!important;
	}
	body.home .et-home-growth-main strong{
		font-size:22px!important;
	}
    body.home .et-hero-register-icon {
        width: 48px !important;
        height: 80px !important;
        flex-basis: 80px !important;
        font-size: 50px !important;
    }
	body.home .et-home-register-icon,
    body.home .et-home-growth-icon{
		width:80px;
		height:80px;
		font-size:50px;
		flex:0 0 80px;
	}
	body.home .et-home-growth-benefits b{
		font-size:14px;
		text-transform:uppercase;
	}
	body.home .et-home-register-button{
		font-size:14px;
	}
	body.home .et-home-category-copy strong{
		font-size:16px;
	}
	body.home .et-directory-intro-card p{
		font-size:14px;
	}

    /* Empresas destacadas: tarjetas más altas, logo mayor y más separación */
    body.home .et-featured-companies-grid{
        gap: 18px 18px !important;
    }

    body.home .et-featured-company-card{
        min-height: 128px !important;
        padding: 18px 18px !important;
        gap: 16px !important;
        align-items: flex-start !important;
        position: relative !important;
    }

    body.home .et-featured-company-logo{
        width: 78px !important;
        height: 78px !important;
        flex: 0 0 78px !important;
        border-radius: 10px !important;
        margin-top: 2px !important;
    }

    body.home .et-featured-company-logo img{
        width: 92% !important;
        height: 92% !important;
        max-width: 92% !important;
        max-height: 92% !important;
        object-fit: contain !important;
    }

    body.home .et-featured-company-info{
        padding-right: 4px !important;
        padding-bottom: 28px !important;
    }

    body.home .et-featured-company-title{
        font-size: 17px !important;
        line-height: 1.25 !important;
        margin-bottom: 3px !important;
    }

    body.home .et-featured-company-cat{
        font-size: 14px !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        margin-top: 2px !important;
    }

    body.home .et-featured-company-meta{
        font-size: 14px !important;
        line-height: 1.35 !important;
        margin-top: 8px !important;
        gap: 8px 12px !important;
    }

    /* Botón abajo, no al centro lateral */
    body.home .et-featured-company-go{
        position: absolute !important;
        right: 16px !important;
        bottom: 14px !important;
        margin: 0 !important;
        font-size: 14px !important;
        align-self: auto !important;
    }

    /* Columna de anuncios pegajosa al hacer scroll */
    body.home .et-featured-ad-rail{
        position: sticky !important;
        top: 20px !important;
        align-self: start !important;
        z-index: 3 !important;
        gap: 16px !important;
    }

    body.admin-bar.home .et-featured-ad-rail{
        top: 52px !important;
    }
}

@media (min-width: 1200px) {
    body.home .et-featured-company-card{
        min-height: 136px !important;
    }

    body.home .et-featured-company-logo{
        width: 84px !important;
        height: 84px !important;
        flex-basis: 84px !important;
    }
}

@media (max-width: 991.98px) {
    body.home .et-featured-company-card{
        min-height: 112px !important;
        padding: 16px !important;
        gap: 14px !important;
        position: relative !important;
    }

    body.home .et-featured-company-logo{
        width: 70px !important;
        height: 70px !important;
        flex: 0 0 70px !important;
    }

    body.home .et-featured-company-info{
        padding-bottom: 30px !important;
    }

    body.home .et-featured-company-go{
        position: absolute !important;
        right: 14px !important;
        bottom: 12px !important;
        margin: 0 !important;
    }

    body.home .et-featured-ad-rail{
        position: static !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   AUTOCOMPLETE HERO — EVITAR RECORTE / SOLAPAMIENTO
══════════════════════════════════════════════════════════════ */

/* El hero debe permitir que el dropdown salga de sus límites */
body.home .et-hero.et-hero-search-layout {
    overflow: visible !important;
    z-index: 20 !important;
}

/* Mantiene el fondo/video recortado sin recortar el autocomplete */
body.home .et-hero-search-layout .et-hero-media-video,
body.home .et-hero-search-layout .et-hero-media-image,
body.home .et-hero-search-layout .et-hero-media-overlay {
    overflow: hidden !important;
}

/* El contenido del hero debe quedar por encima de las secciones siguientes */
body.home .et-hero-search-layout .et-hero-inner,
body.home .et-hero-search-layout .et-hero-copy,
body.home .et-hero-search-layout .et-hero-search,
body.home .et-hero-search-layout .et-hs-row,
body.home .et-hero-search-layout .et-hs-field--main {
    position: relative !important;
    overflow: visible !important;
}

body.home .et-hero-search-layout .et-hero-inner {
    z-index: 30 !important;
}

body.home .et-hero-search-layout .et-hero-search {
    z-index: 100 !important;
}

body.home .et-hero-search-layout .et-hs-row {
    z-index: 110 !important;
}

body.home .et-hero-search-layout .et-hs-field--main {
    z-index: 120 !important;
}

/* Dropdown completo sobre banners / CTA / destacados */
body.home .et-hero-search-layout .et-hs-dropdown {
    position: absolute !important;
    left: -9px !important;
    right: -9px !important;
    top: calc(100% + 9px) !important;
    width: auto !important;
    max-width: none !important;
    max-height: 430px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 99999 !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    background: #fff !important;
    border: 1px solid #e1e7ec !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 22px 50px rgba(9, 36, 70, .22) !important;
}

/* Evita que el banner inmediatamente inferior quede por encima */
body.home .et-home-horizontal-ad-1,
body.home .et-home-horizontal-ad,
body.home .et-home-featured,
body.home .et-home-growth-cta {
    position: relative;
    z-index: 1 !important;
}

/* El CTA verde dentro del hero queda por debajo del autocomplete */
body.home .et-hero-register-card {
    position: relative !important;
    z-index: 5 !important;
}

/* Mejor lectura de las sugerencias */
body.home .et-hs-dropdown .et-hs-group-label {
    position: sticky;
    top: -10px;
    z-index: 2;
    background: #fff;
    padding-top: 12px !important;
}

body.home .et-hs-dropdown .et-hs-item {
    min-height: 56px !important;
}

body.home .et-hs-dropdown .et-hs-item-name {
    line-height: 1.3 !important;
}

body.home .et-hs-dropdown .et-hs-see-all {
    position: relative;
    z-index: 1;
    background: #fff;
}

/* El hero necesita espacio visual cuando el dropdown está abierto,
   pero sin alterar su tamaño normal */
body.home .et-hs-dropdown[hidden] {
    display: none !important;
}

@media (max-width: 767.98px) {
    body.home .et-hero-search-layout .et-hs-dropdown {
        left: 0 !important;
        right: 0 !important;
        top: calc(100% + 8px) !important;
        max-height: 55vh !important;
        border-radius: 10px !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   HOME — LEGIBILIDAD, PRODUCTOS, NOTICIAS, POR QUÉ REGISTRARSE
══════════════════════════════════════════════════════════════ */

/* En escritorio, ningún texto funcional del home baja de 14px */
@media (min-width: 992px) {
    body.home .et-home-featured,
    body.home .et-home-products,
    body.home .et-home-growth-cta,
    body.home .et-home-news,
    body.home .et-home-directory,
    body.home .et-home-why-register {
        font-size: 14px;
    }

    body.home .et-home-eyebrow,
    body.home .et-home-head-link,
    body.home .et-featured-company-cat,
    body.home .et-featured-company-meta,
    body.home .et-featured-company-go,
    body.home .et-home-product-body p,
    body.home .et-home-product-more,
    body.home .et-home-news-body time,
    body.home .et-home-news-more,
    body.home .et-home-category-copy small,
    body.home .et-home-why-item strong,
    body.home .et-home-why-item small,
    body.home .et-home-growth-benefits b {
        font-size: 14px !important;
    }

    body.home .et-featured-company-title,
    body.home .et-home-product-body h3,
    body.home .et-home-news-body h3,
    body.home .et-home-category-copy strong {
        font-size: 16px !important;
    }
}

/* Productos */
body.home .et-home-products {
    padding: 30px 0;
    background: #fff;
}

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

body.home .et-home-product-card {
    overflow: hidden;
    border: 1px solid #e3e9ed;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15,35,55,.055);
}

body.home .et-home-product-thumb {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f3f6f7;
}

body.home .et-home-product-thumb img,
body.home .et-home-product-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.home .et-home-product-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0a8d4b;
    font-size: 42px;
}

body.home .et-home-product-body {
    padding: 14px 14px 16px;
}

body.home .et-home-product-body h3 {
    margin: 0 0 8px;
    line-height: 1.3;
    font-weight: 800;
}

body.home .et-home-product-body h3 a {
    color: #0a2d57;
    text-decoration: none;
}

body.home .et-home-product-body p {
    margin: 0 0 12px;
    color: #6f7d86;
    line-height: 1.35;
}

body.home .et-home-product-more {
    color: #0878c9;
    font-weight: 800;
    text-decoration: none;
}

/* Noticias y tips: más aire y mejor proporción */
body.home .et-home-news {
    padding: 34px 0 !important;
}

body.home .et-home-news-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

body.home .et-home-news-card {
    display: grid;
    grid-template-columns: 42% minmax(0, 1fr);
    min-height: 180px;
    border-radius: 12px !important;
}

body.home .et-home-news-thumb {
    aspect-ratio: auto !important;
    height: 100%;
    min-height: 180px;
}

body.home .et-home-news-body {
    display: flex;
    flex-direction: column;
    padding: 16px !important;
}

body.home .et-home-news-body h3 {
    margin: 4px 0 12px !important;
    line-height: 1.35 !important;
    flex: 1;
}

body.home .et-home-news-more {
    margin-top: auto;
}

/* Por qué registrarse: más grande y legible */
body.home .et-home-why-register {
    padding: 42px 0 38px !important;
}

body.home .et-home-why-heading {
    margin-bottom: 22px !important;
}

body.home .et-home-why-heading h2 {
    font-size: 34px !important;
}

body.home .et-home-why-heading .et-home-eyebrow {
    font-size: 15px !important;
}

body.home .et-home-why-grid {
    gap: 28px !important;
    padding-top: 22px !important;
}

body.home .et-home-why-item {
    gap: 14px !important;
}

body.home .et-home-why-item > span {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    font-size: 20px !important;
}

body.home .et-home-why-item strong {
    font-size: 16px !important;
    line-height: 1.3 !important;
}

body.home .et-home-why-item small {
    margin-top: 6px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

body.home .et-home-why-action {
    margin-top: 26px !important;
}

body.home .et-home-why-action .et-directory-primary-btn {
    min-height: 48px;
    padding: 0 22px;
    font-size: 15px !important;
}

@media (max-width: 1199.98px) {
    body.home .et-home-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.home .et-home-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    body.home .et-home-products-grid,
    body.home .et-home-news-grid,
    body.home .et-home-why-grid {
        grid-template-columns: 1fr !important;
    }

    body.home .et-home-news-card {
        grid-template-columns: 1fr;
    }

    body.home .et-home-news-thumb {
        min-height: 220px;
    }

    body.home .et-home-why-heading h2 {
        font-size: 28px !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   DIRECTORIO Y CATEGORÍAS — MÁS AIRE Y LEGIBILIDAD
══════════════════════════════════════════════════════════════ */

body.home .et-home-directory {
    padding: 52px 0 58px !important;
}

body.home .et-home-directory .et-home-section-head {
    margin-bottom: 28px !important;
}

body.home .et-home-directory .et-home-section-head h2 {
    font-size: 38px !important;
    line-height: 1.1 !important;
}

body.home .et-home-directory .et-home-head-link {
    font-size: 15px !important;
}

body.home .et-home-directory-layout {
    grid-template-columns: 330px minmax(0, 1fr) !important;
    gap: 34px !important;
}

body.home .et-directory-intro-card {
    min-height: 330px !important;
    padding: 34px 30px !important;
    border-radius: 16px !important;
}

body.home .et-directory-intro-card .et-home-eyebrow {
    font-size: 15px !important;
    letter-spacing: 1.3px !important;
    margin-bottom: 10px !important;
}

body.home .et-directory-intro-card h3 {
    max-width: 270px !important;
    font-size: 28px !important;
    line-height: 1.08 !important;
    margin: 0 0 18px !important;
}

body.home .et-directory-intro-card p {
    max-width: 270px !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    margin-bottom: 24px !important;
}

body.home .et-directory-intro-card .et-directory-primary-btn {
    min-height: 50px !important;
    padding: 0 22px !important;
    font-size: 15px !important;
}

body.home .et-directory-boxes {
    right: 18px !important;
    bottom: 18px !important;
    font-size: 92px !important;
}

body.home .et-home-categories-grid {
    gap: 16px !important;
}

body.home .et-home-category-card {
    min-height: 96px !important;
    padding: 18px 20px !important;
    gap: 16px !important;
    border-radius: 12px !important;
}

body.home .et-home-category-icon {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    border-radius: 10px !important;
    font-size: 22px !important;
}

body.home .et-home-category-copy strong {
    font-size: 18px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

body.home .et-home-category-copy small {
    margin-top: 6px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

@media (max-width: 1199.98px) {
    body.home .et-home-directory-layout {
        grid-template-columns: 290px minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    body.home .et-home-category-card {
        min-height: 88px !important;
    }

    body.home .et-home-category-copy strong {
        font-size: 16px !important;
    }
}

@media (max-width: 991.98px) {
    body.home .et-home-directory {
        padding: 42px 0 !important;
    }

    body.home .et-home-directory-layout {
        grid-template-columns: 1fr !important;
    }

    body.home .et-directory-intro-card {
        min-height: 260px !important;
    }

    body.home .et-home-categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 575.98px) {
    body.home .et-home-directory .et-home-section-head {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body.home .et-home-directory .et-home-section-head h2 {
        font-size: 30px !important;
    }

    body.home .et-home-categories-grid {
        grid-template-columns: 1fr !important;
    }

    body.home .et-home-category-card {
        min-height: 88px !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   POR QUÉ REGISTRARSE — REDISEÑO VISUAL
══════════════════════════════════════════════════════════════ */

body.home .et-home-why-register{
    position:relative;
    overflow:hidden;
    padding:64px 0 62px !important;
    background:
        radial-gradient(circle at 8% 100%, rgba(14,156,82,.12), transparent 25%),
        radial-gradient(circle at 92% 0%, rgba(12,48,92,.08), transparent 28%),
        linear-gradient(180deg,#f8fcfa 0%,#fff 100%) !important;
    border-top:1px solid #e4eee8;
}

body.home .et-home-why-register:before,
body.home .et-home-why-register:after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
}

body.home .et-home-why-register:before{
    width:260px;
    height:260px;
    left:-130px;
    bottom:-150px;
    border:38px solid rgba(12,151,77,.055);
}

body.home .et-home-why-register:after{
    width:190px;
    height:190px;
    right:-95px;
    top:-105px;
    border:30px solid rgba(12,48,92,.04);
}

body.home .et-home-why-heading{
    position:relative;
    z-index:1;
    max-width:760px;
    margin:0 auto 34px !important;
    text-align:center;
}

body.home .et-home-why-heading .et-home-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px !important;
    font-size:15px !important;
    font-weight:900;
    letter-spacing:1.7px;
}

body.home .et-home-why-heading h2{
    margin:0 !important;
    font-size:40px !important;
    line-height:1.08 !important;
    letter-spacing:-.8px;
}

body.home .et-home-why-grid{
    position:relative;
    z-index:1;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:18px !important;
    padding:0 !important;
}

body.home .et-home-why-item{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    min-height:245px;
    padding:26px 24px !important;
    gap:16px !important;
    background:#fff;
    border:1px solid #dfeae4;
    border-radius:18px;
    box-shadow:0 12px 32px rgba(18,50,70,.07);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.home .et-home-why-item:hover{
    transform:translateY(-5px);
    border-color:#b9dfca;
    box-shadow:0 18px 42px rgba(18,50,70,.12);
}

body.home .et-home-why-item > span{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:64px !important;
    height:64px !important;
    flex:0 0 64px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:16px !important;
    background:linear-gradient(145deg,#eaf9f0,#f7fcf9) !important;
    box-shadow:inset 0 0 0 1px #ccebd9;
    color:#07934d !important;
    font-size:27px !important;
}

body.home .et-home-why-item > div{
    width:100%;
}

body.home .et-home-why-item strong{
    display:block;
    min-height:48px;
    margin-bottom:9px;
    color:#0b315d;
    font-size:19px !important;
    line-height:1.25 !important;
    font-weight:900;
}

body.home .et-home-why-item small{
    display:block;
    margin:0 !important;
    color:#697985;
    font-size:15px !important;
    line-height:1.55 !important;
}

body.home .et-home-why-action{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:center;
    margin-top:32px !important;
}

body.home .et-home-why-action .et-directory-primary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:56px !important;
    padding:0 30px !important;
    border-radius:12px !important;
    font-size:16px !important;
    font-weight:900;
    box-shadow:0 12px 26px rgba(0,142,70,.18);
    transition:transform .2s ease, box-shadow .2s ease;
}

body.home .et-home-why-action .et-directory-primary-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 30px rgba(0,142,70,.24);
}

@media (max-width:1199.98px){
    body.home .et-home-why-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    body.home .et-home-why-item{
        min-height:210px;
    }
}

@media (max-width:767.98px){
    body.home .et-home-why-register{
        padding:46px 0 !important;
    }
    body.home .et-home-why-heading h2{
        font-size:31px !important;
    }
    body.home .et-home-why-grid{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }
    body.home .et-home-why-item{
        min-height:0;
        padding:22px !important;
    }
    body.home .et-home-why-item strong{
        min-height:0;
        font-size:18px !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   MÓVIL — TIPOGRAFÍA MÍNIMA, CARRUSEL EMPRESAS Y 1 BANNER
══════════════════════════════════════════════════════════════ */

@media (max-width: 767.98px) {

    /* Ningún texto relevante del home menor de 14px */
    body.home .et-home-eyebrow,
    body.home .et-home-head-link,
    body.home .et-featured-company-title,
    body.home .et-featured-company-title a,
    body.home .et-featured-company-cat,
    body.home .et-featured-company-meta,
    body.home .et-featured-company-meta span,
    body.home .et-featured-company-go,
    body.home .et-home-product-body h3,
    body.home .et-home-product-body p,
    body.home .et-home-product-more,
    body.home .et-home-news-body time,
    body.home .et-home-news-body h3,
    body.home .et-home-news-more,
    body.home .et-home-category-copy strong,
    body.home .et-home-category-copy small,
    body.home .et-home-why-item strong,
    body.home .et-home-why-item small,
    body.home .et-home-growth-main small,
    body.home .et-home-growth-benefits b,
    body.home .et-home-register-copy small,
    body.home .et-home-register-copy strong,
    body.home .et-directory-intro-card p,
    body.home .et-directory-primary-btn {
        font-size: 14px !important;
    }

    body.home .et-featured-company-title,
    body.home .et-home-product-body h3,
    body.home .et-home-news-body h3,
    body.home .et-home-category-copy strong,
    body.home .et-home-why-item strong {
        font-size: 16px !important;
    }

    /* Empresas destacadas: carrusel horizontal */
    body.home .et-featured-layout {
        display: block !important;
    }

    body.home .et-featured-companies-grid {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 14px !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 2px 18px 16px 0 !important;
        margin-right: -15px !important;
    }

    body.home .et-featured-companies-grid::-webkit-scrollbar {
        display: none;
    }

    body.home .et-featured-company-card {
        flex: 0 0 84% !important;
        min-width: 84% !important;
        min-height: 158px !important;
        scroll-snap-align: start;
        padding: 18px !important;
        border-radius: 14px !important;
    }

    body.home .et-featured-company-logo {
        width: 78px !important;
        height: 78px !important;
        flex: 0 0 78px !important;
    }

    body.home .et-featured-company-info {
        padding-bottom: 36px !important;
    }

    body.home .et-featured-company-go {
        position: absolute !important;
        right: 16px !important;
        bottom: 14px !important;
        margin: 0 !important;
    }

    /* Solo un banner lateral en móvil */
    body.home .et-featured-ad-rail {
        display: block !important;
        width: 100% !important;
        max-width: 300px !important;
        margin: 8px auto 0 !important;
        position: static !important;
    }

    body.home .et-featured-side-ad {
        width: 100% !important;
        max-width: 300px !important;
        margin: 0 auto !important;
    }

    body.home .et-featured-side-ad--second {
        display: none !important;
    }

    /* Productos: carrusel horizontal cómodo en móvil */
    body.home .et-home-products-grid {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 14px !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 14px !important;
    }

    body.home .et-home-products-grid::-webkit-scrollbar {
        display: none;
    }

    body.home .et-home-product-card {
        flex: 0 0 80% !important;
        min-width: 80% !important;
        scroll-snap-align: start;
    }

    body.home .et-home-product-body {
        padding: 16px !important;
    }

    /* Noticias: conservar legibilidad */
    body.home .et-home-news-body {
        padding: 16px !important;
    }

    /* Directorio y por qué registrarse: más aire */
    body.home .et-home-category-card {
        min-height: 92px !important;
        padding: 16px !important;
    }

    body.home .et-home-why-item {
        padding: 22px !important;
    }

    body.home .et-home-why-item small {
        line-height: 1.55 !important;
    }
}

@media (max-width: 420px) {
    body.home .et-featured-company-card {
        flex-basis: 90% !important;
        min-width: 90% !important;
    }

    body.home .et-home-product-card {
        flex-basis: 86% !important;
        min-width: 86% !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   PRODUCTOS HOME — TARJETAS DE 250PX
══════════════════════════════════════════════════════════════ */

body.home .et-home-products-carousel {
    width: 100%;
    overflow: hidden;
}

body.home .et-home-products-track {
    display: flex !important;
    width: max-content !important;
    gap: 16px !important;
    animation: et-products-marquee-250 145s linear infinite !important;
    will-change: transform;
}

body.home .et-home-products-carousel:hover .et-home-products-track {
    animation-play-state: paused !important;
}

body.home .et-home-product-card {
    flex: 0 0 250px !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
}

body.home .et-home-product-thumb {
    display: block !important;
    width: 250px !important;
    height: 188px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
}

body.home .et-home-product-thumb img,
body.home .et-home-product-placeholder {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.home .et-home-product-body {
    padding: 14px 15px 16px !important;
}

body.home .et-home-product-body h3 {
    font-size: 16px !important;
    line-height: 1.3 !important;
    margin: 0 0 8px !important;
}

body.home .et-home-product-body p,
body.home .et-home-product-more {
    font-size: 14px !important;
}

@keyframes et-products-marquee-250 {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-50% - 8px));
    }
}

@media (max-width: 767.98px) {
    body.home .et-home-products-carousel {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    body.home .et-home-products-carousel::-webkit-scrollbar {
        display: none;
    }

    body.home .et-home-products-track {
        gap: 14px !important;
        animation-duration: 165s !important;
    }

    body.home .et-home-product-card {
        flex: 0 0 250px !important;
        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;
    }

    body.home .et-home-product-thumb {
        width: 250px !important;
        height: 188px !important;
    }
}


/* PRODUCTOS HOME — MÁS ESPACIO ENTRE TÍTULO Y TARJETAS */
body.home .et-home-products .et-home-section-head {
    margin-bottom: 38px !important;
}

body.home .et-home-products-carousel {
    padding-top: 4px !important;
    padding-bottom: 18px !important;
}

body.home .et-home-products-track {
    gap: 28px !important;
}

@media (max-width: 767.98px) {
    body.home .et-home-products .et-home-section-head {
        margin-bottom: 28px !important;
    }

    body.home .et-home-products-track {
        gap: 20px !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   CTA REGISTRO — DENTRO DEL HERO EN DESKTOP / FUERA EN MÓVIL
══════════════════════════════════════════════════════════════ */

/* La sección externa no existe visualmente en desktop/tablet */
body.home .et-home-register-section--mobile {
    display: none !important;
}

/* Mantener el CTA original dentro del hero en desktop/tablet */
body.home .et-hero-register-card {
    display: flex !important;
}

@media (max-width: 767.98px) {

    /* En móvil se quita el CTA del hero */
    body.home .et-hero-register-card {
        display: none !important;
    }

    /* Y aparece como sección independiente después del banner */
    body.home .et-home-register-section--mobile {
        display: block !important;
        padding: 14px 0 26px !important;
        background: #fff;
    }

    body.home .et-home-register-section--mobile .et-home-register-card {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        gap: 14px;
        width: 100%;
        margin: 0 auto;
        padding: 18px;
        border-radius: 14px;
        background: linear-gradient(90deg, #008d4b 0%, #007b40 100%);
        box-shadow: 0 12px 26px rgba(0,121,64,.16);
        color: #fff;
        text-decoration: none;
    }

    body.home .et-home-register-section--mobile .et-home-register-icon {
        width: 62px !important;
        height: 62px !important;
        flex: 0 0 62px !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 12px;
        background: rgba(255,255,255,.12);
        color: #fff;
        font-size: 34px !important;
    }

    body.home .et-home-register-section--mobile .et-home-register-copy {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 5px;
        text-align: left !important;
    }

    body.home .et-home-register-section--mobile .et-home-register-copy strong {
        color: #fff;
        font-size: 20px !important;
        line-height: 1.2;
        font-weight: 900;
        text-align: left !important;
    }

    body.home .et-home-register-section--mobile .et-home-register-copy small {
        color: rgba(255,255,255,.9);
        font-size: 14px !important;
        line-height: 1.5;
        text-align: left !important;
    }

    body.home .et-home-register-section--mobile .et-home-register-button {
        width: 100%;
        min-height: 50px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        padding: 0 18px;
        border-radius: 9px;
        background: #fff;
        color: #08743f;
        font-size: 14px !important;
        font-weight: 900;
    }
}


/* ══════════════════════════════════════════════════════════════
   HOME — ESPACIADO HOMOGÉNEO ENTRE COLUMNAS
   Referencia visual: Productos Destacados
══════════════════════════════════════════════════════════════ */

body.home {
    --et-home-column-gap: 28px;
}

body.home .et-home-products-track,
body.home .et-featured-companies-grid,
body.home .et-home-news-grid,
body.home .et-home-categories-grid,
body.home .et-home-why-grid,
body.home .et-home-directory-layout,
body.home .et-home-growth-benefits {
    gap: var(--et-home-column-gap) !important;
    column-gap: var(--et-home-column-gap) !important;
}

body.home .et-featured-layout {
    column-gap: var(--et-home-column-gap) !important;
}

@media (min-width: 768px) {
    body.home .et-home-news-grid,
    body.home .et-home-categories-grid,
    body.home .et-home-why-grid,
    body.home .et-featured-companies-grid {
        row-gap: 28px !important;
    }
}

@media (max-width: 767.98px) {
    body.home {
        --et-home-column-gap: 24px;
    }

    body.home .et-home-products-track,
    body.home .et-featured-companies-grid,
    body.home .et-home-news-grid,
    body.home .et-home-categories-grid,
    body.home .et-home-why-grid,
    body.home .et-home-directory-layout,
    body.home .et-home-growth-benefits {
        gap: var(--et-home-column-gap) !important;
        column-gap: var(--et-home-column-gap) !important;
        row-gap: var(--et-home-column-gap) !important;
    }
}


/* Hero Home: video configurado tiene prioridad absoluta.
   Las imágenes destacadas de posts/empresas nunca participan del fondo. */
body.home .et-hero{
    position:relative;
    overflow:hidden;
}
body.home .et-hero-media-video,
body.home .et-hero-media-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
body.home .et-hero-media-video{
    z-index:0;
    object-fit:cover;
}
body.home .et-hero-media-image{
    z-index:0;
    background-image:var(--et-hero-bg-image);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}
body.home .et-hero-media-overlay{
    z-index:1;
}
body.home .et-hero-inner{
    position:relative;
    z-index:2;
}


/* HOME PREDICTOR — visibility reinforcement */
body.home .et-hero,
body.home .et-hero-inner,
body.home .et-hero-search-layout,
body.home .et-hs-wrap{
    overflow:visible !important;
}
body.home .et-hs-wrap{
    position:relative;
}
body.home #hs-main-list{
    z-index:99999 !important;
}
