
:root {
  --primary: #06A3DA !important;
  --secondary: #34AD54 !important;
  --light: #EEF9FF !important;
  --dark: #091E3E !important;
}

.bg-light { background-color: #EEF9FF !important; }
.bg-primary { background-color: #06A3DA !important; }
.bg-dark { background-color: #091E3E !important; }
.text-primary { color: #06A3DA !important; }
.text-light { color: #EEF9FF !important; }

.btn-dark {
  color: #fff !important;
  background-color: #091E3E !important;
  border-color: #091E3E !important;
}

body {
  font-family: "Rubik", sans-serif;
  color: #6B6A75;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  background-color: #fff;
}

a {
  color: #091E3E;
  text-decoration: none;
  transition: .5s;
}

a:hover {
  color: #0582ae;
  text-decoration: none;
}
/*--------------------------------------------------
---- BARRA SUPERIORE (STILE ORIGINALE - BIANCO) ----
---------------------------------------------------*/
#header-top {
  padding: 8px 0;
  margin: 0;
}

#header-top .xurl-social-icons {
  display: flex;
  justify-content: flex-end; 
  gap: 8px;
  margin: 0;
}

/* Solo ed esclusivamente le icone dentro #header-top saranno bianche */
#header-top .xurl-social-icons a.social-icon {
  display: inline-flex;       
  justify-content: center;
  align-items: center;
  font-family: 'Nunito', sans-serif;
  font-size: .875rem;
  font-weight: 600;
  color: #EEF9FF !important;             /* Forza il bianco sopra */
  width: 30px;
  height: 30px;
  border: 1px solid #EEF9FF !important;  /* Bordo bianco sopra */
  background-color: transparent !important;
  border-radius: 50%;
  transition: 0.5s;
  text-decoration: none;     
}

#header-top .xurl-social-icons a.social-icon:hover {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}

#header-top .xurl-social-icons a.social-icon:hover [class^="e-social-"] {
  color: #000000 !important;
}


/*--------------------------------------------------
---- NUOVA BARRA (STILE PERSONALIZZATO - VERDE LIME) ----
---------------------------------------------------*/

/* Si attiva SOLO dove hai messo la classe .icone-verdi-sotto */
.icone-verdi-sotto .xurl-social-icons {
  margin: 15px 0 !important; 
  display: flex;
  justify-content: center !important; /* Centra sotto */
  align-items: center !important;     
  gap: 10px;
  width: 100%;
}

.icone-verdi-sotto .xurl-social-icons a.social-icon {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-family: 'Nunito', sans-serif;
  font-size: 1rem;            
  font-weight: 700;
  color: #ADFF2F !important;             /* Forza il Greenlime sotto */
  width: 36px;                
  height: 36px;
  border: 2px solid #ADFF2F !important;  /* Bordo Greenlime sotto */
  background-color: transparent !important;
  border-radius: 50%;
  transition: all 0.3s ease;
  text-decoration: none;
}

.icone-verdi-sotto .xurl-social-icons a.social-icon:hover {
  background-color: #ADFF2F !important;  
  border-color: #ADFF2F !important;
}

.icone-verdi-sotto .xurl-social-icons a.social-icon:hover [class^="e-social-"] {
  color: #000000 !important;
}

/* Stile Logo */
.topbar-logo-wrapper img.logo {
  width: 100px !important;
  height: auto !important;
  max-height: 100% !important;
}

/*-------------------
----HEADER ON SIDEBAR RIGHT ------
---------------------*/
.header .bg-header {
  background-color: rgba(0, 0, 0, 0);
  background: linear-gradient(rgba(9, 30, 62, .7), rgba(9, 30, 62, .7)), url(images/bg-1.jpg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

/* ==========================================
   AREA GREENLIME 
   ========================================== */
.greenlime { color: greenyellow; }
.green { color: green; }

div.bg-greenlime, section.bg-greenlime { 
  background-color: greenyellow; 
  color: #000;
}

a.btn.btn-greenlime, 
button.btn.btn-greenlime {
  background-color: greenyellow;
  border: 2px solid greenyellow;
  color: #000;
  transition: all 0.2s ease-in-out;
}

a.btn.btn-greenlime:hover, a.btn.btn-greenlime:focus, a.btn.btn-greenlime:active,
button.btn.btn-greenlime:hover, button.btn.btn-greenlime:focus, button.btn.btn-greenlime:active {
  background-color: #1a1a1a;
  border-color: greenyellow;
  color: greenyellow;
}

.greenlime a { color: greenyellow; }
.greenlime a:hover { color: #fff; }

.bg-black a { color: greenyellow; }
.bg-black a:hover { color: #fff; }

/* Dropdown */
nav.navbar ul.navbar-nav li.nav-item.dropdown:hover .dropdown-menu {
  margin-top: 0.125em;
}

nav.navbar ul.navbar-nav li.nav-item.dropdown .dropdown-menu {
  min-width: 250px;
  text-transform: uppercase;
  border-radius: 0;
  background: #000;
  opacity: 0.80;
}

nav.navbar ul.navbar-nav li.nav-item.dropdown .dropdown-menu li {
  display: block;
  overflow: hidden;
}

nav.navbar ul.navbar-nav li.nav-item.dropdown .dropdown-menu a { color: #fff; }
nav.navbar ul.navbar-nav li.nav-item.dropdown .dropdown-menu a:hover { color: #000; }

/* NAVBAR TOGGLER */
nav.navbar .navbar-toggler {
  color: #06A3DA;
}

nav.navbar .navbar-toggler .navbar-toggler-icon,
nav.navbar .navbar-toggler .navbar-toggler-icon:before,
nav.navbar .navbar-toggler .navbar-toggler-icon:after {
  background-color: #06A3DA;
}

nav.navbar .navbar-toggler .navbar-toggler-icon {
  background-image: none !important;
  height: 3px;
  width: 25px;
  margin: 10px 0;
  position: relative;
  transition: all 0.35s ease-out;
  transform-origin: center;
}

nav.navbar .navbar-toggler .navbar-toggler-icon:before {
  display: block;
  height: 3px;
  content: "";
  position: relative;
  top: -7px;
  transition: all 0.15s ease-out;
  transform-origin: center;
}

nav.navbar .navbar-toggler .navbar-toggler-icon:after {
  display: block;
  height: 3px;
  content: "";
  position: relative;
  top: 4px;
  transition: all 0.35s ease-out;
  transform-origin: center;
}

nav.navbar .navbar-toggler:not(.collapsed) .navbar-toggler-icon {
  transform: rotate(45deg);
}

nav.navbar .navbar-toggler:not(.collapsed) .navbar-toggler-icon:before {
  opacity: 0;
}

nav.navbar .navbar-toggler:not(.collapsed) .navbar-toggler-icon:after {
  transform: rotate(-90deg) translateX(7px);
}

/* Effetto al tocco/passaggio del mouse */
.custom-mobile-btn:hover, 
.custom-mobile-btn:focus {
  background-color: #fff;
}

/* Bordi marcati e sfondo visibile per tutti i campi del form */
.form-control {
  background-color: #f4f6f8 !important;
  border: 2px solid #5a6268 !important;
  color: #1a1a1a !important;            
  border-radius: 4px;
}

.form-control:focus {
  background-color: #ffffff !important;
  border-color: #0d6efd !important;     
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

.form-check-input {
  border: 2px solid #5a6268 !important;
  cursor: pointer;
}

/* SITELOGO, SITENAME, SITETAG */
.navbar-brand img.logo {
  width: 2.5rem !important;
  height: auto !important;
  margin: 5px !important;
  transition: .5s all ease-in-out;
}

.navbar-brand {
  font-family: "Nunito", sans-serif;
  font-weight: 800;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.2;
  text-transform: uppercase; 
  padding: 0.75rem;
}

.navbar-brand a {
  color: greenyellow;
}

.navbar-brand a:hover {
  color: #fff;
}

/*-------------------
----CAPTION - HEADER ON SIDEBAR RIGHT ------
---------------------*/
.header h1.caption {
  font-family: "Nunito", sans-serif;
  font-size: calc(1.475rem + 2.7vw);
  font-weight: 800;
  line-height: 1.2;
}

.header .h5.breadcrumb {
  font-family: "Nunito", sans-serif;
  font-size: 1.525rem;
  font-weight: 600;
  line-height: 1.2;
  margin-top: 0;
  margin: 0 0 .5rem 0;
}

.header .h5.breadcrumb a {
  color: #fff;
  transition: .5s;
}

.header .h5.breadcrumb a:hover {
  color: #06A3DA;
}

.header .h5.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  font-family: "Font Awesome 6 Free";
  content: "\f111";
  font-weight: 900;
  display: inline-block;
  font-size: 1rem;
  color: #06a3da;
  vertical-align: middle;
  margin-bottom: 5px;
}

/*-------------------
----MAIN CONTENT ------
---------------------*/
.main_content, .layout-home {
  background: #212529; 
  background: linear-gradient(to right, #212529 0%, #495057 50%, #dee2e6 100%) !important;
  min-height: 100vh; 
}

.sfondo-gradiente-luce {
  background: #212529; 
  background: linear-gradient(to right, #212529 0%, #495057 50%, #dee2e6 100%) !important;
}

/*-------------------
----NEWS - DEFAULT ------
---------------------*/
.default-news > .row > div[class*="col-"]:nth-child(odd),
.default-news > .row > div[class^="col-"]:nth-child(odd) {
  --animate-delay: 0.5s;
}

.default-news > .row > div[class*="col-"]:nth-child(even),
.default-news > .row > div[class^="col-"]:nth-child(even) {
  --animate-delay: 2s;  
}

.default-news-item .default-news-image-main img {
  transition: transform 0.6s ease-in-out 0s;
}

.default-news-item:hover .default-news-image-main img {
  transform: scale(1.2);
}

.default-news-item .default-news-image-main .default-news-category {
  font-family: "Rubik", sans-serif;
  line-height: 1.5;
  font-size: 1rem;
  font-weight: 400;
}

.default-news-item .default-news-image-main .default-news-category a {
  color: #eef9ff;
}

.default-news-item .default-news-image-main .default-news-category a:hover {
  color: #fff;
}

.default-news-item h4.default-news-title {
  font-family: "Nunito", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #091E3E;
  line-height: 1.2;
}

.default-news-summary {
  font-family: "Rubik", sans-serif;
  color: #6B6A75;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

.default-item-read-more a {
  font-family: "Rubik", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #06A3DA;
}

.default-item-read-more a:hover {
  color: #0582ae;
}

.default-item-read-more a:after {
  font-family: "Font Awesome 6 Free";
  content: "\f178";
  font-weight: 900;
  display: inline-block;
  font-size: 1rem;
  margin-left: 6px;
}

/*-------------------
----NEWS EXTEND -DEFAULT ------
---------------------*/
.view-item .view-item-category a {
  display: inline-block;
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  color: #fff;
  font-size: 1rem;
  line-height: 1.5;
  padding: .375rem 1.5rem;
  background-color: green;
  border-color: green;
  border-radius: 2px;
  box-shadow: inset 0 0 0 50px transparent;
  transition: .5s; 
}

.view-item .view-item-category a:hover {
  background-color: greenyellow;
  color: black;
  box-shadow: inset 0 0 0 0 green;  
}

.view-item .view-item-body,
.view-item .view-item-extended { 
  font-size: 1.1rem;
}

.view-item .view-item-images img { 
  border-radius: 0 !important;
}

.view-item blockquote {
  position: relative;
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-style: italic;
  padding: 30px 0;
  width: 100%;
  z-index: 1;
  margin: 20px 0;
  border-top: 2px solid #EEF9FF;
  border-bottom: 2px solid #EEF9FF;
}

.view-item blockquote:after {
  position: absolute;
  content: '"';
  color: #EEF9FF;
  font-size: 10rem;
  line-height: 0;
  bottom: -43px;
  right: 30px;
}

.view-item .view-item-rate .e-rate-news { 
  display: inline-block; 
  width: auto !important;
  margin: 0 15px;
}

.view-item .view-item-rate .e-rate-news img { display: inline-block; }
.view-item .view-item-rate .e-rate-news img:first-child { padding-left: 5px; }
.view-item .view-item-rate .e-rate-votes-news { 
  display: inline-block; 
  width: auto !important;
}

.view-item .view-item-tags { 
  margin: 0 15px 0 5px;
}

.view-item .view-item-tags a.news-tag { 
  display: inline-block;
  background-color: transparent;
  margin: 0.15rem;
  padding: 5px 15px; 
  transition: all 0.1s ease-in-out;
  font-family: "Rubik", sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
}

.view-item .view-item-tags a.news-tag:hover { 
  color: green; 
}

.view-item .view-item-options .social-share-icons > .btn-group { 
  border-radius: 0 !important;
  display: inline-block !important;
}

.view-item .view-item-options .social-share-icons > .btn-group a {
  display: inline-block;
  margin: 3px 0;
}

.view-item .view-item-options .social-share-icons > .btn-group > a > i[class*=" e-social-"] {
  transition: all .5s ease-in-out;
}

/* RELEATED NEWS ITEMS */
.related-news-box .related-news-caption:before {
  position: absolute;
  content: "";
  width: 150px;
  height: 5px;
  left: 0;
  bottom: 0;
  background-color: #06A3DA;
  border-radius: 2px;
}

@-webkit-keyframes side-menubox-title-run {
  0% { left: 0; } 50% { left: 145px; } 100% { left: 0; }
}
@keyframes side-menubox-title-run {
  0% { left: 0; } 50% { left: 145px; } 100% { left: 0; }
}

.related-news-box .related-news-caption:after {
  position: absolute;
  content: "";
  width: 6px;
  height: 5px;
  bottom: 0px;
  background: #FFFFFF;
  animation: side-menubox-title-run 5s infinite linear;
}

.related-news-box .related-news-caption h3 {
  font-family: "Nunito", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #091E3E;
  line-height: 1.2;
}

.related-item .related-news-image { 
  transition: opacity .15s ease-in-out;
}

.related-item .related-news-image img { 
  width: 100%;
  height: auto;
  transition: transform 0.6s ease-in-out 0s;
}

.related-item:hover .related-news-image img { 
  opacity: .8;
  transform: scale(1.2);
}

.related-item .related-news-title h3 { 
  font-size: 1.1rem;
}

/* SIDE-MENUBOX */
.side-menubox {
  position: relative;
}

.side-menubox .side-menubox-title:before {
  position: absolute;
  content: "";
  width: 150px;
  height: 5px;
  left: 0;
  bottom: 0;
  background-color: #06A3DA;
  border-radius: 2px;
}

.side-menubox .side-menubox-title:after {
  position: absolute;
  content: "";
  width: 6px;
  height: 5px;
  bottom: 0px;
  background: #FFFFFF;
  animation: side-menubox-title-run 5s infinite linear;
}

.side-menubox .side-menubox-title h3 {
  font-family: "Nunito", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #091E3E;
  line-height: 1.2;
}

.side-menubox h4.side-menubox-title span.inline-text span.btn-group {
  margin: 4px 0 0 10px;
}

.side-menubox h4.side-menubox-title span.inline-text a.btn {
  margin: 0 2px;
  padding: 3px 6px;
  line-height: 1;
}

.side-menubox .side-menubox-content {
  padding: 15px;
}

/*-------------------
----SIDE-MENU - SEARCH ------
---------------------*/
.search-menu {
  margin: 0 0 3rem 0;
  padding: 0 15px;
}

.search-menu .form-control.search {
  padding: 1rem;
}

.search-menu button.btn {
  padding: 1.1rem 1.5rem;
}

.search-menu button.btn svg {
  line-height: 1.5;
  font-size: 1rem;
}

/*-------------------
----SIDE-MENUBOX LIST GROUP ------
---------------------*/
.side-menubox .side-menubox-content ul.list-group {
  background-color: transparent; 
  border: none;
}

.side-menubox .side-menubox-content ul.list-group > li { 
  border-radius: 2px;
  border: none;
  background-color: #EEF9FF;
  padding: .5rem 1rem;
  margin-bottom: .5rem;
  transition: .5s;
}

.side-menubox .side-menubox-content ul.list-group > li:hover {
  background-color: rgba(204, 241, 255, 0.8);
}

.side-menubox .side-menubox-content ul.list-group > li a { 
  font-family: "Nunito", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #091E3E;
  line-height: 1.2;
  transition: .5s;
}

.side-menubox .side-menubox-content ul.list-group > li a:hover {
  color: #0582ae;
}

.side-menubox .side-menubox-content ul.list-group > li a:before {
  font-family: "Font Awesome 6 Free";
  content: "\f178";
  font-weight: 900;
  display: inline-block;
  font-size: 1.25rem;
  margin-right: 10px;
}

.side-menubox .side-menubox-content ul.list-group > li span.badge {
  background-color: transparent !important;
  color: #091E3E;
}

/*-------------------
----NEWS MENU LATEST / POPULAR ------
---------------------*/
.news-menu-latest-img,
.popular-menu-item-img {
  float: left;
  width: 90px;
  overflow: hidden;
}

.news-menu-latest-img a img,
.popular-menu-item-img a img {
  width: 100%;
  height: auto;
  border-radius: 0;
}

.news-menu-latest a img,
.popular-menu-item a img {  
  transition: transform 0.6s ease-in-out 0s;
}

.news-menu-latest:hover a img,
.popular-menu-item:hover a img { 
  opacity: .8;
  transform: scale(1.2);
}

.news-menu-latest-title,
.popular-menu-item-title {
  font-family: "Nunito", sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: #091E3E;
  line-height: 1.2;
  padding: 5px 5px 5px 110px;
}

.news-menu-latest-date {
  font-family: "Rubik", sans-serif;
  line-height: 1.7;
  font-weight: 400;
  margin-top: 5px;
  font-size: .65em;
  color: #7f8b92;
}

.pupular-menu-item-hits {
  font-family: "Rubik", sans-serif;
  line-height: 1.7;
  font-weight: 400;
  margin-top: 5px;
  font-size: .85em;
  color: #7f8b92;
  padding-left: 110px;
}

/*-------------------
----TAGCLOUD MENU ------
---------------------*/
.tagcloud-menu a {
  margin: 0.25rem;
  padding: 5px 15px !important;
  border: 1px solid rgba(0, 0, 0, 0.125);
  transition: all 0.1s ease-in-out;
  font-family: "Nonito", sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
}

.tagcloud-menu a:hover, 
.tagcloud-menu a:focus {
  color: #0582ae;
  transform: scale(1.1);
}

/*-------------------
----CHATBOX ------
---------------------*/
.chatbox-bg { margin-bottom: 30px; }
#chatbox-input-block { margin-bottom: 1rem; }

/*-------------------
----PAGINATION ------
---------------------*/
.pagination > li.page-item > a, 
.pagination > li.page-item > span {
  font-family: "Rubik", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
  color: #06A3DA;
  margin-left: -1px;
  padding: .75rem 1.5rem;
  position: relative;
  display: block;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0 !important;
  transition: all .3s ease;
}

.pagination > li.page-item.active > a {
  color: #fff !important;
  background-color: #41c1fe !important;
}

.pagination > li.page-item > a:hover, 
.pagination > li.page-item > span:hover {
  color: #06A3DA;
  background-color: #f2f5f7 !important;
}

.view-item-pagination ul.news-view-pagination { padding-left: 0; }
.view-item-pagination ul.news-view-pagination > li.page-item { list-style: none; }

.view-item-pagination ul.news-view-pagination > li.page-item > a {
  font-family: "Nonito", sans-serif;
  font-weight: 500;
  text-decoration: none;
  list-style: none;
}

/*-------------------
----MAIN MENU STYLE ------
---------------------*/
.main-menubox .main-menubox-title { position: relative; }
.main-menubox .main-menubox-title:before {
  position: absolute;
  content: "";
  width: 150px;
  height: 5px;
  left: 0;
  bottom: 0;
  background-color: #06A3DA;
  border-radius: 2px;
}

.main-menubox .main-menubox-title:after {
  position: absolute;
  content: "";
  width: 6px;
  height: 5px;
  bottom: 0px;
  background: #FFFFFF;
  animation: side-menubox-title-run 5s infinite linear;
}

.main-menubox .main-menubox-title h3 {
  font-family: "Nunito", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #091E3E;
  line-height: 1.2;
}

.main-menubox .main-menubox-content { padding: 15px; }
.main-menubox .main-menubox-content ul { padding-left: 0; }

/*-------------------
----COMMENTS ------
---------------------*/
.comment-frame {
  width: 100%;
  margin-bottom: 20px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.commentbox-top { margin-bottom: 15px; }

.commentbox-reply a.btn {
  font-family: "Nunito", sans-serif;
  font-size: .875rem;
  color: #000;
  font-weight: 600;
  line-height: 1.5;
  padding: .25rem .5rem;
  background-color: #EEF9FF;
  border-color: #EEF9FF;
  border-radius: .2rem;
  transition: .5s;
}

.commentbox-reply a.btn:hover {
  color: #000;
  background-color: #f1faff;
  border-color: #f0faff;
}

.commentbox-comment,
.comment-status {
  font-family: "Rubik", sans-serif;
  line-height: 1.7;
  color: #96a4ac;
  font-weight: 400;
}

.commentbox-comment { font-size: 1.1rem; }
.comment-status { font-size: 0.75rem; }

.comment-moderate .comment-edit a.btn, 
.comment-moderate .comment-moderate a.btn {
  font-family: "Nunito", sans-serif;
  font-size: .875rem;
  color: #000;
  font-weight: 600;
  line-height: 1.5;
  padding: .25rem .5rem;
  background-color: #EEF9FF;
  border-color: #EEF9FF;
  border-radius: .2rem;
  transition: .5s;
}

/* ==========================================
   MEDIA QUERIES ACCORPATE ED OTTIMIZZATE
   ========================================== */
@media (min-width: 1200px) {
  nav.navbar {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    border-bottom: 1px solid rgba(256, 256, 256, .1);
    z-index: 1030;
  }

  nav.navbar ul.navbar-nav li.nav-item a.nav-link,
  nav.navbar ul.navbar-nav li.nav-item.dropdown a.dropdown-toggle { 
    position: relative;
    display: block;
    font-family: 'Nunito', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    margin-left: 25px;
    padding: 35px 0;  
    transition: .5s;
  }

  nav.navbar ul.navbar-nav li.nav-item a.nav-link:before,
  nav.navbar ul.navbar-nav li.nav-item.dropdown a.dropdown-toggle:before {
    position: absolute;
    content: "";
    width: 0;
    height: 2px;
    bottom: -1px;
    left: 50%;
    background: #06A3DA;
    transition: .5s;
  }

  nav.navbar ul.navbar-nav li.nav-item.active a.nav-link:before,
  nav.navbar ul.navbar-nav li.nav-item.active.dropdown a.dropdown-toggle:before,
  nav.navbar ul.navbar-nav li.nav-item a.nav-link:hover:before,
  nav.navbar ul.navbar-nav li.nav-item.dropdown a.dropdown-toggle:hover:before {
    width: 100%;
    left: 0;
  }

  nav.navbar.sticky-top.navbar-dark {
    position: fixed;
    background: #000;
  }

  nav.navbar.sticky-top.navbar-dark .navbar-brand a,
  nav.navbar.sticky-top.navbar-dark .navbar-brand a:hover {
    color: greenyellow;
  }

  nav.navbar.sticky-top.navbar-dark ul.navbar-nav li.nav-item a.nav-link,
  nav.navbar.sticky-top.navbar-dark ul.navbar-nav li.nav-item.dropdown a.dropdown-toggle {
    padding: 20px 0;
    color: greenyellow;
  }

  nav.navbar.sticky-top.navbar-dark ul.navbar-nav li.nav-item a.nav-link:hover, 
  nav.navbar.sticky-top.navbar-dark ul.navbar-nav li.nav-item.dropdown a.dropdown-toggle:hover,
  nav.navbar.sticky-top.navbar-dark ul.navbar-nav li.nav-item.active a.nav-link {
    color: #fff;
  }

  .navbar-brand a, .navbar-brand a:hover {
    color: #fff;
  }
}

@media (max-width: 1199.98px) {
  nav.navbar ul.navbar-nav {
    padding: 10px !important;
  }
  nav.navbar ul.navbar-nav li.nav-item a.nav-link,
  nav.navbar ul.navbar-nav li.nav-item.dropdown a.dropdown-toggle {
    color: #000;
    padding: 6px 0;
  }
  nav.navbar.sticky-top.navbar-dark {
    position: relative;
  }
}

@media (min-width: 1320px) {
  .navbar-brand {
    font-size: 1.5rem;
  }
}
/* Ripristina il comportamento orizzontale nativo di Slick */
.home-news-slider .slick-slide {
  display: block !important;
}

/* Gestione del posizionamento del pulsante sul fondo */
.has-fixed-btn {
  box-sizing: border-box;
}
.has-fixed-btn .item-read-more {
  z-index: 5;
}
/* Correzione allineamento pulsante slider */
.home-news-slider .news-item {
  position: relative !important;
  display: block !important;
}

.home-news-slider .item-read-more {
  position: absolute !important;
  bottom: 0 !important;
  right: 0 !important;
  width: 100%;
  text-align: right;
}
#iubenda-legal-links {
    position: fixed;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    background: rgba(0, 0, 0, 0.85);
    padding: 10px 25px;
    border-radius: 25px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    
    /* Transizioni per l'effetto fade */
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease, visibility 0.5s ease, transform 0.5s ease;
}

/* Stato nascosto */
#iubenda-legal-links.hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(20px);
}

#iubenda-legal-links a {
    color: #ffffff !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
    white-space: nowrap;
    transition: opacity 0.2s ease;
}

#iubenda-legal-links a:hover {
    opacity: 0.75;
    text-decoration: underline;
}

.iubenda-separator {
    color: rgba(255, 255, 255, 0.5);
    font-size: 13px;
}

/* ==========================================
   LOGO FOOTER - Controllo dimensione
   ========================================== */
.footer-brand img.logo {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    transition: transform 0.3s ease;
}

.footer-brand img.logo:hover {
    transform: scale(1.05);
}





/* ==========================================
   BACK TO TOP - STILE CORRETTO
   ========================================== */
/*a.back-to-top {
    position: fixed;
    right: 45px;
    bottom: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background-color: #28a745 !important;
    border-radius: 50%;
    color: #fff !important;
    font-size: 1.5rem;
    z-index: 9999;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
}

a.back-to-top:hover {
    background-color: #218838 !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.4);
}

a.back-to-top svg,
a.back-to-top i {
    color: #fff !important;
}
*/

.btn.btn-success.navgoogle {
  border-top-left-radius: 50%;
}
/*------------------------------------------
BACK TO TOP - STILE RESPONSIVE (rem)
--------------------------------------------*/
a.back-to-top {
    position: fixed;
    right: 2.8rem;        /* ~45px */
    bottom: 2.8rem;       /* ~45px */
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 3rem;          /* ~48px */
    height: 3rem;         /* ~48px */
    background-color: greenyellow !important;
    color: #000 !important;
    border-radius: 0 !important;  /* Quadrato */
    box-shadow: 0 0.125rem 0.5rem rgba(0,0,0,0.3);  /* ~2px 8px */
    z-index: 9999;
    text-decoration: none;
    transition: all 0.3s ease;
}

a.back-to-top:hover {
    background-color: #1a1a1a !important;
    color: greenyellow !important;
    transform: translateY(-0.1875rem);  /* ~-3px */
    box-shadow: 0 0.25rem 0.75rem rgba(0,0,0,0.4);  /* ~4px 12px */
}

a.back-to-top svg,
a.back-to-top i {
    font-size: 1.2rem;  /* ~19px */
    color: inherit;
}

/* FIX MOBILE - Alzato per non sovrapporsi al banner Iubenda */
@media (max-width: 767px) {
    a.back-to-top {
        right: 1.25rem;    /* ~20px */
        bottom: 4rem;      /* ~112px - sopra il banner Iubenda */
    }
}
.hero-buttons a {
  margin: 0.3rem;
}

.video .video-caption {
  color: limegreen;
}
/* scrittre sotto le immagini della home */
.wmessage-image-container .figure-caption {
  color: lime;
}
/* ==========================================
   FOOTER LINKS ORIZZONTALI
   ========================================== */
.nav-footer.footer-link {
    transition: color 0.2s ease;
}

.nav-footer.footer-link:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* Separatore | tra i link (opzionale, rimuovi se non ti piace) */
.nav-footer li:not(:last-child)::after {
    content: "|";
    color: rgba(255, 255, 255, 0.3);
    margin-left: 0.75rem;
}

/* Su mobile: niente separatore, vai a capo */
@media (max-width: 576px) {
    .nav-footer li:not(:last-child)::after {
        content: none;
    }
    .nav-footer {
        gap: 0.5rem !important;
    }
}
.bg-gradient-vert, .btn-gradient-vert {
  background: linear-gradient(to bottom, #198754, #0a3622) !important;
}

.video-drone {
    width: 100%;
    margin: 0;
    margin-bottom: 0.5rem;
    padding: 0;
    line-height: 0;
    font-size: 0;
    
    /* Il tuo bordo groove bianco in basso */
    border-bottom: 2px groove #ffffff;
    
    /* Aggiunge la riga solida nera subito sopra o sotto usando l'ombra */
    box-shadow: 0 3px 0px 0px #000000;
}

/* Effetto interattivo: si solleva leggermente se ci passi sopra con il mouse */
.video-drone:hover {
    transform: translateY(-4px);
    box-shadow: 0 35px 60px -15px rgba(0, 0, 0, 0.45);
}

.video-drone video {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border: 1px solid #000000;
}
