.elementor-kit-28{--e-global-color-primary:#000000;--e-global-color-secondary:#FFD800;--e-global-color-text:#464646;--e-global-color-accent:#F5F7FA;--e-global-color-c1:#8892A4;--e-global-color-c2:#FFFFFF;--e-global-color-c3:#E2E8F0;--e-global-color-c4:#1A1A2E;--e-global-typography-primary-font-family:"Lato";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Lato";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Lato";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Lato";--e-global-typography-accent-font-weight:700;--e-global-typography-accent-font-style:italic;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-28 button,.elementor-kit-28 input[type="button"],.elementor-kit-28 input[type="submit"],.elementor-kit-28 .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );color:var( --e-global-color-c2 );border-radius:6px 6px 6px 6px;padding:14px 28px 14px 28px;}.elementor-kit-28 button:hover,.elementor-kit-28 button:focus,.elementor-kit-28 input[type="button"]:hover,.elementor-kit-28 input[type="button"]:focus,.elementor-kit-28 input[type="submit"]:hover,.elementor-kit-28 input[type="submit"]:focus,.elementor-kit-28 .elementor-button:hover,.elementor-kit-28 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-c2 );}.elementor-kit-28 e-page-transition{background-color:#FFBC7D;}.elementor-kit-28 a:hover{color:var( --e-global-color-primary );}.elementor-kit-28 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-kit-28 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-kit-28 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-kit-28 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-kit-28 h5{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-28 h6{color:var( --e-global-color-c1 );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-28 label{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-28 input:not([type="button"]):not([type="submit"]),.elementor-kit-28 textarea,.elementor-kit-28 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );background-color:var( --e-global-color-c2 );border-radius:6px 6px 6px 6px;padding:12px 16px 12px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}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-28{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-28 label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-28 input:not([type="button"]):not([type="submit"]),.elementor-kit-28 textarea,.elementor-kit-28 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-28{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-28 label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-28 input:not([type="button"]):not([type="submit"]),.elementor-kit-28 textarea,.elementor-kit-28 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ================================================
   DESIGN SYSTEM — yerayrodri.online
   Solo efectos que Elementor Free no puede hacer nativamente.
   Colores, tipografía y estilos base → Site Settings del Kit.
   ================================================ */

/* Variables reutilizables */
:root {
  --shadow-sm:  0 1px 4px rgba(15,43,91,.07);
  --shadow-md:  0 4px 20px rgba(15,43,91,.13);
  --shadow-lg:  0 10px 40px rgba(15,43,91,.20);
  --r-sm:       6px;
  --r-md:       14px;
  --r-lg:       22px;
  --tr:         all .3s ease;
}

/* === TARJETAS ICON-BOX ===
   El wrapper interno (.elementor-icon-box-wrapper) no tiene
   controles en Elementor — se estila aquí obligatoriamente. */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  transition: var(--tr);
  background: #fff;
  border-radius: var(--r-md);
  padding: 32px 24px;
  border: 1px solid var(--e-global-color-c3);
  box-shadow: var(--shadow-sm);
}
.elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
  border-color: var(--e-global-color-secondary);
}

/* === HOVER BOTONES ===
   translateY en hover no existe en Elementor Free. */
.elementor-button {
  transition: var(--tr) !important;
}
.elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

/* === OCULTAR TÍTULO DE WP ===
   Hello Elementor imprime <h1> de la página fuera de Elementor. */
body.elementor-page .entry-header,
body.elementor-page .page-header,
body.elementor-page .entry-title { display: none !important; }

/* === HEADER STICKY SHADOW ===
   La clase .elementor-sticky--stuck se añade via JS — no hay
   control nativo para estilar el estado sticky en Elementor. */
.elementor-element-e22d6.elementor-sticky--stuck {
  box-shadow: 0 2px 16px rgba(15,43,91,.18);
  z-index: 9999;
}

/* === HEADER RESPONSIVE ===
   Ajuste de columnas del header en tablet y móvil. */
@media (max-width: 767px) {
  .elementor-element-e22d6 > .elementor-container > .elementor-row {
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .elementor-element-dxb5b { width: 50% !important; flex: 0 0 50% !important; }
  .elementor-element-dzb33 { width: 50% !important; flex: 0 0 50% !important; }
  .elementor-element-e1ff4 { display: none !important; }
  .elementor-element-dzb33 .elementor-nav-menu__container { display: none; }
  .elementor-element-dzb33 .elementor-menu-toggle {
    margin-left: auto;
    min-width: 44px; min-height: 44px;
    display: flex !important;
    align-items: center; justify-content: flex-end;
  }
  .elementor-element-e22d6 .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: fixed !important;
    top: 54px; left: 0 !important; right: 0;
    width: 100vw !important; display: block;
  }
  .elementor-element-e22d6 .elementor-nav-menu--dropdown li a.elementor-item {
    padding: 14px 24px !important;
    font-size: 15px;
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-dxb5b { width: 22% !important; flex: 0 0 22% !important; }
  .elementor-element-dzb33 { width: 56% !important; flex: 0 0 56% !important; }
  .elementor-element-e1ff4 { width: 22% !important; flex: 0 0 22% !important; }
}

/* === FOOTER RESPONSIVE ===
   Columnas del footer en tablet y móvil. */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-efcf6 > .elementor-container > .elementor-row { flex-wrap: wrap !important; }
  .elementor-element-e5087 { width: 45% !important; flex: 0 0 45% !important; padding-bottom: 36px; }
  .elementor-element-e83dc { width: 28% !important; flex: 0 0 28% !important; }
  .elementor-element-ebf3f { width: 27% !important; flex: 0 0 27% !important; }
  .elementor-element-ee635 { width: 100% !important; flex: 0 0 100% !important;
    padding-top: 32px; border-top: 1px solid rgba(255,255,255,.06); }
}
@media (max-width: 767px) {
  .elementor-element-efcf6 > .elementor-container > .elementor-row { flex-direction: column !important; }
  .elementor-element-e5087,
  .elementor-element-e83dc,
  .elementor-element-ebf3f,
  .elementor-element-ee635 { width: 100% !important; flex: 0 0 100% !important; text-align: center; }
  .elementor-element-e5087,
  .elementor-element-e83dc,
  .elementor-element-ebf3f { padding-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.06); margin-bottom: 32px; }
  .elementor-element-e5087 .elementor-widget-site-logo { display: flex; justify-content: center; }
  .elementor-element-esoc1 .e-grid { justify-content: center !important; }
  .elementor-element-e710a .elementor-nav-menu li,
  .elementor-element-ea2b8 .elementor-nav-menu li { text-align: center; }
  .elementor-element-e710a .elementor-nav-menu a,
  .elementor-element-ea2b8 .elementor-nav-menu a { justify-content: center; }
  .elementor-element-foot_cta .elementor-button-wrapper { display: flex; justify-content: center; }
}

/* Footer copyright: separador superior dentro del mismo contenedor */
.elementor-element-efooter_copy_col {
  border-top: 1px solid rgba(255,255,255,0.08);
  margin-top: 32px;
  padding-top: 18px;
}

/* Footer: color de enlaces en text-editors (email, LinkedIn, Aviso Legal) */
.elementor-element-edebd a { color: var(--e-global-color-secondary); }
.elementor-element-edebd a:hover { color: var(--e-global-color-c2); }
.elementor-element-eg075 a { color: var(--e-global-color-c1); }
.elementor-element-eg075 a:hover { color: var(--e-global-color-secondary); }

/* === SHORTCODES CUSTOM ===
   Grids de proyectos relacionados y servicios aplicados en Singles. */
.proyectos-relacionados-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px; margin-top: 20px;
}
.proyecto-card {
  display: block; padding: 24px;
  background: var(--e-global-color-c2, #fff);
  border: 1px solid var(--e-global-color-c3, #E2E8F0);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-sm);
  text-decoration: none; transition: var(--tr);
}
.proyecto-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
  border-color: var(--e-global-color-secondary);
}
.proyecto-card-title { font-size: 1rem; font-weight: 700; color: var(--e-global-color-primary); margin: 0 0 6px; }
.proyecto-card-cliente { font-size: 0.875rem; color: var(--e-global-color-c1); margin: 0 0 8px; }
.proyecto-card-sector {
  display: inline-block; font-size: 0.75rem; font-weight: 600;
  color: var(--e-global-color-secondary); background: rgba(0,201,167,.1);
  padding: 2px 10px; border-radius: var(--r-sm);
}
.servicios-proyecto-list { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.servicio-link {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 18px; border: 2px solid var(--e-global-color-secondary);
  border-radius: var(--r-sm); color: var(--e-global-color-secondary);
  font-weight: 600; text-decoration: none; transition: var(--tr); font-size: 0.9rem;
}
.servicio-link:hover { background: var(--e-global-color-secondary); color: var(--e-global-color-c2, #fff); }/* End custom CSS */