/*
Theme Name: UIL Scuola Latina 2026
Theme URI: https://www.uilscuolalatina.it/
Author: UIL Scuola Latina
Author URI: https://www.uilscuolalatina.it/
Description: Tema ufficiale, accessibile e compatibile con Elementor per il sito UIL Scuola Latina.
Version: 1.1.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: uil-scuola-latina-2026
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, wide-blocks
*/

:root {
  --uil-blue: #0879bd;
  --uil-blue-dark: #075c91;
  --uil-sky: #eaf7ff;
  --uil-yellow: #ffd500;
  --uil-ink: #183246;
  --uil-muted: #5d7280;
  --uil-line: #dce9f1;
  --uil-white: #fff;
  --uil-shadow: 0 12px 34px rgba(14, 74, 111, .10);
  --uil-radius: 18px;
  --uil-wrap: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--uil-ink);
  background: #f7fbfd;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--uil-blue-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--uil-blue); }
button, input, select, textarea { font: inherit; }
button, .button, .wp-element-button, input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 20px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: var(--uil-blue);
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}
button:hover, .button:hover, .wp-element-button:hover, input[type="submit"]:hover { background: var(--uil-blue-dark); color: #fff; }
input, select, textarea { max-width: 100%; padding: 11px 13px; border: 1px solid #bed4e1; border-radius: 10px; background: #fff; color: var(--uil-ink); }
:focus-visible { outline: 3px solid var(--uil-yellow); outline-offset: 3px; }

.uil-wrap { width: min(calc(100% - 32px), var(--uil-wrap)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 8px; left: 8px; width: auto; height: auto; padding: 12px 16px; clip: auto; background: #fff; color: var(--uil-ink); }

.site-header { position: relative; z-index: 50; background: #fff; box-shadow: 0 4px 22px rgba(12, 75, 113, .09); }
.uil-topbar { background: linear-gradient(90deg, #0879bd, #1299d2); color: #fff; font-size: 14px; }
.uil-topbar-inner { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.uil-topbar a { color: #fff; text-decoration: none; }
.uil-contacts, .uil-social { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.uil-social a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.uil-brandbar { min-height: 104px; display: grid; grid-template-columns: minmax(210px, 1fr) auto; align-items: center; gap: 28px; }
.uil-brand { display: flex; align-items: center; gap: 18px; min-width: 0; text-decoration: none; }
.custom-logo { width: auto; max-height: 78px; }
.uil-site-name { color: var(--uil-ink); font-size: clamp(20px, 2.3vw, 31px); line-height: 1.1; font-weight: 800; }
.uil-site-tagline { display: block; margin-top: 5px; color: var(--uil-muted); font-size: 14px; font-weight: 600; }
.uil-congress-logo { display: block; max-width: 210px; max-height: 74px; object-fit: contain; }
.uil-nav-row { border-top: 1px solid var(--uil-line); }
.uil-nav-inner { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.uil-menu-toggle { display: none; }
.primary-menu { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; }
.primary-menu li { position: relative; }
.primary-menu a { display: block; padding: 10px 13px; border-radius: 10px; color: var(--uil-ink); font-size: 15px; font-weight: 700; text-decoration: none; }
.primary-menu a:hover, .primary-menu .current-menu-item > a, .primary-menu .current_page_item > a { color: var(--uil-blue-dark); background: var(--uil-sky); }
.primary-menu .sub-menu { position: absolute; z-index: 30; top: calc(100% - 2px); left: 0; display: none; min-width: 230px; margin: 0; padding: 9px; border: 1px solid var(--uil-line); border-radius: 14px; background: #fff; box-shadow: var(--uil-shadow); list-style: none; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { display: block; }
.uil-booking-link { white-space: nowrap; background: var(--uil-yellow); color: #183246; }
.uil-booking-link:hover { background: #f2c900; color: #183246; }

.site-main { min-height: 50vh; }
.uil-page-hero { padding: 48px 0; background: linear-gradient(135deg, #e9f8ff 0%, #fff 70%); border-bottom: 1px solid var(--uil-line); }
.uil-page-hero h1 { max-width: 850px; margin: 0; color: var(--uil-ink); font-size: clamp(32px, 5vw, 54px); line-height: 1.08; letter-spacing: -.025em; }
.uil-breadcrumbs { margin-bottom: 10px; color: var(--uil-muted); font-size: 14px; }
.uil-content-area { padding: 42px 0 64px; }
.uil-content-card { padding: clamp(22px, 4vw, 46px); border: 1px solid var(--uil-line); border-radius: var(--uil-radius); background: #fff; box-shadow: var(--uil-shadow); }
.entry-content > *:first-child { margin-top: 0; }
.entry-content > *:last-child { margin-bottom: 0; }
.entry-content h2, .entry-content h3, .entry-content h4 { line-height: 1.22; color: var(--uil-ink); }
.entry-content h2 { margin-top: 1.7em; font-size: clamp(25px, 3vw, 36px); }
.entry-content h3 { margin-top: 1.5em; font-size: clamp(20px, 2.4vw, 27px); }
.alignwide { width: min(1180px, calc(100vw - 32px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.wp-caption, .gallery-caption { color: var(--uil-muted); font-size: 14px; }
.sticky { border-top: 5px solid var(--uil-yellow); }

.uil-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.uil-post-card { overflow: hidden; border: 1px solid var(--uil-line); border-radius: var(--uil-radius); background: #fff; box-shadow: var(--uil-shadow); }
.uil-post-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.uil-post-body { padding: 22px; }
.uil-post-body h2 { margin: 7px 0 10px; font-size: 23px; line-height: 1.22; }
.uil-post-body h2 a { color: var(--uil-ink); text-decoration: none; }
.uil-meta { color: var(--uil-muted); font-size: 14px; }
.uil-pagination { margin-top: 34px; }
.uil-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.uil-pagination .page-numbers { min-width: 42px; padding: 8px 12px; border-radius: 9px; background: #fff; text-align: center; text-decoration: none; }
.uil-pagination .current { background: var(--uil-blue); color: #fff; }

.site-footer { margin-top: 0; color: #eaf7ff; background: linear-gradient(145deg, #075c91, #087fbd); }
.uil-footer-main { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 42px; padding: 54px 0 38px; }
.uil-footer-logo { max-width: 220px; max-height: 82px; object-fit: contain; filter: drop-shadow(0 8px 16px rgba(0,0,0,.13)); }
.site-footer h2 { margin: 0 0 14px; color: #fff; font-size: 19px; }
.site-footer p { margin: 7px 0; }
.site-footer a { color: #fff; }
.uil-footer-menu { margin: 0; padding: 0; list-style: none; }
.uil-footer-menu li { margin: 7px 0; }
.uil-footer-bottom { padding: 18px 0; border-top: 1px solid rgba(255,255,255,.24); font-size: 13px; }

@media (max-width: 900px) {
  .uil-topbar-inner { padding-block: 8px; align-items: flex-start; }
  .uil-brandbar { min-height: 90px; }
  .uil-congress-logo { max-width: 150px; max-height: 62px; }
  .uil-menu-toggle { display: inline-flex; padding: 9px 16px; border-radius: 10px; }
  .uil-nav-inner { position: relative; min-height: 60px; }
  .uil-primary-nav { display: none; position: absolute; top: 58px; left: 0; right: 0; padding: 12px; border: 1px solid var(--uil-line); border-radius: 0 0 16px 16px; background: #fff; box-shadow: var(--uil-shadow); }
  .uil-primary-nav.is-open { display: block; }
  .primary-menu { display: block; }
  .primary-menu .sub-menu { position: static; display: block; margin-left: 15px; border: 0; box-shadow: none; }
  .uil-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .uil-footer-main { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .uil-wrap { width: min(calc(100% - 22px), var(--uil-wrap)); }
  .uil-topbar-inner, .uil-contacts { display: block; }
  .uil-contacts a { display: block; margin: 2px 0; }
  .uil-social { margin-top: 6px; }
  .uil-brandbar { grid-template-columns: 1fr; gap: 10px; padding-block: 14px; }
  .uil-brand { gap: 11px; }
  .custom-logo { max-height: 60px; }
  .uil-site-tagline { display: none; }
  .uil-congress-logo { max-width: 145px; }
  .uil-booking-link { padding-inline: 13px; }
  .uil-page-hero { padding: 34px 0; }
  .uil-content-area { padding: 24px 0 42px; }
  .uil-content-card { padding: 20px; border-radius: 14px; }
  .uil-post-grid, .uil-footer-main { grid-template-columns: 1fr; }
  .uil-footer-main { gap: 28px; padding-top: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Header 2026 – variante coordinata con il progetto Elementor */
.site-header {
  overflow: visible;
  color: #173a59;
  background: linear-gradient(135deg, #d4eefb 0%, #c4e7f8 100%);
  box-shadow: 0 5px 22px rgba(0, 74, 118, .13);
}
.site-header .uil-topbar {
  color: #fff;
  background: linear-gradient(90deg, #0878bd, #149bda);
}
.site-header .uil-topbar-inner {
  width: min(1440px, calc(100% - 56px));
  min-height: 44px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.uil-topbar-slogan { font-weight: 800; letter-spacing: .2px; }
.uil-header-contact { display: flex; align-items: center; gap: 17px; }
.uil-header-contact > a { display: inline-flex; align-items: center; gap: 6px; color: #fff; text-decoration: none; white-space: nowrap; }
.uil-header-contact > a:hover { text-decoration: underline; }
.uil-header-social { display: flex; align-items: center; gap: 8px; }
.uil-header-social a { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: rgba(255,255,255,.17); transition: .2s; }
.uil-header-social a:hover { color: #0878bd; background: #fff; transform: translateY(-1px); }
.uil-header-social svg { width: 16px; height: 16px; fill: currentColor; }
.site-header .uil-brand-row {
  width: min(1440px, calc(100% - 56px));
  min-height: 122px;
  margin-inline: auto;
  padding: 15px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.site-header .uil-brand { min-width: 0; text-decoration: none; }
.site-header .custom-logo { display: block; width: min(420px, 42vw); max-width: 100%; max-height: 88px; object-fit: contain; object-position: left center; }
.uil-congress { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.uil-congress-copy { padding-right: 22px; border-right: 1px solid rgba(8,120,189,.25); text-align: right; }
.uil-congress-copy strong { display: block; margin-bottom: 4px; color: #075c91; font-size: 16px; }
.uil-congress-copy span { display: block; color: #476c82; font-size: 12px; line-height: 1.35; letter-spacing: .55px; text-transform: uppercase; }
.site-header .uil-congress-logo { width: 180px; max-width: 22vw; max-height: 78px; object-fit: contain; }
.site-header .uil-nav-row { border-top: 1px solid rgba(8,120,189,.2); background: rgba(255,255,255,.22); }
.site-header .uil-nav-inner { width: min(1440px, calc(100% - 56px)); min-height: 70px; margin-inline: auto; display: flex; align-items: center; gap: 22px; }
.site-header .uil-primary-nav { flex: 1; }
.site-header .primary-menu { display: flex; align-items: center; flex-wrap: wrap; gap: 2px; margin: 0; padding: 0; list-style: none; }
.site-header .primary-menu a { position: relative; display: flex; min-height: 70px; align-items: center; padding: 0 11px; border-radius: 0; color: #123e64; background: transparent; font-size: 13px; font-weight: 800; white-space: nowrap; text-decoration: none; }
.site-header .primary-menu a::after { content: ""; position: absolute; right: 11px; bottom: 0; left: 11px; height: 3px; background: #0878bd; transform: scaleX(0); transition: transform .2s; }
.site-header .primary-menu a:hover,
.site-header .primary-menu .current-menu-item > a,
.site-header .primary-menu .current_page_item > a { color: #075c91; background: transparent; }
.site-header .primary-menu a:hover::after,
.site-header .primary-menu .current-menu-item > a::after,
.site-header .primary-menu .current_page_item > a::after { transform: scaleX(1); }
.uil-header-actions { display: flex; flex: 0 0 auto; gap: 9px; margin-left: auto; }
.uil-header-action { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 17px; border: 1px solid rgba(5,62,112,.16); border-radius: 9px; color: #075c91; background: #fff; box-shadow: 0 5px 14px rgba(0,74,118,.1); font-size: 13px; font-weight: 900; letter-spacing: .2px; text-decoration: none; }
.uil-header-action:hover { color: #053e70; background: #f7fcff; transform: translateY(-1px); }
.uil-action-join { color: #fff; border-color: #159447; background: #159447; }
.uil-action-join:hover { color: #fff; background: #107b3b; }
.uil-mobile-actions { display: none; }

/* Footer 2026 – variante scura */
.site-footer { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: radial-gradient(circle at 82% 18%, rgba(102,197,242,.28) 0, transparent 28%), linear-gradient(135deg, #053e70 0%, #0878bd 58%, #149bda 100%); }
.site-footer::before { content: ""; position: absolute; z-index: -1; width: 420px; height: 420px; top: -245px; right: -95px; border: 52px solid rgba(255,255,255,.07); border-radius: 50%; }
.site-footer::after { content: ""; position: absolute; z-index: -1; width: 260px; height: 260px; left: -155px; bottom: -145px; border: 38px solid rgba(255,212,31,.13); border-radius: 50%; }
.uil-ft-accent { height: 7px; background: linear-gradient(90deg, #e5332a 0 18%, #ffd41f 18% 40%, #66c5f2 40% 72%, #fff 72%); }
.uil-ft-wrap { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
.uil-ft-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 34px 0 31px; border-bottom: 1px solid rgba(255,255,255,.18); }
.uil-ft-eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 7px; color: #ffd41f; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.uil-ft-eyebrow::before { content: ""; width: 28px; height: 3px; border-radius: 9px; background: #ffd41f; }
.site-footer .uil-ft-cta h2 { margin: 0; color: #fff; font-size: clamp(23px, 3vw, 35px); line-height: 1.12; }
.uil-ft-cta-btn { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 9px; min-height: 49px; padding: 0 22px; border: 2px solid rgba(255,255,255,.8); border-radius: 999px; color: #fff; background: rgba(255,255,255,.1); box-shadow: 0 10px 25px rgba(2,31,57,.17); font-size: 14px; font-weight: 900; text-decoration: none; transition: .2s; }
.uil-ft-cta-btn:hover { color: #053e70; background: #fff; transform: translateY(-2px); }
.site-footer .uil-ft-main { display: grid; grid-template-columns: 1.15fr 1.25fr .9fr .75fr; gap: 36px; padding: 46px 0 42px; }
.uil-ft-panel { min-width: 0; }
.uil-ft-logo-box { display: inline-flex; width: 255px; max-width: 100%; align-items: center; color: #fff; text-decoration: none; }
.site-footer .uil-footer-logo { display: block; width: 100%; max-width: 255px; max-height: 96px; object-fit: contain; object-position: left center; filter: drop-shadow(0 9px 12px rgba(2,31,57,.28)); }
.uil-ft-brand p { max-width: 285px; margin: 19px 0 0; color: #d9f1ff; font-size: 14px; line-height: 1.65; }
.uil-ft-social { display: flex; gap: 10px; margin-top: 20px; }
.uil-ft-social a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 12px; color: #fff; background: rgba(255,255,255,.1); font-weight: 900; text-decoration: none; }
.uil-ft-social a:hover { color: #053e70; background: #fff; }
.site-footer .uil-ft-heading { margin: 0 0 18px; color: #fff; font-size: 16px; font-weight: 900; }
.uil-ft-heading::after { content: ""; display: block; width: 35px; height: 3px; margin-top: 9px; border-radius: 10px; background: #ffd41f; }
.uil-ft-offices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.uil-ft-office { padding: 17px; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; background: rgba(3,49,88,.25); }
.uil-ft-office strong { display: block; margin-bottom: 9px; color: #fff; font-size: 13px; }
.uil-ft-office p { margin: 0; color: #d9f1ff; font-size: 13px; line-height: 1.62; }
.site-footer .uil-ft-list { display: flex; flex-direction: column; gap: 11px; margin: 0; padding: 0; list-style: none; }
.site-footer .uil-ft-list li { margin: 0; }
.site-footer .uil-ft-list a { color: #d9f1ff; font-size: 13px; font-weight: 700; line-height: 1.45; text-decoration: none; }
.site-footer .uil-ft-list a:hover { color: #fff; text-decoration: underline; }
.site-footer .uil-ft-bottom { padding: 0; border-top: 1px solid rgba(255,255,255,.13); background: rgba(1,32,59,.42); }
.uil-ft-bottom-inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #cce9f8; font-size: 12px; }
.uil-ft-legal { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px 18px; }
.uil-ft-legal a { color: #d9f1ff; font-weight: 700; text-decoration: none; }

@media (max-width: 1180px) {
  .uil-congress-copy { display: none; }
  .site-header .primary-menu a { padding-inline: 8px; font-size: 12px; }
  .site-header .primary-menu a::after { right: 8px; left: 8px; }
  .uil-header-action { padding-inline: 12px; }
}
@media (max-width: 980px) {
  .uil-topbar-slogan { display: none; }
  .site-header .uil-topbar-inner { justify-content: flex-end; }
  .site-header .uil-menu-toggle { display: inline-flex; margin-left: auto; border-radius: 9px; color: #075c91; background: #fff; }
  .site-header .uil-nav-inner { position: relative; min-height: 60px; }
  .site-header .uil-primary-nav { display: none; position: absolute; z-index: 50; top: 60px; right: 0; left: 0; padding: 10px 16px 18px; border: 1px solid rgba(8,120,189,.2); border-radius: 0 0 16px 16px; background: #eff9fe; box-shadow: 0 12px 26px rgba(0,74,118,.16); }
  .site-header .uil-primary-nav.is-open { display: block; }
  .site-header .primary-menu { display: block; }
  .site-header .primary-menu a { min-height: 46px; padding: 0 4px; border-bottom: 1px solid #d7ebf5; font-size: 14px; }
  .site-header .primary-menu a::after { display: none; }
  .uil-header-actions { display: none; }
  .uil-mobile-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 14px; }
}
@media (max-width: 700px) {
  .site-header .uil-topbar-inner,
  .site-header .uil-brand-row,
  .site-header .uil-nav-inner { width: min(calc(100% - 32px), 1440px); }
  .site-header .uil-topbar-inner { justify-content: center; padding-block: 7px; }
  .uil-header-contact { justify-content: center; flex-wrap: wrap; gap: 8px 14px; }
  .uil-header-email { width: 100%; justify-content: center; order: 3; }
  .site-header .uil-brand-row { min-height: 92px; gap: 12px; padding-block: 13px; }
  .site-header .custom-logo { width: 62%; max-height: 68px; }
  .site-header .uil-congress-logo { width: 115px; max-width: 35%; max-height: 58px; }
  .site-footer .uil-ft-main { grid-template-columns: 1fr; gap: 32px; padding: 38px 0 35px; }
  .uil-ft-cta { align-items: flex-start; flex-direction: column; }
  .uil-ft-brand p { max-width: 520px; }
  .uil-ft-offices { grid-template-columns: 1fr 1fr; }
  .uil-ft-bottom-inner { align-items: flex-start; flex-direction: column; padding: 20px 0; }
  .uil-ft-legal { justify-content: flex-start; }
}
@media (max-width: 480px) {
  .uil-header-phone { display: none !important; }
  .site-header .custom-logo { width: 65%; }
  .site-header .uil-congress-logo { width: 95px; }
  .uil-mobile-actions { grid-template-columns: 1fr; }
  .uil-ft-wrap { width: min(1200px, calc(100% - 28px)); }
  .uil-ft-offices { grid-template-columns: 1fr; }
  .uil-ft-cta-btn { width: 100%; }
}

/* Header globale 2026 V4 Fiducia */
.uil-global-header{--uil-blue:#0072bc;--uil-blue-deep:#003f72;--uil-blue-dark:#062f55;--uil-sky:#eaf7ff;--uil-yellow:#ffd400;--uil-white:#fff;--uil-ink:#183044;--uil-line:rgba(255,255,255,.22);position:relative;z-index:50;width:100%;color:var(--uil-ink);background:var(--uil-white);font-family:Arial,Helvetica,sans-serif;box-shadow:0 8px 28px rgba(0,63,114,.14)}
.uil-global-header,.uil-global-header *{box-sizing:border-box}.uil-gh-container{width:min(1240px,calc(100% - 40px));margin:0 auto}
.uil-gh-top{color:var(--uil-white);background:linear-gradient(100deg,var(--uil-blue-dark) 0%,var(--uil-blue-deep) 58%,#075f9d 100%);border-bottom:3px solid var(--uil-yellow)}
.uil-gh-top-inner{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.uil-gh-contact,.uil-gh-social{display:flex;align-items:center;gap:18px}.uil-gh-top a{color:var(--uil-white);text-decoration:none}.uil-gh-contact a{display:inline-flex;align-items:center;gap:7px;font-weight:700}.uil-gh-contact svg,.uil-gh-social svg{width:17px;height:17px;flex:0 0 auto;fill:currentColor}.uil-gh-territory{padding-left:18px;border-left:1px solid var(--uil-line);font-weight:600;letter-spacing:.01em}.uil-gh-social a{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--uil-line);border-radius:50%;transition:background .2s ease,transform .2s ease}.uil-gh-social a:hover,.uil-gh-social a:focus-visible{background:rgba(255,255,255,.15);transform:translateY(-1px)}
.uil-gh-main{position:relative;overflow:hidden;background:radial-gradient(circle at 87% 0%,rgba(98,184,236,.18),transparent 32%),linear-gradient(180deg,#fff 0%,#f8fcff 100%)}.uil-gh-main::after{content:"";position:absolute;right:-80px;bottom:-86px;width:330px;height:150px;border:25px solid rgba(0,114,188,.055);border-radius:50%;pointer-events:none}.uil-gh-main-inner{position:relative;z-index:1;min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px}.uil-gh-brand{display:flex;align-items:center;gap:24px;min-width:0;text-decoration:none}.uil-gh-logo-main{width:218px;max-width:100%;max-height:88px;object-fit:contain;display:block}.uil-gh-brand-divider{width:1px;height:58px;flex:0 0 auto;background:linear-gradient(180deg,transparent,#9bcdea,transparent)}.uil-gh-congress{display:flex;flex-direction:column;align-items:center;gap:1px;flex:0 0 auto}.uil-gh-logo-second{width:225px;max-height:88px;object-fit:contain;display:block}.uil-gh-congress-label{color:#365f7b;font-size:12px;font-weight:700;font-style:italic;letter-spacing:.015em}.uil-gh-identity{display:flex;align-items:center;gap:14px;color:var(--uil-blue-deep)}.uil-gh-identity-mark{width:9px;height:46px;border-radius:999px;background:linear-gradient(180deg,var(--uil-yellow) 0 33%,#e73331 33% 66%,var(--uil-blue) 66%);box-shadow:0 4px 12px rgba(0,63,114,.12)}.uil-gh-identity small,.uil-gh-identity strong{display:block}.uil-gh-identity small{margin-bottom:3px;color:#587080;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.uil-gh-identity strong{font-size:19px;line-height:1.2}
.uil-gh-nav-shell{background:linear-gradient(100deg,var(--uil-blue-deep),var(--uil-blue))}.uil-gh-nav{min-height:55px;display:flex;align-items:stretch;justify-content:center}.uil-gh-menu{display:flex;align-items:stretch;justify-content:center;margin:0;padding:0;list-style:none}.uil-gh-nav a{position:relative;min-height:55px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;color:var(--uil-white);text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap;transition:background .2s ease,color .2s ease}.uil-gh-nav a:not(.uil-gh-book)::after{content:"";position:absolute;left:13px;right:13px;bottom:8px;height:2px;background:var(--uil-yellow);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.uil-gh-nav a:hover,.uil-gh-nav a:focus-visible{background:rgba(255,255,255,.09)}.uil-gh-nav a:hover::after,.uil-gh-nav a:focus-visible::after,.uil-gh-menu .current-menu-item>a::after{transform:scaleX(1)}.uil-gh-book{align-self:center;min-height:39px!important;margin-left:10px;padding:0 19px!important;border-radius:999px;color:var(--uil-blue-dark)!important;background:var(--uil-yellow)!important;box-shadow:0 6px 16px rgba(0,0,0,.16)}.uil-gh-book:hover,.uil-gh-book:focus-visible{color:#002846!important;background:#ffe24e!important}
.uil-gh-mobile-toggle{display:none;width:48px;height:44px;margin-left:auto;padding:0;border:1px solid rgba(0,114,188,.22);border-radius:12px;color:var(--uil-blue-deep);background:var(--uil-sky);cursor:pointer}.uil-gh-mobile-toggle span,.uil-gh-mobile-toggle::before,.uil-gh-mobile-toggle::after{content:"";width:22px;height:2px;display:block;margin:5px auto;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.uil-gh-mobile-toggle[aria-expanded="true"] span{opacity:0}.uil-gh-mobile-toggle[aria-expanded="true"]::before{transform:translateY(7px) rotate(45deg)}.uil-gh-mobile-toggle[aria-expanded="true"]::after{transform:translateY(-7px) rotate(-45deg)}.uil-gh-mobile-menu{display:none;padding:12px 20px 20px;background:linear-gradient(180deg,var(--uil-blue-deep),#005f9e)}.uil-gh-mobile-menu.open{display:grid;gap:7px}.uil-gh-mobile-links{display:grid;gap:7px;margin:0;padding:0;list-style:none}.uil-gh-mobile-menu a{display:block;padding:12px 14px;border:1px solid rgba(255,255,255,.13);border-radius:10px;color:var(--uil-white);background:rgba(255,255,255,.06);text-decoration:none;font-size:14px;font-weight:800}.uil-gh-mobile-menu .uil-gh-book{margin:5px 0 0;padding:13px 16px!important;text-align:center}.uil-global-header a:focus-visible,.uil-global-header button:focus-visible{outline:3px solid #ffdd27;outline-offset:3px}

/* Footer globale 2026 V3 */
.uil-footer-2026,.uil-footer-2026 *{box-sizing:border-box}.uil-footer-2026{--sky:#66c5f2;--blue:#0878bd;--deep:#053e70;--yellow:#ffd41f;position:relative;isolation:isolate;overflow:hidden;margin:0;color:#fff;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at 82% 18%,rgba(102,197,242,.28) 0,transparent 28%),linear-gradient(135deg,#053e70 0%,#0878bd 58%,#149bda 100%)}.uil-footer-2026 a{color:inherit}.uil-footer-2026::before{content:"";position:absolute;z-index:-1;width:420px;height:420px;top:-245px;right:-95px;border:52px solid rgba(255,255,255,.07);border-radius:50%}.uil-footer-2026::after{content:"";position:absolute;z-index:-1;width:260px;height:260px;left:-155px;bottom:-145px;border:38px solid rgba(255,212,31,.13);border-radius:50%}.uil-footer-2026 .uil-ft-main>.uil-ft-panel{display:block;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#fff!important}.uil-footer-2026 .uil-ft-logo-box{justify-content:flex-start;padding:0;background:transparent}.uil-footer-2026 .uil-ft-social svg{width:20px;height:20px;fill:currentColor}.uil-footer-2026 .uil-ft-contact-link{display:flex;align-items:flex-start;gap:9px}.uil-footer-2026 .uil-ft-contact-link svg{flex:0 0 auto;width:17px;height:17px;margin-top:1px;fill:var(--yellow)}.uil-footer-2026 .uil-ft-cta-btn svg{width:18px;height:18px;fill:currentColor}.uil-footer-2026 .uil-ft-list span{color:#d9f1ff;font-size:13px;font-weight:700;line-height:1.45}

@media(max-width:1100px){.uil-gh-nav-shell{background:var(--uil-blue-deep)}.uil-gh-nav{display:none}.uil-gh-mobile-toggle{display:block}.uil-gh-main-inner{min-height:96px}.uil-gh-logo-main{width:205px}.uil-gh-logo-second{width:185px}}
@media(max-width:760px){.uil-gh-container{width:min(calc(100% - 28px),1240px)}.uil-gh-top-inner{min-height:38px}.uil-gh-territory{display:none}.uil-gh-main-inner{min-height:88px;gap:14px}.uil-gh-brand{gap:13px}.uil-gh-logo-main{width:174px;max-height:70px}.uil-gh-logo-second{width:135px;max-height:64px}.uil-gh-congress-label{font-size:10px;letter-spacing:0}.uil-gh-brand-divider{height:46px}.uil-gh-identity{display:none}}
@media(max-width:520px){.uil-gh-top-inner{justify-content:center}.uil-gh-contact{gap:0}.uil-gh-contact a{font-size:12px}.uil-gh-social{display:none}.uil-gh-main-inner{min-height:82px}.uil-gh-logo-main{width:160px}.uil-gh-congress,.uil-gh-brand-divider{display:none}.uil-gh-mobile-menu{padding-left:14px;padding-right:14px}}

/* Correzioni di compatibilità con Elementor: header/footer sono caricati
   prima del kit globale, quindi richiedono selettori più specifici. */
.elementor-kit-9 .uil-global-header .uil-gh-top a,
.elementor-kit-9 .uil-global-header .uil-gh-nav a:not(.uil-gh-book),
.elementor-kit-9 .uil-global-header .uil-gh-mobile-menu a:not(.uil-gh-book) { color: #fff; }
.elementor-kit-9 .uil-global-header .uil-gh-book { color: #062f55; }

.uil-footer-2026 .uil-ft-wrap { width: min(1200px, calc(100% - 40px)); margin: 0 auto; }
.uil-footer-2026 .uil-ft-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 34px 0 31px; border-bottom: 1px solid rgba(255,255,255,.18); }
.uil-footer-2026 .uil-ft-eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 7px; color: #ffd41f; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.uil-footer-2026 .uil-ft-eyebrow::before { content: ""; width: 28px; height: 3px; border-radius: 9px; background: #ffd41f; }
.uil-footer-2026 .uil-ft-cta h2 { margin: 0; color: #fff; font-size: clamp(23px, 3vw, 35px); line-height: 1.12; letter-spacing: -.025em; }
.elementor-kit-9 .uil-footer-2026 .uil-ft-cta-btn { color: #fff; }
.elementor-kit-9 .uil-footer-2026 .uil-ft-cta-btn:hover { color: #053e70; }
.uil-footer-2026 .uil-ft-main { display: grid; grid-template-columns: 1.15fr 1.25fr .9fr .75fr; gap: 36px; padding: 46px 0 42px; }
.uil-footer-2026 .uil-ft-panel { min-width: 0; }
.uil-footer-2026 .uil-ft-logo-box { display: inline-flex; align-items: center; justify-content: flex-start; width: 255px; max-width: 100%; padding: 0; color: #fff; background: transparent; text-decoration: none; }
.uil-footer-2026 .uil-footer-logo { display: block; width: 100%; height: auto; max-width: 255px; max-height: 96px; object-fit: contain; object-position: left center; filter: drop-shadow(0 9px 12px rgba(2,31,57,.28)); }
.uil-footer-2026 .uil-ft-brand p { max-width: 285px; margin: 19px 0 0; color: #d9f1ff; font-size: 14px; line-height: 1.65; }
.uil-footer-2026 .uil-ft-social { display: flex; gap: 10px; margin-top: 20px; }
.uil-footer-2026 .uil-ft-social a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 12px; color: #fff; background: rgba(255,255,255,.1); text-decoration: none; transition: .2s; }
.uil-footer-2026 .uil-ft-social a:hover { color: #053e70; background: #fff; transform: translateY(-2px); }
.uil-footer-2026 .uil-ft-heading { margin: 0 0 18px; color: #fff; font-size: 16px; font-weight: 900; }
.uil-footer-2026 .uil-ft-heading::after { content: ""; display: block; width: 35px; height: 3px; margin-top: 9px; border-radius: 10px; background: #ffd41f; }
.uil-footer-2026 .uil-ft-offices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.uil-footer-2026 .uil-ft-office { padding: 17px; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; background: rgba(3,49,88,.25); }
.uil-footer-2026 .uil-ft-office strong { display: block; margin-bottom: 9px; color: #fff; font-size: 13px; line-height: 1.3; }
.uil-footer-2026 .uil-ft-office p { margin: 0; color: #d9f1ff; font-size: 13px; line-height: 1.62; }
.uil-footer-2026 .uil-ft-list { display: flex; flex-direction: column; gap: 11px; margin: 0; padding: 0; list-style: none; }
.uil-footer-2026 .uil-ft-list li { margin: 0; }
.elementor-kit-9 .uil-footer-2026 .uil-ft-list a,
.elementor-kit-9 .uil-footer-2026 .uil-ft-list span { color: #d9f1ff; font-size: 13px; font-weight: 700; line-height: 1.45; text-decoration: none; }
.elementor-kit-9 .uil-footer-2026 .uil-ft-list a:hover { color: #fff; text-decoration: underline; }
.uil-footer-2026 .uil-ft-bottom { padding: 0; border-top: 1px solid rgba(255,255,255,.13); background: rgba(1,32,59,.42); }
.uil-footer-2026 .uil-ft-bottom-inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #cce9f8; font-size: 12px; }
.uil-footer-2026 .uil-ft-bottom strong { color: #fff; }
.uil-footer-2026 .uil-ft-legal { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px 18px; }
.elementor-kit-9 .uil-footer-2026 .uil-ft-legal a { color: #d9f1ff; font-weight: 700; text-decoration: none; }
.elementor-kit-9 .uil-footer-2026 .uil-ft-legal a:hover { color: #fff; text-decoration: underline; }

/* Il reset immagini di Elementor ha maggiore specificità rispetto al CSS
   contenuto nel widget HTML della Home. */
.elementor .uil-hero-logo { max-width: 235px; height: auto; }

@media (max-width: 980px) {
  .uil-footer-2026 .uil-ft-main { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .uil-footer-2026 .uil-ft-cta { align-items: flex-start; flex-direction: column; }
  .uil-footer-2026 .uil-ft-main { grid-template-columns: 1fr; gap: 32px; padding: 38px 0 35px; }
  .uil-footer-2026 .uil-ft-brand p { max-width: 520px; }
  .uil-footer-2026 .uil-ft-offices { grid-template-columns: 1fr 1fr; }
  .uil-footer-2026 .uil-ft-bottom-inner { align-items: flex-start; flex-direction: column; padding: 20px 0; }
  .uil-footer-2026 .uil-ft-legal { justify-content: flex-start; }
}
@media (max-width: 480px) {
  .uil-footer-2026 .uil-ft-wrap { width: min(1200px, calc(100% - 28px)); }
  .uil-footer-2026 .uil-ft-offices { grid-template-columns: 1fr; }
  .uil-footer-2026 .uil-ft-cta-btn { width: 100%; }
}
/* =====================================================
   FIX MENU MOBILE - UIL SCUOLA LATINA 2026
   ===================================================== */

.uil-gh-mobile-toggle .uil-gh-hamburger{
	display:block;
	width:26px;
	height:26px;
	margin:auto;
	color:#003f72;
}

/* Disattiva le vecchie linee create con pseudo-elementi */
.uil-gh-mobile-toggle::before,
.uil-gh-mobile-toggle::after{
	content:none !important;
	display:none !important;
}

.uil-gh-mobile-toggle > span{
	display:none !important;
}

@media (max-width:1100px){

	.uil-gh-nav{
		display:none !important;
	}

	.uil-gh-mobile-toggle{
		display:flex !important;
		align-items:center;
		justify-content:center;
		flex:0 0 48px;
		width:48px;
		height:44px;
		margin-left:auto;
		padding:0;
		position:relative;
		z-index:100;
		border:1px solid rgba(0,114,188,.25);
		border-radius:12px;
		background:#eaf7ff;
		color:#003f72;
		cursor:pointer;
	}

	.uil-gh-mobile-menu.open{
		display:block !important;
	}
}
/* FIX GRAFICO PULSANTE MENU MOBILE */

.uil-gh-mobile-toggle{
	background:#eaf7ff !important;
	color:#003f72 !important;
	border:1px solid rgba(0,114,188,.25) !important;
	box-shadow:none !important;
	-webkit-tap-highlight-color:transparent;
}

.uil-gh-mobile-toggle:hover,
.uil-gh-mobile-toggle:focus,
.uil-gh-mobile-toggle:active,
.uil-gh-mobile-toggle[aria-expanded="true"]{
	background:#eaf7ff !important;
	color:#003f72 !important;
	border-color:rgba(0,114,188,.35) !important;
	box-shadow:none !important;
	outline:none;
}

.uil-gh-mobile-toggle .uil-gh-hamburger{
	display:block !important;
	width:26px;
	height:26px;
	color:#003f72 !important;
	opacity:1 !important;
	visibility:visible !important;
}

.uil-gh-mobile-toggle .uil-gh-hamburger path{
	stroke:#003f72 !important;
}
.uil-gh-mobile-toggle svg path{
	stroke:#003f72 !important;
}

.uil-gh-mobile-toggle:hover,
.uil-gh-mobile-toggle:focus,
.uil-gh-mobile-toggle:active,
.uil-gh-mobile-toggle[aria-expanded="true"]{
	background:#eaf7ff !important;
	color:#003f72 !important;
}
/* =====================================================
   FIX DEFINITIVO HAMBURGER MOBILE
   UIL SCUOLA LATINA 2026
   ===================================================== */

.uil-gh-mobile-toggle::before,
.uil-gh-mobile-toggle::after{
    content:none !important;
    display:none !important;
}

.uil-gh-mobile-toggle .uil-gh-hamburger-char{
    display:block !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;

    color:#003f72 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:30px !important;
    font-weight:700 !important;
    line-height:1 !important;

    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
}

.uil-gh-mobile-toggle[aria-expanded="true"] .uil-gh-hamburger-char{
    opacity:1 !important;
    visibility:visible !important;
}

.uil-gh-mobile-toggle{
    width:48px !important;
    height:44px !important;
    padding:0 !important;

    align-items:center !important;
    justify-content:center !important;

    background:#eaf7ff !important;
    color:#003f72 !important;
    border:1px solid #9ed2ee !important;
    border-radius:12px !important;

    box-shadow:none !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    -webkit-tap-highlight-color:transparent !important;
}

.uil-gh-mobile-toggle:hover,
.uil-gh-mobile-toggle:focus,
.uil-gh-mobile-toggle:active,
.uil-gh-mobile-toggle[aria-expanded="true"]{
    background:#eaf7ff !important;
    color:#003f72 !important;
    border-color:#9ed2ee !important;
    box-shadow:none !important;
}

@media(max-width:1100px){
    .uil-gh-mobile-toggle{
        display:flex !important;
        flex:0 0 48px !important;
    }
}
/* =====================================================
   HAMBURGER MOBILE DEFINITIVO
   ===================================================== */

header.uil-global-header .uil-gh-mobile-toggle::before,
header.uil-global-header .uil-gh-mobile-toggle::after{
	content:none !important;
	display:none !important;
}

@media (max-width:1100px){

	header.uil-global-header .uil-gh-mobile-toggle{
		display:flex !important;
		align-items:center !important;
		justify-content:center !important;

		width:48px !important;
		height:44px !important;
		flex:0 0 48px !important;

		margin-left:auto !important;
		padding:0 0 3px 0 !important;

		background:#eaf7ff !important;
		background-image:none !important;

		color:#003f72 !important;

		border:1px solid #9ed2ee !important;
		border-radius:12px !important;

		box-shadow:none !important;
		text-shadow:none !important;

		font-family:Arial,Helvetica,sans-serif !important;
		font-size:30px !important;
		font-weight:400 !important;
		line-height:1 !important;

		opacity:1 !important;
		visibility:visible !important;

		-webkit-appearance:none !important;
		appearance:none !important;
		-webkit-tap-highlight-color:transparent !important;

		cursor:pointer !important;
	}

	header.uil-global-header .uil-gh-mobile-toggle:hover,
	header.uil-global-header .uil-gh-mobile-toggle:focus,
	header.uil-global-header .uil-gh-mobile-toggle:focus-visible,
	header.uil-global-header .uil-gh-mobile-toggle:active,
	header.uil-global-header .uil-gh-mobile-toggle[aria-expanded="true"]{
		background:#eaf7ff !important;
		background-image:none !important;
		color:#003f72 !important;
		border-color:#9ed2ee !important;
		box-shadow:none !important;
		text-shadow:none !important;
		outline:none !important;
		transform:none !important;
	}
}
/* =========================================================
   PULSANTE AREA DIRIGENTI – HEADER 2026
   ========================================================= */

.uil-gh-nav .uil-gh-private {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	gap: 8px;
	min-height: 39px;
	margin-left: 10px;
	padding: 0 15px;
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 999px;
	color: var(--uil-blue-dark, #062f55);
	background: #ffffff;
	text-decoration: none;
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);
	transition:
		background 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.uil-gh-nav .uil-gh-private::after {
	display: none !important;
}

.uil-gh-private svg {
	width: 17px;
	height: 17px;
	flex: 0 0 auto;
	fill: var(--uil-blue, #0072bc);
}

.uil-gh-nav .uil-gh-private:hover,
.uil-gh-nav .uil-gh-private:focus-visible {
	color: #002846;
	background: var(--uil-sky, #eaf7ff);
	transform: translateY(-1px);
}

/* Versione mobile */

.uil-gh-mobile-menu .uil-gh-private {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	margin: 5px 0;
	padding: 12px 16px;
	border: 1px solid rgba(255, 255, 255, 0.8);
	border-radius: 10px;
	color: var(--uil-blue-dark, #062f55);
	background: #ffffff;
	text-decoration: none;
	font-size: 14px;
	font-weight: 800;
	box-shadow: 0 5px 14px rgba(0, 0, 0, 0.13);
}

.uil-gh-mobile-menu .uil-gh-private svg {
	width: 18px;
	height: 18px;
	fill: var(--uil-blue, #0072bc);
}

.uil-gh-mobile-menu .uil-gh-private:hover,
.uil-gh-mobile-menu .uil-gh-private:focus-visible {
	color: #002846;
	background: var(--uil-sky, #eaf7ff);
}