/*
Theme: AIR3 - Associazione Italiana Registi
Author: Edoardo Scazzocchio
*/

/* -----------------------------
RESET
----------------------------- */
h1, h2, h3, h4, h5, h6, p, ul, ol, li {
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Montserrat', sans-serif;
  color: #000000;
  background-color: #fff;
  line-height: 1.6;
  font-size: 16px;
}

a {
  color: #007bff;
  text-decoration: none;
}

/* -----------------------------
FONTS
----------------------------- */

/* Barlow Condensed */
.bc-300 { font-family: 'Barlow Condensed', sans-serif; font-weight: 300; }
.bc-300i { font-family: 'Barlow Condensed', sans-serif; font-style: italic; }
.bc-400i { font-family: 'Barlow Condensed', sans-serif; font-weight: 400; font-style: italic; }
.bc-500 { font-family: 'Barlow Condensed', sans-serif; font-weight: 500; }
.bc-500i { font-family: 'Barlow Condensed', sans-serif; font-weight: 500; font-style: italic; }
.bc-600 { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; }
.bc-600i { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-style: italic; }
.bc-700 { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; }
.bc-700i { font-family: 'Barlow Condensed', sans-serif !important; font-weight: 700; font-style: italic; }

/* Montserrat */
.ms-400 { font-family: 'Montserrat', sans-serif; font-weight: 400; }
.ms-400i { font-family: 'Montserrat', sans-serif; font-style: italic; }
.ms-600 { font-family: 'Montserrat', sans-serif;  font-weight: 600; }
.ms-700 { font-family: 'Montserrat', sans-serif;  font-weight: 700; }
.ms-800 { font-family: 'Montserrat', sans-serif;  font-weight: 800; }

/* -----------------------------
HELPERS: Font Weight / Text Transform
----------------------------- */
.font-light { font-weight: 300; }
.font-regular { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }

.text-default { text-transform:none;}
.text-uppercase { text-transform: uppercase; }
.text-capitalize { text-transform: capitalize; }
.text-lowercase { text-transform: lowercase; }

.text-left { text-align: left;}
.text-justify { text-align: justify;}

.text-justified-centered {
  text-align: justify;
  max-width: 800px; /* o 90% su mobile */
  margin-left: auto;
  margin-right: auto;
}


/* -----------------------------
HELPERS: Font Size
----------------------------- */
.text-xs { font-size: 0.75rem; }
.text-sm { font-size: 0.875rem; }
.text-base { font-size: 1rem; }
.text-lg { font-size: 1.25rem; }
.text-xl { font-size: 1.5rem; }
.text-2xl { font-size: 2rem; }

/* -----------------------------
HELPERS: Colors
----------------------------- */
/* Backgrounds */
.bg-air3-white { background-color: #fff; }
.bg-air3-black { background-color: #000; }
.bg-air3-dark { background-color: #1f1f1f; }
.bg-air3-pink { background-color: #D22888; }
.bg-air3-red { background-color: #f43535; }
.bg-air3-lightgray { background-color: #efefef; }
.bg-air3-darkgray {background-color: #2e2e2e;}
.bg-air3-darkgray-2 {background-color: #171717;}
.bg-air3-orange { background-color: #EC9F18; }
.bg-air3-yellow { background-color: #F6BE34; }


/* Text Colors */
.text-air3-gray { color: #8F8F8F; }
.text-air3-azure { color: #237AC0; }
.text-air3-pink { color: #D22888; }
.text-air3-cyan { color: #5BC7D1; }
.text-air3-purple { color:  #8d3560; }
.text-air3-dark-orange { color: #df4338; }
.text-air3-orange { color: #EC9F18 !important;}
.text-air3-yellow { color: #F6BE34; }
.text-air3-white { color: #fff; }
.text-air3-dark-gray { color: #666; }
.text-air3-black { color: #000; }

/* -----------------------------
HELPERS: Spacing & Position
----------------------------- */
.px-md-10 {
  padding-left: 6rem !important;
  padding-right: 6rem !important;
}

@media (max-width: 767.98px) {
  .px-md-10 { padding-left: 0 !important; padding-right: 0 !important; }
}


.p-7 { padding: 4rem !important; }
.p-8 { padding: 4.5rem !important; }
.p-9 { padding: 5rem !important; }
.p-10 { padding: 6rem !important; }

.ps-20 { padding-left: 12rem !important; }

.is-absolute { position: absolute; }

.display-7 {
  font-size:2rem;
}

.display-8 {
  font-size:1.5rem;
}

.inline_block {
  display: inline-block;
}

.lineheight-compact-90 {
  line-height: 90%;
}

.no-radius {
  border-radius:0px;
}

.line-height-2 {
  line-height: 2;
}

.line-height-2-5 {
  line-height: 2.5;
}

.menu-dismissed {
  position: relative;
  color: #999;
  opacity: 0.9;
  pointer-events: none;
  cursor: default;
}

.menu-dismissed::after {
	content: '';
	position: absolute;
	left: 0;
	right: 35%;
	top: 50%;
	height: 5px;
	background: white;
	transform: translateY(-50%);
	pointer-events: none;
}






/* -----------------------------
ICONS
----------------------------- */
.la-xl, .fa-xl { font-size: 2rem; }
.la-lg, .fa-lg { font-size: 1.5rem; }
.la-sm, .fa-sm { font-size: 0.875rem; }

/* -----------------------------
FOOTER
----------------------------- */
footer {
  font-size: 0.95rem;
  background-color: #171717;
  color: #fff;
}

footer .list-unstyled a {
  color: #ffffffb3;
  text-decoration: none;
}

footer .list-unstyled a:hover {
  color: #F9C007;
}

footer .input-group input::placeholder {
  color: #888;
}

/* -----------------------------
SECTIONS
----------------------------- */
#sections {
  background-color: #000000;
}


/* Wrapper dei box con gap nero */
.box-wrapper {
    background-clip: padding-box;
    border-radius: 0;
}


/* -----------------------------
MODAL
----------------------------- */
.modal-header-air3 {
  background-color: #F9C007;
  color: #000;
}


/* -----------------------------
MODULES
----------------------------- */

.bg-cover {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Testo bianco con trasparenza semitrasparente */
.text-transparent-white {
  color: rgba(255, 255, 255, 0.5);
}

/* -----------------------------
SLIDERS - STRUTTURA GENERALE
----------------------------- */

.slider-box {
    position: relative;
    height: 100%;
}

.slider-box .swiper,
.slider-box .swiper-slide {
    width: 100%;
    height: 100%;
}

.bg-cover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* -----------------------------
SLIDERS - OVERLAY TOP/BOTTOM
----------------------------- */

.slider-top-bar,
.slider-bottom-bar {
    position: absolute;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10;
}

.slider-top-bar {
    top: 0;
}

.slider-bottom-bar {
    bottom: 0;
}


/* -----------------------------
SLIDERS - TITOLO
----------------------------- */

.slider-title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
    width: 50%;
}



/* -----------------------------
SLIDERS - PAGINATION (PALLINI)
----------------------------- */

/* Contenitore pagination in alto */
.swiper-pagination.pagination-top {
    position: relative;
    bottom: 0;
}

/* Allineamento a destra e spaziatura */
.slider-top-bar .swiper-pagination {
    display: flex;
    gap: 0.4rem;
    justify-content: flex-end;
    width: 50%;
}


/* Pallini Swiper default */
.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: transparent;
    border: 2px solid white;
    border-radius: 50%;
    opacity: 1;
    transition: background-color 0.3s ease;
}

/* Pallino attivo pieno */
.swiper-pagination-bullet-active {
    background-color: white;
}


/* -----------------------------
HOME ACTIONS
----------------------------- */
/* Sezione locandine: altezza responsiva massima */
#section-actions .row {
    min-height: 400px; /* Altezza minima di fallback */
}

@media (min-width: 768px) {
    #section-actions .row{
        min-height: 60vh; /* O regola personalizzata, es. 100vh */
    }
}

.masonry-box {
    min-height: 320px; /* Altezza minima di fallback */
}

@media (min-width: 768px) {
  .masonry-box{
        min-height: 40vh; /* O regola personalizzata, es. 100vh */
    }
}

/* Background responsive per i box */
#section-actions .bg-cover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* -----------------------------
HOME NEWS
----------------------------- */

.bg-air3-dark {
    background-color: #000000;
}

.news-card {
    background-color: #1a1a1a;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}


.news-img {
    height: 350px;
    background-size: cover;
    background-position: center;
}

/* Banda nera sotto immagine */
.news-meta-bar {
    background-color: #000;
    display: flex;
    align-items: center;
}

.news-content {
    flex-grow: 1;
    background-color: #272828;
}

.common-hero-bg {
    height: 350px;
}

.text-gradient-air3 {
  background: linear-gradient(90deg, #d22888, #f6be34); /* viola → arancio */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

/* SUBMENU */
/* Wrapper submenu */
.air3-submenu-wrapper {
  background-color: #1a1a1a;
}

/* Menu distribuito */
.submenu-dark {
  display: flex;
  justify-content: space-evenly; /* distribuzione uniforme */
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Singola voce */
.submenu-dark li.menu-item {
  flex: 1 1 auto;
  text-align: center;
}

/* Link voce */
.submenu-dark li.menu-item a {
  display: block;
  padding: 0.75rem 1rem;
  font-weight: 700;
  color: #cccccc; /* grigio più chiaro */
  text-transform: uppercase;
  font-size: 1rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

/* Hover / attivo */
.submenu-dark li.menu-item a:hover,
.submenu-dark li.menu-item.current-menu-item a {
  color: #fff;
}

.tag_nav {
  display: block;
  padding: 0.75rem 1rem;
  font-weight: 700;
  color: #cccccc;
  text-transform: uppercase;
  font-size: 1rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.tag_nav:hover {
  color: #FFFFFF;
}

/* NEWS */
#section_news {
  padding-left:100px;
  padding-right:100px;
}

.tag_news {
  display: inline-block;
  padding: 1rem 1rem;
  font-weight: 700;
  color: #cccccc;
  text-transform: uppercase;
  font-size: 1rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.tag_news_small {
  display: inline-block;
  padding: 0.5rem 0.5rem;
  font-weight: 700;
  color: #cccccc;
  text-transform: uppercase;
  font-size: 1rem;
  text-decoration: none;
  transition: color 0.2s ease;
  font-size:60%;
}

.read_all {
  color:#666;
  font-weight:bold;
}

.read_all:hover {
  color: #cccccc;
}

.card-sm .card-body {
    padding: 1rem;
}

.card img.object-fit-cover {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.card .row.g-0 {
    height: 100%;
}

@media (min-width: 768px) {
  .news-col-small {
    margin-left: -25px;
  }
}

.filter-select {
  background-color: #000 !important;
  color: #fff !important;
  border: none !important;
  padding-right: 2rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg fill='white' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.25 7.5l4.5 4.5 4.5-4.5H5.25z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 1rem;
  border-radius: 0.25rem;
}

.filter-select option {
  background-color: #000;
  color: #fff;
  border: none;
}

.auto-width {
  width: auto;
  min-width: 120px;
  max-width: 100%;
}



.director_img {
  height: 180px;
  position:relative;
}

.director_badge {
	position: absolute;
	top: 0;
	left: 0;
	height: auto;
	width: auto;
	z-index: 1;
}



.scroll-tags-container {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #aaa transparent;
}

.scroll-tags-container::-webkit-scrollbar {
    height: 6px;
}

.scroll-tags-container::-webkit-scrollbar-thumb {
    background-color: #aaa;
    border-radius: 3px;
}

/* Maschera: evita che il contenuto orizzontale crei scrollbar del body */
.tags-viewport{
  overflow: hidden;
  width: 100%;
}

/* Scroller interno: fa lo scroll orizzontale, con “margine” visivo ai lati */
.scroll-tags-container{
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  padding-inline: 12px;                /* spazio a sinistra/destra dentro lo scroller */
  scrollbar-width: thin;
  scrollbar-color: #aaa transparent;
  overscroll-behavior-x: contain;      /* evita “trascinare” l’intera pagina */
}

/* Riga chip: contenuto largo solo quanto serve */
.chips-row{
  width: max-content;                   /* opzionale, aiuta a non far “spingere” */
}


/* REPORT */
.cursor-pointer {
    cursor: pointer;
}

#registration_requirements, #registration_100_authors {
  display:none;
}

.multicolor_band_4_colors_blue_yellow_225 {
  background: linear-gradient(225deg, #1a2a80, #951b81, #d6291a, #f58700);
}

.multicolor_band_3_colors_orange_violet_180 {
   background: linear-gradient(180deg, #f00,#b00b0b, #951b81)
}

.multicolor_band_3_colors_darkgreen_lightgreen_180 {
  background: linear-gradient(180deg, #3e5a3e,#6c8130, #9c9c20);
}

.multicolor_band_3_colors_violet_yellow_135 {
  background: linear-gradient(135deg, #951b81, #e33c1b, #f9a700);
}

.multicolor_band_3_colors_yellow_violet {
  background: linear-gradient(135deg, #f9a700, #e33c1b, #951b81);
}

.hr_white_line {
  background-color: white;
  opacity: 1;
  height:2px;
}

#send_registration:hover {
  background-color: #F6BE34 !important;
}

/* OFFCANVAS MENU */
.offcanvas.fullheight {
  height: 100vh !important;
  max-height: 100vh !important;
  padding: 2rem;
  backdrop-filter: blur(4px);
  overflow-y: auto;
}

/* Imposta spazio tra le colonne */
.offcanvas-body .row > div {
  padding-left: 1rem;
  padding-right: 1rem;
  margin-bottom: 2rem;
}

/* Stile base dei link nel menu */
.menu-col a {
  display: block;
  color: white;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  height:4rem;
  transition: color 0.3s ease;
}

/* Hover sugli elementi */
.menu-col a:hover {
  color: #ffc107;
}

.menu-col .js-open-generic-modal {
  text-transform: uppercase;
  font-weight:bold;
}

.menu-col .js-open-generic-modal:hover {
  color: #ffc107;
}

/* Colonna destra allineata a destra solo da md in su */
@media (min-width: 768px) {
  .menu-col.text-md-end {
    text-align: right;
  }
}

/* Su mobile tutte le colonne centrano a sinistra */
@media (max-width: 767px) {
  .menu-col {
    text-align: left;
  }
}

.menu-item.void-place {
height:4rem;
}

/* LOGIN */

.login-form-wrapper .login-error {
    color: #ffc107;
}


#wp-submit:hover {
  background-color: #ffc107 !important;
}

#profile-submit:hover {
  background-color: #ffc107 !important;
}

/* SWITCH CHECKBOX MAGGIORATE */
/* Checkbox ingrandite */
input[type="checkbox"].form-check-input-lg {
  width: 1.4rem;
  height: 1.4rem;
  margin-top: 0.2rem;
  transform: scale(1);
  accent-color: #ffc107; /* giallo come lo stile AIR3 */
  margin-right: 20px;
}

.form-switch input[type="checkbox"].form-check-input-lg {
  width: 1.4rem;
  height: 1.4rem;
  margin-top: 0.2rem;
  transform: scale(1.4);
  accent-color: #ffc107; /* giallo come lo stile AIR3 */
  margin-right: 20px;
  margin-left:-30px;
}

/* Switch ingrandito stile Bootstrap 5 */
.form-switch .form-check-input-lg {
  width: 3.2em;
  height: 1.8em;
  background-size: 1.4em 1.4em;
}

.form-switch .form-check-input-lg:checked {
  background-color: #ffc107;
  border-color: #ffc107;
}

.form-switch .form-check-input-lg:focus {
  box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.25);
}

.input-group-text-lg {
    background-color: #666666;
    padding-right: 0px;
    padding-left: 1.1rem;
    padding-top: 0.1rem;
}

/* GRIDSTACK */

.grid-stack-item-content img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}


/* POLL */

/* Contenitore base (se non usi la card nel template) */
.wp-polls {
  background:#fff;
  /* border:1px solid #eee;
  border-radius:.5rem; */
  padding:1.25rem;
}

.bg-black .wp-polls {
  background:#000000;
  color: #FFFFFF;
}

/* Lista risposte */
.wp-polls-ul{
  list-style:none;
  padding-left:0;
  margin-bottom:1rem;
}
.wp-polls-ul li{
  display:flex;              /* << qui il flex */
  align-items:center;
  gap:.5rem;
  margin-bottom:.5rem;
}
.wp-polls-ul label{
  display:inline;            /* niente flex sul label */
  margin:0;
  cursor:pointer;
}

/* Input stile Bootstrap-like */
.wp-polls-ul input[type="radio"],
.wp-polls-ul input[type="checkbox"]{
  width:1rem;
  height:1rem;
  margin:0;                  /* evita spaziature strane */
  flex:0 0 auto;
}


/* Bottone invio in stile pill nero */
/*.wp-polls .Buttons,  */
/* .wp-polls .Buttons:visited {
  display:inline-block;
  padding:.5rem 1rem;
  border-radius:50rem;
  background:#000;
  color:#fff;
  border:0;
  text-decoration:none;
  line-height:1.25;
} */
.wp-polls .Buttons:hover { filter:brightness(1.1); }

/* Link "View Results" come link testuale più elegante */
.wp-polls a { text-decoration:none; }
.wp-polls a:hover { text-decoration:underline; }

/* Barra risultati */
.pollbar, .wp-polls .PollBar, .yop_poll_result_bar {
  border-radius:.25rem;
  min-height:.6rem;
}

/* Piccolo loader */
.wp-polls-loading { opacity:.7; }


/* Icona fianco al bottone Vota */



/* Archivio WP-Polls (shortcode [polls]) */
.wp-polls-archive-wrapper {
   border-bottom:2px solid #FFFFFF;
}



/* Link singoli sondaggio in archivio → stile list-group */
.wp-polls-archive-wrapper ul,
.wp-polls-archive-wrapper ol {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.wp-polls-archive-wrapper li {
  border: 1px solid #eee;
  border-radius: .5rem;
  padding: .75rem 1rem;
  margin-bottom: .5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  background: #fff;
}
.wp-polls-archive-wrapper li a {
  text-decoration: none;
}
.wp-polls-archive-wrapper li a:hover {
  text-decoration: underline;
}

/* Paginazione archivio (se presente) */
.wp-polls-archive-wrapper .wp-polls-paging,
.wp-polls-archive-wrapper .wp-polls-pagenavi {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.wp-polls-archive-wrapper .wp-polls-paging a,
.wp-polls-archive-wrapper .wp-polls-pagenavi a,
.wp-polls-archive-wrapper .wp-polls-paging span,
.wp-polls-archive-wrapper .wp-polls-pagenavi span {
  border: 1px solid #eee;
  border-radius: 50rem;
  padding: .25rem .75rem;
  background: #f8f9fa;
  text-decoration: none;
  display: inline-block;
}
.wp-polls-archive-wrapper .wp-polls-paging span.current,
.wp-polls-archive-wrapper .wp-polls-pagenavi span.current {
  background: #000;
  color: #fff;
  border-color: #000;
}


.wp-polls-archive-wrapper .Buttons:hover { filter: brightness(1.1); }

/* Barre risultati (nel caso si visualizzino) */
.wp-polls-archive-wrapper .pollbar,
.wp-polls-archive-wrapper .PollBar {
  border-radius: .25rem;
  min-height: .6rem;
}

/* Micro-testo (totale voti ecc.) */
.wp-polls-archive-wrapper .wp-polls-archive .wp-polls-total,
.wp-polls-archive-wrapper .wp-polls-archive p,
.wp-polls-archive-wrapper .wp-polls-archive .small {
  color: #6c757d;
  font-size: .875rem;
  margin: 0;
}


/* NEWS */
.news-card.variant-hero .card-title { font-size: clamp(1.3rem, 1.8vw, 2rem); }
.news-card.variant-medium .card-title { font-size: clamp(1.15rem, 1.6vw, 1.5rem); }
.news-card.variant-small .card-title { font-size: clamp(1rem, 1.3vw, 1.2rem); }
.news-card img { transition: transform .35s ease; }
.news-card a:hover img { transform: scale(1.03); }


/* chip base (già usato su mobile) */
.tag_chip{
  display:inline-block; padding:.45rem .9rem; border-radius:999px; font-weight:600;
  color:#000; background:#fff; text-decoration:none; border:1px solid #eee;
  transition: background-color .2s, color .2s, border-color .2s, opacity .2s;
  white-space:nowrap;
}
.tag_chip:hover{ opacity:.9; }
.tag_chip.active{ background:#034ea1; color:#fff; border-color:#034ea1; }

/* chip su sfondo scuro (desktop) */
.tag_chip--invert{
  background:transparent; color:#fff; border:1px solid rgba(255,255,255,.25);
}
.tag_chip--invert:hover{
  background:rgba(255,255,255,.08); color:#fff;
}
.tag_chip--invert.active{
  background:#fff; color:#000; border-color:#fff;
}

.tag_nav {
  display:inline-block;
  font-weight:600;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff;
  opacity:.7;
  padding:.35rem .75rem;
  border-radius:999px;
  transition:opacity .2s, background-color .2s, color .2s;
  border:1px solid rgba(255,255,255,.15);
}

.tag_nav:hover {
  opacity:1;
  background:rgba(255,255,255,.08);
}

.tag_nav.active {
  opacity:1;
  background:#fff;
  color:#000;
  border-color:#fff;
}


/* scroll orizzontale mobile */
.tags-scroll { overflow-x:auto; scrollbar-width:none; }
.tags-scroll::-webkit-scrollbar{ display:none; }



.pagination .page-link{border-radius:999px;padding:.5rem .75rem;border:1px solid #e5e5e5}
.pagination .page-item.active .page-link{background:#034ea1;border-color:#034ea1}
.pagination .page-link:focus{box-shadow:0 0 0 .2rem rgba(3,78,161,.25)}

/* pallini pagination */
.page-dots { gap: .4rem; }
.page-dot{
  width: 40px; height: 40px; border-radius: 50%;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #000; background:#fff; color:#000;
  text-decoration:none; line-height:1; user-select:none;
}
.page-dot:hover{ background:#000; color:#fff; }
.page-item.active .page-dot,
.page-dot[aria-current="page"]{ background:#000; color:#fff; border-color:#000; }
.page-item.disabled .page-dot{ opacity:.4; pointer-events:none; }

/* MODAL DIRECTOR SEARCH */
#air3DirectorResults .list-group-item img {
  border: 1px solid rgba(0,0,0,.08);
}
#air3DirectorResults .list-group-item strong {
  font-weight: 800;
}

/* Modal antracite */
.modal-content.air3-dark {
  background-color: #1c1c1c; /* grigio antracite */
  color: #fff;              /* testo bianco di default */
}

/* Header e footer del modal */
.modal-content.air3-dark .modal-header,
.modal-content.air3-dark .modal-footer {
  border-color: rgba(255, 255, 255, 0.1); /* linea divisoria sottile chiara */
}

/* Titolo del modal */
.modal-content.air3-dark .modal-title {
  color: #fff;
}

/* Input e textarea */
.modal-content.air3-dark .form-control {
  background-color: #2a2a2a;
  border: 1px solid #444;
  color: #fff;
}
.modal-content.air3-dark .form-control::placeholder {
  color: #aaa;
}

/* Lista risultati */
.modal-content.air3-dark .list-group-item {
  background-color: #2a2a2a;
  color: #fff;
  border-color: #444;
}
.modal-content.air3-dark .list-group-item:hover {
  background-color: #3a3a3a;
}

/* Accordion sfondo nero / testo bianco */
.accordion-item {
  background-color: #000;
  color: #fff;
  border: 1px solid #444;
}

/* Header button */
.accordion-button.dark-accordion-button {
  background-color: #000;
  color: #fff;
  font-weight: 600;
}

/* Stato aperto: rimuovo il bg bianco di default */
.accordion-button.dark-accordion-button:not(.collapsed) {
  background-color: #111;
  color: #fff;
  box-shadow: none;
}

/* Corpo */
.dark-accordion-body {
  background-color: #2e2e2e;
  color: #fff;
}


/* PROJECTS */

/* Projects Index + Single (coerente con stile directors) */

.project-poster.ph {
  height: 280px;
  background: #f5f6f8;
  border: 1px dashed #dfe3e8;
}

.section-title { font-weight: 700; letter-spacing: .3px; }
.text-air3 { color: #116ba3; }
.bg-air3-white { background-color: #fff; }

.project-card .bg-cover {
  background-size: cover;
  background-position: center;
}
.hover-lift { transition: transform .15s ease, box-shadow .15s ease; }

#projectsFilterForm .form-label { font-weight: 600; }
.ratio iframe { border: 0; border-radius: .5rem; }


/* Dark theme filter bar */
#projectsFilterForm .form-control.air3-bg-black,
#projectsFilterForm .form-select.air3-bg-black {
  background-color: #000;
  color: #fff;
}

#projectsFilterForm .form-control.air3-bg-black::placeholder {
  color: #bbb;
}

#projectsFilterForm .form-select.air3-bg-black option {
  background-color: #000;
  color: #fff;
}

/* abilita ratio 2:1 come i directors */
.ratio.ratio-2x1 { --bs-aspect-ratio: 50%; }

.project_img > img { width: 100%; height: 100%; object-fit: cover; display: block; }
#air3VideoModal .modal-content.air3-dark { background-color:#111; color:#fff; }
#air3VideoModal .ratio iframe { width:100%; height:100%; border:0; display:block; }

/* === AIR3 Global Autocomplete === */

/* Assicura posizionamento relativo del form */
.air3-searchbar { position: relative; }

/* Contenitore dropdown (ancorato a destra, apre verso il centro) */
.air3-search-dd {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;                 /* allineato a destra */
  min-width: 360px;
  max-width: 520px;
  max-height: 70vh;
  overflow: auto;
  background: #111;         /* dark */
  color: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
  z-index: 1055;            /* sopra navbar */
  display: none;
}

.air3-search-dd.is-open { display: block; }

.air3-search-dd-list {
  list-style: none;
  margin: 0;
  padding: 6px;
}

.air3-search-dd-item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  margin: 4px 0;
}

/* Hover SOLO sfondo (non toccare colori testo/link) */
.air3-search-dd .air3-search-dd-item.is-active,
.air3-search-dd .air3-search-dd-item:hover {
  background: rgb(61, 61, 61);
}

/* Riga link: 3 colonne -> thumb (48) + icon (28) + testo (auto) */
.air3-dd-link {
  display: grid;
  grid-template-columns: 48px 28px auto;
  gap: 10px;
  align-items: center;
  text-decoration: none;
  color: inherit;                /* testo invariato */
  padding: 10px 12px;
}

/* Non cambiare colore al hover/focus */
.air3-search-dd .air3-dd-link:hover,
.air3-search-dd .air3-dd-link:focus {
  color: inherit;
  text-decoration: none;
}

/* Extra: neutralizza override a:hover del tema sul titolo */
.air3-search-dd .air3-dd-link:hover .air3-dd-title,
.air3-search-dd .air3-dd-link:focus .air3-dd-title {
  color: inherit !important;
}

/* Thumb (immagine quadrata) */
.air3-dd-thumb {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
  background-color: #222;
}

/* Icona Line Awesome in box separato */
.air3-dd-iconbox {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.08);
  flex-shrink: 0;
}
.air3-dd-iconbox .la { font-size: 16px; line-height: 1; }

/* Meta */
.air3-dd-meta { line-height: 1.2; }
.air3-dd-title { font-weight: 600; }
.air3-dd-title strong { color: #ffd54d; font-weight: 800; } /* highlight */
.air3-dd-type { font-size: 12px; opacity: .7; margin-top: 2px; }

/* Mobile fallback */
@media (max-width: 480px) {
  .air3-search-dd {
    min-width: min(90vw, 420px);
    right: 0;
  }
}


/* OVERLAY */
/* Overlay fullscreen nero opaco */
.air3-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.85);
  display: none;                 /* attivo con .is-visible */
  align-items: center;
  justify-content: center;
  z-index: 999999;
}

/* Stato visibile */
.air3-overlay.is-visible { display: flex; }

/* Spinner grande bianco */
.air3-spinner {
  text-align: center;
  color: #fff;
}

.air3-spinner i {
  font-size: 84px;               /* icona grande */
  line-height: 1;
  display: inline-block;
  animation: air3-spin 1s linear infinite;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4));
}

/* Testo sotto (opzionale) */
.air3-spinner-label {
  margin-top: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .9;
}

/* Rotazione */
@keyframes air3-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Evita scroll quando overlay è attivo */
body.air3-overlay-lock { overflow: hidden !important; }

/* POLLS */
.wp-polls-archive p, .wp-polls-archive p strong, p.wp-polls-total-vote-text {
   font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
   font-size: 2rem;
   color: #ffffff;
   text-transform: uppercase;
}

.wp-polls-title-polling {
    font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
    font-size: 2rem;
    color: #ffffff;
    text-transform: uppercase;
}

p strong.wp-polls-total-vote-value {
  color: #F6BE34;
}

.wp-polls-archive p {
  padding-bottom:40px;
}

.wp-polls-archive .wp-polls-ans .wp-polls-ul li {
  background-color: #171717;
  color: #FFFFFF;
  border: none;
  border-radius: 0px;
}

.wp-polls-ans .wp-polls-ul li .pollbar {
  height: 1.5rem;
  background-image: none;
  background-color: #F6BE34;
  border: none;
}

.wp-polls-archive-wrapper .wp-polls-archive .wp-polls-start-end-dates {
  color: #FFFFFF;
  font-size:1.2rem;
}

input.Buttons.wp-polls-vote-button {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
  font-size: 2rem;
  background-color: #F6BE34;
  color: #000000;
  text-transform:uppercase;
  border:none;
  margin-bottom:20px;
}

a.wp-polls-view-results-button {
  font-size: 1.2rem;
  text-decoration: none;
  text-transform:uppercase;
  color: #4df4fa;
  font-weight:bold;
}

a.wp-polls-view-results-button:hover {
  text-decoration: none;
  filter:brightness(1.1)
}


/* Stili pagina manutenzione AIR3 */
#maintenance-air3 {
    background: #000;
    color: #fff;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    padding: 40px 20px;
}

.maintenance-logo {
    flex: 1; /* occupa lo spazio centrale */
    display: flex;
    align-items: center;
    justify-content: center;
}

.maintenance-logo img {
    max-width: 400px; /* logo ancora più grande */
    height: auto;
}

.maintenance-bottom {
    margin-bottom: 40px; /* un po’ di spazio dal fondo */
}

.maintenance-text {
    text-transform: uppercase;
    margin-bottom: 12px;
}

.maintenance-login a {
    color: #888;
    text-decoration: none;
    transition: color 0.3s ease;
    text-transform: none;
}

.maintenance-login a:hover {
    color: #fff;
}

#sections.air3-single-post {
    background-color: #FFFFFF;
}


.news-card-link {
    display: block;
    height: 100%;
}

.news-card-link:hover .read_all {
    text-decoration: underline;
}
