/* AMPA Miguel Delibes. Primary colour sampled from the original logo. */
:root { --ampa-green: #103810; --ampa-green-dark: #092409; --ampa-green-light: #eaf1e8; }
a { color: #103810; }
a:hover, a:focus { color: #092409; }
.navbar-inverse { background: #103810; border-color: #092409; }
.navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a,
.navbar-inverse .navbar-top-links > li > a, .navbar-inverse .navbar-top-links .btn-link { color: #fff; }
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-top-links > li > a:hover { background-color: #092409; color: #fff; }
.navbar-brand { display: flex; align-items: center; gap: 10px; }
.navbar-brand img { width: 42px; height: 42px; object-fit: contain; margin: 0; }
.sidebar .nav > li > a, .sidebar .nav > li > ul > li > a,
.sidebar .nav a .fa { color: #103810; }
.sidebar .nav li a.active, .sidebar .nav li a:hover,
.sidebar .nav li.active > a { background-color: #eaf1e8; color: #103810; }
.btn-primary, .btn-primary:focus, .btn-primary.focus {
  color: #fff; background-color: #103810; border-color: #103810;
}
.btn-primary:hover, .btn-primary:active, .btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff; background-color: #092409; border-color: #092409;
}
.btn-default, .btn-link, .text-primary { color: #103810; }
.label-primary, .badge-primary, .pagination > .active > a,
.pagination > .active > a:hover, .pagination > .active > span {
  color: #fff; background-color: #103810; border-color: #103810;
}
.pagination > li > a, .pagination > li > span { color: #103810; }
.form-control:focus { border-color: #103810; box-shadow: 0 0 0 3px rgba(16,56,16,.15); }
.nav-pills > li.active > a, .nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus { background-color: #103810; color: #fff; }
.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover { background-color: #103810; color: #fff; }
.panel-primary { border-color: #103810; }
.panel-primary > .panel-heading { background-color: #103810; border-color: #103810; color: #fff; }
/* Keep the square original logo legible without taking over the page. */
.page-header .event-logo { max-height: 140px !important; max-width: 100% !important; width: auto !important; object-fit: contain; }
img.logo { max-height: 150px; width: auto; max-width: 100%; object-fit: contain; }
@media (max-width: 767px) {
  .navbar-brand { gap: 7px; font-size: 15px; }
  .navbar-brand img { width: 34px; height: 34px; }
  .page-header .event-logo { max-height: 110px !important; }
}

/* AMPA banner: original logo, school name and location. Public catalog only. */
.pager-header-with-logo .pull-left:has(.organizer-logo) { float: none !important; width: 100%; }
.pager-header-with-logo a:has(> .organizer-logo) { display: flex; align-items: center; gap: 26px; padding: 24px 28px; border-radius: 14px; background: linear-gradient(110deg, #0b2e12, #1c502c); border: 1px solid #103810; box-shadow: 0 5px 18px rgba(16,56,16,.12); text-decoration: none; }
.pager-header-with-logo .organizer-logo { flex: 0 0 auto; box-sizing: border-box; width: 112px; height: 112px; max-height: 112px; max-width: 112px; padding: 8px; border-radius: 10px; background: #fff; object-fit: contain; }
.ampa-organizer-title { display: flex; flex-direction: column; gap: 5px; min-width: 0; line-height: 1.2; }
.ampa-brand-eyebrow { color: #dbead9; font-size: 17px; font-weight: 600; letter-spacing: .12em; }
.ampa-brand-name { color: #fff; font-size: 36px; font-weight: 700; letter-spacing: .015em; }
.ampa-brand-place { color: #dbead9; font-size: 19px; font-weight: 400; }
@media (max-width: 600px) {
  .pager-header-with-logo a:has(> .organizer-logo) { gap: 16px; padding: 18px 16px; border-radius: 10px; }
  .pager-header-with-logo .organizer-logo { width: 80px; height: 80px; max-height: 80px; max-width: 80px; padding: 6px; }
  .ampa-brand-eyebrow { font-size: 12px; letter-spacing: .08em; }
  .ampa-brand-name { font-size: 25px; }
  .ampa-brand-place { font-size: 14px; }
}
