
/* Université Européenne de Paris light delivery layer: compact header, stable CTA, reusable intro scale. */
#default-layout header [data-element-type="logo"] {
  flex: 0 0 auto;
  min-width: 0;
}

#default-layout header [data-element-type="logo"] img {
  display: block;
  width: auto;
  max-width: clamp(6.8rem, 28vw, 11rem);
  object-fit: contain;
}

#default-layout header .flex.space-x-2.px-4.py-2 {
  column-gap: 0.5rem !important;
}

#default-layout header .flex.space-x-2.px-4.py-2 > a {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: 50%;
}

#default-layout header [data-element-type="cta-secondary"],
#default-layout header [data-ee-pilot-cta-mode="header-programas"],
#default-layout header [data-saejee-nav-link="nosotros"],
#default-layout header [data-saejee-theme-link] {
  min-width: 0 !important;
  white-space: nowrap !important;
  padding-left: clamp(0.35rem, 1.8vw, 0.85rem) !important;
  padding-right: clamp(0.35rem, 1.8vw, 0.85rem) !important;
  font-size: clamp(0.58rem, 2.45vw, 0.75rem) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

#default-layout header nav > ul {
  min-width: 0;
}

#default-layout header nav > ul > li > a[data-element-type="main-menu-item"] {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
  font-size: clamp(0.62rem, 0.58vw, 0.72rem) !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

#default-layout header nav > ul > li > a[data-element-type="main-menu-item"] span {
  white-space: nowrap;
}

#default-layout header .order-2.hidden.space-x-2 {
  gap: 0.5rem !important;
  flex: 0 0 auto;
  min-width: 0;
}

#default-layout header .order-2.hidden.space-x-2 > a {
  flex: 0 0 auto;
  min-width: 0 !important;
}

#default-layout .saejee-lux-title {
  font-size: clamp(2.6rem, 5.4vw, 4.85rem) !important;
  line-height: 1.05 !important;
  max-width: 12.8ch !important;
}

@media (max-width: 767px) {
  #default-layout .saejee-lux-title {
    font-size: clamp(2.6rem, 11.5vw, 3.8rem) !important;
    line-height: 1.06 !important;
    max-width: 10.5ch !important;
  }
}

@media (min-width: 768px) {
  #default-layout header [data-element-type="cta-secondary"],
  #default-layout header [data-ee-pilot-cta-mode="header-programas"],
  #default-layout header [data-saejee-nav-link="nosotros"],
  #default-layout header [data-saejee-theme-link] {
    font-size: 0.68rem !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
}

@media (min-width: 1280px) {
  #default-layout header [data-element-type="logo"] img {
    max-width: 8.75rem;
  }

  #default-layout header nav > ul > li > a[data-element-type="main-menu-item"] {
    padding-left: 0.34rem !important;
    padding-right: 0.34rem !important;
    font-size: 0.63rem !important;
  }

  #default-layout header [data-element-type="cta-secondary"],
  #default-layout header [data-ee-pilot-cta-mode="header-programas"],
  #default-layout header [data-saejee-nav-link="nosotros"],
  #default-layout header [data-saejee-theme-link] {
    font-size: 0.72rem !important;
    padding-left: 0.85rem !important;
    padding-right: 0.85rem !important;
  }
}

@media (min-width: 1536px) {
  #default-layout header [data-element-type="logo"] img {
    max-width: 10rem;
  }

  #default-layout header nav > ul > li > a[data-element-type="main-menu-item"] {
    padding-left: 0.46rem !important;
    padding-right: 0.46rem !important;
    font-size: 0.69rem !important;
  }

  #default-layout header [data-element-type="cta-secondary"],
  #default-layout header [data-ee-pilot-cta-mode="header-programas"],
  #default-layout header [data-saejee-nav-link="nosotros"],
  #default-layout header [data-saejee-theme-link] {
    font-size: 0.76rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}



@media (min-width: 1280px) {
  #default-layout header nav > ul > li > a[data-element-type="main-menu-item"] > span,
  #default-layout header nav > ul > li > a[data-element-type="main-menu-item"] span.flex {
    text-transform: uppercase !important;
  }

  #default-layout header nav > ul > li > a[data-element-label="MBA/Ph.D."] > span,
  #default-layout header nav > ul > li > a[data-element-label="MBA/Ph.D."] span.flex {
    text-transform: none !important;
  }
}

@media (max-width: 1279px) {
  #default-layout header [data-element-type="main-menu-item"] span,
  #default-layout header [data-mobile-root] span,
  #default-layout header .iu-hydration-mobile-list span {
    text-transform: none !important;
  }
}

#default-layout header [data-element-label="MBA/Ph.D."],
#default-layout header [data-element-label="MBA/Ph.D."] span {
  text-transform: none !important;
}


/* Additions to the Spanish impressum fork; existing page styles stay intact. */
#astra-registry, #astra-registry-details { color: #222; line-height: 1.55; overflow-wrap: anywhere; }
#astra-registry *, #astra-registry-details * { box-sizing: border-box; }
#astra-registry { margin-bottom: 2rem; }
#astra-registry .astra-registry__inner { max-width: 1280px; margin: 0 auto; padding: 0 1rem; }
#astra-registry .astra-registry__source { margin: 0 0 .65rem; font-size: .8125rem; color: #595959; }
#astra-registry h2 { margin: 0 0 1.5rem; font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.25; font-weight: 600; }
#astra-registry a, #astra-registry-details a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
#astra-registry a:hover, #astra-registry-details a:hover { color: #000091; }
#astra-registry a:focus-visible, #astra-registry-details a:focus-visible,
#astra-registry-trigger:focus-visible { outline: 2px solid #000091; outline-offset: 4px; }
#astra-registry .astra-registry__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2rem; align-items: stretch; }
#astra-registry .astra-registry__identity { min-width: 0; }
#astra-registry .astra-registry__status { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin: 0 0 .75rem; }
#astra-registry .astra-registry__siret { font-size: 1.25rem; color: #595959; font-variant-numeric: tabular-nums; }
#astra-registry .astra-registry__badge, #astra-registry-details .astra-registry__badge { display: inline-block; padding: .15rem .55rem; border-radius: 4px; font-size: .8125rem; font-weight: 700; line-height: 1.5; white-space: nowrap; vertical-align: middle; }
#astra-registry .astra-registry__badge--active, #astra-registry-details .astra-registry__badge--active { color: #22613c; background: #c5f9ce; }
#astra-registry .astra-registry__badge--seat, #astra-registry-details .astra-registry__badge--seat { color: #244d9c; background: #e9edff; }
#astra-registry .astra-registry__seat { margin: 0 0 1rem; color: #595959; }
#astra-registry .astra-registry__card { border: 1px solid #dadae8; padding: 1.25rem 1.5rem; }
#astra-registry h3 { margin: 0 0 .75rem; font-size: 1.125rem; font-weight: 600; line-height: 1.45; }
#astra-registry .astra-registry__type { display: flex; flex-wrap: wrap; gap: .5rem .65rem; align-items: center; padding-bottom: 1rem; margin: 0; border-bottom: 1px solid #e1e1ea; font-size: .9375rem; }
#astra-registry .astra-registry__association { display: inline-flex; align-items: center; gap: .45rem; border-radius: 1rem; background: #f1eff5; padding: .25rem .65rem; }
#astra-registry .astra-registry__association svg { color: #604095; width: 18px; height: 18px; flex-shrink: 0; }
#astra-registry .astra-registry__links { padding: .65rem 0 0 1.1rem; margin: 0; list-style: disc; }
#astra-registry .astra-registry__links a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 500; font-size: .9375rem; }
#astra-registry .astra-registry__map { display: flex; flex-direction: column; margin: 0; min-width: 0; background: #f6f6f5; border: 1px solid #e1e1ea; border-radius: 6px; overflow: hidden; }
#astra-registry .astra-registry__map iframe { display: block; width: 100%; height: 100%; min-height: 360px; flex: 1; border: 0; background: #eeeae3; }
#astra-registry .astra-registry__map figcaption { padding: .65rem 1rem; background: #fff; font-size: .8125rem; line-height: 1.6; }
#astra-registry .astra-registry__map figcaption a { display: inline-flex; align-items: center; min-height: 44px; }
#astra-registry-trigger { min-height: 44px; gap: 1rem; }
#astra-registry-details { width: 100%; }
#astra-registry-details .astra-registry__intro { margin: 0 0 1rem; }
#astra-registry-details .astra-registry__legal { margin-top: 1.5rem; border: 1px solid #dadae8; padding: 1.5rem; }
#astra-registry-details .astra-registry__legal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; }
#astra-registry-details h3 { font-size: 1.125rem; line-height: 1.45; font-weight: 600; margin: 0; }
#astra-registry-details .astra-registry__logos { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; }
#astra-registry-details .astra-registry__logos img { width: 55px; height: 40px; object-fit: contain; }
#astra-registry-details dl { margin: 0; }
#astra-registry-details .astra-registry__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
#astra-registry-details dt { margin: 0; padding: .6rem 1.5rem .6rem 0; font-weight: 600; border-right: 1px solid #e1e1ea; }
#astra-registry-details dd { margin: 0; padding: .6rem 0 .6rem 1.5rem; min-width: 0; }
#astra-registry-details dd a { display: inline-block; padding-block: .2rem; }
#astra-registry-details .astra-registry__download { display: inline-flex; align-items: center; min-height: 44px; margin-top: .5rem; padding: .4rem .8rem; border: 1px solid #000091; color: #000091; text-decoration: none; }
#astra-registry-details .astra-registry__updated { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem 1.25rem; align-items: center; margin: 1.25rem 0 0; font-size: .75rem; color: #595959; }
#astra-registry-details .astra-registry__updated a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 768px) { #astra-registry .astra-registry__inner { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { #astra-registry .astra-registry__inner { padding-inline: 2rem; } }
@media (max-width: 767px) {
  #astra-registry .astra-registry__grid { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  #astra-registry .astra-registry__card { padding: 1rem 1.25rem; }
  #astra-registry .astra-registry__map iframe { height: 280px; min-height: 280px; flex: auto; }
  #astra-registry-details .astra-registry__legal { padding: 1rem; }
  #astra-registry-details .astra-registry__legal-heading { flex-direction: column; gap: 1rem; }
  #astra-registry-details .astra-registry__row { grid-template-columns: minmax(0, 1fr); padding: .8rem 0; border-bottom: 1px solid #ededf2; }
  #astra-registry-details .astra-registry__row:last-child { border-bottom: 0; }
  #astra-registry-details dt { border: 0; padding: 0 0 .25rem; }
  #astra-registry-details dd { padding: 0; }
  #astra-registry-details .astra-registry__updated { justify-content: flex-start; }
}
@media print {
  #astra-registry .astra-registry__map iframe { display: none; }
  #astra-registry-details[hidden], #astra-registry-details { display: block !important; height: auto !important; opacity: 1 !important; overflow: visible !important; }
  #astra-registry-details .astra-registry__row { break-inside: avoid; }
}


  #astra-footer { color: #3a3a3a; background: #fff; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
  #astra-footer *, #astra-footer *::before, #astra-footer *::after { box-sizing: border-box; }
  #astra-footer .astra-footer__inner { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: 32px; }
  #astra-footer a { color: inherit; text-decoration: none; text-underline-offset: .2em; }
  #astra-footer a:hover { color: #000091; text-decoration: underline; }
  #astra-footer a:focus-visible { outline: 2px solid #000091; outline-offset: 4px; border-radius: 2px; }
  #astra-footer .astra-footer__external::after { content: '↗'; display: inline-block; margin-left: .35em; font-size: 1em; line-height: 1; }
  #astra-footer h2, #astra-footer h3, #astra-footer p, #astra-footer ul { margin: 0; }
  #astra-footer ul { padding: 0; list-style: none; }
  #astra-footer .astra-footer__social { background: #f5f5fe; border-bottom: 2px solid #000091; }
  #astra-footer .astra-footer__social-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 26px; }
  #astra-footer .astra-footer__social h2 { color: #222; font-size: 22px; line-height: 1.35; font-weight: 600; }
  #astra-footer .astra-footer__social-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; flex-shrink: 0; }
  #astra-footer .astra-footer__social-links a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: #000091; }
  #astra-footer .astra-footer__social-links svg { display: block; width: 21px; height: 21px; fill: currentColor; }
  #astra-footer .astra-footer__directory { background: #f6f6f6; }
  #astra-footer .astra-footer__columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; padding-block: 34px; }
  #astra-footer .astra-footer__column { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
  #astra-footer h3 { margin-bottom: 9px; font-size: 13px; line-height: 1.5; font-weight: 600; color: #303030; }
  #astra-footer .astra-footer__column li a { display: inline-block; padding-block: 6px; font-size: 13px; line-height: 1.5; }
  #astra-footer .astra-footer__institution { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: 56px; padding-block: 30px 26px; }
  #astra-footer .astra-footer__registry-label { margin-bottom: 16px; color: #666; font-size: 12px; }
  #astra-footer .astra-footer__marks { display: flex; align-items: center; gap: 36px; }
  #astra-footer .astra-footer__republic { display: block; width: 128px; height: 120px; object-fit: contain; }
  #astra-footer .astra-footer__datagouv { display: flex; width: 126px; flex-direction: column; align-items: center; gap: 9px; text-align: center; font-size: 12px; font-weight: 600; line-height: 1.4; }
  #astra-footer .astra-footer__datagouv img { width: 65px; height: 65px; object-fit: contain; }
  #astra-footer .astra-footer__description { font-size: 14px; line-height: 1.7; }
  #astra-footer .astra-footer__description p + p { margin-top: 8px; }
  #astra-footer .astra-footer__description p a { text-decoration: underline; }
  #astra-footer .astra-footer__government-links { display: flex; flex-wrap: wrap; column-gap: 24px; row-gap: 5px; margin-top: 16px; }
  #astra-footer .astra-footer__government-links a { display: inline-block; padding-block: 6px; font-weight: 600; font-size: 13px; }
  #astra-footer .astra-footer__sources { padding-block: 16px 20px; border-top: 1px solid #ddd; }
  #astra-footer .astra-footer__sources h2 { color: #555; font-size: 14px; line-height: 1.5; font-weight: 400; margin-bottom: 10px; }
  #astra-footer .astra-footer__logos { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 16px; row-gap: 4px; }
  #astra-footer .astra-footer__logos li { display: flex; flex: 0 0 calc((100% - 176px) / 12); min-width: 0; }
  #astra-footer .astra-footer__logos a { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 58px; }
  #astra-footer .astra-footer__logos img { display: block; width: auto; height: auto; max-width: 94%; max-height: 44px; object-fit: contain; }
  #astra-footer .astra-footer__legal { padding-block: 12px 28px; border-top: 1px solid #ddd; color: #666; font-size: 12px; }
  #astra-footer .astra-footer__legal-links { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 14px; }
  #astra-footer .astra-footer__legal-links li { margin-right: 12px; padding-right: 12px; border-right: 1px solid #ddd; }
  #astra-footer .astra-footer__legal-links li:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
  #astra-footer .astra-footer__legal-links a { display: inline-block; padding-block: 6px; }
  #astra-footer .astra-footer__copyright { padding-right: 72px; }
  #astra-footer .astra-footer__copyright a { text-decoration: underline; }
  @media (max-width: 1023px) {
    #astra-footer .astra-footer__inner { padding-inline: 24px; }
    #astra-footer .astra-footer__columns { gap: 28px; }
    #astra-footer .astra-footer__institution { gap: 28px; }
    #astra-footer .astra-footer__marks { gap: 20px; }
    #astra-footer .astra-footer__logos li { flex-basis: calc((100% - 80px) / 6); }
  }
  @media (max-width: 767px) {
    #astra-footer .astra-footer__inner { padding-inline: 16px; }
    #astra-footer .astra-footer__social-inner { flex-direction: column; align-items: flex-start; gap: 14px; padding-block: 24px; }
    #astra-footer .astra-footer__social h2 { font-size: 20px; }
    #astra-footer .astra-footer__social-links { gap: 10px; }
    #astra-footer .astra-footer__columns { grid-template-columns: minmax(0, 1fr); gap: 30px; padding-block: 28px; }
    #astra-footer .astra-footer__column { gap: 24px; }
    #astra-footer h3 { font-size: 14px; margin-bottom: 4px; }
    #astra-footer .astra-footer__column li a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
    #astra-footer .astra-footer__institution { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-block: 28px; }
    #astra-footer .astra-footer__government-links { gap: 4px 20px; }
    #astra-footer .astra-footer__government-links a, #astra-footer .astra-footer__legal-links a { display: inline-flex; align-items: center; min-height: 44px; }
    #astra-footer .astra-footer__logos { column-gap: 16px; row-gap: 8px; }
    #astra-footer .astra-footer__logos li { flex-basis: calc((100% - 48px) / 4); }
    #astra-footer .astra-footer__legal { padding-bottom: 28px; }
    #astra-footer .astra-footer__legal-links { column-gap: 18px; }
    #astra-footer .astra-footer__legal-links li { margin: 0; padding: 0; border: 0; }
  }
