/* Header compartido - Copia exacta del landing/css/main.css (header) con !important para Bootstrap */
@import url(../landing/css/fonts.css);

header {
  position: fixed !important;
  z-index: 1 !important;
  height: 70px !important;
  width: 100% !important;
  background: white !important;
  transition: all 0.3s !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}
@media (max-width: 768px) {
  header {
    height: auto !important;
    min-height: 70px !important;
  }
}
@media (max-width: 600px) {
  header {
    min-height: 70px !important;
  }
}

header .wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 100% !important;
  margin: auto !important;
  max-width: 1073px !important;
  width: calc(100% - 40px) !important;
  padding: 0 !important;
}
@media (max-width: 768px) {
  header .wrapper {
    flex-wrap: wrap !important;
  }
}

header .wrapper h1 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  border: none !important;
  flex: 0 0 auto !important;
}
@media (max-width: 768px) {
  header .wrapper h1 {
    padding: 19px 0 !important;
  }
}
@media (max-width: 600px) {
  header .wrapper h1 {
    padding: 21px 0 !important;
  }
}

header .wrapper h1 a {
  display: table-cell !important;
  height: 65px !important;
  font-size: 0 !important;
  vertical-align: middle !important;
  text-decoration: none !important;
  color: inherit !important;
}
@media (max-width: 768px) {
  header .wrapper h1 a {
    width: 200px !important;
    height: 52px !important;
  }
}
@media (max-width: 600px) {
  header .wrapper h1 a {
    width: 110px !important;
    height: 28px !important;
  }
}

header .wrapper h1 a img {
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
}

/* Forzar menú visible en desktop (anula main.css 1100px breakpoint) */
@media (min-width: 769px) {
  header .wrapper nav {
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    width: auto !important;
  }
  header .wrapper nav > ul {
    display: flex !important;
    flex-direction: row !important;
  }
  header .wrapper .hamburger {
    display: none !important;
  }
  header .wrapper {
    flex-wrap: nowrap !important;
  }
}

header .wrapper .hamburger {
  display: none !important;
  cursor: pointer;
  transition: opacity 0.15s linear, filter 0.15s linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible;
}
@media (max-width: 768px) {
  header .wrapper .hamburger {
    display: inline-block !important;
  }
}

header .wrapper .hamburger .hamburger-box {
  width: 32px;
  height: 20px;
  display: inline-block;
  position: relative;
}
header .wrapper .hamburger .hamburger-box .hamburger-inner {
  display: block;
  width: 32px;
  height: 4px;
  background: #808080;
  border-radius: 4px;
  position: absolute;
  top: 50%;
  transition: transform 0.15s ease;
}
header .wrapper .hamburger .hamburger-box .hamburger-inner::before,
header .wrapper .hamburger .hamburger-box .hamburger-inner::after {
  content: "";
  display: block;
  width: 32px;
  height: 4px;
  background: #808080;
  border-radius: 4px;
  position: absolute;
  transition: transform 0.15s ease;
}
header .wrapper .hamburger .hamburger-box .hamburger-inner::before {
  top: -8px;
}
header .wrapper .hamburger .hamburger-box .hamburger-inner::after {
  bottom: -8px;
}
header .wrapper .hamburger.hamburger--squeeze .hamburger-inner {
  transition: transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
header .wrapper .hamburger.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.1s 0.14s ease, opacity 0.1s ease;
}
header .wrapper .hamburger.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
header .wrapper .hamburger.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.14s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
header .wrapper .hamburger.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease, opacity 0.1s 0.14s ease;
}
header .wrapper .hamburger.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
}
header .wrapper .hamburger.hamburger--squeeze.is-active + nav {
  max-height: 1000px !important;
}

header .wrapper nav {
  transition: max-height 0.5s;
  flex: 0 0 auto !important;
}
@media (max-width: 768px) {
  header .wrapper nav {
    max-height: 0;
    overflow: hidden;
    width: 100%;
  }
}

header .wrapper nav > ul {
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
@media (max-width: 768px) {
  header .wrapper nav > ul {
    flex-direction: column !important;
    margin: 35px 0 0 25px !important;
  }
}

header .wrapper nav ul li {
  margin-right: 61px !important;
  list-style: none !important;
  padding: 0 !important;
}
@media (max-width: 768px) {
  header .wrapper nav ul li {
    margin: 0 0 64px !important;
  }
}
header .wrapper nav ul li:last-child {
  margin-right: 0 !important;
}

header .wrapper nav ul li a {
  font: 22px "textaregular", sans-serif !important;
  color: #666 !important;
  position: relative !important;
  transition: all 0.2s !important;
  text-decoration: none !important;
}
header .wrapper nav ul li a:hover::before {
  width: 100%;
}
header .wrapper nav ul li a::before {
  content: "";
  height: 2px;
  width: 0;
  background: #009FDD;
  position: absolute;
  bottom: -14px;
  transition: all 0.3s;
}

/* Submenu */
header .wrapper nav ul li.has-submenu {
  position: relative !important;
}
header .wrapper nav ul li.has-submenu > .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
  border-radius: 6px;
  padding: 10px 0 !important;
  min-width: 160px;
  z-index: 100;
  list-style: none !important;
}
header .wrapper nav ul li.has-submenu:hover > .submenu {
  display: block;
}
header .wrapper nav ul li.has-submenu > .submenu li {
  margin: 0 !important;
  padding: 0 !important;
}
header .wrapper nav ul li.has-submenu > .submenu li a {
  display: block !important;
  padding: 8px 20px !important;
  font: 18px "textaregular", sans-serif !important;
  color: #666 !important;
  white-space: nowrap;
  text-decoration: none !important;
}
header .wrapper nav ul li.has-submenu > .submenu li a:hover {
  background: #f5f5f5;
  color: #009FDD !important;
}
header .wrapper nav ul li.has-submenu > .submenu li a::before {
  display: none !important;
}
@media (max-width: 768px) {
  header .wrapper nav ul li.has-submenu > .submenu {
    position: static;
    box-shadow: none;
    border-radius: 0;
    padding: 10px 0 0 20px !important;
    display: none;
  }
  header .wrapper nav ul li.has-submenu:hover > .submenu,
  header .wrapper nav ul li.has-submenu.open > .submenu {
    display: block;
  }
}
