/*
Theme Name: EE Theme
Theme URI: https://www.escuelaempresarial.es/
Author: EscuelaEmpresarial.es
Description: Tema ligero editorial y comparador para EEE 2.0.
Version: 0.4.3
Requires at least: 6.1
Requires PHP: 8.0
Text Domain: eee-theme
*/

:root {
  --eee-bg: #f7f5f0;
  --eee-white: #ffffff;
  --eee-surface: var(--eee-white);
  --eee-text: #142033;
  --eee-muted: #58616b;
  --eee-border: #e1ded5;
  --eee-brand: #14283f;
  --eee-brand-dark: #233f5b;
  /* Corporate colours: navy, the exact logo gold and white. */
  --eee-gold: #c5a467;
  /* Approved darker surface for programme heroes; logo and accents keep their gold. */
  --eee-program-gold: #bb985a;
  --eee-gold-ink: var(--eee-brand);
  --eee-accent: var(--eee-brand);
  --eee-radius: 5px;
  --eee-width: 1180px;
  --eee-shadow: 0 4px 18px rgba(20, 40, 63, .025);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--eee-bg);
  color: var(--eee-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}
a { color: var(--eee-brand); text-underline-offset: 3px; }
a:hover { color: var(--eee-brand-dark); }
img { max-width: 100%; height: auto; }

.eee-container {
  width: min(calc(100% - 32px), var(--eee-width));
  margin-inline: auto;
}

.eee-skip-link {
  position: absolute;
  left: -9999px;
  top: 8px;
  z-index: 9999;
  padding: 10px 14px;
  background: var(--eee-text);
  color: var(--eee-white);
}
.eee-skip-link:focus { left: 8px; }

.eee-site-header {
  background: var(--eee-surface);
  border-bottom: 1px solid var(--eee-border);
}
.eee-header-inner {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.eee-branding {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.eee-branding a {
  color: var(--eee-text);
  text-decoration: none;
  font-weight: 750;
  letter-spacing: -.02em;
  font-size: 1.1rem;
}
.eee-branding .custom-logo { max-height: 44px; width: auto; }

.eee-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.eee-nav a {
  color: var(--eee-text);
  text-decoration: none;
  font-weight: 600;
}
.eee-nav a:hover,
.eee-nav .current-menu-item > a { color: var(--eee-brand); }

.eee-main { padding: 44px 0 64px; }
.eee-page-header { margin-bottom: 28px; }
.eee-kicker {
  margin: 0 0 8px;
  color: var(--eee-brand);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.eee-title {
  margin: 0;
  max-width: 920px;
  font-size: clamp(2rem, 5vw, 3.4rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.eee-subtitle {
  max-width: 760px;
  color: var(--eee-muted);
  font-size: 1.08rem;
}

.eee-panel,
.eee-card {
  background: var(--eee-surface);
  border: 1px solid var(--eee-border);
  border-radius: var(--eee-radius);
  box-shadow: var(--eee-shadow);
}
.eee-panel { padding: clamp(20px, 4vw, 36px); }
.eee-card { padding: 22px; }
.eee-card h2,
.eee-card h3 { margin-top: 0; }
.eee-card-title a { color: var(--eee-text); text-decoration: none; }
.eee-card-title a:hover { color: var(--eee-brand); }

.eee-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.eee-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.eee-stack { display: grid; gap: 20px; }

.eee-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0;
}
.eee-card .eee-facts { grid-template-columns: minmax(0, 1fr); }
.eee-card .eee-fact-value { overflow-wrap: break-word; word-break: normal; }
.eee-fact {
  min-width: 0;
  padding: 16px;
  background: #f2f5f7;
  border-radius: 10px;
}
.eee-fact-label {
  display: block;
  color: var(--eee-muted);
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.eee-fact-value {
  display: block;
  margin-top: 4px;
  font-size: 1.04rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.eee-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--eee-brand);
  border-radius: 9px;
  background: var(--eee-brand);
  color: var(--eee-white);
  font-weight: 700;
  text-decoration: none;
}
.eee-button:hover { background: var(--eee-brand-dark); color: var(--eee-white); }
.eee-button-secondary {
  background: transparent;
  color: var(--eee-brand);
}

.eee-meta {
  color: var(--eee-muted);
  font-size: .92rem;
}
.eee-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  background: #f1eadc;
  color: var(--eee-brand-dark);
  font-size: .78rem;
  font-weight: 750;
}
.eee-section { margin-top: 42px; }
.eee-section-title {
  margin-bottom: 18px;
  font-size: clamp(1.4rem, 3vw, 2rem);
  letter-spacing: -.02em;
}

.eee-source-list {
  margin: 0;
  padding-left: 20px;
}
.eee-source-list li + li { margin-top: 8px; }

.eee-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  padding: 16px;
  margin-bottom: 24px;
  background: var(--eee-surface);
  border: 1px solid var(--eee-border);
  border-radius: 10px;
}
.eee-filter label { display: grid; gap: 5px; font-weight: 650; }
.eee-filter label { min-width: 0; max-width: 100%; }
.eee-filter input { width: 100%; max-width: 230px; }
.eee-filter select { max-width: 100%; }
:focus-visible { outline: 3px solid var(--eee-accent); outline-offset: 3px; }
.eee-filter select,
.eee-filter input {
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid #b9c4ce;
  border-radius: 7px;
  background: var(--eee-white);
  color: var(--eee-text);
  font: inherit;
}

.eee-content > :first-child { margin-top: 0; }
.eee-content > :last-child { margin-bottom: 0; }
.eee-content h2,
.eee-content h3 { line-height: 1.25; }

.eee-empty {
  padding: 28px;
  background: var(--eee-surface);
  border: 1px dashed #b9c4ce;
  border-radius: var(--eee-radius);
  color: var(--eee-muted);
}

.eee-site-footer {
  padding: 34px 0;
  background: #0e1b2a;
  color: #d8e0e8;
}
.eee-site-footer a { color: var(--eee-white); }
.eee-footer-inner {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.eee-footer-inner p { margin: 0; }

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}

@media (max-width: 900px) {
  .eee-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eee-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .eee-header-inner { align-items: flex-start; flex-direction: column; padding-block: 16px; }
  .eee-nav ul { gap: 8px 14px; }
  .eee-main { padding-top: 32px; }
  .eee-grid,
  .eee-grid-2,
  .eee-facts { grid-template-columns: 1fr; }
  .eee-title { font-size: 2rem; }
}


.eee-compare-picker {
  margin: 0;
  padding: 0;
  border: 0;
}
.eee-compare-picker legend {
  margin-bottom: 16px;
  font-size: 1.05rem;
}
.eee-compare-choice {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  min-height: 56px;
  padding: 14px;
  border: 1px solid var(--eee-border);
  border-radius: 10px;
  background: var(--eee-white);
  cursor: pointer;
}
.eee-compare-choice:has(input:checked) {
  border-color: var(--eee-brand);
  background: #f5f0e5;
}
.eee-compare-choice input {
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  flex: 0 0 auto;
}
.eee-compare-choice span {
  min-width: 0;
}
.eee-compare-choice small {
  display: block;
  margin-top: 3px;
  color: var(--eee-muted);
}
.eee-compare-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 0;
}
.eee-compare-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--eee-border);
  border-radius: var(--eee-radius);
  background: var(--eee-surface);
}
.eee-compare-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
  background: var(--eee-surface);
}
.eee-compare-table th,
.eee-compare-table td {
  overflow-wrap: anywhere;
  padding: 14px 16px;
  border-bottom: 1px solid var(--eee-border);
  border-right: 1px solid var(--eee-border);
  text-align: left;
  vertical-align: top;
}
.eee-compare-table tr:last-child th,
.eee-compare-table tr:last-child td {
  border-bottom: 0;
}
.eee-compare-table th:last-child,
.eee-compare-table td:last-child {
  border-right: 0;
}
.eee-compare-table thead th {
  background: #f2f5f7;
  font-size: .94rem;
}
.eee-compare-table tbody > tr > th {
  width: 180px;
  background: #f8fafb;
  color: var(--eee-muted);
  font-size: .88rem;
}
.eee-compare-table a:not(.eee-button) {
  font-weight: 700;
}
.eee-compare-table .eee-button {
  white-space: nowrap;
}

@media (max-width: 680px) {
  .eee-compare-table-wrap {
    margin-inline: -4px;
  }
}

/* Editorial identity: navy, warm paper and logo-gold details. */
.eee-header-inner { min-height: 108px; }
.eee-branding .eee-wordmark { display: flex; align-items: center; gap: 16px; }
.eee-brand-mark { flex: 0 0 64px; width: 64px; height: 64px; color: var(--eee-brand); }
.eee-wordmark-text { font-family: Georgia, 'Times New Roman', serif; font-size: 23px; font-weight: 400; line-height: 1.05; letter-spacing: -.025em; }
.eee-wordmark-text > span { display: block; }
.eee-wordmark-text small { display: block; font-family: Arial, sans-serif; font-size: 8px; letter-spacing: .18em; line-height: 1.5; margin-top: 7px; font-weight: 700; }
.eee-nav a { font-size: .9rem; padding: 10px 0; display: inline-block; }
.eee-nav li:last-child a { border-bottom: 2px solid var(--eee-gold); }
.eee-main { padding-top: 36px; }
/* Same copy, typography, line heights and content: only the hero outer vertical air changes. */
.eee-comparator-hero { position: relative; background: var(--eee-brand); color: var(--eee-white); padding: clamp(30px, 3.2vw, 44px) clamp(28px, 5vw, 64px) clamp(18px, 2vw, 26px); margin-bottom: 28px; border-bottom: 4px solid var(--eee-gold); overflow: hidden; }
.eee-comparator-hero::after { content: ''; position: absolute; width: 240px; height: 240px; border: 1px solid #c5a46740; border-radius: 50%; right: -130px; top: -80px; pointer-events: none; }
.eee-comparator-hero .eee-kicker { color: var(--eee-gold); font-size: .71rem; letter-spacing: .14em; margin-bottom: 22px; }
.eee-title { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(2.4rem, 5vw, 4.2rem); letter-spacing: -.035em; line-height: 1.1; }
.eee-comparator-hero .eee-subtitle { color: #d5dde6; font-size: 1.03rem; max-width: 660px; line-height: 1.8; margin-top: 22px; }
.eee-hero-principles { display: flex; gap: 12px 28px; flex-wrap: wrap; list-style: none; padding: 22px 0 0; margin: 24px 0 0; border-top: 1px solid #ffffff26; color: #e4e8ed; font-size: .77rem; }
.eee-hero-principles li::before { content: '✓'; color: var(--eee-gold); margin-right: 8px; }
.eee-filter { padding: 22px; gap: 18px; border-radius: 5px; }
.eee-filter label { flex: 1 1 170px; font-size: .78rem; gap: 8px; }
.eee-filter input { max-width: none; }
.eee-filter select, .eee-filter input { border-color: #c9c9c3; border-radius: 3px; min-height: 48px; font-size: .94rem; }
.eee-filter > a { font-size: .8rem; align-self: center; }
/* EE search result feedback: visible on return from GET, no JS required. */
.eee-comparator-feedback { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 18px; padding: 14px 18px; margin: 0 0 24px; background: #eef3f6; border-left: 4px solid var(--eee-brand); border-radius: 3px; color: var(--eee-brand); scroll-margin-top: 20px; line-height: 1.5; }
.eee-comparator-feedback strong { font-weight: 700; }
.eee-comparator-feedback a { color: var(--eee-brand); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.eee-comparator-feedback span { color: #536174; }
#eee-comparator-results { scroll-margin-top: 24px; }
.eee-button { border-radius: 3px; min-height: 48px; padding-inline: 22px; font-size: .88rem; cursor: pointer; }
.eee-compare-picker legend { font-family: Georgia, serif; font-size: 1.7rem; margin: 0; }
.eee-compare-picker legend strong { font-weight: 400; }
.eee-compare-picker > .eee-meta { margin: 8px 0 24px; }
.eee-compare-choice { padding: 24px 20px; border-radius: 4px; min-height: 150px; transition: border-color .15s, background .15s; }
.eee-compare-choice:hover { border-color: #9a7a44; }
.eee-compare-choice input { accent-color: var(--eee-brand); }
.eee-compare-choice strong { display: block; font-size: 1rem; line-height: 1.5; }
.eee-compare-choice small { margin-top: 8px; font-size: .8rem; }
.eee-compare-choice .eee-choice-facts { padding-top: 12px; margin-top: 12px; border-top: 1px solid var(--eee-border); }
.eee-compare-actions { border-top: 1px solid var(--eee-border); padding-top: 22px; margin-top: 26px; }
.eee-comparator-empty { padding: 28px; background: #f7f5f0; border-left: 3px solid var(--eee-gold); }
.eee-comparator-empty h2 { font: 400 1.35rem/1.3 Georgia, serif; margin: 0 0 10px; }
.eee-comparator-empty p { color: var(--eee-muted); margin: 0; max-width: 640px; }
.eee-section-title { font-family: Georgia, serif; font-weight: 400; }
.eee-compare-table thead th { background: var(--eee-brand); color: var(--eee-white); padding-block: 24px; }
.eee-compare-table thead a { color: var(--eee-white); }
.eee-compare-table tbody > tr > th { background: #f2efe8; }
.eee-site-footer { background: var(--eee-brand); border-top: 3px solid var(--eee-gold); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .eee-compare-choice { transition: none; } }
@media (max-width: 680px) {
 .eee-header-inner { gap: 16px; }
 .eee-nav { width: 100%; border-top: 1px solid var(--eee-border); padding-top: 8px; }
 .eee-nav ul { justify-content: space-between; }
 .eee-nav a { font-size: .82rem; }
 .eee-comparator-hero { padding: 26px 22px 20px; }
 .eee-hero-principles { flex-direction: column; gap: 10px; }
 .eee-filter { padding: 18px; gap: 16px; }
 .eee-filter label { flex-basis: 100%; }
 .eee-filter .eee-button { width: 100%; }
 .eee-compare-choice { min-height: 0; }
 .eee-compare-actions .eee-button { flex: 1; }
 .eee-comparator-empty { padding: 20px; }
}

/* Approved EE identity and architectural home hero. */
.eee-home-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 540px; display: flex; align-items: center; border: 1px solid #d6cbb9; border-radius: 6px; background: #f7f5f0 url('assets/hero-column.webp') right center / cover no-repeat; }
.eee-home-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #f7f5f0 0%, #f7f5f0f5 32%, #f7f5f0c9 52%, #f7f5f000 78%); }
.eee-home-hero-copy { width: 76%; padding: clamp(28px, 4.5vw, 58px); }
.eee-home-hero .eee-kicker { color: var(--eee-brand); font-weight: 500; font-size: .73rem; letter-spacing: .21em; margin-bottom: 22px; }
.eee-home-hero .eee-title { color: var(--eee-brand); font-size: clamp(2.8rem, 5.6vw, 4.9rem); line-height: 1.04; }
.eee-gold-dot { color: var(--eee-gold); }
.eee-home-hero .eee-subtitle { color: #303b46; max-width: 540px; font-size: 1.15rem; margin-block: 24px 32px; }
.eee-home-actions { display: flex; gap: 22px 32px; flex-wrap: wrap; align-items: center; }
.eee-home-actions .eee-button { gap: 24px; padding: 15px 23px; }
.eee-editorial-link { color: var(--eee-brand); text-decoration: none; border-bottom: 1px solid var(--eee-gold); padding-block: 8px; font-size: .94rem; }
#criterio-editorial { scroll-margin-top: 36px; }
@media (max-width: 680px) {
 .eee-home-hero { min-height: 650px; align-items: flex-start; background-size: auto 420px; background-position: right bottom; }
 .eee-home-hero::before { background: linear-gradient(180deg, #f7f5f0 0%, #f7f5f0 46%, #f7f5f0e6 57%, #f7f5f000 78%); }
 .eee-home-hero-copy { width: 100%; padding: 30px 22px 260px; }
 .eee-home-hero .eee-title { font-size: clamp(2.55rem, 10.7vw, 3.6rem); }
 .eee-home-hero .eee-subtitle { font-size: 1rem; margin-block: 20px 24px; }
 .eee-home-actions { gap: 12px 20px; }
 .eee-home-actions .eee-button { gap: 16px; }
}


/* Public discovery v1: aligns with approved navy/white/gold identity.
   Kept separate from legacy commercial report and checkout styling. */
.eee-public-hero{background:var(--eee-brand);color:var(--eee-white);border-bottom:4px solid var(--eee-gold);margin:-44px calc(50% - 50vw) 0;padding:clamp(58px,7vw,112px) max(24px,calc((100vw - 1180px)/2));}
.eee-public-hero__inner{max-width:890px}
.eee-public-eyebrow{color:var(--eee-gold);text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:750;margin:0 0 22px}
.eee-public-hero h1{font-family:Georgia,serif;font-size:clamp(2.7rem,5.5vw,5rem);line-height:1.12;letter-spacing:-.04em;font-weight:400;margin:0 0 26px}
.eee-public-hero__inner>p:not(.eee-public-eyebrow){color:#e3e9ef;font-size:clamp(1rem,2vw,1.2rem);line-height:1.75;max-width:740px}
.eee-public-hero__links{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.eee-public-cta{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;min-height:48px;text-decoration:none;background:var(--eee-gold);border:1px solid var(--eee-gold);color:var(--eee-brand);font-weight:700;border-radius:3px}
.eee-public-cta:hover{background:var(--eee-white);color:var(--eee-brand)}
.eee-public-cta--outline{background:transparent;color:var(--eee-white);border-color:var(--eee-gold)}
.eee-public-cta--outline:hover{background:var(--eee-white);color:var(--eee-brand)}
.eee-public-intro>h2,.eee-public-section-head h2,.eee-public-method>h2{font:400 clamp(1.8rem,3vw,2.75rem)/1.2 Georgia,serif;letter-spacing:-.025em;margin:0 0 24px}
.eee-public-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.eee-public-choice,.eee-public-method .eee-public-choices>div{background:var(--eee-white);border:1px solid #dce2e8;border-top:3px solid var(--eee-gold);padding:25px;min-width:0}
.eee-public-choice h3,.eee-public-method h3{font:400 1.5rem/1.25 Georgia,serif;margin:0 0 15px}
.eee-public-choice p,.eee-public-method .eee-public-choices p{color:#536174;font-size:.94rem}
.eee-public-choice a{font-weight:700;text-underline-offset:4px}
.eee-public-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.eee-public-section-head h2{margin-bottom:0}
.eee-public-section-head>a{font-weight:650;white-space:nowrap}
.eee-public-small{font-size:.86rem;color:#536174;line-height:1.7;margin-top:22px}
.eee-public-method{border-top:1px solid #dce2e8;padding-top:38px}
.eee-public-method>p:last-child{margin-top:20px}
.eee-public-hero a:focus-visible{outline:3px solid var(--eee-white);outline-offset:3px}
@media(max-width:850px){.eee-public-choices{grid-template-columns:1fr 1fr}.eee-public-method .eee-public-choices>div:last-child{grid-column:1/-1}}
@media(max-width:620px){.eee-public-hero{padding:55px 18px;margin-top:-44px}.eee-public-hero h1{font-size:clamp(2.4rem,10vw,3.25rem)}.eee-public-hero__links{display:grid}.eee-public-choices{grid-template-columns:1fr}.eee-public-method .eee-public-choices>div:last-child{grid-column:auto}.eee-public-section-head{display:block}.eee-public-section-head>a{display:inline-block;margin-top:14px}.eee-public-choice{padding:22px}}
@media(prefers-reduced-motion:reduce){.eee-public-hero *{scroll-behavior:auto}}


/* Disclosure and compact campus cards */
.eee-editorial-notice{background:#f8f3e8;border-left:3px solid var(--eee-gold);padding:14px 17px;color:#33465b;line-height:1.65;font-size:.94rem;margin:0 0 28px}
.eee-public-campus-card{display:flex;flex-direction:column;align-items:stretch}
.eee-public-campus-card .eee-card-title{line-height:1.35}
.eee-public-campus-card .eee-button{margin-top:auto;align-self:flex-start}
.eee-public-campus-card .eee-meta{overflow-wrap:anywhere}


/* Shared public navigation */
.eee-public-navigation__mobile{display:none}
.eee-public-nav ul{list-style:none;display:flex;gap:clamp(10px,1.8vw,24px);margin:0;padding:0;align-items:center;flex-wrap:wrap}
.eee-public-nav a{color:var(--eee-brand);text-decoration:none;font-size:.91rem;font-weight:650;padding:10px 0;display:block}
.eee-public-nav a:hover,.eee-public-nav a:focus-visible{color:var(--eee-brand);text-decoration:underline;text-underline-offset:5px}
@media(max-width:850px){
 .eee-public-navigation{margin-left:auto}
 .eee-public-navigation__desktop{display:none}
 .eee-public-navigation__mobile{display:block;position:relative}
 .eee-public-navigation__mobile summary{cursor:pointer;min-height:44px;min-width:66px;padding:10px 12px;border:1px solid #c9d1d8;border-radius:3px;list-style:none;font-weight:700}
 .eee-public-navigation__mobile summary::-webkit-details-marker{display:none}
 .eee-public-navigation__mobile-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:min(320px,calc(100vw - 32px));background:var(--eee-white);border:1px solid #dce2e8;box-shadow:0 12px 32px #14283f24;padding:12px 18px}
 .eee-public-navigation__mobile-panel .eee-public-nav ul{display:block}
 .eee-public-navigation__mobile-panel .eee-public-nav a{min-height:44px;padding:11px 4px}
 .eee-public-navigation__mobile-panel .eee-public-nav--secondary{border-top:1px solid #dce2e8;margin-top:10px;padding-top:10px}
}


/* Institution contact page: content is purely informational until reviewed. */
.eee-public-institution-hero{background:var(--eee-brand);color:var(--eee-white);border-bottom:4px solid var(--eee-gold);padding:clamp(28px,5vw,60px);border-radius:3px}
.eee-public-institution-hero h1{font:400 clamp(2.2rem,5vw,4rem)/1.12 Georgia,serif;margin:0 0 16px}
.eee-public-institution-hero p:last-child{max-width:760px;color:#e0e8f0;font-size:1.05rem;line-height:1.7}
.eee-institutions-page__content{max-width:1100px;margin:auto}
.eee-institutions-page__content h2{font:400 clamp(1.5rem,3vw,2.4rem)/1.22 Georgia,serif}
.eee-institutions-page__content .eee-public-choice h3{font-size:1.35rem}
.eee-site-footer .eee-public-nav{margin-top:12px}
.eee-site-footer .eee-public-nav ul{gap:8px 18px}
.eee-site-footer .eee-public-nav a{font-size:.84rem;color:var(--eee-white)}
.eee-site-footer a:hover,.eee-site-footer .eee-public-nav a:hover{color:var(--eee-gold)}
.eee-site-footer a:focus-visible,.eee-comparator-hero a:focus-visible,.eee-public-institution-hero a:focus-visible{outline-color:var(--eee-gold)}


/* Directory discovery: shared navy hero, high-salience search and readable results. */
.eee-directory-hero {
  --eee-hero-surface: var(--eee-brand);
  --eee-hero-ink: var(--eee-white);
  --eee-hero-accent: var(--eee-gold);
  background: var(--eee-hero-surface);
  color: var(--eee-hero-ink);
  border-bottom: 4px solid var(--eee-hero-accent);
  padding: clamp(34px, 5vw, 70px);
  margin-bottom: 26px;
  border-radius: 2px;
}
.eee-directory-hero h1{font:400 clamp(2.35rem,4.4vw,4rem)/1.13 Georgia,serif;letter-spacing:-.025em;max-width:980px;margin:0 0 18px;color:inherit}
.eee-directory-hero>p:not(.eee-public-eyebrow){font-size:1.08rem;color:inherit;line-height:1.65;max-width:750px;margin:0}
.eee-directory-hero__link{display:inline-block;color:var(--eee-gold);text-underline-offset:5px;margin-top:18px;font-weight:650}
.eee-directory-hero__link:hover{color:var(--eee-white)}
.eee-directory-hero a:focus-visible{outline-color:var(--eee-hero-accent)}
.eee-directory-search{background:var(--eee-white);border:1px solid #dce2e8;border-radius:3px;padding:18px 22px;margin-bottom:24px}
.eee-directory-search>label,.eee-directory-search-label{display:block;font-size:.89rem;font-weight:700;color:var(--eee-brand);margin-bottom:10px}
.eee-directory-search__row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.eee-directory-search input[type=search],.eee-filter input[type=search]{width:100%;min-width:0;min-height:48px;background:var(--eee-white);border:1px solid #c7ced7;border-radius:3px;padding:10px 15px;color:#142033;font:inherit}
.eee-directory-search__row input{flex:1 1 300px}
.eee-filter .eee-directory-search-label{flex:1 1 250px}
.eee-directory-summary{color:#536174;font-size:.92rem;margin:0 0 20px}
.eee-directory-search :focus-visible,.eee-filter :focus-visible{outline:3px solid var(--eee-brand);outline-offset:2px}
@media(max-width:650px){.eee-directory-hero{padding:34px 22px}.eee-directory-search__row{display:grid;grid-template-columns:1fr}.eee-directory-search__row input{width:100%}.eee-directory-search__row .eee-button{text-align:center}}


/* EE directory UX v2: consistent search grammar across institution/programme pages. */
.ee-directory-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:var(--eee-white);border:1px solid #dce2e8;border-radius:4px;padding:18px 22px;margin:0 0 24px}
.ee-directory-controls .ee-directory-controls__row{display:flex;flex:1 1 100%;min-width:0;align-items:end;gap:12px}
.ee-directory-controls .ee-directory-controls__row input[type=search]{flex:1 1 auto;width:100%;max-width:none;min-width:0}
.ee-directory-controls>label,.ee-directory-controls .eee-directory-search-label{flex:1 1 165px;min-width:0;display:flex;flex-direction:column;gap:8px;margin:0;font-size:.87rem;font-weight:700;color:var(--eee-brand)}
.ee-directory-controls .ee-directory-controls__query{flex:2 1 320px;min-width:220px}
.ee-directory-controls input[type=search],.ee-directory-controls select{min-height:46px;width:100%;border:1px solid #c7ced7;border-radius:4px;padding:9px 13px;background:var(--eee-white);color:var(--eee-brand);font:inherit;font-weight:400}
.ee-directory-controls .ee-directory-submit,.ee-directory-controls .ee-directory-reset{min-height:46px;min-width:94px;padding:9px 17px;line-height:1.25;font-size:.9rem;text-align:center;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;border-radius:4px}
.ee-directory-controls .ee-directory-reset{background:var(--eee-white);color:var(--eee-brand);border:1px solid #a8b4c1;text-decoration:none}
.ee-directory-controls .ee-directory-submit:hover{background:#294b6e}
.ee-directory-controls .ee-directory-reset:hover{background:#f1f3f5}
.ee-directory-controls :focus-visible{outline:3px solid var(--eee-brand);outline-offset:2px}
@media(max-width:680px){
 .ee-directory-controls{padding:16px;gap:12px}
 .ee-directory-controls .ee-directory-controls__row{flex-wrap:wrap}
 .ee-directory-controls .ee-directory-controls__row input[type=search]{flex-basis:100%}
 .ee-directory-controls>label,.ee-directory-controls .ee-directory-controls__query{flex-basis:100%;min-width:0}
 .ee-directory-controls .ee-directory-submit,.ee-directory-controls .ee-directory-reset{flex:1 1 110px}
}


/* EE directory controls v3: consistent bottom alignment in both archives. */
.ee-directory-controls.eee-filter > .ee-directory-reset,
.ee-directory-controls.eee-filter > .ee-directory-submit {
  align-self: flex-end;
  height: 46px;
  min-height: 46px;
  margin: 0;
  box-sizing: border-box;
  vertical-align: bottom;
}
.ee-directory-controls .ee-directory-controls__row > .ee-directory-reset,
.ee-directory-controls .ee-directory-controls__row > .ee-directory-submit {
  height: 46px;
  min-height: 46px;
  margin: 0;
  align-self: flex-end;
}


/* EE editorial guides share the public directory visual language. */
.ee-guides-page .ee-guides-hero{margin-bottom:28px}
.ee-guides-page .ee-guides-hero h1{font:400 clamp(2.35rem,4.4vw,4rem)/1.13 Georgia,serif;color:var(--eee-white)}
.ee-guides-page .ee-guides-content{background:var(--eee-white);border:1px solid #e1ded5;border-radius:4px;padding:clamp(24px,3.2vw,42px)}
.ee-guides-page .ee-guides-content>:first-child{margin-top:0}
.ee-guides-page .ee-guides-content h2{color:var(--eee-brand)}
@media(max-width:680px){.ee-guides-page .ee-guides-content{padding:20px}}


/* EE detail pages: consistent hierarchy without implying unearned verification. */
.ee-detail-hero{padding-block:clamp(32px,4vw,56px);margin-bottom:28px}
.ee-detail-hero h1{max-width:1080px;overflow-wrap:anywhere}
.ee-detail-hero .ee-detail-hero__support{color:inherit;max-width:960px;margin:10px 0 0;line-height:1.55;font-size:1rem}
.ee-detail-hero .ee-detail-hero__support a,.ee-detail-hero .eee-meta a{color:var(--eee-hero-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
.ee-detail-hero .ee-detail-hero__support a:hover,.ee-detail-hero .eee-meta a:hover{color:inherit;text-decoration-thickness:2px}
.ee-detail-hero .eee-meta{color:inherit}
.ee-detail-page>.eee-panel{border-radius:4px}
.ee-detail-page .eee-editorial-notice{margin-bottom:24px}
.ee-detail-page .eee-facts{margin-block:20px 26px}
.ee-detail-page .eee-fact{min-width:0}
.ee-detail-page .eee-fact-value{overflow-wrap:anywhere}
.ee-detail-page .eee-section-title{font-family:Georgia,serif;font-weight:400;letter-spacing:-.02em}
.ee-detail-page .eee-source-list li{overflow-wrap:anywhere}
.ee-detail-page .eee-panel .eee-button{max-width:100%}
@media(max-width:680px){.ee-detail-hero{padding:30px 22px}.ee-detail-hero h1{font-size:clamp(2.1rem,9vw,3.1rem)}}


/* Programme detail: retain the approved subtle gold and unboxed metadata.
   Navy ink on gold meets WCAG AA normal-text contrast (5.52:1). */
.ee-program-detail .ee-detail-hero {
  --eee-hero-surface: var(--eee-program-gold);
  --eee-hero-ink: var(--eee-gold-ink);
  --eee-hero-accent: var(--eee-brand);
  padding-block: clamp(28px, 3.6vw, 46px);
}
.ee-program-detail .ee-detail-hero h1 {
  color: var(--eee-brand);
  margin-bottom: 12px;
  font-size: clamp(2.1rem, 3.65vw, 3.35rem);
  line-height: 1.15;
  letter-spacing: -.022em;
  overflow-wrap: anywhere;
}
.ee-program-detail .ee-detail-hero .eee-public-eyebrow {
  display: inline-block;
  max-width: 100%;
  color: var(--eee-brand);
  letter-spacing: .17em;
}
.ee-program-detail .ee-detail-hero .ee-detail-hero__support a {
  display: inline-block;
  max-width: 100%;
  color: var(--eee-brand);
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.ee-program-detail .ee-detail-hero .ee-detail-hero__support a:hover {
  color: var(--eee-brand);
  text-decoration-thickness: 2px;
}
@media (max-width: 680px) {
  .ee-program-detail .ee-detail-hero h1 {
    font-size: clamp(1.95rem, 7.7vw, 2.55rem);
    line-height: 1.16;
  }
}

/* Existing card geometry is retained; only corporate colour tokens are shared. */
.ee-school-card,.ee-program-card{position:relative;overflow:hidden}
.ee-school-card::before,.ee-program-card::before{content:"";display:block;height:4px;position:absolute;top:0;left:0;right:0}
.ee-school-card::before{background:var(--eee-brand)}
.ee-program-card::before{background:var(--eee-gold)}
.ee-school-card>.eee-kicker{color:var(--eee-brand)}
.ee-program-card>.eee-kicker{color:var(--eee-brand)}
.ee-official-source{border-top:1px solid #e1ded5;margin-top:32px;padding:22px 0 4px}
.ee-official-source p{margin:0 0 9px;max-width:790px}
.ee-official-source p:not(:first-child){color:#536174;font-size:.94rem}
.ee-official-source__link{display:inline-flex;margin-top:9px;color:var(--eee-brand);font-weight:700;text-decoration:underline;text-underline-offset:5px}
.ee-official-source__link:after{content:" ↗";padding-left:7px}


/* EE next-step navigation: internal comparison first, official source visible but secondary. */
.ee-program-actions{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;margin:24px 0}
.ee-program-actions .eee-button{margin:0;min-height:48px;max-width:100%;text-align:center}
.ee-program-actions .eee-button-secondary{background:var(--eee-white);color:var(--eee-brand);border-color:#a7b1be}
.ee-program-actions .eee-button-secondary:hover{background:#f5f4f0;color:var(--eee-brand)}
.ee-school-programmes{scroll-margin-top:28px}
@media(max-width:620px){.ee-program-actions{flex-direction:column}.ee-program-actions .eee-button{width:100%}}


/* EE card identity v2: inset brand rule, matching the approved design concept. */
.ee-school-card,.ee-program-card{position:relative;background:var(--eee-white);border:1px solid #e1ded5;border-radius:5px;padding-top:30px}
.ee-school-card::before,.ee-program-card::before{top:16px;left:23px;right:23px;height:4px;border-radius:4px}
.ee-school-card>.eee-kicker,.ee-program-card>.eee-kicker{font-size:.79rem;font-weight:750;letter-spacing:.1em}
.ee-school-card>.eee-kicker{color:#314c6c}
.ee-program-card>.eee-kicker{color:var(--eee-brand)}
.ee-school-card .eee-card-title,.ee-program-card .eee-card-title{margin-top:8px}
.ee-school-card:focus-within,.ee-program-card:focus-within{border-color:#a2adba}
@media(max-width:620px){.ee-school-card::before,.ee-program-card::before{left:19px;right:19px}}


/* EE programme reading order. */
.ee-program-description{margin-top:26px}
.ee-program-sources .eee-meta{margin:5px 0 0}
.ee-source-pending{margin:18px 0 0;padding-left:20px;color:var(--eee-muted)}

/* EE comparison remains readable inside its own mobile scroll region. */
.eee-compare-picker{min-width:0}
.eee-compare-table-wrap{max-width:100%;overscroll-behavior-x:contain}
.eee-compare-table tr>th:first-child{position:sticky;left:0;z-index:1}
.eee-compare-table thead tr>th:first-child{z-index:2}
.eee-compare-table .eee-button{white-space:normal;text-align:center}
.ee-compare-scroll-hint{display:none}
@media(max-width:680px){
 .ee-compare-scroll-hint{display:block}
 .eee-compare-table th,.eee-compare-table td{padding:12px}
 .eee-compare-table tbody>tr>th{width:132px;min-width:132px}
}

/* EE comparator UX: search fields on the left, two aligned actions on the right.
   Desktop is a single row; only narrower screens regroup controls. */
.eee-comparator-filter.eee-filter {
  display: grid;
  grid-template-columns: minmax(0,1.22fr) minmax(0,.88fr) minmax(0,1fr) minmax(0,1.06fr) max-content max-content;
  column-gap: 12px;
  row-gap: 16px;
  align-items: end;
}
.eee-comparator-filter.eee-filter > label {
  display: flex;
  flex: none;
  flex-direction: column;
  justify-content: flex-end;
  align-self: stretch;
  gap: 8px;
  width: 100%;
  min-width: 0;
  margin: 0;
}
.eee-comparator-filter.eee-filter > label > input,
.eee-comparator-filter.eee-filter > label > select {
  width: 100%;
  max-width: none;
  min-width: 0;
  height: 48px;
  min-height: 48px;
  margin: 0;
}
.eee-comparator-filter.eee-filter > button {
  align-self: end;
  width: auto;
  min-width: 84px;
  height: 48px;
  min-height: 48px;
  padding: 0 15px;
  white-space: nowrap;
}
@media (max-width: 1120px) {
  .eee-comparator-filter.eee-filter {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .eee-comparator-filter.eee-filter > button {
    width: 100%;
  }
}
@media (max-width: 620px) {
  .eee-comparator-filter.eee-filter {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .eee-comparator-filter.eee-filter > label {
    grid-column: 1 / -1;
  }
}
