/* menu desktop */
.nav-menu { display: flex; align-items: center; list-style: none; gap: 2px; }
.nav-menu li a {
  font-family: var(--f2); font-size: 13px; font-weight: 500;
  color: var(--nevoa); text-decoration: none;
  padding: 7px 10px; border-radius: 4px;
  transition: color .15s, background .15s; white-space: nowrap;
}
.nav-menu li a:hover { color: #fff; background: rgba(255,255,255,.08); }
.dd { position: relative; }
.dd > a::after { content: ' ▾'; font-size: 9px; opacity: .6; }



/* ── dropdown ── */
.dropdown {
  display: none;
  position: absolute; top: calc(100% + 8px); left: 0;
  background: var(--azul);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  min-width: 220px;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  overflow: hidden;
  z-index: 300;
  padding: 6px 0;
}
.dropdown li { list-style: none; }
.dropdown li a {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--f2); font-size: 13px; font-weight: 500;
  color: var(--nevoa) !important; text-decoration: none; 
  padding: 10px 16px;
  transition: background .15s, color .15s;
  white-space: nowrap;
}
.dropdown li a:hover { background: rgba(255,255,255,.08); color: #fff; }
.dropdown li a svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; flex-shrink: 0; opacity: .7; }
.dropdown-divider { height: 1px; background: rgba(255,255,255,.08); margin: 4px 0; }

/* abrir no hover (desktop) */
.dd:hover .dropdown,
.dd:focus-within .dropdown { display: block; }

.nav-cta {
  background: var(--vinho) !important; color: #fff !important;
  font-family: var(--f1) !important; font-weight: 700 !important;
  padding: 8px 16px !important; border-radius: 4px !important;
}
.nav-cta:hover { background: #8f1c2e !important; }

/* hamburguer */
.hamburger {
  display: none; flex-direction: column; justify-content: center;
  gap: 5px; width: 44px; height: 44px; cursor: pointer;
  background: none; border: none; padding: 8px; flex-shrink: 0;
}
.hamburger span {
  display: block; height: 2px; background: #fff; border-radius: 2px;
  transition: transform .25s, opacity .2s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* mobile drawer */
.nav-drawer {
  display: none;
  position: fixed; top: 66px; left: 0; right: 0; bottom: 0;
  background: var(--azul); z-index: 199;
  flex-direction: column; padding: 24px;
  overflow-y: auto;
}
.nav-drawer.open { display: flex; }
.nav-drawer ul { list-style: none; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.nav-drawer ul li a {
  display: block; font-family: var(--f2); font-size: 17px; font-weight: 500;
  color: var(--nevoa); text-decoration: none;
  padding: 14px 12px; border-radius: 6px;
  transition: background .15s, color .15s;
}
.nav-drawer ul li a:hover { color: #fff; background: rgba(255,255,255,.08); }
/* submenu mobile */
.drawer-sub-toggle {
  display: flex; align-items: center; justify-content: space-between;
  font-family: var(--f2); font-size: 17px; font-weight: 500;
  color: var(--nevoa); padding: 14px 12px; border-radius: 6px;
  cursor: pointer; transition: background .15s, color .15s;
  user-select: none;
}
.drawer-sub-toggle:hover { background: rgba(255,255,255,.08); color: #fff; }
.drawer-sub-toggle .arrow {
  font-size: 12px; opacity: .6; transition: transform .25s;
}
.drawer-sub-toggle.open .arrow { transform: rotate(180deg); }

.drawer-submenu {
  display: none; flex-direction: column; gap: 2px;
  padding: 4px 0 4px 16px;
  border-left: 2px solid rgba(255,255,255,.1);
  margin: 0 12px 6px;
}
.drawer-submenu.open { display: flex; }
.drawer-submenu a {
  display: flex !important; align-items: center; gap: 10px;
  font-size: 15px !important; padding: 12px 10px !important;
}
.drawer-submenu a svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; opacity: .7; flex-shrink: 0; }

.nav-drawer .drawer-cta {
  display: block; background: var(--vinho); color: #fff !important;
  font-family: var(--f1) !important; font-weight: 700 !important;
  font-size: 17px !important; text-align: center;
  padding: 16px !important; border-radius: 6px !important; margin-top: 12px;
}
