/* ═══════════════════════════════════════════════════════════════
   MTP MEGA MENÚ — Estilos (mapeados del prototipo HTML)
   Prefijo mtp- en todas las clases para evitar conflictos
═══════════════════════════════════════════════════════════════ */

:root {
  --mtp-navy:       #101246;
  --mtp-orange:     #f65f34;
  --mtp-orange2:    #e04f26;
  --mtp-white:      #ffffff;
  --mtp-gray-light: #f7f7f9;
  --mtp-border:     #e5e6ed;
  --mtp-text:       #2b2d42;
  --mtp-muted:      rgba(255,255,255,0.45);
  --mtp-font:       'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ═══════════════════════════════════════
   NAVBAR
═══════════════════════════════════════ */
.mtp-nav {
  background: var(--mtp-white) !important;
  height: 70px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 32px !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99998 !important;
  box-shadow: 0 1px 0 var(--mtp-border) !important;
  margin: 0 !important;
}

/* Admin bar de WordPress */
.admin-bar .mtp-nav {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  .admin-bar .mtp-nav {
    top: 46px !important;
  }
}

.mtp-nav-inner {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

/* Logo */
.mtp-nav-logo {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  margin-right: 48px !important;
}
.mtp-nav-logo img,
.mtp-nav-logo .mtp-logo-img {
  height: 38px !important;
  width: auto !important;
  display: block !important;
  max-width: 180px !important;
  object-fit: contain !important;
}
.mtp-nav-sitename {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--mtp-navy) !important;
  font-family: var(--mtp-font) !important;
}

/* Ítems */
.mtp-nav-items {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  list-style: none !important;
  flex: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mtp-nav-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Botones del nav */
.mtp-nav-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 6px 16px !important;
  font-family: var(--mtp-font) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--mtp-text) !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  border-radius: 6px !important;
  transition: color 0.15s !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-shadow: none !important;
  line-height: 1 !important;
}
.mtp-nav-btn:hover {
  color: var(--mtp-navy) !important;
  background: transparent !important;
  text-decoration: none !important;
}
.mtp-nav-btn.mtp-active,
.mtp-nav-btn[aria-expanded="true"] {
  color: var(--mtp-orange) !important;
  font-weight: 500 !important;
}
.mtp-nav-btn .mtp-ch {
  font-size: 13px !important;
  opacity: 0.55 !important;
  transition: transform 0.22s cubic-bezier(.4,0,.2,1) !important;
}
.mtp-nav-btn[aria-expanded="true"] .mtp-ch {
  transform: rotate(180deg) !important;
  opacity: 1 !important;
  color: var(--mtp-orange) !important;
}

/* CTA del nav */
.mtp-nav-cta {
  margin-left: auto !important;
  flex-shrink: 0 !important;
}
.mtp-nav-cta-btn {
  padding: 12px 28px !important;
  font-family: var(--mtp-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--mtp-white) !important;
  background: var(--mtp-orange) !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: background 0.18s, transform 0.15s !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  box-shadow: none !important;
  line-height: 1 !important;
}
.mtp-nav-cta-btn:hover {
  background: var(--mtp-orange2) !important;
  transform: translateY(-1px) !important;
  color: var(--mtp-white) !important;
  text-decoration: none !important;
}

/* Hamburger (solo mobile) */
.mtp-hamburger {
  display: none !important;
  flex-direction: column !important;
  gap: 5px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 4px !important;
  margin-left: auto !important;
  box-shadow: none !important;
}
.mtp-hamburger span {
  display: block !important;
  width: 24px !important;
  height: 2px !important;
  background: var(--mtp-navy) !important;
  border-radius: 2px !important;
  transition: all 0.25s !important;
}
.mtp-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
.mtp-hamburger.open span:nth-child(2) { opacity: 0 !important; }
.mtp-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }

/* Empujar contenido de la página */
body {
  padding-top: 70px !important;
}
body.admin-bar {
  padding-top: 70px !important;
}
@media screen and (max-width: 782px) {
  body.admin-bar {
    padding-top: 64px !important;
  }
}

/* ═══════════════════════════════════════
   OVERLAY
═══════════════════════════════════════ */
.mtp-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99990 !important;
  background: rgba(10,12,40,0.25) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.25s !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mtp-overlay.on {
  opacity: 1 !important;
  pointer-events: all !important;
}

/* ═══════════════════════════════════════
   MEGA MENÚ WRAPPER
═══════════════════════════════════════ */
.mtp-mega-wrap {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99995 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: translateY(-6px) !important;
  transition: opacity 0.24s cubic-bezier(.4,0,.2,1),
              transform 0.24s cubic-bezier(.4,0,.2,1) !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.mtp-mega-wrap.open {
  pointer-events: all !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ═══════════════════════════════════════
   MEGA CARD
═══════════════════════════════════════ */
.mtp-mega-wrap .mtp-mega-card {
  max-width: 1160px !important;
  margin: 44px auto 0 !important;
  background: var(--mtp-white) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(10,12,40,0.14),
              0 4px 12px rgba(10,12,40,0.06) !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: 280px 1fr !important;
  border: none !important;
}

/* ═══════════════════════════════════════
   SIDEBAR IZQUIERDO (navy)
═══════════════════════════════════════ */
.mtp-mega-wrap .mtp-sidebar {
  background: var(--mtp-navy) !important;
  padding: 36px 32px 32px !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  overflow: hidden !important;
  min-height: 420px !important;
  border: none !important;
}
.mtp-mega-wrap .mtp-sidebar::after {
  content: '' !important;
  position: absolute !important;
  bottom: -60px !important;
  right: -60px !important;
  width: 220px !important;
  height: 220px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.03) !important;
  pointer-events: none !important;
}
.mtp-mega-wrap .mtp-sb-eyebrow {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--mtp-orange) !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  font-family: var(--mtp-font) !important;
}
.mtp-mega-wrap .mtp-sb-headline {
  font-size: 30px !important;
  font-weight: 700 !important;
  color: var(--mtp-white) !important;
  line-height: 1.18 !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  letter-spacing: -0.02em !important;
  white-space: pre-line !important;
  font-family: var(--mtp-font) !important;
}
.mtp-mega-wrap .mtp-sb-headline span {
  color: var(--mtp-orange) !important;
}
.mtp-mega-wrap .mtp-sb-body {
  font-size: 13px !important;
  color: var(--mtp-muted) !important;
  line-height: 1.7 !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  font-weight: 400 !important;
  font-family: var(--mtp-font) !important;
}
.mtp-mega-wrap .mtp-sb-divider {
  width: 36px !important;
  height: 3px !important;
  background: var(--mtp-orange) !important;
  border-radius: 2px !important;
  margin-bottom: auto !important;
  flex-shrink: 0 !important;
}
.mtp-mega-wrap .mtp-sb-cta {
  margin-top: 40px !important;
}
.mtp-mega-wrap .mtp-sb-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 14px 20px !important;
  font-family: var(--mtp-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--mtp-white) !important;
  background: var(--mtp-orange) !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: background 0.18s, transform 0.15s !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.mtp-mega-wrap .mtp-sb-cta-btn:hover {
  background: var(--mtp-orange2) !important;
  transform: translateY(-1px) !important;
  color: var(--mtp-white) !important;
}

/* ═══════════════════════════════════════
   COLUMNAS — ÁREA DERECHA
═══════════════════════════════════════ */
.mtp-mega-wrap .mtp-mega-right {
  padding: 36px 36px 32px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 0 !important;
  background: var(--mtp-white) !important;
}
.mtp-mega-wrap .mtp-mega-right.mtp-cols-2 {
  grid-template-columns: 1fr 1fr !important;
}
.mtp-mega-wrap .mtp-mega-right.mtp-cols-1 {
  grid-template-columns: 1fr !important;
}
.mtp-mega-wrap .mtp-mega-col {
  padding: 0 32px 0 0 !important;
  background: transparent !important;
  border: none !important;
}
.mtp-mega-wrap .mtp-mega-col + .mtp-mega-col {
  padding: 0 32px 0 32px !important;
  border-left: 1px solid var(--mtp-border) !important;
}
.mtp-mega-wrap .mtp-mega-col:last-child {
  padding-right: 0 !important;
}

/* Cabecera de columna */
.mtp-mega-wrap .mtp-col-head {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 6px !important;
  padding-bottom: 16px !important;
  border-bottom: 1.5px solid var(--mtp-border) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}
.mtp-mega-wrap .mtp-col-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  background: rgba(246,95,52,0.10) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.mtp-mega-wrap .mtp-col-icon i {
  font-size: 20px !important;
  color: var(--mtp-orange) !important;
}
.mtp-mega-wrap .mtp-col-title {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: var(--mtp-navy) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--mtp-font) !important;
}
.mtp-mega-wrap .mtp-col-accent {
  width: 36px !important;
  height: 3px !important;
  background: var(--mtp-orange) !important;
  border-radius: 2px !important;
  margin: 4px 0 20px 0 !important;
}

/* Links */
.mtp-mega-wrap .mtp-col-links {
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mtp-mega-wrap .mtp-col-links li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}
.mtp-mega-wrap .mtp-col-links li a,
.mtp-mega-wrap .mtp-col-links li a:visited {
  display: flex !important;
  align-items: center !important;
  padding: 9px 0 !important;
  font-family: var(--mtp-font) !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  color: var(--mtp-text) !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
  transition: color 0.15s, padding-left 0.15s !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
}
.mtp-mega-wrap .mtp-col-links li a:hover {
  color: var(--mtp-orange) !important;
  padding-left: 6px !important;
  background: transparent !important;
  text-decoration: none !important;
}

/* Badge IA */
.mtp-mega-wrap .mtp-tag-ia {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  background: var(--mtp-orange) !important;
  color: var(--mtp-white) !important;
  border-radius: 4px !important;
  padding: 2px 6px !important;
  margin-left: 7px !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  position: relative !important;
  top: -1px !important;
}

/* ═══════════════════════════════════════
   MOBILE DRAWER
═══════════════════════════════════════ */
.mtp-mobile-drawer {
  display: none !important;
  position: fixed !important;
  top: 70px !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: var(--mtp-white) !important;
  z-index: 99999 !important;
  overflow-y: auto !important;
  padding: 0 0 40px !important;
  transform: translateX(100%) !important;
  transition: transform 0.3s cubic-bezier(.4,0,.2,1) !important;
}
.mtp-mobile-drawer.open {
  transform: translateX(0) !important;
}

/* Ítems del drawer */
.mtp-mob-nav-item {
  border-bottom: 1px solid var(--mtp-border) !important;
}
.mtp-mob-nav-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 18px 24px !important;
  font-family: var(--mtp-font) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--mtp-navy) !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  text-align: left !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.mtp-mob-nav-btn .mtp-mob-ch {
  font-size: 14px !important;
  color: var(--mtp-navy) !important;
  opacity: 0.45 !important;
  transition: transform 0.22s !important;
}
.mtp-mob-nav-btn.open .mtp-mob-ch {
  transform: rotate(180deg) !important;
  opacity: 1 !important;
  color: var(--mtp-orange) !important;
}
.mtp-mob-nav-btn.mtp-active { color: var(--mtp-orange) !important; }

/* Panel de servicios en mobile */
.mtp-mob-services {
  display: none !important;
  background: var(--mtp-gray-light) !important;
}
.mtp-mob-services.open { display: block !important; }

/* Strip navy en mobile */
.mtp-mob-sidebar-strip {
  background: var(--mtp-navy) !important;
  padding: 24px 24px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.mtp-mob-eyebrow {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--mtp-orange) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}
.mtp-mob-headline {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--mtp-white) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
}
.mtp-mob-headline span { color: var(--mtp-orange) !important; }
.mtp-mob-body-text {
  font-size: 12px !important;
  color: rgba(255,255,255,0.45) !important;
  line-height: 1.6 !important;
  margin-top: 4px !important;
}
.mtp-mob-cta-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 16px !important;
  padding: 13px 20px !important;
  font-family: var(--mtp-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--mtp-white) !important;
  background: var(--mtp-orange) !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Sección en mobile (cabecera de columna) */
.mtp-mob-section { padding: 0 !important; }
.mtp-mob-section-head {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 24px 10px !important;
  border-bottom: 1px solid var(--mtp-border) !important;
}
.mtp-mob-sec-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  background: rgba(246,95,52,0.10) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.mtp-mob-sec-icon i { font-size: 17px !important; color: var(--mtp-orange) !important; }
.mtp-mob-sec-title {
  font-size: 11px !important;
  font-weight: 800 !important;
  color: var(--mtp-navy) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 !important;
}
.mtp-mob-sec-accent {
  width: 28px !important;
  height: 3px !important;
  background: var(--mtp-orange) !important;
  border-radius: 2px !important;
  margin-top: 3px !important;
}

/* Links en mobile */
.mtp-mob-links {
  list-style: none !important;
  padding: 4px 0 8px !important;
  margin: 0 !important;
}
.mtp-mob-links li { margin: 0 !important; }
.mtp-mob-links li a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 13px 24px !important;
  font-family: var(--mtp-font) !important;
  font-size: 14.5px !important;
  color: var(--mtp-text) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--mtp-border) !important;
  background: transparent !important;
  transition: background 0.14s, color 0.14s !important;
}
.mtp-mob-links li:last-child a { border-bottom: none !important; }
.mtp-mob-links li a:hover {
  background: rgba(246,95,52,0.05) !important;
  color: var(--mtp-orange) !important;
}
.mtp-mob-links li a i { font-size: 13px !important; color: var(--mtp-border) !important; }

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media (max-width: 768px) {
  .mtp-nav {
    padding: 0 20px !important;
    height: 64px !important;
  }
  .mtp-nav-logo img,
  .mtp-nav-logo .mtp-logo-img {
    height: 30px !important;
  }
  .mtp-nav-items,
  .mtp-nav-cta {
    display: none !important;
  }
  .mtp-hamburger {
    display: flex !important;
  }
  .mtp-mobile-drawer {
    display: block !important;
    top: 64px !important;
  }
  .mtp-mega-wrap {
    display: none !important;
  }
  body {
    padding-top: 64px !important;
  }
}
