/* ============================================================
   Solo — Dropdown de "Catálogos" (desktop hover + mobile accordion)
   Carregado no site inteiro: vale para o header Solo hand-coded
   (templates *-solo.php) e para o header injetado nas páginas
   Elementor (blog + categorias) via solo-shell.
   ============================================================ */

body.menu-open { overflow: hidden; }

/* ---------- Desktop ---------- */
.nav .nav-item-has-children {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 80px;
}
.nav .nav-item-has-children > a { display: inline-flex; align-items: center; }

.nav-caret {
  display: inline-block;
  margin-left: 6px;
  font-size: 9px;
  line-height: 1;
  transition: transform .25s var(--ease, ease);
}
.nav .nav-item-has-children:hover .nav-caret,
.nav .nav-item-has-children:focus-within .nav-caret { transform: rotate(180deg); }

.nav-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 232px;
  background: var(--solo-basalto, #2F2E2C);
  padding: 8px 0;
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .22s var(--ease, ease), transform .22s var(--ease, ease), visibility .22s;
  z-index: 120;
}
.nav .nav-item-has-children:hover .nav-dropdown,
.nav .nav-item-has-children:focus-within .nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav-dropdown a {
  padding: 11px 22px;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--solo-calcario, #E7DED2) !important;
  white-space: nowrap;
  text-decoration: none;
  position: static;
  transition: background .15s, color .15s;
}
.nav-dropdown a::after { display: none !important; }
.nav-dropdown a:hover {
  background: rgba(var(--solo-calcario-rgb, 231,222,210), .08);
  color: var(--solo-ocre, #EBA253) !important;
}

/* ---------- Mobile accordion ---------- */
.mobile-menu-nav .mobile-has-sub {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
.mobile-menu-nav .mobile-has-sub .nav-caret { font-size: 13px; margin-left: auto; }
.mobile-menu-nav .mobile-has-sub.open .nav-caret { transform: rotate(180deg); }

.mobile-submenu { display: flex; flex-direction: column; }
.mobile-submenu[hidden] { display: none; }
.mobile-submenu a {
  display: block;
  padding: 14px 0 14px 16px;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .03em;
  text-transform: none;
  color: rgba(var(--solo-calcario-rgb, 231,222,210), .85) !important;
  border-bottom: 1px solid rgba(var(--solo-calcario-rgb, 231,222,210), .06);
  text-decoration: none;
}
.mobile-submenu a:hover { color: var(--solo-ocre, #EBA253) !important; }

/* ---------- Card "Em breve" (recurso ainda sem conteúdo) ---------- */
.download-card.is-soon { opacity: .5; cursor: default; pointer-events: none; }
.download-card.is-soon .soon-badge {
  display: inline-block; margin-top: 10px;
  font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--solo-terracota, #8F3B14);
  border: 1px solid var(--solo-terracota, #8F3B14);
  border-radius: 2px; padding: 2px 8px;
}
