/* ════════════════════════════════════════════════════════════
   ANNOUNCEMENT BAR
   ════════════════════════════════════════════════════════════ */
.uad-bar {
  background: var(--ink);
  color: var(--on-dark);
  font-size: 13px;
  line-height: 1;
  padding: 9px 0;
  letter-spacing: .01em;
}
.uad-bar__wrap {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.uad-bar__left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.uad-bar__dot {
  width: 6px; height: 6px; border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(var(--uad-color-accent-rgb),.18);
  flex-shrink: 0;
}

/* Ticker */
.uad-bar__ticker {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.uad-bar__ann {
  display: none;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  overflow: hidden;
  color: var(--on-dark);
  text-decoration: none;
  pointer-events: none;
}
.uad-bar__ann.is-active {
  display: flex;
  pointer-events: auto;
  animation: uadAnnIn .45s ease forwards;
}
@keyframes uadAnnIn {
  from { opacity: 0; transform: translateY(5px); }
  to   { opacity: 1; transform: translateY(0); }
}
.uad-bar__ann-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.uad-bar__ann-cta {
  color: var(--accent);
  font-weight: 500;
  flex-shrink: 0;
  transition: color .15s;
}
.uad-bar__ann:hover .uad-bar__ann-cta { color: var(--accent); }

/* Right links */
.uad-bar__right { display: flex; gap: 18px; opacity: .85; flex-shrink: 0; }
.uad-bar__right a { transition: opacity .15s; white-space: nowrap; color: var(--on-dark); text-decoration: none; }
.uad-bar__right a:hover { opacity: 1; }

/* Responsive */
@media (max-width: 768px) {
  .uad-bar__right { display: none; }
}
@media (max-width: 480px) {
  .uad-bar { font-size: 11.5px; padding: 8px 0; }
  .uad-bar__ann-cta { display: none; }
}

/* ════════════════════════════════════════════════════════════
   NAV
   ════════════════════════════════════════════════════════════ */
.uad-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--bg);
  border-bottom: 1px solid transparent;
  transition: border-color .2s, background .2s, backdrop-filter .2s;
}
.uad-nav.scrolled {
  background: rgba(var(--uad-color-bg-rgb),.93);
  backdrop-filter: saturate(150%) blur(12px);
  -webkit-backdrop-filter: saturate(150%) blur(12px);
  border-bottom-color: var(--line);
}

.uad-nav__wrap {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  height: 76px;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 0;
}

/* ── Logo ─────────────────────────────────────────────────── */
.uad-logo {
  display: flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
  flex-shrink: 0;
}
.uad-logo__mark {
  position: relative;
  width: 38px; height: 38px;
  border-radius: 8px;
  background: var(--ink);
  color: var(--paper);
  display: grid;
  place-items: center;
  font-family: var(--font-serif);
  font-size: 20px;
  font-weight: 400;
  letter-spacing: -.02em;
}
.uad-logo__ring {
  position: absolute;
  inset: 0;
  border-radius: 8px;
  border: 1px solid var(--accent);
  opacity: .5;
  transform: translate(3px, 3px);
  pointer-events: none;
}
.uad-logo__text { line-height: 1.1; }
.uad-logo__name {
  display: block;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--ink);
}
.uad-logo__sub {
  display: block;
  font-size: 10.5px;
  color: var(--muted);
  letter-spacing: .03em;
  margin-top: 1px;
}

/* ── Menu ─────────────────────────────────────────────────── */
.uad-menu {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: 28px;
  flex: 1;
}

/* Plain links (Inicio, Contacto) */
a.uad-menu__link {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 9px 13px;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -.005em;
  color: var(--ink);
  border-radius: 7px;
  transition: background .15s, color .15s;
  white-space: nowrap;
  text-decoration: none;
}
a.uad-menu__link:hover { background: var(--bg-alt); }
a.uad-menu__link.is-active { color: var(--accent-deep); }

/* Item wrappers (with mega) */
.uad-menu__item { position: relative; }
.uad-menu__item > a.uad-menu__link {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 9px 13px;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -.005em;
  color: var(--ink);
  border-radius: 7px;
  transition: background .15s, color .15s;
  white-space: nowrap;
  text-decoration: none;
}
.uad-menu__item > a.uad-menu__link:hover { background: var(--bg-alt); }
.uad-menu__item.is-active > a.uad-menu__link,
.uad-menu__item > a.uad-menu__link.is-active { color: var(--accent-deep); }

.uad-chevron {
  opacity: .5;
  transition: transform .2s, opacity .2s;
  flex-shrink: 0;
}
.uad-menu__item.mega-open .uad-chevron { transform: rotate(180deg); opacity: .8; }

/* ── Actions ──────────────────────────────────────────────── */
.uad-nav__actions {
  margin-left: auto;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.uad-nav,
.uad-search-overlay {
  --uad-search-button-bg: var(--paper);
  --uad-search-button-fg: var(--ink);
  --uad-search-button-border: var(--line);
  --uad-search-button-border-hover: var(--accent);
  --uad-search-button-bg-hover: var(--bg-alt);
  --uad-search-overlay-bg: rgba(var(--uad-color-ink-rgb),.48);
  --uad-search-surface: var(--paper);
  --uad-search-text: var(--ink);
  --uad-search-muted: var(--muted);
  --uad-search-border: var(--line);
  --uad-search-primary-bg: var(--ink);
  --uad-search-primary-fg: var(--paper);
  --uad-search-chip-bg: var(--bg-alt);
  --uad-search-chip-bg-hover: var(--line);
}

.uad-nav__search-btn {
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--uad-search-button-border);
  background: var(--uad-search-button-bg);
  display: grid; place-items: center;
  color: var(--uad-search-button-fg);
  transition: background .15s, border-color .15s, color .15s;
  cursor: pointer;
}
.uad-nav__search-btn:hover {
  background: var(--uad-search-button-bg-hover);
  border-color: var(--uad-search-button-border-hover);
}
.uad-nav__search-btn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.uad-nav__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 20px;
  background: var(--ink);
  color: var(--paper);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -.01em;
  white-space: nowrap;
  transition: opacity .15s, transform .15s;
  text-decoration: none;
}
.uad-nav__cta:hover  { opacity: .85; }
.uad-nav__cta:active { opacity: .7; transform: scale(.97); }
.uad-nav__cta:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; opacity: 1; }

/* ════════════════════════════════════════════════════════════
   MEGA MENU
   ════════════════════════════════════════════════════════════ */
.uad-mega {
  display: none;
  position: fixed;
  left: 0; right: 0;
  top: 0; /* set by JS */
  background: var(--paper);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 20px 40px -20px rgba(var(--uad-color-ink-rgb),.16);
  z-index: 10000;
}
.uad-mega.is-open {
  display: block;
  animation: uadFadeDown .18s ease;
}
/* Extender el área del item al alto completo del nav para cerrar el gap */
.uad-menu__item {
  align-self: stretch;
  display: flex;
  align-items: center;
}

.uad-mega__inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 32px var(--gutter);
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 56px;
}
.uad-mega__eyebrow {
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--muted);
  text-transform: uppercase;
  margin: 0 0 8px;
}
.uad-mega__title {
  font-size: 30px;
  font-weight: 400;
  letter-spacing: -.02em;
  color: var(--ink);
  margin: 0 0 16px;
  font-family: var(--font-sans);
}
.uad-mega__all {
  font-size: 13px;
  font-weight: 500;
  color: var(--accent-deep);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  transition: gap .15s;
}
.uad-mega__all:hover { gap: 10px; }
.uad-mega__col-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 32px;
  align-content: start;
}
.uad-mega__link {
  padding: 15px 0;
  border-top: 1px solid var(--line);
  display: block;
  text-decoration: none;
  transition: opacity .15s;
}
.uad-mega__link:hover { opacity: .72; }
.uad-mega__link strong {
  display: block;
  font-size: 15.5px;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 3px;
}
.uad-mega__link span {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
}

/* Mega backdrop */
.uad-mega-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 98;
}

/* ════════════════════════════════════════════════════════════
   SEARCH OVERLAY
   ════════════════════════════════════════════════════════════ */
.uad-search-overlay {
  display: none;
  position: fixed; inset: 0; z-index: 9500;
  background: var(--uad-search-overlay-bg);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  justify-content: center;
  align-items: flex-start;
  padding-top: 12vh;
}
.uad-search-overlay.open { display: flex; animation: uadFadeIn .2s ease; }
.uad-search-box {
  width: min(700px, 92vw);
  background: var(--uad-search-surface);
  border-radius: 16px;
  padding: 6px 6px 20px;
  box-shadow: 0 28px 56px -24px rgba(var(--uad-color-ink-rgb),.38);
}
.uad-search-box__row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 18px;
  border-bottom: 1px solid var(--uad-search-border);
}
.uad-search-box__row input {
  flex: 1; border: none; outline: none;
  font-size: 18px; font-family: inherit; color: var(--uad-search-text);
  background: transparent;
}
.uad-search-box__row input::placeholder { color: var(--uad-search-muted); }
.uad-search-box__submit {
  width: 36px; height: 36px; border-radius: 8px;
  background: var(--uad-search-primary-bg); color: var(--uad-search-primary-fg);
  border: none; display: grid; place-items: center;
  cursor: pointer; flex-shrink: 0;
  transition: opacity .15s, transform .15s;
}
.uad-search-box__submit:hover  { opacity: .85; }
.uad-search-box__submit:active { opacity: .7; transform: scale(.97); }
.uad-search-box__submit:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; opacity: 1; }
.uad-search-box__esc {
  font-size: 11px; color: var(--uad-search-muted);
  border: 1px solid var(--uad-search-border); padding: 4px 9px; border-radius: 5px;
  background: transparent; cursor: pointer;
}
.uad-search-box__esc:hover {
  color: var(--uad-search-text);
  border-color: var(--uad-search-button-border-hover);
}
.uad-search-box__body { padding: 14px 18px 0; }
.uad-search-box__label {
  font-size: 10px; color: var(--uad-search-muted);
  text-transform: uppercase; letter-spacing: .18em; margin-bottom: 10px;
}
.uad-search-box__chips { display: flex; flex-wrap: wrap; gap: 7px; }
.uad-search-box__chips button {
  padding: 7px 13px; border-radius: 999px;
  border: 1px solid var(--uad-search-border); font-size: 13px;
  color: var(--ink-soft); background: var(--uad-search-chip-bg);
  transition: background .15s, border-color .15s, color .15s;
  cursor: pointer;
}
.uad-search-box__chips button:hover {
  background: var(--uad-search-chip-bg-hover);
  border-color: var(--uad-search-button-border-hover);
  color: var(--uad-search-text);
}

/* ════════════════════════════════════════════════════════════
   CONTEXTO ELEMENTOR
   Ajustes para cuando los shortcodes se renderizan dentro de
   contenedores Elementor en el Theme Builder.
   ════════════════════════════════════════════════════════════ */

/* El widget del menú principal debe expandirse para ocupar el espacio disponible */
.uad-menu-widget,
.uad-menu-widget.elementor-widget {
    flex: 1;
    min-width: 0;
}

/* Eliminar el padding por defecto que Elementor agrega a los widgets */
.uad-bar .elementor-widget-wrap,
.uad-nav .elementor-widget-wrap {
    padding: 0;
}

/* Los contenedores internos de la barra y el nav no deben tener gap Elementor por defecto */
.uad-bar__wrap.e-con,
.uad-nav__wrap.e-con,
.uad-nav__actions.e-con {
    --gap: 0px;
}

/* Asegurar que el body de Elementor no empuje el encabezado */
.elementor-template-type-header {
    position: relative;
}

/* ════════════════════════════════════════════════════════════
   ANIMATIONS
   ════════════════════════════════════════════════════════════ */
@keyframes uadFadeDown {
  from { opacity:0; transform:translateY(-5px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes uadFadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE NAV
   ════════════════════════════════════════════════════════════ */

/* ── Hamburger ─────────────────────────────────────────────── */
.uad-nav__hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px; height: 40px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--paper);
  cursor: pointer;
  padding: 0 11px;
  transition: border-color .15s;
  flex-shrink: 0;
}
.uad-nav__hamburger:hover { border-color: var(--line-strong); }
.uad-nav__hamburger span {
  display: block;
  height: 1.5px;
  background: var(--ink);
  border-radius: 1px;
  transition: transform .22s ease, opacity .22s ease;
  transform-origin: center;
}
.uad-nav__hamburger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.uad-nav__hamburger.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.uad-nav__hamburger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ── Mobile drawer ─────────────────────────────────────────── */
.uad-mobile-menu {
  display: none;
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 9000;
  background: var(--bg);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.uad-mobile-menu.is-open {
  display: block !important;
}
.uad-mobile-menu__inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter) 48px;
}
.uad-mobile-menu__header {
  display: flex;
  justify-content: flex-end;
  padding: 20px 0 8px;
  position: sticky;
  top: 0;
  background: var(--bg);
  z-index: 1;
}
.uad-mobile-menu__close {
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: var(--paper);
  display: grid; place-items: center;
  color: var(--ink);
  cursor: pointer;
  transition: border-color .15s, background .15s;
  flex-shrink: 0;
}
.uad-mobile-menu__close:hover { border-color: var(--ink); background: var(--bg-alt); }

/* Links planos */
.uad-mobile-menu__link {
  display: flex;
  align-items: center;
  padding: 16px 0;
  font-size: 18px;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--line);
  transition: color .15s;
}
.uad-mobile-menu__link:hover { color: var(--accent-deep); }
.uad-mobile-menu__link.is-active { color: var(--accent-deep); }

/* Items con acordeón */
.uad-mobile-menu__item { border-bottom: 1px solid var(--line); }
.uad-mobile-menu__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  font-size: 18px;
  font-weight: 500;
  color: var(--ink);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-sans);
  letter-spacing: -.005em;
}
.uad-mobile-menu__toggle .uad-chevron {
  opacity: .4;
  transition: transform .2s;
  flex-shrink: 0;
}
.uad-mobile-menu__item.is-open .uad-mobile-menu__toggle .uad-chevron {
  transform: rotate(180deg);
  opacity: .7;
}

/* Submenú acordeón */
.uad-mobile-menu__sub {
  display: none;
  flex-direction: column;
  padding: 4px 0 16px 16px;
  gap: 0;
}
.uad-mobile-menu__item.is-open .uad-mobile-menu__sub { display: flex; }
.uad-mobile-menu__sub a {
  display: block;
  padding: 12px 0;
  text-decoration: none;
  border-bottom: 1px solid var(--line);
  transition: opacity .15s;
}
.uad-mobile-menu__sub a:last-child { border-bottom: none; }
.uad-mobile-menu__sub a:hover { opacity: .7; }
.uad-mobile-menu__sub strong {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 2px;
}
.uad-mobile-menu__sub span {
  font-size: 12.5px;
  color: var(--muted);
  line-height: 1.4;
}
.uad-mobile-menu__sub-all {
  font-size: 13px;
  font-weight: 500;
  color: var(--accent-deep);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 0 !important;
  border-bottom: none !important;
}

/* CTA móvil */
.uad-mobile-menu__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 32px;
  padding: 16px 32px;
  background: var(--ink);
  color: var(--paper);
  border-radius: 999px;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s, transform .15s;
}
.uad-mobile-menu__cta:hover { opacity: .85; color: var(--paper); }
.uad-mobile-menu__cta:active { opacity: .7; transform: scale(.98); }

/* Scroll lock */
body.uad-menu-open { overflow: hidden; }

/* Neutralizar el fondo rosado de Elementor en botones del menú móvil */
.uad-mobile-menu__toggle,
.uad-mobile-menu__toggle:hover,
.uad-mobile-menu__toggle:focus,
.uad-mobile-menu__toggle:active,
.uad-mobile-menu__toggle:focus-visible,
.elementor-editor-active .uad-mobile-menu__toggle,
.elementor-editor-active .uad-mobile-menu__toggle:hover,
.elementor-editor-active .uad-mobile-menu__toggle:focus,
.elementor-editor-active .uad-mobile-menu__toggle:active {
  background: none !important;
  background-color: transparent !important;
  color: var(--ink) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ── Breakpoint ────────────────────────────────────────────── */
@media (max-width: 980px) {
  .uad-menu { display: none; }
  .uad-nav__cta { display: none; }
  .uad-nav__hamburger { display: flex; }
}
