/*!
Theme Name: Blocksy Child
Theme URI: https://creativethemes.com/blocksy/
Author: CreativeThemes
Author URI: https://creativethemes.com
Description: Tema hijo de Blocksy para personalizaciones del cliente.
Version: 1.0.11
Template: blocksy
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: blocksy-child
Tags: accessibility-ready, blog, block-patterns, e-commerce, wide-blocks, block-styles
*/

/*
 * Estilos personalizados del tema hijo.
 * Todos los cambios de estilo deben ir aqui.
 */

/* ═══════════════════════════════════════════════
   E&E Funding — Child Theme Overrides
   Glassmorphism nav + custom footer system
   ═══════════════════════════════════════════════ */

:root {
  --eee-em-deep:    #14532d;
  --eee-em-mid:     #16a34a;
  --eee-em-light:   #4ade80;
  --eee-gold:       #D4A520;
  --eee-gold-dark:  #B88912;
  --eee-white:      #ffffff;
  --eee-near-black: #080f08;
  --eee-ff-display: 'Bodoni Moda', Georgia, serif;
  --eee-ff-body:    'Outfit', system-ui, sans-serif;
}

/* ══════════════════════════════════════════════
   HEADER — GLASSMORPHISM (todas las páginas)
   ══════════════════════════════════════════════ */

/* Sincronizar la variable interna de Blocksy con nuestra altura real */
[data-header*="type-1"] {
  --header-height: 80px !important;
}
@media (max-width: 999.98px) {
  [data-header*="type-1"] {
    --header-height: 70px !important;
  }
}

/* Forzar posición fija y efecto glass */
.ct-header {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background: rgba(20,83,45,0.94) !important;
  backdrop-filter: blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
  border-bottom: 1px solid rgba(74,222,128,0.2) !important;
  box-shadow: none !important;
  transition: background .4s, border-color .4s, box-shadow .4s, backdrop-filter .4s !important;
}

/* Acento superior verde→gold */
.ct-header::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 2px !important; z-index: 1 !important;
  background: linear-gradient(90deg, transparent 0%, rgba(74,222,128,.55) 35%, rgba(212,165,32,.45) 65%, transparent 100%) !important;
  pointer-events: none !important;
}

/* Estado scrolled — glass más denso */
.ct-header.scrolled {
  background: rgba(20,83,45,0.98) !important;
  backdrop-filter: blur(28px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(200%) !important;
  box-shadow: 0 4px 32px rgba(0,0,0,.28) !important;
  border-color: rgba(74,222,128,0.28) !important;
}

/* Eliminar fondos de filas individuales de Blocksy
   Usamos #header.ct-header para mayor especificidad que el CSS inline de Blocksy */
#header.ct-header [data-row],
#header.ct-header [data-row*="middle"],
#header.ct-header [data-row*="top"],
#header.ct-header [data-row*="bottom"],
.ct-header [data-row],
.ct-header [data-row="middle"],
.ct-header [data-row="top"],
.ct-header [data-row="bottom"] {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Fila principal — usar la variable de Blocksy para la altura */
#header.ct-header [data-row*="middle"],
.ct-header [data-row="middle"] {
  --height: 80px !important;
}

/* Centrado vertical: Blocksy usa height:var(--height) en el row y flex en el container */
#header.ct-header [data-row*="middle"] .ct-container,
.ct-header [data-row="middle"] .ct-container {
  align-items: center !important;
  min-height: 80px !important;
}

/* ── Logo ── */
.ct-header .site-title,
.ct-header [data-id="logo"] .site-title {
  font-family: var(--eee-ff-display) !important;
  font-style: italic !important;
  font-weight: 800 !important;
  font-size: 1.5rem !important;
  color: var(--eee-white) !important;
  --theme-link-initial-color: var(--eee-white) !important;
  letter-spacing: -0.01em !important;
}

/* ── Links del menú ── */
/* Eliminar padding vertical excesivo de los items del menú */
.ct-header [data-id="menu"] > ul > li {
  --theme-link-initial-color: rgba(255,255,255,.82) !important;
  --theme-link-hover-color: #ffffff !important;
  --theme-text-transform: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.ct-header .ct-menu-link,
.ct-header [data-id="menu"] > ul > li > a {
  font-family: var(--eee-ff-body) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: rgba(255,255,255,.82) !important;
  transition: color .2s !important;
  padding-top: .15rem !important;
  padding-bottom: .15rem !important;
}
.ct-header .ct-menu-link:hover,
.ct-header [data-id="menu"] > ul > li > a:hover {
  color: var(--eee-white) !important;
}

/* ── Submenú ── */
.ct-header .sub-menu {
  background: rgba(20,83,45,.96) !important;
  backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(74,222,128,.15) !important;
  border-radius: .75rem !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.3) !important;
}
.ct-header .sub-menu .ct-menu-link {
  color: rgba(255,255,255,.75) !important;
}
.ct-header .sub-menu .ct-menu-link:hover {
  color: var(--eee-gold) !important;
  background: rgba(255,255,255,.06) !important;
}

/* ── Botón CTA en header ── */
.ct-header [data-id="button"] a,
.ct-header .ct-button {
  background: var(--eee-gold) !important;
  color: #111 !important;
  border-color: var(--eee-gold) !important;
  font-family: var(--eee-ff-body) !important;
  font-weight: 700 !important;
  font-size: 0.82rem !important;
  border-radius: 2rem !important;
  padding: .55rem 1.35rem !important;
  transition: background .2s, transform .2s !important;
}
.ct-header [data-id="button"] a:hover,
.ct-header .ct-button:hover {
  background: var(--eee-gold-dark) !important;
  transform: translateY(-2px) !important;
}

/* ══════════════════════════════════════════════
   HEADER — LAYOUT 3 PARTES
   Logo izquierda | Nav centro | CTA derecha
   ══════════════════════════════════════════════ */

/* Referencia de posicionamiento para el CTA absoluto */
.ct-header [data-device="desktop"] [data-row="middle"] .ct-container {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

/* Logo: izquierda, ancho natural */
.ct-header [data-device="desktop"] [data-column="start"] {
  flex: 0 0 auto !important;
  align-self: center !important;
}

/* Columna derecha: toma el espacio restante */
.ct-header [data-device="desktop"] [data-column="end"] {
  flex: 1 1 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}

/* Wrapper interno de la columna derecha */
.ct-header [data-device="desktop"] [data-column="end"] > [data-items] {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
}

/* Nav: flex 1, centra los links regulares */
.ct-header [data-device="desktop"] [data-id="menu"] {
  flex: 1 !important;
  display: flex !important;
  justify-content: center !important;
  overflow: visible !important;
}

/* UL: flex centrado (el CTA sale del flujo con position:absolute) */
.ct-header [data-device="desktop"] [data-id="menu"] ul.menu {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Ocultar el buscador en desktop — el CTA cumple la función de acción primaria */
.ct-header [data-device="desktop"] [data-id="search"] {
  display: none !important;
}

/* ── CTA-MENU: posición absoluta anclada a la derecha ── */
.ct-header [data-device="desktop"] li.CTA-MENU {
  position: absolute !important;
  right: 1.5rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
}

/* ── Botón CTA-MENU: estilo pill dorado ── */
.ct-header li.CTA-MENU > .ct-menu-link,
.ct-header li.CTA-MENU > a {
  background: var(--eee-gold) !important;
  color: #111111 !important;
  font-family: var(--eee-ff-body) !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  padding: 0.55rem 1.5rem !important;
  line-height: 1.2 !important;
  border-radius: 2rem !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  transition: background 0.25s, transform 0.25s, box-shadow 0.25s !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  touch-action: manipulation !important;
}

.ct-header li.CTA-MENU > .ct-menu-link::after,
.ct-header li.CTA-MENU > a::after {
  content: '→' !important;
  font-size: 0.82rem !important;
  display: inline-block !important;
  transition: transform 0.25s !important;
}

.ct-header li.CTA-MENU > .ct-menu-link:hover,
.ct-header li.CTA-MENU > a:hover {
  background: var(--eee-gold-dark) !important;
  color: #111111 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(212,165,32,.45) !important;
}

.ct-header li.CTA-MENU > .ct-menu-link:hover::after,
.ct-header li.CTA-MENU > a:hover::after {
  transform: translateX(3px) !important;
}

.ct-header li.CTA-MENU > .ct-menu-link:focus-visible,
.ct-header li.CTA-MENU > a:focus-visible {
  outline: 2px solid var(--eee-white) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(212,165,32,.25) !important;
}

.ct-header li.CTA-MENU > .ct-menu-link:active,
.ct-header li.CTA-MENU > a:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(212,165,32,.25) !important;
  transition: transform 0.05s, box-shadow 0.05s !important;
}

/* ── Clase legacy menu-cta (retrocompatibilidad) ── */
li.menu-cta {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
}
li.menu-cta > .ct-menu-link,
.ct-header li.menu-cta > a {
  background: var(--eee-gold) !important;
  color: #111 !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  padding: .55rem 1.35rem !important;
  line-height: 1.2 !important;
  border-radius: 2rem !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
  transition: background .25s, transform .25s, box-shadow .25s !important;
  margin-left: .35rem !important;
  touch-action: manipulation !important;
}
li.menu-cta > .ct-menu-link:hover,
.ct-header li.menu-cta > a:hover {
  background: var(--eee-gold-dark) !important;
  color: #111 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(212,165,32,.4) !important;
}


/* ── Hamburger (móvil) ── */
.ct-header [data-device="mobile"] [data-id="trigger"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 44px !important;
  min-height: 44px !important;
}
.ct-header [data-device="mobile"] [data-id="trigger"] svg rect {
  fill: var(--eee-white) !important;
}
.ct-header [data-device="mobile"] [data-id="trigger"] svg {
  color: var(--eee-white) !important;
}

/* ══════════════════════════════════════════════
   OFFCANVAS — Menú móvil completo
   ══════════════════════════════════════════════ */

/* Panel principal */
#offcanvas {
  z-index: 99999 !important;
}
#offcanvas .ct-panel-inner {
  background: var(--eee-em-deep) !important;
  border-left: 1px solid rgba(74,222,128,.15) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-shadow: -8px 0 40px rgba(0,0,0,.35) !important;
}

/* Cabecera del panel: branding + botón cerrar */
#offcanvas .ct-panel-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 1.5rem !important;
  min-height: 70px !important;
  border-bottom: 1px solid rgba(74,222,128,.1) !important;
  flex-shrink: 0 !important;
}

/* Logo E&E en el panel */
#offcanvas .ct-panel-actions::before {
  content: 'E&E Funding' !important;
  font-family: var(--eee-ff-display) !important;
  font-style: italic !important;
  font-weight: 800 !important;
  font-size: 1.2rem !important;
  color: var(--eee-white) !important;
  letter-spacing: -0.01em !important;
}

/* Botón cerrar */
#offcanvas .ct-toggle-close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(255,255,255,.07) !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  cursor: pointer !important;
  transition: background .2s !important;
  flex-shrink: 0 !important;
}
#offcanvas .ct-toggle-close:hover {
  background: rgba(255,255,255,.14) !important;
}
#offcanvas .ct-toggle-close svg {
  width: 11px !important;
  height: 11px !important;
  color: var(--eee-white) !important;
  fill: var(--eee-white) !important;
}
#offcanvas .ct-toggle-close:focus-visible {
  outline: 2px solid var(--eee-gold) !important;
  outline-offset: 2px !important;
}

/* Zona de scroll del contenido */
#offcanvas .ct-panel-content[data-device="mobile"] {
  flex: 1 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 0.75rem 0 2rem !important;
}
#offcanvas .ct-panel-content[data-device="mobile"]::-webkit-scrollbar {
  width: 3px !important;
}
#offcanvas .ct-panel-content[data-device="mobile"]::-webkit-scrollbar-thumb {
  background: rgba(74,222,128,.2) !important;
  border-radius: 3px !important;
}

/* UL raíz del nav */
#offcanvas .mobile-menu > ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Items de primer nivel: separador sutil */
#offcanvas .mobile-menu > ul > li {
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}
#offcanvas .mobile-menu > ul > li:last-child {
  border-bottom: none !important;
}

/* Links de primer nivel */
#offcanvas .ct-menu-link {
  font-family: var(--eee-ff-display) !important;
  font-style: italic !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.85) !important;
  display: flex !important;
  align-items: center !important;
  padding: .7rem 1.5rem !important;
  transition: color .2s, padding-left .15s !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
}
#offcanvas .ct-menu-link:hover {
  color: var(--eee-white) !important;
  padding-left: 1.85rem !important;
}

/* Página/item activo */
#offcanvas li.current-menu-item > .ct-menu-link,
#offcanvas li.current_page_item > a.ct-menu-link,
#offcanvas li.current-menu-item > span > .ct-menu-link,
#offcanvas li.current_page_item > span > a.ct-menu-link {
  color: var(--eee-gold) !important;
}

/* Wrapper de item con submenú */
#offcanvas .ct-sub-menu-parent {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
#offcanvas .ct-sub-menu-parent > .ct-menu-link {
  flex: 1 !important;
}

/* Botón toggle de submenú */
#offcanvas .ct-toggle-dropdown-mobile {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin-right: .5rem !important;
}
#offcanvas .ct-toggle-dropdown-mobile svg {
  color: rgba(255,255,255,.4) !important;
  transition: transform .25s, color .2s !important;
}
#offcanvas .ct-toggle-dropdown-mobile:hover svg,
#offcanvas .ct-toggle-dropdown-mobile:focus svg {
  color: rgba(255,255,255,.75) !important;
}
#offcanvas .ct-toggle-dropdown-mobile[aria-expanded="true"] svg {
  transform: rotate(180deg) !important;
  color: var(--eee-gold) !important;
}
#offcanvas .ct-toggle-dropdown-mobile:focus-visible {
  outline: 2px solid var(--eee-gold) !important;
  outline-offset: 2px !important;
  border-radius: 6px !important;
}

/* Sub-menú */
#offcanvas ul.sub-menu {
  list-style: none !important;
  margin: 0 0 .5rem 1.5rem !important;
  padding: 0 0 0 1rem !important;
  border-left: 2px solid rgba(74,222,128,.18) !important;
}
#offcanvas ul.sub-menu .ct-menu-link {
  font-size: .95rem !important;
  font-style: italic !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.5) !important;
  padding: .4rem 1rem .4rem 0 !important;
}
#offcanvas ul.sub-menu .ct-menu-link:hover {
  color: rgba(255,255,255,.9) !important;
  padding-left: .4rem !important;
}

/* Sub-sub-menú (áreas → ciudad) */
#offcanvas ul.sub-menu ul.sub-menu {
  margin-left: 1rem !important;
  padding-left: .75rem !important;
  border-left-color: rgba(74,222,128,.1) !important;
}
#offcanvas ul.sub-menu ul.sub-menu .ct-menu-link {
  font-size: .85rem !important;
  color: rgba(255,255,255,.38) !important;
}
#offcanvas ul.sub-menu ul.sub-menu .ct-menu-link:hover {
  color: rgba(255,255,255,.7) !important;
}

/* ── CTA-MENU: botón dorado de ancho completo ── */
#offcanvas li.CTA-MENU {
  border-bottom: none !important;
  padding: 1.25rem 1.5rem .5rem !important;
  margin-top: .25rem !important;
}
#offcanvas li.CTA-MENU > .ct-menu-link,
#offcanvas li.CTA-MENU > a {
  background: var(--eee-gold) !important;
  color: #111111 !important;
  font-family: var(--eee-ff-body) !important;
  font-style: normal !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border-radius: 2rem !important;
  padding: .9rem 2rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  width: 100% !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  transition: background .2s, transform .2s, box-shadow .2s !important;
  box-shadow: 0 4px 18px rgba(212,165,32,.28) !important;
}
#offcanvas li.CTA-MENU > .ct-menu-link::after,
#offcanvas li.CTA-MENU > a::after {
  content: '→' !important;
  font-size: .9rem !important;
  display: inline-block !important;
}
#offcanvas li.CTA-MENU > .ct-menu-link:hover,
#offcanvas li.CTA-MENU > a:hover {
  background: var(--eee-gold-dark) !important;
  box-shadow: 0 8px 24px rgba(212,165,32,.38) !important;
  transform: translateY(-1px) !important;
}
#offcanvas li.CTA-MENU > .ct-menu-link:active,
#offcanvas li.CTA-MENU > a:active {
  transform: scale(.97) !important;
  transition: transform .05s !important;
}
#offcanvas li.CTA-MENU > .ct-menu-link:focus-visible,
#offcanvas li.CTA-MENU > a:focus-visible {
  outline: 2px solid var(--eee-white) !important;
  outline-offset: 3px !important;
}

/* ══════════════════════════════════════════════
   HOME + INNER PAGES — layout overrides
   ══════════════════════════════════════════════ */

/* El hero va a borde completo bajo el nav fijo */
body.eee-home #main-container > main,
body.eee-inner #main-container > main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Ocultar elementos que Blocksy inyecta antes del contenido */
body.eee-home [class*="ct-page-hero"],
body.eee-home [class*="page-hero"],
body.eee-home .entry-header,
body.eee-home .ct-page-title-wrap,
body.eee-inner [class*="ct-page-hero"],
body.eee-inner [class*="page-hero"],
body.eee-inner .entry-header,
body.eee-inner .ct-page-title-wrap {
  display: none !important;
}

/* Breadcrumbs custom — visibles y estilizados */
.ct-breadcrumbs-container {
  background: var(--em-deep);
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ct-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--ff-body);
  font-size: 0.78rem;
  color: rgba(255,255,255,.6);
}
.ct-breadcrumbs a {
  color: rgba(255,255,255,.7);
  text-decoration: none;
  transition: color .2s;
}
.ct-breadcrumbs a:hover {
  color: var(--gold);
}
.ct-breadcrumbs .separator {
  color: rgba(255,255,255,.3);
  margin: 0 0.2rem;
}
.ct-breadcrumbs .current-item {
  color: var(--gold);
  font-weight: 600;
}

/* Header fijo: cada sección hero interior lleva su propio padding-top
   para compensar la altura del header; no añadir aquí para evitar gap blanco. */

/* ══════════════════════════════════════════════
   FOOTER — ocultar el de Blocksy (ambas plantillas)
   Se reemplaza por footer-home.php en todas las páginas
   ══════════════════════════════════════════════ */
body.eee-home [class*="ct-footer"],
body.eee-home .ct-footer-wrapper,
body.eee-home footer.ct-footer,
body.eee-inner [class*="ct-footer"],
body.eee-inner .ct-footer-wrapper,
body.eee-inner footer.ct-footer {
  display: none !important;
}

/* ══════════════════════════════════════════════
   FOOTER PERSONALIZADO — E&E Footer
   ══════════════════════════════════════════════ */
#eee-footer { background: var(--eee-near-black); position: relative; overflow: hidden; font-family: var(--eee-ff-body); }
#eee-footer::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 70% 50% at 15% 60%, rgba(20,83,45,.22) 0%, transparent 70%),
    radial-gradient(ellipse 45% 55% at 85% 15%, rgba(212,165,32,.05) 0%, transparent 65%);
}
.eee-footer-accent {
  height: 3px;
  background: linear-gradient(90deg, var(--eee-em-deep) 0%, var(--eee-em-mid) 30%, var(--eee-em-light) 60%, var(--eee-gold) 100%);
  position: relative; z-index: 1;
}
.eee-footer-wrap { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; position: relative; z-index: 1; }
.eee-footer-grid {
  display: grid; grid-template-columns: 2.2fr 1fr 1fr 1fr;
  gap: 3rem; padding: 4rem 0 3rem;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.eee-footer-logo {
  display: inline-flex; align-items: center; gap: .75rem;
  margin-bottom: .75rem; text-decoration: none;
}
.eee-footer-logo img {
  height: 52px; width: auto; flex-shrink: 0;
}
.eee-footer-site-name {
  font-family: var(--eee-ff-display); font-style: italic;
  font-size: 1.65rem; font-weight: 700; line-height: 1;
  color: var(--eee-gold); letter-spacing: -.01em;
}
.eee-footer-logo .f-ee {
  font-family: var(--eee-ff-display); font-style: italic; font-size: 1.5rem; font-weight: 800;
  color: var(--eee-white); letter-spacing: -.01em;
}
.eee-footer-logo .f-funding {
  font-family: var(--eee-ff-body); font-weight: 300; font-size: .72rem;
  letter-spacing: .2em; text-transform: uppercase; color: var(--eee-gold);
}
.eee-footer-tagline {
  font-family: var(--eee-ff-display); font-style: italic; font-size: .95rem;
  color: var(--eee-gold); margin-bottom: .75rem; font-weight: 600;
}
.eee-footer-desc {
  font-size: .81rem; color: rgba(255,255,255,.36); line-height: 1.78;
  max-width: 275px; margin-bottom: 1.25rem;
}
.eee-footer-states { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.eee-fstate {
  font-size: .66rem; font-weight: 700; color: var(--eee-em-light);
  background: rgba(74,222,128,.07); border: 1px solid rgba(74,222,128,.2);
  padding: .2rem .6rem; border-radius: 9999px;
}
.eee-fstate.priority { background: rgba(212,165,32,.1); border-color: rgba(212,165,32,.3); color: var(--eee-gold); }
.eee-footer-social { display: flex; flex-direction: column; gap: .6rem; }
.eee-footer-social a {
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: .79rem; font-weight: 600; color: rgba(255,255,255,.75);
  text-decoration: none; transition: color .2s;
}
.eee-footer-social a:not(.eee-footer-email) { color: rgba(212,165,32,.85); }
.eee-footer-social a:not(.eee-footer-email):hover { color: var(--eee-gold, #D4A520); }
.eee-footer-email { color: rgba(212,165,32,.75) !important; font-weight: 700 !important; }
.eee-footer-email:hover { color: var(--gold, #D4A520) !important; }
.eee-footer-col h4 {
  font-size: .66rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase;
  color: rgba(255,255,255,.22); margin-bottom: 1.25rem; margin-top: 0;
}
.eee-footer-col ul { list-style: none; display: flex; flex-direction: column; gap: .65rem; padding: 0; margin: 0; }
.eee-footer-col ul li a {
  font-size: .81rem; color: rgba(255,255,255,.4); transition: color .2s, padding-left .2s;
  display: inline-block; text-decoration: none;
}
.eee-footer-col ul li a:hover { color: var(--eee-white); padding-left: .35rem; }

.eee-footer-compliance {
  display: flex; align-items: center; justify-content: space-between;
  gap: 2rem; flex-wrap: wrap; padding: 1.5rem 0;
  border-bottom: 1px solid rgba(255,255,255,.05); margin-bottom: 1.75rem;
}
.eee-footer-nmls { display: flex; align-items: center; gap: .6rem; }
.eee-footer-nmls-tag {
  font-size: .58rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase;
  color: var(--eee-em-mid); background: rgba(22,163,74,.12); border: 1px solid rgba(22,163,74,.22);
  padding: .2rem .5rem; border-radius: .375rem;
}
.eee-footer-nmls-num { font-size: .84rem; font-weight: 700; color: rgba(255,255,255,.48); }
.eee-footer-badges { display: flex; gap: .65rem; align-items: center; flex-wrap: wrap; }
.eee-footer-badge {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: .375rem;
  padding: .35rem .7rem; font-size: .63rem; font-weight: 700; color: rgba(255,255,255,.32);
  text-transform: uppercase; letter-spacing: .07em; display: flex; align-items: center; gap: .4rem;
}
.eee-footer-bottom {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 2rem; flex-wrap: wrap; padding-bottom: 2.5rem;
}
.eee-footer-legal { font-size: .68rem; color: rgba(255,255,255,.2); line-height: 1.78; max-width: 680px; }
.eee-footer-legal p { margin: 0; }
.eee-footer-legal p + p { margin-top: .35rem; }
.eee-footer-legal strong { color: rgba(255,255,255,.38); }
.eee-footer-copy { font-size: .7rem; color: rgba(255,255,255,.18); font-weight: 600; white-space: nowrap; padding-top: .15rem; }

/* ── Mobile bottom nav E&E — 3 columnas: Llamar | ES·EN·PT | Agendar ── */
.eee-mobile-nav {
  display: none;
  position: fixed; bottom: 0 !important; left: 0; right: 0;
  z-index: 99994;
  background: var(--eee-em-darker, #052e16);
  border-top: 1px solid rgba(74,222,128,.18);
  padding: .7rem 1rem;
  padding-bottom: max(.7rem, env(safe-area-inset-bottom, .7rem));
  gap: .5rem;
  align-items: center;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

/* Grupo de pills de idioma en el centro del bottom nav */
.eee-mbn-lang {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  flex-shrink: 0;
}
.eee-mbn-lang-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.2rem;
  height: 2.2rem;
  padding: 0 .45rem;
  border-radius: 2rem;
  font-family: var(--eee-ff-body, 'Outfit', sans-serif);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
  color: rgba(255,255,255,.6);
  border: 1px solid rgba(255,255,255,.15);
  background: transparent;
  transition: background .18s, color .18s, border-color .18s;
  -webkit-tap-highlight-color: transparent;
}
.eee-mbn-lang-pill.is-active {
  background: #D4A520 !important;
  color: #111 !important;
  border-color: #D4A520 !important;
}
.eee-mbn-lang-pill:hover,
.eee-mbn-lang-pill:focus-visible {
  background: rgba(255,255,255,.12);
  color: #fff;
  border-color: rgba(255,255,255,.3);
}
@media (max-width: 399px) {
  .eee-mbn-lang-pill { min-width: 1.9rem; height: 1.9rem; font-size: .68rem; }
}

/* Base compartida de los 2 botones */
.eee-mbn-call,
.eee-mbn-book {
  flex: 1;
  align-self: stretch;
  display: flex; align-items: center; justify-content: center; gap: .45rem;
  padding: .88rem 1rem;
  border-radius: .75rem;
  font-family: var(--eee-ff-body); font-weight: 700;
  font-size: .92rem; letter-spacing: .01em;
  line-height: 1; white-space: nowrap;
  cursor: pointer; text-decoration: none; border: none;
  transition: opacity .15s, transform .1s;
  -webkit-tap-highlight-color: transparent;
}
.eee-mbn-call:active,
.eee-mbn-book:active { transform: scale(.96); opacity: .85; }

/* Llamar — vidrio blanco sobre verde oscuro */
.eee-mobile-nav .eee-mbn-call {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  backdrop-filter: blur(8px);
}
.eee-mobile-nav .eee-mbn-call:hover {
  background: rgba(255,255,255,.2) !important;
}

/* Agendar — dorado primario */
.eee-mobile-nav .eee-mbn-book {
  background: #D4A520 !important;
  color: #111111 !important;
  box-shadow: 0 4px 16px rgba(212,165,32,.4) !important;
}
.eee-mobile-nav .eee-mbn-book:hover {
  background: #B88912 !important;
}

/* ══════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .eee-footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .eee-footer-compliance { flex-direction: column; align-items: flex-start; gap: 1rem; }
}
@media (max-width: 768px) {
  .eee-footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .eee-mobile-nav { display: flex; }
  /* Espacio bajo el contenido para que no quede tapado por el nav (~80px) */
  body.eee-home,
  body.eee-inner { padding-bottom: 84px; }
  .eee-footer-desc { max-width: 100%; }
  .eee-footer-bottom { flex-direction: column; gap: 0.75rem; padding-bottom: 1.75rem; }
}
@media (min-width: 1000px) {
  .eee-mobile-nav { display: none !important; }
}
/* iPhone SE (375px) — botones un poco más pequeños */
@media (max-width: 399px) {
  .eee-mbn-call,
  .eee-mbn-book { font-size: .82rem; padding: .8rem .75rem; gap: .35rem; }
}

/* ══════════════════════════════════════════════
   FULL WIDTH page template (páginas interiores)
   IMPORTANTE: NO tocar .ct-container del header (lo usa Blocksy
   para el max-width y padding del logo+menú). Sólo afectar el
   contenido dentro de <main>.
   ══════════════════════════════════════════════ */
.eee-fullwidth-content,
body.eee-inner #main.site-main,
body.eee-inner #main .entry-content,
body.eee-inner #main > .ct-container {
  max-width: 100% !important; padding: 0 !important; margin: 0 !important;
}
body.eee-inner .entry-header,
body.eee-inner .page-title { display: none !important; }

/* Párrafos vacíos que Gutenberg genera (p:empty, p con sólo comentarios HTML) */
.eee-fullwidth-content > p:empty,
.eee-fullwidth-content > p:not(:has(*)) { display: none !important; }

/* ══════════════════════════════════════════════
   MOTION REDUCIDA
   ══════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============================================================
   SWITCHER DE IDIOMA
   ============================================================ */

/* Desktop: posicionamiento absolute a la derecha, antes del CTA-MENU */
.ct-header [data-device="desktop"] li.eee-lang-menu-item {
  position: absolute !important;
  right: 11.5rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Contenedor de pills */
.eee-lang-switcher {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

/* Pill individual */
.eee-lang-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  height: 2rem;
  padding: 0 0.6rem;
  border-radius: 2rem;
  font-family: 'Manrope', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  text-transform: uppercase;
  color: rgba(255,255,255,0.75) !important;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  transition: all .2s ease;
  cursor: pointer;
}

/* Pill hover */
.eee-lang-pill:hover {
  background: rgba(255,255,255,0.18);
  color: #fff !important;
  border-color: rgba(255,255,255,0.35);
  transform: translateY(-1px);
}

/* Pill activa (dorada) */
.eee-lang-pill.is-active {
  background: #f59e0b !important;
  color: #111 !important;
  border-color: #f59e0b !important;
  box-shadow: 0 4px 14px rgba(245,158,11,0.35);
  cursor: default;
  pointer-events: none;
}

/* Offcanvas / mobile hamburger */
.eee-lang-switcher--offcanvas {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0.75rem 1.25rem;
  gap: 0.5rem;
}
/* El li del switcher en offcanvas no debe comportarse como ítem de menú normal */
#offcanvas li.eee-lang-menu-item {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
#offcanvas li.eee-lang-menu-item > .eee-lang-switcher--offcanvas {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 1rem;
  margin-top: 0.5rem;
}
.eee-lang-switcher--offcanvas .eee-lang-pill {
  min-width: 3rem;
  height: 2.4rem;
  font-size: 0.85rem;
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.8) !important;
}
.eee-lang-switcher--offcanvas .eee-lang-pill.is-active {
  background: #f59e0b !important;
  color: #111 !important;
  border-color: #f59e0b !important;
}

/* Responsive: en pantallas muy pequenas ocultar switcher desktop */
@media (max-width: 1024px) {
  .ct-header [data-device="desktop"] li.eee-lang-menu-item {
    right: 10rem !important;
  }
}
@media (max-width: 900px) {
  .ct-header [data-device="desktop"] li.eee-lang-menu-item {
    display: none !important;
  }
}
