/* ============================================================
   EEE MENU — CSS del header/mega-menú nuevo
   ============================================================ */

html { overflow-x: hidden; max-width: 100%; }

#eee-main-header, #eee-main-header *, #eee-main-header *::before, #eee-main-header *::after,
#eee-mobile-menu-overlay, #eee-mobile-menu-overlay *,
#eee-mobile-menu-overlay *::before, #eee-mobile-menu-overlay *::after {
  box-sizing: border-box;
}
#eee-main-header svg, #eee-mobile-menu-overlay svg { display:block !important; flex-shrink:0 !important; }

/* RESET ESTRICTO PARA EL MENÚ MÓVIL (Aislamiento de la plantilla padre) */
#eee-mobile-menu-overlay,
#eee-mobile-menu-overlay ul,
#eee-mobile-menu-overlay li,
#eee-mobile-panel,
#eee-mobile-panel ul,
#eee-mobile-panel li,
.eee-mobile-nav-list,
.eee-mobile-nav-list li,
.eee-mobile-silo-links,
.eee-mobile-silo-links li {
  list-style: none !important;
  list-style-type: none !important;
  background-image: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#eee-mobile-panel li::before,
#eee-mobile-panel li::after,
.eee-mobile-nav-list li::before,
.eee-mobile-nav-list li::after {
  content: none !important;
  display: none !important;
}

:root{
  --b:#283474;--bd:#1a2260;--bl:#eef0fa;--bl-border:#d6daf2;
  --a:#ff8a00;--ah:#e97900;--w:#fff;
  --g50:#f9fafb;--g100:#f3f4f6;--g200:#e5e7eb;--g400:#9ca3af;--g700:#374151;--g900:#111827;
  --shlg:0 20px 48px rgba(16,25,68,.16);--shsm:0 4px 12px rgba(16,25,68,.08);
  --rm:6px;--rl:16px;--tr:.2s cubic-bezier(.4,0,.2,1);
}

body:not(.home) #page-container {
  padding-top: 76px !important;
}

.home .et_pb_breadcrumbs,
.home .woocommerce-breadcrumb,
.home .breadcrumbs,
.home #breadcrumbs {
  display: none !important;
}

#eee-main-header {
  background: var(--w);
  border-bottom: 1px solid var(--g200);
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 76px !important;
  max-height: 76px !important;
  overflow: visible !important;
  z-index: 9995 !important;
  transition: box-shadow var(--tr);
  font-family: 'Lato', sans-serif;
}
#eee-main-header.is-scrolled{box-shadow:var(--shsm)}

#eee-main-header .et_menu_container {
  max-width: 1600px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 100% !important;
  min-height: 76px !important;
  gap: 24px !important;
  position: relative !important;
  width: 100% !important;
  float: none !important;
}

#eee-main-header .logo_container {
  flex-shrink: 0 !important;
  display: block !important;
  float: none !important;
  position: relative !important;
  margin: 0 !important;
}
#eee-main-header .logo_container img{height:42px;width:auto;display:block;transition:height var(--tr)}

.eee-header-phone {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
  position: relative !important;
  z-index: 50 !important;
  float: none !important;
  color: var(--b);
  font-weight: 900;
  font-size: 14.5px;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 20px;
  background: var(--bl);
  border: 1px solid var(--bl-border);
  transition: background var(--tr), padding var(--tr), font-size var(--tr);
}
.eee-header-phone:hover{background:#e0e4f5}
.eee-header-phone svg{color:var(--a);width:15px;height:15px}
.eee-header-phone-text { display: inline !important; white-space: nowrap !important; }

#eee-main-header #et-top-navigation {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 1 !important;
  min-width: 0 !important;
  justify-content: flex-end !important;
  position: relative !important;
  float: none !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

#eee-main-header #top-menu-nav {
  display: flex !important;
  float: none !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
}

#eee-main-header #top-menu {
  display: flex !important;
  float: none !important;
  position: relative !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  gap: 4px !important;
  min-width: 0 !important;
}

#eee-main-header #top-menu>li { position: relative !important; }
#eee-main-header #top-menu>li.eee-cluster { position: relative !important; }

#eee-main-header #top-menu>li.eee-cluster::after {
  content: "";
  position: absolute;
  top: 100%;
  left: -10px;
  right: -10px;
  height: 24px;
  background: transparent;
  z-index: 10;
}

#eee-main-header #top-menu>li>a{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--g700);padding:8px 14px;border-radius:var(--rm);text-decoration:none;white-space:nowrap;min-height:76px;transition:color var(--tr),background-color var(--tr),padding var(--tr),font-size var(--tr)}
#eee-main-header #top-menu>li>a:hover,#eee-main-header #top-menu>li:hover>a{color:var(--b);background-color:var(--g100)}
#eee-main-header #top-menu>li.eee-cluster>a svg{transition:transform var(--tr);color:var(--g400);width:15px;height:15px}
#eee-main-header #top-menu>li.eee-cluster:hover>a svg{transform:rotate(180deg);color:var(--b)}
.boton-campus>a{background:var(--bl)!important;color:var(--b)!important;border:1px solid var(--bl-border)!important;border-radius:20px!important;padding:7px 18px!important;min-height:auto!important;height:38px;font-size:14.5px!important;transition:padding var(--tr), font-size var(--tr) !important}

.eee-header-cart {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
  position: relative !important;
  float: none !important;
  margin: 0 0 0 12px !important;
  color: var(--g700);
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  padding: 8px 10px;
  border-radius: var(--rm);
  transition: background var(--tr), color var(--tr), margin var(--tr);
}
.eee-header-cart:hover{background:var(--g100);color:var(--b)}
.eee-header-cart svg{color:var(--b);width:20px;height:20px}

.eee-cart-badge{
  position: absolute !important;
  top: -2px !important;
  right: -2px !important;
  background: var(--a) !important;
  color: var(--w) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 10 !important;
}

.eee-cluster-panel{
  position:absolute;
  top:calc(100% + 4px);
  right:0 !important; 
  left:auto !important;
  width:740px;
  max-width:calc(100vw - 40px);
  background:var(--w);
  border:1px solid var(--g200);
  border-radius:var(--rl);
  box-shadow:var(--shlg);
  z-index:300;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-6px);
  transition:opacity var(--tr),transform var(--tr),visibility var(--tr),width var(--tr);
  display:flex;
  overflow:hidden !important;
}

#eee-main-header #top-menu>li.eee-cluster:hover>.eee-cluster-panel,
#eee-main-header #top-menu>li.eee-cluster:focus-within>.eee-cluster-panel{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);
}

#eee-main-header #top-menu>li:nth-child(1) .eee-cluster-panel,
#eee-main-header #top-menu>li:nth-child(2) .eee-cluster-panel,
#eee-main-header #top-menu>li:nth-child(3) .eee-cluster-panel {
  left: 50% !important;
  right: auto !important;
  transform: translate(-50%, -6px) !important;
}

#eee-main-header #top-menu>li:nth-child(1):hover .eee-cluster-panel,
#eee-main-header #top-menu>li:nth-child(1):focus-within .eee-cluster-panel,
#eee-main-header #top-menu>li:nth-child(2):hover .eee-cluster-panel,
#eee-main-header #top-menu>li:nth-child(2):focus-within .eee-cluster-panel,
#eee-main-header #top-menu>li:nth-child(3):hover .eee-cluster-panel,
#eee-main-header #top-menu>li:nth-child(3):focus-within .eee-cluster-panel {
  transform: translate(-50%, 0) !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.eee-quickmatch{width:260px;flex-shrink:0;padding:22px 18px;background:var(--bl);border-right:1px solid var(--bl-border);border-radius:var(--rl) 0 0 var(--rl);transition:width var(--tr), padding var(--tr)}
.eee-quickmatch-label{font-size:10px;font-weight:900;letter-spacing:.5px;color:var(--a);text-transform:uppercase;margin:0 0 8px 0}
.eee-cluster-question{font-size:14px;font-weight:700;color:var(--g900);margin:0 0 14px 0;line-height:1.4}
.eee-cluster-options{display:flex !important;flex-direction:column !important;gap:8px !important}

.eee-option-btn{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  float:none !important;
  background:var(--w) !important;
  border:1.5px solid var(--bl-border) !important;
  border-radius:var(--rm) !important;
  padding:10px 11px !important;
  font-family:'Lato',sans-serif !important;
  font-size:13.5px !important;
  font-weight:700 !important;
  color:var(--g700)!important;
  cursor:pointer !important;
  text-align:left !important;
  text-decoration:none!important;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  transition:border-color var(--tr),background var(--tr),transform var(--tr);
}
.eee-option-btn:hover{border-color:var(--b) !important;background:#f5f6fc !important;transform:translateX(2px)}
.eee-option-icon-circle{width:28px !important;height:28px !important;border-radius:50% !important;background:var(--b) !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important;float:none !important;margin:0 !important}
.eee-option-icon-circle svg{width:15px !important;height:15px !important;color:var(--w) !important;display:block !important;float:none !important}
.eee-option-label{flex:1 !important;min-width:0 !important;line-height:1.25 !important;word-break:break-word !important;text-align:left !important;display:block !important;float:none !important;margin:0 !important;padding:0 !important;color:var(--g700) !important}
.eee-option-arrow{flex-shrink:0 !important;width:14px !important;height:14px !important;color:var(--a) !important;display:block !important;float:none !important;margin:0 !important}

.eee-silo{flex:1;min-width:0;padding:26px 28px;max-height:420px;overflow-y:auto;overflow-x:hidden !important;text-align:left !important}
.eee-silo-group{margin-bottom:26px;text-align:left !important}
.eee-silo-group:last-child{margin-bottom:0}

html body #eee-main-header .eee-cluster-panel .eee-silo .eee-silo-group p.eee-silo-group-title,
html body #eee-main-header .eee-cluster-panel .eee-silo-group-title.eee-silo-group-title,
html body #eee-main-header .eee-silo-group-title,
html body #top-menu .eee-silo-group-title,
html body .eee-silo-group-title {
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .6px !important;
  color: #283474 !important;
  text-transform: uppercase !important;
  margin: 0 0 14px 0 !important;
  text-align: left !important;
  display: block !important;
}

.eee-silo-links{display:grid !important;grid-template-columns:repeat(2, minmax(0, 1fr)) !important;gap:4px 16px !important;list-style:none !important;margin:0 !important;padding:0 !important;text-align:left !important}
.eee-silo-links li{list-style:none !important;margin:0 !important;padding:0 !important;text-align:left !important;float:none !important;display:block !important}

.eee-silo-links a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 5px 10px !important;
  margin: 1px -10px !important;
  border-radius: var(--rm) !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: var(--g700) !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  text-align: left !important;
  float: none !important;
  width: auto !important;
  transition: color var(--tr), background-color var(--tr), transform var(--tr) !important;
  white-space: normal !important;
  word-break: break-word !important;
}

.eee-silo-links a:hover {
  color: var(--b) !important;
  background-color: var(--bl) !important;
  transform: translateX(4px) !important;
  text-decoration: none !important;
}

.eee-silo-links--single{grid-template-columns:minmax(0, 1fr) !important}

/* ============================================================
   PANEL MÓVIL AISLADO (COLOR Y TIPOGRAFÍA BLINDADAS)
   ============================================================ */
#eee-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;background:none;border:none;cursor:pointer;border-radius:var(--rm);flex-shrink:0;color:var(--b)}
#eee-burger svg{width:24px;height:24px}
#eee-burger:hover{background:var(--g100)}

#eee-mobile-menu-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999 !important;
  pointer-events: none;
  font-family: 'Lato', sans-serif !important;
  color: #283474 !important;
}

#eee-mobile-menu-overlay.is-open {
  display: block !important;
  pointer-events: auto;
}

.eee-mobile-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity var(--tr)}
#eee-mobile-menu-overlay.is-open .eee-mobile-backdrop{opacity:1}

#eee-mobile-panel {
  position:absolute;top:0;right:0;bottom:0;
  width:min(340px,90vw);
  background:var(--w);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transform:translateX(100%);
  transition:transform .28s cubic-bezier(.4,0,.2,1);
  color: #283474 !important;
}

#eee-mobile-menu-overlay.is-open #eee-mobile-panel{transform:translateX(0)}

.eee-mobile-panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;min-height:60px;border-bottom:1px solid var(--g200);flex-shrink:0}
.eee-mobile-panel-header img{height:32px;width:auto}

#eee-mobile-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--g400);cursor:pointer;border-radius:var(--rm)}
#eee-mobile-close svg{width:20px;height:20px}

#eee-mobile-nav {
  flex:1;
  overflow-y:auto;
  padding:8px 0 0;
  color: #283474 !important;
}

.eee-mobile-nav-list{list-style:none !important;margin:0 !important;padding:0 !important}
.eee-mobile-cluster-item{border-bottom:1px solid var(--g200)}

.eee-mobile-cluster-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:14px 16px !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height: 1.3 !important;
  color: #283474 !important;
  background:none;
  border:none;
  text-align:left;
  cursor:pointer;
}

.eee-mobile-cluster-toggle svg{width:16px;height:16px;color:var(--b);transition:transform var(--tr);flex-shrink:0}
.eee-mobile-cluster-item.is-open .eee-mobile-cluster-toggle svg{transform:rotate(180deg)}

.eee-mobile-cluster-body{max-height:0;overflow:hidden;background:var(--bl);transition:max-height .35s cubic-bezier(.4,0,.2,1)}
.eee-mobile-cluster-item.is-open .eee-mobile-cluster-body{max-height:60vh;overflow-y:auto}

.eee-mobile-quickmatch-inner{padding:14px 16px}
.eee-mobile-quickmatch-label{font-size:10px;font-weight:900;color:var(--a);text-transform:uppercase;letter-spacing:.5px;margin:0 0 6px 0}
.eee-mobile-cluster-question{font-size:13.5px;font-weight:700;color:var(--g900);margin:0 0 10px 0}

.eee-mobile-silo-section{padding:14px 16px;background:var(--w)}
.eee-mobile-silo-title{font-size:12px;font-weight:900;color:var(--g400);text-transform:uppercase;letter-spacing:.4px;margin:0 0 8px 0}

.eee-mobile-silo-links{list-style:none !important;margin:0 !important;padding:0 !important}
.eee-mobile-silo-links a {
  display:block;
  padding:8px 0 !important;
  font-size:14px !important;
  font-weight:600 !important;
  color:#585860 !important;
  text-decoration:none;
  border-bottom:0.5px solid var(--g100);
  transition:color var(--tr), padding-left var(--tr) !important;
}

.eee-mobile-silo-links a:last-child{border-bottom:none}
.eee-mobile-silo-links a:hover{color:var(--b) !important;padding-left:4px !important;}

.eee-mobile-simple-link {
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px !important;
  font-size:15px !important;
  font-weight:700 !important;
  color: #283474 !important;
  text-decoration:none;
  border-bottom:1px solid var(--g200);
}

.eee-mobile-simple-link svg{width:16px;height:16px;color:var(--b);flex-shrink:0}

.eee-mobile-campus-link {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:14px 16px;
  padding:12px 16px;
  background:var(--bl);
  color:var(--b)!important;
  border:1px solid var(--bl-border);
  border-radius:var(--rm);
  font-size:14px;
  font-weight:900;
  text-decoration:none!important;
}

.eee-mobile-panel-footer{padding:14px 16px;border-top:1px solid var(--g200);flex-shrink:0;background:var(--g50)}
.eee-mobile-phone-link{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:900;color:var(--b);text-decoration:none}
.eee-mobile-phone-link svg{width:16px;height:16px;color:var(--a)}
.eee-mobile-cart-link{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--g700);text-decoration:none;margin-top:8px}
.eee-mobile-cart-link svg{width:16px;height:16px;color:var(--b)}

/* ============================================================
   DEGRADACIÓN PROGRESIVA
   ============================================================ */

@media (max-width: 1450px) {
  #eee-main-header .eee-header-phone-text { display: inline !important; }
  #eee-main-header .eee-header-phone { padding: 6px 12px !important; font-size: 13.5px !important; }
  #eee-main-header #top-menu > li.menu-item:not(.eee-cluster):not(.boton-campus) { display: none !important; }
  #eee-main-header .et_menu_container { gap: 12px !important; padding: 0 16px !important; }
  #eee-main-header #top-menu > li > a { padding: 7px 10px !important; font-size: 13.5px !important; }
}

@media (max-width: 1280px) {
  #eee-main-header .logo_container img { height: 34px !important; }
  #eee-main-header .eee-header-phone { padding: 5px 10px !important; font-size: 12.5px !important; gap: 5px !important; }
  #eee-main-header #top-menu > li > a { padding: 6px 7px !important; font-size: 12.5px !important; gap: 3px !important; }
  #eee-main-header .et_menu_container { gap: 8px !important; padding: 0 12px !important; }
  .boton-campus>a { padding: 5px 12px !important; font-size: 12.5px !important; height: 34px !important; }
  .eee-header-cart { margin-left: 4px !important; padding: 6px !important; }
  
  #eee-main-header .eee-cluster-panel { width: 670px !important; }
  #eee-main-header .eee-quickmatch { width: 230px !important; padding: 20px 14px !important; }
  .eee-silo{padding: 20px 22px !important}
}

@media (max-width: 1140px) {
  #eee-main-header .logo_container img { height: 28px !important; }
  #eee-main-header .eee-header-phone { padding: 4px 8px !important; font-size: 12px !important; }
  #eee-main-header #top-menu > li > a { padding: 6px 5px !important; font-size: 12px !important; }
  #eee-main-header .et_menu_container { gap: 6px !important; padding: 0 8px !important; }
  .boton-campus>a { padding: 4px 8px !important; font-size: 12px !important; height: 30px !important; }

  #eee-main-header .eee-cluster-panel { width: 610px !important; }
  #eee-main-header .eee-quickmatch { width: 210px !important; padding: 16px 12px !important; }
  .eee-silo{padding: 16px 18px !important}
}

@media (max-width: 1023px) {
  body:not(.home) #page-container { padding-top: 50px !important; }

  #eee-main-header {
    height: 60px !important;
    max-height: 60px !important;
  }
  #eee-main-header .et_menu_container {
    min-height: 60px !important;
    gap: 12px !important;
  }

  #eee-main-header #top-menu-nav { display: none !important; }
  #eee-burger { display: flex !important; }
  #eee-main-header .logo_container img { height: 32px !important; }

  #eee-main-header .eee-header-phone { padding: 6px 12px !important; font-size: 12.5px !important; border-radius: 20px !important; gap: 7px !important; }
  #eee-main-header .eee-header-phone-text { display: inline !important; }
  #eee-main-header .eee-header-cart { padding: 6px !important; margin-left: 0 !important; }
}

@media (max-width: 479px) {
  #eee-main-header .et_menu_container { gap: 6px !important; padding: 0 10px !important; }
  #eee-main-header .eee-header-phone { font-size: 11.5px !important; padding: 6px 8px !important; }
  #eee-main-header .eee-header-phone-text { white-space: nowrap !important; }
}

@media (max-width: 359px) {
  #eee-main-header .eee-header-phone { padding: 8px !important; border-radius: 50% !important; }
  #eee-main-header .eee-header-phone-text { display: none !important; }
}

@media (prefers-reduced-motion:reduce){
  #eee-main-header *,#eee-main-header *::before,#eee-main-header *::after,
  #eee-mobile-menu-overlay *,#eee-mobile-menu-overlay *::before,#eee-mobile-menu-overlay *::after{
    transition-duration:.01ms!important;animation-duration:.01ms!important
  }
}