:root {
  --bg-dark-1: #42111C ; /* #181818 */;
  --bg-dark-1-rgb: rgba(66, 17, 28, 1);
}

#content {
  width: 100%;
  background: #FAF4EA !important;
  padding: 90px 0 90px 0;
  z-index: 100;a
}

.bg-light{background: #FAF4EA !important;}

header div#logo img {
    width: 65%;

}

header div#logo img.logo-mobile {
    width: 50%;

}

.lastminute-image-scheda {
	width: 70%;
	height: auto;
}

header.header-mobile #mainmenu {
    padding-top: 30px;    
}

header.header-mobile {
    padding-top: 0px;
    padding-bottom: 0px;

}

.testo-footer{
    font-size: 14px;
}

.bg-dark,
.bg-dark-1{
    background-color: #42111C !important;
}

.alert-info {
	color: #FFF;
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}

a.btn-main:hover,
.btn-main:hover {
    color: #402c30;

}

#mainmenu a {
  padding-bottom: 10px;
}


.rounded_10 {
	border-radius:10px
}

#mainmenu>li {
    margin-right: 20px;

}

.menu_side_area {
    margin-left: 0px;
}

p {
  margin-bottom: 10px;
}

.justify {
    text-align: justify !important; 
}


h3{
  font-size: 27px;
  font-weight: var(--h3-font-weight); 
  letter-spacing: var(--h3-letter-spacing);
  line-height: var(--h3-line-height);
  margin-bottom: var(--h3-margin-bottom);
}  

h1.slider-title{ 
  font-size: 52px;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

h2.slider-title{
  font-size: 52px;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}

h2 {
  font-size: 36px;
}

p.slider-teaser{
  font-size: 20px !important;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}

.text-light, .text-light p {
    color: rgba(255, 255, 255, 0.9);

}
.subfooter {
    padding-bottom: 50px !important;
}

.post-image .d-tagline span{
  color:#42111C;
  background: var(--primary-color);
}

.post-text a, 
.post-text p a {
  color: #42111C !important;
  text-decoration: underline
}



/* COLORI */

:root {
  --bg-dark-1: #42111C;
  --bg-dark-1-rgb: rgba(66, 17, 28, 1);
}

header.header-mobile {
  --bg-dark-1: #42111C;
  background: var(--bg-dark-1);
}

.white {
	color: #ffffff !important;
}

.de-overlay{
	background: linear-gradient(0deg, rgba(0 ,0 ,0, .3), rgba(0 ,0 ,0,.1));
}

#mainmenu li li a {
    text-wrap: nowrap;

}

.footer-section {
    background-color: #42111C !important;
}

.textarea_book_form {
	min-width: 100%	;
	height: 150px ;
}

input.booking_form { width: 100%}

ul.footer_list {
	list-style: none
}

header.smaller {
  background: #42111C !important;
}


/* MARGIN */
.mb-0 { margin-bottom: 0px; }
.mb-5 { margin-bottom: 5px; }
.mb-10 { margin-bottom: 10px; }
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mb-25 { margin-bottom: 25px; }
.mb-30 { margin-bottom: 30px; }
.mb-35 { margin-bottom: 35px; }
.mb-40 { margin-bottom: 40px; }
.mb-45 { margin-bottom: 45px; }
.mb-50 { margin-bottom: 50px; }
.mb-55 { margin-bottom: 55px; }
.mb-60 { margin-bottom: 60px; }
.mb-65 { margin-bottom: 65px; }
.mb-70 { margin-bottom: 70px; }
.mb-75 { margin-bottom: 75px; }
.mb-80 { margin-bottom: 80px; }
.mb-85 { margin-bottom: 85px; }
.mb-90 { margin-bottom: 90px; }
.mb-95 { margin-bottom: 95px; }
.mb-100 { margin-bottom: 100px; }

.mt-0 { margin-top: 0px; }
.mt-5 { margin-top: 5px; }
.mt-10 { margin-top: 10px; }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }
.mt-25 { margin-top: 25px; }
.mt-30 { margin-top: 30px; }
.mt-35 { margin-top: 35px; }
.mt-40 { margin-top: 40px; }
.mt-45 { margin-top: 45px; }
.mt-50 { margin-top: 50px; }
.mt-55 { margin-top: 55px; }
.mt-60 { margin-top: 60px; }
.mt-65 { margin-top: 65px; }
.mt-70 { margin-top: 70px; }
.mt-75 { margin-top: 75px; }
.mt-80 { margin-top: 80px; }
.mt-85 { margin-top: 85px; }
.mt-90 { margin-top: 90px; }
.mt-95 { margin-top: 95px; }
.mt-100 { margin-top: 100px; }

.mr-5 { margin-right: 5px; }
.mr-10 { margin-right: 10px; }

.mt-minus-70 { margin-top: -70px; }
.mt-minus-10 { margin-top: -10px; }
.mt-minus-15 { margin-top: -15px; }
.mt-minus-20 { margin-top: -20px; }

/* PADDING */

.pb-0 { padding-bottom: 0px }
.pb-10 { padding-bottom: 10px; }
.pb-15 { padding-bottom: 15px; }
.pb-20 { padding-bottom: 20px; }
.pb-25 { padding-bottom: 25px; }
.pb-30 { padding-bottom: 30px; }
.pb-35 { padding-bottom: 35px; }
.pb-40 { padding-bottom: 40px; }
.pb-45 { padding-bottom: 45px; }
.pb-50 { padding-bottom: 50px; }
.pb-55 { padding-bottom: 55px; }
.pb-60 { padding-bottom: 60px; }
.pb-65 { padding-bottom: 65px; }
.pb-70 { padding-bottom: 70px; }
.pb-75 { padding-bottom: 75px; }
.pb-80 { padding-bottom: 80px; }
.pb-85 { padding-bottom: 85px; }
.pb-90 { padding-bottom: 90px; }
.pb-95 { padding-bottom: 95px; }
.pb-100 { padding-bottom: 100px; }


.pt-0 { padding-top: 0px }
.pt-10 { padding-top: 10px; }
.pt-15 { padding-top: 15px; }
.pt-20 { padding-top: 20px; }
.pt-25 { padding-top: 25px; }
.pt-30 { padding-top: 30px; }
.pt-35 { padding-top: 35px; }
.pt-40 { padding-top: 40px; }
.pt-45 { padding-top: 45px; }
.pt-50 { padding-top: 50px; }
.pt-55 { padding-top: 55px; }
.pt-60 { padding-top: 60px; }
.pt-65 { padding-top: 65px; }
.pt-70 { padding-top: 70px; }
.pt-75 { padding-top: 75px; }
.pt-80 { padding-top: 80px; }
.pt-85 { padding-top: 85px; }
.pt-90 { padding-top: 90px; }
.pt-95 { padding-top: 95px; }
.pt-100 { padding-top: 100px; }

.pl-20 { padding-left:20px !important}
.pr-20 { padding-right:20px !important}

.pl-30 { padding-left:30px !important}
.pr-30 { padding-right:30px !important}

p { font-size: 17px !important; }

/* FOOTER */
.footer .row {
    display: flex;
    flex-wrap: wrap;
}

.footer .row > div {
    display: flex;
    flex-direction: column;
}

.footer .row h3.fs-20 {
    margin-top: 0;  /* rimuove margini diversi */
}

.footer .row h3.fs-20 {
    min-height: 40px; /* regola a seconda dell’altezza del titolo */
}

/* SWIPER */

.box-slider-decor {
	backdrop-filter: blur(0px);
	border: 0px;
}


#subheader {
    overflow: hidden;
    position: relative;
    padding: 250px 0 150px 0;

}


section {
  padding: 50px 0 50px 0;
}




.gallery-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    z-index: 999;

    padding: 12px 15px;

    background: rgba(0, 0, 0, 0.65);
    color: #fff;

    text-align: center;
    font-size: 15px;
    line-height: 1.3;
}


/* ==================================================
   SLIDER RECENSIONI
================================================== */

.reviews-custom-nav {
    position: relative;
    padding: 0 90px;
}

/* Pulsanti */
.owl-custom-nav .reviews-arrow.btn-prev,
.owl-custom-nav .reviews-arrow.btn-next {
    position: absolute !important;
    top: 50% !important;
    z-index: 20;

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

    width: 64px !important;
    min-width: 64px !important;
    height: 64px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    background-image: none !important;

    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    border-radius: 50% !important;
    box-shadow: none !important;

    cursor: pointer;
    overflow: hidden !important;
    text-decoration: none !important;

    transform: translateY(-50%) !important;
    transition:
        border-color 0.3s ease,
        background-color 0.3s ease;
}

/* Posizione laterale */
.owl-custom-nav .reviews-arrow-prev.btn-prev {
    left: 0 !important;
    right: auto !important;
}

.owl-custom-nav .reviews-arrow-next.btn-next {
    right: 0 !important;
    left: auto !important;
}

/* Freccia disegnata in CSS */
.owl-custom-nav .reviews-arrow.btn-prev::before,
.owl-custom-nav .reviews-arrow.btn-next::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;

    display: block !important;
    width: 12px !important;
    height: 12px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Freccia sinistra */
.owl-custom-nav .reviews-arrow-prev.btn-prev::before {
    border-left: 2px solid #ffffff !important;
    border-bottom: 2px solid #ffffff !important;
    transform: translate(-35%, -50%) rotate(45deg) !important;
}

/* Freccia destra */
.owl-custom-nav .reviews-arrow-next.btn-next::before {
    border-top: 2px solid #ffffff !important;
    border-right: 2px solid #ffffff !important;
    transform: translate(-65%, -50%) rotate(45deg) !important;
}

/* Elimina completamente la forma aggiunta dal template */
.owl-custom-nav .reviews-arrow.btn-prev::after,
.owl-custom-nav .reviews-arrow.btn-next::after {
    content: none !important;
    display: none !important;
}

/* Hover */
.owl-custom-nav .reviews-arrow.btn-prev:hover,
.owl-custom-nav .reviews-arrow.btn-next:hover {
    background-color: rgba(223, 200, 135, 0.12) !important;
    border-color: #dfc887 !important;
}

.owl-custom-nav .reviews-arrow-prev.btn-prev:hover::before {
    border-left-color: #dfc887 !important;
    border-bottom-color: #dfc887 !important;
}

.owl-custom-nav .reviews-arrow-next.btn-next:hover::before {
    border-top-color: #dfc887 !important;
    border-right-color: #dfc887 !important;
}


	
#mainmenu li ul {
  width: 220px !important;
}


	
.title-camera-scheda {
    margin-bottom: 15px;
    font-size: 40px;
    color: #42111C;

}

.subtitle-camera-scheda {
		margin-bottom: 25px;
        font-size: 23px;
    }

	

/* Mobile */
@media only screen and (max-width: 767px) {
	
	

	.lastminute-image-scheda {
		width: 100%;
		height: auto;
	}
	
	.title-camera-scheda {
		margin-bottom: 10px;
        font-size: 38px;
	}
	
	.subtitle-camera-scheda {
		margin-bottom: 25px;
        font-size: 21px;
    }

	.video-block {
        padding-top: 0px;
        padding-bottom: 0px;
        margin-top: 0px;
        margin-bottom: 30px;
	}
    
    .footer-menu-mobile-spacing1 {
        padding-top: 0px;
        padding-bottom: 0px;
        margin-top: 30px;
        margin-bottom: 0px;
    }
    
    .footer-menu-mobile-spacing2 {
        padding-top: 0px;
        padding-bottom: 0px;
        margin-top: 10px;
        margin-bottom: 0px;
    }


    .reviews-custom-nav {
        padding: 0 10px 75px;
    }

    .owl-custom-nav .reviews-arrow.btn-prev,
    .owl-custom-nav .reviews-arrow.btn-next {
        top: auto !important;
        bottom: 0 !important;

        width: 52px !important;
        min-width: 52px !important;
        height: 52px !important;

        transform: none !important;
    }

    .owl-custom-nav .reviews-arrow-prev.btn-prev {
        left: calc(50% - 60px) !important;
        right: auto !important;
    }

    .owl-custom-nav .reviews-arrow-next.btn-next {
        right: calc(50% - 60px) !important;
        left: auto !important;
    }
    
    .mfp-container {
        padding: 5px !important;
    }

    .mfp-content {
        width: 100% !important;
    }

    .mfp-img {
        max-width: calc(100vw - 10px) !important;
        max-height: calc(100vh - 10px) !important;
        padding: 5px 0 !important;
    }

    .mfp-close {
        position: fixed !important;
        top: 5px !important;
        right: 5px !important;
    }
    
    #mainmenu >li>a {
	  font-size: 17px;
	  padding-right: 20px;
	}
	    
    
}

/* END SLIDER RECENSIONI */

@media only screen and (max-width: 767px) {
	
	h1.slider-title{ 
	  font-size: 47px !important;
	}
	h2.slider-title{
	  font-size: 47px !important;
	}
	p.slider-teaser{
	  font-size: 21px !important;
	  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.8);
	}
	
	  .swiper-inner {
        background-position: center center !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
    }
	
    .reviews-custom-nav {
        padding: 0 10px 80px;
    }

    .reviews-arrow {
        top: auto;
        bottom: 0;
        transform: none;
        width: 52px;
        height: 52px;
    }

    .reviews-arrow-prev {
        left: calc(50% - 62px);
    }

    .reviews-arrow-next {
        right: calc(50% - 62px);
    }
}
/* END SLIDER RECENSIONI */


/* MOBILE */

@media (max-width: 767px) {
  
  .row.align-items-start {
    align-items: stretch;
  }
  
  #subheader h1 {
	  font-size: 45px;
  }
  
  	/*   MENU */
	header.header-mobile #mainmenu a.menu-item {
		text-align: left;
		padding-top: 15px;
		padding-bottom: 15px;
		padding-left: 30px;
	}
	
	#mainmenu a {
        margin-top: 0px;
        margin-bottom: 0px;
        padding-top: 15px;
        padding-bottom: 15px;
    
    }
		
	#mainmenu a.menu-item {
		text-align: left;
		padding-left: 30px;
		padding-bottom: 25px;
		padding-left: 30px;
	}	

	#mainmenu li.has-child>a {
		padding-left: 30px;
	}
	
	header.header-mobile #mainmenu>li>span {
		margin-top: 10px;
		margin-right: 20px;
	}
	
	header.header-mobile #mainmenu li {
		border-bottom: none;
	}
	
	header #mainmenu li ul li:first-child {
		border-top: none;
	}
	
	
	
/* 	MARGINI-MOBILE */

	.mt-mobile-20 { margin-top: 20px; }
	.mb-mobile-20 { margin-bottom: 20px; }
	

    .mobile-margin{
        margin-top:100% !important;
    }
	
}

/* DEKSTOP */

@media (min-width: 780px) {
	
	.d-none-desktop {
		display: none !important;
	}
	
}



/* =====================================================
   CORTE LAVARINI – RIFINITURE HOME OTTOBRE 2026
   Modifiche circoscritte, senza toccare i partial Laravel.
   ===================================================== */

/* Introduzione: meno spazio verticale prima del video / sezioni successive */
.cl-home-intro {
    padding-top: 55px;
    padding-bottom: 35px;
}
.cl-home-intro h3 {
    margin-bottom: 20px;
}
.cl-home-intro p:last-child {
    margin-bottom: 0;
}

/* Sezione recensioni: uniforma gli sfondi vino già presenti nel template. */
.cl-home-reviews .bg-dark,
.cl-home-reviews .bg-dark-1,
.cl-home-reviews [style*="background-color: #181818"],
.cl-home-reviews [style*="background: #181818"] {
    background-color: #42111C !important;
}

/* Testo slider principale: intervento solo sugli smartphone. */
@media only screen and (max-width: 767px) {
    h1.slider-title,
    h2.slider-title {
        font-size: clamp(26px, 7.2vw, 34px) !important;
        line-height: 1.13 !important;
    }
    p.slider-teaser {
        font-size: 16px !important;
        line-height: 1.4 !important;
    }
    .cl-home-intro {
        padding-top: 30px;
        padding-bottom: 20px;
    }
    .cl-home-intro h2 {
        margin-top: 0 !important;
    }
    .cl-home-intro h3 {
        font-size: 23px;
        line-height: 1.3;
    }
}


/* HOME – fotografie camere senza sovrapposizioni */
.cl-home-rooms .cl-room-image {
    position: relative;
}
.cl-home-rooms .cl-room-image a {
    display: block;
}
.cl-home-rooms .cl-room-image img {
    display: block;
    height: auto;
}
/* CTA ocra della sezione camere: testo color vino, anche in hover */
.cl-home-rooms .btn-main,
.cl-home-rooms .btn-main:hover,
.cl-home-rooms .btn-main:focus-visible {
    color: #42111C !important;
}

/* HOME – recensioni: sfondo vino in linea con il resto del sito */
.cl-home-reviews .reviews-section {
    background: #42111C !important;
}

/* Corte Lavarini - Testo vino sui pulsanti ocra */
a.btn-main, .btn-main,
a.btn-main:visited, .btn-main:visited,
a.btn-main:hover, .btn-main:hover,
a.btn-main:focus-visible, .btn-main:focus-visible {
    color: #42111C !important;
}
.btn-main i, .btn-main svg { color: inherit !important; }
.btn-main svg { fill: currentColor; }

/* Chi siamo: foto allineata all'inizio del testo su desktop.
   Su mobile il layout rimane impilato normalmente. */
@media (min-width: 992px) {
    /* Il layout e' gestito con align-items-start nella view. */
}


/* CORTE LAVARINI - booking bar: simboli + e - color vino */
#form-to-site .de-number .d-minus,
#form-to-site .de-number .d-plus,
#form-to-site .de-number .d-minus:hover,
#form-to-site .de-number .d-plus:hover,
#form-to-site .de-number .d-minus:focus-visible,
#form-to-site .de-number .d-plus:focus-visible {
    color: #42111C !important;
    -webkit-text-fill-color: #42111C !important;
}


/* VIDEO HOME - finestra sovrapposta, sfondo scurito, 16:9 */
.cl-video-dialog {
    position: fixed;
    inset: 0;
    margin: auto;
    padding: 0;
    width: min(1100px, calc(100vw - 36px));
    max-width: none;
    max-height: calc(100dvh - 36px);
    border: 0;
    overflow: visible;
    background: transparent;
    color: #fff;
    z-index: 100000;
}
.cl-video-dialog::backdrop {
    background: #42111c ;

}
.cl-video-dialog-inner { position: relative; width: 100%; }
.cl-video-frame { aspect-ratio: 16 / 9; background: #000; width: 100%; }
.cl-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.cl-video-close {
    position: absolute;
    right: 0;
    bottom: calc(100% + 8px);
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    color: #fff;
    background: #42111C;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}
.cl-video-close:focus-visible, .cl-video-open:focus-visible { outline: 3px solid #e6ce96; outline-offset: 3px; }
@media (max-width: 767px) {
  .cl-video-dialog { width: calc(100vw - 20px); }
  .cl-hero-slider h1.slider-title,
  .cl-hero-slider h2.slider-title { font-size: clamp(25px, 7vw, 34px) !important; line-height: 1.13 !important; }
  .cl-hero-slider p.slider-teaser { font-size: 15px !important; line-height: 1.35 !important; }
}

/* CONTATTI - colonne allineate a sinistra e link leggibili */
.cl-contact-info > [class*="col-"] { text-align: left; }
.cl-contact-info p { margin-bottom: 12px; }
.cl-contact-info a, .cl-contact-info a:visited { color: #42111C !important; text-decoration: none !important; }
.cl-contact-info a:hover, .cl-contact-info a:focus-visible { color: #602333 !important; text-decoration: none !important; }
.cl-contact-info .fa { color: #42111C; }


/* Menu a tre livelli: mantiene leggibile la voce padre */
#mainmenu li li:has(> ul):hover > a {
    color: #42111C !important;
    background-color: #dfc887 !important;
}

/* Mantiene evidenziata la voce padre
   quando il mouse entra nel terzo livello */
#mainmenu li li:has(> ul):hover > a,
#mainmenu li li:has(> ul):focus-within > a {
    color: #42111C !important;
    background-color: #dfc887 !important;
}

/* CORTE LAVARINI – GALLERIA CAMERE V3: anteprime uniformi senza spazi */
#gallery-apartment .owl-stage, #gallery-apartment .owl-item { display: flex; }
#gallery-apartment .owl-item > .item { width: 100%; min-width: 0; }
#gallery-apartment .cl-gallery-slide { overflow: hidden; width: 100%; }
#gallery-apartment .cl-gallery-image-link {
    display: block;
    position: relative;
    width: 100%;
    height: clamp(300px, 38vw, 540px);
    overflow: hidden;
}
#gallery-apartment .apartment-gallery-img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
}
#gallery-apartment .gallery-caption { bottom: 0; }
@media (max-width: 767px) {
    #gallery-apartment .cl-gallery-image-link { height: clamp(240px, 72vw, 390px); }
}

/* CORTE LAVARINI – menu mobile: allineamento, sotto-livelli e CTA */
@media (max-width: 992px) {
  header.header-mobile #mainmenu { width: 100%; }
  header.header-mobile #mainmenu li { position: relative; }
  header.header-mobile #mainmenu li > a {
      white-space: normal !important; overflow-wrap: anywhere;
      line-height: 1.4; padding-top: 11px; padding-bottom: 11px;
  }
  header.header-mobile #mainmenu li ul { width: 100% !important; }
  header.header-mobile #mainmenu li li a { text-wrap: wrap; }
  header.header-mobile #mainmenu li.has-child > a { padding-right: 55px !important; }
  header.header-mobile #mainmenu li.has-child > span {
      position: absolute; right: 12px; top: 4px; width: 40px; height: 40px;
      margin: 0 !important; z-index: 5; cursor: pointer;
  }
  header.header-mobile #mainmenu li li.has-child > span { right: 12px; }
  header.header-mobile #mainmenu .language-switcher > a.language { display: flex; align-items: center; gap: 9px; }
  header.header-mobile #mainmenu .language-switcher img { display: inline-block; width: 25px; height: 17px; object-fit: cover; }
  header.header-mobile #mainmenu .language-switcher ul { max-width: 100%; }
  header.header-mobile #mainmenu .cl-mobile-booking-item { padding: 12px 20px !important; }
  header.header-mobile #mainmenu .cl-mobile-booking {
      display: inline-block !important; width: auto !important; min-width: 160px;
      margin: 0 !important; padding: 12px 22px !important;
      background: #dfc887 !important; color: #42111C !important;
      border: none !important; text-align: center !important;
  }
  header.header-mobile #mainmenu .cl-mobile-contact { padding-left: 20px !important; }
  header.header-mobile #mainmenu .cl-mobile-contact a { display: inline !important; padding-left: 0 !important; }
}

/* CORTE LAVARINI – freccia bianca di apertura terzo livello (mobile) */
@media (max-width: 992px) {
  header.header-mobile #mainmenu > li > ul > li.has-child > span {
    display: block !important;
    position: absolute !important;
    right: 12px !important;
    top: 4px !important;
    width: 40px !important;
    height: 40px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: transparent !important;
    background-image: none !important;
    opacity: 1 !important;
  }
  /* Nasconde il disegno nero predefinito del template */
  header.header-mobile #mainmenu > li > ul > li.has-child > span::before {
    content: none !important;
    display: none !important;
  }
  /* Nuovo chevron bianco, senza dipendere da font di icone */
  header.header-mobile #mainmenu > li > ul > li.has-child > span::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 13px !important;
    left: 14px !important;
    width: 12px !important;
    height: 12px !important;
    border: 0 !important;
    border-right: 2px solid #fff !important;
    border-bottom: 2px solid #fff !important;
    background: transparent !important;
    background-image: none !important;
    transform: rotate(45deg) !important;
    opacity: 1 !important;
  }
  header.header-mobile #mainmenu > li > ul > li.has-child > span.active::after {
    top: 18px !important;
    transform: rotate(225deg) !important;
  }
}

/* CORTE LAVARINI — elimina le sovrapposizioni dal carosello camere.
   Da aggiungere IN FONDO al custom.css online.
   Non modifica la galleria #gallery-apartment né i collegamenti sulle foto. */
#room-carousel .item > .hover > .abs.hover-op-1,
#room-carousel .item > .hover > .abs.bg-color,
#room-carousel .item > .hover > .d-label {
    display: none !important;
}

/* Evita l'effetto di oscuramento dell'immagine al passaggio del mouse. */
#room-carousel .item > .hover > a img {
    opacity: 1 !important;
}


/* Slider homepage - testi smartphone */
@media (max-width: 767px) {

    .cl-hero-slider h1.slider-title,
    .cl-hero-slider h2.slider-title {
        font-size: clamp(35px, 9vw, 44px) !important;
        line-height: 1.12 !important;
    }

    .cl-hero-slider p.slider-teaser {
        font-size: clamp(17px, 4.4vw, 19px) !important;
        line-height: 1.45 !important;
    }

}

/* Sottotitoli delle sezioni in bordeaux */
.subtitle,
.subtitle.id-color {
    color: #42111C !important;
}

#subheader h1 {
  border-bottom: none;
}


/* CORTE LAVARINI – social footer: icone +25%, hover circolare */
footer .cl-footer-social a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    padding: 0 !important;
    margin: 0 5px !important;
    line-height: 1 !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    box-shadow: none !important;
    vertical-align: middle;
    background-clip: padding-box !important;
    transition: background-color .2s ease, box-shadow .2s ease !important;
}
footer .cl-footer-social a i,
footer .cl-footer-social a svg {
    font-size: 125% !important;
    line-height: 1 !important;
}
footer .cl-footer-social a:hover,
footer .cl-footer-social a:focus-visible {
    border-radius: 50% !important;
    background-color: #dfc887 !important;
    color: #42111C !important;
    box-shadow: 0 0 0 1px rgba(223,200,135,.45), 0 4px 12px rgba(0,0,0,.18) !important;
}
footer .cl-footer-social a:hover i,
footer .cl-footer-social a:focus-visible i { color: #42111C !important; }
footer .cl-footer-social a::after,
footer .cl-footer-social a::before {
    border-radius: 50% !important;
}

/* Corte Lavarini - CTA prenotazione nel menu mobile */
@media (max-width: 992px) {
    header.header-mobile #mainmenu > li.cl-mobile-booking-item {
        margin-top: 30px !important;
        padding-top: 0 !important;
    }
    header.header-mobile #mainmenu > li.cl-mobile-booking-item > a.cl-mobile-booking,
    header.header-mobile #mainmenu > li.cl-mobile-booking-item > a.cl-mobile-booking:hover,
    header.header-mobile #mainmenu > li.cl-mobile-booking-item > a.cl-mobile-booking:focus-visible {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: auto !important;
        min-width: 160px;
        margin: 0 !important;
        padding: 12px 22px !important;
        background: #dfc887 !important;
        background-image: none !important;
        color: #42111C !important;
        -webkit-text-fill-color: #42111C !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        text-align: center;
    }
    
    .subfooter {
	    padding-bottom: 100px !important;
    }
}
/* Footer social: una sola ombra circolare */
footer .subfooter .social-icons a {
    border-radius: 50% !important;
    box-shadow: none !important;
    filter: none !important;
}

footer .subfooter .social-icons a:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.20) !important;
    filter: none !important;
}

footer .subfooter .social-icons a::before,
footer .subfooter .social-icons a::after {
    box-shadow: none !important;
}

/* Footer social: hover uniforme */
footer .subfooter .social-icons a:hover {
    background: #DFC887 !important;
    color: #42111C !important;
    border-radius: 50% !important;
    box-shadow: none !important;
}

footer .subfooter .social-icons a:hover::before,
footer .subfooter .social-icons a:hover::after {
    background: transparent !important;
    box-shadow: none !important;
}

/* CORTE LAVARINI - Footer e spaziatura video (solo smartphone) */
@media only screen and (max-width: 767px) {
    /* Allinea i link del footer al bordo sinistro del logo */
    footer .footer_list,
    footer ul.footer_list {
        margin-left: 0 !important;
        padding-left: 0 !important;
        text-align: left !important;
        list-style: none !important;
    }

    /* Riduce il vuoto sotto il video e prima del carosello camere */
    #content section:has(.cl-video-open) {
        padding-bottom: 12px !important;
        margin-bottom: 0 !important;
    }
    #content section:has(#room-carousel) {
        padding-top: 20px !important;
        margin-top: 0 !important;
    
    }
}

/* CORTE LAVARINI - Footer e spaziatura video (solo smartphone) */
@media only screen and (max-width: 767px) {
    /* Allinea i link del footer al bordo sinistro del logo */
    footer .footer_list,
    footer ul.footer_list {
        margin-left: 0 !important;
        padding-left: 0 !important;
        text-align: left !important;
        list-style: none !important;
    }

    /* Riduce il vuoto sotto il video e prima del carosello camere */
    #content section:has(.cl-video-open) {
        padding-bottom: 12px !important;
        margin-bottom: 0 !important;
    }
    #content section:has(#room-carousel) {
        padding-top: 70px 
        margin-top: 0 !important;
    }
}


/* CORTE LAVARINI – elenco camere: gerarchia titoli e spaziature */
#content.cl-apartments-list .half-fluid h2,
#content.cl-apartments-list .half-fluid h2 a,
#content.cl-apartments-list .half-fluid h2 a:hover,
#content.cl-apartments-list .half-fluid h2 a:focus-visible {
    color: #42111C !important;
}

#content.cl-apartments-list .half-fluid h2 {
    margin-bottom: 12px !important; /* circa -40% rispetto a 20px */
}

#content.cl-apartments-list .half-fluid h4 {
    font-size: 23px !important; /* circa -10% rispetto a 26px */
    margin-bottom: 30px !important;
}

/* CORTE LAVARINI – elenco camere: gerarchia titoli e spaziature */
#content.cl-apartments-list .half-fluid h2,
#content.cl-apartments-list .half-fluid h2 a,
#content.cl-apartments-list .half-fluid h2 a:hover,
#content.cl-apartments-list .half-fluid h2 a:focus-visible {
    color: #42111C !important;
}

#content.cl-apartments-list .half-fluid h2 {
    margin-bottom: 12px !important; /* circa -40% rispetto a 20px */
}

#content.cl-apartments-list .half-fluid h4 {
    font-size: 18px !important; /* circa -10% rispetto a 26px */
    margin-bottom: 30px !important;
}


/* Corte Lavarini - menu mobile: stessa indentazione per le voci del primo sottomenu */
@media (max-width: 992px) {
    header.header-mobile #mainmenu > li > ul > li.has-child > a {
        padding-left: 15px !important;
    }
}

dialog.cl-video-modal::backdrop {
    background-color: rgba(66, 17, 28, 0.88) !important;
}

/* Last minute - pulsante dorato con testo bordeaux */
#content .cl-lastminute-more,
#content .cl-lastminute-more:hover,
#content .cl-lastminute-more:focus-visible {
    background: #dfc887 !important;
    background-image: none !important;
    border: 1px solid #dfc887 !important;
    color: #42111C !important;
    -webkit-text-fill-color: #42111C !important;
}

/* LAST MINUTE – sfumatura bordeaux dal 70% allo 0% */

.overlay-gradient-dark-bottom {
    background: linear-gradient(
        to top,
        rgba(66, 17, 28, 0.90) 0%,
        rgba(66, 17, 28, 0) 100%
    ) !important;
}

/* Acconsento.click - larghezza finestra */
@media (min-width: 768px) {
    #acconsento-click .acconsento-click-consent-banner {
        width: 40% !important;
        max-width: 90vw !important;
    }
}

/* Acconsento.click - larghezza finestra */
@media (max-width: 768px) {
    #acconsento-click .acconsento-click-consent-banner {
        width: 80% !important;
        max-width: 90vw !important;
    }
}

/* Acconsento.click - dimensione testo */
#acconsento-click .el-acconsento-dialog__body {
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* Acconsento.click - testo informativa */
#acconsento-click #acconsento-click-consent-banner-body p {
    font-size: 14px !important;
    line-height: 1.45 !important;
    margin-bottom: 10px !important;
}

/* Riduce la distanza tra i paragrafi */
#acconsento-click #acconsento-click-consent-banner-body > div {
    margin-bottom: 6px !important;
}



/* Acconsento.click - finestra adattabile */
#acconsento-click .acconsento-click-consent-banner {
    display: flex !important;
    flex-direction: column !important;
    max-height: 85dvh !important;
    overflow: hidden !important;
}

/* Testo scorrevole */
#acconsento-click .el-acconsento-dialog__body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
}

/* Titolo e pulsanti sempre visibili */
#acconsento-click .el-acconsento-dialog__header,
#acconsento-click .el-acconsento-dialog__footer {
    flex: 0 0 auto !important;
}

/* Dimensioni testo mobile */
@media (max-width: 767px) {
    #acconsento-click #acconsento-click-consent-banner-body p {
        font-size: 13px !important;
        line-height: 1.4 !important;
        margin-bottom: 7px !important;
    }
}