/* Sticky Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background-color: var(--base-2, #ffffff);
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

/* Top Bar */
.grupalpama-bar {
  background-color: #2e2e2e;
  color: #fff;
  padding: 5px 0;
}
.grupalpama-bar .container {
  max-width: 1240px;
  margin: 0 auto;
  background: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  font-family: Arial, sans-serif;
  font-size: 14px;
}
.grupalpama-bar a {
  color: #fff;
  text-decoration: none;
}
.grupalpama-bar .slogan {
  font-style: italic;
}
@media (max-width: 768px) {
  .grupalpama-bar .slogan { display: none; }
  .grupalpama-bar { padding: 5px 20px; }
}

/* Top Social (Header navigation) */
.alpama-top-social {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  column-gap: 0.5em;
  height: 60px;
}
.alpama-top-social a.gb-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.5em;
  border-radius: 3px;
  text-decoration: none;
  transition: opacity 0.2s ease, background 0.2s ease;
}
.alpama-top-social a.gb-button-top-tel {
  width: 45px;
  height: 45px;
  background-color: var(--accent, #E03400);
  color: #ffffff;
}
.alpama-top-social a.gb-button-top-wa {
  width: 45px;
  height: 45px;
  background-color: #25d366;
  color: #ffffff;
}
.alpama-top-social a.gb-button-top-mail {
  width: 45px;
  height: 45px;
  background-color: #16468f;
  color: #ffffff;
}
.alpama-top-social a.gb-button-top-presupuesto {
  height: 45px;
  padding: 0 16px;
  background-color: #16468f;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
}
.alpama-top-social a.gb-button .gb-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.alpama-top-social a.gb-button .gb-icon svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
@media (max-width: 1140px) {
  .ocultar-en-mobil-tablet {
    display: none !important;
  }
}

/* Suppress GeneratePress default page header featured image */
.featured-image.page-header-image,
.page .featured-image.page-header-image,
.home .featured-image.page-header-image {
  display: none !important;
}

/* Desktop Unified Header Layout */
@media (min-width: 1200px) {
  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .inside-header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 30px !important;
    max-width: 1320px !important;
    width: 100% !important;
    margin: 0 auto !important;
    height: 75px !important;
  }
  .site-branding-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    float: none !important;
    flex-shrink: 0 !important;
  }
  .site-header .site-logo {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .site-header .site-logo img {
    height: 50px !important;
    width: auto !important;
    display: block !important;
  }
  .site-header .site-branding {
    margin: 0 !important;
  }
  .site-header .main-title {
    margin: 0 !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  }
  .site-header .main-title a {
    color: #142b46 !important;
    text-decoration: none !important;
  }
  .site-header .site-description {
    display: none !important;
  }
  .mobile-menu-control-wrapper {
    display: none !important;
  }
  #site-navigation {
    display: flex !important;
    flex: 1 !important;
    justify-content: flex-end !important;
    align-items: center !important;
    background: transparent !important;
    margin: 0 !important;
    float: none !important;
    position: static !important;
    height: 75px !important;
  }
  #site-navigation .inside-navigation {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    background: transparent !important;
    width: 100% !important;
    height: 75px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #site-navigation .main-nav {
    display: flex !important;
    align-items: center !important;
    margin: 0 20px 0 0 !important;
    float: none !important;
    height: 75px !important;
  }
  #site-navigation .main-nav > ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    height: 75px !important;
  }
  #site-navigation .main-nav > ul > li {
    height: 75px !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
  }
  #site-navigation .main-nav > ul > li > a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 12px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #142b46 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    transition: color 0.15s ease, background 0.15s ease !important;
  }
  #site-navigation .main-nav > ul > li > a:hover,
  #site-navigation .main-nav > ul > li.current-menu-item > a {
    color: var(--accent, #E03400) !important;
    background: rgba(224, 52, 0, 0.05) !important;
  }

  /* Desktop Submenus (Floating Cards) */
  #site-navigation .main-nav ul.sub-menu {
    position: absolute !important;
    top: 75px !important;
    left: 0 !important;
    min-width: 250px !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 32px rgba(15, 35, 60, 0.15), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid rgba(20, 43, 70, 0.08) !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
    transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s !important;
    z-index: 999999 !important;
    display: block !important;
    list-style: none !important;
  }
  #site-navigation .main-nav > ul > li:hover > ul.sub-menu,
  #site-navigation .main-nav > ul > li.sfHover > ul.sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  #site-navigation .main-nav ul.sub-menu > li {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }
  #site-navigation .main-nav ul.sub-menu > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 18px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #142b46 !important;
    line-height: 1.35 !important;
    background: transparent !important;
    border-radius: 0 !important;
    transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }
  #site-navigation .main-nav ul.sub-menu > li > a:hover {
    background: #fff6f2 !important;
    color: #E03400 !important;
    padding-left: 22px !important;
  }
  /* Language switcher submenu */
  #site-navigation .main-nav ul.sub-menu .lang-item a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 18px !important;
  }
  #site-navigation .main-nav ul.sub-menu .lang-item a:hover {
    background: #fff6f2 !important;
    padding-left: 18px !important;
  }
  /* Fixed-size chevron box; rotate only the SVG around its own center. */
  #site-navigation .main-nav > ul > li .dropdown-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    margin: 0 0 0 8px !important;
    flex: 0 0 20px;
    transform: none !important;
    color: #8da4b8 !important;
    transition: color 0.15s ease !important;
  }
  #site-navigation .dropdown-menu-toggle .gp-icon { display: inline-flex; align-items: center; justify-content: center; }
  #site-navigation .dropdown-menu-toggle svg { display: block; transform: rotate(0deg); transform-origin: 50% 50%; transform-box: view-box; transition: transform 0.2s ease; }
  #site-navigation .main-nav li:hover > a .dropdown-menu-toggle svg,
  #site-navigation .main-nav li.sfHover > a .dropdown-menu-toggle svg,
  #site-navigation .main-nav li:focus-within > a .dropdown-menu-toggle svg { transform: rotate(180deg); }
  #site-navigation .main-nav li:hover > a .dropdown-menu-toggle,
  #site-navigation .main-nav li.sfHover > a .dropdown-menu-toggle { color: #E03400 !important; }

  #site-navigation .menu-bar-items {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    height: 75px !important;
  }
  .alpama-top-social {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 6px !important;
    height: 75px !important;
  }
  .alpama-top-social a.gb-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    line-height: 1 !important;
  }
  .alpama-top-social a.gb-button-top-tel {
    width: 40px !important;
    height: 40px !important;
    background-color: #E03400 !important;
    color: #ffffff !important;
  }
  .alpama-top-social a.gb-button-top-wa {
    width: 40px !important;
    height: 40px !important;
    background-color: #25d366 !important;
    color: #ffffff !important;
  }
  .alpama-top-social a.gb-button-top-mail {
    width: 40px !important;
    height: 40px !important;
    background-color: #16468f !important;
    color: #ffffff !important;
  }
  .alpama-top-social a.gb-button-top-presupuesto {
    height: 40px !important;
    padding: 0 16px !important;
    background-color: #16468f !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    gap: 8px !important;
  }
  .alpama-mobile-social,
  .alpama-drawer-header,
  .alpama-drawer-backdrop {
    display: none !important;
  }
}

/* Mobile Navigation Header Layout & Off-Canvas Drawer (Menú Lateral) */
@media (max-width: 1199px) {
  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .inside-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 16px !important;
    height: 62px !important;
  }
  .site-branding-container {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
  }
  .site-header .site-logo img {
    height: 40px !important;
    width: auto !important;
  }
  .site-header .main-title {
    font-size: 16px !important;
    margin: 0 !important;
  }
  .site-header .main-title a {
    color: #142b46 !important;
    text-decoration: none !important;
  }
  .site-header .site-description {
    display: none !important;
  }
  .mobile-menu-control-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: transparent !important;
  }
  .mobile-menu-control-wrapper .menu-toggle {
    margin: 0 !important;
    padding: 8px 14px !important;
    background: #f1f4f8 !important;
    color: #142b46 !important;
    border-radius: 4px !important;
    border: none !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
  }
  .mobile-menu-control-wrapper .menu-bar-items {
    display: none !important;
  }

  /* Prevent background scrolling when drawer open */
  body.alpama-drawer-open {
    overflow: hidden !important;
  }

  /* Backdrop Overlay */
  .alpama-drawer-backdrop {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(10, 25, 45, 0.6) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    z-index: 99998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    pointer-events: none !important;
  }
  body.alpama-drawer-open .alpama-drawer-backdrop {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Slideout Drawer (Menú Lateral) */
  #site-navigation {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 320px !important;
    max-width: 85vw !important;
    height: 100vh !important;
    background: #ffffff !important;
    box-shadow: -8px 0 30px rgba(0, 0, 0, 0.2) !important;
    z-index: 99999 !important;
    transform: translateX(100%) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
  }
  body.alpama-drawer-open #site-navigation,
  #site-navigation.toggled {
    transform: translateX(0) !important;
    display: flex !important;
  }

  /* Drawer Header */
  .alpama-drawer-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 18px 20px !important;
    border-bottom: 1px solid #edf2f7 !important;
    background: #ffffff !important;
    flex-shrink: 0 !important;
  }
  .alpama-drawer-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #142b46 !important;
    margin: 0 !important;
  }
  button.alpama-drawer-close,
  .alpama-drawer-header .alpama-drawer-close {
    background: #f1f4f8 !important;
    border: none !important;
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #142b46 !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transition: background 0.15s ease, color 0.15s ease !important;
  }
  button.alpama-drawer-close:hover,
  .alpama-drawer-header .alpama-drawer-close:hover {
    background: #e2e8f0 !important;
    color: #E03400 !important;
  }

  /* Inside Navigation Container */
  #site-navigation .inside-navigation {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 1 !important;
  }

  /* Hide redundant GP toggle inside drawer */
  #site-navigation .inside-navigation > .menu-toggle {
    display: none !important;
  }

  /* Mobile Contact Action Buttons */
  #site-navigation .alpama-mobile-social {
    display: block !important;
    padding: 16px 20px !important;
    background: #f8fafc !important;
    border-bottom: 1px solid #edf2f7 !important;
    order: -1 !important;
    flex-shrink: 0 !important;
  }
  #site-navigation .alpama-mobile-social-row {
    display: flex !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
  }
  #site-navigation .alpama-mobile-social-row a.gb-button {
    flex: 1 !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    text-decoration: none !important;
  }
  #site-navigation .gb-button-mob-tel { background-color: #E03400 !important; }
  #site-navigation .gb-button-mob-wa { background-color: #25d366 !important; }
  #site-navigation .gb-button-mob-mail { background-color: #16468f !important; }
  #site-navigation .gb-button-mob-ig { background-color: #e1306c !important; }

  #site-navigation .gb-button-mob-presupuesto {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 44px !important;
    width: 100% !important;
    background-color: #16468f !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
  }

  /* Drawer Menu List */
  #site-navigation .main-nav {
    width: 100% !important;
    flex: 1 !important;
  }
  #site-navigation .main-nav > ul {
    display: block !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  #site-navigation .main-nav > ul > li {
    display: block !important;
    border-bottom: 1px solid #f1f4f8 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #site-navigation .main-nav > ul > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #142b46 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    transition: background 0.15s ease, color 0.15s ease !important;
  }
  #site-navigation .main-nav > ul > li.current-menu-item > a,
  #site-navigation .main-nav > ul > li > a:hover {
    color: #E03400 !important;
    background: #fff8f5 !important;
  }

  /* Dropdown Toggle Chevron in Mobile */
  #site-navigation .main-nav .dropdown-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    margin: -8px -8px -8px 0 !important;
    padding: 0 !important;
    color: #8da4b8 !important;
    border-radius: 4px !important;
    transition: transform 0.2s ease, color 0.15s ease !important;
  }
  #site-navigation .main-nav li.alpama-sub-open > a .dropdown-menu-toggle,
  #site-navigation .main-nav li.sfHover > a .dropdown-menu-toggle {
    transform: rotate(180deg) !important;
    color: #E03400 !important;
  }

  /* Mobile Submenu Accordion */
  #site-navigation .main-nav ul.sub-menu {
    display: none !important;
    background: #f8fafc !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    border-top: 1px solid #edf2f7 !important;
  }
  #site-navigation .main-nav li.alpama-sub-open > ul.sub-menu,
  #site-navigation .main-nav li.sfHover > ul.sub-menu {
    display: block !important;
  }
  #site-navigation .main-nav ul.sub-menu > li {
    display: block !important;
    border: none !important;
  }
  #site-navigation .main-nav ul.sub-menu > li > a {
    display: block !important;
    padding: 10px 20px 10px 32px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #4a5d73 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.03) !important;
    transition: color 0.15s ease, padding-left 0.15s ease !important;
  }
  #site-navigation .main-nav ul.sub-menu > li > a:hover {
    color: #E03400 !important;
    padding-left: 36px !important;
  }

  /* Polylang Flag Items in Mobile */
  #site-navigation .main-nav .idiomas .sub-menu {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    padding: 12px 20px !important;
    background: #f8fafc !important;
  }
  #site-navigation .main-nav .idiomas .sub-menu li {
    display: inline-block !important;
    border: none !important;
  }
  #site-navigation .main-nav .idiomas .sub-menu li a {
    padding: 6px 12px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
  }
}


/* Unified Dark Footer & Pie de Página */
.alpama-footer-wrap {
  background-color: #112d3c !important;
  border-top: 4px solid var(--alpama-brand-green, #9ab85c) !important;
  color: #ffffff !important;
  width: 100% !important;
}
.gb-container-a591dc2b {
  max-width: 1240px;
  margin: 0 auto;
  padding: 60px 40px;
  box-sizing: border-box;
}
/* Top Brand Logo & Tagline */
.alpama-footer-top-brand {
  margin-bottom: 34px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.alpama-footer-logo-img {
  max-width: 175px !important;
  height: auto !important;
  display: block !important;
}
.alpama-footer-brand-tagline {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #a8becb !important;
  margin: 0 !important;
  max-width: 680px !important;
}

/* Symmetrical Grid for Footer Columns */
.gb-grid-wrapper-bbcc1ebe {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr 1fr 1.25fr !important;
  gap: 36px !important;
  align-items: start !important;
}
.gb-grid-column-location,
.gb-grid-column-7bcaefa6,
.gb-grid-column-03543e4b,
.gb-grid-column-37e6b25b {
  min-width: 0 !important;
  max-width: 100% !important;
  flex: none !important;
}

/* Location Column Styling & Coverage Map Badge */
.alpama-footer-loc-desc {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: #c4d4df !important;
  margin: 0 0 14px !important;
}
.alpama-footer-address {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #ffffff !important;
  margin: 0 0 12px !important;
}
.alpama-footer-coverage {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  margin: 12px 0 16px !important;
}
.alpama-footer-coverage-title {
  font-size: 12px !important;
  line-height: 1.4 !important;
  margin: 0 0 8px !important;
  color: #a8becb !important;
}
.alpama-footer-coverage-title strong {
  color: #ffffff !important;
}
.alpama-footer-coverage-title span {
  display: block !important;
  color: #ffffff !important;
  font-weight: 600 !important;
}
.alpama-footer-map-badge {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.alpama-footer-map-header {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  color: #8cad2b !important;
}
.alpama-map-dot {
  width: 8px !important;
  height: 8px !important;
  background: #8cad2b !important;
  border-radius: 50% !important;
  box-shadow: 0 0 8px rgba(140, 173, 43, 0.6) !important;
}
.alpama-map-sub {
  font-size: 11.5px !important;
  line-height: 1.4 !important;
  color: #8da4b8 !important;
  display: block !important;
}
.alpama-footer-map-btn {
  display: inline-block !important;
  margin-top: 6px !important;
  color: #8cad2b !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.alpama-footer-map-btn:hover {
  color: #c9df8c !important;
}
.alpama-footer-tel,
.alpama-footer-email,
.alpama-footer-hours {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  margin: 0 0 8px !important;
  color: #c4d4df !important;
}
.alpama-footer-tel a,
.alpama-footer-email a {
  color: #ffffff !important;
  font-weight: 600 !important;
}

.alpama-footer-panel p { margin: 0 0 10px; }
.alpama-footer-panel a { color: #ffffff; text-decoration: none; font-size: 14px; }
.alpama-footer-panel a:hover { color: var(--alpama-brand-green-light, #c9df8c); text-decoration: underline; }

@media (max-width: 1024px) {
  .gb-grid-wrapper-bbcc1ebe {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
}

@media (max-width: 640px) {
  .gb-container-a591dc2b { padding: 36px 20px 30px; }
  .gb-grid-wrapper-bbcc1ebe {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* ==========================================================================
   Enriched Mobile Drawer Content
   ========================================================================== */
@media (min-width: 1200px) {
  .alpama-drawer-extra {
    display: none !important;
  }
}

@media (max-width: 1199px) {
  .alpama-drawer-extra {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 16px 20px 32px !important;
    background: #ffffff !important;
    border-top: 1px solid #edf2f7 !important;
  }

  /* Google Reviews Trust Card in Drawer */
  .alpama-drawer-reviews-card {
    background: #f6f9fc !important;
    border: 1px solid #dde2d8 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
  }
  .alpama-drawer-reviews-header {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
  }
  .alpama-drawer-stars {
    color: #4f6819 !important;
    font-size: 15px !important;
    letter-spacing: 1px !important;
  }
  .alpama-drawer-score {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1c3442 !important;
  }
  .alpama-drawer-badge {
    background: #15529b !important;
    color: #ffffff !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    padding: 2px 7px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-left: auto !important;
  }
  .alpama-drawer-reviews-quote {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    color: #516167 !important;
    margin: 0 !important;
    font-style: italic !important;
  }

  /* Section Titles */
  .alpama-drawer-section-title {
    font-size: 12px !important;
    font-weight: 750 !important;
    color: #15529b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    display: block !important;
    margin-bottom: 8px !important;
  }

  /* Visual Services Grid */
  .alpama-drawer-services-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
  }
  .alpama-drawer-service-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    text-decoration: none !important;
    gap: 4px !important;
  }
  .alpama-drawer-service-item img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 1px solid #dde2d8 !important;
  }
  .alpama-drawer-service-item span {
    font-size: 11.5px !important;
    font-weight: 650 !important;
    color: #1c3442 !important;
    line-height: 1.2 !important;
  }

  /* Project Highlight Card */
  .alpama-drawer-project-card {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #f6f8fa !important;
    border: 1px solid #dde2d8 !important;
    border-radius: 8px !important;
    padding: 8px 10px !important;
    text-decoration: none !important;
  }
  .alpama-drawer-project-card img {
    width: 72px !important;
    height: 52px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
  }
  .alpama-drawer-project-info strong {
    font-size: 13px !important;
    color: #1c3442 !important;
    display: block !important;
    line-height: 1.3 !important;
  }
  .alpama-drawer-project-info small {
    font-size: 11.5px !important;
    color: #15529b !important;
    font-weight: 600 !important;
    display: block !important;
    margin-top: 3px !important;
  }

  /* Direct CTA Buttons */
  .alpama-drawer-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 4px !important;
  }
  .alpama-drawer-btn-presupuesto {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #15529b !important;
    color: #ffffff !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    padding: 12px 18px !important;
    border-radius: 6px !important;
    min-height: 46px !important;
    box-shadow: 0 2px 8px rgba(21, 82, 155, 0.25) !important;
  }
  .alpama-drawer-quick-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .alpama-drawer-btn-tel {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    border: 1px solid #dde2d8 !important;
    color: #1c3442 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    text-decoration: none !important;
    padding: 10px 12px !important;
    border-radius: 6px !important;
    min-height: 42px !important;
  }
  .alpama-drawer-btn-wa {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #4f6819 !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    text-decoration: none !important;
    padding: 10px 12px !important;
    border-radius: 6px !important;
    min-height: 42px !important;
  }

  /* Coverage Note */
  .alpama-drawer-coverage {
    text-align: center !important;
    font-size: 11.5px !important;
    color: #718096 !important;
    padding-top: 8px !important;
    border-top: 1px solid #edf2f7 !important;
  }
}

/* Bottom Bar (Site Footer & Info) - Seamless Dark Navy */
.site-footer,
.site-info {
  background-color: #0b1e28 !important;
  color: #8da4b8 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.inside-site-info {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 26px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 14px !important;
}
.footer-bar {
  width: 100% !important;
  text-align: center !important;
}
.footer-bar .widget_nav_menu ul {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px 22px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.footer-bar .widget_nav_menu ul li {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
}
.footer-bar .widget_nav_menu ul li a,
.footer-bar .widget_nav_menu ul li button {
  color: #8da4b8 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
  padding: 2px 4px !important;
  cursor: pointer !important;
  transition: color 0.15s ease !important;
  font-family: inherit !important;
}
.footer-bar .widget_nav_menu ul li a:hover,
.footer-bar .widget_nav_menu ul li button:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}
.copyright-bar {
  color: #6a8296 !important;
  font-size: 13px !important;
  text-align: center !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}
.copyright-bar a {
  color: #8da4b8 !important;
  text-decoration: none !important;
}
.copyright-bar a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

/* Before Footer */
.alpama-before-footer {
  position: relative;
  background-color: #1c3442;
  background-image: var(--background-image);
  background-size: cover;
  background-position: center;
  color: #ffffff;
  padding: 80px 20px;
}
.alpama-before-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(15, 30, 40, 0.75);
  z-index: 0;
}
.alpama-before-footer > * {
  position: relative;
  z-index: 1;
}
.gb-container-450f1832 {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  column-gap: 40px;
}
.gb-container-550f4a0b {
  flex: 1 1 50%;
}
.gb-container-8667f6c4 {
  flex: 1 1 50%;
}
.gb-headline-481f8634, .gb-headline-43d06df6 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  text-transform: uppercase;
  color: var(--alpama-brand-green-light, #c9df8c);
  letter-spacing: 0.1em;
}
.gb-headline-463fe859 {
  font-size: 32px;
  color: #ffffff;
  margin: 12px 0 24px;
}
.gb-headline-5c6658d5, .gb-headline-079ae418, .gb-headline-70424985 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  color: #ffffff;
  margin: 10px 0;
}
.alpama-before-footer blockquote {
  border-left: 3px solid var(--alpama-brand-green, #9ab85c);
  padding-left: 16px;
  margin: 16px 0;
  color: #e0e0e0;
  font-style: italic;
}
@media (max-width: 780px) {
  .gb-container-450f1832 { flex-direction: column; row-gap: 40px; }
  .gb-container-550f4a0b, .gb-container-8667f6c4 { flex: 1 1 100%; }
}

/* Full-width header shell; centered content matches the 1240px page grid. */
#masthead.site-header {
  box-sizing: border-box;
  width: 100%;
  max-width: 100% !important;
  margin: 0 !important;
  box-shadow: none !important;
}
#masthead.site-header > .inside-header {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

/* Mobile header and modal drawer: shared 1199px breakpoint. */
.alpama-submenu-toggle { display: none; }
@media (max-width: 1199px) {
 #masthead.site-header > .inside-header { height: 72px !important; min-height: 72px; gap: 8px; padding: 0 16px !important; }
 #masthead .site-branding-container { flex: 1 1 auto; min-width: 0; gap: 8px !important; }
 #masthead .site-branding { min-width: 0; }
 #masthead .main-title { font-size: clamp(13px, 3.6vw, 16px) !important; white-space: nowrap; }
 #masthead .site-logo { margin: 0 !important; flex-shrink: 0; }
 #masthead #mobile-menu-control-wrapper { display: flex !important; flex: 0 0 auto; margin: 0; }
 #masthead #mobile-menu-control-wrapper .menu-toggle { height: 44px !important; min-height: 44px; line-height: 1 !important; padding: 10px 12px !important; }
 #site-navigation { box-sizing: border-box; height: 100vh !important; height: 100dvh !important; width: min(360px, 90vw) !important; max-width: 90vw !important; visibility: hidden; pointer-events: none; box-shadow: none !important; overscroll-behavior: contain; }
 body.alpama-drawer-open #site-navigation { visibility: visible; pointer-events: auto; box-shadow: -8px 0 30px rgba(0,0,0,.2) !important; }
 html.alpama-drawer-open { overflow: hidden; }
 #site-navigation .inside-navigation { align-items: stretch; }
 #site-navigation .main-nav { display: block !important; }
 #site-navigation .menu-bar-items { display: none !important; }
 #site-navigation .alpama-drawer-header { position: sticky; top: 0; z-index: 2; padding: 12px 16px !important; min-height: 68px; box-sizing: border-box; }
 #site-navigation .alpama-drawer-close { width: 44px !important; height: 44px !important; min-height: 44px !important; }
 #site-navigation .main-nav li.menu-item-has-children { position: relative; }
 #site-navigation .main-nav li.menu-item-has-children > a { padding-right: 64px !important; }
 #site-navigation .main-nav .dropdown-menu-toggle { display: none !important; }
 #site-navigation .main-nav .alpama-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; position: absolute; top: 3px; right: 10px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 6px; background: #f1f4f8; color: #142b46; font-size: 24px; line-height: 1; cursor: pointer; }
 #site-navigation .alpama-submenu-toggle > svg { display: block; width: 18px; height: 18px; flex: 0 0 18px; transform: rotate(0deg); transform-origin: 50% 50%; transform-box: view-box; transition: transform 0.2s ease; }
 #site-navigation .alpama-submenu-toggle[aria-expanded="true"] > svg { transform: rotate(180deg); }
 #site-navigation .main-nav li > ul.sub-menu[hidden] { display: none !important; }
 #site-navigation .main-nav li.alpama-sub-open > ul.sub-menu:not([hidden]) { position: static !important; visibility: visible !important; opacity: 1 !important; width: 100% !important; height: auto !important; left: auto !important; pointer-events: auto; box-shadow: none !important; }
 #site-navigation :is(a,button):focus-visible, #masthead .menu-toggle:focus-visible { outline: 3px solid #195699; outline-offset: -3px; }
 #site-navigation .alpama-mobile-social { padding: 12px 16px !important; }
 #site-navigation .inside-navigation { padding-bottom: env(safe-area-inset-bottom, 12px) !important; }
}
@media (prefers-reduced-motion: reduce) {
 #site-navigation, .alpama-drawer-backdrop { transition: none !important; }
}

/* Space the brand away from the navigation separator. */
@media (min-width: 1200px) {
 #masthead.site-header > .inside-header { column-gap: 28px !important; }
 #site-navigation .main-nav { padding-left: 12px !important; margin-right: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
 #site-navigation .dropdown-menu-toggle svg,
 #site-navigation .alpama-submenu-toggle > svg { transition: none !important; }
}
