/* ==========================================================================
   DBS Elevación — utilidades de marca para páginas Elementor
   Clases que se aplican a widgets/contenedores desde el campo "CSS Classes".
   ========================================================================== */
:root{
  --dbs-navy:#1F4B7D; --dbs-navy-deep:#0B1B2E; --dbs-navy-alt:#102539;
  --dbs-ink:#1B2A38; --dbs-porcelain:#F6F5F1; --dbs-porcelain-alt:#ECEBE5;
  --dbs-red:#D42B25; --dbs-brass:#B5915B; --dbs-brass-soft:#CBAE82; --dbs-indigo:#2F3070;
  --dbs-serif:"Hoefler Text","Big Caslon","Palatino Linotype",Palatino,Georgia,serif;
}

/* Eyebrow (antetítulo) */
.dbs-eyebrow, .dbs-eyebrow p{
  font-size:.72rem!important; text-transform:uppercase; letter-spacing:.26em;
  font-weight:600; color:var(--dbs-brass)!important; display:inline-flex; align-items:center; gap:.7em;
}
.dbs-eyebrow::before{ content:none; }

/* Bandas */
.dbs-band-dark{ background:var(--dbs-navy-deep); color:#C4CFDB; }
.dbs-band-dark .elementor-heading-title{ color:#fff; }
.dbs-band-hero{ background:#081525; color:#C4CFDB; }
.dbs-band-light{ background:var(--dbs-porcelain); color:var(--dbs-ink); }

/* Raíl de latón (contenedor con position:relative) */
.dbs-rail{ position:relative; }
.dbs-rail::before{
  content:""; position:absolute; top:0; bottom:0; left:50%; width:1px;
  background:rgba(198,170,124,.4); pointer-events:none;
}

/* Botones — recuperar el registro de marca sobre el Kit */
.dbs-btn-red .elementor-button{ background:var(--dbs-red)!important; color:#fff!important; border-radius:2px; border:1px solid var(--dbs-red)!important; font-weight:600; }
.dbs-btn-red .elementor-button:hover{ background:#B0231E!important; border-color:#B0231E!important; }
.dbs-btn-ghost .elementor-button{ background:transparent!important; color:#fff!important; border:1px solid rgba(198,170,124,.35)!important; border-radius:2px; font-weight:600; }
.dbs-btn-ghost .elementor-button:hover{ border-color:var(--dbs-brass-soft)!important; }

/* Titulares serif de exhibición */
.dbs-display .elementor-heading-title{
  font-family:var(--dbs-serif)!important; font-weight:400!important; letter-spacing:-.012em; line-height:1.04;
}

/* Eyebrow sobre widget Heading */
.dbs-eyebrow .elementor-heading-title{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; font-size:.72rem; text-transform:uppercase;
  letter-spacing:.26em; font-weight:600; color:var(--dbs-brass);
}
/* Entradilla acotada */
.dbs-measure .elementor-widget-container{ max-width:600px; }

/* Cifras / contador en latón */
.dbs-stat .elementor-counter-number-wrapper,
.dbs-stat .elementor-counter-number,
.dbs-stat .elementor-counter-number-prefix,
.dbs-stat .elementor-counter-number-suffix,
.dbs-statnum .elementor-heading-title{
  font-family:var(--dbs-serif)!important; color:var(--dbs-brass-soft)!important; font-weight:400!important;
  font-size:2rem!important; line-height:1!important;
}
.dbs-stat .elementor-counter-title,
.dbs-statlbl .elementor-widget-container,
.dbs-statlbl p{
  color:#93A2B2!important; font-size:.82rem!important; line-height:1.35; font-weight:400; margin-top:10px;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
.dbs-statcell{ border-right:1px solid rgba(198,170,124,.3); text-align:center; padding:24px 18px; }
.dbs-statcell:last-child{ border-right:0; }
.dbs-stat .elementor-counter{ text-align:center; }
.dbs-stat .elementor-counter-title{ text-align:center; }
.dbs-stat-row{ border-top:1px solid rgba(198,170,124,.3); margin-top:44px; }

/* ===== Secciones del Home (Elementor) ===== */
.dbs-band-alt{ background:#102539; color:#C4CFDB; }
.dbs-lead-light .elementor-widget-container{ color:#7E8FA1!important; max-width:56ch; }
.dbs-lead-dark .elementor-widget-container{ color:#5C6772!important; max-width:58ch; }

/* ¿Quién eres? */
.dbs-whocard{ background:var(--dbs-porcelain); transition:background .3s; }
.dbs-whocard:hover{ background:var(--dbs-porcelain-alt); }
.dbs-whocard .elementor-icon{ color:var(--dbs-brass)!important; }
.dbs-whocard .elementor-icon-box-title{ font-family:var(--dbs-serif)!important; font-size:1.28rem!important; color:#0E2135!important; margin:14px 0 10px!important; font-weight:500!important; }
.dbs-whocard .elementor-icon-box-description{ color:#5C6772!important; font-size:.98rem!important; }

/* Niveles */
.dbs-nivcol{ background:var(--dbs-navy-deep); }
.dbs-nivcol-mid{ background:var(--dbs-navy-alt); }
.dbs-nivcode .elementor-heading-title{ font-family:var(--dbs-serif)!important; color:#fff!important; font-size:1.7rem!important; }
.dbs-nivtag .elementor-heading-title{ color:var(--dbs-brass-soft)!important; font-size:.82rem!important; letter-spacing:.16em; text-transform:uppercase; }
.dbs-nivfor .elementor-widget-container{ color:#7E8FA1!important; font-size:.92rem!important; }
.dbs-nivlist .elementor-widget-container{ color:#C4CFDB!important; font-size:.9rem!important; }
.dbs-nivlist ul{ list-style:none; padding:0; margin:0; }
.dbs-nivlist li{ padding:10px 0 10px 22px; position:relative; border-top:1px solid rgba(255,255,255,.07); }
.dbs-nivlist li::before{ content:""; position:absolute; left:0; top:16px; width:9px; height:1px; background:var(--dbs-brass); }
.dbs-nivnote .elementor-widget-container{ color:#7E8FA1!important; font-size:.8rem!important; }
.dbs-nivnote strong{ color:var(--dbs-brass-soft); }

/* Soluciones */
.dbs-servrow .elementor-icon{ color:var(--dbs-brass-soft)!important; }
.dbs-servrow .elementor-icon-box-title{ font-family:var(--dbs-serif)!important; font-size:1.08rem!important; color:#fff!important; font-weight:500!important; }
.dbs-servrow .elementor-icon-box-description{ color:#7E8FA1!important; font-size:.86rem!important; }

/* Schindler / marcas / ecuación / CPSI */
.dbs-schindler .elementor-image img{ height:42px!important; width:auto!important; }
.dbs-brands .elementor-heading-title{ font-family:var(--dbs-serif)!important; font-size:1.2rem!important; color:#0E2135!important; }
.dbs-eq .elementor-widget-container{ font-family:var(--dbs-serif); font-size:1.7rem; color:#0E2135; line-height:1.3; }
.dbs-eq strong{ color:var(--dbs-brass); }
.dbs-cpsinum .elementor-heading-title{ font-family:var(--dbs-serif)!important; color:var(--dbs-brass)!important; font-size:1.1rem!important; }

/* Testimonios (carousel Pro) */
.dbs-tstm .elementor-testimonial__text{ font-family:var(--dbs-serif)!important; font-size:1.5rem!important; line-height:1.3!important; color:#0E2135!important; }
.dbs-tstm .elementor-testimonial__name{ color:#0E2135!important; font-weight:600!important; }
.dbs-tstm .elementor-testimonial__title{ color:#5C6772!important; }
.dbs-tstm .elementor-swiper-button, .dbs-tstm .swiper-pagination-bullet-active{ color:var(--dbs-brass)!important; background:var(--dbs-brass); }

/* ===== Correcciones de fidelidad v2 (clases de widget, que sí aplican) ===== */
.e-con.e-con-boxed > .e-con-inner{ max-width:1180px; }
/* Eyebrow: latón + guion */
.dbs-eyebrow .elementor-heading-title{ color:var(--dbs-brass)!important; display:inline-flex; align-items:center; }
.dbs-eyebrow .elementor-heading-title::before{ content:""; display:inline-block; width:26px; height:1px; background:var(--dbs-brass); margin-right:14px; }
/* H2 serif grande */
.dbs-display h2.elementor-heading-title{ font-size:clamp(2rem,3.6vw,3rem)!important; line-height:1.06!important; }
/* Lead */
.dbs-lead-dark .elementor-widget-container, .dbs-lead-light .elementor-widget-container{ font-size:1.14rem!important; line-height:1.55!important; }
/* ¿Quién eres? tarjetas (icon-box widget) */
.dbs-whocard{ background:#fff!important; border:1px solid rgba(27,42,56,.12)!important; height:100%; position:relative; overflow:hidden; transition:background .3s; }
.dbs-whocard:hover{ background:#FCFBF9!important; }
.dbs-whocard .elementor-widget-container{ padding:36px 32px 34px!important; }
.dbs-whocard .elementor-icon-box-wrapper{ text-align:left!important; }
.dbs-whocard .elementor-icon-box-icon{ margin-bottom:16px!important; }
.dbs-whocard .elementor-icon{ font-size:30px!important; }
.dbs-whocard::after{ content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--dbs-brass); transition:width .4s cubic-bezier(.2,.7,.2,1); }
.dbs-whocard:hover::after{ width:100%; }
/* Banner IM-II (chip) */
.dbs-nivbanner .elementor-widget-container{ display:inline-block; background:var(--dbs-brass); color:#0B1B2E; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; padding:5px 12px; border-radius:2px; margin-bottom:14px; }
.dbs-nivbanner p{ margin:0; }
/* Soluciones */
.dbs-servrow .elementor-icon{ font-size:22px!important; }
.dbs-servrow .elementor-icon-box-wrapper{ text-align:left!important; }
.dbs-servrow .elementor-icon-box-content{ padding-left:2px; }
/* Logo Schindler dentro del lockup */
.dbs-schindler-img img{ height:44px!important; width:auto!important; }
