/* =====================================================================
   CM+ — estilos del HEADER y FOOTER nativos de Kadence.
   Se cargan en todo el sitio (header/footer aparecen en todas las páginas)
   y también dentro del editor del Customizer.
   Tokens definidos en home.css; aquí se redefinen por si esta hoja carga sola.
   ===================================================================== */
:root, body {
  --cm-black:#0A0A0A; --cm-charcoal:#161616; --cm-cream:#FBFBF9; --cm-bone:#F2F1ED;
  --cm-gray-300:#BBBBBB; --cm-gray-400:#8A8A85; --cm-gray-500:#6B6B66;
  --cm-font-serif:"Source Serif 4", serif; --cm-font-sans:"Funnel Sans", sans-serif;
}

/* ============ HEADER (Kadence site-header) ============ */
/* Contenedor del header al MISMO ancho/padding que el contenido y el footer.
   Kadence le da al .site-container del header padding lateral 0 (mientras el
   contenido y el footer usan 32px), por eso el logo arrancaba en x=100 en vez
   de x=132. Igualamos el padding lateral a 32px para que logo/menú alineen con
   el contenido (logo→x=132, lang→r=1308). */
#masthead .site-container { padding-left:var(--cm-edge,32px); padding-right:var(--cm-edge,32px); }

/* Logo */
.site-branding .custom-logo,
.site-branding img.svg-logo-image { height:44px !important; width:auto !important; max-width:none; }
.site-header-row .site-header-item .site-branding { margin:0; }

/* Navegación: enlaces tipográficos */
.site-header .header-navigation .menu > .menu-item > a,
.header-navigation .header-menu-container .menu > .menu-item > a {
  font-family:var(--cm-font-sans); font-size:15.5px; font-weight:400; letter-spacing:0.01em;
  text-transform:none; }
.site-header .header-navigation .menu > .menu-item { margin:0; }
.site-header .header-navigation .menu > .menu-item + .menu-item { margin-left:44px; }

/* HTML item: switch ES / EN */
.header-html .cm-lang { font-family:var(--cm-font-sans); font-size:15px; letter-spacing:0.18em;
  display:inline-flex; align-items:center; gap:4px; padding-left:18px; border-left:1px solid rgba(251,251,249,0.2); }
.header-html .cm-lang .active { font-weight:500; }
.header-html .cm-lang .sep { opacity:.5; }
.header-html .cm-lang span:not(.active):not(.sep) { opacity:.6; cursor:pointer; transition:opacity .2s; }
.header-html .cm-lang span:not(.active):not(.sep):hover { opacity:1; }

/* Separación entre navegación y el switch */
.site-header-main-section-right .site-header-item + .site-header-item { margin-left:28px; }

/* ---- HEADER TRANSPARENTE (sobre el hero oscuro) ---- */
.transparent-header #masthead.site-header,
.transparent-header .site-header-row-container.site-header-focus-item.site-header-row-layout-standard {
  background:transparent !important; }
/* logo, enlaces y switch en crema sobre el hero */
.transparent-header .site-branding .header-logo,
.transparent-header .header-navigation .menu > .menu-item > a,
.transparent-header .header-html .cm-lang,
.transparent-header .header-html { color:var(--cm-cream) !important; }
.transparent-header .header-navigation .menu > .menu-item > a:hover { color:var(--cm-gray-300) !important; }
.transparent-header .header-html .cm-lang { border-left-color:rgba(251,251,249,0.2); }
/* hamburguesa móvil clara */
.transparent-header .menu-toggle-open .menu-toggle-icon .kadence-svg-iconset,
.transparent-header .mobile-toggle-open-container .menu-toggle { color:var(--cm-cream) !important; }

/* Header NO transparente (fallback / scroll): fondo negro, texto crema */
#masthead .site-header-row-container:not(.site-header-focus-item),
.site-header-row-container { }
.site-header:not(.transparent-header) .header-navigation .menu > .menu-item > a { color:var(--cm-cream); }

/* ============ FOOTER (Kadence site-footer) ============ */
#colophon.site-footer { background:var(--cm-black); color:var(--cm-cream); }
.site-footer .site-footer-row-container-inner { background:transparent; }

/* Fila superior: 3 columnas (marca / mapa / contacto).
   Anchos 2fr/1fr/1.2fr + gap 48px como la referencia (ningún preset de Kadence
   da ese ratio exacto; sobreescribimos el grid). 48px de aire bajo las columnas
   antes del divisor del copyright. */
.site-footer-top-wrap .site-footer-row,
.site-footer .site-footer-row-columns-3 { padding-top:64px; padding-bottom:48px; }
.site-footer .site-top-footer-inner-wrap.site-footer-row-columns-3 {
  grid-template-columns:2fr 1fr 1.2fr !important; gap:48px !important; }
@media (max-width:760px){
  .site-footer .site-top-footer-inner-wrap.site-footer-row-columns-3 {
    grid-template-columns:1fr !important; gap:32px !important; } }
.site-footer .footer-widget-area { color:var(--cm-gray-300); }

/* Marca */
.site-footer .cm-foot-logo { display:inline-block; margin-bottom:16px; }
.site-footer .cm-foot-logo img { height:32px; width:auto; }
/* Sólo el párrafo de la columna de marca. (La regla genérica .footer-widget-area p
   se quitó: se filtraba al <p> del copyright y le imponía max-width:48ch → 3 líneas.) */
.site-footer .cm-foot-brand p { color:var(--cm-gray-300); font-size:13px; line-height:1.7; max-width:48ch; margin:16px 0 0; }

/* Títulos de columna */
.site-footer .cm-foot-h { font-family:var(--cm-font-sans); font-size:11px; letter-spacing:0.22em;
  line-height:1.1; text-transform:uppercase; color:var(--cm-gray-400); font-weight:500; margin:0 0 16px; display:block; }

/* Mapa de sitio (nav widget) */
.site-footer .footer-widget-area .menu,
.site-footer .footer-widget-area ul { list-style:none; padding:0; margin:0; }
.site-footer .footer-widget-area .menu li,
.site-footer .footer-widget-area li { padding:0; font-size:13.5px; }
.site-footer .footer-widget-area .menu a,
.site-footer .footer-widget-area li a { color:var(--cm-gray-300); transition:color .2s; }
.site-footer .footer-widget-area .menu a:hover,
.site-footer .footer-widget-area li a:hover { color:var(--cm-cream); }

/* Contacto */
.site-footer .cm-foot-contact .contact-line { display:flex; align-items:center; gap:10px;
  font-size:13.5px; color:var(--cm-gray-300); padding:4px 0; }
.site-footer .cm-foot-contact .contact-line svg { width:14px; height:14px; color:var(--cm-gray-400); flex-shrink:0; }

/* Barra de copyright (fila bottom) — alineada a la izquierda como la referencia */
.site-footer .site-footer-row-columns-1 .footer-html,
.site-footer .footer-html-inner { font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--cm-gray-500); }
/* El <p> del copyright a ancho completo (1 línea como la referencia) y sin margen. */
.site-footer .footer-html-inner p { margin:0; max-width:none; font-size:11px; line-height:1.6; }
.site-footer .site-bottom-footer-inner-wrap { border-top:1px solid rgba(251,251,249,0.08); padding-top:16px; padding-bottom:24px; }
.site-footer .site-footer-row-columns-1 .site-footer-section { justify-content:flex-start; text-align:left; }
.site-footer .site-footer-row-columns-1 .footer-html { text-align:left; }

/* Tipografía base del footer */
.site-footer { font-family:var(--cm-font-sans); }

/* ============ MENÚ MÓVIL — Popup Drawer de Kadence (fullwidth overlay) ============
   Estructura real de Kadence:
     #mobile-drawer.popup-drawer-layout-fullwidth
       .drawer-overlay
       .drawer-inner
         .drawer-header  > button.menu-toggle-close (2× .toggle-close-bar = X)
         .drawer-content.mobile-drawer-content
           nav#site-navigation > .primary-menu-container > ul#primary-menu.menu > li.menu-item > a
   Lo estilamos como el overlay de la referencia Website-Home.html: fondo negro,
   enlaces grandes serif a ANCHO COMPLETO alineados a la izquierda, con "→" al hacer
   hover, label "Menú" arriba-izquierda, X arriba-derecha, y entrada escalonada. */

/* --- Botón hamburguesa (en el header, sobre el hero oscuro → crema) --- */
#mobile-toggle.menu-toggle-open { background:transparent; border:none; cursor:pointer;
  padding:8px; display:inline-flex; align-items:center; justify-content:center; color:var(--cm-cream); }
#mobile-toggle .menu-toggle-icon { color:var(--cm-cream); display:inline-flex; }
#mobile-toggle .menu-toggle-icon svg,
#mobile-toggle .kadence-svg-iconset svg { width:24px; height:24px; fill:currentColor; color:var(--cm-cream); }

/* --- El popup fullwidth: overlay negro a pantalla completa --- */
#mobile-drawer.popup-drawer-layout-fullwidth {
  background:var(--cm-black); position:fixed; inset:0; z-index:9999;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .5s cubic-bezier(0.4,0,0.2,1), visibility 0s linear .5s; }
#mobile-drawer.popup-drawer-layout-fullwidth.show-drawer,
#mobile-drawer.popup-drawer-layout-fullwidth.active {
  opacity:1; visibility:visible; pointer-events:auto;
  transition:opacity .5s cubic-bezier(0.4,0,0.2,1), visibility 0s linear 0s; }
.drawer-overlay { display:none; }
body.showing-popup-drawer-from-full { overflow:hidden; }

/* --- Contenedor interno: centra verticalmente el menú, padding lateral 32px --- */
#mobile-drawer .drawer-inner {
  position:relative; min-height:100%; box-sizing:border-box;
  display:flex; flex-direction:column; justify-content:center;
  padding:128px 32px 48px; }

/* Header (solo contiene la X): lo sacamos del flujo para no descentrar el menú */
#mobile-drawer .drawer-header { position:absolute; top:0; right:0; margin:0; padding:0; }

/* --- Botón de cierre (X formada por 2 barras) arriba-derecha --- */
#mobile-drawer .menu-toggle-close.drawer-toggle {
  position:absolute; top:30px; right:26px; width:30px; height:30px;
  background:transparent; border:none; cursor:pointer; padding:0; z-index:10; }
#mobile-drawer .menu-toggle-close .toggle-close-bar { background:var(--cm-cream); }
/* fallback por si Kadence usa un icono SVG en vez de barras */
#mobile-drawer .menu-toggle-close svg { width:24px; height:24px; fill:var(--cm-cream); }

/* --- Label "Menú" arriba-izquierda (relativo al drawer fijo) --- */
#mobile-drawer .mobile-drawer-content::before {
  content:"Menú"; position:absolute; top:38px; left:32px;
  font-family:var(--cm-font-sans); font-size:11px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--cm-gray-400);
  opacity:0; transition:opacity .4s ease .2s; }
#mobile-drawer.show-drawer .mobile-drawer-content::before { opacity:1; }

/* --- Área de contenido del menú: ancho completo, alineado a la izquierda --- */
#mobile-drawer .drawer-content.mobile-drawer-content {
  width:100%; max-width:none; padding:0; margin:0; text-align:left; }
#mobile-drawer .site-header-item,
#mobile-drawer .main-navigation,
#mobile-drawer .primary-menu-container,
#mobile-drawer .header-navigation { width:100%; }

/* --- La lista de enlaces: columna a ancho completo --- */
#mobile-drawer .menu {
  list-style:none; padding:0; margin:0;
  display:flex !important; flex-direction:column !important; align-items:stretch; gap:16px; width:100%; }
#mobile-drawer .menu > .menu-item { width:100%; margin:0; }

/* --- Cada enlace: serif grande, ancho completo, texto izq + "→" der --- */
#mobile-drawer .menu > .menu-item > a {
  font-family:var(--cm-font-serif); font-size:clamp(34px,9vw,54px); font-weight:400;
  line-height:1.0; letter-spacing:-0.018em; color:var(--cm-cream);
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:4px 0; border-bottom:1px solid rgba(251,251,249,0.08);
  text-decoration:none;
  opacity:0; transform:translateY(28px);
  transition:opacity .8s cubic-bezier(0.16,1,0.3,1), transform .8s cubic-bezier(0.16,1,0.3,1), color .2s; }
/* "→" al final, oculto hasta el hover */
#mobile-drawer .menu > .menu-item > a::after {
  content:"→"; font-family:var(--cm-font-sans); font-size:18px; font-weight:400;
  color:var(--cm-gray-500); opacity:0; transform:translateX(-6px);
  transition:opacity .25s, transform .3s cubic-bezier(0.16,1,0.3,1), color .2s; }
#mobile-drawer .menu > .menu-item > a:hover::after { opacity:1; transform:translateX(0); color:var(--cm-cream); }
/* enlace activo: punto • en vez de flecha */
#mobile-drawer .menu > .menu-item.current-menu-item > a::after { content:"\2022"; opacity:1; transform:none; color:var(--cm-cream); font-size:22px; }

/* --- Entrada escalonada al abrir (igual a la referencia) --- */
#mobile-drawer.show-drawer .menu > .menu-item > a { opacity:1; transform:translateY(0); }
#mobile-drawer.show-drawer .menu > .menu-item:nth-child(1) > a { transition-delay:.22s; }
#mobile-drawer.show-drawer .menu > .menu-item:nth-child(2) > a { transition-delay:.30s; }
#mobile-drawer.show-drawer .menu > .menu-item:nth-child(3) > a { transition-delay:.38s; }
#mobile-drawer.show-drawer .menu > .menu-item:nth-child(4) > a { transition-delay:.46s; }
#mobile-drawer.show-drawer .menu > .menu-item:nth-child(5) > a { transition-delay:.54s; }

/* En escritorio (>900px) ocultamos el toggle y el drawer */
@media (min-width:901px) {
  #mobile-toggle, #mobile-drawer { display:none !important; }
}
