/* ── 16. IMAGE CARD para dropdowns ── */
#lbx-sectores-dropdown .lbx-dd-img-card,
#lbx-servicios-dropdown .lbx-dd-img-card {
  width: 180px !important;
  min-width: 180px !important;
  min-height: 214px !important;
  border-radius: 12px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  flex-shrink: 0 !important;
  display: block !important;
  align-self: stretch !important;
}

#lbx-sectores-dropdown .lbx-dd-right,
#lbx-servicios-dropdown .lbx-dd-right {
  display: flex !important;
  align-items: stretch !important;
  align-self: stretch !important;
}

#lbx-sectores-dropdown,
#lbx-servicios-dropdown {
  align-items: stretch !important;
}

/* ── 1. VARIABLES ── */
:root {
  --lbx-header-bg: #FAF8F5;
  --lbx-header-height: 56px;
  --lbx-nav-color: #2C2C2C;
  --lbx-nav-hover-color:
#FDF8F5;
  --lbx-nav-hover-bg: #210806;
  --lbx-btn-bg: rgb(58, 82, 68);
  --lbx-btn-hover-bg: rgb(35, 60, 50);
  --lbx-transition: 200ms ease;
}

/* ── 2. RESET HEADER BASE ── */
#masthead {
  background: transparent !important;
  box-shadow: none !important;
  padding: 20px 0 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  /* Suprimir transición de Kadence al navegar entre páginas */
  transition: none !important;
}

/* Suprimir transición/salto del sticky header al cambiar página */
.site-main-header-wrap,
.site-main-header-wrap.kadence-sticky-header,
.site-main-header-wrap.item-is-fixed,
.site-main-header-wrap.item-is-stuck {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* ── 3. PILL FLOTANTE ── */
.site-main-header-wrap {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.site-main-header-inner-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 24px !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  width: calc(100% - 32px) !important;
  box-sizing: border-box !important;
  height: var(--lbx-header-height) !important;
  background: var(--lbx-header-bg) !important;
  border-radius: 9999px !important;
  box-shadow: 0 2px 24px rgba(0,0,0,0.10) !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  transition: box-shadow 250ms ease !important;
}

#masthead.lbx-scrolled .site-main-header-inner-wrap {
  box-shadow: 0 4px 32px rgba(0,0,0,0.14) !important;
}

/* ── 4. INNER WRAPS ── */
.site-header-row-container-inner {
  height: auto !important;
  background: transparent !important;
}

.site-header-upper-wrap {
  background: transparent !important;
}

.site-header-upper-inner-wrap {
  height: auto !important;
}

.site-header-row-layout-standard > .site-container {
  height: auto !important;
}

/* ── 5. LOGO ── */
#masthead .site-logo img,
#masthead .site-title img {
  max-height: 36px !important;
  width: auto !important;
}

#masthead .site-logo,
#masthead .site-title {
  flex-shrink: 0 !important;
}

/* ── 6. NAV — espaciado uniforme ── */
#main-header .mega-menu {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#main-header .mega-menu > .mega-menu-item {
  position: relative !important;
}

#main-header .mega-menu > .mega-menu-item > a.mega-menu-link {
  display: flex !important;
  align-items: center !important;
  padding: 8px 14px !important;
  font-family: "Inter Tight", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--lbx-nav-color) !important;
  text-decoration: none !important;
  background: transparent !important;
  border-radius: 50px !important;
  transition: background var(--lbx-transition), color var(--lbx-transition) !important;
  white-space: nowrap !important;
}

#main-header .mega-menu > .mega-menu-item > a.mega-menu-link:hover,
#main-header .mega-menu > .mega-menu-item.lbx-active > a.mega-menu-link {
  background: var(--lbx-nav-hover-bg) !important;
  color: var(--lbx-nav-hover-color) !important;
}

#main-header .mega-menu > .mega-menu-item > a.mega-menu-link::after {
  display: none !important;
}

/* Eliminar underline anterior */
#main-header .mega-menu > .mega-menu-item > a.mega-menu-link::before {
  display: none !important;
}

/* ── 7. OCULTAR submenus originales ── */
#main-header .mega-sub-menu {
  display: none !important;
}

/* ── 8. BOTÓN CTA ── */
#main-header .header-button-inner-wrap {
  margin-left: 8px !important;
}

#main-header a.header-button {
  display: inline-flex !important;
  align-items: center !important;
  padding: 10px 22px !important;
  background: var(--lbx-btn-bg) !important;
  color: #ffffff !important;
  font-family: "Inter Tight", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: 50px !important;
  border: none !important;
  transition: background var(--lbx-transition), transform var(--lbx-transition) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

#main-header a.header-button:hover {
  background: var(--lbx-btn-hover-bg) !important;
  transform: scale(1.02) !important;
}

/* ── 9. DROPDOWN SECTORES ── */
#lbx-sectores-dropdown {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(-10px) !important;
  background: #FFFFFF !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.10) !important;
  padding: 20px 24px !important;
  min-width: 480px !important;
  display: none !important;
  gap: 32px !important;
  transition: transform 200ms ease !important;
  z-index: 99999 !important;
}

#lbx-sectores-dropdown.lbx-dd-open {
  display: flex !important;
  transform: translateX(-50%) translateY(0) !important;
}

.lbx-dd-left {
  flex: 1 !important;
  min-width: 200px !important;
}

.lbx-dd-label {
  font-family: "Inter Tight", sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #999999 !important;
  margin-bottom: 16px !important;
  display: block !important;
}

.lbx-dd-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lbx-dd-list li {
  margin: 0 !important;
  padding: 0 !important;
}

.lbx-dd-list a {
  display: block !important;
  font-family: "Inter Tight", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #1A1A1A !important;
  text-decoration: none !important;
  padding: 5px 0 !important;
  transition: transform 200ms, color 200ms !important;
  white-space: nowrap !important;
}

.lbx-dd-list a:hover {
  transform: translateX(4px) !important;
  color: #000000 !important;
}

.lbx-dd-right {
  flex-shrink: 0 !important;
  width: 200px !important;
}

.lbx-dd-card {
  width: 200px !important;
  height: 190px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  position: relative !important;
  background: linear-gradient(135deg, #2C4A38 0%, #3d6b4f 50%, #5a8a68 100%) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

.lbx-dd-card::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.1) 60%, transparent 100%) !important;
  border-radius: 12px !important;
}

.lbx-dd-card-text {
  position: relative !important;
  z-index: 1 !important;
}

.lbx-dd-card-name {
  font-family: "Inter Tight", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  display: block !important;
  margin-bottom: 2px !important;
}

.lbx-dd-card-tagline {
  font-family: "Inter Tight", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.8) !important;
  display: block !important;
  margin-bottom: 12px !important;
}

.lbx-dd-card-cta {
  display: inline-block !important;
  background: var(--lbx-btn-bg) !important;
  color: #ffffff !important;
  font-family: "Inter Tight", sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 7px 14px !important;
  border-radius: 50px !important;
  transition: background var(--lbx-transition) !important;
}

.lbx-dd-card-cta:hover {
  background: var(--lbx-btn-hover-bg) !important;
}

/* ── 10. MOBILE ── */
@media (max-width: 1024px) {
  .site-main-header-inner-wrap {
    padding: 0 16px !important;
    width: calc(100% - 24px) !important;
  }
}

/* ── 11. BODY padding para header flotante ── */
body.lbx-header-init .site-header-upper-wrap {
  height: calc(var(--lbx-header-height) + 40px) !important;
}

/* ── 12. DROPDOWN SERVICIOS (oculto por defecto) ── */
#lbx-servicios-dropdown {
  display: none !important;
}

#lbx-servicios-dropdown.lbx-dd-open {
  display: flex !important;
}

/* ── 13. OCULTAR INDICADOR DROPDOWN ── */
#main-header .mega-menu-item.mega-menu-megamenu .mega-indicator {
  display: none !important;
}

/* ── 14. BLUR OVERLAY cuando dropdown abierto ── */
#lbx-page-blur-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,0.08) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 250ms ease !important;
  z-index: 9000 !important;
}

#lbx-page-blur-overlay.lbx-blur-active {
  opacity: 1 !important;
  pointer-events: none !important;
}

/* ── 15. DROPDOWN SERVICIOS (dos columnas) ── */
#lbx-servicios-dropdown {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(-10px) !important;
  background: #FFFFFF !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.10) !important;
  padding: 20px 24px !important;
  min-width: 760px !important;
  display: none !important;
  gap: 32px !important;
  transition: transform 200ms ease !important;
  z-index: 99999 !important;
}

#lbx-servicios-dropdown.lbx-dd-open {
  display: flex !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* Two-column left panel */
.lbx-dd-two-cols {
  flex: 2 !important;
}

.lbx-dd-cols-wrap {
  display: flex !important;
  gap: 16px !important;
}

.lbx-dd-cols-wrap .lbx-dd-list {
  flex: 1 !important;
}

/* ── Ver todos button below image ── */
.lbx-dd-ver-todos {
  display: block !important;
  background: transparent !important;
  color: #1A1A1A !important;
  text-align: center !important;
  font-family: "Inter Tight", sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 50px !important;
  border: 1px solid #d0cdc9 !important;
  padding: 7px 16px !important;
  margin-top: 10px !important;
  transition: background 200ms, color 200ms, border-color 200ms !important;
  white-space: nowrap !important;
}

.lbx-dd-ver-todos:hover {
  background: #1A1A1A !important;
  color: #fff !important;
  border-color: #1A1A1A !important;
}

#lbx-sectores-dropdown .lbx-dd-right,
#lbx-servicios-dropdown .lbx-dd-right {
  flex-direction: column !important;
  align-items: stretch !important;
  width: 180px !important;
  min-width: 180px !important;
  margin-top: 33px !important;
}


/* == HERO SECTORES - Animación slide-down entrada == */

/* Keyframe de entrada: parte con translateY(-30px) y opacity 0, llega a posición natural con opacity 1 */
@keyframes hero-slide-down {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Estado inicial: invisible antes de que arranque la animación */
.kb-row-layout-id536_e70e51-cf,
.kt-adv-heading536_21188e-e4,
.kt-adv-heading536_91a98a-cc,
.kt-adv-heading536_ad83e4-06 {
  opacity: 0;
}

/* 1º: Galería/imágenes - delay 0ms */
.kb-row-layout-id536_e70e51-cf {
  animation: hero-slide-down 600ms ease-out 0ms forwards;
}

/* 2º: Label "SECTORES" - delay 150ms */
.kt-adv-heading536_ad83e4-06 {
  animation: hero-slide-down 600ms ease-out 150ms forwards;
}

/* 3º: Título H1 - delay 300ms */
.kt-adv-heading536_21188e-e4 {
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}

/* 4º: Descripción/subtítulo - delay 450ms */
.kt-adv-heading536_91a98a-cc {
  animation: hero-slide-down 600ms ease-out 450ms forwards;
}

/* ---------------------------------------------------------------
   2b. SECTORES — 2ª fila: textos (SPAN label + H2 + P), sin fondo
   Orden: label → H2 → descripción
   --------------------------------------------------------------- */
.kt-adv-heading536_c4ca44-5c,
.kt-adv-heading536_450ac7-88,
.kt-adv-heading536_787b22-4b {
  opacity: 0;
}

/* 1º: Label "CATÁLOGO" (300ms) */
.kt-adv-heading536_c4ca44-5c {
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}

/* 2º: H2 "Descubre los sectores..." (450ms) */
.kt-adv-heading536_450ac7-88 {
  animation: hero-slide-down 600ms ease-out 450ms forwards;
}

/* 3º: Párrafo descripción (600ms) */
.kt-adv-heading536_787b22-4b {
  animation: hero-slide-down 600ms ease-out 600ms forwards;
}

/* == FIN animación hero Sectores == */

/* ================================================================
   2c. SECTORES — 3ª fila: tarjetas de sector (cascada natural: imagen → H3 → P)
   ================================================================ */
.kb-image536_58ff7a-56,
.kb-image536_2277cc-4e,
.kb-image536_4b8b04-2f,
.kb-image536_dc89b9-48,
.kb-image536_60ec42-f9,
.kb-image536_7574f5-0e,
.kb-image536_a37f3c-c5,
.kb-image536_4f909e-8c,
.kb-image536_d7bf9b-cd,
.kt-adv-heading536_2dfb3f-cd,
.kt-adv-heading536_ba743a-3b,
.kt-adv-heading536_9d212f-3d,
.kt-adv-heading536_09748c-19,
.kt-adv-heading536_42aaf4-e2,
.kt-adv-heading536_b42068-18,
.kt-adv-heading536_c5f14a-10,
.kt-adv-heading536_82be38-9a,
.kt-adv-heading536_55e5ac-ef,
.kt-adv-heading536_7f405b-1c,
.kt-adv-heading536_f71dc4-08,
.kt-adv-heading536_bdb8dc-39,
.kt-adv-heading536_2c4c2a-c2,
.kt-adv-heading536_c172c9-a2,
.kt-adv-heading536_618d27-fc,
.kt-adv-heading536_9e88e1-32,
.kt-adv-heading536_4e67bb-ed,
.kt-adv-heading536_3351a4-79 {
  opacity: 0;
}

/* 1º: Imágenes de las tarjetas (300ms) — visualmente encima del texto */
.kb-image536_58ff7a-56,
.kb-image536_2277cc-4e,
.kb-image536_4b8b04-2f,
.kb-image536_dc89b9-48,
.kb-image536_60ec42-f9,
.kb-image536_7574f5-0e,
.kb-image536_a37f3c-c5,
.kb-image536_4f909e-8c,
.kb-image536_d7bf9b-cd {
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}

/* 2º: Títulos H3 (450ms) */
.kt-adv-heading536_2dfb3f-cd,
.kt-adv-heading536_ba743a-3b,
.kt-adv-heading536_9d212f-3d,
.kt-adv-heading536_09748c-19,
.kt-adv-heading536_42aaf4-e2,
.kt-adv-heading536_b42068-18,
.kt-adv-heading536_c5f14a-10,
.kt-adv-heading536_82be38-9a,
.kt-adv-heading536_55e5ac-ef {
  animation: hero-slide-down 600ms ease-out 450ms forwards;
}

/* 3º: Párrafos descripción (600ms) */
.kt-adv-heading536_7f405b-1c,
.kt-adv-heading536_f71dc4-08,
.kt-adv-heading536_bdb8dc-39,
.kt-adv-heading536_2c4c2a-c2,
.kt-adv-heading536_c172c9-a2,
.kt-adv-heading536_618d27-fc,
.kt-adv-heading536_9e88e1-32,
.kt-adv-heading536_4e67bb-ed,
.kt-adv-heading536_3351a4-79 {
  animation: hero-slide-down 600ms ease-out 600ms forwards;
}


/* ---------------------------------------------------------------
   3. QUIÉNES SOMOS (post-946) — Hero con canvas animado
   Orden: slider/canvas → label → H1 → subtítulo
   --------------------------------------------------------------- */

#lb-hero-slider-wrap,
.lb-hero-label,
.lb-hero-h1,
.lb-hero-subtitle {
  opacity: 0;
}

/* 1º: Slider/canvas (0ms) */
#lb-hero-slider-wrap {
  animation: hero-slide-down 600ms ease-out 0ms forwards;
}

/* 2º: Label "Quiénes somos" (150ms) */
.lb-hero-label {
  animation: hero-slide-down 600ms ease-out 150ms forwards;
}

/* 3º: H1 (300ms) */
.lb-hero-h1 {
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}

/* 4º: Subtítulo/descripción (450ms) */
.lb-hero-subtitle {
  animation: hero-slide-down 600ms ease-out 450ms forwards;
}


/* ---------------------------------------------------------------
   4. SERVICIOS (post-638) — Hero texto: label + H1 + descripción
   --------------------------------------------------------------- */

.kt-adv-heading638_48cf7d-d9,
.kt-adv-heading638_06ab16-be,
.kt-adv-heading638_675e9f-c6 {
  opacity: 0;
}

/* 1º: Label "servicios" (0ms) */
.kt-adv-heading638_48cf7d-d9 {
  animation: hero-slide-down 600ms ease-out 0ms forwards;
}

/* 2º: H1 (150ms) */
.kt-adv-heading638_06ab16-be {
  animation: hero-slide-down 600ms ease-out 150ms forwards;
}

/* 3º: Descripción (300ms) */
.kt-adv-heading638_675e9f-c6 {
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}

/* ---------------------------------------------------------------
   4b. SERVICIOS — 2ª fila: imagen decorativa
   --------------------------------------------------------------- */
.kb-image638_267ed2-19 {
  opacity: 0;
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}

/* ---------------------------------------------------------------
   4c. SERVICIOS — 3ª fila: textos catálogo (SPAN + H2 + P)
   --------------------------------------------------------------- */
.kt-adv-heading638_5a699d-c5,
.kt-adv-heading638_230b3d-cb,
.kt-adv-heading638_d1ae09-e2 {
  opacity: 0;
}
.kt-adv-heading638_5a699d-c5 {
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}
.kt-adv-heading638_230b3d-cb {
  animation: hero-slide-down 600ms ease-out 450ms forwards;
}
.kt-adv-heading638_d1ae09-e2 {
  animation: hero-slide-down 600ms ease-out 600ms forwards;
}


/* ---------------------------------------------------------------
   5. GARANTÍAS (post-1792) — Hero: label + H1 + descripción
   Orden: label → H1 → descripción
   --------------------------------------------------------------- */

.kt-adv-heading1792_affcdd-c0,
.kt-adv-heading1792_fd8ac2-a2,
.kt-adv-heading1792_a33248-bf {
  opacity: 0;
}

/* 1º: Label (0ms) */
.kt-adv-heading1792_affcdd-c0 {
  animation: hero-slide-down 600ms ease-out 0ms forwards;
}

/* 2º: H1 (150ms) */
.kt-adv-heading1792_fd8ac2-a2 {
  animation: hero-slide-down 600ms ease-out 150ms forwards;
}

/* 3º: Descripción (300ms) */
.kt-adv-heading1792_a33248-bf {
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}


/* ---------------------------------------------------------------
   6. TRABAJA CON NOSOTROS (post-1794) — Hero: H2 título + P descripción
   Orden: H2 → descripción
   --------------------------------------------------------------- */

.kt-adv-heading1794_424f57-68,
.kt-adv-heading1794_c9486c-2f {
  opacity: 0;
}

/* 1º: H2 título (0ms) */
.kt-adv-heading1794_424f57-68 {
  animation: hero-slide-down 600ms ease-out 0ms forwards;
}

/* 2º: Descripción (150ms) */
.kt-adv-heading1794_c9486c-2f {
  animation: hero-slide-down 600ms ease-out 150ms forwards;
}


/* ---------------------------------------------------------------
   7. PRESUPUESTO (post-3780) — Hero: H2 solo
   --------------------------------------------------------------- */

.kt-adv-heading3780_cf4ff2-90 {
  opacity: 0;
  animation: hero-slide-down 600ms ease-out 0ms forwards;
}


/* ================================================================
   8. PÁGINAS DE SUBSECTOR, SUBSERVICIO Y PROVINCIAS
   (Todas las páginas de plantilla con H1 en la hero row de Kadence)
   Usa selectores estructurales con :has() — soportado en navegadores modernos
   Orden: imagen → H1 → subtítulo (H2/H3) → párrafo → CTAs
   ================================================================ */

/* EXCLUIR las páginas ya tratadas con clases específicas */

body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .wp-block-kadence-image,

body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .kt-inside-inner-col > h1,

body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .kt-inside-inner-col > h2,

body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .kt-inside-inner-col > h3,

body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .kt-inside-inner-col:not(:has(h1)) > p,

body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .kb-buttons-wrap {
  opacity: 0;
}

/* 1º: Imagen hero (0ms) */
body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .wp-block-kadence-image {
  animation: hero-slide-down 600ms ease-out 0ms forwards;
}

/* 2º: H1 título (150ms) */
body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .kt-inside-inner-col > h1 {
  animation: hero-slide-down 600ms ease-out 150ms forwards;
}

/* 3º: Subtítulo H2 o H3 (300ms) */
body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .kt-inside-inner-col > h2,
body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .kt-inside-inner-col > h3 {
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}

/* 4º: Primer párrafo visible (450ms) */
body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .kt-inside-inner-col:not(:has(h1)) > p {
  animation: hero-slide-down 600ms ease-out 450ms forwards;
}

/* 5º: Botones CTA (600ms) */
body:not(.page-id-536):not(.page-id-638):not(.page-id-1792):not(.page-id-1794):not(.page-id-3780):not(.page-id-946):not(.page-id-1204)
  .entry-content .wp-block-kadence-rowlayout:has(h1) .kb-buttons-wrap {
  animation: hero-slide-down 600ms ease-out 600ms forwards;
}


/* ================================================================
   9. GARANTÍAS — 2ª fila (grid de garantías)
   Cascada de arriba a abajo: fila superior → fila inferior
   ================================================================ */

/* Estado inicial: invisibles */
.kb-row-layout-id1792_084817-05,
.kb-row-layout-id1792_f7bb28-de,
.kb-image1792_43d9ac-2f,
.kb-image1792_974871-50,
.kb-image1792_462e7b-0f,
.kb-image1792_c856ab-a7 {
  opacity: 0;
}

/* 1º: Fila superior (H4s + Ps + 2 imágenes arriba) — 300ms */
.kb-row-layout-id1792_084817-05 {
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}

/* Imágenes top row también a 300ms (parte de la fila superior) */
.kb-image1792_43d9ac-2f,
.kb-image1792_974871-50 {
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}

/* 2º: Fila inferior (H4s + Ps + 2 imágenes abajo) — 500ms */
.kb-row-layout-id1792_f7bb28-de {
  animation: hero-slide-down 600ms ease-out 500ms forwards;
}

/* Imágenes bottom row también a 500ms */
.kb-image1792_462e7b-0f,
.kb-image1792_c856ab-a7 {
  animation: hero-slide-down 600ms ease-out 500ms forwards;
}


@keyframes hero-slide-in-left {
  from {
    opacity: 0;
    transform: translateX(-40px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ================================================================
   10. PRESUPUESTO — 2ª fila "Cómo funciona": slide-in desde la izquierda
   Solo en los textos, el fondo (row) permanece estático
   ================================================================ */

.kt-adv-heading3780_a64bc0-98,
.steps-timeline-wrapper {
  opacity: 0;
}

/* 1º: H2 "Cómo funciona" (300ms) */
.kt-adv-heading3780_a64bc0-98 {
  animation: hero-slide-in-left 900ms ease-out 400ms forwards;
}

/* 2º: Pasos 01-04 (500ms) */
.steps-timeline-wrapper {
  animation: hero-slide-in-left 900ms ease-out 650ms forwards;
}

/* == FIN animación hero global == */




/* ============================================
   HOVER EFFECT EN IMÁGENES DE SECTORES
   Zoom in + cursor personalizado "Saber más"
   ============================================ */

/* Cursor personalizado global (oculto por defecto) */
#sector-custom-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 110px;
    height: 110px;
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.02em;
    pointer-events: none;
    z-index: 99999;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.7);
    transition: opacity 0.25s ease, transform 0.25s ease;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

#sector-custom-cursor.visible {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* Ocultar cursor normal sobre imágenes de sector */
.kb-row-layout-id536_fd918c-66 .wp-block-kadence-image,
.kb-row-layout-id536_45fdb5-47 .wp-block-kadence-image {
    cursor: none;
}

/* Overflow hidden en el contenedor de imagen para el zoom */
.kb-row-layout-id536_fd918c-66 .kb-is-ratio-image,
.kb-row-layout-id536_45fdb5-47 .kb-is-ratio-image {
    overflow: hidden !important;
}

/* Transición suave en la imagen */
.kb-row-layout-id536_fd918c-66 .kb-is-ratio-image img,
.kb-row-layout-id536_45fdb5-47 .kb-is-ratio-image img {
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    transform: scale(1);
    will-change: transform;
}

/* Zoom in al hacer hover en la tarjeta del sector */
.kb-row-layout-id536_fd918c-66 .wp-block-kadence-image:hover .kb-is-ratio-image img,
.kb-row-layout-id536_45fdb5-47 .wp-block-kadence-image:hover .kb-is-ratio-image img {
    transform: scale(1.07) !important;
}

/* Scroll Sectores - JS controlled */
.kb-row-layout-id1204_f95382-5c > .kt-row-column-wrap {
    align-items: flex-start !important;
}

.kadence-column1204_aca1a6-1e > .kt-inside-inner-col {
    z-index: 1;
}

/* Sectores pasan por encima del texto */
.kadence-column1204_d2b17a-66,
.kadence-column1204_80a362-36,
.kadence-column1204_8953c0-af {
    position: relative;
    z-index: 10;
}

/* Fondo transparente en sectores para mostrar el texto */
.kb-row-layout-id1204_f95382-5c,
.kb-row-layout-id1204_0cc410-a8,
.kb-row-layout-id1204_d952a5-b4,
.kadence-column1204_d2b17a-66,
.kadence-column1204_80a362-36,
.kadence-column1204_8953c0-af,
.kadence-column1204_d2b17a-66 > .kt-inside-inner-col,
.kadence-column1204_80a362-36 > .kt-inside-inner-col,
.kadence-column1204_8953c0-af > .kt-inside-inner-col {
    background: transparent !important;
    background-color: transparent !important;
}



/* ============================================
   HOVER EFFECT EN IMÁGENES - BARCELONA PAGE
   Zoom in + cursor personalizado "saber más"
   Aplicado a: "Servicios de limpieza que ofrecemos en Barcelona"
   y "Otras localidades"
   ============================================ */

/* Cursor personalizado - mismo estilo que Sectores */
#bcn-custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 110px;
  height: 110px;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.02em;
  pointer-events: none;
  z-index: 99999;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.7);
  transition: opacity 0.25s ease, transform 0.25s ease;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

#bcn-custom-cursor.visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* === Servicios de limpieza que ofrecemos en Barcelona === */
.kb-row-layout-id3376_75f847-51 .lbc-card {
  cursor: none;
}

.kb-row-layout-id3376_75f847-51 .lbc-img-wrap {
  overflow: hidden !important;
  position: relative !important;
}

.kb-row-layout-id3376_75f847-51 .lbc-img-wrap img {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  transform: scale(1);
  will-change: transform;
}

.kb-row-layout-id3376_75f847-51 .lbc-card:hover .lbc-img-wrap img {
  transform: scale(1.07) !important;
}

/* === Otras localidades === */
.kb-row-layout-id3376_c95684-5d .wp-block-kadence-infobox {
  cursor: none;
}

.kb-row-layout-id3376_c95684-5d .kadence-info-box-image-intrisic {
  overflow: hidden !important;
}

.kb-row-layout-id3376_c95684-5d .kt-info-box-image {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  transform: scale(1);
  will-change: transform;
}

.kb-row-layout-id3376_c95684-5d .wp-block-kadence-infobox:hover .kt-info-box-image {
  transform: scale(1.07) !important;
}

/* ===== GIRONA - Hover effects ===== */

/* === Servicios de limpieza más demandados en Girona === */
.kb-row-layout-id3476_ceb20d-f8 .lbc-card {
  cursor: none;
}

.kb-row-layout-id3476_ceb20d-f8 .lbc-img-wrap {
  overflow: hidden !important;
  position: relative !important;
}

.kb-row-layout-id3476_ceb20d-f8 .lbc-img-wrap img {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  transform: scale(1);
  will-change: transform;
}

.kb-row-layout-id3476_ceb20d-f8 .lbc-card:hover .lbc-img-wrap img {
  transform: scale(1.07) !important;
}

/* === Otras localidades === */
.kb-row-layout-id3476_b1ee97-ea .wp-block-kadence-infobox {
  cursor: none;
}

.kb-row-layout-id3476_b1ee97-ea .kadence-info-box-image-intrisic {
  overflow: hidden !important;
}

.kb-row-layout-id3476_b1ee97-ea .kt-info-box-image {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  transform: scale(1);
  will-change: transform;
}

.kb-row-layout-id3476_b1ee97-ea .wp-block-kadence-infobox:hover .kt-info-box-image {
  transform: scale(1.07) !important;
}

/* Cursor personalizado - mismo estilo que Sectores */
#girona-custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 110px;
  height: 110px;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.02em;
  pointer-events: none;
  z-index: 99999;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.7);
  transition: opacity 0.25s ease, transform 0.25s ease;
  text-shadow: 0px 1px 3px rgba(0,0,0,0.3);
}

#girona-custom-cursor.visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* ===== SECTORES STICKY TITLES EFFECT ===== */
/* Filas de sectores (4 y 5 cols) pasan por encima de los titulos fijados */
.kb-row-layout-id1204_0cc410-a8,
.kb-row-layout-id1204_d952a5-b4,
.kadence-column1204_d2b17a-66,
.kadence-column1204_d2b17a-66 > .kt-inside-inner-col {
  position: relative;
  z-index: 10;
  background-color: #f7f2ef;
}
#lbx-sectores-spacer { display: none; }



/* =====================================================
   HERO SECTORES - Animacion domino al cargar (igual que Servicios)
   ===================================================== */

/* Estado inicial invisible para todos los elementos del hero de Sectores */
.kt-adv-heading536_11a091-51,
.kt-adv-heading536_8f1c00-f3,
.kt-adv-heading536_315035-23,
.kb-gallery-wrap-id-536_fc3e43-36 {
  opacity: 0;
}

/* Animacion domino - cada elemento entra con 150ms de diferencia */
.kt-adv-heading536_11a091-51 {
  animation: hero-slide-down 600ms ease-out 0ms forwards;
}
.kt-adv-heading536_8f1c00-f3 {
  animation: hero-slide-down 600ms ease-out 150ms forwards;
}
.kt-adv-heading536_315035-23 {
  animation: hero-slide-down 600ms ease-out 300ms forwards;
}
.kb-gallery-wrap-id-536_fc3e43-36 {
  animation: hero-slide-down 600ms ease-out 450ms forwards;
}


/* === Carrusel animado Sectores - Página de inicio === */
#sectores-carousel-track .wp-block-kadence-column {
  cursor: none !important;
}
#sectores-carousel-track .kb-is-ratio-image {
  overflow: hidden !important;
}
#sectores-carousel-track .kb-is-ratio-image img {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  transform: scale(1) !important;
}
#sectores-carousel-track .wp-block-kadence-column:hover .kb-is-ratio-image img {
  transform: scale(1.07) !important;
}

/* === Zoom in hover on sector images in "Descubre los sectores" section === */
.kb-row-layout-id536_30d590-4e .kb-is-ratio-image {
  overflow: hidden !important;
}
.kb-row-layout-id536_30d590-4e .kb-is-ratio-image img {
  transition: transform 0.4s ease !important;
  transform: scale(1) !important;
}
.kb-row-layout-id536_30d590-4e .wp-block-kadence-column:hover .kb-is-ratio-image img {
  transform: scale(1.08) !important;
}

/* --- Canal de denuncias: campos redondeados + linea blanca --- */
body.page-id-7682 .kb-field.kb-text-field,
body.page-id-7682 .kadence-blocks-form input.kb-field[type="text"],
body.page-id-7682 .kadence-blocks-form input.kb-field[type="email"],
body.page-id-7682 .kadence-blocks-form input.kb-field[type="tel"],
body.page-id-7682 .kadence-blocks-form input.kb-field[type="url"],
body.page-id-7682 .kadence-blocks-form input.kb-field[type="number"],
body.page-id-7682 .kb-field.kb-text-style-field,
body.page-id-7682 textarea.kb-field,
body.page-id-7682 .kb-field textarea,
body.page-id-7682 select.kb-field {
  border-radius: 18px !important;
  background-color: #f7f2ec !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
}
body.page-id-7682 h1.kt-adv-heading7682_meoow1 {
  position: relative;
}
body.page-id-7682 h1.kt-adv-heading7682_meoow1::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -45px;
  width: 100vw;
  height: 2px;
  background: #ffffff;
  z-index: 2;
}


/* --- Canal de denuncias: selects legibles + estado seleccionado --- */
body.page-id-7682 .wp-block-kadence-advanced-form-select select,
body.page-id-7682 select {
  color: #1a1a1a !important;
}
body.page-id-7682 .wp-block-kadence-advanced-form-select select option,
body.page-id-7682 select option {
  color: #1a1a1a !important;
  background-color: #ffffff !important;
}
body.page-id-7682 input.kb-radio-style:checked {
  border-color: #1a1a1a !important;
  background-color: #ffffff !important;
}
body.page-id-7682 input.kb-radio-style:checked::before {
  background-color: #1a1a1a !important;
}
body.page-id-7682 input.kb-checkbox-style:checked {
  background-color: #1a1a1a !important;
  border-color: #1a1a1a !important;
}
body.page-id-7682 input.kb-checkbox-style:checked::before {
  background-color: #ffffff !important;
}


/* --- Footer inferior alineado en una sola linea (sin solapes) --- */
.site-footer-bottom-section-1 {
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: nowrap;
}
/* Copyright: no se encoge por debajo de su contenido (evita el desbordamiento) */
.site-footer-bottom-section-1 .site-info {
	flex: 0 0 auto !important;
	width: max-content !important;
	min-width: max-content !important;
	max-width: 55% !important;
}
.site-footer-bottom-section-1 .site-info,
.site-footer-bottom-section-1 .site-info * {
	white-space: nowrap;
}
/* Columna del menu: se ajusta al contenido y no desborda */
.site-footer-bottom-section-1 .footer-navigation-wrap {
	flex: 0 0 auto !important;
	width: max-content !important;
	min-width: max-content !important;
}
.site-footer-bottom-section-1 nav.footer-navigation {
	justify-content: flex-end;
	width: auto;
}
.footer-navigation ul.menu {
	flex-wrap: nowrap;
	white-space: nowrap;
	column-gap: 14px;
	justify-content: flex-end;
}
.footer-navigation ul.menu a {
	font-size: 14px;
}
/* Pantallas donde no cabe todo: apilar centrado, sin solapes */
@media (max-width: 1024px) {
	.site-footer-bottom-section-1 {
		flex-wrap: wrap;
		justify-content: center;
		text-align: center;
	}
	.site-footer-bottom-section-1 .site-info,
	.site-footer-bottom-section-1 .footer-navigation-wrap {
		flex: 1 1 100% !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
	.site-footer-bottom-section-1 .site-info,
	.site-footer-bottom-section-1 .site-info * {
		white-space: normal;
	}
	.site-footer-bottom-section-1 nav.footer-navigation,
	.footer-navigation ul.menu {
		flex-wrap: wrap;
		white-space: normal;
		justify-content: center;
	}
}


/* --- Arreglo clic Canal de denuncias: el bloque de redes sociales no debe tapar el enlace --- */
.site-footer-bottom-section-2,
.site-footer-bottom-section-2 .footer-widget-area,
.site-footer-bottom-section-2 .footer-widget-area-inner,
.site-footer-bottom-section-2 .footer-social-wrap,
.site-footer-bottom-section-2 .footer-social-inner-wrap {
	pointer-events: none;
}
.site-footer-bottom-section-2 a,
.site-footer-bottom-section-2 .social-button {
	pointer-events: auto;
}

/* ================================================================
   AJUSTES RESPONSIVE HOME (móvil / tablet) — añadido por asistente
   Objetivo: reducir H2 sobredimensionados en móvil/tablet con
   escalado fluido (clamp) y ampliar áreas táctiles a ~44px.
   ================================================================ */

/* H2 "El método detrás de cada espacio impecable" (78px fijo -> fluido) */
.kt-adv-heading1204_13188b-7c {
  font-size: clamp(2rem, 0.99rem + 4.32vw, 4.875rem) !important;
}

/* H2 "Limpieza a medida para cada entorno" y "Sectores" (70px fijo -> fluido) */
.kt-adv-heading1204_fd1eb2-b3,
.kt-adv-heading1204_80a152-f5 {
  font-size: clamp(1.75rem, 0.826rem + 3.944vw, 4.375rem) !important;
}

/* H2 "Artículos recientes del blog..." (48px fijo -> fluido) */
.kt-adv-heading1204_564b90-3d {
  font-size: clamp(1.5rem, 0.972rem + 2.254vw, 3rem) !important;
}

/* Áreas táctiles móviles (min. ~44px) */
@media (max-width: 767px) {
  /* Botón hamburguesa del menú móvil */
  .menu-toggle-open.drawer-toggle {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  /* Botón de sonido del vídeo del hero */
  #lbx-mute-btn {
    min-height: 44px !important;
  }

  /* Enlaces de la lista de servicios ("Nuestros servicios de limpieza profesional") */
  .kb-row-layout-id1204_93efc6-9c a {
    display: inline-block;
    width: 100%;
    padding: 8px 0;
    min-height: 44px;
    box-sizing: border-box;
  }
}


/* ── 9. EXCEPCIÓN: mostrar el submenú de Idiomas (Polylang) al pasar el ratón ── */
#main-header .mega-menu-item.pll-parent-menu-item:hover > .mega-sub-menu,
#main-header .mega-menu-item.pll-parent-menu-item:focus-within > .mega-sub-menu {
  display: block !important;
}


/* ── 10. Conmutador de idioma: mostrar ES/CAT en vez de banderas, y solo el idioma alternativo en el desplegable ── */
#main-header .pll-parent-menu-item img,
#mobile-drawer .pll-parent-menu-item img {
  display: none !important;
}

#main-header .pll-parent-menu-item.pll-parent-menu-item.pll-parent-menu-item a:has(img[alt="Español"])::after,
#mobile-drawer .pll-parent-menu-item.pll-parent-menu-item.pll-parent-menu-item a:has(img[alt="Español"])::after {
  content: "ES" !important;
  display: inline-block !important;
  font-weight: 600 !important;
}

#main-header .pll-parent-menu-item.pll-parent-menu-item.pll-parent-menu-item a:has(img[alt="Català"])::after,
#mobile-drawer .pll-parent-menu-item.pll-parent-menu-item.pll-parent-menu-item a:has(img[alt="Català"])::after {
  content: "CAT" !important;
  display: inline-block !important;
  font-weight: 600 !important;
}

#main-header .pll-parent-menu-item .mega-sub-menu li.current-lang,
#mobile-drawer .pll-parent-menu-item li.current-lang {
  display: none !important;
}


/* ── 11. Ajuste fino: flecha centrada a la altura del texto y texto del desplegable alineado/mismo tamaño que el de arriba ── */
#main-header#main-header .pll-parent-menu-item .mega-indicator {
  line-height: 1 !important;
  vertical-align: middle !important;
  top: 0 !important;
}
#main-header#main-header .pll-parent-menu-item .mega-indicator::after {
  line-height: 1 !important;
  vertical-align: middle !important;
}
#main-header .pll-parent-menu-item .mega-sub-menu a::after,
#mobile-drawer .pll-parent-menu-item a::after {
  font-size: 13px !important;
}
#main-header .pll-parent-menu-item .mega-sub-menu a,
#mobile-drawer .pll-parent-menu-item a {
  padding: 8px 14px !important;
}


/* ── 12. Corrección: flecha centrada verticalmente (flex real) y texto del desplegable sin salto de línea, alineado a la izquierda con el de arriba ── */
#main-header#main-header .pll-parent-menu-item .mega-indicator {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: normal !important;
}
#main-header .pll-parent-menu-item .mega-sub-menu a,
#mobile-drawer .pll-parent-menu-item a {
  white-space: nowrap !important;
  text-align: left !important;
}
#main-header .pll-parent-menu-item .mega-sub-menu a::after,
#mobile-drawer .pll-parent-menu-item a::after {
  white-space: nowrap !important;
}


/* ── 13. Reducir el padding izquierdo del botón (trigger) del conmutador de idioma ── */
#main-header#main-header .pll-parent-menu-item > a.mega-menu-link,
#mobile-drawer#mobile-drawer .pll-parent-menu-item > a.mega-menu-link {
  padding-left: 6px !important;
}


/* ── 14. Botón del conmutador de idioma: padding izquierdo y derecho iguales y algo más estrecho ── */
#main-header#main-header .pll-parent-menu-item > a.mega-menu-link,
#mobile-drawer#mobile-drawer .pll-parent-menu-item > a.mega-menu-link {
  padding-left: 6px !important;
  padding-right: 14px !important;
}


/* ── 15. Forzar que el item visible del desplegable de idiomas siempre tenga la esquina de arriba recta y la de abajo redondeada (independiente de si es first-child o last-child) ── */
#main-header .pll-parent-menu-item .mega-sub-menu li.lang-item > a.mega-menu-link,
#mobile-drawer .pll-parent-menu-item li.lang-item > a {
  border-radius: 0 0 20px 20px !important;
}


/* ── 16. Desplegable de idioma: ocupa todo el ancho del boton y texto centrado ── */
#main-header .pll-parent-menu-item .mega-sub-menu {
  width: 100% !important;
  left: 0 !important;
}
#mobile-drawer .pll-parent-menu-item .mega-sub-menu {
  width: 100% !important;
  left: 0 !important;
}
#main-header .pll-parent-menu-item .mega-sub-menu li.lang-item {
  width: 100% !important;
}
#mobile-drawer .pll-parent-menu-item .mega-sub-menu li.lang-item {
  width: 100% !important;
}
#main-header .pll-parent-menu-item .mega-sub-menu li.lang-item > a.mega-menu-link,
#mobile-drawer .pll-parent-menu-item .mega-sub-menu li.lang-item > a {
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
#main-header .pll-parent-menu-item .mega-sub-menu a,
#mobile-drawer .pll-parent-menu-item .mega-sub-menu a {
  text-align: center !important;
}


/* === Serveis de neteja que oferim a Barcelona (CA) === */
.kb-row-layout-id9297_8349f4-08 .lbc-card {
  cursor: none;
}

.kb-row-layout-id9297_8349f4-08 .lbc-img-wrap {
  overflow: hidden !important;
  position: relative !important;
}

.kb-row-layout-id9297_8349f4-08 .lbc-img-wrap img {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  transform: scale(1);
  will-change: transform;
}

.kb-row-layout-id9297_8349f4-08 .lbc-card:hover .lbc-img-wrap img {
  transform: scale(1.07) !important;
}

/* === Altres localitats (CA) === */
.kb-row-layout-id9297_97b55d-29 .wp-block-kadence-infobox {
  cursor: none;
}

.kb-row-layout-id9297_97b55d-29 .kadence-info-box-image-intrisic {
  overflow: hidden !important;
}

.kb-row-layout-id9297_97b55d-29 .kt-info-box-image {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  transform: scale(1);
  will-change: transform;
}

.kb-row-layout-id9297_97b55d-29 .wp-block-kadence-infobox:hover .kt-info-box-image {
  transform: scale(1.07) !important;
}


/* ===== GIRONA (CA) - Hover effects ===== */

/* === Serveis de neteja mes demandats a Girona (CA) === */
.kb-row-layout-id9303_135ec1-37 .lbc-card {
  cursor: none;
}

.kb-row-layout-id9303_135ec1-37 .lbc-img-wrap {
  overflow: hidden !important;
  position: relative !important;
}

.kb-row-layout-id9303_135ec1-37 .lbc-img-wrap img {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  transform: scale(1);
  will-change: transform;
}

.kb-row-layout-id9303_135ec1-37 .lbc-card:hover .lbc-img-wrap img {
  transform: scale(1.07) !important;
}

/* === Altres localitats (CA) === */
.kb-row-layout-id9303_2548bc-d0 .wp-block-kadence-infobox {
  cursor: none;
}

.kb-row-layout-id9303_2548bc-d0 .kadence-info-box-image-intrisic {
  overflow: hidden !important;
}

.kb-row-layout-id9303_2548bc-d0 .kt-info-box-image {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  transform: scale(1);
  will-change: transform;
}

.kb-row-layout-id9303_2548bc-d0 .wp-block-kadence-infobox:hover .kt-info-box-image {
  transform: scale(1.07) !important;
}


/* --- Selects de formularios Kadence: opciones del desplegable en negro --- */
.wp-block-kadence-advanced-form-select select option,
.kb-adv-form-field select option {
  color: #1a1a1a !important;
  background-color: #ffffff !important;
}


/* ══ 17. HEADER Y DESPLEGABLES RESPONSIVE (a prueba de zoom) ══ */

/* 17.1 · El menú puede encogerse; el botón nunca se sale del pill */
#main-header .site-header-main-section-right,
#main-header .site-header-item-main-navigation,
#main-header nav.main-navigation,
#main-header .primary-menu-container,
#main-header .mega-menu-wrap,
#main-header ul.mega-menu {
  min-width: 0 !important;
}

#main-header .site-header-main-section-right {
  flex: 1 1 auto !important;
}

#main-header .site-header-item-main-navigation {
  flex: 0 1 auto !important;
}

#main-header ul.mega-menu {
  flex-wrap: nowrap !important;
}

#main-header .header-button-inner-wrap,
#main-header a.header-button {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* 17.2 · Espaciado y tipografía fluidos del menú (1150 px a 1400 px) */
@media screen and (min-width: 1025px) and (max-width: 1400px) {
  #main-header .mega-menu > .mega-menu-item > a.mega-menu-link {
    padding-left: clamp(7px, calc(2.3333vw - 18.6667px), 14px) !important;
    padding-right: clamp(7px, calc(2.3333vw - 18.6667px), 14px) !important;
    font-size: clamp(12px, calc(0.3333vw + 8.3333px), 13px) !important;
    letter-spacing: clamp(0.2px, calc(0.19333vw - 1.9267px), 0.78px) !important;
    white-space: nowrap !important;
  }
}

/* 17.3 · Los desplegables se centran respecto al menú, no respecto a su item */
#main-header .mega-menu > .mega-menu-item:has(> #lbx-sectores-dropdown),
#main-header .mega-menu > .mega-menu-item:has(> #lbx-servicios-dropdown) {
  position: static !important;
}

#lbx-sectores-dropdown,
#lbx-servicios-dropdown {
  max-width: calc(100vw - 40px) !important;
  box-sizing: border-box !important;
}

/* 17.4 · Por debajo de 1150 px (o con zoom alto) entra el menú móvil */
@media screen and (max-width: 1150px) {
  #main-header {
    display: none !important;
  }
  #mobile-header {
    display: block !important;
  }
}