/* Top Bar */
.top-bar {
  background-color: var(--color-black);
  color: var(--color-white);
  font-size: 13px;
  padding: var(--space-xs) 0;
}
.top-bar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Site Header */
.site-header {
  background-color: var(--color-white);
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
  transition: box-shadow var(--transition-normal);
}
.site-header.scrolled {
  box-shadow: var(--shadow-md);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md) 0;
}

/* Navigation */
.main-nav {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
}
.main-nav a {
  font-weight: 500;
  position: relative;
}
.main-nav a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--color-gold);
  transition: width var(--transition-normal);
}
.main-nav a:hover::after {
  width: 100%;
}
.mega-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: var(--color-white);
  box-shadow: var(--shadow-lg);
  display: none;
  padding: var(--space-xl);
  z-index: var(--z-dropdown);
}
.main-nav li:hover .mega-menu {
  display: block;
}

/* Header Actions */
.header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.header-actions a, .header-actions button {
  color: var(--color-black);
  font-size: var(--text-lg);
}
.header-actions a:hover, .header-actions button:hover {
  color: var(--color-gold);
}
.btn-presupuesto {
  margin-left: var(--space-md);
}
.mobile-hamburger {
  display: none;
  font-size: var(--text-2xl);
}
