.hcls-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:44px;align-items:center;border-radius:24px;overflow:hidden;padding:70px 60px}.hcls-eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}.hcls-title{font-size:clamp(38px,5vw,66px);line-height:1.02;letter-spacing:-.035em;margin:0 0 22px;font-weight:800}.hcls-description{font-size:19px;line-height:1.6;color:#536274;max-width:720px;margin:0 0 24px}.hcls-features{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:30px;font-weight:600;color:#26394e}.hcls-check{margin-right:5px}.hcls-actions{display:flex;gap:12px;flex-wrap:wrap}.hcls-btn{display:inline-flex;padding:14px 22px;border:1px solid #d8e0e7;border-radius:9px;text-decoration:none!important;font-weight:700}.hcls-primary{color:#fff!important}.hcls-secondary{background:#fff;color:#12243a!important}.hcls-media img{width:100%;height:auto;display:block;border-radius:20px}.hcls-placeholder{min-height:340px;border-radius:20px;background:#12243a;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.hcls-placeholder strong{font-size:72px}.hcls-placeholder span{opacity:.75}@media(max-width:767px){.hcls-hero{grid-template-columns:1fr;gap:28px;padding:40px 24px}.hcls-title{font-size:40px}.hcls-description{font-size:17px}.hcls-media{order:-1}.hcls-placeholder{min-height:220px}}
.hcls-services{padding:72px 0}.hcls-services-head{max-width:760px;margin:0 auto 38px;text-align:center}.hcls-services-eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}.hcls-services-title{font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-.025em;margin:0 0 14px;font-weight:800}.hcls-services-description{font-size:17px;line-height:1.65;color:#607083;margin:0}.hcls-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hcls-service-card{border:1px solid #e2e8ee;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(18,36,58,.06);transition:transform .18s ease,box-shadow .18s ease}.hcls-service-card:hover{transform:translateY(-3px);box-shadow:0 12px 34px rgba(18,36,58,.10)}.hcls-service-image{display:block;height:190px;overflow:hidden;background:#f3f6f8}.hcls-service-image img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}.hcls-service-body{padding:24px}.hcls-service-title{font-size:22px;line-height:1.25;margin:0 0 12px}.hcls-service-title a{color:inherit;text-decoration:none!important}.hcls-service-excerpt{color:#607083;line-height:1.6;margin:0 0 18px}.hcls-service-price{font-size:18px;font-weight:800;color:#12243a;margin:0 0 16px}.hcls-service-link{font-weight:800;text-decoration:none!important}.hcls-services-empty{padding:22px;border:1px dashed #b8c4cf;border-radius:12px;text-align:center;color:#607083;background:#f8fafb}@media(max-width:1024px){.hcls-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.hcls-services{padding:48px 0}.hcls-services-grid{grid-template-columns:1fr}.hcls-services-head{text-align:left;margin-bottom:28px}}

/* v0.2.4 — uniform cards + anchored footer */
.hcls-services-grid{align-items:stretch}
.hcls-service-card{display:flex;flex-direction:column;height:100%}
.hcls-service-body{display:flex;flex-direction:column;flex:1}
.hcls-service-footer{margin-top:auto;padding-top:18px}
.hcls-service-price{margin:0 0 12px}
.hcls-service-link{display:inline-flex;align-items:center;gap:6px}

/* v0.2.6 — HC Localidades */
.hcls-locations{padding:72px 0}
.hcls-locations-head{max-width:760px;margin:0 auto 36px;text-align:center}
.hcls-locations-eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.hcls-locations-title{font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-.025em;margin:0 0 14px;font-weight:800}
.hcls-locations-description{font-size:17px;line-height:1.65;color:#607083;margin:0}
.hcls-locations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hcls-location-card{position:relative;display:flex;flex-direction:column;min-height:128px;padding:24px;border:1px solid #e2e8ee;border-radius:16px;text-decoration:none!important;box-shadow:0 7px 24px rgba(18,36,58,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.hcls-location-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(18,36,58,.10);border-color:#cfd9e2}
.hcls-location-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.hcls-location-name{font-size:21px;font-weight:800;line-height:1.2}
.hcls-location-arrow{font-size:24px;font-weight:700}
.hcls-location-link{display:block;margin-top:auto;padding-top:22px;font-size:14px;font-weight:700}
.hcls-location-status{display:inline-block;margin-top:8px;color:#8a6670}
.hcls-locations-empty{padding:22px;border:1px dashed #b8c4cf;border-radius:12px;text-align:center;color:#607083;background:#f8fafb}
@media(max-width:1024px){.hcls-locations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.hcls-locations{padding:48px 0}.hcls-locations-head{text-align:left;margin-bottom:28px}.hcls-locations-grid{grid-template-columns:1fr}.hcls-location-card{min-height:110px}}

/* v0.2.9 — HC CTA Local */
.hcls-cta{display:flex;align-items:center;justify-content:space-between;gap:42px;padding:46px 52px;border-radius:22px;overflow:hidden}
.hcls-cta-copy{max-width:760px}
.hcls-cta-eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.hcls-cta-title{font-size:clamp(28px,3.5vw,42px);line-height:1.12;letter-spacing:-.025em;margin:0 0 12px;font-weight:800}
.hcls-cta-description{font-size:17px;line-height:1.6;margin:0;opacity:.82}
.hcls-cta-actions{display:flex;gap:12px;flex-wrap:wrap;flex:0 0 auto}
.hcls-cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:1px solid transparent;border-radius:9px;text-decoration:none!important;font-weight:800;white-space:nowrap}
.hcls-cta-primary{color:#fff!important}
.hcls-cta-secondary{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.35)}
@media(max-width:767px){.hcls-cta{flex-direction:column;align-items:flex-start;gap:26px;padding:34px 24px}.hcls-cta-actions{width:100%}.hcls-cta-btn{width:100%}}

/* v0.3.0 — HC FAQ Local */
.hcls-faq{padding:72px 0}.hcls-faq-head{max-width:760px;margin:0 auto 34px;text-align:center}.hcls-faq-eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}.hcls-faq-title{font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-.025em;margin:0 0 14px;font-weight:800}.hcls-faq-description{font-size:17px;line-height:1.65;color:#607083;margin:0}.hcls-faq-list{max-width:900px;margin:0 auto;display:grid;gap:12px}.hcls-faq-item{border:1px solid #e2e8ee;border-radius:14px;overflow:hidden;box-shadow:0 5px 20px rgba(18,36,58,.04)}.hcls-faq-question{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;font-size:18px;font-weight:800}.hcls-faq-question::-webkit-details-marker{display:none}.hcls-faq-icon{font-size:25px;line-height:1;transition:transform .18s ease}.hcls-faq-item[open] .hcls-faq-icon{transform:rotate(45deg)}.hcls-faq-answer{padding:0 22px 20px;color:#607083;font-size:16px;line-height:1.65}.hcls-faq-answer p:last-child{margin-bottom:0}@media(max-width:767px){.hcls-faq{padding:48px 0}.hcls-faq-head{text-align:left}.hcls-faq-question{padding:18px;font-size:17px}.hcls-faq-answer{padding:0 18px 18px}}

/* v0.3.3 — HC Contenido Local */
.hcls-content-local{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:32px;align-items:start;padding:48px 0}.hcls-content-local.hcls-content-wide{grid-template-columns:1fr}.hcls-content-main{max-width:820px}.hcls-content-wide .hcls-content-main{max-width:940px;margin:0 auto}.hcls-content-eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}.hcls-content-title{font-size:clamp(30px,3.4vw,42px);line-height:1.12;letter-spacing:-.025em;margin:0 0 18px;font-weight:800}.hcls-content-text{font-size:17px;line-height:1.75;color:#536274}.hcls-content-text p{margin:0 0 14px}.hcls-content-text p:last-child{margin-bottom:0}.hcls-content-text a{font-weight:700}.hcls-content-highlight{padding:26px;border-radius:18px}.hcls-content-highlight-title{font-size:22px;line-height:1.25;margin:0 0 20px;font-weight:800}.hcls-content-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}.hcls-content-list li{display:flex;gap:11px;align-items:flex-start;color:#536274;line-height:1.5}.hcls-content-check{font-weight:900;flex:0 0 auto}@media(max-width:767px){.hcls-content-local{grid-template-columns:1fr;gap:24px;padding:36px 0}.hcls-content-highlight{padding:22px}.hcls-content-title{font-size:clamp(28px,9vw,36px)}}

/* v0.3.5 — HC Ventajas */
.hcls-advantages{padding:48px 0}.hcls-advantages-head{text-align:center;max-width:780px;margin:0 auto 30px}.hcls-advantages-eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.hcls-advantages-title{font-size:clamp(28px,3.3vw,40px);line-height:1.13;letter-spacing:-.025em;font-weight:800;margin:0 0 12px}.hcls-advantages-intro{font-size:16px;line-height:1.65;color:#637083;margin:0}.hcls-advantages-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.hcls-advantage-card{border:1px solid #e4eaf0;border-radius:16px;padding:24px;height:100%;box-shadow:0 6px 22px rgba(18,36,58,.045)}.hcls-advantage-icon{font-size:24px;line-height:1;margin-bottom:18px}.hcls-advantage-icon svg{width:1em;height:1em}.hcls-advantage-title{font-size:18px;line-height:1.25;font-weight:800;margin:0 0 10px}.hcls-advantage-text{font-size:14px;line-height:1.65;color:#637083;margin:0}@media(max-width:767px){.hcls-advantages{padding:36px 0}.hcls-advantages-head{margin-bottom:24px;text-align:left}.hcls-advantages-grid{gap:12px}.hcls-advantage-card{padding:21px}}

/* v0.3.10 — HC Artículos */
.hcls-articles{padding:48px 0}.hcls-articles-head{text-align:center;max-width:780px;margin:0 auto 30px}.hcls-articles-eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.hcls-articles-title{font-size:clamp(28px,3.3vw,40px);line-height:1.13;letter-spacing:-.025em;font-weight:800;margin:0 0 12px}.hcls-articles-intro{font-size:16px;line-height:1.65;color:#637083;margin:0}.hcls-articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.hcls-article-card{display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden;border:1px solid #e4eaf0;border-radius:16px;background:#fff;box-shadow:0 6px 22px rgba(18,36,58,.045)}.hcls-article-image{display:block;width:100%;height:220px;overflow:hidden;background:#f3f6f8}.hcls-article-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.hcls-article-body{display:flex;flex:1;flex-direction:column;padding:22px}.hcls-article-title{font-size:19px;line-height:1.3;font-weight:800;margin:0 0 11px}.hcls-article-title a{color:inherit;text-decoration:none}.hcls-article-excerpt{font-size:14px;line-height:1.65;color:#637083;margin:0 0 18px}.hcls-article-link{font-size:14px;font-weight:800;text-decoration:none;margin-top:auto}@media(max-width:767px){.hcls-articles{padding:36px 0}.hcls-articles-head{text-align:left;margin-bottom:24px}.hcls-articles-grid{gap:14px}.hcls-article-body{padding:20px}}


/* ==========================================================
 * v0.3.11 — Responsive / Elementor layout normalization
 * Elementor owns the outer width and outer horizontal padding.
 * HC widgets own only their internal component layout.
 * ========================================================== */

/* Never create a second "page container" inside Elementor. */
.elementor-widget-hcls_hero_local,
.elementor-widget-hcls_services,
.elementor-widget-hcls_content_local,
.elementor-widget-hcls_advantages,
.elementor-widget-hcls_articles,
.elementor-widget-hcls_faq_local,
.elementor-widget-hcls_cta_local,
.elementor-widget-hcls_locations {
    width: 100%;
    max-width: none;
}

.hcls-hero,
.hcls-services,
.hcls-content-local,
.hcls-advantages,
.hcls-articles,
.hcls-faq-local,
.hcls-cta-local,
.hcls-locations {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

/* Outer horizontal alignment belongs to the Elementor container.
   Remove HC horizontal section padding; keep vertical rhythm only. */
.hcls-hero,
.hcls-services,
.hcls-content-local,
.hcls-advantages,
.hcls-articles,
.hcls-faq-local,
.hcls-cta-local,
.hcls-locations {
    padding-left: 0;
    padding-right: 0;
}

/* Prevent grid/flex children from forcing overflow. */
.hcls-hero > *,
.hcls-content-local > *,
.hcls-services-grid > *,
.hcls-advantages-grid > *,
.hcls-articles-grid > *,
.hcls-locations-grid > * {
    min-width: 0;
    box-sizing: border-box;
}

/* TABLET:
   Hero must stop trying to preserve desktop two-column proportions.
   Stack content and image, using the full Elementor content width. */
@media (min-width: 768px) and (max-width: 1024px) {
    .hcls-hero {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 32px !important;
        align-items: start;
    }

    .hcls-hero > * {
        width: 100%;
        max-width: none;
    }

    .hcls-hero img {
        width: 100%;
        max-width: 760px;
        height: auto;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    .hcls-content-local {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    .hcls-content-local > * {
        width: 100%;
        max-width: none;
    }

    .hcls-services-grid,
    .hcls-advantages-grid,
    .hcls-articles-grid,
    .hcls-locations-grid {
        min-width: 0;
    }
}

/* MOBILE:
   One clean content rail inherited from Elementor. */
@media (max-width: 767px) {
    .hcls-hero,
    .hcls-content-local {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    .hcls-hero > *,
    .hcls-content-local > * {
        width: 100%;
        max-width: none;
    }

    .hcls-hero img {
        width: 100%;
        max-width: none;
        height: auto;
        display: block;
    }

    .hcls-services-grid,
    .hcls-advantages-grid,
    .hcls-articles-grid,
    .hcls-locations-grid {
        min-width: 0;
    }

    .hcls-hero-buttons,
    .hcls-cta-buttons {
        max-width: 100%;
    }
}

/* v0.3.12 — HUB widgets */
.hcls-hub-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:48px;align-items:center;padding:64px 56px;border-radius:0;overflow:hidden}.hcls-hub-hero-copy,.hcls-hub-hero-media{min-width:0}.hcls-hub-hero-eyebrow,.hcls-area-hub-eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:13px}.hcls-hub-hero-title{font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.035em;margin:0 0 20px;font-weight:800}.hcls-hub-hero-description{font-size:18px;line-height:1.55;margin:0 0 26px;opacity:.92;max-width:680px}.hcls-hub-facts{display:flex;gap:22px;flex-wrap:wrap;margin:0 0 28px}.hcls-hub-fact{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:700;max-width:190px}.hcls-hub-fact span{color:#7cc242}.hcls-hub-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hcls-hub-hero-btn{display:inline-flex;padding:14px 22px;border-radius:8px;text-decoration:none!important;font-weight:800;border:1px solid rgba(255,255,255,.28)}.hcls-hub-hero-primary{color:#fff!important}.hcls-hub-hero-secondary{color:#fff!important}.hcls-hub-hero-media{height:390px;overflow:hidden}.hcls-hub-hero-media img{width:100%;height:100%;object-fit:cover;display:block}.hcls-hub-placeholder{width:100%;height:100%;min-height:220px;background:#e9eef3;display:flex;align-items:center;justify-content:center;color:#607083}
.hcls-hub-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:22px 0}.hcls-hub-benefit{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 22px;min-width:0}.hcls-hub-benefit-icon{font-size:25px;flex:0 0 auto}.hcls-hub-benefit strong{font-size:14px;line-height:1.35}
.hcls-area-hub{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:54px;align-items:center;padding:64px 0}.hcls-area-hub-right .hcls-area-hub-media{order:2}.hcls-area-hub-media{height:430px;overflow:hidden;border-radius:14px;background:#f3f6f8}.hcls-area-hub-media img{width:100%;height:100%;object-fit:cover;display:block}.hcls-area-hub-title{font-size:clamp(30px,4vw,46px);line-height:1.1;letter-spacing:-.025em;margin:0 0 16px;font-weight:800;color:#12243a}.hcls-area-hub-text{font-size:16px;line-height:1.7;color:#536274;margin:0 0 20px}.hcls-area-hub-list{display:grid;gap:10px}.hcls-area-hub-list>div{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:#26394e}.hcls-area-hub-list span{display:inline-flex;width:21px;height:21px;align-items:center;justify-content:center;border-radius:4px;color:#fff;flex:0 0 auto;font-size:13px}
.hcls-cta-hub{background:#effaf3!important;color:#12243a!important;border-radius:0!important;padding:28px 34px!important}.hcls-cta-hub .hcls-cta-eyebrow{display:none}.hcls-cta-hub .hcls-cta-title{color:#12243a!important;font-size:24px;margin-bottom:5px}.hcls-cta-hub .hcls-cta-description{color:#536274!important;font-size:15px}.hcls-cta-hub .hcls-cta-secondary{color:#12243a!important;border-color:#cdd8d2}
@media(max-width:1024px){.hcls-hub-hero{grid-template-columns:1fr;gap:30px;padding:48px 0}.hcls-hub-hero-media{height:360px}.hcls-area-hub{grid-template-columns:1fr;gap:30px}.hcls-area-hub-right .hcls-area-hub-media{order:0}.hcls-area-hub-media{height:360px}}
@media(max-width:767px){.hcls-hub-hero{padding:36px 0}.hcls-hub-hero-title{font-size:42px}.hcls-hub-hero-media{height:260px}.hcls-hub-facts{display:grid;gap:12px}.hcls-hub-fact{max-width:none}.hcls-hub-hero-actions,.hcls-hub-hero-btn{width:100%}.hcls-hub-hero-btn{justify-content:center}.hcls-hub-benefit{justify-content:flex-start;padding:10px 0}.hcls-area-hub{padding:42px 0}.hcls-area-hub-media{height:260px}.hcls-cta-hub{padding:24px 0!important}}

/* v0.3.13 — HC Hero Hub faithful composition */
.hcls-hub-hero{grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:54px;padding-top:58px;padding-bottom:58px}
.hcls-hub-hero-title{margin:0 0 18px;font-weight:800;letter-spacing:-.025em;line-height:1}
.hcls-hub-hero-title-prefix,.hcls-hub-hero-title-area{display:block}
.hcls-hub-hero-title-prefix{font-size:clamp(30px,3.4vw,45px);margin-bottom:4px}
.hcls-hub-hero-title-area{font-size:clamp(36px,4vw,54px)}
.hcls-hub-hero-description{max-width:600px;margin-bottom:28px}
.hcls-hub-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0}
.hcls-hub-fact{display:flex;align-items:center;gap:10px;max-width:none;font-size:13px;line-height:1.35}
.hcls-hub-fact-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:24px}
.hcls-hub-fact-icon svg{width:1em;height:1em}
.hcls-hub-hero-actions{margin-top:28px}
.hcls-hub-hero-media{background:transparent}
.hcls-hub-hero-media img{object-position:center center}
@media(min-width:768px) and (max-width:1024px){
  .hcls-hub-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hcls-hub-hero-media{max-width:760px;margin:0 auto}
}
@media(max-width:767px){
  .hcls-hub-facts{grid-template-columns:1fr;gap:14px}
  .hcls-hub-hero-title-prefix{font-size:30px}
  .hcls-hub-hero-title-area{font-size:39px}
}

/* v0.3.14 — Hub icon controls/fixes */
.hcls-hub-fact-icon,
.hcls-hub-benefit-icon{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    line-height:1;
}
.hcls-hub-fact-icon i,
.hcls-hub-benefit-icon i{
    color:inherit!important;
    background:transparent!important;
}
.hcls-hub-fact-icon svg,
.hcls-hub-benefit-icon svg{
    display:block;
    color:inherit!important;
    fill:currentColor!important;
}
.hcls-hub-fact-icon svg path,
.hcls-hub-benefit-icon svg path{
    fill:currentColor!important;
}
.hcls-hub-fact{color:#fff}
.hcls-hub-fact-icon{color:#7cc242;font-size:26px}
.hcls-hub-benefit-icon{color:#12243a;font-size:28px}
.hcls-hub-benefit strong{color:#12243a}

/* v0.3.15 — HC Localidades usable from Area/HUB pages */
.hcls-locations-hub .hcls-locations-head{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}
.hcls-locations-hub .hcls-locations-grid{
    margin-top:28px;
}
.hcls-locations-hub .hcls-location-card{
    min-height:0;
}
@media(max-width:767px){
    .hcls-locations-hub .hcls-locations-head{
        text-align:left;
        margin-left:0;
        margin-right:0;
    }
}

/* v0.3.16 — compact, swipeable HUB locality rail */
.hcls-locations-hub{overflow:hidden}
.hcls-locations-hub .hcls-locations-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto;
    overflow-y:hidden;
    width:100%;
    padding:2px 1px 12px;
    margin-top:24px;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
}
.hcls-locations-hub .hcls-locations-grid::-webkit-scrollbar{display:none}
.hcls-locations-hub .hcls-location-card{
    flex:0 0 calc((100% - 42px)/4);
    width:auto!important;
    min-width:0;
    min-height:82px!important;
    padding:18px 20px!important;
    scroll-snap-align:start;
}
.hcls-locations-hub .hcls-location-top{height:100%;align-items:center}
.hcls-locations-hub .hcls-location-link,
.hcls-locations-hub .hcls-location-status{display:none!important}
@media(max-width:1024px){
    .hcls-locations-hub .hcls-location-card{flex-basis:calc((100% - 28px)/3)}
}
@media(max-width:767px){
    .hcls-locations-hub .hcls-locations-head{text-align:left}
    .hcls-locations-hub .hcls-locations-grid{gap:12px!important}
    .hcls-locations-hub .hcls-location-card{
        flex:0 0 78%;
        min-height:74px!important;
        padding:16px 18px!important;
    }
}

/* v0.3.18 — HC Hero Hub responsive hardening */
.hcls-hub-hero,
.hcls-hub-hero *{
    box-sizing:border-box;
}
.hcls-hub-hero-inner{
    width:100%;
    min-width:0;
}
.hcls-hub-hero-content,
.hcls-hub-hero-media{
    min-width:0;
}
.hcls-hub-hero-media img{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    object-fit:contain;
}

/* Tablet: preserve two columns, but stop fixed desktop dimensions from squeezing text. */
@media (min-width:768px) and (max-width:1024px){
    .hcls-hub-hero-inner{
        display:grid!important;
        grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
        align-items:center!important;
        gap:32px!important;
    }
    .hcls-hub-hero-title{
        font-size:clamp(42px,5.2vw,58px)!important;
        line-height:1.02!important;
    }
    .hcls-hub-hero-description{
        font-size:17px!important;
        line-height:1.55!important;
        max-width:none!important;
    }
    .hcls-hub-hero-facts{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:16px 20px!important;
    }
    .hcls-hub-fact{
        min-width:0!important;
    }
    .hcls-hub-hero-media{
        width:100%!important;
        max-width:none!important;
    }
}

/* Mobile: content and image become a true single-column flow. */
@media (max-width:767px){
    .hcls-hub-hero{
        overflow:hidden;
    }
    .hcls-hub-hero-inner{
        display:flex!important;
        flex-direction:column!important;
        width:100%!important;
        max-width:100%!important;
        gap:28px!important;
    }
    .hcls-hub-hero-content,
    .hcls-hub-hero-media{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        flex:0 0 100%!important;
    }
    .hcls-hub-hero-title{
        width:100%!important;
        max-width:none!important;
        font-size:clamp(38px,11vw,44px)!important;
        line-height:1.02!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
    }
    .hcls-hub-hero-description{
        width:100%!important;
        max-width:none!important;
        font-size:17px!important;
        line-height:1.55!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
    }
    .hcls-hub-hero-facts{
        display:grid!important;
        grid-template-columns:1fr!important;
        width:100%!important;
        gap:12px!important;
    }
    .hcls-hub-fact{
        width:100%!important;
        min-width:0!important;
        justify-content:flex-start!important;
    }
    .hcls-hub-hero-actions{
        width:100%!important;
        flex-wrap:wrap!important;
    }
    .hcls-hub-hero-media{
        order:2!important;
    }
    .hcls-hub-hero-media img{
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        object-fit:contain!important;
    }
}

/* v0.3.18 — locality HUB rail: allow hover lift without clipping */
.hcls-locations-hub{
    overflow:visible!important;
}
.hcls-locations-hub .hcls-locations-grid{
    padding-top:10px!important;
    padding-bottom:14px!important;
}

/* ==========================================================
 * v0.3.19 — REAL HC Hero Hub responsive fix
 * Correct selectors for actual widget markup.
 * ========================================================== */

/* Tablet: stack the two real grid children. */
@media (min-width:768px) and (max-width:1024px){
    .hcls-hub-hero{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:30px!important;
        width:100%!important;
        max-width:100%!important;
        padding-top:44px!important;
        padding-bottom:44px!important;
    }

    .hcls-hub-hero-copy,
    .hcls-hub-hero-media{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
    }

    .hcls-hub-hero-title{
        width:100%!important;
        max-width:none!important;
        margin-bottom:18px!important;
    }

    .hcls-hub-hero-title-prefix{
        font-size:38px!important;
        line-height:1.05!important;
    }

    .hcls-hub-hero-title-area{
        font-size:48px!important;
        line-height:1.02!important;
    }

    .hcls-hub-hero-description{
        width:100%!important;
        max-width:720px!important;
        font-size:17px!important;
        line-height:1.55!important;
    }

    .hcls-hub-facts{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        width:100%!important;
        gap:18px!important;
    }

    .hcls-hub-fact{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
    }

    .hcls-hub-hero-media{
        height:auto!important;
        min-height:0!important;
        margin:0 auto!important;
    }

    .hcls-hub-hero-media img{
        display:block!important;
        width:100%!important;
        max-width:760px!important;
        height:auto!important;
        margin:0 auto!important;
        object-fit:contain!important;
    }
}

/* Mobile: one true vertical flow using the ACTUAL classes. */
@media (max-width:767px){
    .hcls-hub-hero{
        display:flex!important;
        flex-direction:column!important;
        grid-template-columns:none!important;
        width:100%!important;
        max-width:100%!important;
        gap:26px!important;
        padding-top:34px!important;
        padding-bottom:34px!important;
        overflow:hidden!important;
    }

    .hcls-hub-hero-copy,
    .hcls-hub-hero-media{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        flex:0 0 auto!important;
    }

    .hcls-hub-hero-title{
        width:100%!important;
        max-width:100%!important;
        margin:0 0 18px!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
        white-space:normal!important;
    }

    .hcls-hub-hero-title-prefix{
        display:block!important;
        width:100%!important;
        font-size:30px!important;
        line-height:1.08!important;
        margin-bottom:5px!important;
    }

    .hcls-hub-hero-title-area{
        display:block!important;
        width:100%!important;
        font-size:40px!important;
        line-height:1.02!important;
    }

    .hcls-hub-hero-description{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        font-size:16px!important;
        line-height:1.55!important;
        margin-bottom:22px!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
        white-space:normal!important;
    }

    .hcls-hub-facts{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        width:100%!important;
        max-width:100%!important;
        gap:12px!important;
        margin:0!important;
    }

    .hcls-hub-fact{
        display:flex!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:10px!important;
        font-size:14px!important;
        line-height:1.4!important;
    }

    .hcls-hub-fact > span:last-child{
        min-width:0!important;
        width:auto!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
    }

    .hcls-hub-hero-actions{
        width:100%!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
        margin-top:22px!important;
    }

    .hcls-hub-hero-btn{
        width:100%!important;
        justify-content:center!important;
    }

    .hcls-hub-hero-media{
        height:auto!important;
        min-height:0!important;
        order:2!important;
    }

    .hcls-hub-hero-media img{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        margin:0!important;
        object-fit:contain!important;
    }
}


/* v0.3.21 — unified locality rail + compact service footer */

/* Both HUB and local pages use the same compact horizontal locality rail.
   The functional difference remains in PHP: local mode excludes the current locality. */
.hcls-locations-local{
    overflow:hidden;
}
.hcls-locations-local .hcls-locations-head{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}
.hcls-locations-local .hcls-locations-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto;
    overflow-y:hidden;
    width:100%;
    padding:6px 1px 14px;
    margin-top:24px;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
}
.hcls-locations-local .hcls-locations-grid::-webkit-scrollbar{
    display:none;
}
.hcls-locations-local .hcls-location-card{
    flex:0 0 calc((100% - 42px)/4);
    width:auto!important;
    min-width:0;
    min-height:82px!important;
    padding:18px 20px!important;
    scroll-snap-align:start;
}
.hcls-locations-local .hcls-location-top{
    height:100%;
    align-items:center;
}
.hcls-locations-local .hcls-location-link,
.hcls-locations-local .hcls-location-status{
    display:none!important;
}
@media(max-width:1024px){
    .hcls-locations-local .hcls-location-card{
        flex-basis:calc((100% - 28px)/3);
    }
}
@media(max-width:767px){
    .hcls-locations-local .hcls-locations-head{
        text-align:left;
        margin-left:0;
        margin-right:0;
    }
    .hcls-locations-local .hcls-locations-grid{
        gap:12px!important;
    }
    .hcls-locations-local .hcls-location-card{
        flex:0 0 78%;
        min-height:74px!important;
        padding:16px 18px!important;
    }
}

/* Keep WooCommerce service price and CTA on one footer row,
   including mobile, using the available card width. */
.hcls-service-footer{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%;
}
.hcls-service-footer .hcls-service-price,
.hcls-service-footer .hcls-service-link{
    margin:0!important;
    flex:0 0 auto;
}
.hcls-service-footer .hcls-service-link{
    margin-left:auto!important;
    white-space:nowrap;
}
