/*
Theme Name: Semáforos Bolivia
Theme URI: https://semaforosbolivia.com/
Author: A&DSE RAMIREZ
Description: Tema personalizado para Semáforos Bolivia, integrado con Semáforos Admin para contenido dinámico.
Version: 5.5.29
Text Domain: semaforos-bolivia
*/

:root{
  --sb-red:#d71920;
  --sb-yellow:#ffc400;
  --sb-green:#00a651;
  --sb-dark:#18212b;
  --sb-dark-2:#243241;
  --sb-gray:#64748b;
  --sb-light:#f5f7fa;
  --sb-white:#fff;
  --sb-border:rgba(15,23,42,.10);
  --sb-radius:20px;
  --sb-shadow:0 18px 45px rgba(15,23,42,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--sb-dark);background:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.sb-container{width:min(1180px,calc(100% - 32px));margin:auto}
.sb-section{padding:76px 0}
.sb-section.alt{background:var(--sb-light)}
.sb-section-head{max-width:780px;margin-bottom:34px}
.sb-muted{color:var(--sb-gray)}
.sb-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--sb-green);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.sb-kicker:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--sb-green)}
h1,h2,h3{line-height:1.15;color:var(--sb-dark)}
h1{font-size:clamp(36px,6vw,64px);margin:14px 0 18px}
h2{font-size:clamp(28px,4vw,44px);margin:0 0 12px}
h3{font-size:1.25rem;margin:0 0 10px}
p{margin-top:0}

.sb-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--sb-border)}
.sb-nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.sb-brand{display:flex;align-items:center;gap:12px;font-weight:900}
.sb-brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--sb-red),var(--sb-yellow),var(--sb-green));box-shadow:0 8px 20px rgba(0,166,81,.18)}
.sb-brand-text span{display:block;font-size:.78rem;color:var(--sb-gray);font-weight:700}
.sb-menu{display:flex;align-items:center;gap:20px;font-size:15px;font-weight:700}
.sb-menu ul{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0}
.sb-menu a:hover{color:var(--sb-green)}
.sb-menu-toggle{display:none;background:var(--sb-dark);color:white;border:0;border-radius:12px;padding:10px 12px;font-weight:800}

.sb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;font-weight:800;cursor:pointer;transition:.2s transform,.2s opacity}
.sb-btn:hover{transform:translateY(-1px);opacity:.92}
.sb-btn-primary{background:var(--sb-green);color:white}
.sb-btn-dark{background:var(--sb-dark);color:white}
.sb-btn-light{background:white;color:var(--sb-dark);border:1px solid var(--sb-border)}

.sb-hero{position:relative;padding:90px 0;overflow:hidden;background:radial-gradient(circle at 85% 20%,rgba(0,166,81,.17),transparent 30%),radial-gradient(circle at 10% 0%,rgba(255,196,0,.15),transparent 25%),linear-gradient(135deg,#f8fafc,#fff)}
.sb-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.sb-hero p{font-size:1.12rem;color:var(--sb-gray);max-width:680px}
.sb-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.sb-hero-media{border-radius:28px;overflow:hidden;box-shadow:var(--sb-shadow);background:var(--sb-dark);min-height:360px;display:flex;align-items:center;justify-content:center}
.sb-hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.sb-signal-card{background:linear-gradient(145deg,var(--sb-dark),var(--sb-dark-2));border-radius:28px;padding:30px;color:white;box-shadow:var(--sb-shadow)}
.sb-lamp-box{background:#111923;border-radius:24px;padding:18px;display:grid;gap:12px;width:120px;margin:auto}
.sb-lamp{width:74px;height:74px;margin:auto;border-radius:50%;box-shadow:inset 0 0 16px rgba(0,0,0,.35)}
.sb-lamp.red{background:var(--sb-red)}
.sb-lamp.yellow{background:var(--sb-yellow)}
.sb-lamp.green{background:var(--sb-green)}
.sb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.sb-stat{background:white;border:1px solid var(--sb-border);border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.sb-stat strong{display:block;font-size:1.45rem;color:var(--sb-green)}

.sb-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sb-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sb-card{background:white;border:1px solid var(--sb-border);border-radius:var(--sb-radius);padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.sb-card:hover{box-shadow:var(--sb-shadow)}
.sb-card-img{aspect-ratio:4/3;border-radius:16px;background:var(--sb-light);overflow:hidden;margin-bottom:16px}
.sb-card-img img{width:100%;height:100%;object-fit:cover}
.sb-pill{display:inline-flex;border-radius:999px;background:rgba(0,166,81,.10);color:var(--sb-green);padding:6px 10px;font-size:.82rem;font-weight:800}
.sb-feature{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.sb-feature-media{border-radius:24px;overflow:hidden;background:var(--sb-light);min-height:300px;box-shadow:var(--sb-shadow)}
.sb-feature-media img{width:100%;height:100%;object-fit:cover}

.sb-page-hero{padding:64px 0;background:linear-gradient(135deg,var(--sb-dark),var(--sb-dark-2));color:white}
.sb-page-hero h1{color:white}
.sb-page-hero p{max-width:760px;color:rgba(255,255,255,.78);font-size:1.1rem}
.sb-content{max-width:900px}
.sb-filter-box{display:grid;grid-template-columns:1fr 260px auto;gap:14px;align-items:end;background:white;border:1px solid var(--sb-border);border-radius:var(--sb-radius);padding:18px;margin-bottom:28px}
.sb-field label{display:block;font-weight:800;margin-bottom:6px}
.sb-field input,.sb-field select,.sb-field textarea{width:100%;border:1px solid var(--sb-border);border-radius:14px;padding:12px 14px;font:inherit;background:white}
.sb-spec-table{width:100%;border-collapse:collapse;margin:24px 0;border:1px solid var(--sb-border);border-radius:16px;overflow:hidden}
.sb-spec-table th,.sb-spec-table td{border-bottom:1px solid var(--sb-border);padding:12px;text-align:left}
.sb-spec-table th{background:var(--sb-light);width:35%}

.sb-footer{background:var(--sb-dark);color:white;padding:48px 0}
.sb-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.sb-footer a{color:white}
.sb-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sb-whatsapp{position:fixed;right:18px;bottom:18px;z-index:90;background:#25d366;color:white;border-radius:999px;padding:14px 18px;font-weight:900;box-shadow:var(--sb-shadow)}

@media(max-width:900px){
  .sb-menu-toggle{display:inline-flex}
  .sb-menu{display:none;position:absolute;left:16px;right:16px;top:82px;background:white;border:1px solid var(--sb-border);border-radius:18px;padding:18px;box-shadow:var(--sb-shadow)}
  .sb-menu.is-open{display:block}
  .sb-menu ul{display:grid;gap:10px}
  .sb-hero-grid,.sb-grid-3,.sb-grid-4,.sb-footer-grid,.sb-filter-box,.sb-feature,.sb-stats{grid-template-columns:1fr}
  .sb-hero{padding:58px 0}
  .sb-section{padding:54px 0}
}


/* ===== Header V3.0.0 - estilo oscuro tecnológico ===== */
.sb-header{
  background:#0f1115;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 26px rgba(0,0,0,.22);
  backdrop-filter:none;
}

.sb-nav{
  min-height:78px;
}

.sb-brand{
  color:#fff;
  letter-spacing:.06em;
  text-transform:uppercase;
  min-width:max-content;
}

.sb-brand img,
.custom-logo{
  max-height:46px;
  width:auto;
}

.sb-brand-mark{
  background:none;
  box-shadow:none;
  width:auto;
  height:auto;
  border-radius:0;
}

.sb-brand-mark:before{
  content:"A&DSE RAMIREZ";
  color:#fff;
  font-size:clamp(26px,3vw,42px);
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
}

.sb-brand-text{
  color:#fff;
  font-size:14px;
  letter-spacing:.08em;
}

.sb-brand-text span{
  color:rgba(255,255,255,.55);
}

.sb-menu{
  color:rgba(255,255,255,.76);
  gap:28px;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:14px;
}

.sb-menu ul{
  gap:30px;
}

.sb-menu a{
  color:rgba(255,255,255,.76);
}

.sb-menu a:hover{
  color:#fff;
}

.sb-btn.sb-btn-primary{
  background:transparent;
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
}

.sb-header-tools{
  display:flex;
  align-items:center;
  gap:18px;
  margin-left:8px;
  color:#fff;
}

.sb-header-icon{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.92;
}

.sb-header-divider{
  width:1px;
  height:28px;
  background:rgba(255,255,255,.12);
}

.sb-infra{
  color:rgba(255,255,255,.68);
  letter-spacing:.18em;
  white-space:nowrap;
  font-weight:700;
}

.sb-infra strong{
  color:var(--sb-yellow);
}

.sb-menu-toggle{
  background:#fff;
  color:#0f1115;
}

.sb-support-hours{
  background:rgba(255,196,0,.08);
  border:1px solid rgba(255,196,0,.22);
  border-radius:16px;
  padding:14px 16px;
  color:rgba(255,255,255,.86);
  margin-top:14px;
}

@media(max-width:1050px){
  .sb-menu ul{gap:18px}
  .sb-menu{font-size:13px}
  .sb-infra{display:none}
}

@media(max-width:900px){
  .sb-menu{
    background:#0f1115;
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
  }
  .sb-menu ul{display:grid;gap:16px}
  .sb-header-tools{
    margin-top:16px;
    justify-content:space-between;
  }
}

/* ===== Páginas internas V3.1.0 ===== */
.sb-inner-hero{
  padding:86px 0;
  color:white;
  background:linear-gradient(135deg,rgba(15,17,21,.92),rgba(24,33,43,.88));
  position:relative;
  overflow:hidden;
}
.sb-inner-hero.has-image{
  background-size:cover;
  background-position:center;
}
.sb-inner-hero.has-image:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(15,17,21,.88),rgba(15,17,21,.48));
}
.sb-inner-hero .sb-container{position:relative;z-index:2}
.sb-inner-hero h1{color:white;max-width:920px}
.sb-inner-hero p{color:rgba(255,255,255,.78);max-width:760px;font-size:1.12rem}
.sb-two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.sb-list-clean{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.sb-list-clean li{background:white;border:1px solid var(--sb-border);border-radius:16px;padding:16px}
.sb-faq details{background:white;border:1px solid var(--sb-border);border-radius:16px;padding:16px;margin-bottom:12px}
.sb-faq summary{font-weight:800;cursor:pointer}
.sb-contact-card{background:white;border:1px solid var(--sb-border);border-radius:20px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.sb-map-embed iframe{width:100%;min-height:360px;border:0;border-radius:20px}
@media(max-width:900px){.sb-two-col{grid-template-columns:1fr}}

/* ===== Producto multimedia V3.2.0 ===== */
.sb-media-section{margin-top:34px}
.sb-media-section h2{margin-bottom:18px}
.sb-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sb-gallery-grid a{display:block;border-radius:16px;overflow:hidden;background:var(--sb-light);border:1px solid var(--sb-border)}
.sb-gallery-grid img{width:100%;height:220px;object-fit:cover;display:block}
.sb-video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.sb-video-embed{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 10px 30px rgba(15,23,42,.10)}
.sb-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sb-doc-list{display:grid;gap:12px}
.sb-doc-item{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--sb-border);border-radius:16px;background:white;padding:16px}
.sb-doc-item strong{display:block}
.sb-doc-item span{color:var(--sb-gray);font-size:.92rem}
.sb-product-layout{display:grid;grid-template-columns:360px 1fr;gap:28px;align-items:start}
.sb-product-side{position:sticky;top:104px}
@media(max-width:980px){
  .sb-product-layout{grid-template-columns:1fr}
  .sb-product-side{position:static}
  .sb-gallery-grid,.sb-video-grid{grid-template-columns:1fr}
  .sb-gallery-grid img{height:240px}
  .sb-doc-item{display:block}
  .sb-doc-item .sb-btn{margin-top:12px}
}

.sb-inner-hero{padding:86px 0;color:white;background:linear-gradient(135deg,rgba(15,17,21,.94),rgba(24,33,43,.88));position:relative;overflow:hidden}.sb-inner-hero.has-image{background-size:cover;background-position:center}.sb-inner-hero.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,17,21,.88),rgba(15,17,21,.50))}.sb-inner-hero .sb-container{position:relative;z-index:2}.sb-inner-hero h1{color:white;max-width:920px}.sb-inner-hero p{color:rgba(255,255,255,.80);max-width:760px;font-size:1.12rem}.sb-two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.sb-faq details{background:white;border:1px solid var(--sb-border);border-radius:16px;padding:16px;margin-bottom:12px}.sb-faq summary{font-weight:800;cursor:pointer}.sb-contact-card{background:white;border:1px solid var(--sb-border);border-radius:20px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.sb-map-embed iframe{width:100%;min-height:360px;border:0;border-radius:20px}@media(max-width:900px){.sb-two-col{grid-template-columns:1fr}}

/* ===== V4.1.0 Contacto, logo y footer simplificado ===== */
.sb-footer{
  padding:36px 0 22px;
}
.sb-footer-simple{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:28px;
  align-items:start;
}
.sb-footer-bottom{
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.62);
  font-size:.92rem;
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.sb-footer h3,.sb-footer h4{color:white}
.sb-footer p{color:rgba(255,255,255,.74)}
.sb-brand .custom-logo-link,
.sb-brand .custom-logo{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}
.sb-brand .custom-logo{
  max-height:52px!important;
  max-width:280px!important;
  width:auto!important;
  object-fit:contain;
}
.sb-contact-list{
  display:grid;
  gap:18px;
}
.sb-contact-item{
  border-bottom:1px solid var(--sb-border);
  padding-bottom:16px;
}
.sb-contact-item h3{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.sb-map-frame{
  width:100%;
  min-height:420px;
  border:0;
  border-radius:20px;
  box-shadow:var(--sb-shadow);
}
@media(max-width:900px){
  .sb-footer-simple{grid-template-columns:1fr}
  .sb-brand .custom-logo{max-width:220px!important}
}

/* V5 fixes */
.sb-hero .sb-kicker,.sb-page-hero .sb-kicker,.sb-inner-hero .sb-kicker{display:none!important}.sb-card .sb-pill{display:none!important}.sb-brand{max-width:340px;overflow:visible!important}.sb-brand .custom-logo-link{display:flex!important;align-items:center;max-width:340px!important;overflow:visible!important}.sb-brand img.custom-logo,.sb-brand .custom-logo{display:block!important;visibility:visible!important;opacity:1!important;width:auto!important;height:auto!important;max-height:54px!important;max-width:320px!important;object-fit:contain!important}.sb-brand-name-fallback{color:#fff;font-weight:900;font-size:clamp(24px,3vw,40px);letter-spacing:.08em;line-height:1;white-space:nowrap}.sb-footer{padding:34px 0 20px}.sb-footer-simple{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}.sb-footer-bottom{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.62);font-size:.92rem;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.sb-contact-list{display:grid;gap:18px}.sb-contact-item{border-bottom:1px solid var(--sb-border);padding-bottom:16px}.sb-map-frame{width:100%;min-height:420px;border:0;border-radius:20px;box-shadow:var(--sb-shadow)}@media(max-width:900px){.sb-footer-simple{grid-template-columns:1fr}.sb-brand img.custom-logo,.sb-brand .custom-logo{max-width:230px!important}}

/* ===== V5.1.0 Header limpio ===== */
.sb-header-tools,
.sb-header-icon,
.sb-header-divider,
.sb-infra{
  display:none!important;
}

.sb-menu{
  gap:22px;
}

.sb-menu > ul{
  align-items:center;
}

.sb-menu .menu-item a{
  white-space:nowrap;
}

.sb-menu-cta{
  margin-left:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:10px 18px;
  font-weight:900;
  color:#fff!important;
  background:var(--sb-green);
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.10);
}

.sb-menu-cta:hover{
  color:#fff!important;
  transform:translateY(-1px);
  opacity:.94;
}

@media(max-width:900px){
  .sb-menu-cta{
    width:100%;
    margin:14px 0 0;
  }
}

/* v5.3.1 estilo claro páginas internas */
body:not(.home) .sb-inner-hero,body:not(.home) .sb-page-hero,body:not(.home) .sb-hero{background:#f3f6fa!important;color:#18212b!important;border-bottom:1px solid rgba(15,23,42,.08)}
body:not(.home) .sb-inner-hero h1,body:not(.home) .sb-page-hero h1,body:not(.home) .sb-hero h1{color:#18212b!important}
body:not(.home) .sb-inner-hero p,body:not(.home) .sb-page-hero p,body:not(.home) .sb-hero p{color:#64748b!important}
body:not(.home) .sb-inner-hero:before,body:not(.home) .sb-page-hero:before,body:not(.home) .sb-hero:before{display:none!important}
body:not(.home) .sb-section{background:#f3f6fa}body:not(.home) .sb-section.alt{background:#fff}

/* ===== v5.3.2: fondo blanco uniforme y contraste correcto ===== */
body:not(.home){
  background:#ffffff!important;
  color:#18212b!important;
}

body:not(.home) main,
body:not(.home) .site-main,
body:not(.home) .sb-main,
body:not(.home) .sb-page,
body:not(.home) .sb-content,
body:not(.home) .sb-section,
body:not(.home) .sb-section.alt,
body:not(.home) .sb-inner-hero,
body:not(.home) .sb-page-hero,
body:not(.home) .sb-hero{
  background:#ffffff!important;
  color:#18212b!important;
}

body:not(.home) section,
body:not(.home) article{
  background-color:#ffffff!important;
}

body:not(.home) .sb-inner-hero,
body:not(.home) .sb-page-hero,
body:not(.home) .sb-hero{
  border-bottom:1px solid rgba(15,23,42,.08)!important;
}

body:not(.home) .sb-inner-hero::before,
body:not(.home) .sb-page-hero::before,
body:not(.home) .sb-hero::before,
body:not(.home) .sb-section::before,
body:not(.home) .sb-section.alt::before{
  display:none!important;
}

body:not(.home) h1,
body:not(.home) h2,
body:not(.home) h3,
body:not(.home) h4,
body:not(.home) h5,
body:not(.home) h6,
body:not(.home) .sb-title,
body:not(.home) .sb-card h3,
body:not(.home) .sb-card-title{
  color:#18212b!important;
}

body:not(.home) p,
body:not(.home) li,
body:not(.home) .sb-text,
body:not(.home) .sb-muted,
body:not(.home) .sb-card p,
body:not(.home) .sb-description,
body:not(.home) .sb-lead{
  color:#475569!important;
}

body:not(.home) .sb-card,
body:not(.home) .sb-box,
body:not(.home) .sb-feature,
body:not(.home) .sb-product-card,
body:not(.home) .sb-service-card,
body:not(.home) .sb-project-card{
  background:#ffffff!important;
  color:#18212b!important;
  border:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 14px 35px rgba(15,23,42,.06)!important;
}

body:not(.home) .sb-card *,
body:not(.home) .sb-box *,
body:not(.home) .sb-feature *,
body:not(.home) .sb-product-card *,
body:not(.home) .sb-service-card *,
body:not(.home) .sb-project-card *{
  color:inherit;
}

body:not(.home) .sb-card p,
body:not(.home) .sb-box p,
body:not(.home) .sb-feature p,
body:not(.home) .sb-product-card p,
body:not(.home) .sb-service-card p,
body:not(.home) .sb-project-card p{
  color:#475569!important;
}

body:not(.home) .sb-kicker,
body:not(.home) .sb-eyebrow,
body:not(.home) .sb-label{
  color:#00a651!important;
}

body:not(.home) a:not(.sb-btn):not(.button){
  color:#0f766e;
}

body:not(.home) .sb-btn,
body:not(.home) .button,
body:not(.home) button{
  color:inherit;
}

body:not(.home) .sb-btn.primary,
body:not(.home) .button-primary{
  color:#ffffff!important;
}

body:not(.home) .sb-btn.secondary,
body:not(.home) .sb-btn.light{
  color:#18212b!important;
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.12)!important;
}

/* ===== v5.3.3: restaurar menú y aplicar Hero claro con sombreado ===== */

/* No tocar menú ni footer: se restauran colores oscuros originales */
.sb-header,
.sb-header *,
.sb-nav,
.sb-nav *,
.sb-menu,
.sb-menu *,
.sb-footer,
.sb-footer *{
  background-color:initial;
}

.sb-header,
.sb-footer{
  background:#0f1115!important;
}

.sb-header,
.sb-header a,
.sb-header button,
.sb-menu a,
.sb-menu .menu-item a,
.sb-footer,
.sb-footer a,
.sb-footer p,
.sb-footer span,
.sb-footer li{
  color:inherit;
}

/* El menú conserva sus colores definidos por el tema */
.sb-header .sb-menu a,
.sb-header .sb-menu .menu-item a{
  color:rgba(255,255,255,.76)!important;
}

.sb-header .sb-menu a:hover,
.sb-header .sb-menu .menu-item a:hover,
.sb-header .sb-menu .current-menu-item > a{
  color:#ffffff!important;
}

.sb-header .sb-menu-cta{
  background:#00a651!important;
  color:#ffffff!important;
}

/* Páginas internas: fondo general blanco, pero Hero con sombreado similar a Inicio */
body:not(.home){
  background:#ffffff!important;
}

body:not(.home) main,
body:not(.home) .site-main,
body:not(.home) .sb-main,
body:not(.home) .sb-page,
body:not(.home) .sb-content,
body:not(.home) .sb-section,
body:not(.home) .sb-section.alt{
  background:#ffffff!important;
}

/* Hero interno con fondo especial parecido al inicio */
body:not(.home) .sb-inner-hero,
body:not(.home) .sb-page-hero,
body:not(.home) .sb-hero{
  background:
    radial-gradient(circle at 8% 0%, rgba(255,196,0,.16), transparent 30%),
    radial-gradient(circle at 92% 0%, rgba(0,166,81,.16), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 72%, #f8fafc 100%)!important;
  color:#18212b!important;
  border-bottom:1px solid rgba(15,23,42,.06)!important;
}

/* Evita overlays oscuros solo en hero interno */
body:not(.home) .sb-inner-hero::before,
body:not(.home) .sb-page-hero::before,
body:not(.home) .sb-hero::before{
  display:none!important;
}

/* Contraste de texto en contenido, sin afectar header/footer */
body:not(.home) main h1,
body:not(.home) main h2,
body:not(.home) main h3,
body:not(.home) main h4,
body:not(.home) main h5,
body:not(.home) main h6,
body:not(.home) .site-main h1,
body:not(.home) .site-main h2,
body:not(.home) .site-main h3,
body:not(.home) .site-main h4,
body:not(.home) .site-main h5,
body:not(.home) .site-main h6{
  color:#18212b!important;
}

body:not(.home) main p,
body:not(.home) main li,
body:not(.home) main .sb-muted,
body:not(.home) main .sb-description,
body:not(.home) main .sb-lead,
body:not(.home) .site-main p,
body:not(.home) .site-main li{
  color:#475569!important;
}

/* Tarjetas claras y legibles */
body:not(.home) main .sb-card,
body:not(.home) main .sb-box,
body:not(.home) main .sb-feature,
body:not(.home) main .sb-product-card,
body:not(.home) main .sb-service-card,
body:not(.home) main .sb-project-card{
  background:#ffffff!important;
  color:#18212b!important;
  border:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 14px 35px rgba(15,23,42,.06)!important;
}

body:not(.home) main .sb-card p,
body:not(.home) main .sb-box p,
body:not(.home) main .sb-feature p,
body:not(.home) main .sb-product-card p,
body:not(.home) main .sb-service-card p,
body:not(.home) main .sb-project-card p{
  color:#475569!important;
}

/* Kicker/etiquetas verdes solo en contenido */
body:not(.home) main .sb-kicker,
body:not(.home) main .sb-eyebrow,
body:not(.home) main .sb-label{
  color:#00a651!important;
}

/* No modificar botones del header/footer por reglas generales */
body:not(.home) main .sb-btn.primary,
body:not(.home) main .button-primary{
  color:#ffffff!important;
}

body:not(.home) main .sb-btn.secondary,
body:not(.home) main .sb-btn.light{
  color:#18212b!important;
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.12)!important;
}

/* ===== v5.3.4: Hero con degradado suave que termina en blanco puro ===== */
.home .sb-hero,
body:not(.home) .sb-inner-hero,
body:not(.home) .sb-page-hero,
body:not(.home) .sb-hero{
  background:
    radial-gradient(circle at 10% 0%, rgba(255,193,7,.08), transparent 30%),
    radial-gradient(circle at 90% 0%, rgba(40,167,69,.08), transparent 30%),
    radial-gradient(circle at 50% 0%, rgba(13,110,253,.05), transparent 45%),
    #ffffff!important;
  border-bottom:0!important;
}

/* Evita sombras o líneas visuales al final del Hero */
.home .sb-hero::after,
body:not(.home) .sb-inner-hero::after,
body:not(.home) .sb-page-hero::after,
body:not(.home) .sb-hero::after{
  display:none!important;
}

/* La sección siguiente continúa en blanco */
.home .sb-hero + .sb-section,
body:not(.home) .sb-inner-hero + .sb-section,
body:not(.home) .sb-page-hero + .sb-section,
body:not(.home) .sb-hero + .sb-section{
  background:#ffffff!important;
  border-top:0!important;
  margin-top:0!important;
}

/* ===== v5.3.5: Footer legible, FAQ Soporte y foto Empresa ===== */

/* Footer: contraste alto sobre fondo negro */
.sb-footer,
.site-footer,
footer{
  background:#0f1115!important;
  color:#e5e7eb!important;
}
.sb-footer *,
.site-footer *,
footer *{
  color:#e5e7eb!important;
}
.sb-footer h1,.sb-footer h2,.sb-footer h3,.sb-footer h4,
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,
footer h1,footer h2,footer h3,footer h4{
  color:#ffffff!important;
}
.sb-footer p,.sb-footer li,.sb-footer span,.sb-footer small,
.site-footer p,.site-footer li,.site-footer span,.site-footer small,
footer p,footer li,footer span,footer small{
  color:#cbd5e1!important;
}
.sb-footer a,.site-footer a,footer a{
  color:#ffffff!important;
}
.sb-footer a:hover,.site-footer a:hover,footer a:hover{
  color:#22c55e!important;
}

/* Soporte FAQ: tipografía más legible y estética */
body .sb-faq,
body .faq,
body .support-faq{
  font-family:inherit!important;
}
body .sb-faq details,
body .faq details,
body .support-faq details,
body details.sb-faq-item{
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:16px!important;
  padding:0!important;
  box-shadow:0 12px 30px rgba(15,23,42,.05)!important;
  overflow:hidden;
}
body .sb-faq summary,
body .faq summary,
body .support-faq summary,
body details.sb-faq-item summary{
  font-family:inherit!important;
  font-size:1.05rem!important;
  font-weight:800!important;
  line-height:1.35!important;
  letter-spacing:-.01em!important;
  color:#18212b!important;
  padding:18px 20px!important;
  cursor:pointer;
}
body .sb-faq details p,
body .faq details p,
body .support-faq details p,
body details.sb-faq-item p{
  font-size:1rem!important;
  line-height:1.7!important;
  color:#475569!important;
  padding:0 20px 20px!important;
  margin:0!important;
}

/* Imagen de empresa debajo del Hero */
.sb-company-hero-image{
  background:#ffffff!important;
  padding:28px 0 48px!important;
}
.sb-company-hero-image .sb-container{
  max-width:1180px;
}
.sb-company-hero-image img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  border-radius:26px;
  box-shadow:0 22px 60px rgba(15,23,42,.12);
  border:1px solid rgba(15,23,42,.08);
  background:#ffffff;
}

/* ===== v5.3.6: imagen Empresa ubicada dentro del contenido ===== */
.sb-company-hero-image{background:#ffffff!important;padding:0 0 56px!important;margin:0!important}
.sb-company-hero-image .sb-container{max-width:1180px;margin:0 auto;padding:0 24px}
.sb-company-hero-image img{width:100%;height:auto;display:block;object-fit:contain;border-radius:26px;box-shadow:0 22px 60px rgba(15,23,42,.12);border:1px solid rgba(15,23,42,.08);background:#ffffff}

/* ===== v5.3.7: Empresa - imagen debajo del Hero bien acomodada ===== */
.sb-company-hero-image{
  background:#ffffff!important;
  padding:0 0 56px!important;
  margin:0!important;
  position:relative;
  z-index:1;
}

.sb-company-hero-image .sb-container{
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0 24px!important;
}

.sb-company-hero-image img{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  border-radius:26px!important;
  box-shadow:0 22px 60px rgba(15,23,42,.12)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:#ffffff!important;
}

/* Elimina cualquier franja negra accidental en la zona superior de Empresa */
body.page-template-template-empresa .sb-company-hero-image::before,
body.page-template-template-empresa .sb-company-hero-image::after{
  display:none!important;
}

/* ===== v5.3.8: Empresa - imagen después del Hero real ===== */
.sb-company-hero-image{background:#ffffff!important;padding:0 0 56px!important;margin:0!important}
.sb-company-hero-image .sb-container{max-width:1180px!important;margin:0 auto!important;padding:0 24px!important}
.sb-company-hero-image img{width:100%!important;max-width:100%!important;height:auto!important;display:block!important;object-fit:contain!important;border-radius:26px!important;box-shadow:0 22px 60px rgba(15,23,42,.12)!important;border:1px solid rgba(15,23,42,.08)!important;background:#ffffff!important}

/* ===== v5.3.9: correcciones SOLO móvil del menú ===== */
@media (max-width: 782px){

  /* Header móvil estable: logo a la izquierda, botón menú a la derecha */
  .sb-header,
  .site-header{
    background:#0f1115!important;
    position:relative!important;
    z-index:9999!important;
  }

  .sb-header .sb-container,
  .site-header .sb-container,
  .sb-header-inner,
  .header-inner,
  .site-header .header-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    width:100%!important;
  }

  .sb-logo,
  .site-logo,
  .custom-logo-link,
  .sb-brand,
  .site-branding{
    margin-left:0!important;
    margin-right:auto!important;
    text-align:left!important;
    justify-content:flex-start!important;
    align-items:center!important;
  }

  .sb-logo img,
  .site-logo img,
  .custom-logo{
    display:block!important;
    margin-left:0!important;
    margin-right:auto!important;
  }

  /* Botón Menú visible y legible */
  .sb-menu-toggle,
  .menu-toggle,
  .mobile-menu-toggle,
  button[aria-controls],
  button[aria-expanded]{
    color:#ffffff!important;
    background:transparent!important;
    border:0!important;
    opacity:1!important;
    font-weight:800!important;
    text-shadow:none!important;
    margin-left:auto!important;
  }

  .sb-menu-toggle *,
  .menu-toggle *,
  .mobile-menu-toggle *{
    color:#ffffff!important;
    opacity:1!important;
  }

  /* Menú móvil oculto por defecto si el tema no lo controla correctamente */
  .sb-nav,
  .main-navigation,
  .primary-navigation,
  .site-navigation{
    z-index:9998!important;
  }

  body:not(.menu-open) .sb-nav:not(.is-open):not(.active):not(.toggled) ul,
  body:not(.menu-open) .main-navigation:not(.is-open):not(.active):not(.toggled) ul,
  body:not(.menu-open) .primary-navigation:not(.is-open):not(.active):not(.toggled) ul{
    display:none;
  }

  /* Cuando el menú esté abierto, fondo sólido y textos visibles */
  .sb-nav.is-open,
  .sb-nav.active,
  .sb-nav.toggled,
  .main-navigation.is-open,
  .main-navigation.active,
  .main-navigation.toggled,
  .primary-navigation.is-open,
  .primary-navigation.active,
  .primary-navigation.toggled,
  body.menu-open .sb-nav,
  body.menu-open .main-navigation,
  body.menu-open .primary-navigation{
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    background:#0f1115!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 22px 50px rgba(0,0,0,.32)!important;
    padding:16px 22px 20px!important;
    display:block!important;
  }

  body.menu-open .sb-nav ul,
  body.menu-open .main-navigation ul,
  body.menu-open .primary-navigation ul,
  .sb-nav.is-open ul,
  .sb-nav.active ul,
  .sb-nav.toggled ul,
  .main-navigation.is-open ul,
  .main-navigation.active ul,
  .main-navigation.toggled ul,
  .primary-navigation.is-open ul,
  .primary-navigation.active ul,
  .primary-navigation.toggled ul{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    background:#0f1115!important;
  }

  .sb-nav li,
  .main-navigation li,
  .primary-navigation li{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }

  .sb-nav a,
  .main-navigation a,
  .primary-navigation a,
  .sb-menu a,
  .menu a{
    display:block!important;
    width:100%!important;
    padding:13px 4px!important;
    color:#ffffff!important;
    opacity:1!important;
    visibility:visible!important;
    font-size:0.95rem!important;
    font-weight:800!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    text-shadow:none!important;
    background:transparent!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }

  .sb-nav a:hover,
  .main-navigation a:hover,
  .primary-navigation a:hover{
    color:#22c55e!important;
  }

  /* Botón Cotizar dentro del menú móvil */
  .sb-nav a[href*="cotizar"],
  .main-navigation a[href*="cotizar"],
  .primary-navigation a[href*="cotizar"],
  .menu a[href*="cotizar"]{
    text-align:center!important;
    margin-top:12px!important;
    border-radius:999px!important;
    background:#00a651!important;
    color:#ffffff!important;
    border-bottom:0!important;
    padding:14px 18px!important;
  }

  /* Evita que el menú transparente se superponga sobre el Hero */
  .sb-hero,
  .sb-inner-hero,
  .sb-page-hero{
    position:relative!important;
    z-index:1!important;
  }

  /* WhatsApp flotante separado del borde en móvil */
  .sa-whatsapp-float,
  .whatsapp-float,
  a[href*="wa.me"].floating,
  a[href*="whatsapp"].floating{
    right:18px!important;
    bottom:22px!important;
    z-index:9000!important;
  }
}

/* ===== v5.4.0: mejoras móviles sin tocar escritorio ===== */
@media (max-width: 782px){

  html.menu-open,
  body.menu-open{
    overflow:hidden!important;
  }

  /* Header móvil: logo a la izquierda, menú a la derecha, sin cambiar tamaño del logo */
  .sb-header,
  .site-header{
    background:#0f1115!important;
    position:relative!important;
    z-index:10010!important;
  }

  .sb-header .sb-container,
  .site-header .sb-container,
  .sb-header-inner,
  .header-inner,
  .site-header .header-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    gap:14px!important;
  }

  .sb-brand,
  .site-branding,
  .sb-logo,
  .site-logo,
  .custom-logo-link{
    margin-left:0!important;
    margin-right:auto!important;
    text-align:left!important;
    justify-content:flex-start!important;
    align-items:center!important;
    flex:0 1 auto!important;
    transform:none!important;
    left:auto!important;
    right:auto!important;
  }

  .custom-logo-link img,
  .custom-logo,
  .sb-logo img,
  .site-logo img,
  .site-branding img{
    margin-left:0!important;
    margin-right:auto!important;
    transform:none!important;
  }

  /* Botón Menú con icono hamburguesa */
  .sb-menu-toggle,
  .menu-toggle,
  .mobile-menu-toggle,
  button[aria-controls]{
    margin-left:auto!important;
    flex:0 0 auto!important;
    color:#ffffff!important;
    background:transparent!important;
    border:0!important;
    opacity:1!important;
    font-weight:900!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    position:relative!important;
    z-index:10012!important;
  }

  .sb-menu-toggle::before,
  .menu-toggle::before,
  .mobile-menu-toggle::before,
  button[aria-controls]::before{
    content:"☰";
    display:inline-block;
    color:#ffffff!important;
    font-size:1.15em;
    line-height:1;
    font-weight:900;
  }

  body.menu-open .sb-menu-toggle::before,
  body.menu-open .menu-toggle::before,
  body.menu-open .mobile-menu-toggle::before,
  body.menu-open button[aria-controls]::before{
    content:"×";
    font-size:1.45em;
  }

  /* Overlay oscuro al abrir menú */
  body.menu-open::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    z-index:10000;
  }

  /* Menú oculto por defecto */
  body:not(.menu-open) .sb-nav,
  body:not(.menu-open) .main-navigation,
  body:not(.menu-open) .primary-navigation,
  body:not(.menu-open) .site-navigation{
    display:none!important;
  }

  /* Menú desplegable: no mueve logo ni contenido */
  body.menu-open .sb-nav,
  body.menu-open .main-navigation,
  body.menu-open .primary-navigation,
  body.menu-open .site-navigation,
  .sb-nav.is-open,
  .main-navigation.is-open,
  .primary-navigation.is-open,
  .site-navigation.is-open{
    display:block!important;
    position:fixed!important;
    top:calc(var(--wp-admin--admin-bar--height, 0px) + 92px)!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    max-height:72vh!important;
    overflow-y:auto!important;
    background:#0f1115!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:20px!important;
    box-shadow:0 26px 60px rgba(0,0,0,.45)!important;
    padding:12px 18px 18px!important;
    z-index:10011!important;
  }

  body.menu-open .sb-nav ul,
  body.menu-open .main-navigation ul,
  body.menu-open .primary-navigation ul,
  body.menu-open .site-navigation ul,
  .sb-nav.is-open ul,
  .main-navigation.is-open ul,
  .primary-navigation.is-open ul,
  .site-navigation.is-open ul{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    background:#0f1115!important;
  }

  body.menu-open .sb-nav li,
  body.menu-open .main-navigation li,
  body.menu-open .primary-navigation li,
  body.menu-open .site-navigation li{
    margin:0!important;
    padding:0!important;
    width:100%!important;
    background:transparent!important;
  }

  body.menu-open .sb-nav a,
  body.menu-open .main-navigation a,
  body.menu-open .primary-navigation a,
  body.menu-open .site-navigation a,
  body.menu-open .menu a{
    display:block!important;
    width:100%!important;
    color:#ffffff!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    text-shadow:none!important;
    font-size:.92rem!important;
    line-height:1.25!important;
    font-weight:850!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    padding:12px 2px!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
  }

  body.menu-open .sb-nav a:hover,
  body.menu-open .main-navigation a:hover,
  body.menu-open .primary-navigation a:hover,
  body.menu-open .site-navigation a:hover{
    color:#22c55e!important;
  }

  body.menu-open .sb-nav a[href*="cotizar"],
  body.menu-open .main-navigation a[href*="cotizar"],
  body.menu-open .primary-navigation a[href*="cotizar"],
  body.menu-open .site-navigation a[href*="cotizar"],
  body.menu-open .menu a[href*="cotizar"]{
    margin-top:12px!important;
    padding:14px 18px!important;
    border-radius:999px!important;
    background:#00a651!important;
    color:#ffffff!important;
    text-align:center!important;
    border-bottom:0!important;
  }

  /* Optimización vertical del Hero móvil */
  .home .sb-hero,
  body:not(.home) .sb-hero,
  body:not(.home) .sb-inner-hero,
  body:not(.home) .sb-page-hero{
    padding-top:46px!important;
    padding-bottom:42px!important;
  }

  .home .sb-hero h1,
  body:not(.home) .sb-hero h1,
  body:not(.home) .sb-inner-hero h1,
  body:not(.home) .sb-page-hero h1{
    font-size:clamp(2.35rem, 10.5vw, 3.6rem)!important;
    line-height:1.08!important;
    letter-spacing:-.045em!important;
  }

  .home .sb-hero p,
  body:not(.home) .sb-hero p,
  body:not(.home) .sb-inner-hero p,
  body:not(.home) .sb-page-hero p{
    font-size:1.05rem!important;
    line-height:1.6!important;
  }

  /* Imagen empresa más amplia en móvil */
  .sb-company-hero-image{
    padding:18px 0 44px!important;
  }

  .sb-company-hero-image .sb-container{
    max-width:none!important;
    width:100%!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .sb-company-hero-image img{
    width:100%!important;
    border-radius:22px!important;
  }

  /* WhatsApp flotante más pequeño */
  .sa-whatsapp-float,
  .whatsapp-float,
  a[href*="wa.me"].floating,
  a[href*="whatsapp"].floating,
  a[href*="wa.me"][class*="float"],
  a[href*="whatsapp"][class*="float"]{
    right:16px!important;
    bottom:18px!important;
    min-width:58px!important;
    width:auto!important;
    height:58px!important;
    padding:0 16px!important;
    border-radius:999px!important;
    font-size:.9rem!important;
    line-height:58px!important;
    z-index:9990!important;
  }
}

/* ===== v5.4.1: corrección SOLO footer escritorio ===== */
@media (min-width: 783px){

  footer,
  .site-footer,
  .sb-footer{
    background:#0f1115!important;
    color:#e5e7eb!important;
    padding-bottom:96px!important; /* espacio para que WhatsApp no tape textos */
  }

  footer *,
  .site-footer *,
  .sb-footer *{
    text-shadow:none!important;
  }

  footer h1,
  footer h2,
  footer h3,
  footer h4,
  footer h5,
  footer h6,
  .site-footer h1,
  .site-footer h2,
  .site-footer h3,
  .site-footer h4,
  .site-footer h5,
  .site-footer h6,
  .sb-footer h1,
  .sb-footer h2,
  .sb-footer h3,
  .sb-footer h4,
  .sb-footer h5,
  .sb-footer h6{
    color:#ffffff!important;
    opacity:1!important;
    font-weight:800!important;
  }

  footer p,
  footer li,
  footer span,
  footer small,
  footer div,
  .site-footer p,
  .site-footer li,
  .site-footer span,
  .site-footer small,
  .site-footer div,
  .sb-footer p,
  .sb-footer li,
  .sb-footer span,
  .sb-footer small,
  .sb-footer div{
    color:#cbd5e1!important;
    opacity:1!important;
  }

  footer a,
  .site-footer a,
  .sb-footer a{
    color:#ffffff!important;
    opacity:1!important;
    font-weight:700!important;
  }

  footer a:hover,
  .site-footer a:hover,
  .sb-footer a:hover{
    color:#22c55e!important;
  }

  /* Columnas del footer más equilibradas */
  footer .sb-container,
  .site-footer .sb-container,
  .sb-footer .sb-container{
    position:relative!important;
  }

  footer .footer-grid,
  footer .sb-footer-grid,
  .site-footer .footer-grid,
  .site-footer .sb-footer-grid,
  .sb-footer .footer-grid,
  .sb-footer .sb-footer-grid{
    gap:56px!important;
    align-items:flex-start!important;
  }

  /* Línea inferior y copyright */
  footer .footer-bottom,
  footer .sb-footer-bottom,
  .site-footer .footer-bottom,
  .site-footer .sb-footer-bottom,
  .sb-footer .footer-bottom,
  .sb-footer .sb-footer-bottom{
    border-top:1px solid rgba(255,255,255,.14)!important;
    margin-top:36px!important;
    padding-top:24px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:24px!important;
    color:#e5e7eb!important;
  }

  footer .footer-bottom *,
  footer .sb-footer-bottom *,
  .site-footer .footer-bottom *,
  .site-footer .sb-footer-bottom *,
  .sb-footer .footer-bottom *,
  .sb-footer .sb-footer-bottom *{
    color:#e5e7eb!important;
    opacity:1!important;
  }

  /* Evitar textos cortados en la esquina inferior derecha */
  footer .footer-bottom,
  footer .sb-footer-bottom,
  .site-footer .footer-bottom,
  .site-footer .sb-footer-bottom,
  .sb-footer .footer-bottom,
  .sb-footer .sb-footer-bottom{
    overflow:visible!important;
    padding-right:170px!important;
  }

  /* WhatsApp se mantiene, pero no tapa el contenido */
  .sa-whatsapp-float,
  .whatsapp-float,
  a[href*="wa.me"].floating,
  a[href*="whatsapp"].floating,
  a[href*="wa.me"][class*="float"],
  a[href*="whatsapp"][class*="float"]{
    right:24px!important;
    bottom:28px!important;
    z-index:9990!important;
  }
}

/* ===== v5.4.2: restaurar estilo claro tipo Inicio en páginas internas ===== */
body:not(.home) main,
body:not(.home) .site-main,
body:not(.home) .sb-main,
body:not(.home) .sb-page,
body:not(.home) .sb-content,
body:not(.home) .sb-section,
body:not(.home) .sb-section.alt{
  background:#ffffff!important;
  color:#18212b!important;
}

/* Héroes internos claros, sin fondo oscuro ni imagen de fondo forzada */
body:not(.home) main .sb-hero,
body:not(.home) main .sb-inner-hero,
body:not(.home) main .sb-page-hero,
body:not(.home) .site-main .sb-hero,
body:not(.home) .site-main .sb-inner-hero,
body:not(.home) .site-main .sb-page-hero{
  background:
    radial-gradient(circle at 10% 0%, rgba(255,193,7,.08), transparent 30%),
    radial-gradient(circle at 90% 0%, rgba(40,167,69,.08), transparent 30%),
    radial-gradient(circle at 50% 0%, rgba(13,110,253,.05), transparent 45%),
    #ffffff!important;
  color:#18212b!important;
  border-bottom:0!important;
  box-shadow:none!important;
}

body:not(.home) main .sb-hero::before,
body:not(.home) main .sb-inner-hero::before,
body:not(.home) main .sb-page-hero::before,
body:not(.home) main .sb-hero::after,
body:not(.home) main .sb-inner-hero::after,
body:not(.home) main .sb-page-hero::after{
  display:none!important;
  content:none!important;
}

body:not(.home) main h1,
body:not(.home) main h2,
body:not(.home) main h3,
body:not(.home) main h4,
body:not(.home) main h5,
body:not(.home) main h6,
body:not(.home) .site-main h1,
body:not(.home) .site-main h2,
body:not(.home) .site-main h3,
body:not(.home) .site-main h4,
body:not(.home) .site-main h5,
body:not(.home) .site-main h6{
  color:#18212b!important;
}

body:not(.home) main p,
body:not(.home) main li,
body:not(.home) main .sb-lead,
body:not(.home) main .sb-muted,
body:not(.home) main .sb-description{
  color:#475569!important;
}

/* Tarjetas claras, con separación correcta entre título y descripción */
body:not(.home) main .sb-card,
body:not(.home) main .sb-box,
body:not(.home) main .sb-feature,
body:not(.home) main .sb-service-card,
body:not(.home) main .service-card,
body:not(.home) main .sb-product-card,
body:not(.home) main .sb-project-card{
  background:#ffffff!important;
  color:#18212b!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:18px!important;
  box-shadow:0 14px 35px rgba(15,23,42,.06)!important;
  padding:24px!important;
  overflow:hidden!important;
}

body:not(.home) main .sb-card h3,
body:not(.home) main .sb-service-card h3,
body:not(.home) main .service-card h3{
  margin:0 0 10px!important;
  color:#18212b!important;
  line-height:1.25!important;
  display:block!important;
}

body:not(.home) main .sb-card p,
body:not(.home) main .sb-service-card p,
body:not(.home) main .service-card p{
  margin:0!important;
  color:#475569!important;
  line-height:1.65!important;
  display:block!important;
  font-weight:400!important;
}

body:not(.home) main .sb-service-card strong,
body:not(.home) main .service-card strong{
  display:block!important;
  margin-bottom:10px!important;
  color:#18212b!important;
}

/* Imagen Empresa */
.sb-company-hero-image{
  background:#ffffff!important;
  padding:0 0 56px!important;
  margin:0!important;
}
.sb-company-hero-image .sb-container{
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0 24px!important;
}
.sb-company-hero-image img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  border-radius:26px!important;
  box-shadow:0 22px 60px rgba(15,23,42,.12)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:#ffffff!important;
}

@media (max-width:782px){
  .sb-company-hero-image{padding:18px 0 44px!important}
  .sb-company-hero-image .sb-container{
    max-width:none!important;
    width:100%!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .sb-company-hero-image img{border-radius:22px!important}
}

/* ===== v5.4.3: footer aislado y legible ===== */
footer,.site-footer,.sb-footer{
  background:#0f1115!important;
  color:#d1d5db!important;
  position:relative!important;
  isolation:isolate!important;
  z-index:1!important;
}
footer .sb-container,.site-footer .sb-container,.sb-footer .sb-container{
  max-width:1180px!important;
  margin:0 auto!important;
  padding-left:24px!important;
  padding-right:24px!important;
}
footer h1,footer h2,footer h3,footer h4,footer h5,footer h6,
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,.site-footer h5,.site-footer h6,
.sb-footer h1,.sb-footer h2,.sb-footer h3,.sb-footer h4,.sb-footer h5,.sb-footer h6{
  color:#ffffff!important;
  opacity:1!important;
  font-weight:800!important;
}
footer p,footer li,footer span,footer small,
.site-footer p,.site-footer li,.site-footer span,.site-footer small,
.sb-footer p,.sb-footer li,.sb-footer span,.sb-footer small{
  color:#cbd5e1!important;
  opacity:1!important;
}
footer a,.site-footer a,.sb-footer a{
  color:#ffffff!important;
  opacity:1!important;
  font-weight:700!important;
  text-decoration:none!important;
}
footer a:hover,.site-footer a:hover,.sb-footer a:hover{color:#22c55e!important}
footer .footer-grid,footer .sb-footer-grid,.site-footer .footer-grid,.site-footer .sb-footer-grid,.sb-footer .footer-grid,.sb-footer .sb-footer-grid{
  display:grid!important;
  grid-template-columns:1.4fr 1fr 1fr!important;
  gap:56px!important;
  align-items:start!important;
}
footer .footer-bottom,footer .sb-footer-bottom,.site-footer .footer-bottom,.site-footer .sb-footer-bottom,.sb-footer .footer-bottom,.sb-footer .sb-footer-bottom{
  border-top:1px solid rgba(255,255,255,.14)!important;
  margin-top:38px!important;
  padding-top:24px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:24px!important;
  overflow:visible!important;
  color:#e5e7eb!important;
}
footer .footer-bottom *,footer .sb-footer-bottom *,.site-footer .footer-bottom *,.site-footer .sb-footer-bottom *,.sb-footer .footer-bottom *,.sb-footer .sb-footer-bottom *{
  color:#e5e7eb!important;
  opacity:1!important;
}
@media (min-width:783px){
  footer,.site-footer,.sb-footer{padding-bottom:110px!important}
  footer .footer-bottom,footer .sb-footer-bottom,.site-footer .footer-bottom,.site-footer .sb-footer-bottom,.sb-footer .footer-bottom,.sb-footer .sb-footer-bottom{padding-right:180px!important}
  .sa-whatsapp-float,.whatsapp-float,a[href*="wa.me"].floating,a[href*="whatsapp"].floating,a[href*="wa.me"][class*="float"],a[href*="whatsapp"][class*="float"]{
    right:24px!important;
    bottom:28px!important;
    z-index:9990!important;
  }
}
@media (max-width:782px){
  footer .footer-grid,footer .sb-footer-grid,.site-footer .footer-grid,.site-footer .sb-footer-grid,.sb-footer .footer-grid,.sb-footer .sb-footer-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  footer .footer-bottom,footer .sb-footer-bottom,.site-footer .footer-bottom,.site-footer .sb-footer-bottom,.sb-footer .footer-bottom,.sb-footer .sb-footer-bottom{
    display:block!important;
    padding-right:0!important;
  }
}

/* ===== v5.4.4: footer uniforme y restauración header móvil ===== */

/* FOOTER: mismo contraste que Inicio en TODAS las páginas */
html body footer,
html body .site-footer,
html body .sb-footer,
html body #colophon{
  background:#0f1115!important;
  color:#ffffff!important;
  opacity:1!important;
}

html body footer .sb-container,
html body .site-footer .sb-container,
html body .sb-footer .sb-container,
html body #colophon .sb-container{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:24px!important;
  padding-right:24px!important;
}

/* Forzar color claro incluso en páginas internas donde había reglas oscuras heredadas */
html body footer *,
html body .site-footer *,
html body .sb-footer *,
html body #colophon *{
  color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}

html body footer p,
html body footer li,
html body footer span,
html body footer small,
html body footer div,
html body .site-footer p,
html body .site-footer li,
html body .site-footer span,
html body .site-footer small,
html body .site-footer div,
html body .sb-footer p,
html body .sb-footer li,
html body .sb-footer span,
html body .sb-footer small,
html body .sb-footer div,
html body #colophon p,
html body #colophon li,
html body #colophon span,
html body #colophon small,
html body #colophon div{
  color:#e5e7eb!important;
  opacity:1!important;
}

html body footer h1,
html body footer h2,
html body footer h3,
html body footer h4,
html body footer h5,
html body footer h6,
html body .site-footer h1,
html body .site-footer h2,
html body .site-footer h3,
html body .site-footer h4,
html body .site-footer h5,
html body .site-footer h6,
html body .sb-footer h1,
html body .sb-footer h2,
html body .sb-footer h3,
html body .sb-footer h4,
html body .sb-footer h5,
html body .sb-footer h6,
html body #colophon h1,
html body #colophon h2,
html body #colophon h3,
html body #colophon h4,
html body #colophon h5,
html body #colophon h6{
  color:#ffffff!important;
  opacity:1!important;
  font-weight:800!important;
}

html body footer a,
html body .site-footer a,
html body .sb-footer a,
html body #colophon a{
  color:#ffffff!important;
  opacity:1!important;
  font-weight:800!important;
  text-decoration:none!important;
}

html body footer a:hover,
html body .site-footer a:hover,
html body .sb-footer a:hover,
html body #colophon a:hover{
  color:#22c55e!important;
}

/* Grilla y línea inferior del footer */
html body footer .footer-grid,
html body footer .sb-footer-grid,
html body .site-footer .footer-grid,
html body .site-footer .sb-footer-grid,
html body .sb-footer .footer-grid,
html body .sb-footer .sb-footer-grid,
html body #colophon .footer-grid,
html body #colophon .sb-footer-grid{
  display:grid!important;
  grid-template-columns:1.35fr 1fr 1fr!important;
  gap:56px!important;
  align-items:start!important;
}

html body footer .footer-bottom,
html body footer .sb-footer-bottom,
html body .site-footer .footer-bottom,
html body .site-footer .sb-footer-bottom,
html body .sb-footer .footer-bottom,
html body .sb-footer .sb-footer-bottom,
html body #colophon .footer-bottom,
html body #colophon .sb-footer-bottom{
  border-top:1px solid rgba(255,255,255,.18)!important;
  margin-top:38px!important;
  padding-top:24px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:24px!important;
  overflow:visible!important;
}

@media (min-width:783px){
  html body footer,
  html body .site-footer,
  html body .sb-footer,
  html body #colophon{
    padding-bottom:110px!important;
  }

  html body footer .footer-bottom,
  html body footer .sb-footer-bottom,
  html body .site-footer .footer-bottom,
  html body .site-footer .sb-footer-bottom,
  html body .sb-footer .footer-bottom,
  html body .sb-footer .sb-footer-bottom,
  html body #colophon .footer-bottom,
  html body #colophon .sb-footer-bottom{
    padding-right:180px!important;
  }
}

/* MÓVIL: restaurar barra superior y logo */
@media (max-width:782px){

  html body .sb-header,
  html body .site-header,
  html body header.site-header,
  html body #masthead{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    background:#0f1115!important;
    position:relative!important;
    z-index:10020!important;
    min-height:88px!important;
  }

  html body .sb-header .sb-container,
  html body .site-header .sb-container,
  html body #masthead .sb-container,
  html body .sb-header-inner,
  html body .header-inner,
  html body .site-header .header-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:88px!important;
    gap:14px!important;
  }

  html body .sb-brand,
  html body .site-branding,
  html body .sb-logo,
  html body .site-logo,
  html body .custom-logo-link{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:flex-start!important;
    margin-left:0!important;
    margin-right:auto!important;
    text-align:left!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    z-index:10022!important;
  }

  html body .custom-logo-link img,
  html body .custom-logo,
  html body .sb-logo img,
  html body .site-logo img,
  html body .site-branding img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    margin-left:0!important;
    margin-right:auto!important;
    transform:none!important;
  }

  html body .sb-menu-toggle,
  html body .menu-toggle,
  html body .mobile-menu-toggle,
  html body button[aria-controls]{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    gap:8px!important;
    margin-left:auto!important;
    color:#ffffff!important;
    background:transparent!important;
    border:0!important;
    font-weight:900!important;
    position:relative!important;
    z-index:10023!important;
  }

  html body .sb-menu-toggle::before,
  html body .menu-toggle::before,
  html body .mobile-menu-toggle::before,
  html body button[aria-controls]::before{
    content:"☰";
    color:#ffffff!important;
    font-size:1.15em;
    font-weight:900;
  }

  html body.menu-open .sb-menu-toggle::before,
  html body.menu-open .menu-toggle::before,
  html body.menu-open .mobile-menu-toggle::before,
  html body.menu-open button[aria-controls]::before{
    content:"×";
    font-size:1.45em;
  }

  html body:not(.menu-open) .sb-nav,
  html body:not(.menu-open) .main-navigation,
  html body:not(.menu-open) .primary-navigation,
  html body:not(.menu-open) .site-navigation{
    display:none!important;
  }

  html body.menu-open::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    z-index:10000;
  }

  html body.menu-open .sb-nav,
  html body.menu-open .main-navigation,
  html body.menu-open .primary-navigation,
  html body.menu-open .site-navigation,
  html body .sb-nav.is-open,
  html body .main-navigation.is-open,
  html body .primary-navigation.is-open,
  html body .site-navigation.is-open{
    display:block!important;
    position:fixed!important;
    top:112px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    max-height:72vh!important;
    overflow-y:auto!important;
    background:#0f1115!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:20px!important;
    box-shadow:0 26px 60px rgba(0,0,0,.45)!important;
    padding:12px 18px 18px!important;
    z-index:10021!important;
  }

  html body.menu-open .sb-nav ul,
  html body.menu-open .main-navigation ul,
  html body.menu-open .primary-navigation ul,
  html body.menu-open .site-navigation ul{
    display:flex!important;
    flex-direction:column!important;
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    background:#0f1115!important;
  }

  html body.menu-open .sb-nav a,
  html body.menu-open .main-navigation a,
  html body.menu-open .primary-navigation a,
  html body.menu-open .site-navigation a,
  html body.menu-open .menu a{
    display:block!important;
    width:100%!important;
    color:#ffffff!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    font-size:.92rem!important;
    line-height:1.25!important;
    font-weight:850!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    padding:12px 2px!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
  }

  html body.menu-open .sb-nav a[href*="cotizar"],
  html body.menu-open .main-navigation a[href*="cotizar"],
  html body.menu-open .primary-navigation a[href*="cotizar"],
  html body.menu-open .site-navigation a[href*="cotizar"],
  html body.menu-open .menu a[href*="cotizar"]{
    margin-top:12px!important;
    padding:14px 18px!important;
    border-radius:999px!important;
    background:#00a651!important;
    color:#ffffff!important;
    text-align:center!important;
    border-bottom:0!important;
  }

  /* Footer móvil consistente */
  html body footer .footer-grid,
  html body footer .sb-footer-grid,
  html body .site-footer .footer-grid,
  html body .site-footer .sb-footer-grid,
  html body .sb-footer .footer-grid,
  html body .sb-footer .sb-footer-grid,
  html body #colophon .footer-grid,
  html body #colophon .sb-footer-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  html body footer .footer-bottom,
  html body footer .sb-footer-bottom,
  html body .site-footer .footer-bottom,
  html body .site-footer .sb-footer-bottom,
  html body .sb-footer .footer-bottom,
  html body .sb-footer .sb-footer-bottom,
  html body #colophon .footer-bottom,
  html body #colophon .sb-footer-bottom{
    display:block!important;
    padding-right:0!important;
  }
}

/* ===== v5.4.5: FAQ Soporte legible ===== */
.sb-faq-list{display:grid;gap:16px}
.sb-faq-item{background:#fff!important;border:1px solid rgba(15,23,42,.10)!important;border-radius:18px!important;box-shadow:0 12px 30px rgba(15,23,42,.05)!important;overflow:hidden!important}
.sb-faq-item summary{list-style:none!important;cursor:pointer!important;display:flex!important;align-items:flex-start!important;gap:14px!important;padding:20px 22px!important;color:#18212b!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:1.05rem!important;font-weight:750!important;line-height:1.45!important;letter-spacing:-.015em!important}
.sb-faq-item summary::-webkit-details-marker{display:none!important}
.sb-faq-item summary::before{content:"+";flex:0 0 28px;width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e8f8ef;color:#00a651;font-weight:900;line-height:1;margin-top:1px}
.sb-faq-item[open] summary::before{content:"–";background:#00a651;color:#fff}
.sb-faq-item .sb-faq-answer{padding:0 22px 22px 64px!important;color:#475569!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:1rem!important;line-height:1.75!important;font-weight:400!important}
.sb-faq-item .sb-faq-answer p{margin:0!important;color:#475569!important}
@media(max-width:782px){.sb-faq-item summary{padding:18px!important;font-size:1rem!important}.sb-faq-item .sb-faq-answer{padding:0 18px 18px 60px!important;font-size:.98rem!important}}

/* ===== v5.4.6: restaurar logo y botón menú en móvil ===== */
@media (max-width:782px){

  html body .sb-header,
  html body .site-header,
  html body header.site-header,
  html body #masthead{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    background:#0f1115!important;
    min-height:92px!important;
    height:auto!important;
    position:relative!important;
    z-index:10050!important;
    overflow:visible!important;
  }

  html body .sb-header .sb-container,
  html body .site-header .sb-container,
  html body #masthead .sb-container,
  html body .sb-header-inner,
  html body .header-inner,
  html body .site-header .header-inner{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:92px!important;
    width:100%!important;
    gap:14px!important;
    overflow:visible!important;
  }

  /* Logo visible a la izquierda, sin cambiar tamaño real configurado */
  html body .sb-brand,
  html body .site-branding,
  html body .sb-logo,
  html body .site-logo,
  html body .custom-logo-link{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:0 1 auto!important;
    margin-left:0!important;
    margin-right:auto!important;
    text-align:left!important;
    position:relative!important;
    z-index:10060!important;
    transform:none!important;
    filter:none!important;
  }

  html body .custom-logo-link img,
  html body .custom-logo,
  html body .sb-logo img,
  html body .site-logo img,
  html body .site-branding img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    max-width:100%!important;
    height:auto!important;
    margin-left:0!important;
    margin-right:auto!important;
    transform:none!important;
    filter:none!important;
  }

  /* Si el tema usa imagen como background del logo */
  html body .sb-logo,
  html body .site-logo,
  html body .site-branding{
    background-size:contain!important;
    background-repeat:no-repeat!important;
    background-position:left center!important;
  }

  /* Botón de menú visible a la derecha */
  html body .sb-menu-toggle,
  html body .menu-toggle,
  html body .mobile-menu-toggle,
  html body button[aria-controls],
  html body button[aria-expanded]{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin-left:auto!important;
    color:#ffffff!important;
    background:transparent!important;
    border:0!important;
    font-weight:900!important;
    font-size:1rem!important;
    line-height:1!important;
    position:relative!important;
    z-index:10070!important;
    width:auto!important;
    height:auto!important;
    min-width:auto!important;
    min-height:auto!important;
    padding:10px 0 10px 12px!important;
    text-indent:0!important;
    overflow:visible!important;
  }

  html body .sb-menu-toggle,
  html body .menu-toggle,
  html body .mobile-menu-toggle{
    font-size:0!important;
  }

  html body .sb-menu-toggle::before,
  html body .menu-toggle::before,
  html body .mobile-menu-toggle::before,
  html body button[aria-controls]::before,
  html body button[aria-expanded]::before{
    content:"☰ Menú";
    display:inline-block!important;
    color:#ffffff!important;
    font-size:1rem!important;
    line-height:1!important;
    font-weight:900!important;
    opacity:1!important;
    visibility:visible!important;
    text-indent:0!important;
    white-space:nowrap!important;
  }

  html body.menu-open .sb-menu-toggle::before,
  html body.menu-open .menu-toggle::before,
  html body.menu-open .mobile-menu-toggle::before,
  html body.menu-open button[aria-controls]::before,
  html body.menu-open button[aria-expanded]::before{
    content:"× Cerrar";
  }

  /* El menú cerrado no debe ocultar el header, solo la navegación */
  html body:not(.menu-open) .sb-header .sb-nav,
  html body:not(.menu-open) .site-header .main-navigation,
  html body:not(.menu-open) #masthead .main-navigation,
  html body:not(.menu-open) #masthead .primary-navigation,
  html body:not(.menu-open) #masthead .site-navigation{
    display:none!important;
  }

  /* Menú abierto como panel flotante */
  html body.menu-open .sb-header .sb-nav,
  html body.menu-open .site-header .main-navigation,
  html body.menu-open #masthead .main-navigation,
  html body.menu-open #masthead .primary-navigation,
  html body.menu-open #masthead .site-navigation,
  html body .sb-nav.is-open,
  html body .main-navigation.is-open,
  html body .primary-navigation.is-open,
  html body .site-navigation.is-open{
    display:block!important;
    position:fixed!important;
    top:112px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    max-height:72vh!important;
    overflow-y:auto!important;
    background:#0f1115!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:20px!important;
    box-shadow:0 26px 60px rgba(0,0,0,.45)!important;
    padding:12px 18px 18px!important;
    z-index:10055!important;
  }
}

/* ===== v5.4.7: corrección real del header móvil ===== */
/* Problema localizado: .sb-nav es el contenedor del header, no el menú.
   Por eso no debe ocultarse. El menú real es .sb-menu / [data-menu]. */
@media (max-width:782px){

  /* Header y contenedor siempre visibles */
  html body .sb-header{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    background:#0f1115!important;
    min-height:92px!important;
    position:relative!important;
    z-index:10050!important;
    overflow:visible!important;
  }

  html body .sb-header > .sb-container.sb-nav,
  html body .sb-header .sb-container.sb-nav,
  html body .sb-container.sb-nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:92px!important;
    width:100%!important;
    gap:14px!important;
    overflow:visible!important;
    background:#0f1115!important;
    position:relative!important;
    z-index:10051!important;
  }

  /* Logo siempre visible a la izquierda */
  html body .sb-header .sb-brand{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:0 1 auto!important;
    margin-left:0!important;
    margin-right:auto!important;
    text-align:left!important;
    position:relative!important;
    z-index:10060!important;
    transform:none!important;
    filter:none!important;
  }

  html body .sb-header .sb-brand .custom-logo-link,
  html body .sb-header .sb-brand img,
  html body .sb-header .sb-brand .custom-logo{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    margin-left:0!important;
    margin-right:auto!important;
    transform:none!important;
    filter:none!important;
  }

  html body .sb-header .sb-brand .custom-logo-link{
    display:flex!important;
    align-items:center!important;
  }

  /* Botón menú visible a la derecha */
  html body .sb-header .sb-menu-toggle{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin-left:auto!important;
    color:#ffffff!important;
    background:transparent!important;
    border:0!important;
    font-weight:900!important;
    font-size:0!important;
    line-height:1!important;
    position:relative!important;
    z-index:10070!important;
    width:auto!important;
    height:auto!important;
    min-width:auto!important;
    min-height:auto!important;
    padding:10px 0 10px 12px!important;
    text-indent:0!important;
    overflow:visible!important;
  }

  html body .sb-header .sb-menu-toggle::before{
    content:"☰ Menú"!important;
    display:inline-block!important;
    color:#ffffff!important;
    font-size:1rem!important;
    line-height:1!important;
    font-weight:900!important;
    opacity:1!important;
    visibility:visible!important;
    white-space:nowrap!important;
  }

  html body.menu-open .sb-header .sb-menu-toggle::before{
    content:"× Cerrar"!important;
  }

  /* IMPORTANTE: ocultar solo el menú real, nunca .sb-nav */
  html body:not(.menu-open) .sb-header .sb-menu,
  html body:not(.menu-open) .sb-header [data-menu]{
    display:none!important;
  }

  /* Overlay al abrir */
  html body.menu-open::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    z-index:10000;
  }

  /* Menú flotante real */
  html body.menu-open .sb-header .sb-menu,
  html body.menu-open .sb-header [data-menu],
  html body .sb-header .sb-menu.is-open,
  html body .sb-header [data-menu].is-open{
    display:block!important;
    position:fixed!important;
    top:112px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    max-height:72vh!important;
    overflow-y:auto!important;
    background:#0f1115!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:20px!important;
    box-shadow:0 26px 60px rgba(0,0,0,.45)!important;
    padding:12px 18px 18px!important;
    z-index:10055!important;
  }

  html body.menu-open .sb-header .sb-menu ul,
  html body.menu-open .sb-header [data-menu] ul{
    display:flex!important;
    flex-direction:column!important;
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    background:#0f1115!important;
  }

  html body.menu-open .sb-header .sb-menu li,
  html body.menu-open .sb-header [data-menu] li{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }

  html body.menu-open .sb-header .sb-menu a,
  html body.menu-open .sb-header [data-menu] a{
    display:block!important;
    width:100%!important;
    color:#ffffff!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    font-size:.92rem!important;
    line-height:1.25!important;
    font-weight:850!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    padding:12px 2px!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
  }

  html body.menu-open .sb-header .sb-menu a:hover,
  html body.menu-open .sb-header [data-menu] a:hover{
    color:#22c55e!important;
  }

  html body.menu-open .sb-header .sb-menu a[href*="cotizar"],
  html body.menu-open .sb-header [data-menu] a[href*="cotizar"],
  html body.menu-open .sb-header .sb-menu-cta{
    margin-top:12px!important;
    padding:14px 18px!important;
    border-radius:999px!important;
    background:#00a651!important;
    color:#ffffff!important;
    text-align:center!important;
    border-bottom:0!important;
  }
}

/* ===== v5.4.8: corrección fina SOLO header móvil ===== */
/* No modifica escritorio ni otras secciones. */
@media (max-width:782px){

  /* Header móvil siempre visible */
  html body .sb-header{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    background:#0f1115!important;
    min-height:92px!important;
    height:auto!important;
    position:relative!important;
    z-index:10050!important;
    overflow:visible!important;
  }

  /* .sb-nav es el contenedor horizontal del header, NO el panel del menú */
  html body .sb-header .sb-container.sb-nav,
  html body .sb-header > .sb-nav,
  html body .sb-header .sb-nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:14px!important;
    width:100%!important;
    min-height:92px!important;
    background:#0f1115!important;
    position:relative!important;
    z-index:10051!important;
    overflow:visible!important;
  }

  /* Logo fijo a la izquierda: no centrado */
  html body .sb-header .sb-brand{
    order:1!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:0 1 auto!important;
    margin:0 auto 0 0!important;
    text-align:left!important;
    position:relative!important;
    left:0!important;
    right:auto!important;
    transform:none!important;
    z-index:10060!important;
  }

  html body .sb-header .sb-brand .custom-logo-link,
  html body .sb-header .sb-brand img,
  html body .sb-header .sb-brand .custom-logo{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    margin-left:0!important;
    margin-right:0!important;
    transform:none!important;
    filter:none!important;
  }

  html body .sb-header .sb-brand .custom-logo-link{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }

  /* Botón Menú fijo a la derecha */
  html body .sb-header .sb-menu-toggle{
    order:3!important;
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex:0 0 auto!important;
    margin-left:auto!important;
    margin-right:0!important;
    padding:10px 0 10px 12px!important;
    color:#ffffff!important;
    background:transparent!important;
    border:0!important;
    font-weight:900!important;
    font-size:0!important;
    line-height:1!important;
    text-indent:0!important;
    white-space:nowrap!important;
    position:relative!important;
    z-index:10070!important;
    overflow:visible!important;
  }

  html body .sb-header .sb-menu-toggle::before{
    content:"☰ Menú"!important;
    display:inline-block!important;
    color:#ffffff!important;
    font-size:1rem!important;
    line-height:1!important;
    font-weight:900!important;
    opacity:1!important;
    visibility:visible!important;
    white-space:nowrap!important;
  }

  html body.menu-open .sb-header .sb-menu-toggle::before{
    content:"× Cerrar"!important;
  }

  /* El panel móvil debe contener SOLO enlaces. Se oculta cualquier logo o brand duplicado dentro del panel. */
  html body.menu-open .sb-header .sb-menu .sb-brand,
  html body.menu-open .sb-header .sb-menu .site-branding,
  html body.menu-open .sb-header .sb-menu .custom-logo-link,
  html body.menu-open .sb-header [data-menu] .sb-brand,
  html body.menu-open .sb-header [data-menu] .site-branding,
  html body.menu-open .sb-header [data-menu] .custom-logo-link{
    display:none!important;
  }

  /* No ocultar .sb-nav; ocultar únicamente el menú real */
  html body:not(.menu-open) .sb-header .sb-menu,
  html body:not(.menu-open) .sb-header [data-menu]{
    display:none!important;
  }

  /* Overlay oscuro al abrir */
  html body.menu-open::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    z-index:10000;
  }

  /* Panel desplegable debajo del header, compacto */
  html body.menu-open .sb-header .sb-menu,
  html body.menu-open .sb-header [data-menu],
  html body .sb-header .sb-menu.is-open,
  html body .sb-header [data-menu].is-open{
    display:block!important;
    position:fixed!important;
    top:112px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    max-height:70vh!important;
    overflow-y:auto!important;
    background:#0f1115!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:20px!important;
    box-shadow:0 26px 60px rgba(0,0,0,.45)!important;
    padding:12px 18px 18px!important;
    z-index:10055!important;
  }

  html body.menu-open .sb-header .sb-menu ul,
  html body.menu-open .sb-header [data-menu] ul{
    display:flex!important;
    flex-direction:column!important;
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    background:#0f1115!important;
  }

  html body.menu-open .sb-header .sb-menu li,
  html body.menu-open .sb-header [data-menu] li{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }

  html body.menu-open .sb-header .sb-menu a,
  html body.menu-open .sb-header [data-menu] a{
    display:block!important;
    width:100%!important;
    color:#ffffff!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    font-size:.92rem!important;
    line-height:1.25!important;
    font-weight:850!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    padding:12px 2px!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
  }

  html body.menu-open .sb-header .sb-menu a:hover,
  html body.menu-open .sb-header [data-menu] a:hover{
    color:#22c55e!important;
  }

  html body.menu-open .sb-header .sb-menu a[href*="cotizar"],
  html body.menu-open .sb-header [data-menu] a[href*="cotizar"],
  html body.menu-open .sb-header .sb-menu-cta{
    margin-top:12px!important;
    padding:14px 18px!important;
    border-radius:999px!important;
    background:#00a651!important;
    color:#ffffff!important;
    text-align:center!important;
    border-bottom:0!important;
  }
}

/* ===== v5.4.9: limpieza final SOLO menú móvil ===== */
@media (max-width:782px){

  /* Barra superior limpia: sin líneas, sin pseudo-elementos extra */
  html body .sb-header,
  html body .sb-header *,
  html body .sb-header .sb-container,
  html body .sb-header .sb-nav,
  html body .sb-header .sb-brand{
    box-shadow:none!important;
  }

  html body .sb-header::before,
  html body .sb-header::after,
  html body .sb-header .sb-container::before,
  html body .sb-header .sb-container::after,
  html body .sb-header .sb-nav::before,
  html body .sb-header .sb-nav::after,
  html body .sb-header .sb-brand::before,
  html body .sb-header .sb-brand::after,
  html body .sb-header .custom-logo-link::before,
  html body .sb-header .custom-logo-link::after{
    display:none!important;
    content:none!important;
    opacity:0!important;
    border:0!important;
    background:none!important;
  }

  html body .sb-header,
  html body .sb-header .sb-container.sb-nav,
  html body .sb-header .sb-nav{
    border:0!important;
    border-top:0!important;
    border-bottom:0!important;
    outline:0!important;
    background:#0f1115!important;
    overflow:visible!important;
  }

  /* Evitar recorte del logo en el borde izquierdo */
  html body .sb-header .sb-container.sb-nav,
  html body .sb-header .sb-nav{
    padding-left:18px!important;
    padding-right:18px!important;
  }

  html body .sb-header .sb-brand{
    margin-left:0!important;
    padding-left:0!important;
    left:0!important;
    transform:none!important;
    overflow:visible!important;
    max-width:62%!important;
  }

  html body .sb-header .sb-brand img,
  html body .sb-header .custom-logo{
    max-width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }

  html body .sb-header .sb-menu-toggle{
    max-width:38%!important;
  }

  /* Panel móvil: quitar cualquier cabecera, logo o marca interna */
  html body.menu-open .sb-header .sb-menu .sb-brand,
  html body.menu-open .sb-header .sb-menu .site-branding,
  html body.menu-open .sb-header .sb-menu .custom-logo-link,
  html body.menu-open .sb-header .sb-menu .custom-logo,
  html body.menu-open .sb-header .sb-menu img.custom-logo,
  html body.menu-open .sb-header .sb-menu img[src*="logo"],
  html body.menu-open .sb-header .sb-menu img[src*="Logo"],
  html body.menu-open .sb-header .sb-menu img[src*="ramirez"],
  html body.menu-open .sb-header .sb-menu img[src*="Ramirez"],
  html body.menu-open .sb-header .sb-menu img[src*="adse"],
  html body.menu-open .sb-header .sb-menu img[src*="ADSE"],
  html body.menu-open .sb-header [data-menu] .sb-brand,
  html body.menu-open .sb-header [data-menu] .site-branding,
  html body.menu-open .sb-header [data-menu] .custom-logo-link,
  html body.menu-open .sb-header [data-menu] .custom-logo,
  html body.menu-open .sb-header [data-menu] img.custom-logo,
  html body.menu-open .sb-header [data-menu] img[src*="logo"],
  html body.menu-open .sb-header [data-menu] img[src*="Logo"],
  html body.menu-open .sb-header [data-menu] img[src*="ramirez"],
  html body.menu-open .sb-header [data-menu] img[src*="Ramirez"],
  html body.menu-open .sb-header [data-menu] img[src*="adse"],
  html body.menu-open .sb-header [data-menu] img[src*="ADSE"]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    width:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
  }

  /* Si el panel tiene una cabecera interna, se elimina visualmente */
  html body.menu-open .sb-header .sb-menu .sb-mobile-header,
  html body.menu-open .sb-header .sb-menu .mobile-header,
  html body.menu-open .sb-header .sb-menu .menu-header,
  html body.menu-open .sb-header [data-menu] .sb-mobile-header,
  html body.menu-open .sb-header [data-menu] .mobile-header,
  html body.menu-open .sb-header [data-menu] .menu-header{
    display:none!important;
  }

  /* Panel más compacto al quitar logo interno */
  html body.menu-open .sb-header .sb-menu,
  html body.menu-open .sb-header [data-menu],
  html body .sb-header .sb-menu.is-open,
  html body .sb-header [data-menu].is-open{
    top:112px!important;
    padding-top:10px!important;
    padding-bottom:18px!important;
  }

  /* Primer enlace sin margen superior raro */
  html body.menu-open .sb-header .sb-menu ul,
  html body.menu-open .sb-header [data-menu] ul{
    margin-top:0!important;
    padding-top:0!important;
  }

  html body.menu-open .sb-header .sb-menu li:first-child,
  html body.menu-open .sb-header [data-menu] li:first-child{
    margin-top:0!important;
  }
}

/* ===== v5.5.0: corrección estructural del header móvil ===== */
/* Se dejó de usar .sb-nav como contenedor del header para evitar que reglas antiguas lo conviertan en panel móvil. */

.sb-header-inner{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

/* Desktop: mantener comportamiento visual existente */
@media (min-width:783px){
  .sb-header .sb-header-inner{
    min-height:78px;
  }
}

/* Mobile: solo controla el área del header y menú móvil */
@media (max-width:782px){

  html body .sb-header{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    background:#0f1115!important;
    min-height:92px!important;
    position:relative!important;
    z-index:10050!important;
    overflow:visible!important;
    border:0!important;
    box-shadow:none!important;
  }

  html body .sb-header::before,
  html body .sb-header::after{
    display:none!important;
    content:none!important;
  }

  html body .sb-header .sb-header-inner{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:14px!important;
    width:min(1180px, calc(100% - 32px))!important;
    min-height:92px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0!important;
    background:#0f1115!important;
    position:relative!important;
    z-index:10051!important;
    overflow:visible!important;
    border:0!important;
    box-shadow:none!important;
  }

  html body .sb-header .sb-header-inner::before,
  html body .sb-header .sb-header-inner::after,
  html body .sb-header .sb-brand::before,
  html body .sb-header .sb-brand::after,
  html body .sb-header .custom-logo-link::before,
  html body .sb-header .custom-logo-link::after{
    display:none!important;
    content:none!important;
    border:0!important;
    background:none!important;
    box-shadow:none!important;
  }

  /* Logo: solo en barra superior, alineado a la izquierda */
  html body .sb-header .sb-brand{
    order:1!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:0 1 auto!important;
    max-width:62%!important;
    margin:0 auto 0 0!important;
    padding:0!important;
    text-align:left!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    z-index:10060!important;
    overflow:visible!important;
    border:0!important;
    box-shadow:none!important;
  }

  html body .sb-header .sb-brand .custom-logo-link{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    visibility:visible!important;
    opacity:1!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border:0!important;
    box-shadow:none!important;
  }

  html body .sb-header .sb-brand img,
  html body .sb-header .sb-brand .custom-logo{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    max-width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    margin:0!important;
    transform:none!important;
    filter:none!important;
  }

  /* Botón Menú: solo en barra superior, a la derecha */
  html body .sb-header .sb-menu-toggle{
    order:3!important;
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex:0 0 auto!important;
    max-width:38%!important;
    margin-left:auto!important;
    margin-right:0!important;
    padding:10px 0 10px 12px!important;
    color:#ffffff!important;
    background:transparent!important;
    border:0!important;
    font-weight:900!important;
    font-size:0!important;
    line-height:1!important;
    text-indent:0!important;
    white-space:nowrap!important;
    position:relative!important;
    z-index:10070!important;
    overflow:visible!important;
    box-shadow:none!important;
  }

  html body .sb-header .sb-menu-toggle::before{
    content:"☰ Menú"!important;
    display:inline-block!important;
    color:#ffffff!important;
    font-size:1rem!important;
    line-height:1!important;
    font-weight:900!important;
    opacity:1!important;
    visibility:visible!important;
    white-space:nowrap!important;
  }

  html body.menu-open .sb-header .sb-menu-toggle::before{
    content:"× Cerrar"!important;
  }

  /* El menú real es .sb-menu. Cerrado no ocupa espacio. */
  html body:not(.menu-open) .sb-header .sb-menu{
    display:none!important;
  }

  /* Overlay */
  html body.menu-open::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    z-index:10000;
  }

  /* Panel desplegable: solo enlaces, sin logo interno */
  html body.menu-open .sb-header .sb-menu,
  html body .sb-header .sb-menu.is-open{
    display:block!important;
    position:fixed!important;
    top:112px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    max-height:70vh!important;
    overflow-y:auto!important;
    background:#0f1115!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:20px!important;
    box-shadow:0 26px 60px rgba(0,0,0,.45)!important;
    padding:10px 18px 18px!important;
    z-index:10055!important;
  }

  html body.menu-open .sb-header .sb-menu .sb-brand,
  html body.menu-open .sb-header .sb-menu .custom-logo-link,
  html body.menu-open .sb-header .sb-menu img,
  html body .sb-header .sb-menu.is-open .sb-brand,
  html body .sb-header .sb-menu.is-open .custom-logo-link,
  html body .sb-header .sb-menu.is-open img{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    width:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
  }

  html body.menu-open .sb-header .sb-menu ul,
  html body .sb-header .sb-menu.is-open ul{
    display:flex!important;
    flex-direction:column!important;
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    background:#0f1115!important;
  }

  html body.menu-open .sb-header .sb-menu li,
  html body .sb-header .sb-menu.is-open li{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }

  html body.menu-open .sb-header .sb-menu a,
  html body .sb-header .sb-menu.is-open a{
    display:block!important;
    width:100%!important;
    color:#ffffff!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    font-size:.92rem!important;
    line-height:1.25!important;
    font-weight:850!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    padding:12px 2px!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
  }

  html body.menu-open .sb-header .sb-menu a:hover,
  html body .sb-header .sb-menu.is-open a:hover{
    color:#22c55e!important;
  }

  html body.menu-open .sb-header .sb-menu a[href*="cotizar"],
  html body.menu-open .sb-header .sb-menu-cta,
  html body .sb-header .sb-menu.is-open a[href*="cotizar"],
  html body .sb-header .sb-menu.is-open .sb-menu-cta{
    margin-top:12px!important;
    padding:14px 18px!important;
    border-radius:999px!important;
    background:#00a651!important;
    color:#ffffff!important;
    text-align:center!important;
    border-bottom:0!important;
  }
}


/* ===== V5.5.1 Ajuste visual catálogo y ficha de productos ===== */
/* Catálogo: más productos visibles, imágenes completas y tarjetas compactas */
.post-type-archive-producto main .sb-section,
.page-template-template-productos main .sb-section,
body.page main .sb-section:has(.sb-filter-box){
  padding-top:38px!important;
}

.post-type-archive-producto main .sb-filter-box,
.page-template-template-productos main .sb-filter-box{
  margin-bottom:24px!important;
}

.post-type-archive-producto main .sb-grid-3,
.page-template-template-productos main .sb-grid-3{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}

.post-type-archive-producto main .sb-card,
.page-template-template-productos main .sb-card{
  padding:16px!important;
  border-radius:18px!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}

.post-type-archive-producto main .sb-card-img,
.page-template-template-productos main .sb-card-img{
  aspect-ratio:auto!important;
  height:210px!important;
  margin-bottom:12px!important;
  border-radius:14px!important;
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.08)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.post-type-archive-producto main .sb-card-img img,
.page-template-template-productos main .sb-card-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}

.post-type-archive-producto main .sb-card h3,
.page-template-template-productos main .sb-card h3{
  font-size:1.05rem!important;
  line-height:1.25!important;
  margin:8px 0 6px!important;
}

.post-type-archive-producto main .sb-card p,
.page-template-template-productos main .sb-card p{
  font-size:.92rem!important;
  line-height:1.45!important;
  margin-bottom:8px!important;
}

.post-type-archive-producto main .sb-card .sb-btn,
.page-template-template-productos main .sb-card .sb-btn{
  margin-top:auto!important;
  padding:10px 14px!important;
  font-size:.9rem!important;
}

.post-type-archive-producto main .sb-pill,
.page-template-template-productos main .sb-pill{
  font-size:.75rem!important;
  padding:4px 9px!important;
  align-self:flex-start!important;
  background:rgba(15,23,42,.06)!important;
  color:#334155!important;
}

/* Ficha producto: reducir espacios y mostrar imagen completa */
.single-producto main .sb-page-hero{
  padding:40px 0 34px!important;
}

.single-producto main .sb-page-hero h1{
  font-size:clamp(34px,5vw,60px)!important;
  margin-bottom:12px!important;
}

.single-producto main .sb-section{
  padding:42px 0 60px!important;
}

.single-producto .sb-product-layout{
  grid-template-columns:minmax(280px,420px) 1fr!important;
  gap:28px!important;
}

.single-producto .sb-product-side .sb-card-img{
  height:360px!important;
  aspect-ratio:auto!important;
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:18px!important;
  padding:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.single-producto .sb-product-side .sb-card-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

.single-producto article.sb-card{
  padding:26px!important;
}

.single-producto .sb-media-section{
  margin-top:24px!important;
}

.single-producto .sb-media-section h2{
  font-size:clamp(26px,3vw,40px)!important;
  margin-bottom:14px!important;
}

.single-producto .sb-gallery-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}

.single-producto .sb-gallery-grid a{
  height:170px!important;
  border-radius:16px!important;
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.single-producto .sb-gallery-grid img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media(max-width:1180px){
  .post-type-archive-producto main .sb-grid-3,
  .page-template-template-productos main .sb-grid-3{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  .post-type-archive-producto main .sb-grid-3,
  .page-template-template-productos main .sb-grid-3{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .single-producto .sb-product-layout{
    grid-template-columns:1fr!important;
  }
  .single-producto .sb-product-side{
    position:static!important;
  }
}

@media(max-width:560px){
  .post-type-archive-producto main .sb-grid-3,
  .page-template-template-productos main .sb-grid-3{
    grid-template-columns:1fr!important;
  }
  .post-type-archive-producto main .sb-card-img,
  .page-template-template-productos main .sb-card-img{
    height:220px!important;
  }
  .single-producto .sb-gallery-grid{
    grid-template-columns:1fr!important;
  }
  .single-producto .sb-gallery-grid a{
    height:210px!important;
  }
}


/* ===== V5.5.2 FIX REAL: productos públicos compactos ===== */
/* Se aplica sin depender del nombre exacto de plantilla para evitar que no tome cambios. */
body:not(.home) main.sb-products-page .sb-page-hero,
body.post-type-archive-producto main .sb-page-hero,
body.tax-categoria_producto main .sb-page-hero{
  padding:28px 0 24px!important;
}
body:not(.home) main.sb-products-page .sb-page-hero h1,
body.post-type-archive-producto main .sb-page-hero h1,
body.tax-categoria_producto main .sb-page-hero h1{
  font-size:clamp(32px,4vw,54px)!important;
  line-height:1.05!important;
  margin:0 0 8px!important;
}
body:not(.home) main.sb-products-page .sb-section,
body.post-type-archive-producto main .sb-section,
body.tax-categoria_producto main .sb-section{
  padding:30px 0 52px!important;
}
body:not(.home) main.sb-products-page .sb-filter-box,
body.post-type-archive-producto main .sb-filter-box,
body.tax-categoria_producto main .sb-filter-box{
  margin:0 0 22px!important;
  padding:18px!important;
  gap:14px!important;
  align-items:end!important;
}
body:not(.home) main.sb-products-page .sb-products-grid,
body.post-type-archive-producto main .sb-products-grid,
body.tax-categoria_producto main .sb-products-grid,
body:not(.home) main.sb-products-page .sb-grid-3,
body.post-type-archive-producto main .sb-grid-3,
body.tax-categoria_producto main .sb-grid-3{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
body:not(.home) main.sb-products-page .sb-products-grid .sb-card,
body.post-type-archive-producto main .sb-products-grid .sb-card,
body.tax-categoria_producto main .sb-products-grid .sb-card,
body:not(.home) main.sb-products-page .sb-grid-3 .sb-card,
body.post-type-archive-producto main .sb-grid-3 .sb-card,
body.tax-categoria_producto main .sb-grid-3 .sb-card{
  padding:14px!important;
  border-radius:18px!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body:not(.home) main.sb-products-page .sb-card-img,
body.post-type-archive-producto main .sb-card-img,
body.tax-categoria_producto main .sb-card-img{
  aspect-ratio:1 / 1!important;
  height:auto!important;
  max-height:220px!important;
  min-height:160px!important;
  margin:0 0 10px!important;
  padding:10px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.08)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
body:not(.home) main.sb-products-page .sb-card-img img,
body.post-type-archive-producto main .sb-card-img img,
body.tax-categoria_producto main .sb-card-img img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
body:not(.home) main.sb-products-page .sb-card h3,
body.post-type-archive-producto main .sb-card h3,
body.tax-categoria_producto main .sb-card h3{
  font-size:1rem!important;
  line-height:1.25!important;
  margin:8px 0 5px!important;
}
body:not(.home) main.sb-products-page .sb-card p,
body.post-type-archive-producto main .sb-card p,
body.tax-categoria_producto main .sb-card p{
  font-size:.88rem!important;
  line-height:1.4!important;
  margin:0 0 7px!important;
}
body:not(.home) main.sb-products-page .sb-card .sb-btn,
body.post-type-archive-producto main .sb-card .sb-btn,
body.tax-categoria_producto main .sb-card .sb-btn{
  margin-top:auto!important;
  padding:9px 12px!important;
  font-size:.86rem!important;
}

/* Ficha del producto */
body.single-producto main .sb-page-hero{
  padding:30px 0 24px!important;
}
body.single-producto main .sb-page-hero h1{
  font-size:clamp(34px,5vw,58px)!important;
  line-height:1.05!important;
  margin:0 0 10px!important;
}
body.single-producto main .sb-page-hero p{
  font-size:1rem!important;
  margin-bottom:16px!important;
}
body.single-producto main .sb-section{
  padding:34px 0 54px!important;
}
body.single-producto .sb-product-layout{
  display:grid!important;
  grid-template-columns:minmax(260px,390px) 1fr!important;
  gap:26px!important;
  align-items:start!important;
}
body.single-producto .sb-product-side .sb-card-img{
  height:320px!important;
  aspect-ratio:auto!important;
  padding:12px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.single-producto .sb-product-side .sb-card-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
body.single-producto article.sb-card{
  padding:24px!important;
}
body.single-producto .sb-media-section{
  margin-top:22px!important;
}
body.single-producto .sb-media-section h2{
  font-size:clamp(26px,3vw,38px)!important;
  line-height:1.12!important;
  margin:0 0 14px!important;
}
body.single-producto .sb-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
body.single-producto .sb-gallery-grid a{
  height:160px!important;
  padding:8px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
body.single-producto .sb-gallery-grid img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media(max-width:1180px){
  body:not(.home) main.sb-products-page .sb-products-grid,
  body.post-type-archive-producto main .sb-products-grid,
  body.tax-categoria_producto main .sb-products-grid,
  body:not(.home) main.sb-products-page .sb-grid-3,
  body.post-type-archive-producto main .sb-grid-3,
  body.tax-categoria_producto main .sb-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:820px){
  body:not(.home) main.sb-products-page .sb-products-grid,
  body.post-type-archive-producto main .sb-products-grid,
  body.tax-categoria_producto main .sb-products-grid,
  body:not(.home) main.sb-products-page .sb-grid-3,
  body.post-type-archive-producto main .sb-grid-3,
  body.tax-categoria_producto main .sb-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.single-producto .sb-product-layout{grid-template-columns:1fr!important;}
  body.single-producto .sb-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:540px){
  body:not(.home) main.sb-products-page .sb-products-grid,
  body.post-type-archive-producto main .sb-products-grid,
  body.tax-categoria_producto main .sb-products-grid,
  body:not(.home) main.sb-products-page .sb-grid-3,
  body.post-type-archive-producto main .sb-grid-3,
  body.tax-categoria_producto main .sb-grid-3{grid-template-columns:1fr!important;}
  body.single-producto .sb-gallery-grid{grid-template-columns:1fr!important;}
}


/* ===== V5.5.3 FORCE: visualizacion publica de productos ===== */
/* Reglas amplias porque la pagina puede cargarse como plantilla, archivo CPT o contenido generado. */
body:not(.home) main.sb-products-page,
body:not(.home) main:has(.sb-products-grid),
body.post-type-archive-producto main,
body.tax-categoria_producto main{
  background:#fff!important;
}

body:not(.home) main.sb-products-page .sb-container,
body:not(.home) main:has(.sb-products-grid) .sb-container,
body.post-type-archive-producto main .sb-container,
body.tax-categoria_producto main .sb-container{
  width:min(1240px,calc(100% - 32px))!important;
}

body:not(.home) main.sb-products-page .sb-page-hero,
body:not(.home) main:has(.sb-products-grid) .sb-page-hero,
body.post-type-archive-producto main .sb-page-hero,
body.tax-categoria_producto main .sb-page-hero{
  display:none!important;
}

body:not(.home) main.sb-products-page .sb-section,
body:not(.home) main:has(.sb-products-grid) .sb-section,
body.post-type-archive-producto main .sb-section,
body.tax-categoria_producto main .sb-section{
  padding:34px 0 56px!important;
}

body:not(.home) main.sb-products-page .sb-filter-box,
body:not(.home) main:has(.sb-products-grid) .sb-filter-box,
body.post-type-archive-producto main .sb-filter-box,
body.tax-categoria_producto main .sb-filter-box{
  margin:0 0 28px!important;
  padding:18px 20px!important;
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) minmax(220px,280px) auto!important;
  gap:14px!important;
  align-items:end!important;
}

body:not(.home) main.sb-products-page .sb-products-grid,
body:not(.home) main.sb-products-page .sb-grid-3,
body:not(.home) main:has(.sb-products-grid) .sb-products-grid,
body:not(.home) main:has(.sb-products-grid) .sb-grid-3,
body.post-type-archive-producto main .sb-products-grid,
body.post-type-archive-producto main .sb-grid-3,
body.tax-categoria_producto main .sb-products-grid,
body.tax-categoria_producto main .sb-grid-3{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}

body:not(.home) main.sb-products-page .sb-products-grid .sb-card,
body:not(.home) main.sb-products-page .sb-grid-3 .sb-card,
body:not(.home) main:has(.sb-products-grid) .sb-products-grid .sb-card,
body:not(.home) main:has(.sb-products-grid) .sb-grid-3 .sb-card,
body.post-type-archive-producto main .sb-products-grid .sb-card,
body.post-type-archive-producto main .sb-grid-3 .sb-card,
body.tax-categoria_producto main .sb-products-grid .sb-card,
body.tax-categoria_producto main .sb-grid-3 .sb-card{
  min-height:0!important;
  padding:14px!important;
  border-radius:18px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  overflow:hidden!important;
}

body:not(.home) main.sb-products-page .sb-card-img,
body:not(.home) main:has(.sb-products-grid) .sb-card-img,
body.post-type-archive-producto main .sb-card-img,
body.tax-categoria_producto main .sb-card-img{
  width:100%!important;
  height:190px!important;
  aspect-ratio:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:14px!important;
  overflow:hidden!important;
}

body:not(.home) main.sb-products-page .sb-card-img img,
body:not(.home) main:has(.sb-products-grid) .sb-card-img img,
body.post-type-archive-producto main .sb-card-img img,
body.tax-categoria_producto main .sb-card-img img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}

body:not(.home) main.sb-products-page .sb-card .sb-pill,
body:not(.home) main:has(.sb-products-grid) .sb-card .sb-pill,
body.post-type-archive-producto main .sb-card .sb-pill,
body.tax-categoria_producto main .sb-card .sb-pill{
  display:none!important;
}

body:not(.home) main.sb-products-page .sb-card h3,
body:not(.home) main:has(.sb-products-grid) .sb-card h3,
body.post-type-archive-producto main .sb-card h3,
body.tax-categoria_producto main .sb-card h3{
  font-size:1rem!important;
  line-height:1.22!important;
  margin:4px 0 0!important;
  color:#17212f!important;
}

body:not(.home) main.sb-products-page .sb-card h3 a,
body:not(.home) main:has(.sb-products-grid) .sb-card h3 a,
body.post-type-archive-producto main .sb-card h3 a,
body.tax-categoria_producto main .sb-card h3 a{
  color:#17212f!important;
}

body:not(.home) main.sb-products-page .sb-card p,
body:not(.home) main:has(.sb-products-grid) .sb-card p,
body.post-type-archive-producto main .sb-card p,
body.tax-categoria_producto main .sb-card p{
  font-size:.86rem!important;
  line-height:1.35!important;
  margin:0!important;
  color:#64748b!important;
}

body:not(.home) main.sb-products-page .sb-card .sb-btn,
body:not(.home) main:has(.sb-products-grid) .sb-card .sb-btn,
body.post-type-archive-producto main .sb-card .sb-btn,
body.tax-categoria_producto main .sb-card .sb-btn{
  display:none!important;
}

/* Ficha individual: menos espacio y fotos completas */
body.single-producto main .sb-page-hero{
  padding:32px 0 28px!important;
}
body.single-producto main .sb-page-hero h1{
  font-size:clamp(34px,5vw,58px)!important;
  margin:0 0 10px!important;
  line-height:1.05!important;
}
body.single-producto main .sb-section{
  padding:34px 0 56px!important;
}
body.single-producto .sb-product-layout{
  grid-template-columns:minmax(280px,420px) 1fr!important;
  gap:28px!important;
}
body.single-producto .sb-product-side .sb-card-img{
  height:340px!important;
  padding:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
body.single-producto .sb-product-side .sb-card-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
body.single-producto article.sb-card{
  padding:24px!important;
}
body.single-producto .sb-media-section h2{
  font-size:clamp(28px,3vw,40px)!important;
  margin:0 0 14px!important;
}
body.single-producto .sb-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
body.single-producto .sb-gallery-grid a{
  height:165px!important;
  padding:8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
body.single-producto .sb-gallery-grid img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media(max-width:1100px){
  body:not(.home) main.sb-products-page .sb-products-grid,
  body:not(.home) main.sb-products-page .sb-grid-3,
  body:not(.home) main:has(.sb-products-grid) .sb-products-grid,
  body:not(.home) main:has(.sb-products-grid) .sb-grid-3,
  body.post-type-archive-producto main .sb-products-grid,
  body.post-type-archive-producto main .sb-grid-3,
  body.tax-categoria_producto main .sb-products-grid,
  body.tax-categoria_producto main .sb-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:820px){
  body:not(.home) main.sb-products-page .sb-filter-box,
  body:not(.home) main:has(.sb-products-grid) .sb-filter-box,
  body.post-type-archive-producto main .sb-filter-box,
  body.tax-categoria_producto main .sb-filter-box{grid-template-columns:1fr!important;}
  body:not(.home) main.sb-products-page .sb-products-grid,
  body:not(.home) main.sb-products-page .sb-grid-3,
  body:not(.home) main:has(.sb-products-grid) .sb-products-grid,
  body:not(.home) main:has(.sb-products-grid) .sb-grid-3,
  body.post-type-archive-producto main .sb-products-grid,
  body.post-type-archive-producto main .sb-grid-3,
  body.tax-categoria_producto main .sb-products-grid,
  body.tax-categoria_producto main .sb-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.single-producto .sb-product-layout{grid-template-columns:1fr!important;}
  body.single-producto .sb-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:540px){
  body:not(.home) main.sb-products-page .sb-products-grid,
  body:not(.home) main.sb-products-page .sb-grid-3,
  body:not(.home) main:has(.sb-products-grid) .sb-products-grid,
  body:not(.home) main:has(.sb-products-grid) .sb-grid-3,
  body.post-type-archive-producto main .sb-products-grid,
  body.post-type-archive-producto main .sb-grid-3,
  body.tax-categoria_producto main .sb-products-grid,
  body.tax-categoria_producto main .sb-grid-3{grid-template-columns:1fr!important;}
  body.single-producto .sb-gallery-grid{grid-template-columns:1fr!important;}
}


/* ===== V5.5.4: catalogo mas limpio y tarjetas compactas ===== */
body:not(.home) main.sb-products-page .sb-products-grid .sb-card,
body:not(.home) main.sb-products-page .sb-grid-3 .sb-card,
body:not(.home) main:has(.sb-products-grid) .sb-products-grid .sb-card,
body:not(.home) main:has(.sb-products-grid) .sb-grid-3 .sb-card,
body.post-type-archive-producto main .sb-products-grid .sb-card,
body.post-type-archive-producto main .sb-grid-3 .sb-card,
body.tax-categoria_producto main .sb-products-grid .sb-card,
body.tax-categoria_producto main .sb-grid-3 .sb-card{
  padding:10px!important;
  gap:6px!important;
}
body:not(.home) main.sb-products-page .sb-card-img,
body:not(.home) main:has(.sb-products-grid) .sb-card-img,
body.post-type-archive-producto main .sb-card-img,
body.tax-categoria_producto main .sb-card-img{
  padding:0!important;
  margin:0 0 10px!important;
  min-height:170px!important;
  max-height:210px!important;
  border-radius:14px!important;
  background:#fff!important;
}
body:not(.home) main.sb-products-page .sb-card-img img,
body:not(.home) main:has(.sb-products-grid) .sb-card-img img,
body.post-type-archive-producto main .sb-card-img img,
body.tax-categoria_producto main .sb-card-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
body:not(.home) main.sb-products-page .sb-card .sb-product-code,
body:not(.home) main:has(.sb-products-grid) .sb-card .sb-product-code,
body.post-type-archive-producto main .sb-card .sb-product-code,
body.tax-categoria_producto main .sb-card .sb-product-code{
  display:none!important;
}
body:not(.home) main.sb-products-page .sb-card h3,
body:not(.home) main:has(.sb-products-grid) .sb-card h3,
body.post-type-archive-producto main .sb-card h3,
body.tax-categoria_producto main .sb-card h3{
  font-size:1rem!important;
  margin:4px 0 2px!important;
}
body:not(.home) main.sb-products-page .sb-card p:not(.sb-product-code),
body:not(.home) main:has(.sb-products-grid) .sb-card p:not(.sb-product-code),
body.post-type-archive-producto main .sb-card p:not(.sb-product-code),
body.tax-categoria_producto main .sb-card p:not(.sb-product-code){
  font-size:.86rem!important;
  line-height:1.25!important;
  margin:0!important;
  color:#64748b!important;
  display:-webkit-box!important;
  -webkit-line-clamp:1!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body:not(.home) main.sb-products-page .sb-card .sb-btn,
body:not(.home) main:has(.sb-products-grid) .sb-card .sb-btn,
body.post-type-archive-producto main .sb-card .sb-btn,
body.tax-categoria_producto main .sb-card .sb-btn{
  display:none!important;
}
body.single-producto .sb-product-side .sb-card-img,
body.single-producto .sb-gallery-grid a{
  padding:0!important;
}


/* ===== V5.5.5: eliminar submargen interno en imágenes del catálogo ===== */
body:not(.home) main.sb-products-page .sb-card-img,
body:not(.home) main:has(.sb-products-grid) .sb-card-img,
body.post-type-archive-producto main .sb-card-img,
body.tax-categoria_producto main .sb-card-img,
body:not(.home) main.sb-products-page .sb-product-public-card .sb-card-img,
body.post-type-archive-producto main .sb-product-public-card .sb-card-img,
body.tax-categoria_producto main .sb-product-public-card .sb-card-img{
  padding:0!important;
  margin:0 0 10px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:16px!important;
  background:#fff!important;
  overflow:hidden!important;
}

body:not(.home) main.sb-products-page .sb-card-img img,
body:not(.home) main:has(.sb-products-grid) .sb-card-img img,
body.post-type-archive-producto main .sb-card-img img,
body.tax-categoria_producto main .sb-card-img img,
body:not(.home) main.sb-products-page .sb-product-public-card .sb-card-img img,
body.post-type-archive-producto main .sb-product-public-card .sb-card-img img,
body.tax-categoria_producto main .sb-product-public-card .sb-card-img img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
}

body:not(.home) main.sb-products-page .sb-product-public-card,
body.post-type-archive-producto main .sb-product-public-card,
body.tax-categoria_producto main .sb-product-public-card{
  padding:10px!important;
}

body:not(.home) main.sb-products-page .sb-product-code,
body:not(.home) main:has(.sb-products-grid) .sb-product-code,
body.post-type-archive-producto main .sb-product-code,
body.tax-categoria_producto main .sb-product-code{
  display:none!important;
}

/* También elimina padding innecesario en ficha individual y miniaturas de galería */
body.single-producto .sb-product-side .sb-card-img,
body.single-producto .sb-gallery-grid a{
  padding:0!important;
}


/* ===== V5.5.6 Catálogo: eliminar submargen/rectángulo interno de imágenes ===== */
.post-type-archive-producto main .sb-products-grid .sb-product-public-card,
.page-template-template-productos main .sb-products-grid .sb-product-public-card,
.sb-products-page main .sb-products-grid .sb-product-public-card,
main.sb-products-page .sb-products-grid .sb-product-public-card{
  padding:14px!important;
}

.post-type-archive-producto main .sb-products-grid .sb-product-public-card .sb-card-img,
.page-template-template-productos main .sb-products-grid .sb-product-public-card .sb-card-img,
.sb-products-page main .sb-products-grid .sb-product-public-card .sb-card-img,
main.sb-products-page .sb-products-grid .sb-product-public-card .sb-card-img{
  height:235px!important;
  margin:0 0 14px 0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}

.post-type-archive-producto main .sb-products-grid .sb-product-public-card .sb-card-img img,
.page-template-template-productos main .sb-products-grid .sb-product-public-card .sb-card-img img,
.sb-products-page main .sb-products-grid .sb-product-public-card .sb-card-img img,
main.sb-products-page .sb-products-grid .sb-product-public-card .sb-card-img img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

.post-type-archive-producto main .sb-products-grid .sb-product-code,
.page-template-template-productos main .sb-products-grid .sb-product-code,
.sb-products-page main .sb-products-grid .sb-product-code,
main.sb-products-page .sb-products-grid .sb-product-code{
  display:none!important;
}

.post-type-archive-producto main .sb-products-grid .sb-product-public-card .sb-btn,
.page-template-template-productos main .sb-products-grid .sb-product-public-card .sb-btn,
.sb-products-page main .sb-products-grid .sb-product-public-card .sb-btn,
main.sb-products-page .sb-products-grid .sb-product-public-card .sb-btn{
  display:none!important;
}


/* v5.5.7 - Catálogo: eliminar definitivamente el submargen interno visible en las tarjetas de producto */
body:not(.home) main.sb-products-page .sb-product-public-card,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card,
body.post-type-archive-producto main .sb-product-public-card,
body.tax-categoria_producto main .sb-product-public-card{
  padding:0!important;
  gap:0!important;
  overflow:hidden!important;
}

body:not(.home) main.sb-products-page .sb-product-public-card > .sb-card-img,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > .sb-card-img,
body.post-type-archive-producto main .sb-product-public-card > .sb-card-img,
body.tax-categoria_producto main .sb-product-public-card > .sb-card-img{
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:#fff!important;
  border-radius:18px 18px 0 0!important;
  width:100%!important;
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

body:not(.home) main.sb-products-page .sb-product-public-card > .sb-card-img::before,
body:not(.home) main.sb-products-page .sb-product-public-card > .sb-card-img::after,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > .sb-card-img::before,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > .sb-card-img::after,
body.post-type-archive-producto main .sb-product-public-card > .sb-card-img::before,
body.post-type-archive-producto main .sb-product-public-card > .sb-card-img::after,
body.tax-categoria_producto main .sb-product-public-card > .sb-card-img::before,
body.tax-categoria_producto main .sb-product-public-card > .sb-card-img::after{
  display:none!important;
  content:none!important;
}

body:not(.home) main.sb-products-page .sb-product-public-card > .sb-card-img img,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > .sb-card-img img,
body.post-type-archive-producto main .sb-product-public-card > .sb-card-img img,
body.tax-categoria_producto main .sb-product-public-card > .sb-card-img img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
}

body:not(.home) main.sb-products-page .sb-product-public-card > h3,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > h3,
body.post-type-archive-producto main .sb-product-public-card > h3,
body.tax-categoria_producto main .sb-product-public-card > h3{
  padding:14px 16px 0!important;
  margin:0!important;
}

body:not(.home) main.sb-products-page .sb-product-public-card > p,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > p,
body.post-type-archive-producto main .sb-product-public-card > p,
body.tax-categoria_producto main .sb-product-public-card > p{
  padding:6px 16px 16px!important;
  margin:0!important;
}

body:not(.home) main.sb-products-page .sb-product-public-card .sb-product-code,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card .sb-product-code,
body.post-type-archive-producto main .sb-product-public-card .sb-product-code,
body.tax-categoria_producto main .sb-product-public-card .sb-product-code,
body:not(.home) main.sb-products-page .sb-product-public-card > .sb-btn,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > .sb-btn,
body.post-type-archive-producto main .sb-product-public-card > .sb-btn,
body.tax-categoria_producto main .sb-product-public-card > .sb-btn{
  display:none!important;
}


/* ===== V5.5.8 Catálogo y ficha de producto ===== */
body:not(.home) main.sb-products-page .sb-product-public-card,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card,
body.post-type-archive-producto main .sb-product-public-card,
body.tax-categoria_producto main .sb-product-public-card{
  display:block!important;
  padding:0!important;
  overflow:hidden!important;
}

body:not(.home) main.sb-products-page .sb-product-public-card > .sb-card-img,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > .sb-card-img,
body.post-type-archive-producto main .sb-product-public-card > .sb-card-img,
body.tax-categoria_producto main .sb-product-public-card > .sb-card-img{
  height:218px!important;
  min-height:218px!important;
  max-height:218px!important;
  margin:0!important;
  border-radius:20px 20px 0 0!important;
  background:#fff!important;
}

body:not(.home) main.sb-products-page .sb-product-public-card > h3,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > h3,
body.post-type-archive-producto main .sb-product-public-card > h3,
body.tax-categoria_producto main .sb-product-public-card > h3{
  padding:12px 16px 0!important;
  margin:0!important;
  font-size:clamp(1.05rem, 1.6vw, 1.25rem)!important;
  line-height:1.18!important;
}

body:not(.home) main.sb-products-page .sb-product-public-card > .sb-product-excerpt,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > .sb-product-excerpt,
body.post-type-archive-producto main .sb-product-public-card > .sb-product-excerpt,
body.tax-categoria_producto main .sb-product-public-card > .sb-product-excerpt{
  padding:6px 16px 14px!important;
  margin:0!important;
  font-size:.95rem!important;
  line-height:1.35!important;
  color:#64748b!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

body:not(.home) main.sb-products-page .sb-products-grid,
body:not(.home) main:has(.sb-products-grid) .sb-products-grid,
body.post-type-archive-producto main .sb-products-grid,
body.tax-categoria_producto main .sb-products-grid{
  gap:22px!important;
}

body.single-producto .sb-page-hero{
  padding:44px 0 38px!important;
}
body.single-producto .sb-page-hero h1{
  font-size:clamp(36px, 5vw, 62px)!important;
  margin-top:8px!important;
}
body.single-producto .sb-product-back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:#0f766e;
  font-weight:900;
}
body.single-producto .sb-product-back:hover{color:#00a651;}
body.single-producto .sb-product-layout{
  align-items:start;
}
body.single-producto .sb-product-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0 0 24px;
}
body.single-producto .sb-product-info-item{
  border:1px solid var(--sb-border);
  border-radius:14px;
  padding:12px 14px;
  background:#fff;
}
body.single-producto .sb-product-info-item span{
  display:block;
  color:#64748b;
  font-size:.86rem;
  font-weight:800;
}
body.single-producto .sb-product-info-item strong{
  display:block;
  color:#18212b;
  font-size:1rem;
}
@media(max-width:720px){
  body.single-producto .sb-product-info-grid{grid-template-columns:1fr;}
}


/* ===== V5.5.9 Ajustes finales productos y cotización ===== */
body:not(.home) main.sb-products-page .sb-product-public-card > h3,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > h3,
body.post-type-archive-producto main .sb-product-public-card > h3,
body.tax-categoria_producto main .sb-product-public-card > h3{
  padding:10px 16px 0!important;
  margin:0!important;
  font-size:clamp(1rem, 1.35vw, 1.14rem)!important;
  line-height:1.16!important;
}
body:not(.home) main.sb-products-page .sb-product-public-card > .sb-product-excerpt,
body:not(.home) main:has(.sb-products-grid) .sb-product-public-card > .sb-product-excerpt,
body.post-type-archive-producto main .sb-product-public-card > .sb-product-excerpt,
body.tax-categoria_producto main .sb-product-public-card > .sb-product-excerpt{
  padding:4px 16px 12px!important;
  margin:0!important;
  font-size:.88rem!important;
  line-height:1.25!important;
  min-height:0!important;
  max-height:2.5em!important;
}
body.single-producto .sb-page-hero p.sb-product-meta-line,
body.single-producto .sb-product-meta-line{
  display:none!important;
}
body.single-producto .sb-page-hero{
  padding:34px 0 30px!important;
}
body.single-producto .sb-page-hero h1{
  margin:8px 0 16px!important;
}
body.single-producto .sb-actions{
  margin-top:0!important;
}
body.single-producto .sb-product-info-grid{
  margin-bottom:18px!important;
}
body.single-producto .sb-media-section h2{
  font-size:clamp(28px,3vw,42px)!important;
}
body.page-id-cotizar .sb-page-hero,
body.page-slug-cotizar .sb-page-hero,
body.page-template-default .sb-page-hero:has(+ .sb-section .sa-quote-form-wrap){
  padding:34px 0 28px!important;
}
.sa-product-preselected{
  border:1px solid rgba(0,166,81,.25)!important;
  background:rgba(0,166,81,.04)!important;
}
.sa-product-preselected::before{
  content:'Producto agregado desde catálogo';
  display:inline-block;
  margin:0 0 10px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,166,81,.12);
  color:#047857;
  font-weight:800;
  font-size:.86rem;
}


/* ===== V5.5.12 Catálogo: tarjetas solo con imagen y nombre ===== */
.sb-product-public-card .sb-product-excerpt,
.sb-products-grid .sb-product-excerpt,
.sb-card.sb-product-public-card > p,
.product-card .sb-product-excerpt {
  display: none !important;
}

.sb-product-public-card {
  padding-bottom: 18px !important;
}

.sb-product-public-card h3 {
  margin: 14px 0 0 !important;
  line-height: 1.18 !important;
}

.sb-product-public-card h3 a {
  display: block;
}


/* ===== V5.5.14 Productos organizados por categoría ===== */
body:not(.home) main.sb-products-grouped .sb-products-category-list{
  display:flex!important;
  flex-direction:column!important;
  gap:34px!important;
}
body:not(.home) main.sb-products-grouped .sb-product-category-section{
  margin:0!important;
  padding:0!important;
}
body:not(.home) main.sb-products-grouped .sb-products-grid-category{
  margin:0!important;
}
body:not(.home) main.sb-products-grouped .sb-products-grid-category + .sb-product-category-title{
  margin-top:34px!important;
}
@media(max-width:720px){
  body:not(.home) main.sb-products-grouped .sb-products-category-list{gap:28px!important;}
}

/* ===== V5.5.15 Títulos de categoría más livianos ===== */
body:not(.home) main.sb-products-grouped .sb-product-category-title{
  font-family:inherit!important;
  font-size:clamp(26px,3vw,38px)!important;
  line-height:1.2!important;
  font-weight:500!important;
  color:var(--sb-dark,#18212b)!important;
  margin:0 0 22px!important;
  padding:0!important;
  letter-spacing:-.02em!important;
}
@media(max-width:900px){
  body:not(.home) main.sb-products-grouped .sb-product-category-title{
    font-size:clamp(24px,5vw,32px)!important;
    margin-bottom:18px!important;
  }
}
@media(max-width:720px){
  body:not(.home) main.sb-products-grouped .sb-product-category-title{
    font-size:clamp(22px,6vw,28px)!important;
    margin-bottom:14px!important;
  }
}


/* ===== V5.5.16 Servicios: tarjetas con estilo limpio tipo Inicio ===== */
body.page-template-template-servicios main .sb-services-grid,
body:not(.home) main .sb-services-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}
body.page-template-template-servicios main .sb-service-item,
body:not(.home) main .sb-service-item{
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:20px!important;
  padding:24px 24px 22px!important;
  box-shadow:0 14px 35px rgba(15,23,42,.06)!important;
  min-height:150px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:8px!important;
}
body.page-template-template-servicios main .sb-service-item h3,
body:not(.home) main .sb-service-item h3{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#18212b!important;
  font-family:inherit!important;
  font-size:clamp(20px,1.6vw,24px)!important;
  line-height:1.18!important;
  font-weight:650!important;
  letter-spacing:-.015em!important;
}
body.page-template-template-servicios main .sb-service-item p,
body:not(.home) main .sb-service-item p{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#64748b!important;
  font-family:inherit!important;
  font-size:1rem!important;
  line-height:1.5!important;
  font-weight:400!important;
}
body.page-template-template-servicios main .sb-service-item h3 + p,
body:not(.home) main .sb-service-item h3 + p{
  margin-top:2px!important;
}
body.page-template-template-servicios main .sb-section-head h2,
body:not(.home) main .sb-services-head h2{
  font-family:inherit!important;
  font-size:clamp(32px,4vw,48px)!important;
  line-height:1.1!important;
  font-weight:650!important;
  letter-spacing:-.03em!important;
  margin:0 0 10px!important;
  color:#18212b!important;
}
body.page-template-template-servicios main .sb-services-head{
  margin-bottom:28px!important;
}
@media(max-width:980px){
  body.page-template-template-servicios main .sb-services-grid,
  body:not(.home) main .sb-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:640px){
  body.page-template-template-servicios main .sb-services-grid,
  body:not(.home) main .sb-services-grid{grid-template-columns:1fr!important;gap:16px!important;}
  body.page-template-template-servicios main .sb-service-item,
  body:not(.home) main .sb-service-item{padding:20px!important;min-height:auto!important;}
  body.page-template-template-servicios main .sb-service-item h3,
  body:not(.home) main .sb-service-item h3{font-size:1.25rem!important;}
  body.page-template-template-servicios main .sb-service-item p,
  body:not(.home) main .sb-service-item p{font-size:.96rem!important;}
}


/* ===== V5.5.17 Servicios: separar título/descripción y alinear con Inicio ===== */
body.page-template-template-servicios main .sb-services-section .sb-services-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
body.page-template-template-servicios main .sb-services-section .sb-service-item{
  background:#fff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:20px!important;
  padding:26px 28px!important;
  box-shadow:0 16px 42px rgba(15,23,42,.055)!important;
  min-height:155px!important;
  display:block!important;
}
body.page-template-template-servicios main .sb-services-section .sb-service-item h3{
  display:block!important;
  margin:0 0 12px 0!important;
  padding:0!important;
  color:#17212f!important;
  font-family:inherit!important;
  font-size:clamp(22px,1.55vw,28px)!important;
  line-height:1.16!important;
  font-weight:650!important;
  letter-spacing:-.02em!important;
}
body.page-template-template-servicios main .sb-services-section .sb-service-item p{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#64748b!important;
  font-family:inherit!important;
  font-size:clamp(16px,1vw,18px)!important;
  line-height:1.55!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
body.page-template-template-servicios main .sb-services-section .sb-service-item h3:empty,
body.page-template-template-servicios main .sb-services-section .sb-service-item p:empty{display:none!important;}
body.page-template-template-servicios main .sb-services-section .sb-section-head h2{
  font-size:clamp(38px,5vw,64px)!important;
  line-height:1.05!important;
  font-weight:700!important;
  letter-spacing:-.04em!important;
  margin-bottom:12px!important;
}
body.page-template-template-servicios main .sb-services-section .sb-section-head p{
  font-size:clamp(16px,1.4vw,20px)!important;
  line-height:1.55!important;
  font-weight:400!important;
  color:#64748b!important;
}
@media(max-width:980px){
  body.page-template-template-servicios main .sb-services-section .sb-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
}
@media(max-width:640px){
  body.page-template-template-servicios main .sb-services-section .sb-services-grid{grid-template-columns:1fr!important;}
  body.page-template-template-servicios main .sb-services-section .sb-service-item{padding:22px!important;min-height:auto!important;}
  body.page-template-template-servicios main .sb-services-section .sb-service-item h3{font-size:1.35rem!important;margin-bottom:10px!important;}
  body.page-template-template-servicios main .sb-services-section .sb-service-item p{font-size:1rem!important;}
}


/* ===== V5.5.18 Servicios: eliminar encabezado redundante y compactar sección ===== */
body.page-template-template-servicios main .sb-services-section{
  padding-top:46px!important;
}
body.page-template-template-servicios main .sb-services-section .sb-container > .sb-section-head,
body.page-template-template-servicios main .sb-services-section .sb-services-head{
  display:none!important;
}
body.page-template-template-servicios main .sb-hero .sb-actions{
  margin-top:28px!important;
}
body.page-template-template-servicios main .sb-hero .sb-btn.sb-btn-primary{
  background:var(--sb-green,#00a651)!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:13px 24px!important;
  box-shadow:0 14px 30px rgba(0,166,81,.20)!important;
  text-decoration:none!important;
}
body.page-template-template-servicios main .sb-services-section .sb-services-grid{
  margin-top:0!important;
}
@media(max-width:640px){
  body.page-template-template-servicios main .sb-services-section{padding-top:30px!important;}
}

/* v5.5.20: Catálogo agrupado: cada producto se muestra solo en su categoría asignada directamente; evita herencia de categorías padre y duplicados. */


/* v5.5.21 - Carrito/lista de productos para cotizar */
.sb-product-card-actions{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:10px;
  margin-top:14px;
}
.sb-cart-add{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  background:#fff;
  color:var(--sb-dark);
  padding:10px 14px;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}
.sb-cart-add:hover{transform:translateY(-1px);border-color:rgba(0,166,81,.38);color:var(--sb-green)}
.sb-cart-add.is-added{background:#eaf9ef;border-color:rgba(0,166,81,.35);color:#047a3c}
.sb-cart-floating{
  position:fixed;
  right:20px;
  bottom:22px;
  z-index:9998;
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:999px;
  background:var(--sb-green);
  color:#fff;
  padding:13px 18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 18px 40px rgba(0,166,81,.30);
}
.sb-cart-count{
  min-width:24px;
  height:24px;
  padding:0 7px;
  border-radius:999px;
  background:#fff;
  color:var(--sb-green);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
}
.sb-cart-panel[hidden],.sb-cart-overlay[hidden]{display:none!important}
.sb-cart-overlay{
  position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:9998;
}
.sb-cart-panel{
  position:fixed;
  right:18px;
  bottom:86px;
  width:min(520px,calc(100vw - 32px));
  max-height:min(720px,calc(100vh - 120px));
  overflow:auto;
  background:#fff;
  border:1px solid rgba(15,23,42,.12);
  border-radius:22px;
  box-shadow:0 28px 70px rgba(15,23,42,.24);
  z-index:9999;
  padding:18px;
}
.sb-cart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.sb-cart-head h3{margin:0;font-size:22px;line-height:1.2;color:var(--sb-dark)}
.sb-cart-close{border:0;background:#eef2f7;border-radius:999px;width:36px;height:36px;cursor:pointer;font-weight:900;color:var(--sb-dark)}
.sb-cart-empty{padding:18px;border:1px dashed rgba(15,23,42,.2);border-radius:16px;color:var(--sb-gray);background:#f8fafc}
.sb-cart-list{display:grid;gap:12px;margin:12px 0}
.sb-cart-item{display:grid;grid-template-columns:72px 1fr;gap:12px;border:1px solid rgba(15,23,42,.1);border-radius:16px;padding:10px;background:#fff}
.sb-cart-item img{width:72px;height:72px;object-fit:contain;border-radius:12px;background:#f8fafc}
.sb-cart-item-title{font-weight:900;line-height:1.25;margin-bottom:6px;color:var(--sb-dark)}
.sb-cart-item-code{font-size:13px;color:var(--sb-gray);margin-bottom:8px}
.sb-cart-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sb-cart-row label{font-size:13px;color:var(--sb-gray);font-weight:800}
.sb-cart-qty{width:86px;border:1px solid rgba(15,23,42,.16);border-radius:12px;padding:8px 10px;font:inherit}
.sb-cart-remove{border:0;background:#ffecec;color:#b42318;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}
.sb-cart-check{width:18px;height:18px;accent-color:var(--sb-green)}
.sb-cart-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;justify-content:flex-end}
.sb-cart-actions .sb-btn{min-width:150px}
.sb-cart-toast{
  position:fixed;left:50%;bottom:24px;transform:translateX(-50%);
  background:#0f172a;color:#fff;border-radius:999px;padding:12px 18px;font-weight:800;
  box-shadow:0 18px 40px rgba(15,23,42,.22);z-index:10000;opacity:0;pointer-events:none;transition:.2s ease;
}
.sb-cart-toast.show{opacity:1;bottom:38px}
@media(max-width:760px){
  .sb-cart-floating{right:12px;bottom:14px;padding:12px 15px}
  .sb-cart-panel{right:10px;left:10px;bottom:76px;width:auto;max-height:calc(100vh - 96px);padding:15px}
  .sb-cart-item{grid-template-columns:58px 1fr}
  .sb-cart-item img{width:58px;height:58px}
  .sb-product-card-actions .sb-cart-add{width:100%}
}


/* v5.5.22 - Carrito compacto y lista superior */
.sb-product-public-card{
  position:relative !important;
  overflow:hidden;
}
.sb-product-public-card .sb-product-card-actions{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  margin:0 !important;
  z-index:5 !important;
}
.sb-product-public-card .sb-cart-add{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  padding:0 !important;
  border-radius:999px !important;
  font-size:19px !important;
  line-height:1 !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(15,23,42,.14) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.16) !important;
  backdrop-filter:blur(8px);
}
.sb-product-public-card .sb-cart-add .sb-cart-label,
.sb-product-public-card .sb-cart-add .sb-cart-text{
  display:none !important;
}
.sb-product-public-card .sb-cart-add:hover{
  background:var(--sb-green) !important;
  color:#fff !important;
  border-color:var(--sb-green) !important;
}
.sb-product-public-card .sb-cart-add.is-added{
  background:#eaf9ef !important;
  color:#047a3c !important;
  border-color:rgba(0,166,81,.38) !important;
}
.sb-product-public-card .sb-card-img{
  display:block;
}
.sb-single-cart-icon{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  padding:0 !important;
  border-radius:999px !important;
  font-size:20px !important;
}
.sb-single-cart-icon .sb-cart-label,
.sb-single-cart-icon .sb-cart-text{
  display:none !important;
}
.sb-cart-floating{
  top:96px !important;
  right:20px !important;
  bottom:auto !important;
  z-index:9997 !important;
  padding:12px 14px !important;
  box-shadow:0 18px 42px rgba(0,166,81,.24) !important;
}
body.admin-bar .sb-cart-floating{top:128px !important;}
.sb-cart-floating .sb-cart-floating-text{display:none !important;}
.sb-cart-panel{
  top:152px !important;
  right:18px !important;
  bottom:auto !important;
  max-height:calc(100vh - 175px) !important;
}
body.admin-bar .sb-cart-panel{
  top:184px !important;
  max-height:calc(100vh - 207px) !important;
}
.sb-cart-actions .sb-cart-quote-btn,
.sb-cart-actions a[href*="cotizar"]{
  background:var(--sb-green) !important;
  color:#fff !important;
  border-color:var(--sb-green) !important;
  box-shadow:0 14px 34px rgba(0,166,81,.30) !important;
  font-size:16px !important;
  font-weight:900 !important;
  transform:translateY(-1px);
}
.sb-cart-actions .sb-cart-quote-btn:hover,
.sb-cart-actions a[href*="cotizar"]:hover{
  filter:brightness(.96);
  transform:translateY(-2px);
}
@media(max-width:760px){
  .sb-product-public-card .sb-product-card-actions{top:10px !important;right:10px !important;}
  .sb-product-public-card .sb-cart-add{width:40px !important;height:40px !important;min-width:40px !important;font-size:18px !important;}
  .sb-cart-floating{top:78px !important;right:12px !important;bottom:auto !important;padding:10px 12px !important;}
  body.admin-bar .sb-cart-floating{top:124px !important;}
  .sb-cart-panel{top:132px !important;right:10px !important;left:10px !important;bottom:auto !important;width:auto !important;max-height:calc(100vh - 150px) !important;padding:15px !important;}
  body.admin-bar .sb-cart-panel{top:178px !important;max-height:calc(100vh - 196px) !important;}
  .sb-cart-actions .sb-btn{width:100%;min-width:0;}
}


/* ===== v5.5.24: Imagen hero visible en página Servicios ===== */
body.page-template-template-servicios .sb-services-hero{
  padding:72px 0 64px!important;
}
body.page-template-template-servicios .sb-services-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.75fr);
  gap:42px;
  align-items:center;
}
body.page-template-template-servicios .sb-services-hero-text{
  min-width:0;
}
body.page-template-template-servicios .sb-services-hero-media{
  display:block!important;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  border-radius:26px;
  box-shadow:0 24px 60px rgba(15,23,42,.12);
  overflow:hidden;
}
body.page-template-template-servicios .sb-services-hero-media img{
  width:100%;
  height:360px;
  object-fit:cover;
  display:block;
}
@media(max-width:900px){
  body.page-template-template-servicios .sb-services-hero-grid{
    grid-template-columns:1fr;
    gap:26px;
  }
  body.page-template-template-servicios .sb-services-hero-media img{
    height:auto;
    max-height:360px;
    object-fit:contain;
  }
}


/* ===== v5.5.25: textos configurables con saltos de línea ===== */
.sb-multiline,
.sb-contact-hours {
  white-space: pre-line;
}


/* Central inteligente con OpenStreetMap */
.sb-central-page{background:linear-gradient(180deg,#f8fafc 0%,#fff 42%);color:#111827}
.sb-central-map-section{padding:34px 0 18px;background:#f8fafc}
.sb-central-map-shell{position:relative;height:690px;border:1px solid #e5e7eb;border-radius:24px;overflow:hidden;background:#eef4f8;box-shadow:0 18px 50px rgba(15,23,42,.10)}
.sb-central-map{width:100%;height:100%}
.sb-central-intro{padding:34px 0 64px;background:#fff}
.sb-central-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:start;padding:0 0 28px}
.sb-central-title-row h1{margin:10px 0 0;max-width:760px;font-size:clamp(34px,4.4vw,58px);line-height:1.05;font-weight:900;letter-spacing:-.045em;color:#111827}
.sb-central-title-row p{margin:18px 0 0;max-width:820px;font-size:18px;line-height:1.58;color:#4b5563}
.sb-central-login{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;padding:15px 22px;border-radius:999px;background:#00a651;color:white;text-decoration:none;font-size:17px;line-height:1;font-weight:900;white-space:nowrap;box-shadow:0 12px 28px rgba(0,166,81,.23)}
.sb-central-login:hover{color:white;text-decoration:none;transform:translateY(-1px)}.sb-central-login span{font-size:22px;line-height:0}
.sb-central-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 20px}.sb-central-feature-card{min-height:168px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06);padding:22px;display:flex;gap:16px;align-items:flex-start;transition:.18s transform,.18s box-shadow}.sb-central-feature-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(15,23,42,.10)}.sb-central-feature-icon{width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#f1f5f9;font-size:22px}.sb-central-feature-card h3{margin:0;font-size:18px;line-height:1.2;font-weight:900;color:#111827}.sb-central-feature-card p{margin:10px 0 0;font-size:14px;line-height:1.45;color:#64748b}
.sb-central-marker{border-radius:999px}.sb-central-marker span{display:block;width:24px;height:24px;border-radius:999px;border:4px solid #fff;box-shadow:0 5px 16px rgba(15,23,42,.32)}.sb-central-marker-ok span{background:#00a651}.sb-central-marker-warning span{background:#ffc400}.sb-central-marker-danger span{background:#d71920}
@media (max-width:980px){.sb-central-map-shell{height:570px}.sb-central-title-row{grid-template-columns:1fr}.sb-central-login{justify-content:center;width:max-content;margin-top:0}.sb-central-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-central-feature-card{min-height:142px}}
@media (max-width:640px){.sb-central-map-section{padding:18px 0 8px}.sb-central-map-shell{height:450px;border-radius:18px}.sb-central-intro{padding:26px 0 42px}.sb-central-title-row{padding-bottom:22px}.sb-central-title-row h1{font-size:34px}.sb-central-title-row p{font-size:16px}.sb-central-login{width:100%;font-size:16px}.sb-central-feature-grid{grid-template-columns:1fr;gap:14px}.sb-central-feature-card{min-height:auto;padding:20px}}


/* Central - simulación vehicular sobre OpenStreetMap */
.sb-central-layer-panel{position:absolute;left:20px;top:20px;z-index:500;background:rgba(255,255,255,.95);border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 14px 34px rgba(15,23,42,.16);padding:14px 16px;min-width:220px;color:#0f172a;backdrop-filter:blur(8px)}
.sb-central-layer-panel strong{display:block;margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#0f766e}.sb-layer-toggle{display:flex;align-items:center;gap:9px;margin:8px 0;font-size:14px;font-weight:800;color:#334155}.sb-layer-toggle input{width:16px;height:16px;accent-color:#00a651}
.sb-central-side-panel{position:absolute;right:20px;top:20px;bottom:20px;width:330px;z-index:501;background:rgba(255,255,255,.97);border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 18px 44px rgba(15,23,42,.18);padding:22px;transform:translateX(calc(100% + 34px));opacity:0;pointer-events:none;transition:.22s ease;overflow:auto}.sb-central-side-panel.is-open{transform:translateX(0);opacity:1;pointer-events:auto}.sb-panel-close{position:absolute;right:14px;top:12px;border:0;background:#f1f5f9;border-radius:999px;width:32px;height:32px;font-size:22px;line-height:1;color:#334155;cursor:pointer}.sb-panel-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;margin-bottom:12px;font-size:13px;font-weight:900}.sb-panel-ok{background:#dcfce7;color:#047857}.sb-panel-warning{background:#fef3c7;color:#b45309}.sb-panel-danger{background:#fee2e2;color:#b91c1c}.sb-panel-offline{background:#e5e7eb;color:#374151}.sb-panel-maintenance{background:#dbeafe;color:#1d4ed8}.sb-central-side-panel h3{margin:0 34px 18px 0;font-size:22px;line-height:1.15;color:#111827}.sb-central-side-panel dl{display:grid;grid-template-columns:1fr;gap:0;margin:0}.sb-central-side-panel dt{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-top:12px}.sb-central-side-panel dd{margin:4px 0 0;padding-bottom:10px;border-bottom:1px solid #e5e7eb;font-size:15px;font-weight:800;color:#0f172a}
.sb-central-sim-marker{background:transparent;border:0}.sb-map-traffic-light{position:relative;width:34px;height:48px;border-radius:12px;background:#101827;border:3px solid #fff;box-shadow:0 8px 20px rgba(15,23,42,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.sb-map-traffic-light:after{content:"";position:absolute;left:50%;bottom:-10px;width:4px;height:10px;background:#111827;transform:translateX(-50%);border-radius:0 0 4px 4px}.sb-lamp{width:9px;height:9px;border-radius:999px;background:#334155;box-shadow:inset 0 0 2px rgba(0,0,0,.6)}.sb-map-traffic-light.is-red .sb-red{background:#e53935;box-shadow:0 0 10px #e53935}.sb-map-traffic-light.is-yellow .sb-yellow{background:#ffc400;box-shadow:0 0 10px #ffc400}.sb-map-traffic-light.is-green .sb-green{background:#00a651;box-shadow:0 0 10px #00a651}.sb-state-danger{outline:3px solid rgba(229,57,53,.35)}.sb-state-warning{outline:3px solid rgba(255,196,0,.38)}.sb-state-offline{filter:grayscale(1);opacity:.78}.sb-state-maintenance{outline:3px solid rgba(20,118,212,.30)}.sb-state-danger .sb-map-pulse,.sb-state-warning .sb-map-pulse{position:absolute;inset:-11px;border-radius:18px;border:2px solid currentColor;opacity:.55;animation:sbPulse 1.4s ease-out infinite}.sb-state-danger{color:#e53935}.sb-state-warning{color:#ffc400}@keyframes sbPulse{to{transform:scale(1.35);opacity:0}}
.sb-central-alarm-icon span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#d71920;color:#fff;border:3px solid #fff;font-size:17px;font-weight:1000;box-shadow:0 8px 18px rgba(15,23,42,.28);animation:sbAlarmBlink 1.2s infinite}.sb-central-alarm-icon span:contains('⚠'){background:#ffc400;color:#111827}@keyframes sbAlarmBlink{0%,100%{transform:scale(1)}50%{transform:scale(1.13)}}
.sb-green-wave-line{animation:sbDash 1.2s linear infinite}.sb-traffic-line{filter:drop-shadow(0 3px 5px rgba(15,23,42,.18))}@keyframes sbDash{to{stroke-dashoffset:-30}}
@media (max-width:980px){.sb-central-layer-panel{left:12px;top:12px;min-width:190px;padding:12px}.sb-central-side-panel{left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:52%;transform:translateY(calc(100% + 24px))}.sb-central-side-panel.is-open{transform:translateY(0)}}
@media (max-width:640px){.sb-central-layer-panel{font-size:13px;max-width:calc(100% - 24px)}.sb-layer-toggle{font-size:13px}.sb-central-side-panel{padding:18px}.sb-central-side-panel h3{font-size:19px}}
