/* modules/Header/frontend/assets/header.css
 * Geometría de la barra superior. Cero look de identidad (color, fondo, sticky, blur):
 * eso lo pone el tema activo (.lcl-container.theme-<slug> .lcl-header ...).
 *
 * Regla CLAUDE.md §5: el módulo no almacena diseño. Aplicación: solo layout.
 */

.lcl-container .lcl-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  max-width: var(--container-wide);
  margin-inline: auto;
  padding: var(--space-3) var(--space-5);
}

.lcl-container .lcl-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

/* El logo se acota a una altura fija (un reset global de img con height:auto pisaría el atributo
   height del markup, dejándolo a tamaño natural). width:auto preserva la proporción. */
.lcl-container .lcl-header__brand img {
  height: 38px;
  width: auto;
  display: block;
}

.lcl-container .lcl-header__nav {
  display: flex;
  align-items: center;
  gap: var(--space-5);
}

/* ─── Menú móvil ───
   Geometría (rule §5): el color/fondo del drawer los pone el tema. En desktop el botón se oculta y
   el nav/acciones van inline; bajo el breakpoint colapsan en un panel apilado que abre el toggle. */
.lcl-container .lcl-header__toggle { display: none; }

@media (max-width: 820px) {
  .lcl-container .lcl-header__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  /* Hamburguesa: 3 barras con currentColor. Al abrir → X. */
  .lcl-container .lcl-header__toggle-bars,
  .lcl-container .lcl-header__toggle-bars::before,
  .lcl-container .lcl-header__toggle-bars::after {
    content: "";
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transition: transform .2s ease, opacity .2s ease, background .2s ease;
  }
  .lcl-container .lcl-header__toggle-bars { position: relative; }
  .lcl-container .lcl-header__toggle-bars::before { position: absolute; top: -7px; }
  .lcl-container .lcl-header__toggle-bars::after  { position: absolute; top: 7px; }

  .lcl-container .lcl-header.is-open .lcl-header__toggle-bars { background: transparent; }
  .lcl-container .lcl-header.is-open .lcl-header__toggle-bars::before { transform: translateY(7px) rotate(45deg); }
  .lcl-container .lcl-header.is-open .lcl-header__toggle-bars::after  { transform: translateY(-7px) rotate(-45deg); }

  /* El inner permite que nav/acciones bajen a filas completas al abrir. */
  .lcl-container .lcl-header__inner { flex-wrap: wrap; }

  /* Colapsados hasta abrir. :not(.is-open) sube la especificidad para ganarle a la regla de
     display que el tema pone sobre las acciones (§5: el módulo no nombra ningún tema). */
  .lcl-container .lcl-header:not(.is-open) .lcl-header__nav,
  .lcl-container .lcl-header:not(.is-open) .lcl-header__actions {
    display: none;
  }
  .lcl-container .lcl-header.is-open .lcl-header__nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    order: 3;
    width: 100%;
    padding-top: var(--space-4);
  }
  .lcl-container .lcl-header.is-open .lcl-header__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
    order: 4;
    width: 100%;
    padding-bottom: var(--space-2);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lcl-container .lcl-header__toggle-bars,
  .lcl-container .lcl-header__toggle-bars::before,
  .lcl-container .lcl-header__toggle-bars::after { transition: none; }
}
