.elementor-kit-4{--e-global-color-primary:#009EE2;--e-global-color-secondary:#FFF419;--e-global-color-text:#061E2A;--e-global-color-accent:#14597A;--e-global-color-kadence3:#04141E;--e-global-color-kadence4:#082838;--e-global-color-kadence5:#2F4A59;--e-global-color-kadence6:#6A8591;--e-global-color-kadence7:#B3E2F6;--e-global-color-kadence8:#D9F1FA;--e-global-color-kadence9:#FFFFFF;--e-global-typography-primary-font-family:"Space Grotesk";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Space Grotesk";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter Tight";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter Tight";--e-global-typography-accent-font-weight:400;color:var( --e-global-color-text );font-family:"Inter Tight", Sans-serif;font-size:17px;font-weight:400;line-height:1.3em;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:var( --e-global-color-kadence9 );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-text );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-text );border-radius:25px 25px 25px 25px;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-kadence9 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-text );}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:var( --e-global-color-accent );font-family:"Inter Tight", Sans-serif;}.elementor-kit-4 a:hover{color:var( --e-global-color-accent );}.elementor-kit-4 h1{color:#061E2A;font-family:"Space Grotesk", Sans-serif;font-size:95px;font-weight:800;line-height:0.95em;letter-spacing:0em;}.elementor-kit-4 h2{color:var( --e-global-color-text );font-family:"Space Grotesk", Sans-serif;font-size:60px;font-weight:800;line-height:0.95em;letter-spacing:-0.06em;}.elementor-kit-4 h3{color:var( --e-global-color-primary );font-family:"Space Grotesk", Sans-serif;font-size:20px;font-weight:800;line-height:0.95em;}.elementor-kit-4 h4{color:var( --e-global-color-text );font-family:"Space Grotesk", Sans-serif;font-size:48px;font-weight:800;line-height:0.95em;letter-spacing:-0.05em;}.elementor-kit-4 h5{color:var( --e-global-color-kadence5 );font-family:"Space Grotesk", Sans-serif;font-size:24px;font-weight:800;line-height:1em;letter-spacing:0.05em;}.elementor-kit-4 h6{color:#009EE2;font-family:"Space Grotesk", Sans-serif;font-size:18px;font-weight:800;line-height:1em;letter-spacing:0.02em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-4 h2{font-size:40px;}.elementor-kit-4 h3{font-size:18px;}.elementor-kit-4 h4{font-size:38px;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:700px;}.e-con{--container-max-width:700px;}}@media(max-width:767px){.elementor-kit-4 h2{font-size:36px;}.elementor-kit-4 h3{font-size:16px;}.elementor-kit-4 h4{font-size:30px;}.elementor-kit-4 h5{line-height:1.2em;}.elementor-kit-4 h6{line-height:1.2em;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   IDENBAUER — GLOBAL CSS (unificado)
   Incluye:
   - Breadcrumbs
   - Boxes (zoom + CTA)
   - Box-icons (cards con icono + hover)
   - Utilidades de color
   - Pills/tag (span-sector)
   - Right blur panel (right-blur-zone)
   - Fix SVG en botones Elementor
   ========================================================= */


/* =======================
   UTILIDADES DE COLOR
   ======================= */
.u-primary{   color: var(--e-global-color-primary) !important; }
.u-secondary{ color: var(--e-global-color-secondary) !important; }
.u-text{      color: var(--e-global-color-text) !important; }
.u-accent{    color: var(--e-global-color-accent) !important; }
.u-white{     color: #fff !important; }
.u-black{     color: #000 !important; }


/* =======================
   BREADCRUMBS (custom)
   - Base text: white
   - Links: light blue
   - Separator: inline SVG chevron
   ======================= */
.custom-breadcrumbs{
  font-size: 15px;
  font-weight: 500;
  color: #fff;
}

.custom-breadcrumbs *{
  color: inherit !important;
}

.custom-breadcrumbs a{
  color: #CCECF9 !important;
  text-decoration: none !important;
  font-weight: 100;
}

.custom-breadcrumbs a:hover{
  text-decoration: underline !important;
  text-underline-offset: 5px;
}

.custom-breadcrumbs .separator{
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 1px 8px 0;
  vertical-align: text-top;
  background: center / contain no-repeat;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CCECF9' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'><polyline points='8 4 16 12 8 20'/></svg>");
}


/* =======================
   PILL / TAG: "Servicios"
   Usa: clase "span-sector" en el Heading (texto: Servicios)
   ======================= */
.span-sector{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 8px 8px 10px;
  border: 1px solid currentColor;
  border-radius: 10px;

  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .04em;
  line-height: 1;
}


/* =======================
   RIGHT BLUR PANEL
   Usa: clase "right-blur-zone" en el contenedor padre
   ======================= */
.right-blur-zone{
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.right-blur-zone > *{
  position: relative;
  z-index: 2;
}

.right-blur-zone::after{
  content:"";
  position: absolute;
  inset: 0 0 0 auto; /* top right bottom, left auto */
  width: 58%;
  z-index: 1;

  background: linear-gradient(to left,
    rgba(0,0,0,0.50) 0%,
    rgba(0,0,0,0.28) 35%,
    rgba(0,0,0,0.10) 60%,
    rgba(0,0,0,0.00) 100%
  );

  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);

  -webkit-mask-image: linear-gradient(to left,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 55%,
    rgba(0,0,0,0) 100%
  );
  mask-image: linear-gradient(to left,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 55%,
    rgba(0,0,0,0) 100%
  );
}

@media (max-width: 1024px){
  .right-blur-zone::after{
    width: 72%;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);

    background: linear-gradient(to left,
      rgba(0,0,0,0.38) 0%,
      rgba(0,0,0,0.20) 40%,
      rgba(0,0,0,0.06) 70%,
      rgba(0,0,0,0.00) 100%
    );

    -webkit-mask-image: linear-gradient(to left,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 35%,
      rgba(0,0,0,0) 100%
    );
    mask-image: linear-gradient(to left,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 35%,
      rgba(0,0,0,0) 100%
    );
  }
}

@media (max-width: 767px){
  .right-blur-zone::after{
    width: 100%;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);

    background: linear-gradient(to bottom,
      rgba(0,0,0,0.35) 0%,
      rgba(0,0,0,0.22) 45%,
      rgba(0,0,0,0.10) 100%
    );

    -webkit-mask-image: none;
    mask-image: none;
  }
}


/* =======================
   BOX (background zoom + CTA circular)
   - .box usa el background-image del elemento
   - .fake-button: círculo con flecha / icon widget
   ======================= */
.box{
  position: relative;
  overflow: hidden;
  cursor: pointer;
  isolation: isolate;
}

.box > *{
  position: relative;
  z-index: 1;
}

.box::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: inherit;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: transform .6s ease;
  will-change: transform;
}

.box:hover::before{ transform: scale(1.15); }

.box .fake-button{
  width: 50px;
  height: 50px;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  transition: background-color .3s ease, border-color .3s ease, transform .3s ease, color .3s ease;
  will-change: transform;
}

.box:hover .fake-button{
  background-color: #FFF419;
  border-color: #FFF419;
  color: #009EE2;
  transform: translateX(5px);
}

.box:focus-within .fake-button{ transform: translateX(5px); }

@media (prefers-reduced-motion: reduce){
  .box::before,
  .box .fake-button{
    transition: none !important;
  }
}


/* =======================
   BOX-ICONS (cards con icono + hover de color)
   ======================= */
.box-icons{
  isolation: isolate;
  color: var(--e-global-color-text);
}

.box-icons :is(.elementor-heading-title,
               .elementor-widget-text-editor,
               .elementor-widget-text-editor p){
  color: var(--e-global-color-text);
  transition: color .25s ease;
}

.box-icons :is(.elementor-icon, .elementor-icon svg){
  color: var(--e-global-color-primary);
  transition: color .25s ease;
}

.box-icons .elementor-icon svg :is(path, rect, circle, polygon){
  fill: currentColor !important;
}

.box-icons .fake-button{
  width: 50px;
  height: 50px;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--e-global-color-primary);
  background: transparent;
  color: var(--e-global-color-text);
  transition: background-color .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
  will-change: transform;
}

.box-icons .fake-button svg :is(path, rect, circle, line, polyline, polygon){
  stroke: var(--e-global-color-primary) !important;
  fill: none !important;
}

.box-icons:hover{
  background: var(--e-global-color-primary) !important;
  color: #fff;
}

.box-icons:hover :is(.elementor-heading-title,
                     .elementor-widget-text-editor,
                     .elementor-widget-text-editor p){
  color: #fff !important;
}

.box-icons:hover :is(.elementor-icon, .elementor-icon svg){
  color: #fff !important;
}

.box-icons:hover .fake-button{
  background: #fff;
  border-color: #fff;
  color: var(--e-global-color-primary);
  transform: translateX(5px);
}

@media (prefers-reduced-motion: reduce){
  .box-icons :is(.fake-button, .elementor-icon, .elementor-icon svg){
    transition: none !important;
  }
}


/* =======================
   SOPORTE para reemplazo de HTML "fake-button" por Icon widget
   - Si dentro de .fake-button pones un Icon widget, esto lo centra perfecto.
   ======================= */
.fake-button .elementor-icon{
  display: flex;
  align-items: center;
  justify-content: center;
}

.fake-button .elementor-icon svg{
  width: 1em;
  height: 1em;
}


/* =======================
   TYPO (global)
   ======================= */
b, strong{ font-weight: 700 !important; }


/* =======================
   FIX: SVG icons en botones de Elementor deben heredar currentColor
   ======================= */
.elementor-button .elementor-button-icon :is(svg, i){
  fill: currentColor !important;
  color: currentColor !important;
}/* End custom CSS */