/*
 * BuenTheme — header.css
 * Cabecera modular (zonas, scroll, logo). Se carga en todo el sitio y en el editor.
 * Extraído de style.css en 2.6.148. No se borró ninguna regla.
 */

/* ==========================================================================
   SISTEMA DE CABECERAS MODULARES FSE (TOP, MAIN, BOTTOM ROWS)
   Sprint 1: estados scrolled/shrunk/hidden + altura
   Sprint 2: glass/blur, sticky por device, logo dual, colores por estado
   ========================================================================== */

html {
    scroll-padding-top: var(--buentheme-header-offset, 0px);
}

.buentheme-header-wrapper {
    position: relative !important;
    z-index: 100 !important;
    --buentheme-header-transition-ms: 300ms;
    --buentheme-header-logo-scale: 1;
    --buentheme-header-shrink-padding: 12px;
    --buentheme-header-blur: 12px;
    transition:
        background-color var(--buentheme-header-transition-ms, 300ms) ease,
        box-shadow var(--buentheme-header-transition-ms, 300ms) ease,
        padding var(--buentheme-header-transition-ms, 300ms) ease,
        transform var(--buentheme-header-transition-ms, 300ms) cubic-bezier(0.16, 1, 0.3, 1),
        border-color var(--buentheme-header-transition-ms, 300ms) ease,
        color var(--buentheme-header-transition-ms, 300ms) ease;
    width: 100%;
    /* NUNCA will-change:transform ni backdrop-filter en este nodo:
       crean containing-block y atrapan el overlay fixed del menú móvil. */
}

/*
 * Cuando el menú modal está abierto, liberar containing-block del header
 * (CSS puro, sin depender de navigation.js ni body.buentheme-nav-open).
 */
.buentheme-header-wrapper:has(.wp-block-navigation__responsive-container.is-menu-open),
.buentheme-header-wrapper:has(.wp-block-navigation.has-modal-open),
.buentheme-header-wrapper:has(.wp-block-navigation-overlay.is-menu-open) {
    transform: none !important;
    will-change: auto !important;
    filter: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    perspective: none !important;
    contain: none !important;
    pointer-events: auto !important;
    overflow: visible !important;
    /* sticky/fixed en el wrapper también puede interferir con el modal */
    position: relative !important;
    top: auto !important;
}

/* --- Sprint 2: colores de primer plano por estado --- */
.buentheme-header-wrapper.has-header-fg-default,
.buentheme-header-wrapper.has-header-fg-scrolled {
    color: var(--buentheme-header-fg, inherit);
}

.buentheme-header-wrapper.has-header-fg-default a:not(.wp-element-button):not(.wp-block-button__link),
.buentheme-header-wrapper.has-header-fg-scrolled a:not(.wp-element-button):not(.wp-block-button__link),
.buentheme-header-wrapper.has-header-fg-default .wp-block-navigation-item__content,
.buentheme-header-wrapper.has-header-fg-scrolled .wp-block-navigation-item__content,
.buentheme-header-wrapper.has-header-fg-default .wp-block-site-title a,
.buentheme-header-wrapper.has-header-fg-scrolled .wp-block-site-title a,
.buentheme-header-wrapper.has-header-fg-default .buentheme-menu-block a,
.buentheme-header-wrapper.has-header-fg-scrolled .buentheme-menu-block a {
    color: var(--buentheme-header-fg, inherit);
}

.buentheme-header-wrapper.has-header-fg-default .wp-block-navigation__responsive-container-open,
.buentheme-header-wrapper.has-header-fg-scrolled .wp-block-navigation__responsive-container-open,
.buentheme-header-wrapper.has-header-fg-default .wp-block-navigation__responsive-container-open svg,
.buentheme-header-wrapper.has-header-fg-scrolled .wp-block-navigation__responsive-container-open svg {
    color: var(--buentheme-header-fg, inherit);
    fill: var(--buentheme-header-fg, inherit);
    --buentheme-hamburger-color: var(--buentheme-header-fg, inherit);
}

/* Scrolled scheme override (cuando hay fg_scrolled) */
.buentheme-header-wrapper.has-header-fg-scrolled.is-header-scrolled,
.buentheme-header-wrapper.has-header-fg-scrolled.is-header-scrolled-visual {
    --buentheme-header-fg: var(--buentheme-header-fg-scrolled);
}

/*
 * Sprint 2: glass / blur en ::before (NO en el wrapper).
 * backdrop-filter en el wrapper atrapa position:fixed del menú.
 */
.buentheme-header-wrapper.has-header-blur.is-style-transparent-header:not(.is-header-scrolled):not(.is-header-scrolled-visual)::before,
.buentheme-header-wrapper.has-header-blur.is-header-scrolled::before,
.buentheme-header-wrapper.has-header-blur.is-header-scrolled-visual::before,
.buentheme-header-wrapper.has-header-blur.is-sticky-active::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    -webkit-backdrop-filter: blur(var(--buentheme-header-blur, 12px)) saturate(1.2);
    backdrop-filter: blur(var(--buentheme-header-blur, 12px)) saturate(1.2);
}
.buentheme-header-wrapper.has-header-blur > * {
    position: relative;
    z-index: 1;
}
/* Sin blur del pseudo mientras el menú modal está abierto */
.buentheme-header-wrapper.has-header-blur:has(.wp-block-navigation__responsive-container.is-menu-open)::before,
.buentheme-header-wrapper.has-header-blur:has(.wp-block-navigation.has-modal-open)::before {
    display: none !important;
}

/*
 * Site Logo en cabeceras: sin aire fantasma.
 * - figure / a / img con margin+padding 0 (ajustables por CSS vars).
 * - Solo el logo default está en flujo; variantes duales SIEMPRE absolute
 *   (si no, al fijar ancho con .has-logo-width las 2–3 imgs suman altura).
 * - No usar transform:scale para el tamaño base (no reduce la caja de layout).
 */
.buentheme-header-wrapper .wp-block-site-logo,
.buentheme-header-wrapper .wp-block-site-logo.wp-block-site-logo,
.buentheme-header-wrapper figure.wp-block-site-logo,
.buentheme-header-wrapper .buentheme-bar-logo,
.buentheme-header-wrapper .buentheme-drawer-brand__logo {
    display: block !important;
    margin: var(--buentheme-header-logo-margin-y, 0px) 0 !important;
    padding: var(--buentheme-header-logo-padding-y, 0px) 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    width: fit-content !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    box-sizing: border-box !important;
    visibility: visible !important;
    overflow: visible !important;
}

.buentheme-header-wrapper .custom-logo-link,
.buentheme-header-wrapper .wp-block-site-logo a,
.buentheme-header-wrapper .buentheme-bar-logo a,
.buentheme-header-wrapper .buentheme-drawer-brand__logo a {
    position: relative !important;
    display: block !important; /* no flex: evita min-height de line-box */
    align-items: initial !important;
    justify-content: initial !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
    border: none !important;
    width: fit-content !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    visibility: visible !important;
    text-decoration: none !important;
    overflow: visible !important;
}

/* Solo el logo en flujo (default). Excluir duales. */
.buentheme-header-wrapper .wp-block-site-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper .custom-logo-link img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper .buentheme-logo-default,
.buentheme-header-wrapper .buentheme-bar-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper .buentheme-drawer-brand__logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled) {
    display: block !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    vertical-align: top;
    line-height: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 100%;
    height: auto !important;
    /* Anula width/height HTML del adjunto (p. ej. 2000×800) que inflan la fila */
    width: auto;
    box-sizing: border-box !important;
}

/*
 * Dual logo: superpuestas al default. Especificidad alta para ganar a
 * `.has-logo-width`, barra y drawer (antes volvían al flujo y sumaban altura).
 * Nunca contribuyen a la altura de la Disposición de la fila.
 */
.buentheme-header-wrapper img.buentheme-logo-transparent,
.buentheme-header-wrapper img.buentheme-logo-scrolled,
.buentheme-header-wrapper .custom-logo.buentheme-logo-transparent,
.buentheme-header-wrapper .custom-logo.buentheme-logo-scrolled,
.buentheme-header-wrapper.has-logo-width img.buentheme-logo-transparent,
.buentheme-header-wrapper.has-logo-width img.buentheme-logo-scrolled,
.buentheme-header-wrapper.has-logo-width .custom-logo.buentheme-logo-transparent,
.buentheme-header-wrapper.has-logo-width .custom-logo.buentheme-logo-scrolled,
.buentheme-header-wrapper.is-header-shrunk img.buentheme-logo-transparent,
.buentheme-header-wrapper.is-header-shrunk img.buentheme-logo-scrolled,
.buentheme-header-wrapper .buentheme-bar-logo img.buentheme-logo-transparent,
.buentheme-header-wrapper .buentheme-bar-logo img.buentheme-logo-scrolled,
.buentheme-header-wrapper .buentheme-bar-logo .custom-logo.buentheme-logo-transparent,
.buentheme-header-wrapper .buentheme-bar-logo .custom-logo.buentheme-logo-scrolled,
.buentheme-header-wrapper .buentheme-drawer-brand__logo img.buentheme-logo-transparent,
.buentheme-header-wrapper .buentheme-drawer-brand__logo img.buentheme-logo-scrolled,
.buentheme-header-wrapper .buentheme-drawer-brand__logo .custom-logo.buentheme-logo-transparent,
.buentheme-header-wrapper .buentheme-drawer-brand__logo .custom-logo.buentheme-logo-scrolled {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    pointer-events: none !important;
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    z-index: 1 !important;
    transform: none !important;
    /* Fuera del cálculo de altura de flex/grid */
    flex: none !important;
    align-self: auto !important;
}

/* Estado transparente (hero): muestra variante, oculta default solo visualmente */
.buentheme-header-wrapper.has-logo-transparent.is-style-transparent-header:not(.is-header-scrolled):not(.is-header-scrolled-visual) .buentheme-logo-default {
    opacity: 0 !important;
    /* sigue ocupando espacio → la fila no colapsa */
}
.buentheme-header-wrapper.has-logo-transparent.is-style-transparent-header:not(.is-header-scrolled):not(.is-header-scrolled-visual) img.buentheme-logo-transparent {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Estado scrolled: muestra logo scrolled encima */
.buentheme-header-wrapper.has-logo-scrolled.is-header-scrolled .buentheme-logo-default,
.buentheme-header-wrapper.has-logo-scrolled.is-header-scrolled-visual .buentheme-logo-default {
    opacity: 0 !important;
}
.buentheme-header-wrapper.has-logo-scrolled.is-header-scrolled img.buentheme-logo-scrolled,
.buentheme-header-wrapper.has-logo-scrolled.is-header-scrolled-visual img.buentheme-logo-scrolled {
    opacity: 1 !important;
    visibility: visible !important;
}
.buentheme-header-wrapper.has-logo-scrolled.is-header-scrolled img.buentheme-logo-transparent,
.buentheme-header-wrapper.has-logo-scrolled.is-header-scrolled-visual img.buentheme-logo-transparent {
    opacity: 0 !important;
    visibility: hidden !important;
}

/* ==========================================================================
   Sprint 3 — Zonas de cabecera (roles de fila)
   .bt-header-zone + data-header-role / data-header-on-scroll
   ========================================================================== */

.buentheme-header-wrapper.has-header-zones {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.buentheme-header-wrapper .bt-header-zone {
    width: 100%;
    transition:
        max-height var(--buentheme-header-transition-ms, 300ms) cubic-bezier(0.16, 1, 0.3, 1),
        opacity var(--buentheme-header-transition-ms, 300ms) ease,
        padding var(--buentheme-header-transition-ms, 300ms) cubic-bezier(0.16, 1, 0.3, 1),
        margin var(--buentheme-header-transition-ms, 300ms) ease,
        border-width var(--buentheme-header-transition-ms, 300ms) ease,
        transform var(--buentheme-header-transition-ms, 300ms) ease;
}

/* Ocultar zona al scrollear (típica top bar) */
.buentheme-header-wrapper .bt-header-on-hide {
    max-height: 240px;
    opacity: 1;
    overflow: hidden;
    /* Contain layout so max-height collapse doesn't thrash sticky spacer / scrollY */
    contain: layout style;
    will-change: max-height, opacity;
}

.buentheme-header-wrapper .bt-header-on-hide.is-zone-hidden {
    max-height: 0 !important;
    opacity: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-top-width: 0 !important;
    border-bottom-width: 0 !important;
    pointer-events: none;
    /* Evitar que el fondo del row “parpadee” al colapsar */
    min-height: 0 !important;
    visibility: hidden;
}

/* Una vez colapsada, no participar en el flujo (evita micro-reflows del spacer) */
.buentheme-header-wrapper .bt-header-on-hide.is-zone-hidden {
    flex-shrink: 0;
}

/* Compactar zona (típica main) */
.buentheme-header-wrapper .bt-header-on-shrink.is-zone-shrunk {
    padding-top: var(--buentheme-header-shrink-padding, 12px) !important;
    padding-bottom: var(--buentheme-header-shrink-padding, 12px) !important;
}

.buentheme-header-wrapper .bt-header-on-shrink.is-zone-shrunk.buentheme-header-main,
.buentheme-header-wrapper .bt-header-role-main.bt-header-on-shrink.is-zone-shrunk {
    padding-top: var(--buentheme-header-shrink-padding, 12px) !important;
    padding-bottom: var(--buentheme-header-shrink-padding, 12px) !important;
}

/* Barra secundaria: oculta hasta scrollear (reveal) */
.buentheme-header-wrapper .bt-header-on-reveal {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-width: 0 !important;
    min-height: 0 !important;
    pointer-events: none;
}

.buentheme-header-wrapper .bt-header-on-reveal.is-zone-revealed {
    max-height: 200px;
    opacity: 1;
    pointer-events: auto;
    /* Restaurar padding del bloque (vars del row o fallback) */
    padding-top: var(--bt-row-pad-t, var(--wp--preset--spacing--20, 12px)) !important;
    padding-bottom: var(--bt-row-pad-b, var(--wp--preset--spacing--20, 12px)) !important;
    border-width: initial;
}

/* Rol sticky-bar: ligero énfasis visual cuando se revela */
.buentheme-header-wrapper .bt-header-role-sticky-bar.is-zone-revealed {
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06);
}

/* Editor: badge de rol en filas de cabecera */
.editor-styles-wrapper .bt-header-zone.is-in-header-editor,
.editor-styles-wrapper .buentheme-row.bt-header-zone {
    outline: 1px dashed transparent;
}

.editor-styles-wrapper .bt-header-zone.bt-header-role-top {
    outline-color: rgba(59, 130, 246, 0.35);
}

.editor-styles-wrapper .bt-header-zone.bt-header-role-main {
    outline-color: rgba(16, 185, 129, 0.4);
}

.editor-styles-wrapper .bt-header-zone.bt-header-role-bottom {
    outline-color: rgba(245, 158, 11, 0.4);
}

.editor-styles-wrapper .bt-header-zone.bt-header-role-sticky-bar {
    outline-color: rgba(168, 85, 247, 0.4);
}

@media (prefers-reduced-motion: reduce) {
    .buentheme-header-wrapper .bt-header-zone {
        transition: none !important;
    }
}

/* --- Sprint 2: sticky por dispositivo --- */
/* Desktop */
@media (min-width: 1025px) {
    .buentheme-header-wrapper.is-position-sticky:not(.sticky-on-desktop),
    .buentheme-header-wrapper.is-position-sticky.is-sticky-device-disabled[data-sticky-device="desktop"] {
        position: relative !important;
        top: auto !important;
    }

    .buentheme-header-wrapper.is-position-sticky:not(.sticky-on-desktop).is-style-transparent-header {
        position: absolute !important;
    }
}

/* Tablet */
@media (min-width: 782px) and (max-width: 1024px) {
    .buentheme-header-wrapper.is-position-sticky:not(.sticky-on-tablet),
    .buentheme-header-wrapper.is-position-sticky.is-sticky-device-disabled[data-sticky-device="tablet"] {
        position: relative !important;
        top: auto !important;
    }

    .buentheme-header-wrapper.is-position-sticky:not(.sticky-on-tablet).is-style-transparent-header {
        position: absolute !important;
    }
}

/* Mobile */
@media (max-width: 781px) {
    .buentheme-header-wrapper.is-position-sticky:not(.sticky-on-mobile),
    .buentheme-header-wrapper.is-position-sticky.is-sticky-device-disabled[data-sticky-device="mobile"] {
        position: relative !important;
        top: auto !important;
    }

    .buentheme-header-wrapper.is-position-sticky:not(.sticky-on-mobile).is-style-transparent-header {
        position: absolute !important;
    }
}

/* Spacer para modo sticky "después del scroll" (position fixed) */
.buentheme-header-spacer {
    display: none;
    width: 100%;
    flex-shrink: 0;
    pointer-events: none;
}

/* Fila Superior (Top Row) */
.buentheme-header-top {
    font-size: 13px;
    padding-top: var(--wp--preset--spacing--10) !important;
    padding-bottom: var(--wp--preset--spacing--10) !important;
    border-bottom: 1px solid var(--wp--preset--color--bg-3) !important;
}

/* Fila Principal (Main Row)
 * Padding vertical por defecto 0: el aire lo controla la Disposición de la fila
 * (--bt-row-pad-*). Antes el fallback 1.5rem se sumaba al padding de la fila
 * y parecía un “margen fantasma” al ajustar el logo.
 */
.buentheme-header-main {
    padding-top: var(--buentheme-header-main-pad-y, 0px);
    padding-bottom: var(--buentheme-header-main-pad-y, 0px);
    padding-left: var(--buentheme-global-padding, 1.25rem);
    padding-right: var(--buentheme-global-padding, 1.25rem);
    box-sizing: border-box;
    transition: padding var(--buentheme-header-transition-ms, 300ms) cubic-bezier(0.16, 1, 0.3, 1);
}

/* Si la main es una fila BuenTheme, el padding vertical es SOLO el de la fila */
.buentheme-header-wrapper .buentheme-header-main.buentheme-row,
.buentheme-header-wrapper .bt-header-role-main.buentheme-row,
.buentheme-header-wrapper .buentheme-header-main.buentheme-row-container,
.buentheme-header-wrapper .bt-header-role-main.buentheme-row-container {
    padding-top: var(--bt-row-pad-t, var(--buentheme-header-main-pad-y, 0px));
    padding-bottom: var(--bt-row-pad-b, var(--buentheme-header-main-pad-y, 0px));
}

/* Aire también en top/bottom del header si usan alignfull sin padding propio */
.buentheme-header-top,
.buentheme-header-bottom {
    padding-left: var(--buentheme-global-padding, 1.25rem);
    padding-right: var(--buentheme-global-padding, 1.25rem);
    box-sizing: border-box;
}

/* Hamburguesa: no pegar al borde del viewport */
.buentheme-header-wrapper .wp-block-navigation__responsive-container-open {
    margin: 0;
    flex-shrink: 0;
}

/*
 * Tamaño de logo (normal + comprimido).
 * - width / max-height reducen la caja real (a diferencia de transform:scale).
 * - Solo aplica al logo en flujo (no a duales absolute).
 */
.buentheme-header-wrapper .wp-block-site-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper .custom-logo-link img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper .buentheme-logo-default,
.buentheme-header-wrapper .buentheme-drawer-brand__logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper .buentheme-bar-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled) {
    height: auto !important;
    max-width: 100%;
    width: auto;
    max-height: var(--buentheme-header-logo-max-height, none);
    object-fit: contain;
    object-position: left center;
    transform: none !important;
    transform-origin: left center;
    transition:
        width var(--buentheme-header-transition-ms, 300ms) cubic-bezier(0.16, 1, 0.3, 1),
        max-width var(--buentheme-header-transition-ms, 300ms) cubic-bezier(0.16, 1, 0.3, 1),
        max-height var(--buentheme-header-transition-ms, 300ms) cubic-bezier(0.16, 1, 0.3, 1);
}

/* Compactar sin ancho fijo: reducir max-width de layout (no transform) */
.buentheme-header-wrapper.is-header-shrunk:not(.has-logo-width):not(.has-logo-width-shrunk) .wp-block-site-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk:not(.has-logo-width):not(.has-logo-width-shrunk) .custom-logo-link img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk:not(.has-logo-width):not(.has-logo-width-shrunk) .buentheme-logo-default,
.buentheme-header-wrapper.is-header-shrunk:not(.has-logo-width):not(.has-logo-width-shrunk) .buentheme-bar-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk:not(.has-logo-width):not(.has-logo-width-shrunk) .buentheme-drawer-brand__logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled) {
    max-width: calc(100% * var(--buentheme-header-logo-scale-shrunk, 0.85)) !important;
    width: auto !important;
}

/* Ancho normal (meta «Ancho del logotipo») — solo default en flujo */
.buentheme-header-wrapper.has-logo-width .wp-block-site-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.has-logo-width .custom-logo-link img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.has-logo-width .buentheme-logo-default,
.buentheme-header-wrapper.has-logo-width .buentheme-drawer-brand__logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.has-logo-width .buentheme-bar-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper[style*="--buentheme-header-logo-width"] .wp-block-site-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper[style*="--buentheme-header-logo-width"] .custom-logo-link img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper[style*="--buentheme-header-logo-width"] .buentheme-logo-default,
.buentheme-header-wrapper[style*="--buentheme-header-logo-width"] .buentheme-drawer-brand__logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper[style*="--buentheme-header-logo-width"] .buentheme-bar-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled) {
    width: var(--buentheme-header-logo-width) !important;
    max-width: min(100%, var(--buentheme-header-logo-width)) !important;
    height: auto !important;
    /* Keep a height cap when width is set — max-height:none made 160→150 grow (drawer/bar were 80px). */
    max-height: var(--buentheme-header-logo-max-height, 80px) !important;
}

/* También el wrapper del site-logo (algunos temas limitan el figure) */
.buentheme-header-wrapper.has-logo-width .wp-block-site-logo,
.buentheme-header-wrapper.has-logo-width .custom-logo-link,
.buentheme-header-wrapper[style*="--buentheme-header-logo-width"] .wp-block-site-logo,
.buentheme-header-wrapper[style*="--buentheme-header-logo-width"] .custom-logo-link {
    width: fit-content !important;
    max-width: min(100%, var(--buentheme-header-logo-width)) !important;
    height: auto !important;
    min-height: 0 !important;
}

/* Ancho al compactar / scroll — solo default en flujo */
.buentheme-header-wrapper.is-header-shrunk.has-logo-width-shrunk .wp-block-site-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk.has-logo-width-shrunk .custom-logo-link img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk.has-logo-width-shrunk .buentheme-logo-default,
.buentheme-header-wrapper.is-header-shrunk.has-logo-width-shrunk .buentheme-drawer-brand__logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk.has-logo-width-shrunk .buentheme-bar-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk[style*="--buentheme-header-logo-width-shrunk"] .wp-block-site-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk[style*="--buentheme-header-logo-width-shrunk"] .custom-logo-link img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk[style*="--buentheme-header-logo-width-shrunk"] .buentheme-logo-default,
.buentheme-header-wrapper.is-header-shrunk[style*="--buentheme-header-logo-width-shrunk"] .buentheme-drawer-brand__logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk[style*="--buentheme-header-logo-width-shrunk"] .buentheme-bar-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled) {
    width: var(--buentheme-header-logo-width-shrunk) !important;
    max-width: min(100%, var(--buentheme-header-logo-width-shrunk)) !important;
    height: auto !important;
    max-height: var(--buentheme-header-logo-max-height, 80px) !important;
}

.buentheme-header-wrapper.is-header-shrunk.has-logo-width-shrunk .wp-block-site-logo,
.buentheme-header-wrapper.is-header-shrunk.has-logo-width-shrunk .custom-logo-link,
.buentheme-header-wrapper.is-header-shrunk[style*="--buentheme-header-logo-width-shrunk"] .wp-block-site-logo,
.buentheme-header-wrapper.is-header-shrunk[style*="--buentheme-header-logo-width-shrunk"] .custom-logo-link {
    max-width: min(100%, var(--buentheme-header-logo-width-shrunk)) !important;
    height: auto !important;
    min-height: 0 !important;
}

/* Si hay ancho normal pero no comprimido, al shrink mantener el normal */
.buentheme-header-wrapper.is-header-shrunk.has-logo-width:not(.has-logo-width-shrunk) .wp-block-site-logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk.has-logo-width:not(.has-logo-width-shrunk) .custom-logo-link img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled),
.buentheme-header-wrapper.is-header-shrunk.has-logo-width:not(.has-logo-width-shrunk) .buentheme-logo-default,
.buentheme-header-wrapper.is-header-shrunk.has-logo-width:not(.has-logo-width-shrunk) .buentheme-drawer-brand__logo img:not(.buentheme-logo-transparent):not(.buentheme-logo-scrolled) {
    width: var(--buentheme-header-logo-width) !important;
    max-width: min(100%, var(--buentheme-header-logo-width)) !important;
}

/* Filas de cabecera: no forzar min-height por stretch del logo */
.buentheme-header-wrapper .buentheme-row,
.buentheme-header-wrapper .buentheme-row-container,
.buentheme-header-wrapper .bt-header-zone {
    min-height: 0;
}
.buentheme-header-wrapper .buentheme-row__grid > .buentheme-dynamic-section,
.buentheme-header-wrapper .buentheme-row-layout > .buentheme-dynamic-section {
    min-height: 0;
    align-self: center;
}

/*
 * Contenedor del logo: altura = solo el img default.
 * Evita que gap/flex de la sección o line-box “fantasma” sumen aire vertical.
 */
.buentheme-header-wrapper .wp-block-site-logo,
.buentheme-header-wrapper .buentheme-bar-logo,
.buentheme-header-wrapper .buentheme-drawer-brand__logo {
    align-self: center;
}
.buentheme-header-wrapper .wp-block-site-logo .custom-logo-link,
.buentheme-header-wrapper .buentheme-bar-logo .custom-logo-link,
.buentheme-header-wrapper .buentheme-drawer-brand__logo .custom-logo-link {
    /* relative ya definido arriba; anclar duales aquí */
    isolation: isolate;
}

.buentheme-header-wrapper .buentheme-header-branding {
    transition: gap var(--buentheme-header-transition-ms, 300ms) ease;
}

.buentheme-header-branding {
    align-items: center;
    gap: 12px;
}

.buentheme-header-navigation-actions {
    align-items: center;
    gap: 20px;
}
