/*
 Theme Name:   Arezzo Città del Natale
 Theme URI:    https://www.arezzocittadelnatale.it/
 Description:  Sito web del Natale ad Arezzo
 Author:       Socialweb Solutions
 Author URI:   https://www.socialwebsolutions.it
 Template:     understrap
 Version:      1.0.0
 License: Socialweb Solutions
 License URI:  https://www.socialwebsolutions.it
 Text Domain:  arezzonatale
 Tags: Corporate Website
 */
body{
    background-color: #FFF;
}
p{
    line-height: 1.6rem;
}
/*container*/
@media (min-width: 1440px) {
    .container,
    body.understrap-no-sidebar .alignfull .wp-block-cover__inner-container, body.understrap-no-sidebar .alignwide .wp-block-cover__inner-container, body.understrap-no-sidebar .wp-block-cover.alignfull .wp-block-cover__inner-container, body.understrap-no-sidebar .wp-block-cover.alignwide .wp-block-cover__inner-container {
        max-width: 1440px;
    }
}
@media (max-width: 1280px) {
    .container {
        max-width: 1280px;
    }
}
@media (max-width: 992px) {
    .container {
        max-width: 992px;
    }
}
@media (max-width: 768px) {
    .container {
        max-width: 768px;
    }
}
/*TYPOGRAPHY*/
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6, .title-abril{
    font-family: "Abril Fatface", serif;
}
.testo-xl, .font-xl {
    font-size: 1.7rem !important;
    line-height: 1.7 !important;
}
.testo-lg, .font-lg{
  font-size: 1.4rem !important;
}
.testo-md, .font-md, .btn, .wp-block-button__link{
 font-size: 1.1rem !important;
}
.testo-sm, .font-sm, .btn-sm, .wp-block-button__link.has-small-font-size, {
    font-size: 0.8rem !important;
}
.btn-sm .wp-block-button__link{
  font-size: 0.8rem !important;
  padding: 10px !important;  
}
.testo-xs, .font-xs, .btn-xs{
    font-size: 0.6rem !important;
}
.rounded-0 img{
    border-radius: 0 !important;
}
.h1, h1 {
    font-size: calc(2rem + 0.9vw);
}
.h2, h2 {
    font-size: calc(1.5rem + .9vw);
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .home h2.wp-block-heading {
        font-size: 2.3rem;
    }
}
.title-normal{
 font-family: 'interstate', sans-serif !important;
}
.interstate-compressed {
    font-family: "interstate-compressed", sans-serif !important;
}
/******PULSANTI*******/
.wp-block-button a, a.btn{
    padding: 15px !important;
}
a.btn.btn-primary:active,
.wp-block-button:not(.is-style-outline):not(.is-style-outline--2) .wp-block-button__link:active {
    filter: brightness(0.85);
    transition: filter 0.1s ease-in-out;
}
a.btn.btn-secondary:active,
.wp-block-button.is-style-outline--1 .wp-block-button__link:active{
    font-weight:600;
    color:#344135;
    border-color:#9a1007;
    background:transparent;
}
.nav-link:focus,
.nav-link:focus-visible,
.nav-link:focus-within,
a.btn:focus,
a.btn:focus-visible,
a.btn:focus-within,
.wp-block-button .wp-block-button__link:focus,
.wp-block-button .wp-block-button__link:focus-visible,
.wp-block-button .wp-block-button__link:focus-within,
button:focus,
button:focus-visible,
button:focus-within{
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #496a58;
  transition: box-shadow 0.15s ease-in-out;
}
.btn-cta a.nav-link{
    background-color: #566c57;
    color: #fdfdfd !important;
}
.btn-cta a.nav-link:hover{
    background-color: #344135 !important;
}
.btn-cta a.nav-link:active{
    filter: brightness(0.85) !important;
    transition: filter 0.1s ease-in-out !important;
}
.wp-block-button.is-style-outline--2 .wp-block-button__link:hover,
a.btn.btn-secondary:hover, .btn.btn-secondary:hover,
a.btn-sm.btn-secondary:hover, .btn-sm.btn-secondary:hover{
    font-weight: 500;
}
.btn-text{
    text-decoration: none;
    padding: 15px; /* spostato qui! */
    border-radius: 30px;
    transition: background 0.3s ease, color 0.3s ease;
    font-weight: 600;
}
.btn-text:hover{
    background: #CDD5CE;
    color: #344135 !important;
}
.btn-blue{
    background: #00205B !important;
    border-color: #00205B !important;
}
.btn-blue:hover{
    background: #01163c !important; 
    border-color: #01163c !important;
}
.color-blue{
    color: #00205B !important;
}
/*Navigation*/
nav.nav-up{
    background: #9a1007 !important;
}
.navbar-dark .navbar-nav .nav-link{
    color: #344135;
    padding: 15px; /* spostato qui! */
    border-radius: 15px;
    transition: background 0.3s ease, color 0.3s ease;
    font-weight: 600;
    font-family: "interstate-compressed", sans-serif !important;
    font-size: calc(1rem + .3vw) !important;
}
@media (max-width: 1199px){
    .navbar-dark .navbar-nav .nav-link{
     padding: 15px 0; 
 }
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .current_page_item .nav-link{
    background: #7a0a02;
}
.start-menu-responsive{
    color: #FDFDFD;
    border-radius: 30px;
}
.icona-mobile i:before {
    font-size: 2.5rem;
    line-height: 2.5rem;
}
@media (max-width: 1200px){
    .icona-mobile i:before {
        font-size: 1.9rem;
        line-height: 1.9rem;
    }
    .language-selector{
        font-size: 1.4rem !important;
    }
    .wpml-ls-legacy-list-horizontal{
        padding: 0 !important;
    }
}
.menu-resp-slide-open {
    background: #9a1007 !important;
    opacity: 1;
}
.menu-responsive-overlay .times-cont {
    background: #CDD5CE;
    border-radius: 30px;
}
.menu-responsive-overlay .times {
    color: #FFF !important;
}
.menu-responsive .nav-link {
    font-size: 1.1rem !important;
    line-height: 2.1em;
    font-weight: 600;
    border-bottom: 1px solid #CDD5CE !important;
    padding-top: 16px;
    padding-bottom: 16px;
}
/*top menu*/
.header-sopra{
    background: #344135;
    color: #FDFDFD;
    padding: 10px 0;
}
.header-sopra a{
   color: #FDFDFD !important; 
}
.header-sopra ul li a{
    padding-left: 15px;
    font-size: 0.9rem;
    color: #344135;
    padding: 5px 10px;
    border-radius: 30px;
    transition: background 0.3s ease, color 0.3s ease;
}
.header-sopra ul li a:hover{
    background: #CDD5CE;
    color: #344135 !important;
}
@media(min-width: 767px){
    .header-sopra ul li {
        padding-left: 20px;
    }
}
/*footer*/
.sopra-footer{
    background: #9a1007;
    color: #FDFDFD;
}
@media (min-width: 1200px){
    .col-prefooter{
        border-left: 1px solid #cc5e57;
        border-right: 1px solid #cc5e57;
    }
}
#wrapper-footer-full {
    background: #FFF;
}
#footer-full-content{
 background: #9a1007; 
 color: #fff;
 padding: 15px 0;
}
#footer-full-content a{
    color: #fff !important;
    text-decoration: underline;
}
#footer-full-content a:hover{
    font-weight: 400;
}
.footer-content li a, .sotto-footer ul li a {
    font-weight: 500 !important;
    text-decoration: none;
    line-height: 2rem;
    text-transform: uppercase;
}
.footer-content li a:hover, .sotto-footer ul li a:hover{
   text-decoration: underline;
}
.footer-content h3{
    font-size: 1.3rem;
    margin-bottom: 15px;
}
.sottofooter:nth-child(1){
    border-top: 1px solid #FDFDFD;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}
.social-footer a{
    background: #9a1007;
    color: #fff !important;
    text-decoration: none;
}
.social-footer a:hover{
    background: #7a0a02;
    text-decoration: none;
}
@media (min-width: 767px){
    .sotto-footer ul {
      display: flex;
      gap: 20px; /* Spazio orizzontale tra i link */
      list-style: none; /* Rimuove i pallini */
      padding: 0;
      margin: 0;
  }
  .sotto-footer ul li{
    display: inline-block;
}
}
/*blog listing*/
.featured-image-ratio {
  aspect-ratio: 1440 / 600; /* oppure: 2.4 */
  width: 100%;
  overflow: hidden;
}
.featured-image-ratio img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.fade-in-css {
  opacity: 0;
  animation: fadeIn 1.2s ease-in-out forwards;
}
@keyframes fadeIn {
  to {
    opacity: 1;
}
}
/* Da mobile: altezza fissa 600px */
@media (max-width: 767px) {
  .featured-image-ratio {
    aspect-ratio: auto;
    height: 70vh;
}
}
.categoria-tag a{
    background: #9A1007;
    color: #FDFDFD !important;
    padding: 3px 5px;
    border-radius: 5px;
    text-decoration: none;
    font-size: 14px;
    display: inline-block;
}
.categoria-tag a:hover{
    text-decoration: underline;
}
.titolo-post a{
    text-decoration: none;
}
.titolo-post a:hover{
    text-decoration: underline;
}
.meta-article{
    padding: 15px;
}
.img-zoom {
    aspect-ratio: 2 / 2.5;
    width: 100%;
}
.img-zoom-landscape {
    aspect-ratio: 4 / 1.6;
    width: 100%;
}
@media (max-width: 767px){
    .img-zoom-landscape, .img-zoom {
        aspect-ratio: 1 / 1;
    }
}
.img-zoom::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4); /* Overlay scuro */
    mix-blend-mode: multiply; /* Fonde con l'immagine */
    z-index: 1;
    pointer-events: none;
    border-radius: inherit;
}
.filter-container .btn-default{
    color: #9A1007;
    font-weight: 600;
    font-size: 1rem !important;
}
.filter-container .btn-default.active{
    background: #DBCDC3;
    font-weight: 600;
    border:none;
    border-radius: 10px;
}
.grid-item {
    box-sizing: border-box;
    padding: 0.75rem;
    margin: 0;
}
.grid {
    display: flex;
    flex-wrap: wrap;
}
.bg-white {
    background: #FDFDFD;
}
.menu-responsive .nav-link {
    border: none !important;
}
.menu-responsive li{
    border-bottom: 1px solid #CDD5CE !important;
}
.menu-responsive .btn-cta a{
    margin: 15px 0;
}
.filter-wrapper {
  position: sticky;
  top: 74px; /* o quello che preferisci */
  z-index: 9;
  background: #FDFDFD;
  transition: box-shadow 0.3s ease;
}
.filter-wrapper.is-sticky {
}
@media (min-width: 767px){
    .post-thumbnail-full {
      position: relative;
      margin-left: calc(-50vw + 100%); /* centra rispetto al bordo sinistro */
  }
}
@media (max-width: 767px){
    .post-thumbnail-full img{
        width: 100% !important;
        height: 350px !important;
        object-fit: cover;
        object-position: center;
    }
    .filter-container .btn-default{
        font-size: 0.8rem !important;
    }
}
.post-thumbnail-full img{
  -webkit-border-top-right-radius: 60px;
  -webkit-border-bottom-right-radius: 60px;
  -moz-border-radius-topright: 60px;
  -moz-border-radius-bottomright: 60px;
  border-top-right-radius: 60px;
  border-bottom-right-radius: 60px;
}
.figure-img {
    margin-bottom: .5rem;
    line-height: 1;
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
    object-position: center;
    display: block;
}
.bg-ctabox{
    padding: 60px 0 !important;
    padding: 60px 0 !important;
    background: url('/wp-content/uploads/2025/06/banner-bg-cta.webp') no-repeat center center;
    background-size: cover;
}
@media (max-width: 500px){
    .bg-ctabox{
        background-position-x: -800px;
    }
}
.swiper .swiper-pagination-bullet.swiper-pagination-bullet-active{
    width: 45px !important;
    border-radius: 20px;
}
.swiper-navigation-inline .swiper-button-prev, .swiper-navigation-inline .swiper-button-next{
    top: 12px !important;
}
.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after, .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after{
    font-size: 15px !important;
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled{
    opacity: 0 !important;
}
/*video homepage*/
.video-block{
    height: 80vh;
}
.wrapper-video-text{
    background: #EFF1EF;
    padding: 15px;
    border-radius: 15px;
    color: #222222;
}
.wrapper-video-text .title-hero {
    font-size: 2.1rem;
    margin-bottom: 1.5rem;
    line-height: 3.1rem;
}
/*tabs*/
.tabs-wrapper .nav-tabs .nav-link.active, .tabs-wrapper .nav-pills .nav-link.active {
    background-color: #EFF1EF;
    color: #566C57;
    border-radius: 5px;
    font-weight: 600;
    border-left: 4px solid;
}
.accordion-button{
    background: #EFF1EF !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 30px !important;
}
.accordion-item{
    border: none !important;
}
.accordion-button:not(.collapsed){
    color: #435444;
    font-weight: 600;
    background: transparent !important;
}
.accordion-item:has(.accordion-collapse.show) {
  border: 1px solid #435444 !important;
  border-radius: 30px;
}
.accordion-body{
    padding-top: 0 !important;
}
.accordion-button:not(.collapsed)::after {
  filter: brightness(0) saturate(100%) invert(17%) sepia(11%) saturate(1493%) hue-rotate(62deg) brightness(92%) contrast(87%);
}
.nav-item button:focus:not(:focus-visible){
    outline: 0;
    color: #566C57;
    /*box-shadow: none !important;*/
}
.nav-item button:hover{
    color: #566C57;
}
.accordion-button:focus{
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #496a58 !important;
    transition: box-shadow 0.15s ease-in-out;
}
.accordion-button:not(.collapsed):focus {
  box-shadow: none !important;
}
/*page*/
@media (min-width: 767px){
    .page-thumbnail-full{
     margin-right: calc(-50vw + 100%);
     margin-left: auto;
 }
 .block-thumbnail-full figure {
  aspect-ratio: 4 / 3;
  width: 133%;
  max-width: none;
  overflow: hidden;
  position: relative;
}
.block-thumbnail-full figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
}
.post-thumbnail-full.page-thumbnail-full img{
    -webkit-border-top-left-radius: 60px !important;
    -webkit-border-bottom-left-radius: 60px !important;
    -moz-border-radius-topleft: 60px !important;
    -moz-border-radius-bottomleft: 60px !important;
    border-top-left-radius: 60px !important;
    border-bottom-left-radius: 60px !important;  
    -webkit-border-top-right-radius: 0 !important;
    -webkit-border-bottom-right-radius: 0 !important;
    -moz-border-radius-topright: 0 !important;
    -moz-border-radius-bottomright: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
/*files*/
a.cont-loop-documenti{
    display: block;
}
a .file-name{
    text-decoration: underline;
    font-size: 16px;
}
.wrapper-loop-documenti{
    background: #F3EFEC;
    color: #222222;
}
.file-icon{
    background: #9A1007;
    color: #fff !important;
    border-radius: 15px;
}
.banner-res-area-footer{
    border-bottom: 1px solid #FDFDFD;
    padding-bottom: 20px;
}
.half-fluid__media{
 -webkit-border-top-left-radius: 60px !important;
 -webkit-border-bottom-left-radius: 60px !important;
 -moz-border-radius-topleft: 60px !important;
 -moz-border-radius-bottomleft: 60px !important;
 border-top-left-radius: 60px !important;
 border-bottom-left-radius: 60px !important;  
 -webkit-border-top-right-radius: 0 !important;
 -webkit-border-bottom-right-radius: 0 !important;
 -moz-border-radius-topright: 0 !important;
 -moz-border-radius-bottomright: 0 !important;
 border-top-right-radius: 0 !important;
 border-bottom-right-radius: 0 !important; 
}
.tag-block {
    padding: 7px;
    border-radius: 10px;
    text-decoration: none;
    font-size: 14px;
    display: inline-block;
}
.light-green{
    background: #CDD5CE;
    color: #344135;
}
@media (max-width: 1024px) {
  .image-scroll-wrapper {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.image-scroll-wrapper::-webkit-scrollbar {
    display: none;
}
.image-scroll-wrapper img {
    min-width: 100%;
    max-width: none;
    height: auto;
    flex-shrink: 0;
    display: block;
}
.polaroid-wrapper{
    margin-left: -15px !important;
    margin-right: -15px !important;
}
}
.card-img-ratio a{
  aspect-ratio: 4 / 1.6;
  width: 100%;
  display: inline-block;
  overflow: hidden;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;  
}
.card-img-ratio a img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;  
}
.card-img-ratio a:hover img{
  transform: scale(1.1); 
}
.cards-zoom .wp-block-image a{
 aspect-ratio: 4 / 2;
 width: 100%;
 display: inline-block;
 overflow: hidden;
 -webkit-border-radius: 15px;
 -moz-border-radius: 15px;
 border-radius: 15px;   
}
.cards-zoom .wp-block-image a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease; 
}
.cards-zoom .wp-block-image a:hover img{
  transform: scale(1.1); 
}
@media (max-width: 767.98px) {
  .fullwidth-mobile {
    flex-direction: column !important;
    align-items: stretch !important;
}
.fullwidth-mobile .wp-block-button {
    width: 100% !important;
}
.fullwidth-mobile .wp-block-button__link {
    width: 100% !important;
    text-align: center;
}
}
/*Tablet HP*/
@media (max-width: 1200px){
 .video-block {
    height: 50vh;
} 
.wp-block-column[style*="flex-basis:20%"] {
    flex-basis: 100% !important;
    max-width: 100% !important;
}
}
.language-bar {
    margin-top: -54px;
    position: relative;
    z-index: 10;
    width: 10%;
    float: right;
    font-size: 1.4rem;
}
.wpml-ls-legacy-list-horizontal a {
    padding: 0 10px 6px !important;
    line-height: 1.1 !important;
}
@media (min-width: 1200px){
    .wpml-ls-legacy-list-horizontal{
        font-size: 1.3rem !important;
    }
}
.search-lang-bar i.ti-search {
    font-size: 1.25rem;
    color: #fff;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
}
.language-selector {
    display: inline-block;
    vertical-align: middle;
    font-size: 0.9rem;
}
.language-selector ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.language-selector li {
    display: inline;
}
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
}
.search-overlay.active {
    display: flex;
}
.search-overlay .input-group {
    flex-wrap: nowrap;
}
.search-overlay input.search-submit{
   background: #9a1007 !important;
   color: #FFF !important;   
}
.search-content {
    width: 90%;
    max-width: 600px;
    position: relative;
    color: white;
}
.search-content form.search-form {
    display: flex;
    flex-direction: row;
}
.search-form input.search-field {
    width: 100%;
    padding: 1rem;
    font-size: 1.25rem;
    border: none;
    border-radius: 8px 0 0 8px;
    outline: none;
}
.search-form input.search-submit {
    padding: 1rem 1.5rem;
    font-size: 1.25rem;
    border: none;
    border-radius: 0 8px 8px 0;
    background: #fff;
    color: #000;
    cursor: pointer;
}
.close-search {
    position: absolute;
    top: -3rem;
    right: 0;
    background: none;
    border: none;
    font-size: 2rem;
    color: #fff;
    cursor: pointer;
}
.search-toggle{
    border-right: 1px solid #cc5e57;
}
.icona-prefooter{
    font-size: 2rem;
}
@media(min-width: 1200px){
    .immagine-cpt{
        aspect-ratio: 4 / 1;
        width: 100%;
        overflow: hidden;
        height: auto;
    }
}
@media (max-width: 1200px){
    .immagine-cpt{
      aspect-ratio: 4 / 3;
      height: auto;
  }
}
/*Nanogallery*/
.nGY2 .nGY2Gallery {
  text-align: left !important;
}
/* Applica il border-radius ai contenitori con background-image */
.nGY2GThumbnailImage {
  border-radius: 20px !important;
  overflow: hidden;
}
/* Applica il border-radius anche all'immagine (fallback) */
.nanogallery_gallerytheme_dark_nanogallery .nGY2GThumbnail {
  border-radius: 20px !important;
  overflow: hidden;
}
/*Swiper Peek*/
@media (min-width: 1200px) {
  .swiper-attrazioni, .swiper-personaggi {
    overflow: visible; /* Permette alle card di uscire visivamente */
}
.swiper-attrazioni .swiper-wrapper,
.swiper-personaggi .swiper-wrapper {
    padding-right: 150px; /* Compensa il margine per evitare tagli improvvisi */
}
.swiper-attrazioni .swiper-slide,
.swiper-personaggi .swiper-slide {
    transition: transform 0.3s ease;
}
}
@media (max-width: 1200px) {
  .swiper-attrazioni .swiper-slide,
  .swiper-personaggi .swiper-slide{
    margin-left: calc(0 * var(--wp--preset--spacing--20, 10px));
    margin-right: calc(0 * var(--wp--preset--spacing--20, 10px));
    width: calc(100% + 1px);
}
}
.swiper-controls {
  position: relative;
  z-index: 2;
}
.swiper-controls .swiper-button-prev,
.swiper-controls .swiper-button-next {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
}
.swiper-controls .swiper-pagination {
  position: static;
  margin-right: 10px;
}
.swiper-controls .swiper-button-prev,
.swiper-controls .swiper-button-next {
    width: 38px !important;
    height: 38px !important;
    background: white;
    border: none;
    transition: all 0.3s ease;
    border-radius: 100% !important;
    background: #9A1007 !important;
    color: #FFF !important;
}
.swiper-horizontal>.swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal{
    top: 100%;
}
.swiper-pagination-progressbar{
    background: #ececec;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #32323C;
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: 0.4 !important;
}
.info-sidebar{
    border-top: 1px solid #9A1007;
    border-bottom: 1px solid #9A1007;
}
.bg-closed{
    background: #A5A5A5;
}
.custom-filters-form .widget-title {
    color: #9A1007;
    font-family: "interstate", sans-serif !important;
    text-transform: none;
    font-weight: 500;
    font-size: 1.1rem !important;
    border-bottom: 1px solid #9a1007 !important;
}
.sidebar-blog .widget-title{
 font-family: "Abril Fatface", serif;
 border-bottom: none;
 margin-top: 0;
 font-size: 1.5rem;
}
.custom-filters-form .form-group {
    padding: 7px 0;
    background: #fff;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
}
/*.filter-container {
    display: none;
}
.filter-container.show {
    display: block;
}*/
.mobile-filters-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #ffffff;
    border-top: 1px solid #ddd;
    z-index:9;
    padding: 15px;
}
.mobile-filter-overlay {
    position: fixed;
    bottom: -100%;
    left: 0;
    right: 0;
    height: 80vh;
    background-color: #fff;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.2);
    z-index: 1050;
    transition: bottom 0.3s ease-in-out;
    overflow-y: auto;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}
.mobile-filter-overlay.open {
    bottom: 0; /* mostra il filtro sopra la barra sticky */
}
.mobile-filter-inner {
    position: relative;
    min-height: 100%;
}
.form-contat .wpcf7 input[type=text], .form-contat .wpcf7 input[type=email], .form-contat .wpcf7 input[type=tel], .form-contat .wpcf7 textarea {
    padding: 15px;
}
.wpcf7 input[type=submit], .wpcf7 input:disabled[type=submit], .wpcf7 input:focus[type=submit]{
    background: #9A1007 !important;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    color: #FFF;
}
.wpcf7 input:hover[type=submit], .wpcf7 input:active[type=submit],
.btn-primary:not(:disabled):not(.disabled):active{
    background: #71120C !important;
}
.wpcf7 input:disabled[type=submit]{
    opacity: 0.6;
}
@media (min-width: 991px){
    .wrapper-contact{
        border-top: 1px solid #9a1007;
        border-bottom: 1px solid #9a1007;
    }
}
@media (min-width: 1200px) {
    .navbar-expand-xl .navbar-nav .dropdown:hover .dropdown-menu {
        padding: 7px;
    }
    .navbar-nav .menu-item-has-children .menu-item a {
     margin: 7px 0;
 }
}
.navbar-dark .navbar-nav .dropdown-menu .nav-link{
    color: #fff !important;
}
.navbar-dark .navbar-nav .dropdown-menu .nav-link:hover{
    color: #fff !important;
    background: #7a0a02 !important;
}
.submenu-overlay,
.submenu-content{
    background: rgb(154 16 7);
}
.menu-arrow {
    right: -8px;
}
.back-button {
    position: relative;
    top: 0;
    left: -8px;
    color: #fff;
    font-size: 2rem;
}
@media (max-width: 1200px){
    .navbar-nav .menu-item-has-children .menu-item a {
        padding: 10px 0 !important;
    }
}
.video-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}
.card-title a{
    color: #32323C !important;
}
.card-title a:hover{
    text-decoration: underline !important;
}
.img-evento .img-zoom:before{
    display: none;
}
.link-event:hover{
    text-decoration: underline !important;
}
.day-title{
    border-bottom: 1px solid #9A1007 !important;
}
.card-event{
    border-bottom: 1px solid #706F6F !important;
}
@media (max-width: 767px) {
    .img-evento .img-zoom {
        aspect-ratio: 1 / 1;
    }
}
.marker-tipo {
  font-size: 22px;
  line-height: 22px;
  text-align: center;
  color: #fff;
  background: #333;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 0 0 2px #fff;
}
.marker-localita        { background: #1f77b4; }
.marker-ristoranti      { background: #2ca02c; }
.marker-attrazioni      { background: #d62728; }
.marker-eventi          { background: #ff7f0e; }

#filtro-wrapper select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  background-color: #fff;
  font-size: 16px;
  font-family: inherit;
  color: #333;
  transition: border-color 0.3s, box-shadow 0.3s;
}
#filtro-wrapper select:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.2);
}
#filtro-wrapper option {
  padding: 4px 8px;
}
#filtro-wrapper optgroup {
  font-weight: bold;
  color: #555;
  padding-top: 6px;
  padding-bottom: 4px;
}
.wrapper-select {
    z-index: 10;
    width: auto;
    top: 15px;
    right: 15px;

}
@media (min-width: 1024px){
 .wrapper-select {
  max-width: 400px; 
}  
#filtro-wrapper {
  width: 400px;
} 
}
.truncate-3-lines {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.img-zoom-popup {
    aspect-ratio: 2 / 2.5;
    /* width: 100%; */
}
.img-zoom-popup img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1024px){
    .img-zoom-popup {
        aspect-ratio: 4 / 3;
    }
}
.counter-hero {
    position: relative;
    min-height: 70vh;
    display: flex;
    place-items: center;
    overflow: hidden;
    isolation: isolate;
    height: 100%;
}
.counter-hero .bg-video {
    width: 100vw;
    position: absolute;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding-bottom: 56.25%;
    height: 0;
}
.counter-hero .bg-video iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 177.78vh;  /* 100vh * (16/9) per coprire sempre */
    height: 100vh;
    transform: translate(-50%, -50%);
    /* Se viewport più larga dell'altezza, facciamo in modo che copra orizzontalmente */
    min-width: 100%;
    min-height: 100%;
    border: 0;
}
@media (max-aspect-ratio: 16/9) {
    .counter-hero .bg-video iframe {
      width: 100vw;
      height: 56.25vw; /* 100vw * (9/16) */
  }
}
.counter-hero .overlay {
    position: absolute;
    inset: 0; /* equivale a top:0; right:0; bottom:0; left:0 */
    z-index: 1;
    display: flex;              /* attiva flexbox */
    align-items: center;        /* centra verticalmente */
    justify-content: center;    /* centra orizzontalmente */
    text-align: center;
    color: #fff;
    padding: 4rem 1rem;
    background: linear-gradient(to bottom, rgba(0, 0, 0, .35), rgba(0, 0, 0, .35));
}
.counter-hero h1, .video-overlay h1 {
    margin-bottom: .5rem;
    font-size: 3.4rem;
}
.counter-hero p.lead, .video-overlay h3 {
    margin-bottom: 1.5rem;
    font-family: "interstate-compressed", sans-serif !important;
    font-size: 1.8rem;
    font-weight: 500;
    margin-bottom: 65px !important;
}
.counter-hero #countdown {
    display: inline-flex;
    gap: 2rem;
    font-size: clamp(1.25rem, 2vw + 1rem, 2rem);
    font-weight: 700;
    align-items: center;
}
.counter-hero #countdown div {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
}
.counter-hero #countdown small {
    font-weight: 500;
    opacity: .9;
    margin-top: .25rem;
    font-size: .75em;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.counter-hero #countdown div span{
   font-family: "Abril Fatface", serif;
   font-weight: 500;
   font-size: 4.4rem;
}
.counter-hero #countdown div small, .counter-hero h3{
    font-family: "interstate-compressed", sans-serif !important;
}
.wp-block-cover.alignfull {
    margin: 0 calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
}
@media (max-width: 971px){
    .counter-hero #countdown{
        gap: .8rem;
    }
    .counter-hero #countdown div span {
        font-size: 2.4rem;
    }
    .counter-hero .bg-video{
        height: 100%;
    }
    .counter-hero {
        min-height: 50vh;
    }
    .counter-hero h1,
    .video-overlay h1 {
        font-size: 2.4rem;
    }
    .counter-hero p.lead{
        margin-bottom: 30px !important;
    }
    .counter-hero .bg-video iframe{
        scale: 2;
        top: 100%;
        left: 100%;
    }
    .video-block iframe{
        scale: 2;
    }
    .video-block {
        height: 50vh !important;
    }
}
.video-block {
    height: 80vh;
    margin: 0 calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
}
.video-block iframe {
    border-radius: 0 !important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.video-wrapper {
    width: 100vw;
    position: relative;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding-bottom: 56.25%;
    height: 0;
}
.logo-partner{
    border-right: 1px solid #ececec;
}
.logo-partner img{
 height: 70px !important;
 width: auto; 
}
.logo-patrocinio img{
 height: 40px !important;
 width: auto; 
}
.logo-sponsor img{
    height: 35px !important;
}
/*mapify*/
.mpfy-title h1{
    font-family: "Abril Fatface", serif !important;
    color: #272727 !important;
    font-weight: 500 !important;
    font-size: 1.75rem !important;
    margin-bottom: 30px;
}
.mpfy-p-entry p {
    font-family: interstate, sans-serif !important;
    font-size: 16px !important;
    line-height: 22px !important;
    color: #272727 !important;
}
.mpfy-main-slider .slick-list .slick-track{
    max-height: 500px !important;
}
.mpfy-sliders-container{
    /*height: 500px !important;*/
    background: #fff !important;
}
.mpfy-p-local-info {
    padding: 30px 0 0 0 !important;
}
.mpfy-sliders-container .mpfy-main-slider .slick-list .slick-track .slick-slide {
    background: #ffffff !important;
    object-fit: cover;
    height: 500px !important;
}
.mpfy-sliders-container .mpfy-main-slider .slick-list, .mpfy-sliders-container .mpfy-main-slider .slick-list .slick-track, .mpfy-sliders-container .mpfy-main-slider .slick-list .slick-track .slick-slide {
    background: #ffffff !important;
}
.mpfy-main-slider{
    height: 500px !important;
}
.mpfy-p-popup-style-two .mpfy-p-content{
    background: #fff !important;
}
.mpfy-sliders-container .slick-prev:before, .mpfy-sliders-container .slick-next:before {
    content: "\ea61" !important;
    background: #9a1007 !important;
    padding: 5px;
    font-family: "tabler-icons" !important;
    font-size: 1.5rem !important;
}
.mpfy-sliders-container .mpfy-navigation-slider .slick-slide img{
    border:none !important;
}
.mpfy-sliders-container .mpfy-navigation-slider .slick-slide.slick-current-slide:after{
    -webkit-box-shadow: inset 0 0 5px #e7e1e1;
    box-shadow: inset 0 0 5px #e7e1e1;
}
.mpfy-container * {
    border-radius: 30px !important;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{
    height: 480px !important;
}
.blocco-carosello-cst .wp-block-media-text{
  border: 1px solid #ececec;
  border-radius: 20px;  
}
.blocco-carosello-cst .wp-block-media-text figure{
    width: 100%;
    overflow: hidden;
}
.blocco-carosello-cst .wp-block-media-text__media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-border-top-left-radius: 20px;
    -webkit-border-bottom-left-radius: 20px;
    -moz-border-radius-topleft: 20px;
    -moz-border-radius-bottomleft: 20px;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

@media (min-width: 1200px){
    .blocco-carosello-cst .wp-block-media-text figure{
        aspect-ratio: 4 / 2;
    }
}
@media (max-width: 1200px){
    .blocco-carosello-cst .wp-block-media-text figure{
        aspect-ratio: 4 / 3;
    }
}
@media (max-width: 1024px){
    .blocco-carosello-cst .wp-block-media-text figure{
        aspect-ratio: 1 / 1;
    }
}
@media (max-width: 767px){
    .blocco-carosello-cst .wp-block-media-text figure{
        aspect-ratio: 3 / 2;
    }
    .blocco-carosello-cst .wp-block-media-text__media img{
     -webkit-border-top-left-radius: 20px;
     -webkit-border-bottom-left-radius: 0;
     -moz-border-radius-topleft: 20px;
     -moz-border-radius-bottomleft: 0;
     border-top-left-radius: 20px;
     border-bottom-left-radius: 0; 
     border-top-right-radius: 20px;
     -webkit-border-top-right-radius: 20px;
     -moz-border-radius-topright: 20px;
 }
 .blocco-carosello-cst .wp-block-media-text{
    grid-template-columns: 100% 1fr;
}
.blocco-carosello-cst .wp-block-media-text>.wp-block-media-text__content{
    grid-column: 1;
    grid-row: 2;
    padding: 20px;
}
.text-truncate-multiline {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
}
.clamp-3-lines {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: all 0.3s ease;
  position: relative;
  max-height: 6em; /* circa 3 righe */
}

.clamp-3-lines.expanded {
  -webkit-line-clamp: unset;
  max-height: none;
}

.toggle-paragrafo {
  display: inline-flex;
  align-items: center;
  margin-top: 6px;
  background: none;
  border: none;
  color: #9b0701;
  cursor: pointer;
  font-size: 0.9rem;
  padding: 0;
  gap: 0.4rem;
  font-weight: 500;
}
.menu-responsive-overlay .custom-logo-link {
    width: 150px;
}

.home a.btn.btn-primary, .home .btn.btn-primary,
.home .wp-block-button:not(.is-style-outline):not(.is-style-outline--2) .wp-block-button__link{
    background-color: #d9bf60;
    border-color: #d9bf60;
}

.home a.btn.btn-primary:hover, .home .btn.btn-primary:hover,
.home .wp-block-button:not(.is-style-outline):not(.is-style-outline--2) .wp-block-button__link:hover{
    background-color: #b49e50;
    border-color: #b49e50;
}
.prefooter .logo-partner{
    border: none !important;
}
/*Modifiche Font*/
.navbar-dark .navbar-nav .nav-link {
font-size: calc(.6rem + .3vw) !important;
    font-family: "Aleo", serif !important;
    text-transform: uppercase;
}
.interstate-compressed {
    font-family: "Aleo", serif !important;
}
