/*
 * AGISCUOLA — SAFE THEME OVERRIDES
 * --------------------------------
 * Obiettivo: differenziare AGISCUOLA da AGIS tramite il colore,
 * SENZA modificare il layout esistente del tema Genesis/AGIS.
 *
 * DNA condiviso: giallo AGIS
 * Identità AGISCUOLA: blu istituzionale / culturale
 */

:root {
  --agis-galaxy-yellow: #F5B940;

  --school-primary: #2E5D8C;
  --school-primary-dark: #1E3F63;
  --school-primary-light: #4D78A5;
  --school-primary-soft: #E7EEF5;

  --school-ink: #1A232C;
  --school-text: #3F4A55;
  --school-bg: #F1F3F5;
  --school-surface: #FFFFFF;
  --school-border: #D9E0E7;
}

/* ==========================================================
   00. CRITICAL RESTORE
   Queste regole sono strutturali: nascondono correttamente
   testi screen-reader, dropdown e modale quando sono chiusi.
   ========================================================== */

.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.header-utility {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  position: absolute !important;
  top: -30px;
  right: 0;
  z-index: 10001;
}

.header-utility .hu-widgets {
  margin-left: 8px;
}

.hu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(0,0,0,.15);
  color: #fff;
  cursor: pointer;
  transition: transform .15s ease, background .2s ease, border-color .2s ease;
}

.hu-btn:hover,
.hu-btn:focus {
  transform: translateY(-1px);
  background: rgba(0,0,0,.25);
  border-color: rgba(255,255,255,.6);
  color: #fff;
  outline: none;
}

.hu-btn .dashicons {
  font-size: 20px;
  line-height: 1;
}

.hu-user {
  position: relative;
}

.hu-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 180px;
  padding: 8px;
  margin: 0;
  display: none;
  z-index: 10010;
  list-style: none;
  background: #fff;
  color: var(--school-ink);
  border: 1px solid var(--school-border);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(20,39,61,.16);
}

.hu-dropdown.is-open {
  display: block;
}

.hu-dropdown a {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--school-primary) !important;
  text-decoration: none;
}

.hu-dropdown a:hover,
.hu-dropdown a:focus {
  background: var(--school-primary-soft);
  color: var(--school-primary-dark) !important;
  outline: none;
}

.hu-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 10020;
}

.hu-modal.is-open {
  display: block;
}

.hu-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,21,34,.64);
}

.hu-modal__dialog {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 10vh auto;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--school-border);
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(10,28,50,.30);
}

.hu-modal__dialog h2 {
  color: var(--school-primary-dark);
}

.hu-modal__close {
  position: absolute;
  right: 12px;
  top: 12px;
  padding: 4px;
  background: transparent;
  border: 0;
  color: var(--school-ink);
  cursor: pointer;
}

.hu-modal__close .dashicons {
  font-size: 22px;
}

.hu-modal .search-form {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
}

.hu-modal .search-form label {
  display: none;
}

.hu-modal .search-form input[type="search"] {
  flex: 1 1 auto;
  height: 48px;
  padding: 0 14px;
  font-size: 18px;
  border: 1px solid var(--school-border);
  border-radius: 12px;
}

.hu-modal .search-form input[type="submit"] {
  height: 48px;
  padding: 0 18px;
  margin: 0;
  border-radius: 12px;
  background: var(--school-primary);
  color: #fff;
  font-weight: 600;
}

.hu-modal .search-form input[type="submit"]:hover,
.hu-modal .search-form input[type="submit"]:focus {
  background: var(--school-primary-dark);
}

.hu-modal-open {
  overflow: hidden;
}

/* ==========================================================
   01. BASE COLORS — niente modifiche a dimensioni/layout
   ========================================================== */

body,
.home .site-inner {
  background-color: var(--school-bg);
  color: var(--school-text);
}

a {
  color: var(--school-primary);
}

a:hover,
a:focus {
  color: var(--school-primary-dark);
}

/* ==========================================================
   02. HEADER
   Manteniamo immagine/header esistenti e cambiamo solo overlay.
   ========================================================== */

.site-header {
  background-color: var(--school-primary-dark);
}

.site-header::before {
  background: linear-gradient(
    90deg,
    rgba(30,63,99,.91) 0%,
    rgba(46,93,140,.82) 100%
  ) !important;
}

.site-header .site-title a,
.site-header .site-title a:hover,
.site-header .site-title a:focus {
  color: #fff;
}

.genesis-nav-menu > .menu-item > a {
  color: #fff;
}

.genesis-nav-menu > .menu-item > a:hover,
.genesis-nav-menu > .menu-item > a:focus,
.genesis-nav-menu > .current-menu-item > a {
  color: var(--agis-galaxy-yellow) !important;
}

.genesis-nav-menu .sub-menu a {
  color: var(--school-primary-dark) !important;
}

.genesis-nav-menu .sub-menu a:hover,
.genesis-nav-menu .sub-menu a:focus,
.genesis-nav-menu .sub-menu .current-menu-item > a {
  color: var(--school-primary) !important;
  background-color: var(--school-primary-soft);
}

.menu-toggle,
.sub-menu-toggle,
.menu-toggle:hover,
.menu-toggle:focus,
.sub-menu-toggle:hover,
.sub-menu-toggle:focus {
  color: #fff;
}

/* ==========================================================
   03. PRIMARY BRAND SURFACES
   Stesse classi AGIS, nuova pelle AGISCUOLA.
   ========================================================== */

.gradient-bg_primary {
  background: var(--school-primary) !important;
  background: linear-gradient(135deg, var(--school-primary), var(--school-primary-dark)) !important;
}

.contacts {
  background: var(--school-primary) !important;
  background: linear-gradient(135deg, var(--school-primary), var(--school-primary-dark)) !important;
}

section.press_releases {
  background: var(--school-primary-dark) !important;
}

.site-footer {
  background-color: var(--school-primary-dark) !important;
  border-color: #142D49 !important;
  color: #fff;
}

.site-footer a,
.contacts a {
  color: var(--agis-galaxy-yellow) !important;
}

/* Blocchi Gutenberg che nel sito AGIS hanno il verde inline. */
.alignfull.gb-block-container[style*="#2f6861"],
.alignfull.gb-block-container[style*="#2F6861"],
.alignfull.gb-block-container[style*="rgb(47, 104, 97)"] {
  background: linear-gradient(180deg, var(--school-primary), var(--school-primary-dark)) !important;
}

/* ==========================================================
   04. TYPOGRAPHY / TITLES
   ========================================================== */

h3,
.agis-news-title,
.entry-title,
.entry-content .agis-cards__title,
h3.agis-card-title a,
.page_custom_title h2,
.page_custom_title h5 {
  color: var(--school-primary-dark) !important;
}

.entry-title::after,
.page_custom_title .wp-block-group__inner-container::before,
.page_custom_title.singel::before,
.anchor-menu-sticky {
  border-color: var(--agis-galaxy-yellow);
}

.entry-title::after,
.page_custom_title .wp-block-group__inner-container::before,
.page_custom_title.singel::before,
.gb-block-spacer.gb-spacer-divider::after,
.gb-block-spacer.gb-divider-solid.gb-spacer-divider::after,
.gb-block-spacer.gb-divider-dotted.gb-spacer-divider::after {
  background-color: var(--agis-galaxy-yellow) !important;
}

.anchor-menu a {
  color: var(--school-primary-dark) !important;
}

.anchor-menu a:hover,
.anchor-menu a:focus,
.anchor-menu a:active {
  color: var(--agis-galaxy-yellow) !important;
}

/* ==========================================================
   05. BUTTONS
   Il giallo resta il codice condiviso della galassia AGIS.
   ========================================================== */

.entry-content .wp-block-button__link,
.entry-content .button,
.entry-content a.button,
.wp-block-button__link {
  background-color: var(--agis-galaxy-yellow);
  color: var(--school-ink) !important;
  border-color: var(--agis-galaxy-yellow);
}

.entry-content .wp-block-button__link:hover,
.entry-content .wp-block-button__link:focus,
.entry-content .button:hover,
.entry-content .button:focus,
.entry-content a.button:hover,
.entry-content a.button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus {
  background-color: #E3A72E;
  color: var(--school-ink) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--school-primary-dark) !important;
  border-color: var(--school-primary-dark);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
  background: var(--school-primary-dark);
  color: #fff !important;
}

/* ==========================================================
   06. CARDS / FILTERS
   ========================================================== */

.card_cinema {
  border-color: var(--school-primary) !important;
}

.agis-filter {
  background: #fff;
}

/* ==========================================================
   07. ORGANIGRAMMA
   ========================================================== */

:root {
  --org-bg-1: var(--school-primary);
  --org-bg-2: var(--school-primary-dark);
  --org-yellow: var(--agis-galaxy-yellow);
}

.organigramma_title .wp-block-group__inner-container::before,
.organigramma_card > h2,
.card_title {
  border-color: var(--agis-galaxy-yellow) !important;
}

.organigramma_title .wp-block-group__inner-container::before {
  background: var(--agis-galaxy-yellow) !important;
}

/* ==========================================================
   08. RESPONSIVE — solo ripristino utility, niente layout pagina
   ========================================================== */

@media (max-width: 782px) {
  .hu-btn {
    width: 36px;
    height: 36px;
  }

  .hu-modal__dialog {
    margin: 6vh 16px;
    padding: 18px;
  }
}
