@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Alan+Sans:wght@300..900&display=swap');



/* ------------------------------------------ */
/*	INIZIO TESTO  */

body {
  margin: 0;
  padding: 0;
}

p {
font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
	font-size: 16px;
	color: #333;
	line-height: 22px;
}

h1 {
font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
	font-size: 34px;
	color: #004a99;
	line-height: 36px;
	margin-bottom: 25px;
}

h2 {
font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
	font-size: 28px;
	color: #333;
	line-height: 30px;
	margin-bottom: 25px;
}

h3 {
font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
	font-size: 24px;
	color: #333;
	line-height: 26px;
	margin-bottom: 25px;
}

h4 {
font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
	font-size: 20px;
	color: #333;
	line-height: 20px;
	margin-bottom: 25px;
}


h5 {
font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
	font-size: 20px;
	color: #333;
	line-height: 25px;
	margin-bottom: 15px;
}

a{
	color: #004a99;
	text-decoration: none;
}

.link-bianco {
	color: #fff !important;
}

/* FINE TESTO */
/*	----------------------------------------- */








/* ------------------------------------------ */
/*	INIZIO PUNTI ELENCO  */

ul.a {
  list-style-type: circle;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}

ul.b {
  list-style-type: square;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}
	
ul.c {
  list-style-type: disc;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}	

ul.d {
  list-style-type: decimal;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}

ul.e {
  list-style-type: lower-alpha;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}
	
ul.f {
  list-style-type: lower-roman;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}	

li {
	padding-bottom: 8px;
}

/* FINE PUNTI ELENCO */
/*	----------------------------------------- */







/* ------------------------------------------ */
/*	INIZIO TABELLE  */

/* =========================================================
   TABLE STYLE - Bootstrap 5.1
   Allineamento gestito via classi sui <td>
   ========================================================= */

.table-bgs-2col,
.table-bgs-multi{
  border: 1px solid #ececec;
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 1rem;
  width: 100%;
}

/* Celle */
.table-bgs-2col th,
.table-bgs-2col td,
.table-bgs-multi th,
.table-bgs-multi td{
  padding: 0.85rem 1rem;
  vertical-align: middle;
  text-align: center; /* DEFAULT: centro */
}

/* HEADER */
.table-bgs-2col thead th,
.table-bgs-multi thead th{
  background: #004a99;
  color: #ffffff;
  font-weight: 600;
  border-bottom: 1px solid rgba(255,255,255,0.2);
}

/* Zebra righe */
.table-bgs-2col tbody tr:nth-child(odd),
.table-bgs-multi tbody tr:nth-child(odd){
  background: #ffffff;
}

.table-bgs-2col tbody tr:nth-child(even),
.table-bgs-multi tbody tr:nth-child(even){
  background: rgba(0, 74, 153, 0.08);
}

/* Separatori orizzontali */
.table-bgs-2col tbody tr + tr td,
.table-bgs-multi tbody tr + tr td{
  border-top: 1px solid #ececec;
}

/* =========================================================
   CLASSI DI ALLINEAMENTO (override)
   ========================================================= */
.table-bgs-2col td.allineamento-sx,
.table-bgs-multi td.allineamento-sx,
.table-bgs-2col th.allineamento-sx,
.table-bgs-multi th.allineamento-sx{
  text-align: left;
}

.table-bgs-2col td.allineamento-centro,
.table-bgs-multi td.allineamento-centro,
.table-bgs-2col th.allineamento-centro,
.table-bgs-multi th.allineamento-centro{
  text-align: center;
}

/* =========================================================
   VARIANTE 1: 2 COLONNE (NO linee verticali)
   ========================================================= */
.table-bgs-2col th,
.table-bgs-2col td{
  border-left: none !important;
  border-right: none !important;
}

/* =========================================================
   VARIANTE 2: MULTI COLONNE (SI linee verticali)
   ========================================================= */
.table-bgs-multi thead th + th,
.table-bgs-multi tbody td + td{
  border-left: 1px solid #ececec;
}

/* FINE TABELLE */
/*	----------------------------------------- */






/* ------------------------------------------ */
/*	INIZIO CONTAINER  */

.container {
  max-width: 1400px;
  margin: 0 auto;
}

/* Vista tablet e desktop medi */
@media (max-width: 1400px) {
  .container {
    padding: 0 55px;
    margin-left: 5px;
  }
}

/* Vista mobile orizzontale (fino a ~768px) */
@media (max-width: 768px) {
  .container {
    padding: 0 25px;    /* più stretto del desktop */
    margin-left: 0;
  }
}

/* Vista mobile verticale (fino a ~576px) */
@media (max-width: 576px) {
  .container {
    padding: 0 15px;    /* quasi tutto schermo */
    margin-left: 0;
  }
}


/* FINE CONTAINER */
/*	----------------------------------------- */






/* ------------------------------------------ */
/*	INIZIO BACKGROUND  */

.bg-primary {
	background-color: #028ab6 !important;
}

/* FINE BACKGROUND */
/*	----------------------------------------- */







/* ------------------------------------------ */
/*	INIZIO SPAZIATURE  */

.pt-20 {
	padding-top: 20px;
}

.mt-20 {
	margin-top: 20px;
}

.mt-40 {
	margin-top: 40px;
}

.mt-80 {
	margin-top: 80px;
}

.mb-40 {
	margin-bottom: 40px;
}

.mb-80 {
	margin-bottom: 80px;
}

/* FINE SPAZIATURE */
/*	----------------------------------------- */









/* ------------------------------------------ */
/* INIZIO HEADER */

/* Font base per link di menu */
.main-nav .nav-link,
.dropdown-menu .dropdown-item,
.mobile-nav-link,
.mobile-sub-link,
.topbar-text,
.social-link {
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
}

/* TOP BAR */
.topbar {
  background-color: #004a99;
  color: #ffffff;
  font-size: 16px;
  padding: 10px 0;
}

.topbar-text {
  color: #ffffff;
}

.topbar .volume-icon {
  font-size: 16px;
}

.topbar-social .social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-left: 8px;
  border-radius: 50%;
  color: #ffffff !important;
  font-size: 13px;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.topbar-social .social-link:hover {
  opacity: 0.8;
  transform: translateY(-1px);
}

/* HEADER MAIN */
.header-main {
  background-color: #ffffff;
  border-bottom: 1px solid #f0f0f0;
}

.header-main-inner {
  padding-top: 14px;
  padding-bottom: 14px;
}

.header-logo img {
  max-height: 60px;
  height: auto;
}

/*       MENU DESKTOP        */
.main-nav {
  /* nav è solo un contenitore, niente stile particolare */
}

.main-nav-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.main-nav-item {
  position: relative;
}

/* Link di primo livello */
.main-nav-link {
  display: inline-flex;
  align-items: center;          /* testo + freccetta allineati */
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: 16px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #333333;
  text-decoration: none;
  padding: 0;                   /* nessun padding verticale */
  margin: 0;
  line-height: 1.2;
}

/* Stato hover/active: solo colore */
.main-nav-link:hover,
.main-nav-link:focus {
  color: #004a99;
}

.main-nav-link.active {
  color: #004a99;
  font-weight: 400;
}

.main-nav-link.a {
  color: #333 !important;
}

/* Freccetta */
.main-nav-link .dropdown-arrow {
  font-size: 11px;
  margin-left: 6px;
  display: inline-block;
  transition: transform 0.2s ease;
}

/*  DROPDOWN DESKTOP   */
.has-dropdown .main-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 14px;

  list-style: none;
  padding: 10px 0;
  margin-left: 0;

  min-width: 200px;
  border-radius: 6px;
  border: 1px solid #f3f3f3;
  background-color: #ffffff;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.05);

  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  z-index: 20;
}

.has-dropdown:hover .main-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.main-dropdown-link {
  display: block;
  padding: 7px 18px;
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: 15px;
  font-weight: 300;
  text-transform: none;
  color: #333333;
  text-decoration: none;
}

.main-dropdown-link + .main-dropdown-link {
  margin-top: 4px; /* piccolo spazio tra le voci */
}

.main-dropdown-link:hover,
.main-dropdown-link:focus {
  background-color: #f7f8fb;
  color: #004a99;
}

/* Freccetta: ruota verso destra on hover della voce */
.has-dropdown:hover .dropdown-arrow {
  transform: rotate(-90deg);
}


/*       MENU MOBILE         */
/* Icona panino mobile */
.menu-toggle {
  background: none;
  border: none;
  padding: 4px;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  width: 26px;
  height: 20px;
}

.menu-toggle span {
  display: block;
  height: 2px;
  width: 100%;
  background-color: #333333;
  border-radius: 10px;
}

/* Menu mobile offcanvas */
.mobile-menu {
  background-color: #ffffff;
}

.mobile-menu .offcanvas-header {
  border-bottom: 1px solid #e5e5e5;
}

.mobile-menu .offcanvas-title {
  font-family: "Alan Sans", sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #333333;
}

.mobile-nav {
  display: flex;
  flex-direction: column;
}

/* link principali */
.mobile-nav-link {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 12px 20px;
  font-size: 16px;
  font-weight: 300;
  text-transform: uppercase;
  color: #333333;
  text-decoration: none;
  border-bottom: 1px solid #e8e8e8;  /* linee divisorie grigio chiaro */
  background-color: #ffffff;
}

.mobile-nav-link:hover,
.mobile-nav-link:focus {
  background-color: #f7f8fb;
  color: #004a99;
}

/* pulsanti con sottomenù */
.mobile-has-sub {
  background: none;
  border: none;
  border-radius: 0;
  text-align: left;
  border-bottom: 1px solid #e8e8e8 !important;
}

.mobile-has-sub .small-arrow {
  font-size: 11px;
}

/* voci di sottomenù */
.mobile-sub-link {
  display: block;
  padding: 9px 32px;
  font-size: 15px;
  font-weight: 300;
  text-transform: none;
  color: #333333;
  text-decoration: none;
  border-bottom: 1px solid #f0f0f0;
  background-color: #fcfcfc;
}

.mobile-sub-link:hover,
.mobile-sub-link:focus {
  background-color: #f0f2f7;
  color: #004a99;
}

/* Riga divisoria sotto le voci mobile con dropdown */
.mobile-nav-group .mobile-nav-link {
  border-bottom: 1px solid #e8e8e8 !important;
}

/* RESPONSIVE SPECIFICO HEADER */
@media (max-width: 991.98px) {
  /* topbar: solo social */
  .topbar {
    padding-top: 4px;
    padding-bottom: 4px;
  }

  .topbar-social {
    margin-left: 0;
    margin-right: 4px;
  }

  .header-main-inner {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .header-logo img {
    max-height: 48px;
  }
}

/* FINE HEADER */
/* ------------------------------------------ */











/* ------------------------------------------ */
/* INIZIO SLIDER */

/* SLIDE HERO FULLSCREEN */
.slide-hero-full {
  position: relative;
  width: 100%;
  height: 90vh;
  overflow: hidden;
  background: #ffffff; 
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 50px; 
  margin-bottom: 10px;	
}

@media screen and (min-width: 1023px) and (max-width: 1279px) {
  .slide-hero-full {
    top: 52%;
	  margin-top: 20px;
	  height: 100vh;
	  padding-top: 10px;
	  margin-bottom: 200px;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1440px) {   /* MacBook Air */
  .slide-hero-full {
	  height: 100vh;
	  margin-bottom: 70px;
  }
}

@media screen and (max-width: 1023px) and (orientation: portrait) {    /* Verticale */
  .slide-hero-full {
    max-height: 900px;
	margin-top: -150px;
	height: 100vh;
	margin-bottom: -150px;
	 position: relative;
	z-index: 8;  
  }
}


@media screen and (max-width: 1023px) and (orientation: landscape) {    /* Orizzontale */
  .slide-hero-full {
	margin-top: -50px;
	height: 100vh;
	 position: relative;
	z-index: 8;  
  }
}




/* Contenitore delle slide (posizionamento 3D style) */
.slide-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

/* Ogni singola slide (DESKTOP) */
.slide-card {
  width: 62vw;                /* più strette */
  max-width: 1400px;
  height: 694px;
  border-radius: 15px;
  overflow: hidden;
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.5s ease, opacity 0.5s ease;
  opacity: 0;
  z-index: 1;
}

/* Laptop / Portatili */
@media screen and (min-width: 1023px) and (max-width: 1279px) {
  .slide-card {
    top: 50%;
	  height: 600px;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1440px) {
  .slide-card {
    top: 50%;
  }
}

@media screen and (max-width: 1023px) {
  .slide-card {
    height: 50%;
  }
}


/* Immagine */
.slide-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Stato slide attiva (centrale, più grande) */
.slide-card.slide-active {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  z-index: 3;
}

/* Slide precedente (a sinistra, più bassa = scala minore) */
.slide-card.slide-prev {
  transform: translate(calc(-50% - 34vw), -50%) scale(0.9);
  opacity: 0.7;
  z-index: 2;
 /* left: 380px;      tieni il tuo posizionamento desktop */
	left: 20%;
}

/* Slide successiva (a destra, più bassa = scala minore) */
.slide-card.slide-next {
  transform: translate(calc(-50% + 34vw), -50%) scale(0.9);
  opacity: 0.7;
  z-index: 2;
 /* left: 1540px;     tieni il tuo posizionamento desktop */
	left: 80%;
  top: 41%;
}

@media screen and (min-width: 1024px) and (max-width: 1440px) {
  .slide-card.slide-next {
    top: 49% !important;
  }
}

/* Slide non visibili */
.slide-card.slide-hidden {
  opacity: 0;
  pointer-events: none;
  z-index: 1;
}

/* ------------------------------------------ */
/* BOX INFO SULLA SLIDE */
/* ------------------------------------------ */

.slide-info {
  position: absolute;
  right: 30px;
  bottom: 30px;
  background: #ffffff;
  border-radius: 15px;
  padding: 16px 18px 12px 18px;
  max-width: 40%;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

@media screen and (min-width: 1024px) and (max-width: 1440px) {
  .slide-info {
    max-width: 60%;
  }
}

@media screen and (min-width: 1023px) and (max-width: 1279px) {
  .slide-info {
    max-width: 60%;
  }
}

@media screen and (max-width: 1023px) {
  .slide-info {
    max-width: 80%;
  }
}

/* Categoria */
.slide-category {
  display: inline-block;
  background: linear-gradient(to right, #1577d8 10%, #004a99 100%);
  border-radius: 5px;
  padding: 4px 12px;
  margin-bottom: 10px;
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 18px;
  color: #fff;
}

@media screen and (min-width: 1023px) and (max-width: 1279px) {
  .slide-category {
   font-size: 16px;
  }
}

@media screen and (max-width: 1023px) {
  .slide-category {
    font-size: 10px;
  }
}

/* Titolo articolo */
.slide-title {
  margin: 0;
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 24px;
  color: #333;
}

@media screen and (min-width: 1023px) and (max-width: 1279px) {
  .slide-title {
   font-size: 20px;	  
  }
}

@media screen and (max-width: 1023px) {
  .slide-title {
    font-size: 12px;
	line-height: 12px;
	font-weight: 400;    
  }
}

/* Icona link in basso a destra */
.slide-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  margin-left: auto;
  float: right;
  text-decoration: none;
  color: #000;
  font-size: 22px;
}

.slide-link:hover {
  color: #004a99;
}

/* ------------------------------------------ */
/* FRECCETTE DI NAVIGAZIONE */
/* ------------------------------------------ */

.slide-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;                    /* fondo circolare */
  border: none;
  background: rgba(255,255,255,0.8);     /* background bianco opacizzato */
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 40;
  transition: background 0.2s ease, transform 0.2s ease;
}

.slide-arrow i {
  color: #333;                           /* icone colore #333 */
  font-size: 24px;
}

.slide-arrow:hover {
  background: rgba(255,255,255,0.95);
  transform: translateY(-50%) scale(1.05);
}

.slide-arrow-prev {
  left: 30px;
}

.slide-arrow-next {
  right: 30px;
}




/* FINE SLIDER */
/* ------------------------------------------ */










/* ------------------------------------------ */
/* INIZIO HOME ARTICOLI VERTICALI*/

.home-articoli-margin {
	margin-bottom: 65px;
}

.home-articoli {
  padding-right: 47px; /* default */
}

/* Mobile verticale (smartphone fino a 576px) */
@media (max-width: 576px) {
  .home-articoli {
    padding-right: 10px !important;
  }
}


@media screen and (max-width: 1023px) and (orientation: portrait) {    /* Verticale */
  .home-articoli-mobile {
    margin-top: -200px;
    z-index: 12;
    position: relative;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {   /* Orizzontale */
  .home-articoli-mobile {
    margin-top: -20px;
  }
}

.home-articoli-box {
	border-radius: 15px;
	background-color: #fff;
	box-shadow: 0px 10px 30px rgba(61, 91, 125, 0.15);
	margin-bottom: 30px;
}

.home-articoli-categoria {
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: 30px;
  color: #333;	
  margin-bottom: 30px;	
}

.home-articoli-categoria-barra {
  width: 30%;
  height: 10px;
  background: linear-gradient(91.85deg, #1577d8 0%, #004a99 100%);
  border-radius: 10px;
  margin-bottom: 35px;	
}

.home-articoli-img {
	width: 100%;
	border-radius: 15px 15px 0 0;
}

.home-articoli-orizzontale-img {
	width: 100%;
	border-radius: 15px 0 0 15px;
	height: 100%;
	object-fit: cover;        /* evita distorsioni, riempie il box */
  object-position: center;  /* centra l’immagine */
  display: block;           /* elimina eventuali spazi bianchi */
}

.home-articoli-divisore {
	border-bottom: 1px solid #1577d8;
	padding-bottom: 15px;
	margin-bottom: 10px; 
	display: flex;
	flex-wrap: wrap;
}

.home-articoli-data {
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: 14px;
  color: #636363;
  font-weight: 400;
}

.home-articoli-titolo {
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: 24px;
  color: #333;
  font-weight: 500;
  line-height: 26px;	
  margin-bottom: 15px;
  margin-top: 15px;	
}

.home-articoli-testo {
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: 16px;
  color: #333;
  font-weight: 300;
  line-height: 24px;	
  margin-bottom: 10px;
}

.home-articoli-freccia {
  font-size: 38px;
  margin-left: auto;            /* spinge l'elemento a destra */
  display: flex;                /* necessario per usare auto-margin */
  justify-content: flex-end;    /* allinea dentro */
  transition: transform 0.25s ease;
}

.home-articoli-freccia:hover {
  transform: translateX(-6px);
}

.home-articoli-orizzontali-freccia {
	width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 1px solid #ececec;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #177ef7;
	position: relative;
 left: 80%;
}

.home-articoli-orizzontali-freccia:hover {
	background: linear-gradient(to right, #1577d8 10%, #004a99 100%);
	color: #fff !important;
	border: none;
}


/* FINE HOME ARTICOLI VERTICALI */
/* ------------------------------------------ */






/* ------------------------------------------ */
/* INIZIO HOME CATEGORIE */

.home-categorie-background {
	background-color: #000;
	padding: 30px;
	border-radius: 10px;
	margin-bottom: 65px;
}

/*
.home-categorie-base {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}
*/

.home-categorie-base {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}




.home-categorie-singola {
	padding: 22px;
	border: 1px solid #4d4d4d;
	border-radius: 8px;
}

.home-categorie-singola:hover {
	border: 1px solid #ececec;
}

.home-categorie-img {
	border-radius: 6px;
	overflow: hidden;
	margin-bottom: 15px;
	width: 100%;
}

.home-categorie-img-width {
  width: 100%;
  min-height: 200px;
  height: 200px;            /* necessaria per object-fit */
  object-fit: cover;        /* evita distorsioni, riempie il box */
  object-position: center;  /* centra l’immagine */
  display: block;           /* elimina eventuali spazi bianchi */
}


.home-categorie-area-testo {
	/* display: flex; */
	align-items: center;
	justify-content: space-between;
}

.home-categorie-testo {
	color: #fff;
	font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
	font-size: 20px;
	font-weight: 300;
	line-height: 22px;
	text-align: center;
	text-transform: uppercase;
}

/* FINE HOME CATEGORIE */
/* ------------------------------------------ */







/* ------------------------------------------ */
/* INIZIO SEARCH BOX */

form.search-box {
  align-items: center !important;
  gap: 10px;
 display: flex !important;
	width: 100% !important;
	max-width: 100%;
  margin: 0 auto;
}

/* Input di ricerca dentro il form */
form.search-box input[type="search"],
form.search-box #search-input {
  width: 100% !important;
  padding: 10px !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  margin-right: 5px !important;
  font-size: 16px !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Pulsante dentro il form */
form.search-box button {
   color: #fff;
  background: linear-gradient(to right, #1577d8 10%, #004a99 100%);
  padding: 14px 25px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  margin: 15px 0 15px 0;	
  border: 0px solid;
}

form.search-box button:hover {
  background: #0a58ca;
}

/* FINE SEARCH BOX */
/* ------------------------------------------ */





/* ------------------------------------------ */
/* INIZIO BOTTONI */

.bottone-uno {
  color: #fff;
  background: linear-gradient(to right, #1577d8 10%, #004a99 100%);
  padding: 15px 40px;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  margin: 15px 0 15px 0;	
  border: 0px solid;
}

.bottone-uno:hover {
	background: #0a58ca;
}

/* FINE BOTTONI */
/* ------------------------------------------ */






/* ------------------------------------------ */
/* INIZIO SIDEBAR */

.sidebar-img-uno {
  width: 100%;
	border-radius: 10px;
	border: 1px solid #ececec;
}

.sidebar-margin {
	margin: 45px 0 45px 0;
}

.sidebar-titolo {
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: 18px;
  color: #333;
  margin-bottom: 25px;     /* spazio sotto */
  position: relative;      /* NECESSARIO per il ::after */
  padding-bottom: 25px;    /* spazio tra testo e barra */
}

.sidebar-titolo::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;               /* si aggancia alla fine del testo */
  width: 100%;
  height: 10px;
  background: linear-gradient(91.85deg, #1577d8 0%, #004a99 100%);
  border-radius: 10px;
}


/* FINE SIDEBAR */
/* ------------------------------------------ */






/* ------------------------------------------ */
/* INIZIO FOOTER */

.footer {
	background-color: #1577d8;
	color: #fff;
	padding: 20px; 
	font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
	font-size: 13px;
	font-weight: 300;
}

.sviluppatore-txt {
	text-align: right;
	color: #fff; 
	font-size: 12px;
	font-family: Alan Sans, sans-serif;
	font-optical-sizing: auto; 
}

.link-privacy {
	color: #fff;
	text-transform: uppercase;
}

.link-privacy:hover {
	color: #004a99;
}


/* FINE FOOTER */
/* ------------------------------------------ */




/* ------------------------------------------ */
/* INIZIO breadcrumb */

.breadcrumb-barra-titolo {
  width: 30%;
  height: 10px;
  background: linear-gradient(91.85deg, #1577d8 0%, #004a99 100%);
  border-radius: 10px;
	margin-top: 30px;
	float: right;
}

.breadcrumb-section {
  border-bottom: 1px solid #4c4c4c;
	padding: 30px;
	margin-bottom: 110px;
}

.breadcrumb-titolo {
  text-align: right;
	font-size: 30px;
	color: #004a99;
	font-weight: 400;
font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
}

/* Mobile — verticale e orizzontale */
@media (max-width: 768px) {
  .breadcrumb-titolo {
    font-size: 22px; /* più piccolo sui mobile */
  }
}

/* Mobile molto piccolo (iPhone SE, vecchi telefoni) */
@media (max-width: 480px) {
  .breadcrumb-titolo {
    font-size: 18px;
  }
}

/* FINE breadcrumb */
/* ------------------------------------------ */







/* ------------------------------------------ */
/* INIZIO PAGINAZIONE */

/* wrapper opzionale, per allineare al centro */
.paginazione-categoria-wrapper {
  margin: 40px 0;
  text-align: center;
}

/* <ul> della paginazione */
.paginazione-categoria {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-flex;        /* la lista diventa una riga */
  gap: 10px;                   /* spazio tra i cerchi */
}

/* ogni <li> */
.paginazione-item {
  /* puoi lasciare vuoto se non serve altro */
}

/* link numeri / frecce */
.paginazione-item a {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid #ececec;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #177ef7;
  text-decoration: none;
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: 15px;
  font-weight: 400;
  transition: all 0.2s ease;
}

/* hover: stesso effetto della freccia */
.paginazione-item a:hover {
  background: linear-gradient(to right, #1577d8 10%, #004a99 100%);
  color: #fff !important;
  border: none;
}

/* pagina attiva (corrente) */
.paginazione-item.active a {
  background: linear-gradient(to right, #1577d8 10%, #004a99 100%);
  color: #fff;
  border: none;
  cursor: default;
}

/* disabilitato (es. freccia precedente alla pagina 1) */
.paginazione-item.disabled a {
  opacity: 0.4;
  pointer-events: none;
}



/* FINE PAGINAZIONE */
/* ------------------------------------------ */











/* ------------------------------------------ */
/* INIZIO ARTICOLO */

.articolo-titolo {
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: 30px;
  color: #004a99;
  font-weight: 500;
  line-height: 35px;	
  margin-bottom: 15px;
  margin-top: 15px;	
	text-align: left;
}

.articolo-testo {
  font-family: "Alan Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: 16px;
  color: #333;
  font-weight: 300;
  line-height: 28px;	
  margin-bottom: 10px;
	text-align: justify;
}

/* FINE ARTICOLO */
/* ------------------------------------------ */
