/**
 * @file header.css
 * Header responsivo com hamburger — NERUDS-GUI
 */

/* ── Base ──────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1020;
  background: rgba(250,249,246,.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(46,70,50,.12);
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

@media (prefers-color-scheme: dark) {
  .site-header { background: rgba(26,40,24,.96); }
}

.site-header__inner {
  display: flex;
  align-items: center;
  min-height: var(--header-height, 80px);
  gap: 1.5rem;
}

@media (max-width: 1200px) {
  .site-header__inner { gap: 0.75rem; }
}


/* ── Brand ─────────────────────────────────────────── */
.site-header__brand { flex-shrink: 0; }
.site-header__brand .site-branding__inner { display:flex; align-items:center; gap:.75rem; }
.site-header__brand .site-branding__logo img { height:44px; width:auto; }
.site-header__brand .site-branding__name a {
  font-family: var(--font-serif,'Georgia',serif);
  font-size: 1.125rem; font-weight:700;
  color: var(--color-babasu,#2E4632);
  text-decoration: none; white-space:nowrap;
}

/* ── Primary Nav ───────────────────────────────────── */
.primary-nav { flex:1; display:flex; align-items:center; justify-content:center; }

/* Override Olivero's nav classes — force horizontal row ONLY AT TOP LEVEL */
.primary-nav > ul,
.primary-nav > .menu,
.primary-nav > .primary-nav__menu,
.primary-nav > .primary-nav__menu--level-1 {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:0 !important;
  list-style:none; margin:0; padding:0;
}

/* Reset Olivero menu item margins */
.primary-nav li {
  margin: 0 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  position: relative; /* Context for dropdowns */
}

/* Submenu Dropdowns (Level 2+) */
.primary-nav li > ul,
.primary-nav li > .menu {
  display: none !important; /* Hide by default */
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--color-white, #FAF9F6);
  min-width: 220px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0.5rem 0;
  border-radius: 0.5rem;
  z-index: 50;
  list-style: none;
  margin: 0;
}

/* Show submenu on hover/focus */
.primary-nav li:hover > ul,
.primary-nav li:hover > .menu,
.primary-nav li:focus-within > ul,
.primary-nav li:focus-within > .menu {
  display: flex !important;
}

/* Adjust submenu links */
.primary-nav li > ul a,
.primary-nav li > .menu a {
  padding: 0.5rem 1.25rem !important;
  width: 100%;
  border-radius: 0;
  display: block !important;
  font-weight: 500 !important;
}
.primary-nav li > ul a::after,
.primary-nav li > .menu a::after {
  display: none !important; /* Removes the underline animation on dropdown links */
}
/* Reset Olivero's 1.75rem font-size on menu links */
.primary-nav .primary-nav__menu-link,
.primary-nav a {
  display:inline-flex !important; align-items:center;
  padding:.5rem .75rem !important;
  color: var(--color-babasu,#2E4632) !important;
  font-size:.875rem !important; font-weight:600 !important;
  text-decoration:none !important; white-space:nowrap;
  border-radius:.5rem;
  line-height:1.2 !important;
  position:relative;
  transition:color 200ms ease, background 200ms ease;
}

@media (max-width: 1100px) {
  .primary-nav .primary-nav__menu-link,
  .primary-nav a {
    padding: .5rem .5rem !important;
    font-size: .8rem !important;
  }
}

.primary-nav a::after {
  content:''; position:absolute;
  bottom:2px; left:.75rem; right:.75rem; height:2px;
  background: var(--color-palha,#E1C16E);
  border-radius:1px; transform:scaleX(0);
  transition:transform 200ms ease;
}
.primary-nav a:hover,
.primary-nav a:focus-visible { color:var(--color-barro,#A0522D); background:rgba(46,70,50,.07); outline:none; }
.primary-nav a:hover::after,
.primary-nav a.is-active::after { transform:scaleX(1); }
.primary-nav a.is-active { color:var(--color-barro,#A0522D); font-weight:700; }

/* ── Search trigger in header ──────────────────────── */
.site-header__search { flex-shrink:0; display:flex; align-items:center; }

/* ── Secondary actions ─────────────────────────────── */
.site-header__actions { flex-shrink:0; display:flex; align-items:center; gap:.5rem; }
.site-header__actions .menu { display:flex; align-items:center; list-style:none; margin:0; padding:0; gap:.25rem; }
.site-header__actions a {
  color:var(--color-babasu,#2E4632); text-decoration:none;
  font-size:.875rem; padding:.25rem .5rem; border-radius:.25rem;
  transition:background 200ms ease;
}
.site-header__actions a:hover { background:rgba(46,70,50,.08); }

/* Hide old Drupal search blocks — replaced by .site-header__search overlay trigger */
.site-header__actions .search-block-form,
.site-header__actions .block-search,
.site-header__actions [id*="search-form"],
.site-header__actions [class*="search-form"] { display:none !important; }

/* ── Hamburger ─────────────────────────────────────── */
.nav-toggle {
  display:none;
  flex-direction:column; justify-content:center; align-items:center; gap:5px;
  width:44px; height:44px; flex-shrink:0;
  background:transparent; border:1px solid rgba(46,70,50,.2);
  border-radius:.5rem; cursor:pointer; padding:8px; margin-left:auto;
  transition:background 200ms ease, border-color 200ms ease;
}
.nav-toggle:hover { background:rgba(46,70,50,.08); border-color:var(--color-babasu,#2E4632); }
.nav-toggle:focus-visible { outline:2px solid var(--color-barro,#A0522D); outline-offset:2px; }
.nav-toggle__bar {
  display:block; width:22px; height:2px;
  background:var(--color-babasu,#2E4632); border-radius:2px;
  transform-origin:center;
  transition:transform 250ms ease, opacity 200ms ease;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ── MOBILE ≤ 900px ────────────────────────────────── */
@media (max-width:900px) {
  .site-header__inner { flex-wrap:wrap; padding-top:.75rem; padding-bottom:.75rem; gap:.5rem; }
  /* Push search+toggle together to the right — only search gets margin-left:auto */
  .site-header__search { order:2; margin-left:auto; display:flex; align-items:center; }
  .nav-toggle { display:flex; order:3; margin-left:0; }
  .site-header__actions { display:none; }

  .primary-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(250,249,246,.98);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(46,70,50,.1);
    box-shadow: 0 8px 16px rgba(0,0,0,.08);
    justify-content: flex-start;
    max-height: 0; overflow: hidden; opacity: 0; pointer-events: none;
    transition: max-height 350ms cubic-bezier(.4,0,.2,1), opacity 300ms ease, padding 300ms ease;
  }
  @media (prefers-color-scheme: dark) {
    .primary-nav { background: rgba(26,40,24,.98); }
  }
  .primary-nav[data-state="open"] {
    max-height: 80vh; opacity: 1; pointer-events: all;
    padding: .75rem 0 1.5rem;
    overflow-y: auto;
  }
  .primary-nav .primary-nav__menu,
  .primary-nav .menu,
  .primary-nav > ul,
  .primary-nav li > ul {
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    gap:0 !important; width:100%;
    position: static !important;
    display: flex !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .primary-nav li > ul {
    padding-left: 1rem !important;
  }
  .primary-nav .primary-nav__menu-item,
  .primary-nav .menu__item,
  .primary-nav li { width:100% !important; flex:0 0 100% !important; }
  .primary-nav .primary-nav__menu-link,
  .primary-nav a {
    display:flex !important; width:100% !important;
    padding:.75rem 1rem !important; font-size:1rem !important;
    border-radius:0 !important; border-bottom:1px solid rgba(46,70,50,.07);
    transition:background 150ms ease, padding-left 150ms ease;
  }
  .primary-nav a::after { display:none !important; }
  .primary-nav a:hover { background:rgba(46,70,50,.07) !important; padding-left:1.25rem !important; }
  /* Hide Olivero sub-menu toggle button on mobile */
  .primary-nav .primary-nav__menu-link--button { display:none !important; }
}

@media (max-width:480px) {
  .site-header__brand .site-branding__name { display:none; }
}

/* ── Breadcrumb bar ────────────────────────────────── */
.breadcrumb-bar {
  background:var(--color-gray-50,#F9FAFB);
  border-bottom:1px solid var(--color-gray-200,#E5E7EB);
  padding:.5rem 0;
}
.breadcrumb-bar nav { display:block; }
.breadcrumb-bar .breadcrumb,
.breadcrumb-bar ol,
.breadcrumb-bar ul {
  display:flex; flex-wrap:wrap; gap:.5rem;
  align-items:center; list-style:none; margin:0; padding:0;
  font-size:.875rem; color:var(--color-gray-500,#6B7280);
}
.breadcrumb-bar li:not(:last-child)::after { content:'›'; margin-left:.5rem; color:var(--color-gray-400,#9CA3AF); }
.breadcrumb-bar a { color:var(--color-babasu,#2E4632); text-decoration:none; }
.breadcrumb-bar a:hover { text-decoration:underline; }
