/* Submenu "Produtos" do site (landing index.php e header.php das páginas internas).
   Abre no hover/foco no desktop e no clique (touch/teclado). No header.php em
   celular, os itens ficam abertos em lista, dentro do menu de tela cheia. */

.nav-drop { position: relative; }
.nav-drop-btn { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.nav-drop-btn .nav-drop-caret { font-size: 10px; transition: transform .2s; }
.nav-drop.open .nav-drop-caret, .nav-drop:hover .nav-drop-caret { transform: rotate(180deg); }

.nav-drop-menu {
    position: absolute; top: calc(100% + 10px); left: 50%; transform: translate(-50%, 6px);
    min-width: 290px; padding: 8px; border-radius: 16px; z-index: 60;
    background: #fff; border: 1px solid #e6e9ef; box-shadow: 0 18px 40px -18px rgba(15,23,42,.35);
    opacity: 0; visibility: hidden; transition: opacity .18s, transform .18s, visibility .18s;
}
/* ponte invisível entre o botão e o menu, pra não fechar ao mover o mouse */
.nav-drop-menu::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.nav-drop:hover .nav-drop-menu, .nav-drop.open .nav-drop-menu, .nav-drop:focus-within .nav-drop-menu {
    opacity: 1; visibility: visible; transform: translate(-50%, 0);
}

.nav-drop-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 11px; text-decoration: none; color: #0f172a; transition: background .12s; }
.nav-drop-item:hover, .nav-drop-item:focus-visible { background: rgba(234,179,8,.12); outline: none; }
.nav-drop-ico { width: 36px; height: 36px; border-radius: 10px; flex: none; display: flex; align-items: center; justify-content: center; background: rgba(234,179,8,.16); color: #b45309; font-size: 15px; }
.nav-drop-txt { display: flex; flex-direction: column; line-height: 1.2; text-align: left; }
.nav-drop-txt b { font-size: 14px; font-weight: 700; color: #0f172a; }
.nav-drop-txt small { font-size: 12px; font-weight: 500; color: #64748b; margin-top: 2px; }

/* tema escuro da landing (classe .dark no <html>) */
.dark .nav-drop-menu { background: #0f1422; border-color: rgba(255,255,255,.1); }
.dark .nav-drop-item { color: #fff; }
.dark .nav-drop-txt b { color: #fff; }
.dark .nav-drop-txt small { color: #94a3b8; }
.dark .nav-drop-item:hover, .dark .nav-drop-item:focus-visible { background: rgba(255,255,255,.06); }

/* landing: submenu dentro do painel mobile (lista simples, indentada) */
.nav-mob-grupo { padding: 10px 12px 4px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #b45309; }
.dark .nav-mob-grupo { color: #EAB308; }
.nav-mob-sub { padding-left: 24px !important; }

/* header.php (páginas internas): o botão se veste de .nav-link */
.navbar-rise .nav-drop-btn { font-weight: 600; color: rgba(255,255,255,.95); padding: .5rem 0; }
.navbar-rise .nav-drop-btn:hover { color: var(--rise-gold, #EAB308); }
@media (max-width: 768px) {
    .navbar-rise .nav-drop { width: 100%; }
    .navbar-rise .nav-drop-btn { color: var(--rise-dark, #101828); width: 100%; padding: .75rem 0; border-bottom: 1px solid var(--rise-light-gray, #e5e7eb); }
    .navbar-rise .nav-drop-menu { position: static; transform: none; opacity: 1; visibility: visible; box-shadow: none; border: 0; padding: 4px 0 4px 12px; min-width: 0; background: transparent; }
    .navbar-rise .nav-drop-caret { display: none; }
}

/* marca no cabeçalho escuro: logo invertida (como a home no dark) e nome branco */
.navbar-rise .logo { filter: invert(1) drop-shadow(0 0 8px rgba(234,179,8,.6)) !important; }
.navbar-rise.mobile-open .logo { filter: drop-shadow(0 0 8px rgba(234,179,8,.6)) !important; }
.nav-brand-nome { font-weight: 800; font-size: 1.05rem; color: #fff; }
.nav-brand-nome span { color: #EAB308; }
.navbar-rise.mobile-open .nav-brand-nome { color: #101828; }
