body{
    color: var(--color7);
    background-color: var(--col-bianco);
    font-family: var(--font-principale);
}

.button,
a{
  color: var(--col-bianco);  
}

#header.pos_fixed {
    background-color: #1e4576;
    -webkit-box-shadow: 0px 8px 35px -18px rgba(66, 68, 90, 0.42);
    -moz-box-shadow: 0px 8px 35px -18px rgba(66, 68, 90, 0.42);
    box-shadow: 0px 8px 35px -18px rgba(66, 68, 90, 0.42);
}

.button{
    color: #FFF;
    transition: 1s;
    text-transform: uppercase;
    font-family: var(--font-family-5);
    font-size: 0.9rem;
    letter-spacing: 0.2em;
    border-radius: 0;
    font-weight: 400;
    height: auto;
    display: inline-block;
}

#header > *{
    color: var(--col-bianco); 
}

a:hover{
    color: var(--col-principale);
}

header li, footer li, a.menulingua {
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-family: var(--font-family-6);
}

nav.navmenu-lingue ul.sottolingue-attivo {
    font-family: var(--font-family-5);
    background: var(--color1);
    -webkit-box-shadow: 0px 8px 35px -18px rgba(66, 68, 90, 0.42);
    -moz-box-shadow: 0px 8px 35px -18px rgba(66, 68, 90, 0.42);
    box-shadow: 0px 8px 35px -18px rgba(66, 68, 90, 0.42);
    top: 75px;
    width: 75px;
}

nav.navmenu-lingue ul.sottolingue-attivo li {
    height: 75px;
    width: 75px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.anteprimacamera .blocco_dati p{
    color: #fff;
    text-transform: none;
    /* font-size: 1.2rem; */
    text-align: center !important;
}

#bottone_menu_header.bottone-fix, 
#bottone_menu_footer.bottone-fix {
    display: flex;
    align-items: flex-start;
}

#bottone_menu_header .buttonmenu .icon-bar{background: var(--color1);}

#bottone_menu_header.bottone-fix, 
#bottone_menu_footer.bottone-fix {
    flex-direction: column!important;
    align-items: flex-start!important;
}

button.multilingue a{
    text-transform: uppercase;
    color: var(--color1);
    font-family: var(--font-family-6);
    letter-spacing: 0.15em;
}


.pos_fixed button.multilingue a{
    text-transform: uppercase;
    color: var(--color2);
    font-family: var(--font-family-6);
}

h1 {
    font-size: 3rem;
    font-family: var(--font-family-1);
    color: var(--color5);
    margin-bottom: 0px;
    line-height: 0.9em;
}

h2 {
    font-size: 17px;
    line-height: 1.1em;
    font-family: var(--font-family-1);
    color: var(--color7);
    text-transform: uppercase;
    margin-bottom: 35px;
    letter-spacing: 0.03em;
    margin-top: 25px;
}

h3 {
    word-wrap: break-word;
    white-space: -moz-pre-wrap;
    white-space: pre-wrap;
    font-size: 3rem;
    font-family: var(--font-family-1);
    color: var(--color1);
    line-height: 1em;
}

h5 {
    word-wrap: break-word;
    white-space: -moz-pre-wrap;
    white-space: pre-wrap;
    font-size: 2.2rem;
    font-family: var(--font-family-4);
    color: var(--color6);
    line-height: 1em;
}

p{
    font-family: var(--font-family-7);
    color: var(--color2);
    line-height: 1.8em;
    font-size: 1rem;
    text-align: justify !important;
    font-weight: 300;
}

.sez-bckg{
    /*background: url() repeat-x top left #fff;*/
    background-color: #f0dfb5;
    width: 100%;
    height: 165px;
}

.sez-home-introcamere h2{
    font-weight: 300;
    word-wrap: break-word;
    white-space: pre-wrap;
    font-size: 2rem;
    font-family: var(--font-family-4);
    color: var(--color6);
    line-height: 1.2em;
}

body#home section#slideshow{
	height: 100vh;
}

.sez-home-camere .blocco_foto_camera img {
    max-width: unset;
    height: 500px;
}

.sez-home-camere .blocco_dati {
    flex-flow: column wrap!important;
    align-items: center!important;
    justify-content: space-between!important;
    flex-direction: column!important;
}


.menu-selezione-hover .navbar-elem-menu {
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
}

.menu-selezione-hover .navbar-elem-menu {
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
}

.menu-selezione-hover .navbar-elem-menu li {
    margin-bottom: 20px;
    opacity: 0.5;
}

.menu-selezione-hover .navbar-elem-menu > li a {
    color: #484848;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
}

.menu-selezione-hover .navbar-elem-menu li a h5{
    
}

.menu-selezione-hover .navbar-elem-menu li a p{
    display: none
}

.menu-selezione-hover .navbar-elem-menu li.sel {
    opacity: 1;
}

.menu-selezione-hover .navbar-elem-menu li.sel p{
    display: block
}

.buttonmenu label p {
    background-color: transparent;
    color: var(--color6);
}

#bottone_menu_header .label {
    text-transform: uppercase;
    background-color: transparent;
    color: var(--color6);
}

.bottone_aprimenu button.buttonmenu,
.bottone_aprimenu span.buttonmenu {
    margin-bottom: 5px;
}

#sezfooter1 .logosito{
    display: block;
    margin-bottom: 20px;
}

#sezfooter1 .label {
    text-align: justify;
    font-family: var(--font-family-1);
}

span.prefix {
    display: none;
}


/*STILE PERSONALIZZATO*/

#camere-1 p {
    margin-left: 15%;
    margin-right: 15%;
    color: var(--color1);
    /* font-family: var(--font-family-6); */
    /* font-size: 1.2rem; */
    text-align: left;
    float: left;
    width: 60%;
}

#camere-1 .col-sm-12.col-md-12.area {
    /* background: var(--color4); */
}

#sez-1 p {
    margin-bottom: 35px;
    text-align: center !important;
}

#sez-camere h4 {
    font-family: var(--font-family-1);
    font-size: 5rem;
    color: var(--color1);
}

#sez-camere h3 {
    font-family: var(--font-family-1);
    font-size: clamp(3rem, 4.5vw, 3.4rem);
    font-weight: 400;
    color: #ffffff;
    line-height: 1.05;
    margin-bottom: 8px;
}

#camere-1 h3 {
    text-align: left;
    margin-left: 15%;
    margin-right: 15%;
    margin-bottom: 25px;
}

#camere-1 h3 strong {
    font-size: 5rem;
    font-weight: 400;
}


#camere-1 h2 {
    text-align: left;
    margin-left: 15%;
    margin-right: 15%;
    margin-bottom: 25px;
    font-size: 3rem;
    font-family: var(--font-family-1);
    color: var(--color1);
    line-height: 1em;
}

#camere-1 h2 strong {
    font-size: 5rem;
    font-weight: 400;
}

#slideshow h2 {
    color: #fff;
    font-size: 1.8rem;
    line-height:3rem;
    text-transform: none;
    font-family: var(--font-family-7);
    font-weight: 300;
}

#slideshow h2 strong {
    color: #fff;
    font-size: 4rem;
    font-weight: 400;
    font-family: var(--font-family-1);
}

#slideshow .col-sm-12.col-md-12.area {
    background: var(--color4);
}

section#slideshow {
    overflow: hidden;
}

#bottone_menu_header p {
    font-family: var(--font-family-7);
    color: var(--color1);
    display: none;
}

#sez-1 h1 strong {
    font-weight: 400;
    font-size: 5rem;
    color: var(--color8);
    text-transform: uppercase;
    font-family: var(--font-family-1);
}

section#camere-1 {
    margin-bottom: 1px;
}

#camere-1 a.linkinterno {
    float: left;
    margin-left: 15%;
    margin-top: 30px;
    margin-right: 15%;
}

#servizi h3 {
    color: var(--color5);
    margin-bottom: 25px;
}

#servizi h3 strong {
    font-size: 4rem;
    font-weight: 400;
    color: var(--color7);
}

p strong {
    font-weight: 600;
}

#sez-8 p {
    margin-left: 15%;
    margin-right: 15%;
    color: var(--color1);
    /* font-family: var(--font-family-2); */
    /* font-size: 1.2rem; */
    width:60%;
    float:right;
    /* text-align: left; */
    text-align: right !important;
}

#sez-8 h3 {
    margin-left: 15%;
    margin-right: 15%;
    margin-bottom: 25px;
    font-size: clamp(2rem, 2.4vw, 2rem);
    line-height: 1.25;
}

#sez-8 h3 strong {
    font-size: 5rem;
    font-weight: 400;
    font-size: clamp(3rem, 4.5vw, 3.4rem);
}

.galleriapres img.img-responsive {
    padding: 8px;
}

section#foto-home {
    padding-top: 130px;
    padding-bottom: 100px;
}

#foto-home h3 {
    text-align: center;
    margin-bottom: 50px;
    margin-top: 0;
    font-size: 3rem;
    color: var(--color2);
    font-size: clamp(2rem, 2.4vw, 2rem);
}

#foto-home h3 strong {
    font-weight: 400;
    font-size: clamp(3rem, 4.5vw, 3.4rem);
}


.owl-theme .owl-dots .owl-dot {
    background: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
}

#servizi .button.button--winona.button--size-l,
#servizi button.button.button--winona.button--size-l {
    margin-top: 35px;
}

.aneprimacamera a.button {
    margin-top: 35px;
}

.anteprimacamera a.button {
    margin-top: 35px;
    padding: 25px;
    border: none;
    padding-top: 22px;
    /* padding-bottom: 13px; */
    border: 2px solid #fff;
}

.anteprimacamera a.button p {
    font-weight: 400;
    font-size: 0.9rem;
    font-family: var(--font-family-5);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    line-height: 2;
}

.anteprimacamera a.button p:hover {
    /* font-weight: 300; */
    /* font-size: 0.9rem; */
    color: #ffffff;
}

#sez-1 h3 {
    color: var(--color2);
    font-size: 1.5rem;
    margin-top: 0;
    line-height: 2rem;
    margin-bottom: 30px;
    font-family: var(--font-family-6);
}

.chiudi_menumobile {
    cursor: pointer;
    position: absolute;
    top: 5%;
    right: 55%;
}


#menu_header .navbar-nav-menu > li {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    width: 100%;
    margin-bottom: 5px;
    justify-content: center;
}

.pos_fixed #bottone_menu_header .buttonmenu .icon-bar {
    background: rgb(255 255 255);
}

.pos_fixed #bottone_menu_header p {
    color: var(--color2);
    line-height: 1;
}

header.pos_fixed .logosito img {
    filter: none;
    width: auto;
    height: 60px;
}

a.logosito.logodesktop.centrale.fix {
    top: calc(50vh - 275px) !important;
    left: calc(50% - 100px) !important;
    position: absolute;
}

.button.button--winona.button--size-l.button--text-thick.button--round-s.btn-apriFR,
button.button.button--winona.button--size-l.button--text-thick.button--round-s.btn-apriFR {
    width: 70%;
    min-width: 225px;
    float: right;
    height: 75px;
}

.colheader.ch3 {
    width: 20% !important;
    position: absolute;
    right: 75px;
}

.ch4 {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    width: 75px;
    height: 75px;
}

nav#menulingueheader {
    width: 75px;
    height: 75px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#footer p {
    color: var(--color1);
    font-family: var(--font-family-1);
    font-weight: 500;
    text-transform: capitalize;
    font-size: 1.3rem;
}

#footer span.elem, #footer span.elem {
    font-family: var(--font-family-7);
    font-size: 1rem;
}

#sezfooter3 .label a {
    color: var(--color1);
    font-family: 'Italiana';
    font-size: 1.3rem;
}



.navbar-menu.menumobile.bottone-fix.left.menu-aperto, .navbar-menu.menumobile.bottone-fix.left {
    transition: 1s;
}

.prencanc_fr.component_fr span {
    font-family: var(--font-family-5);
    letter-spacing: .2rem;
}

.prencanc_fr.component_fr {
    margin-top: 15px !important;
}

.laterale-fr {
    background-image: url(https://www.iltuonerd.it/produzione/fourth-dimension/data/2560/the-fourth-dimension-by-domidea-roma-luxury-suite-spa-11.webp);
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 50%;
    background-size: cover;
    background-position: center;
}

#frHeader div.fastreservation.apertura-full {
    background-color: #ffffff !important;
    font-family: var(--font-family-6);
    color: var(--color2) !important;
}

#frHeader div.fastreservation .contenitore-fr {
    padding-left: 15%;
    padding-right: 15%;
}

.fastreservation .labelfastr {
    margin-top: 10px;
    margin-bottom: 10px;
    color: var(--color2);
    /* text-transform: none !important; */
    letter-spacing: 0.1em;
    font-family: var(--font-family-5);
    font-weight: 300;
    font-size: 0.9rem;
}

#frHeader div.fastreservation.apertura-full .btn-chiudiFR, #frHeader div.fastreservation.apertura-standard .btn-chiudiFR {
    right: 50px;
}

#slideshow h1 {
    color: #fff;
    font-weight: 100;
    line-height: 1.2em;
    font-family: var(--font-family-7);
}

#slideshow h1 strong {
    font-size: 5rem;
    font-family: var(--font-family-1);
}

#slideshow h1 strong {
    line-height: 1;
}

#sez-1 h2 {
    font-size: 2.5rem;
    text-transform: inherit;
    color: var(--color7);
}

.anteprimacamera {
    position: relative;
    float: left;
    padding: 0px !important;
    width: -webkit-fill-available;
}

.anteprimacamera.visuale_sovrapposti .blocco_dati {

    background: #0000004a;
    left: 0 !important;
    right: 0 !important;
}

#servizi p {
    margin-right: 45px;
}

#dotazioni h3, #dotazioni p {
    color: var(--color2);
}

section#dotazioni {
    padding-top: 80px;
    padding-bottom: 80px;
}

#foto-home div#galleria-103, #foto-home div#galleria-317, #foto-home div#galleria-285, #foto-home div#galleria-253 {
    margin-top: 60px;
    margin-bottom: 60px;
}

#testo-intro h2 {
    color: var(--color5);
    margin-bottom: 25px;
    font-size:2.5rem
}

#testo-intro h2 strong {
    font-size: 4rem;
    font-weight: 400;
    color: var(--color7);
}

#testo-intro-2 h2 {
    color: var(--color5);
    margin-bottom: 25px;
    font-size:2rem;
    margin-left: 30px;
    margin-right: 30px;
}

#testo-intro-2 h2 strong {
    font-size: 3rem;
    font-weight: 400;
    color: var(--color8);
}

#testo-intro-2 p {
    margin-left: 30px;
    margin-right: 30px;
}

#testo-intro-2 #mappa1 p {
    margin: 0;
    padding-bottom: 0 !important;
}

.titolo-anteprima h3 {
    color: var(--color2);
    text-align: center;
    margin-bottom: 30px;
}

.testo-anteprima p {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 10px;
    text-align: center;
}

.col-sm-12.col-md-6.ant-camera {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-bottom: none;
    align-items: flex-start;
}


.bottone-anteprima  a {
    background: #000;
    text-align: center;
    width: 200px;
}

section#listacamere {
    height: auto;
}

.bottone-anteprima a {
    background-color: var(--color2_hover);
    color: #FFF;
    transition: 1s;
    text-transform: uppercase;
    font-family: 'EB Garamond';
    font-size: 1rem;
    letter-spacing: 0.05em;
}

.bottone-anteprima {
    width: fit-content;
    background-color: var(--color5);
    padding: 20px 20px;
    border-radius: 0;
}

.bottone-anteprima p {
    color: var(--color1);
    font-size: 1rem;
    font-weight: 300;
    font-family: var(--font-family-5);
}

#menu_header .navbar-nav-menu > li {
    align-items: anchor-center !important;
}

.menumobile.bottone-fix .navbar-nav-menu ul.sottomenu li {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sottomenu {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 1s ease, opacity 1s ease;
}
  
/* Quando ÃƒÆ’Ã‚Â¨ attivo, mostra con animazione */
.apri-sottomenu.sottomenu-attivo .sottomenu {
    max-height: 500px; /* Imposta un valore abbastanza grande per contenere i contenuti */
    opacity: 1;
}

.index-camere #camere-1 .button,
.index-camere #camere-1 button {    
    float: left;
    margin-left: 15%;
    margin-top: 30px;
    margin-right: 15%;
}

#sezfooter3 span.label {
    display: none;
}

span.elemsocial {
    color: var(--color1);
    float: left;
}

#sezfooter3 span.elem.selezunder a {
    margin-left: 5px;
    margin-right: 5px;
}

.bottone_aprimenu button.buttonmenu .icon-bar,
.bottone_aprimenu span.buttonmenu .icon-bar {
    height: 2px !important;
}

section#foto-home.galleria {
    padding-top: 50px;
    padding-bottom: 100px;
}

div#galleria-204 {
    padding: 0;
}
#blocco1 div#galleria-204 figure {
    padding: 0 !important;
}

div#galleria-226, div#galleria-349 {
    padding: 0;
}
.spa #blocco1 div#galleria-226 figure, div#galleria-349 figure {
    padding: 0 !important;
}

div#galleria-229 {
    padding: 0;
}
.spa #blocco2 div#galleria-229 figure {
    padding: 0 !important;
}

div#galleria-208 {
    padding: 0;
}
#blocco2 div#galleria-208 figure {
    padding: 0 !important;
}


#blocco1 .galleriapres img.img-responsive {
    padding: 0;
}

#blocco1 p {
    margin-left: 50px;
    margin-right: 50px;
}

#blocco1 h3 {
    margin-left: 50px;
    margin-right: 50px;
    margin-bottom: 25px;
    color: var(--color2);
}

#blocco2 div#galleria-208 {
    padding: 0;
}

#blocco2 .galleriapres img.img-responsive {
    padding: 0;
}

#blocco2 p {
    margin-left: 50px;
    margin-right: 50px;
}

#blocco2 h3 {
    margin-left: 50px;
    margin-right: 50px;
    margin-bottom: 25px;
    color: var(--color2);
}

#sez-1 .spa h3 {font-size: clamp(3rem, 4.5vw, 3.4rem);font-family: var(--font-family-1);color: var(--color8);margin-bottom: 0px;line-height: 0.9em;margin-bottom: 20px;font-weight: 400;}

#sez-1 .spa h3 strong {
    font-weight: 400;
    font-size: 4rem;
    color: var(--color2);
    text-transform: none;
}

#blocco2 .button.button--winona.button--size-l.button--text-thick.button--round-s 
#blocco2 button.button.button--winona.button--size-l.button--text-thick.button--round-s {
    margin-left: 50px;
    margin-top: 30px;
}

.galleria header .logosito img {
    display: none;
}

.galleria header.pos_fixed .logosito img {
    display: inline-block;
}

.spa section#foto-home {padding: 50px;}

.sottomenu {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease;
  }
  
  .sottomenu.aperto {
    opacity: 1;
    /* max-height viene impostato dinamicamente via JS */
  }
  
  .material-symbols-rounded {
    color: #fff;
    font-size: 3rem !important;
}

li.nav-item.liv1.azioneher.prenotazioni a {
    background-color: var(--color5);
    padding: 18px 30px !important;
    border-radius: 0px;
    color: var(--color1) !important;
}

.datepicker-dropdown .datepicker-picker {
    font-family: var(--font-family-6);
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}


.datepicker-title {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

div.fastreservation .area_input_notti .chiudi, div.fastreservation .area_input_persone .chiudi, div.fastreservation .area_input_listino .chiudi {
    font-family: var(--font-family-5);
    letter-spacing: .2rem;
    background-color: var(--color5) !important;
    height: auto;
}

#home header.pos_absolute .logosito img {
    display: block;
}

#home .fix img.logo-desktop {
    width: 200px;
    height: auto;
}

#servizi-2 p {
    color: var(--color1);
    margin-left: 30px;
    margin-right: 30px;
}

#servizi-2 h3 {
    margin-left: 30px;
    margin-right: 30px;
    font-size: clamp(2.2rem, 4.5vw, 3rem);
    font-weight: 400;
    margin-bottom: 30px;
}

.menu-aperto .navbar-nav-menu li.nav-item .sottomenu .nav-link {
    font-size: 1.4rem;
    color: var(--color3);
}

.menu-aperto .navbar-nav-menu li.nav-item .sottomenu .nav-link {
    padding-top: 0;
    margin-top: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}

.menumobile.bottone-fix .navbar-nav-menu ul.sottomenu.aperto {
    margin-bottom: 15px;
}

header .logosito img {
    /*filter: invert(0) brightness(58);*/
}


body:not(#home) img.logo-desktop {
    display: block !important;
    height: auto !important;
    width: 90px !important;
    /* filter: invert(0) brightness(58); */
}

body:not(#home) .pos_fixed img.logo-desktop {
    filter: none;
}

body:not(#home) a.logosito.logodesktop.centrale.fix {
    top: 5px !important;
    left: initial!important;
}

a.logosito.logodesktop.centrale {
    /* top: 10px !important; */
    /* left: calc(50% - 35px) !important; */
    /* position: absolute; */
}

i.zmdi.zmdi-close {
    font-size: 30px;
}

#servizi-3 h3 {
    text-align: left;
    /* margin-left: 10%; */
    /* margin-right: 10%; */
    margin-bottom: 25px;
    color: var(--color5);
    width: 100%;
}

#servizi-3 h3 strong {
    font-size: 5rem;
    font-weight: 400;
    color: var(--color8);
}

#servizi-3 p {
    margin-left: 10%;
    color: var(--color2);
    font-family: var(--font-family-7);
    /* font-size: 1.1rem; */
    text-align: left;
    float: left;
    width: 60%;
}

#servizi-3 .button,
#servizi-3 button.button {
    margin-left: 10%;
    margin-top: 40px;
}

#frHeader div.fastreservation .btn-chiudiFR {

color: var(--color4) !important;
top: 10% !important;
}

div#bottone_menu_header {
    margin-left: 15px;
}

#servizi .button.button--ujarak.button--size-l.button--text-thick.button--round-s.button--border-thin,
#servizi button.button.button--ujarak.button--size-l.button--text-thick.button--round-s.button--border-thin {
    margin-top: 30px;
}

#foto-home div#owlcarousel-89 {
    padding:50px;
}

#servizi .button.button--ujarak.button--size-l.button--text-thin.button--round-s,
#servizi button.button.button--ujarak.button--size-l.button--text-thin.button--round-s {
    margin-top: 30px;
}

#blocco2 .button.button--ujarak.button--size-l.button--text-thick.button--round-s,
#blocco2 button.button.button--ujarak.button--size-l.button--text-thick.button--round-s {
    margin-left: 50px;
    margin-top: 30px;
}

#servizi-2 .col-sm-12.col-md-6.area.sfondobckg.bckg_responsive.fisso {
    border-right: 1px solid #fff;
}

#servizi .button.button--ujarak.button--size-l.button--text-thick.button--round-s,
#servizi button.button.button--ujarak.button--size-l.button--text-thick.button--round-s {
    margin-top: 30px;
}

#header .sezheader {
    justify-content: space-between !important;
    height: 75px;
}

.ch1 {
    width: 3%;
}

.ch2 {
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 100% !important;
    height: 75px;
}

.ch1 {
    position: fixed;
    left: 0;
    height: 75px;
    display: flex;
    width: 75px;
    justify-content: center;
    z-index: 2;
}

#bottone_menu_header.bottone-fix, #bottone_menu_footer.bottone-fix {
    margin-left: 0;
}

.contenitore-fr .button.button--standard,
.contenitore-fr button.button.button--standard {
    background: var(--color5);
}

.anteprimacamera a.button:hover {
    border: 2px solid var(--color5);
    background: var(--color5);
}

#menulingueheader span.material-symbols-rounded {
    font-size: 1.2rem !important;
    color: #fff;
    display: none;
}

#header.pos_fixed span.material-symbols-rounded {
    font-size: 1.2rem !important;
    color: #000000;
    display: none;
}

#testo-intro-2 div[class^="cbck_"],
#testo-intro-2 div[class^="acbck_"]{
  position: absolute;
  top: 0;
  /* left: 0; */
  width: inherit;
  height: 100%;
}

#sez-1 h1 {
    font-family: var(--font-family-1);
    font-weight: 200;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.galleria #foto-home h3 {
    padding-bottom: 0;
}

#dotazioni .col-sm-12 p {
    display: flex;
    flex-direction: row;
    text-align: center;
    flex-wrap: wrap;
    margin-top: 50px;
    justify-content: center !important;
}

#dotazioni .col-sm-12 strong {
    margin-bottom: 20px;
    display: contents;
    font-weight: 600;
}

#dotazioni span.material-symbols-rounded {
    font-size: 2.2rem !important;
}

.datepicker-header .datepicker-controls {background: var(--color8) !important;}

.datepicker-controls .button {
    background: var(--color8) !important;
    color: #fff !important;
    letter-spacing: 0 !important;
}

.datepicker-cell {
    height: 40px !important;
}

.datepicker-cell:not(.disabled):hover {
    background: #a9a69e !important;
}

.checkin .datepicker.datepicker-dropdown.active {
    top: calc(50vh - 150px) !important;
}

.checkout .datepicker.datepicker-dropdown.active {
    top: calc(50vh - 50px) !important;
}

div.fastreservation .area_input_persone {
    margin-top: 60px !important;
    border-radius: 10px !important;
}

div.fastreservation .area_input_persone .cont_input_persone {
    display: flex !important;
    flex-direction: column !important;
}

.cont_input_persone input, .cont_input_persone select {
    min-width: 100% !important;
    width: 100% !important;
}

#frHeader div.fastreservation.apertura-full.animate__fadeOut{
	z-index: -1;
}
section#tipologie {
    padding-bottom: 50px;
}

section#mappa-home {
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    height: 250px;
    background-color: #d1ccc0;
    margin-top: 0 !important;
}

/* div#mappa1 {
    height: 600px !important;
} */

#mappa-home .leaflet-popup-content p img, .leaflet-popup-content p img {
    height: 80px;
    width: auto;
    min-height: 80px !important;
    max-width: fit-content !important;
}

#mappa-home .leaflet-popup-content p {
    margin: 0;
}

#sez44 {
    padding: 100px;
}

#sez44 h3 {
    color:var(--color2);
    font-size:2rem;
    padding-left: 40px;
    padding-right: 40px;
}

#sez44 p {
    padding-left: 40px;
    padding-right:40px
}

#sez44 .col-sm-12.col-md-3 {
    border-right: 1px solid #00000075;
}

#sez44 h3 strong {
    font-size: 3rem;
    font-weight: 300;
}

#mappa-home #div#mappa1, #mappa-home  div#map-canvas1 {
    height: 400px !important;
}

.pos_fixed a.menulingua span, a.menulingua span {
    color: var(--color2);
    font-family: var(--font-family-7);
}

.pos_fixed a.menulingua {
    color: var(--color2);
}

.navbar-nav-menu {
        /* align-items: flex-start !important; */
        align-content: flex-start !important;
}

div.fastreservation.stile-custom input.datepicker {
    width: 100% !important;
    height: 80px !important;
} 

button.multilingue span {
    color: var(--color1);
    font-family: var(--font-family-7);
}

.pos_fixed button.multilingue span {
    color: rgb(255 255 255);
    font-family: var(--font-family-7);
}

#home section#mappa-home {
    min-height: auto !important;
    height: 400px;
}

/* Stile Faq */
#faq h3 strong {
    word-wrap: break-word;
    white-space: -moz-pre-wrap;
    white-space: pre-wrap;
    font-size: 3rem;
    font-family: var(--font-family-1);
    line-height: 1em;
    color: var(--color2);
    font-weight: 300;
}

.faq-container {
    margin-top: 3em;
}

.faq-item {
    padding: 0.1em 0.1em!important;
}

.faq-item .faq-question{
    font-size: 1.2em;
    line-height: 1.1em;
    font-family: var(--font-family-5);
    letter-spacing: 0.03em;
    color: var(--color2);
    font-weight: 500;
    border-radius: 8px;
    padding: 1.2em 1.2em!important;
    margin-bottom: 0.5em;
    background-color: #ffffffa3;
    text-transform: uppercase;
    margin-bottom: 0;
    letter-spacing: 0.1em;
}

.faq-item .faq-answer{
    font-family: var(--font-family-6);
    border-radius: 8px;
    color: var(--color1);
    background: var(--color2);
    font-size: 1.1em;
    letter-spacing: 0.05em;
    text-align: left;
									  
}

.faq-item .faq-answer > * {
    padding: 1.5em;
    line-height: 1.5em !important;
}

.faq-item img {
    width: 25px;
    height: auto;
    transform: none !important;
    filter: invert(1);
}

.faq-question .faq-arrow {
    transition: transform 0.3s ease;
    margin-left: 10px;
    flex-shrink: 0;
}

.faq-question[aria-expanded="true"] .faq-arrow {
    transform: rotate(180deg) !important;
																					
}

.faq-question {
    display: flex;
    align-items: center;
    width: 100%;
    text-align: left;
}

.faq-question .faq-arrow {
    margin-left: auto;
    flex-shrink: 0;
}

#header.pos_fixed .button.button--standard.button--size-l.button--text-thin.btn-apriFR, #header.pos_fixed button.button.button--standard.button--size-l.button--text-thin.btn-apriFR {
    background: #d90b00 !important;
}

#header .button.button--standard.button--size-l.button--text-thin.btn-apriFR, #header button.button.button--standard.button--size-l.button--text-thin.btn-apriFR

{
    background: #d90b00;
    border-left: 0;
}

.menu-aperto .navbar-nav-menu li.nav-item .nav-link {
    font-family: var(--font-family-7) !important;
    text-transform: uppercase !important;
    font-weight: 300 !important;
    font-size: 1.5rem !important;
}

.datepicker-title .s_c_picker {
    background-color: var(--color5);
}

.datepicker-grid .datepicker-cell.selected, .datepicker-grid .datepicker-cell.selected:hover {
    background-color: var(--color5) !important;
}

.button--ujarak::before {
    background: var(--color9);
}


#mappa #testo-intro-2 p {
    padding-bottom: 30px;
}

#home section#slideshow div.colonnaarea {
    overflow: visible;
}

footer .logosito img {
    filter: none !important;
}

ul.p-slide-control {
    z-index: 4;
    left: inherit;
    -webkit-transform: none;
    transform: none;
    justify-content: center;
}

#slideshow .full-slider {
    z-index: 1;
}


/* ============================================================
   FAQ
   ============================================================ */
#faq {
  /* --- pannello di controllo --- */
  --faq-blu: #1e4576;
  --faq-rosso: #d90b00;
  --faq-fondo: #f7f9fc;
  --faq-linea: rgba(30, 69, 118, .16);
  --faq-ombra: 0 6px 20px -14px rgba(30, 69, 118, .28);
  --faq-ombra-open: 0 28px 60px -28px rgba(30, 69, 118, .4);
  --faq-pad: clamp(20px, 2.6vw, 32px);   /* padding orizzontale card */
  --faq-gap: clamp(14px, 2vw, 24px);     /* spazio numero / testo / icona */
  --faq-num: 2.6rem;                     /* larghezza colonna numero */
  --faq-icona: 42px;
  --ease-lusso: cubic-bezier(.22, 1, .36, 1);

  position: relative;
  overflow: clip;                         /* non "hidden": romperebbe lo sticky */
  background: var(--faq-fondo);
  padding: clamp(60px, 8vw, 120px) clamp(20px, 6vw, 90px);
}

/* "?" in filigrana */
#faq::before {
  content: "?";
  position: absolute;
  left: -.06em;
  bottom: -.28em;
  font-family: var(--font-family-1);
  font-size: min(60vw, 640px);
  line-height: 1;
  color: rgba(30, 69, 118, .04);
  pointer-events: none;
  z-index: 0;
}

#faq .area,
#faq .colonnaarea {
  float: none;
  width: 100%;
  padding: 0;
  position: relative;
  z-index: 1;
}

#faq .row.centrale {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(30px, 4vw, 50px);
  max-width: 1200px;
  margin: 0 auto;
}

#faq .row.centrale > div {
  width: 100%;
  padding: 0;
  margin: 0;
  float: none;
}

/* ---------- Titolo ---------- */
#faq h3 {
  position: relative;
  margin: 0;
  padding-bottom: 24px;
  text-align: left;
  white-space: normal;
}

/* #faq h3::before {
  content: "Domande frequenti";
  display: block;
  margin-bottom: 14px;
  font-family: var(--font-family-5);
  font-size: .8rem;
  font-weight: 400;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--faq-rosso);
}
html[lang="en"] #faq h3::before { content: "Frequently asked questions"; } */

#faq h3 strong {
  font-family: var(--font-family-1);
  font-size: clamp(3rem, 4.5vw, 3.4rem);
  font-weight: 400;
  line-height: 1.05;
  color: var(--faq-blu);
  white-space: normal;
}

#faq h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 3px;
  border-radius: 3px;
  background: var(--faq-rosso);
}

/* ---------- Lista ---------- */
#faq .faq-container {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  counter-reset: faq;
}

#faq .faq-item {
  counter-increment: faq;
  position: relative;
  padding: 0 !important;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--faq-ombra);
  transition: box-shadow .5s var(--ease-lusso), transform .5s var(--ease-lusso);
}

/* barra laterale rossa */
#faq .faq-item::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: var(--faq-rosso);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .6s var(--ease-lusso);
  z-index: 2;
}

#faq .faq-item:hover {
  transform: translateY(-2px);
  box-shadow: var(--faq-ombra-open);
}

#faq .faq-item:has(.faq-question[aria-expanded="true"]) {
  box-shadow: var(--faq-ombra-open);
}

#faq .faq-item:has(.faq-question[aria-expanded="true"])::before {
  transform: scaleY(1);
}

/* ---------- Domanda ---------- */
#faq .faq-item .faq-question {
  display: flex;
  align-items: center;
  gap: var(--faq-gap);
  width: 100%;
  margin: 0;
  padding: clamp(20px, 2.4vw, 28px) var(--faq-pad) !important;
  background: transparent;
  border: 0;
  border-radius: 0;
  text-align: left;
  text-transform: none;
  font-family: var(--font-family-7);
  font-size: clamp(1.2rem, 1.3vw, 1.15rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  color: var(--faq-blu);
  cursor: pointer;
  transition: color .3s ease;
}

/* numero 01, 02… */
#faq .faq-item .faq-question::before {
    content: counter(faq, decimal-leading-zero);
    flex: 0 0 var(--faq-num);
    font-family: var(--font-family-1);
    font-size: clamp(1rem, 2.2vw, 1rem);
    font-weight: 400;
    line-height: 1;
    color: rgba(30, 69, 118, .25);
    transition: color .4s ease;
    font-family: var(--font-family-7);
}

/* icona + / – */
#faq .faq-item .faq-question::after {
  content: "";
  flex: 0 0 var(--faq-icona);
  height: var(--faq-icona);
  margin-left: auto;
  border-radius: 50%;
  border: 1px solid var(--faq-linea);
  background:
    linear-gradient(var(--faq-blu), var(--faq-blu)) center / 14px 2px no-repeat,
    linear-gradient(var(--faq-blu), var(--faq-blu)) center / 2px 14px no-repeat;
  transition: transform .5s var(--ease-lusso), border-color .4s ease, background-color .4s ease;
}

#faq .faq-item .faq-question:hover::before { color: var(--faq-rosso); }
#faq .faq-item .faq-question:hover::after  { border-color: var(--faq-blu); }

#faq .faq-item .faq-question[aria-expanded="true"]::before {
  color: var(--faq-rosso);
}

#faq .faq-item .faq-question[aria-expanded="true"]::after {
  transform: rotate(180deg);
  border-color: var(--faq-rosso);
  background:
    linear-gradient(#fff, #fff) center / 14px 2px no-repeat,
    linear-gradient(#fff, #fff) center / 2px 0 no-repeat,
    var(--faq-rosso);
}

#faq .faq-item .faq-question:focus-visible {
  outline: 2px solid var(--faq-rosso);
  outline-offset: -4px;
}

/* nasconde eventuali frecce iniettate dal CMS */
#faq .faq-question .faq-arrow,
#faq .faq-question img {
  display: none !important;
}

/* ---------- Risposta ---------- */
#faq .faq-item .faq-answer {
  background: transparent;
  border-radius: 0;
  color: inherit;
  font-size: 1rem;
  letter-spacing: 0;
  overflow: hidden;
}

#wrappagina #contenitorepagina #faq .faq-item .faq-answer > * {
  margin: 0;
  padding: 0
           calc(var(--faq-pad) + var(--faq-icona) + var(--faq-gap))
           clamp(22px, 2.6vw, 30px)
           calc(var(--faq-pad) + var(--faq-num) + var(--faq-gap));
  text-align: left !important;
  text-align-last: left !important;
  word-spacing: normal !important;
  font-family: var(--font-family-7);
  font-size: clamp(.95rem, 1.1vw, 1.02rem);
  font-weight: 300;
  line-height: 1.85 !important;
  color: var(--color_txt_base, #4a5568);
}

/* ---------- Desktop: titolo sticky a sinistra ---------- */
@media (min-width: 992px) {
  #faq .row.centrale {
    grid-template-columns: minmax(240px, .8fr) 2fr;
    align-items: start;
    gap: clamp(50px, 6vw, 100px);
  }

  #faq .row.centrale > div:first-child {
    position: sticky;
    top: 120px;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 576px) {
  #faq {
    --faq-icona: 34px;
    --faq-num: 2rem;
  }

  #wrappagina #contenitorepagina #faq .faq-item .faq-answer > * {
    padding-left: var(--faq-pad);
    padding-right: var(--faq-pad);
  }
}

/* ---------- Accessibilità ---------- */
@media (prefers-reduced-motion: reduce) {
  #faq .faq-item,
  #faq .faq-item::before,
  #faq .faq-item .faq-question::after {
    transition: none !important;
  }
  #faq .faq-item:hover { transform: none; }
}



/* ===== #servizi-3.home due aree affiancate ===== */

#servizi-3.home {
    --bg-sezione: #1e457a;
    --testo: var(--color1);
    --accento: var(--color5);
    --gap: clamp(24px, 4vw, 80px);
    --sfalso: clamp(40px, 7vw, 110px);
    --sovrapp: clamp(40px, 5vw, 80px);
    background-color: var(--bg-sezione);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap);
    align-items: start;
    margin: 0;
    padding: clamp(70px, 9vw, 100px) clamp(24px, 7vw, 100px);
}

#servizi-3.home .area {
    width: auto;
    max-width: none;
    padding: 0;
    float: none;
    background: none;
}

#servizi-3.home .area:nth-child(2) { margin-top: var(--sfalso); }

#servizi-3.home .colonnaarea { width: 100%; padding: 0; float: none; }
#servizi-3.home .colonnaarea > .row { margin: 0; }

#servizi-3.home .cont_sing { padding: 0; }
#servizi-3.home figure { margin: 0; overflow: hidden; }

#servizi-3.home figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(.22,.61,.36,1);
}

#servizi-3.home .area:hover figure img { transform: scale(1.05); }

#servizi-3.home .colonnaarea > .row:last-child {
    position: relative;
    z-index: 2;
    width: fit-content;
    max-width: 85%;
    margin: calc(var(--sovrapp) * -1) 0 0 clamp(18px, 3vw, 50px);
    padding: clamp(22px, 2.4vw, 40px) clamp(26px, 3vw, 50px) 0 0;
    background-color: var(--bg-sezione);
    display: block;
}

#servizi-3.home .colonnaarea > .row:last-child > .col-sm-12 {
    width: 100%;
    padding: 0;
    float: none;
}

#servizi-3.home .area h3 {
    color: #ffffff;
    font-size: clamp(1.35rem, 2vw, 2.5rem);
    line-height: 1.15em;
    font-weight: 400;
    text-align: left;
}

#servizi-3.home .area a.linkinterno::after {
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 100%; height: 1px;
    background-color: var(--accento);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .5s cubic-bezier(.22,.61,.36,1);
}

#servizi-3.home .area:hover a.linkinterno::after {
    transform: scaleX(1);
    transform-origin: left;
}

@media (max-width: 991px) {
    #servizi-3.home {
        grid-template-columns: 1fr;
        gap: clamp(50px, 9vw, 80px);
        padding: 70px 24px;
    }
    #servizi-3.home .area:nth-child(2) { margin-top: 0; }
    #servizi-3.home figure img { aspect-ratio: 3 / 4; }
}

/* ========================
   DATEPICKER
   ======================== */

.datepicker-picker {
  border-radius: 20px;
  background: #ffffff;
  padding: 1.25rem;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07), 0 0 0 0.5px rgba(0,0,0,0.05);
}

.datepicker-header {
  display: flex;
  flex-direction: column;
}

.datepicker-header .datepicker-controls {
  order: 1;
  padding: 0;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
}

.datepicker-title {
  order: 2;
  display: block !important;
  background: none !important;
  box-shadow: none !important;
  padding: 2px 0 10px !important;  
  text-align: left;
}

.datepicker-title .s_c_picker {
  background: none !important;
  color: #000000 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: capitalize;
  letter-spacing: 0.03em;
  text-align: left;
}

.datepicker-title .d_c_picker {
  display: none !important;
}

.datepicker-controls .view-switch {
  font-size: 19px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  text-transform: capitalize !important;
  letter-spacing: 0.01em;
  flex: 1;
  text-align: left;
  padding: 0;
  height: auto;
  order: -1;
  display: flex;
  justify-content: flex-start;
}

.datepicker-controls .prev-button,
.datepicker-controls .next-button {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px;
  border-radius: 50% !important;
  border: none !important;
  background: #b40900 !important;
  box-shadow: none !important;
  flex: 0 0 30px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.15s, transform 0.1s;
  font-size: 0 !important;
  color: #ffffff !important;
  position: relative;
}

.datepicker-controls .prev-button:hover,
.datepicker-controls .next-button:hover {
  background: #e13127 !important;
}

.datepicker-controls .prev-button:active,
.datepicker-controls .next-button:active {
  transform: scale(0.93);
}

.datepicker-controls .prev-button::after,
.datepicker-controls .next-button::after {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  border-right: 1.75px solid #ffffff;
  border-top: 1.75px solid #ffffff;
}

.datepicker-controls .prev-button::after {
  transform: rotate(-135deg) translateX(-1px);
}

.datepicker-controls .next-button::after {
  transform: rotate(45deg) translateX(-1px);
}

.datepicker .days-of-week {
  margin-bottom: 6px;
}

.datepicker .dow {
  font-size: 10px !important;
  font-weight: 500 !important;
  color: #000000 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  height: 1.75rem;
}

.datepicker-cell.day {
  height: 2.25rem;
  font-size: 15px;
  color: #1a1a1a;
  font-weight: 400;
  transition: background 0.12s, color 0.12s, transform 0.1s;
}

.datepicker-cell:not(.disabled):not(.today):not(.selected):hover {
  background: #f2f2f2 !important;
  border-radius: 50% !important;
}

.datepicker-cell.prev:not(.disabled),
.datepicker-cell.next:not(.disabled) {
  color: #1a1a1a !important;
  opacity: 0.18;
}

.datepicker-cell.disabled {
  color: #ccc !important;
  opacity: 0.3;
}

.datepicker-grid .datepicker-cell.today:not(.selected) {
  background-color: #1a1a1a !important;
  color: #fff !important;
  font-weight: 500;
  border-radius: 50% !important;
}

.datepicker-grid .datepicker-cell.selected,
.datepicker-grid .datepicker-cell.selected:hover {
  background-color: #b40900 !important;
  color: #fff !important;
  font-weight: 500;
  border-radius: 50% !important;
}

.datepicker-cell.focused:not(.selected) {
  background-color: #f2f2f2 !important;
  border-radius: 50% !important;
}

.datepicker-footer {
  display: none !important;
}

button.button.view-switch {
    display: flex;
    justify-content: flex-start;
    padding: 0;
}

.datepicker-picker {
  /* transform: scale(1.15); */
  transform-origin: top left;
}

/* ========================
   AREA PERSONE / CAMERE
   ======================== */

div.fastreservation .area_input_persone {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 1.25rem !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07), 0 0 0 0.5px rgba(0,0,0,0.05);
}

div.fastreservation .area_input_persone .cont_input_persone {
  gap: 1rem;
  margin-bottom: 1rem;
}

div.fastreservation .area_input_persone .component_fr label.elemfr {
  font-size: 12px;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px;
}

div.fastreservation .area_input_persone select.elemfr {
  width: 100%;
  border: none;
  border-radius: 0;
  font-size: 16px;
  font-weight: 500;
  color: #1a1a1a;
  padding: 4px 0;
  background: transparent;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

div.fastreservation .area_input_persone select.elemfr:focus {
  border-bottom-color: #778763;
}

div.fastreservation .area_input_persone .button.btn.chiudi {
  width: 100%;
  height: 42px !important;
  background: #d90b00 !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background 0.15s;
  border: none !important;
  cursor: pointer;
  display: flex;
  justify-content: center;
}

div.fastreservation .area_input_persone .button.btn.chiudi:hover {
  background: #e13127 !important;
}

div.fastreservation .area_input_persone.elementovisible{
    position: absolute !important;
  z-index: 16 !important;
}

#frHeader div.fastreservation .contenitore-fr {
  z-index: 16;
}

.datepicker-header .datepicker-controls {
    background: transparent !important;
    padding-left: 0 !important;
}

.datepicker-dropdown .datepicker-picker {
    border-radius: 10px;
}

.datepicker-view {
  width: 100% !important;
}

.datepicker-picker {
  width: 320px;
}

/* ========================
   AREA LISTINO / PROMOCODE
   ======================== */

div.fastreservation .area_input_listino {
  display: none !important;
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 1.25rem !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07), 0 0 0 0.5px rgba(0,0,0,0.05);
  position: absolute !important;
  z-index: 16 !important;
}

div.fastreservation .area_input_listino.elementovisible {
  display: block !important;
}

div.fastreservation .area_input_listino .elemfr {
  font-size: 12px;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px;
}

div.fastreservation .area_input_listino .listinoinput {
  width: 100%;
  border: none;
  border-bottom: 1px solid #e0e0e0;
  border-radius: 0;
  font-size: 16px;
  font-weight: 500;
  color: #1a1a1a;
  padding: 4px 0;
  background: transparent;
  outline: none;
  margin-bottom: 1rem;
}

div.fastreservation .area_input_listino .listinoinput:focus {
  border-bottom-color: #778763;
}

div.fastreservation .area_input_listino .button.btn.chiudi {
  width: 100%;
  height: 42px !important;
  background: #d90b00 !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background 0.15s;
  border: none !important;
  cursor: pointer;
  display: flex;
  justify-content: center;
}

div.fastreservation .area_input_listino .button.btn.chiudi:hover {
  background: #e13127 !important;
}

div.fastreservation.stile-custom .listino_fr.component_fr {
  margin-left: 0;
  margin-right: 0;
}


#servizi-3.home .button {
    margin-top: 0;
}

#menu_header .navbar-nav-menu > li {
    align-items: center !important;
}

#dotazioni.affari .col-sm-12 p {
    color: #fff;
}


/* ============ SERVIZI-3  ============ */

#servizi-3.home {
    /* palette 5 stelle */
    --bg-sezione: #14161a;              
    --accento: #c6a35c;                 
    --avorio: #f4efe6;
    counter-reset: svzcard;
    position: relative;
    overflow: hidden;
}
#servizi-3.home[data-nsezione="4"] { counter-reset: svzcard 2; } /* 03, 04 */

#servizi-3.home::after {
    content: "";
    position: absolute;
    width: 65vw; height: 65vw;
    top: -22vw; right: -22vw;
    background: radial-gradient(circle, rgba(198,163,92,.10), transparent 62%);
    filter: blur(50px);
    pointer-events: none;
    z-index: 0;
    animation: svz-drift 26s ease-in-out infinite alternate;
}
@keyframes svz-drift {
    from { transform: translate3d(0,0,0) scale(1); }
    to   { transform: translate3d(-18vw,14vw,0) scale(1.25); }
}

#servizi-3.home .area {
    counter-increment: svzcard;
    position: relative;
    z-index: 1;
}
#servizi-3.home .area::before {
    content: "0" counter(svzcard);
    position: absolute;
    top: -0.42em; left: -0.04em;
    z-index: 3;
    font-family: var(--font-family-2);
    font-style: italic;
    font-size: clamp(4.5rem, 9vw, 9rem);
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px rgba(198,163,92,.45);
    pointer-events: none;
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 1.1s ease .4s, transform 1.1s cubic-bezier(.22,.61,.36,1) .4s;
}
#servizi-3.home .area.svz-in::before { opacity: 1; transform: none; }

#servizi-3.home .colonnaarea > .row:first-child { perspective: 1100px; }

#servizi-3.home .cont_sing {
    position: relative;
    opacity: 0;
    transform: translateY(45px);
    transition: opacity 1s ease, transform 1.3s cubic-bezier(.22,.61,.36,1);
}
#servizi-3.home .area.svz-in .cont_sing { opacity: 1; transform: none; }

#servizi-3.home .cont_sing::after {
    content: "";
    position: absolute;
    inset: 16px -16px -16px 16px;
    border: 1px solid rgba(198,163,92,.35);
    pointer-events: none;
    opacity: 0;
    transition: opacity 1.2s ease .9s, transform .8s cubic-bezier(.22,.61,.36,1);
}
#servizi-3.home .area.svz-in .cont_sing::after { opacity: 1; }
#servizi-3.home .area:hover .cont_sing::after { transform: translate(5px, 5px); }

#servizi-3.home figure {
    clip-path: inset(12% 7% 12% 7%);
    transition: clip-path 1.4s cubic-bezier(.22,.61,.36,1) .15s;
    will-change: clip-path, transform;
}
#servizi-3.home .area.svz-in figure { clip-path: inset(0); }

#servizi-3.home figure img {
    transition: filter 1s ease !important;
    filter: grayscale(.2) saturate(.85) brightness(.96);
    will-change: transform;
}
#servizi-3.home .area:hover figure img { transform: none; filter: none; }

#servizi-3.home .colonnaarea > .row:last-child {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s ease .35s, transform 1.2s cubic-bezier(.22,.61,.36,1) .35s;
}
#servizi-3.home .area.svz-in .colonnaarea > .row:last-child { opacity: 1; transform: none; }

#servizi-3.home .colonnaarea > .row:last-child::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    height: 1px; width: 0;
    background: linear-gradient(90deg, var(--accento), transparent);
    transition: width 1.4s cubic-bezier(.22,.61,.36,1) .7s;
}
#servizi-3.home .area.svz-in .colonnaarea > .row:last-child::before { width: 110px; }

#servizi-3.home .area h3 {
    color: linear-gradient(150deg, var(--blu), #152c4e 75%);
    font-weight: 300;
    letter-spacing: .01em;
    line-height: 1.25em;
    text-transform: uppercase;
    font-size: 1.8rem;
}

#servizi-3.home .area h3 {
    background: linear-gradient(150deg, #1e457a, #152c4e 75%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

#servizi-3.home h3 .svz-w {
    display: inline-block;
    overflow: hidden;
    vertical-align: top;
    margin-right: 0.28em;
}
#servizi-3.home h3 .svz-wi {
    display: inline-block;
    transform: translateY(115%);
    transition: transform 1s cubic-bezier(.22,.61,.36,1);
    transition-delay: var(--d, 0s);
}
#servizi-3.home .area.svz-in h3 .svz-wi { transform: none; }

#servizi-3.home .area a.linkinterno.button {
    background: transparent !important;
    border: 1px solid rgba(198,163,92,.55);
    color: var(--avorio);
    letter-spacing: .3em;
    font-size: .75rem;
    font-weight: 300;
    height: auto;
    padding: 18px 36px;
    display: inline-block;
    will-change: transform;
    transition: background .6s ease, border-color .6s ease, color .6s ease;
}
#servizi-3.home .area a.linkinterno.button:hover {
    background: var(--accento) !important;
    border-color: var(--accento);
    color: #14161a;
}
#servizi-3.home .area a.linkinterno::after { display: none; }

/* accessibilita */
@media (prefers-reduced-motion: reduce) {
    #servizi-3.home::after { animation: none; }
    #servizi-3.home .area::before,
    #servizi-3.home .cont_sing,
    #servizi-3.home .cont_sing::after,
    #servizi-3.home figure,
    #servizi-3.home .colonnaarea > .row:last-child,
    #servizi-3.home h3 .svz-wi {
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
        transition: none !important;
    }
    #servizi-3.home .colonnaarea > .row:last-child::before { width: 110px; transition: none; }
}

/* ============ SERVIZI-3 ============ */

#servizi-3.home {
    --blu: #1e457a;
    --rosso: #d90b00;
    /* riflesso blu che sale dal basso, sul fondo grafite */
    background-image: radial-gradient(70vw 55vw at 8% 100%, rgba(30,69,122,.38), transparent 62%);
}

#servizi-3.home .colonnaarea > .row:last-child {
    background: linear-gradient(150deg, var(--blu), #152c4e 75%);
    padding: clamp(24px, 2.6vw, 42px) clamp(26px, 3vw, 50px)
             clamp(24px, 2.6vw, 38px) clamp(24px, 2.8vw, 42px);
    box-shadow: 0 24px 60px -30px rgba(0,0,0,.55);
    border-radius: 5px;
    background: #fff;
}

#servizi-3.home .area a.linkinterno.button {
    border-color: rgba(217,11,0,.7);
}
#servizi-3.home .area a.linkinterno.button:hover {
    background: var(--rosso) !important;
    border-color: var(--rosso);
    color: #ffffff;
}

#servizi-3.home .area:hover::before {
    -webkit-text-stroke-color: rgba(217,11,0,.5);
}

#servizi-3.home {
    --accento: #d9d9d9;
    background-color: #101318;
    background-image: none;
}

#servizi-3.home::after { display: none; }

#servizi-3.home .area::before {
    -webkit-text-stroke: 1px rgba(255,255,255,.3);
}

#servizi-3.home .cont_sing::after {
    border-color: rgba(255,255,255,.22);
}

#servizi-3.home .colonnaarea > .row:last-child::before {
    background: linear-gradient(90deg, rgba(255,255,255,.85), transparent);
}



#servizi-3.home .svz-linea {
    position: absolute;
    left: auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, #3a404b 15%, #3a404b 85%, transparent);
    z-index: 0;                /* dietro le card, che sono a z-index 1 */
    pointer-events: none;
    will-change: transform, opacity;
}


#servizi-3.home .area::before {
    content: "";
    position: absolute;
    top: -34px;
    left: 3px;
    width: 1px;
    height: 0;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,.4));
    z-index: 3;
    pointer-events: none;
    transition: height 1s cubic-bezier(.22,.61,.36,1) .5s;
}
#servizi-3.home .area.svz-in::before { height: 70px; }

#servizi-3.home .area::after {
    content: "";
    position: absolute;
    top: -42px;
    left: 0;
    width: 7px;
    height: 7px;
    border: 1px solid rgba(255,255,255,.55);
    background: transparent;
    transform: rotate(45deg) scale(0);
    z-index: 3;
    pointer-events: none;
    transition: transform .7s cubic-bezier(.34,1.56,.64,1) 1.1s,
                background .5s ease, border-color .5s ease;
}
#servizi-3.home .area.svz-in::after { transform: rotate(45deg) scale(1); }

#servizi-3.home .area:hover::after {
    background: #d90b00;
    border-color: #d90b00;
}

body[data-tipopag="articolo"] #header a.logosito.logodesktop.centrale.fix {
    top: initial !important;
}

body[data-tipopag="articolo"]  section.col-12 {
    padding-top: 0;
}

.colonnaaside.col-sm-10.offset-sm-1.col-md-3.offset-md-0 {
    padding-top: 0;
}

li.tab {
    font-family: var(--font-family-5);
    background: #d90b00 !important;
    color: #fff !important;
    letter-spacing: 2px;
    padding: 20px !important;
}

body[data-tipopag="articolo"] h3 {
    color: #1e4576;
    font-size: 2rem;
    margin-top: 25px;
    margin-bottom: 10px;
}

body[data-tipopag="articolo"] h1 {
    margin-top: 0;
    margin-bottom: 25px;
}

#sidebar-header li.tab {
    border: none;
}

li.tab.tab-active {
    background: #a30800 !important;
}

#asideblog #sidebar-body .tab-post-titolo {
    font-family: var(--font-family-7);
    text-transform: uppercase;
    text-align: left !important;
}

#asideblog #sidebar-body .tab-post:nth-child(odd) {
    background: #f5f5f5;
}

#asideblog #sidebar-body .tab-post:nth-child(even) {
    background: #ffffff;
}

p.tab-post-data {
    display: none;
}

/* ============ BLOG card articoli  ============ */

section#listaarticoliblog {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(30px, 4vw, 60px);
  padding: clamp(50px, 6vw, 90px) clamp(24px, 6vw, 90px);
}

#listaarticoliblog > div[class*="col-"] {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  float: none;
  padding: 0;
  margin: 0;
  position: relative;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 40px -18px rgba(30, 69, 122, .25);
  transition: transform .5s cubic-bezier(.22,.61,.36,1),
              box-shadow .5s cubic-bezier(.22,.61,.36,1);
}

#listaarticoliblog > div[class*="col-"]:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px -20px rgba(30, 69, 122, .38);
}

#listaarticoliblog .foto-anteprima    { order: 1; }
#listaarticoliblog .titolo-anteprima  { order: 2; }
#listaarticoliblog .testo-anteprima   { order: 3; }
#listaarticoliblog .bottone-anteprima { order: 4; }
#listaarticoliblog .pubblicazione     { order: 0; } /* sovrapposta alla foto */

#listaarticoliblog .foto-anteprima {
  overflow: hidden;
  position: relative;
}

#listaarticoliblog .foto-anteprima::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(20, 30, 45, .35));
  pointer-events: none;
}

#listaarticoliblog .foto-anteprima img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
  transition: transform 1.2s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}

#listaarticoliblog > div[class*="col-"]:hover .foto-anteprima img {
  transform: scale(1.06);
}

#listaarticoliblog .pubblicazione {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(6px);
  color: #1e4576;
  font-family: var(--font-family-5);
  font-size: 0.75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 8px 16px;
  border-radius: 100px;
  margin: 0;
  opacity: 1;
}

#listaarticoliblog .pubblicazione i {
  color: #d90b00;
  margin-right: 5px;
}

#listaarticoliblog .titolo-anteprima {
  margin: 0;
  padding: 28px 30px 0;
}

#listaarticoliblog .titolo-anteprima h3 {
  font-size: 1.35rem;
  line-height: 1.3;
  margin: 0;
  text-align: left;
  color: #1e4576;
  text-transform: none;
  transition: color .4s ease;
  font-family: var(--font-family-7);
}

#listaarticoliblog > div[class*="col-"]:hover .titolo-anteprima h3 {
  color: #d90b00;
}

#listaarticoliblog .testo-anteprima {
  margin: 0;
  padding: 14px 30px 0;
  flex-grow: 1;
}

#listaarticoliblog .testo-anteprima p {
  text-align: left !important;
  font-size: 0.95rem;
  line-height: 1.7;
  padding: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#listaarticoliblog .bottone-anteprima {
  background: none;
  padding: 22px 30px 30px;
  margin: 0;
  width: auto;
  height: auto;
  align-self: flex-start;
}

#listaarticoliblog .bottone-anteprima a {
  background: none;
  width: auto;
  display: inline-flex;
  align-items: center;
}

#listaarticoliblog .bottone-anteprima a p {
  color: #d90b00;
  font-family: var(--font-family-5);
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  margin: 0;
  position: relative;
  padding-right: 34px;
  transition: padding-right .4s cubic-bezier(.22,.61,.36,1);
}

#listaarticoliblog .bottone-anteprima a p::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.1rem;
  transition: right .4s cubic-bezier(.22,.61,.36,1);
  display: none;
}

#listaarticoliblog > div[class*="col-"]:hover .bottone-anteprima a p {
  padding-right: 44px;
}

#listaarticoliblog .bottone-anteprima a p::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  height: 1px;
  width: 0;
  background: #d90b00;
  transition: width .5s cubic-bezier(.22,.61,.36,1);
}

#listaarticoliblog > div[class*="col-"]:hover .bottone-anteprima a p::before {
  width: calc(100% - 34px);
}

/* --- responsive --- */
@media (max-width: 767px) {
  section#listaarticoliblog {
    grid-template-columns: 1fr;
    padding: 50px 20px;
  }
  #listaarticoliblog .foto-anteprima img { height: 240px; }
}

/* ============ ARTICOLO BLOG  ============ */

body[data-tipopag="articolo"] #article {
  padding-top: clamp(100px, 12vh, 140px);
  padding-bottom: clamp(60px, 8vw, 100px);
}

body[data-tipopag="articolo"] .foto-articolo-sezione {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 60px -25px rgba(30, 69, 122, .35);
  margin-bottom: clamp(30px, 4vw, 50px);
}

body[data-tipopag="articolo"] .foto-articolo-sezione img {
  width: 100%;
  display: block;
}

body[data-tipopag="articolo"] .titolo-articolo h1 {
  font-family: var(--font-family-7);
  font-weight: 600;
  font-size: clamp(1.7rem, 3.2vw, 2.6rem);
  line-height: 1.25;
  color: #1e4576;
  text-transform: none;
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 22px;
}

body[data-tipopag="articolo"] .titolo-articolo h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 3px;
  background: #d90b00;
  border-radius: 3px;
}

body[data-tipopag="articolo"] .testo-articolo p {
  text-align: left !important;
  font-size: 1.02rem;
  line-height: 1.85;
  color: #2B354B;
  margin-bottom: 1.4em;
}

body[data-tipopag="articolo"] .testo-articolo h3 {
  font-family: var(--font-family-7);
  font-weight: 600;
  font-size: 1.45rem;
  line-height: 1.3;
  color: #1e4576;
  margin-top: 2.2em;
  margin-bottom: 0.6em;
  padding-left: 15px;
  border-left: 3px solid #d90b00;
}

body[data-tipopag="articolo"] .testo-articolo a:not(:has(img)) {
  color: #d90b00;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .3s ease;
}

body[data-tipopag="articolo"] .testo-articolo a:hover {
  color: #a30800;
}

body[data-tipopag="articolo"] .testo-articolo img {
  border-radius: 12px;
  margin: 1.5em 0;
  box-shadow: 0 16px 40px -20px rgba(30, 69, 122, .3);
}

body[data-tipopag="articolo"] #article .pubblicazione {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(30, 69, 122, .15);
  font-family: var(--font-family-5);
  font-size: 0.8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #1e4576;
  opacity: .7;
}

body[data-tipopag="articolo"] #article .pubblicazione i {
  color: #d90b00;
  margin-right: 6px;
}
body[data-tipopag="articolo"] #article {
  padding-top: 0;
  padding-bottom: clamp(60px, 8vw, 100px);
}

body[data-tipopag="articolo"] .foto-articolo-sezione {
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  margin-bottom: 0;
}

body[data-tipopag="articolo"] .foto-articolo-sezione img {
  width: 100%;
  display: block;
}

body[data-tipopag="articolo"] section.col-12 {
  padding-top: 0;
}

body[data-tipopag="articolo"] .colonnaaside {
  padding-top: 0;
}

#asideblog {
  position: sticky;
  overflow: hidden;
  box-shadow: 0 10px 40px -18px rgba(30, 69, 122, .25);
  background: #fff;
}

/* tab header */
#sidebar-header {
  display: flex;
  margin: 0;
  padding: 0;
}

#sidebar-header li.tab {
  flex: 1;
  text-align: center;
  background: #1e4576 !important;
  padding: 18px 10px !important;
  font-size: 0.78rem;
  letter-spacing: .15em;
  cursor: pointer;
  transition: background .3s ease;
  border: none;
}

#sidebar-header li.tab.tab-active {
  background: #d90b00 !important;
}

#sidebar-header li.tab:hover:not(.tab-active) {
  background: #16345c !important;
}

#asideblog #sidebar-body .tab-post {
  transition: background .3s ease;
}

#asideblog #sidebar-body .tab-post:nth-child(odd)  { background: #f7f9fc; }
#asideblog #sidebar-body .tab-post:nth-child(even) { background: #ffffff; }

#asideblog #sidebar-body .tab-post:hover {
  background: #eef3fa;
}

#asideblog #sidebar-body .tab-post a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
}

#asideblog #sidebar-body .tab-post .tp-img {
  flex: 0 0 80px;
  width: 80px;
  padding: 0;
  border-radius: 10px;
  overflow: hidden;
}

#asideblog #sidebar-body .tab-post .tp-img img {
  width: 80px;
  height: 60px;
  object-fit: cover;
  display: block;
  transition: transform .8s cubic-bezier(.22,.61,.36,1);
}

#asideblog #sidebar-body .tab-post:hover .tp-img img {
  transform: scale(1.08);
}

#asideblog #sidebar-body .tab-post .tp-txt {
  flex: 1;
  padding: 0;
  width: auto;
}

#asideblog #sidebar-body .tab-post-titolo {
  font-family: var(--font-family-7);
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.4;
  color: #1e4576;
  text-transform: none;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .3s ease;
}

#asideblog #sidebar-body .tab-post:hover .tab-post-titolo {
  color: #d90b00;
}

/* --- responsive --- */
@media (max-width: 767px) {
  body[data-tipopag="articolo"] .colonnaaside {
    padding-top: 40px;
  }
  #asideblog {
    position: static;
  }
}


/* ============================================================
   .spa #testo-intro
   ============================================================ */
.spa #testo-intro {
  --ti-titolo: var(--color7);
  --ti-accento: #d90b00;
  --ti-font-titolo: var(--font-family-4);
  --ti-font-testo: var(--font-family-7);
  --ti-misura: 66ch;
  padding-block: clamp(48px, 7vw, 96px);
}

.spa #testo-intro .row.centrale {
  margin-inline: auto;
}

.spa #testo-intro .row.centrale > div {
  width: 100%;
  padding: 0;
  float: none;
}

.spa #testo-intro h2 {
  margin: 0 0 0.6em;
}

.spa #testo-intro h2 strong {
  font-family: var(--ti-font-titolo);
  font-weight: 400;
  font-size: clamp(2rem, 3.6vw, 3.1rem);
  line-height: 1.15;
  color: var(--ti-titolo);
  text-transform: initial;
}

.spa #testo-intro h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  background: var(--ti-accento);
  margin: 1.1em auto 0;
  border-radius: 2px;
}

.spa #testo-intro p {
  font-family: var(--ti-font-testo);
  font-weight: 300;
  font-size: clamp(0.95rem, 1.15vw, 1.08rem);
  line-height: 1.9;
  color: var(--color_txt_base);
  margin: 0 0 2.2em;
  text-align: center;
}

.spa #testo-intro a.button {
  margin-top: 0.5em;
}

@media (max-width: 767px) {
  .spa #testo-intro {
    --ti-misura: 100%;
    padding-inline: 20px;
  }
}

#servizi-3.home.uno {
    padding-top: 0;
}

section#sez-1 {
    padding-top: 100px;
    padding-bottom: 50px;
    height: auto !important;
}



/***************************************************************************/


/* ============================================================
   SERVIZI-3 card 
   ============================================================ */

#servizi-3.home {
  /* --- pannello di controllo --- */
  --blu: #1e4576;
  --rosso: #d90b00;
  --card-bg: #ffffff;
  --card-ombra: 0 10px 40px -18px rgba(30, 69, 122, .25);
  --card-ombra-hover: 0 28px 60px -20px rgba(30, 69, 122, .38);
  --h-foto: clamp(220px, 32vw, 340px);   /* altezza foto card */
  --gap: clamp(30px, 4vw, 60px);
  --pad-card: clamp(22px, 2.5vw, 30px);  /* padding interno card */

  background: none;
  background-color: transparent;
  background-image: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
  align-items: start;
  margin: 0;
  padding: clamp(50px, 6vw, 90px) clamp(20px, 6vw, 90px);
  position: relative;
  overflow: visible;
}

#servizi-3.home::after { display: none; }

#servizi-3.home .area::before,
#servizi-3.home .area::after {
  content: none;
  display: none;
}

#servizi-3.home .cont_sing::after { content: none; display: none; }

#servizi-3.home .area {
  width: auto;
  max-width: none;
  padding: 0;
  float: none;
  background: none;
  position: relative;
  z-index: 1;
}

#servizi-3.home .area:nth-child(2) { margin-top: 0; }

#servizi-3.home .colonnaarea {
  width: 100%;
  padding: 0;
  float: none;
  display: flex;
  flex-direction: column;
  background: var(--card-bg);
  overflow: hidden;
  box-shadow: var(--card-ombra);
  transition: transform .5s cubic-bezier(.22,.61,.36,1),
              box-shadow .5s cubic-bezier(.22,.61,.36,1);
}

#servizi-3.home .area:hover .colonnaarea {
  transform: translateY(-8px);
  box-shadow: var(--card-ombra-hover);
}

#servizi-3.home .colonnaarea > .row { margin: 0; display: block; }

#servizi-3.home .colonnaarea > .row:first-child {
  position: relative;
  overflow: hidden;
}

#servizi-3.home .colonnaarea > .row:first-child::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(20, 30, 45, .35));
  pointer-events: none;
  z-index: 1;
}

#servizi-3.home .cont_sing {
  padding: 0;
  position: relative;
  opacity: 1;
  transform: none;
}

#servizi-3.home figure {
  margin: 0;
  overflow: hidden;
  clip-path: none;
}

#servizi-3.home figure img {
  display: block;
  width: 100%;
  height: var(--h-foto);
  object-fit: cover;
  filter: none;
  will-change: transform;
}

#servizi-3.home .colonnaarea > .row:last-child {
  position: static;
  width: auto;
  max-width: none;
  margin: 0;
  padding: var(--pad-card) var(--pad-card) calc(var(--pad-card) + 8px);
  background: none;
  box-shadow: none;
  border-radius: 0;
  opacity: 1;
  transform: none;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
}

#servizi-3.home .colonnaarea > .row:last-child::before {
  content: none;
  display: none;
}

#servizi-3.home .colonnaarea > .row:last-child > div {
  width: 100%;
  padding: 0;
  float: none;
}

#servizi-3.home .area h3 {
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  color: var(--blu);
  font-family: var(--font-family-7);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  width: 100%;
  margin: 0;
  transition: color .4s ease;
}

#servizi-3.home .area:hover h3 { color: var(--rosso); }

#servizi-3.home h3 .svz-w {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
  margin-right: 0.28em;
}

#servizi-3.home h3 .svz-wi {
  display: inline-block;
  transform: translateY(115%);
  transition: transform 1s cubic-bezier(.22,.61,.36,1);
  transition-delay: var(--d, 0s);
}

#servizi-3.home .area.svz-in h3 .svz-wi { transform: none; }

#servizi-3.home .area a.linkinterno.button {
  background: none !important;
  border: none;
  box-shadow: none;
  animation: none;
  height: auto;
  width: auto;
  margin: 0;
  padding: 0 34px 0 0;
  display: inline-flex;
  align-items: center;
  position: relative;
  color: var(--rosso);
  font-family: var(--font-family-5);
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  will-change: transform;
  transition: padding-right .4s cubic-bezier(.22,.61,.36,1);
}

#servizi-3.home .area:hover a.linkinterno.button {
  background: none !important;
  color: var(--rosso);
  padding-right: 44px;
}

#servizi-3.home .area a.linkinterno.button::after {
  content: "→";
  position: absolute;
  right: 0;
  top: 50%;
  width: auto;
  height: auto;
  background: none;
  transform: translateY(-50%);
  font-size: 1.1rem;
  transition: right .4s cubic-bezier(.22,.61,.36,1);
}

#servizi-3.home .area a.linkinterno.button::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  height: 1px;
  width: 0;
  background: var(--rosso);
  transition: width .5s cubic-bezier(.22,.61,.36,1);
  display: none;
}

#servizi-3.home .area:hover a.linkinterno.button::before {
  width: calc(100% - 34px);
}

#servizi-3.home .svz-linea {
  position: absolute;
  left: auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(30, 69, 122, .18) 15%, rgba(30, 69, 122, .18) 85%, transparent);
  z-index: 0;
  pointer-events: none;
  will-change: transform, opacity;
}


@media (min-width: 768px) {
  #servizi-3.home {
    grid-template-columns: 1fr 1fr;
  }
}

/* --- accessibilita --- */
@media (prefers-reduced-motion: reduce) {
  #servizi-3.home h3 .svz-wi {
    transform: none !important;
    transition: none !important;
  }
  #servizi-3.home .colonnaarea,
  #servizi-3.home .area a.linkinterno.button {
    transition: none !important;
  }
}

/* ============================================================
   SERVIZI-3.distanza-1
   ============================================================ */

#servizi-3.distanza-1 {
  --blu: #1e4576;
  --blu-scuro: #16345c;
  --rosso: #d90b00;
  --lato-foto: clamp(280px, 78vw, 420px);   /* lato del quadrato (mobile) */
  --gap: clamp(36px, 5vw, 80px);
  --ombra-foto: 0 28px 60px -25px rgba(0, 0, 0, .5);

  background: linear-gradient(150deg, var(--blu), var(--blu-scuro) 80%);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
  align-items: center;
  margin: 0;
  padding: clamp(60px, 8vw, 110px) clamp(20px, 6vw, 90px);
  position: relative;
  overflow: hidden;
}

#servizi-3.distanza-1 .area {
  width: auto;
  max-width: none;
  padding: 0;
  float: none;
  background: none;
}

#servizi-3.distanza-1 .colonnaarea {
  width: 100%;
  padding: 0;
  float: none;
}

#servizi-3.distanza-1 .colonnaarea > .row { margin: 0; }

#servizi-3.distanza-1 .cont_sing {
  padding: 0;
  position: relative;
  width: var(--lato-foto);
  margin-inline: auto;
}

#servizi-3.distanza-1 figure {
  margin: 0;
  width: var(--lato-foto);
  height: var(--lato-foto);
  overflow: hidden;
  box-shadow: var(--ombra-foto);
}

#servizi-3.distanza-1 figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1.2s cubic-bezier(.22,.61,.36,1);
}

#servizi-3.distanza-1 .area:hover figure img { transform: scale(1.05); }

#servizi-3.distanza-1 .cont_sing::after {
  content: "";
  position: absolute;
  inset: 16px -16px -16px 16px;
  border: 1px solid rgba(255, 255, 255, .3);
  pointer-events: none;
  transition: transform .8s cubic-bezier(.22,.61,.36,1);
}

#servizi-3.distanza-1 .area:hover .cont_sing::after {
  transform: translate(5px, 5px);
}

#servizi-3.distanza-1 .row.centrale {
  display: grid;
  gap: 22px;
}

#servizi-3.distanza-1 .row.centrale > div {
  width: 100%;
  padding: 0;
  float: none;
}

#servizi-3.distanza-1 h3 {
  color: #ffffff;
  font-family: var(--font-family-1);
  font-size: clamp(2rem, 2.4vw, 2rem);
  font-weight: 300;
  line-height: 1.25;
  text-align: left;
  width: 100%;
  margin: 0;
  position: relative;
  padding-bottom: 22px;
}

#servizi-3.distanza-1 h3 strong {
  font-size: clamp(3rem, 4.5vw, 3.4rem);
  font-weight: 400;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 8px;
}

#servizi-3.distanza-1 h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 3px;
  background: var(--rosso);
  border-radius: 3px;
}

#servizi-3.distanza-1 p {
  float: none;
  width: 100%;
  margin: 0;
  color: rgba(255, 255, 255, .88);
  font-family: var(--font-family-7);
  line-height: 1.8;
  text-align: left !important;
}

#servizi-3.distanza-1 .button,
#servizi-3.distanza-1 a.linkinterno.button {
  margin: 8px 0 0;
  height: auto;
  padding: 20px 42px;
  background: var(--rosso) !important;
  color: #ffffff;
  font-family: var(--font-family-5);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: .2em;
  text-transform: uppercase;
  border: 1px solid var(--rosso);
  display: inline-block;
  transition: background .5s ease, border-color .5s ease, transform .5s cubic-bezier(.22,.61,.36,1);
}

#servizi-3.distanza-1 .button:hover,
#servizi-3.distanza-1 a.linkinterno.button:hover {
  background: #a30800 !important;
  border-color: #a30800;
  color: #ffffff;
  transform: translateY(-3px);
}

/* --- da tablet in su: foto a sinistra, testo a destra --- */
@media (min-width: 768px) {
  #servizi-3.distanza-1 {
    --lato-foto: clamp(320px, 36vw, 520px);
    grid-template-columns: var(--lato-foto) 1fr;
  }

  #servizi-3.distanza-1 .cont_sing {
    margin-inline: 0;
  }
}

/* --- accessibilita --- */
@media (prefers-reduced-motion: reduce) {
  #servizi-3.distanza-1 figure img,
  #servizi-3.distanza-1 .cont_sing::after,
  #servizi-3.distanza-1 .button {
    transition: none !important;
  }
}

/* ============================================================
   SERVIZI 
   ============================================================ */

#servizi {
  /* --- pannello di controllo --- */
  --blu: #1e4576;
  --rosso: #d90b00;
  --fondo: #f7f9fc;
  --lato-foto: clamp(280px, 78vw, 420px);
  --gap: clamp(36px, 5vw, 80px);
  --ombra-foto: 0 28px 60px -25px rgba(30, 69, 122, .35);

  background-color: var(--fondo);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
  align-items: center;
  margin: 0 !important;
  padding: clamp(60px, 8vw, 110px) clamp(20px, 6vw, 90px);
  position: relative;
  overflow: hidden;
}

#servizi .cbck_15 { display: none; }

#servizi .area {
  width: auto;
  max-width: none;
  padding: 0;
  float: none;
  background: none;
}

#servizi .colonnaarea {
  width: 100%;
  padding: 0;
  float: none;
}

#servizi .colonnaarea > .row { margin: 0; }

/* --- TESTO --- */
#servizi .row.centrale {
  display: grid;
  gap: 22px;
  justify-items: start;
}

#servizi .row.centrale > div {
  width: 100%;
  padding: 0;
  float: none;
}

#servizi h3 {
  color: var(--rosso);
  font-family: var(--font-family-1);
  font-size: clamp(2rem, 2.4vw, 2rem);
  font-weight: 300;
  line-height: 1.25;
  text-align: left;
  width: 100%;
  margin: 0;
  position: relative;
  padding-bottom: 22px;
}

#servizi h3 strong {
  font-size: clamp(3rem, 4.5vw, 3.4rem);
  font-weight: 400;
  color: var(--blu);
  line-height: 1.05;
  margin-bottom: 8px;
}

#servizi h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 3px;
  background: var(--rosso);
  border-radius: 3px;
}

#servizi p {
  float: none;
  width: 100%;
  margin: 0;
  color: var(--color2);
  font-family: var(--font-family-7);
  /* font-size: 1rem; */
  line-height: 1.8;
  text-align: left !important;
}

#servizi .button,
#servizi a.linkinterno.button {
  margin: 8px 0 0 !important;               
  height: auto;
  padding: 20px 42px;
  background: var(--rosso) !important;
  color: #ffffff;
  font-family: var(--font-family-5);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: .2em;
  text-transform: uppercase;
  border: 1px solid var(--rosso);
  border-radius: 0;
  display: inline-block;
  transition: background .5s ease, border-color .5s ease, transform .5s cubic-bezier(.22,.61,.36,1);
}

#servizi .button:hover,
#servizi a.linkinterno.button:hover {
  background: #a30800 !important;
  border-color: #a30800;
  color: #ffffff;
  transform: translateY(-3px);
}

#servizi a.linkinterno.button::before { display: none; }

#servizi .cont_sing {
  padding: 0;
  position: relative;
  width: var(--lato-foto);
  margin-inline: auto;
}

#servizi figure {
  margin: 0;
  width: var(--lato-foto);
  height: var(--lato-foto);
  overflow: hidden;
  box-shadow: var(--ombra-foto);
}

#servizi figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1.2s cubic-bezier(.22,.61,.36,1);
}

#servizi .area:hover figure img { transform: scale(1.05); }

#servizi .cont_sing::after {
  content: "";
  position: absolute;
  inset: 16px 16px -16px -16px;
  border: 1px solid rgba(30, 69, 122, .3);
  pointer-events: none;
  transition: transform .8s cubic-bezier(.22,.61,.36,1);
}

#servizi .area:hover .cont_sing::after {
  transform: translate(-5px, 5px);
}

@media (min-width: 768px) {
  #servizi {
    --lato-foto: clamp(320px, 36vw, 520px);
    grid-template-columns: 1fr var(--lato-foto);
  }

  #servizi .cont_sing {
    margin-inline: 0;
    margin-left: auto;
  }
}

/* --- accessibilita --- */
@media (prefers-reduced-motion: reduce) {
  #servizi figure img,
  #servizi .cont_sing::after,
  #servizi .button {
    transition: none !important;
  }
}

/* ============================================================
   SERVIZI-3.home.due 
   ============================================================ */

#servizi-3.home.due {
  --fondo-a: #1e4576;
  --fondo-b: #16345c;
  --h-foto: clamp(190px, 22vw, 250px);
  --gap: clamp(24px, 3vw, 44px);
  --card-ombra: 0 14px 40px -18px rgba(0, 0, 0, .5);
  --card-ombra-hover: 0 30px 60px -20px rgba(0, 0, 0, .65);
  background: linear-gradient(150deg, var(--fondo-a), var(--fondo-b) 80%);
}

#servizi-3.home.due .svz-linea {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .25) 15%, rgba(255, 255, 255, .25) 85%, transparent);
}

#servizi-3.home.due .area h3 {
  font-size: clamp(1.35rem, 1.8vw, 1.6rem);
}

@media (min-width: 768px) and (max-width: 991px) {
  #servizi-3.home.due .area:last-child {
    grid-column: 1 / -1;
  }
  #servizi-3.home.due .area:last-child figure img {
    height: clamp(220px, 30vw, 300px);
  }
}

@media (min-width: 992px) {
  #servizi-3.home.due {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ============================================================
   INDEX-CAMERE
   ============================================================ */

body.index-camere {
  /* --- pannello di controllo --- */
  --blu: #1e4576;
  --rosso: #d90b00;
  --card-bg: #ffffff;
  --card-ombra: 0 10px 40px -18px rgba(30, 69, 122, .25);
  --card-ombra-hover: 0 28px 60px -20px rgba(30, 69, 122, .38);
  --h-foto: clamp(220px, 30vw, 320px);
  --gap-card: clamp(30px, 4vw, 60px);
  --pad-card: clamp(22px, 2.5vw, 30px);
}

/* ------------------------------------------------------------
   INTRO  #testo-intro
   ------------------------------------------------------------ */
body.index-camere #testo-intro .row.centrale {
  display: grid;
  gap: 24px;
  justify-items: center;
  text-align: center;
  padding-inline: clamp(20px, 6vw, 90px);
}

body.index-camere #testo-intro .row.centrale > div {
  width: 100%;
  padding: 0;
  float: none;
}

body.index-camere #testo-intro h2 {
  color: var(--rosso);
  font-family: var(--font-family-1);
  font-size: clamp(2rem, 2.4vw, 2rem);
  font-weight: 300;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  position: relative;
  padding-bottom: 24px;
}

body.index-camere #testo-intro h2 strong {
  font-size: clamp(3rem, 4.5vw, 3.4rem);
  font-weight: 400;
  color: var(--blu);
  line-height: 1.1;
  margin-bottom: 8px;
}

body.index-camere #testo-intro h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: var(--rosso);
  border-radius: 3px;
}

body.index-camere #testo-intro p {
  max-width: 70ch;
  margin: 0;
  color: var(--color2);
  font-family: var(--font-family-7);
  font-size: 1rem;
  line-height: 1.8;
  text-align: center !important;
}

/* ------------------------------------------------------------
   LISTA CAMERE  griglia
   ------------------------------------------------------------ */
body.index-camere section.listaelementi {
  margin: 0;
  padding: clamp(40px, 5vw, 70px) 0 clamp(60px, 8vw, 100px);
  padding-top: 0;
}

body.index-camere .colonnaraccolta {
  float: none;
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 40px);
}

body.index-camere #listacamere {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap-card);
  align-items: stretch;
  margin: 0;
  height: auto;
}

#listacamere .ant-camera:last-child .bottone-anteprima {
  margin-top: 0;
}

/* ------------------------------------------------------------
   CARD CAMERA  identica alle card blog
   ------------------------------------------------------------ */
body.index-camere .ant-camera {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  float: none;
  padding: 0;
  margin: 0;
  position: relative;
  background: var(--card-bg);
  overflow: hidden;
  border-bottom: none;
  box-shadow: var(--card-ombra);
  transition: transform .5s cubic-bezier(.22,.61,.36,1),
              box-shadow .5s cubic-bezier(.22,.61,.36,1);
}

body.index-camere .ant-camera:hover {
  transform: translateY(-8px);
  box-shadow: var(--card-ombra-hover);
}

body.index-camere .ant-camera .foto-anteprima    { order: 1; }
body.index-camere .ant-camera .titolo-anteprima  { order: 2; }
body.index-camere .ant-camera .testo-anteprima   { order: 3; }
body.index-camere .ant-camera .bottone-anteprima { order: 4; }

body.index-camere .foto-anteprima {
  overflow: hidden;
  position: relative;
}

body.index-camere .foto-anteprima::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(20, 30, 45, .35));
  pointer-events: none;
}

body.index-camere .foto-anteprima img {
  width: 100%;
  height: var(--h-foto);
  object-fit: cover;
  display: block;
  transition: transform 1.2s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}

body.index-camere .ant-camera:hover .foto-anteprima img {
  transform: scale(1.06);
}

body.index-camere .titolo-anteprima {
  margin: 0;
  padding: calc(var(--pad-card) + 6px) var(--pad-card) 0;
}

body.index-camere .titolo-anteprima h3 {
  font-family: var(--font-family-7);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 500;
  line-height: 1.3;
  margin: 0;
  text-align: left;
  color: var(--blu);
  text-transform: none;
  transition: color .4s ease;
}

body.index-camere .ant-camera:hover .titolo-anteprima h3 {
  color: var(--rosso);
}

body.index-camere .testo-anteprima {
  margin: 0;
  padding: 14px var(--pad-card) 0;
  flex-grow: 1;
}

body.index-camere .testo-anteprima p {
  text-align: left !important;
  font-family: var(--font-family-7);
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--color_txt_base);
  padding: 0;
  margin: 0;
}

body.index-camere .bottone-anteprima {
  background: none;
  padding: 22px var(--pad-card) calc(var(--pad-card) + 8px);
  margin: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  align-self: flex-start;
}

body.index-camere .bottone-anteprima a {
  background: none;
  width: auto;
  display: inline-flex;
  align-items: center;
}

body.index-camere .bottone-anteprima a p {
  color: var(--rosso);
  font-family: var(--font-family-5);
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-align: left !important;
  margin: 0;
  position: relative;
  padding: 0 34px 0 0;
  transition: padding-right .4s cubic-bezier(.22,.61,.36,1);
}

body.index-camere .bottone-anteprima a p::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.1rem;
  transition: right .4s cubic-bezier(.22,.61,.36,1);
  display: none;
}

body.index-camere .ant-camera:hover .bottone-anteprima a p {
  padding-right: 44px;
}

body.index-camere .bottone-anteprima a p::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  height: 1px;
  width: 0;
  background: var(--rosso);
  transition: width .5s cubic-bezier(.22,.61,.36,1);
}

body.index-camere .ant-camera:hover .bottone-anteprima a p::before {
  width: calc(100% - 34px);
}

@media (min-width: 768px) {
  body.index-camere #listacamere {
    grid-template-columns: 1fr 1fr;
    padding-top: 0;
  }

  body.index-camere .ant-camera:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    flex-direction: row;
  }

  body.index-camere .ant-camera:last-child:nth-child(odd) .foto-anteprima {
    flex: 0 0 50%;
  }

  body.index-camere .ant-camera:last-child:nth-child(odd) .foto-anteprima img {
    height: 100%;
    min-height: 320px;
  }

  body.index-camere .ant-camera:last-child:nth-child(odd) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto 1fr;
  }

  body.index-camere .ant-camera:last-child:nth-child(odd) .foto-anteprima {
    grid-column: 1;
    grid-row: 1 / -1;
  }

  body.index-camere .ant-camera:last-child:nth-child(odd) .titolo-anteprima,
  body.index-camere .ant-camera:last-child:nth-child(odd) .testo-anteprima,
  body.index-camere .ant-camera:last-child:nth-child(odd) .bottone-anteprima {
    grid-column: 2;
  }
}

/* --- accessibilita --- */
@media (prefers-reduced-motion: reduce) {
  body.index-camere .ant-camera,
  body.index-camere .foto-anteprima img,
  body.index-camere .bottone-anteprima a p,
  body.index-camere .bottone-anteprima a p::before,
  body.index-camere .bottone-anteprima a p::after {
    transition: none !important;
  }
}

/* ==========================================================
   PAGINA CAMERA  sezione presentazione (#servizi)
   ========================================================== */
#camera {
  --lato-foto: clamp(300px, 34vw, 520px);  /* lato del carousel quadrato: comanda tutto */
  --cam-gap: clamp(30px, 4vw, 70px);
  --cam-bordo: 1px solid var(--color4);
  --cam-passepartout: 10px;
  --cam-eyebrow-linea: 34px;
  --cam-zoom: 1.06;
}

#camera #servizi {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--lato-foto);
  gap: var(--cam-gap);
  align-items: start;
}

#camera #servizi > .area {
  float: none;
  width: auto;
  max-width: none;
  min-width: 0;
}

#camera #servizi .cbck_106 {
  position: absolute;
  inset: 0;
  z-index: -1;
}

#camera #servizi > .area:last-of-type .colonnaarea,
#camera #servizi > .area:last-of-type .row {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

#camera #servizi .owl-carousel {
  width: var(--lato-foto);
  max-width: 100%;
  overflow: hidden;
}


#camera #servizi .owl-carousel .item figure {
  margin: 0;
  background: var(--color1);
  border: var(--cam-bordo);
  padding: var(--cam-passepartout);
}

#camera #servizi .owl-carousel .item picture {
  display: block;
  overflow: hidden;
  width: calc(var(--lato-foto) - 2 * var(--cam-passepartout) - 2px);
  height: calc(var(--lato-foto) - 2 * var(--cam-passepartout) - 2px);
}

#camera #servizi .owl-carousel .item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

#camera #servizi .owl-carousel .item:hover img {
  transform: scale(var(--cam-zoom));
}

#camera #servizi h3 {
  display: flex;
  flex-direction: column;
  margin-bottom: .8em;
}

#camera #servizi h3 br { display: none; }

#camera #servizi h3 em {
  order: -1;
  display: flex;
  align-items: center;
  gap: .6em;
  color: var(--color5);
}

#camera #servizi h3 em::before {
  content: "";
  flex: 0 0 var(--cam-eyebrow-linea);
  height: 1px;
  background: var(--color5);
}

#camera #servizi h3 strong {
  color: var(--color7);
  line-height: 1.15;
}

#camera #servizi p {
  line-height: 1.85;
}

#camera #servizi .owl-dots {
  text-align: center;
  margin-top: 12px;
}

#camera #servizi .owl-dot span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color4);
}

#camera #servizi .owl-dot.active span {
  background: var(--color7);
}

@media (max-width: 992px) {
  #camera {
    --lato-foto: min(86vw, 480px);
  }
  #camera #servizi {
    grid-template-columns: 1fr;
  }
  #camera #servizi .owl-carousel {
    margin-inline: auto;
  }
  #camera #servizi p { max-width: none; }
}


/* ==========================================================
   PAGINA CAMERA
   ========================================================== */
#camera {
  --cam-eff-durata: .8s;
  --cam-eff-ease: cubic-bezier(.22, .61, .36, 1);
}

#camera #servizi h3 em::before {
  transform: scaleX(0);
  transform-origin: left center;
  animation: cam-linea .9s var(--cam-eff-ease) .5s forwards;
}

@keyframes cam-linea {
  to { transform: scaleX(1); }
}


#camera #servizi .owl-carousel {
  position: relative;
  overflow: visible;
}

#camera #servizi .owl-carousel::before {
  content: "";
  position: absolute;
  top: -9px;
  right: -9px;
  width: 64px;
  height: 64px;
  border-top: 2px solid var(--color7);
  border-right: 2px solid var(--color7);
  clip-path: inset(0 0 100% 100%);
  animation: cam-squadra 1s var(--cam-eff-ease) .8s forwards;
  pointer-events: none;
}

@keyframes cam-squadra {
  to { clip-path: inset(0 0 0 0); }
}

#camera #servizi .owl-carousel .owl-stage-outer {
  overflow: hidden;
}

#camera #servizi .owl-item img {
  transform: scale(1);
  transition: transform 6s linear;
}

#camera #servizi .owl-item.active img {
  transform: scale(1.05);
}

#camera #servizi .owl-carousel .item:hover img {
  transform: scale(var(--cam-zoom));
  transition: transform .6s ease;
}

/* --- accessibilit --- */
@media (prefers-reduced-motion: reduce) {
  #camera #servizi h3 em::before,
  #camera #servizi .owl-carousel::before {
    animation: none;
    transform: none;
    clip-path: none;
  }
  #camera #servizi .owl-item img,
  #camera #servizi .owl-item.active img {
    transform: none;
    transition: none;
  }
}

/* ==========================================================
   PAGINA CAMERA  galleria 
   ========================================================== */
#camera {
  --cam-gap-gallery: 14px;   /* gap griglia foto */
}

#camera #foto-home h3 {
  text-align: center;
  color: var(--color7);
  margin-bottom: 1.2em;
  font-size: clamp(3rem, 4.5vw, 3.4rem);
}

#camera #foto-home .galleriapres {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--cam-gap-gallery);
}

#camera #foto-home .galleriapres > [class*="col-"] {
  float: none;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}

#camera #foto-home .foto-gallery {
  display: block;
  position: relative;
  background: var(--color1);
  border: var(--cam-bordo);
  padding: var(--cam-passepartout);
  height: 100%;
}

#camera #foto-home .foto-gallery figure {
  margin: 0;
  overflow: hidden;
  height: 100%;
}

#camera #foto-home .foto-gallery picture {
  display: block;
  height: 100%;
}

#camera #foto-home .foto-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

#camera #foto-home .foto-gallery:hover img {
  transform: scale(var(--cam-zoom));
}

#camera #foto-home .foto-gallery:hover .mask-gallery {
  opacity: 1;
}

#camera #foto-home .row.ao_center:last-child {
  margin-top: clamp(20px, 3vw, 40px);
}

@media (max-width: 992px) {
  #camera #foto-home .galleriapres {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  #camera {
    --cam-gap-gallery: 10px;
  }
  #camera #foto-home .galleriapres {
    grid-template-columns: 1fr;
  }
}
/* ==========================================================
   PAGINA CAMERA  dotazioni (#dotazioni)  icone in cerchio
   ========================================================== */
#camera {
  --dot-cerchio: 74px;
  --dot-icona: 30px;
  --dot-gap-testo: 8px;
  --dot-gap-v: clamp(24px, 3vw, 40px);
  --dot-gap-h: clamp(16px, 2vw, 30px);
  --dot-col-max: 900px;
  --dot-ombra: 0 10px 30px -14px rgba(30, 69, 122, .35);
}

#camera #dotazioni {
  padding-top: clamp(40px, 6vw, 80px);
  padding-bottom: clamp(40px, 6vw, 80px);
}

#camera #dotazioni .cbck_109 {
  background-color: var(--color_bg) !important;
}

#camera #dotazioni [class^="cbck_"] {
  background-color: var(--color_bg) !important;
}

#camera #dotazioni h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .8em;
  color: var(--color7);
  margin-bottom: .9em;
  font-size: clamp(3rem, 4.5vw, 3.4rem);
}

#camera #dotazioni h3::before,
#camera #dotazioni h3::after {
  content: "";
  flex: 0 0 44px;
  height: 1px;
  background: var(--color4);
}

#camera #dotazioni p {
  margin: 0 auto 2.2em;
  text-align: center !important;
}

#camera #dotazioni .dotazioni-lista {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: var(--dot-col-max);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--dot-gap-v) var(--dot-gap-h);
  align-items: start;
}

#camera #dotazioni .dotazioni-lista li {
  font-family: var(--font-family-7);
  font-size: 0.92rem;
  font-weight: 300;
  color: var(--color2);
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--dot-gap-testo);
  text-align: center;
}

#camera #dotazioni .dotazioni-lista li img {
  box-sizing: content-box;
  width: var(--dot-icona);
  height: var(--dot-icona);
  padding: calc((var(--dot-cerchio) - var(--dot-icona)) / 2);
  background: var(--color1);
  border-radius: 50%;
  box-shadow: var(--dot-ombra);
  transform: none;
}

@media (max-width: 992px) {
  #camera #dotazioni .dotazioni-lista {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 576px) {
  #camera {
    --dot-cerchio: 62px;
    --dot-icona: 26px;
  }
  #camera #dotazioni .dotazioni-lista {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    max-width: 340px;
  }
}

/* ------------------------------------------------------------
   .servizi  INTRO #testo-intro
   ------------------------------------------------------------ */
.servizi {
  --blu: #1e4576;
  --rosso: #d90b00;
}

.servizi #testo-intro .row.centrale {
  display: grid;
  gap: 24px;
  justify-items: center;
  text-align: center;
  padding-inline: clamp(20px, 6vw, 90px);
}

.servizi #testo-intro .row.centrale > div {
  width: 100%;
  padding: 0;
  float: none;
}

.servizi #testo-intro h2 {
  color: var(--rosso);
  font-family: var(--font-family-1);
  font-size: clamp(2rem, 2.4vw, 2rem);
  font-weight: 300;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  position: relative;
  padding-bottom: 24px;
}

.servizi #testo-intro h2 strong {
  font-size: clamp(3rem, 4.5vw, 3.4rem);
  font-weight: 400;
  color: var(--blu);
  line-height: 1.1;
  margin-bottom: 8px;
  font-family: var(--font-family-1);
}

.servizi #testo-intro h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: var(--rosso);
  border-radius: 3px;
}

.servizi #testo-intro p {
  max-width: 70ch;
  margin: 0;
  color: var(--color2);
  font-family: var(--font-family-7);
  font-size: 1rem;
  line-height: 1.8;
  text-align: center !important;
}

/* ------------------------------------------------------------
   .servizi  #blocco1
   ------------------------------------------------------------ */

.servizi #blocco1 .cbck_51 {
  background-color: var(--blu) !important;
}

.servizi #blocco1 .area:first-of-type .row.centrale {
  padding-block: clamp(40px, 6vw, 80px);
  padding-inline: clamp(28px, 6vw, 110px);
  text-align: left;
}

.servizi #blocco1 h3 {
  color: #ffffff;
  font-family: var(--font-family-1);
  font-size: clamp(3rem, 4.5vw, 3.4rem);
  font-weight: 400;
  line-height: 1.1;
  margin: 0 0 18px;
  position: relative;
  padding-bottom: 24px;
  text-align: left;
}

.servizi #blocco1 h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 3px;
  background: var(--rosso);
  border-radius: 3px;
}

.servizi #blocco1 p {
  max-width: 58ch;
  margin: 0;
  color: rgba(255, 255, 255, .92);
  font-family: var(--font-family-7);
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.85;
  text-align: left !important;   /* via il giustificato del tema */
  word-spacing: normal;
}

.servizi #blocco1 .foto-gallery figure {
  margin: 0;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 18px 45px -18px rgba(0, 0, 0, .45);
}

.servizi #blocco1 .foto-gallery img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .8s cubic-bezier(.22, .61, .36, 1);
}

.servizi #blocco1 .foto-gallery:hover img {
  transform: scale(1.05);
}

.servizi #wrappagina #contenitorepagina #blocco1 .row.centrale p {
  text-align: left !important;
  text-align-last: left !important;
  word-spacing: normal !important;
  max-width: 58ch;
  margin: 0;
  color: rgba(255, 255, 255, .92);
  font-family: var(--font-family-7);
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.85;
}

.servizi #wrappagina #contenitorepagina #blocco1 h3 {
  padding-left: clamp(28px, 5vw, 90px);
  padding-right: 30px;
}

.servizi #wrappagina #contenitorepagina #blocco1 .row.centrale p {
  padding-left: clamp(28px, 5vw, 90px);
  padding-right: 30px;
}

.servizi #blocco1 h3::after {
  left: clamp(28px, 5vw, 90px);
}

/* ------------------------------------------------------------
   .servizi  #blocco2
   ------------------------------------------------------------ */

.servizi #blocco2 .cbck_52 {
  background-color: var(--blu) !important;
}

.servizi #blocco2 h3 {
  color: #ffffff;
  font-family: var(--font-family-1);
  font-size: clamp(3rem, 4.5vw, 3.4rem);
  font-weight: 400;
  line-height: 1.1;
  position: relative;
  padding-bottom: 24px;
  text-align: left;
}

.servizi #blocco2 h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 3px;
  background: var(--rosso);
  border-radius: 3px;
}

.servizi #wrappagina #contenitorepagina #blocco2 .row.centrale p {
  text-align: left !important;
  text-align-last: left !important;
  word-spacing: normal !important;
  max-width: 58ch;
  color: rgba(255, 255, 255, .92);
  font-family: var(--font-family-7);
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.85;
}

.servizi #blocco2 .foto-gallery figure {
  margin: 0;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 18px 45px -18px rgba(0, 0, 0, .45);
}

.servizi #blocco2 .foto-gallery img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .8s cubic-bezier(.22, .61, .36, 1);
}

.servizi #blocco2 .foto-gallery:hover img {
  transform: scale(1.05);
}

/* ------------------------------------------------------------
   .meeting  INTRO #testo-intro
   ------------------------------------------------------------ */
.meeting {
  --blu: #1e4576;
  --rosso: #d90b00;
}

.meeting #testo-intro .row.centrale {
  display: grid;
  gap: 24px;
  justify-items: center;
  text-align: center;
}

.meeting #testo-intro .row.centrale > div {
  width: 100%;
  padding: 0;
  float: none;
}

.meeting #testo-intro h2 {
  color: var(--rosso);
  font-family: var(--font-family-1);
  font-size: clamp(2rem, 2.4vw, 2rem);
  font-weight: 300;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  position: relative;
  padding-bottom: 24px;
}

.meeting #testo-intro h2 strong {
  font-size: clamp(3rem, 4.5vw, 3.4rem);
  font-weight: 400;
  color: var(--blu);
  line-height: 1.1;
  margin-bottom: 8px;
  font-family: var(--font-family-1);
}

.meeting #testo-intro h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: var(--rosso);
  border-radius: 3px;
}

.meeting #testo-intro p {
  margin: 0;
  color: var(--color2);
  font-family: var(--font-family-7);
  font-size: 1rem;
  line-height: 1.8;
  text-align: center !important;
}

/* ------------------------------------------------------------
   .meeting  GALLERIA #foto-home 
   ------------------------------------------------------------ */

.meeting #foto-home {
  padding-top: clamp(40px, 5vw, 70px);
  padding-bottom: clamp(50px, 6vw, 90px);
}

.meeting #foto-home .colonnaarea > .row + .row {
  margin-top: 10px;
}

.meeting #foto-home .foto-gallery {
  display: block;
  position: relative;
}

.meeting #foto-home .foto-gallery figure {
  margin: 0;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 14px 40px -18px rgba(30, 69, 122, .3);
}

.meeting #foto-home .foto-gallery img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .8s cubic-bezier(.22, .61, .36, 1);
}

.meeting #foto-home .foto-gallery:hover img {
  transform: scale(1.05);
}

.meeting #foto-home .mask-gallery {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: rgba(30, 69, 122, .45);
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}

.meeting #foto-home .foto-gallery:hover .mask-gallery {
  opacity: 1;
}

.meeting #foto-home .mask-gallery .material-symbols-rounded {
  color: #ffffff;
  font-size: 2.2rem !important;
}

@media (max-width: 767px) {
  .meeting #foto-home .foto-gallery figure {
    margin-bottom: 14px;
  }
}

/* ------------------------------------------------------------
   .dintorni  pannello di controllo
   ------------------------------------------------------------ */
.dintorni {
  --blu: #1e4576;
  --rosso: #d90b00;
}

/* ------------------------------------------------------------
   BANNER CATEGORIA  #sez-8 e #sez8
   ------------------------------------------------------------ */
.dintorni #sez-8 h3,
.dintorni #sez8 h3 {
  color: #ffffff;
  font-family: var(--font-family-1);
  font-size: clamp(2.2rem, 4.5vw, 3.6rem);
  font-weight: 400;
  line-height: 1.1;
  text-align: center;
  margin: 0;
  position: relative;
  padding-bottom: 24px;
}

.dintorni #sez-8 h3::after,
.dintorni #sez8 h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: var(--rosso);
  border-radius: 3px;
}

.dintorni #sez8::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .5);
  pointer-events: none;
}
.dintorni #sez8 .area {
  position: relative;
  z-index: 1;
}

/* ------------------------------------------------------------
   SCHEDE  #sez44
   ------------------------------------------------------------ */
.dintorni #sez44 {
  padding: clamp(50px, 7vw, 90px) clamp(20px, 4vw, 60px);
}

.dintorni #sez44 .row > div {
  margin-bottom: clamp(24px, 3vw, 40px);
}

.dintorni #sez44 h3 {
  color: var(--blu);
  font-family: var(--font-family-1);
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  padding-bottom: 18px;
  margin-bottom: 16px;
}

.dintorni #sez44 h3::after {
  content: "";
  position: absolute;
  left: 40px;
  bottom: 0;
  width: 56px;
  height: 3px;
  background: var(--rosso);
  border-radius: 3px;
}

.dintorni #wrappagina #contenitorepagina #sez44 p {
  text-align: left !important;
  text-align-last: left !important;
  word-spacing: normal !important;
  overflow-wrap: anywhere;
  color: var(--color_txt_base);
  font-family: var(--font-family-7);
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.85;
}

.dintorni #sez44 p a {
  color: var(--rosso);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.dintorni #sez44 p a:hover {
  color: #a30800;
}

@media (max-width: 767px) {
  .dintorni #sez44 {
    padding: 40px 16px;
  }
}

/* ------------------------------------------------------------
   #testo-intro-2 
   ------------------------------------------------------------ */

#testo-intro-2 .acbck_ {
  background-color: rgba(255, 255, 255, .9) !important;
}

#testo-intro-2 .row.centrale {
  padding-block: clamp(40px, 6vw, 80px);
  padding-inline: clamp(28px, 5vw, 90px);
}

#testo-intro-2 .row.centrale > div {
  width: 100%;
  padding: 0;
  float: none;
}

#testo-intro-2 h2 {
  color: #d90b00;
  font-family: var(--font-family-1);
  font-size: clamp(2rem, 1.9vw, 1.7rem);
  font-weight: 300;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 22px;
  position: relative;
  padding-bottom: 24px;
  text-align: left;
}

#testo-intro-2 h2 strong {
  font-size: clamp(3rem, 3.6vw, 3rem);
  font-weight: 400;
  color: #1e4576;
  line-height: 1.15;
  margin-bottom: 8px;
}

#testo-intro-2 h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 3px;
  background: #d90b00;
  border-radius: 3px;
}

#wrappagina #contenitorepagina #testo-intro-2 p {
  text-align: left !important;
  text-align-last: left !important;
  word-spacing: normal !important;
  max-width: 58ch;
  margin: 0;
  color: var(--color_txt_base);
  font-family: var(--font-family-7);
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.85;
}


/* ============================================
   MENU FULLSCREEN  
   ============================================ */

#menu_header {
  --menu-bg: var(--color1, #111);
  --menu-txt: var(--color9, #fff);
  --menu-accent: var(--color3, #c9a96a);
  --menu-font: var(--font-family-2, serif);

  --voce-size: clamp(2.4rem, 6vw, 4.6rem);
  --voce-gap: clamp(0.4rem, 1.2vh, 1rem);
  --voci-pad-bottom: clamp(2.5rem, 8vh, 6rem);

  --apertura-durata: .9s;
  --voce-durata: .85s;
  --voce-stagger: .1s;
  --voce-delay-base: .45s;

  --ease-lusso: cubic-bezier(.22, 1, .36, 1);
}

#menu_header.navbar-menu {
  background: var(--menu-bg);
  clip-path: inset(0 100% 0 0);
  transition: clip-path var(--apertura-durata) var(--ease-lusso);
  animation: none !important;
}

#menu_header.navbar-menu.menu-aperto {
  clip-path: inset(0 0 0 0);
}


#menu_header .areabck {
  clip-path: inset(0 0 0 100%);
  transition: clip-path calc(var(--apertura-durata) * 1.1) var(--ease-lusso) .15s;
}

#menu_header.menu-aperto .areabck {
  clip-path: inset(0 0 0 0);
}

#menu_header .areamenu {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  min-height: 100%;
  padding: clamp(2rem, 6vw, 5rem);
  padding-bottom: var(--voci-pad-bottom);
}

#menu_header .navbar-nav-menu.liv1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--voce-gap);
  margin: 0;
  padding: 0;
  counter-reset: voce;
  text-align: center;
}

#menu_header .nav-item.liv1 {
  counter-increment: voce;
  overflow: hidden;
  float: none;
  width: auto;
}

#menu_header .nav-item.liv1 .nav-link {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: 1rem;
  font-family: var(--menu-font);
  font-size: var(--voce-size);
  line-height: 1.15;
  color: #000000;
  text-decoration: none;
  text-transform: none !important;
  letter-spacing: normal;
  text-align: center;
  transform: translateY(110%) rotate(2deg);
  opacity: 0;
  transform-origin: left center;
  transition:
    transform var(--voce-durata) var(--ease-lusso),
    opacity   calc(var(--voce-durata) * .8) ease,
    color .3s ease;
  margin-bottom: 5px;
}

/* --- APERTURA: entrata sfalsata, una voce alla volta --- */
#menu_header.menu-aperto .nav-item.liv1 .nav-link {
  transform: translateY(0) rotate(0deg);
  opacity: 1;
}

#menu_header.menu-aperto .nav-item.liv1:nth-child(1) .nav-link { transition-delay: calc(var(--voce-delay-base) + var(--voce-stagger) * 0); }
#menu_header.menu-aperto .nav-item.liv1:nth-child(2) .nav-link { transition-delay: calc(var(--voce-delay-base) + var(--voce-stagger) * 1); }
#menu_header.menu-aperto .nav-item.liv1:nth-child(3) .nav-link { transition-delay: calc(var(--voce-delay-base) + var(--voce-stagger) * 2); }
#menu_header.menu-aperto .nav-item.liv1:nth-child(4) .nav-link { transition-delay: calc(var(--voce-delay-base) + var(--voce-stagger) * 3); }
#menu_header.menu-aperto .nav-item.liv1:nth-child(5) .nav-link { transition-delay: calc(var(--voce-delay-base) + var(--voce-stagger) * 4); }
#menu_header.menu-aperto .nav-item.liv1:nth-child(6) .nav-link { transition-delay: calc(var(--voce-delay-base) + var(--voce-stagger) * 5); }
#menu_header.menu-aperto .nav-item.liv1:nth-child(7) .nav-link { transition-delay: calc(var(--voce-delay-base) + var(--voce-stagger) * 6); }
#menu_header.menu-aperto .nav-item.liv1:nth-child(8) .nav-link { transition-delay: calc(var(--voce-delay-base) + var(--voce-stagger) * 7); }
#menu_header.menu-aperto .nav-item.liv1:nth-child(9) .nav-link { transition-delay: calc(var(--voce-delay-base) + var(--voce-stagger) * 8); }
#menu_header.menu-aperto .nav-item.liv1:nth-child(10) .nav-link { transition-delay: calc(var(--voce-delay-base) + var(--voce-stagger) * 9); }
#menu_header.menu-aperto .nav-item.liv1:nth-child(11) .nav-link { transition-delay: calc(var(--voce-delay-base) + var(--voce-stagger) * 10); }



/* chiusura: le voci spariscono subito, senza stagger inverso */
#menu_header:not(.menu-aperto) .nav-item.liv1 .nav-link {
  transition-delay: 0s;
  transition-duration: .25s;
}

/* --- HOVER: slittamento + underline animata --- */
#menu_header .nav-item.liv1 .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: .05em;
  width: 100%;
  height: 2px;
  background: var(--menu-accent);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .45s var(--ease-lusso);
}

#menu_header .nav-item.liv1 .nav-link:hover {
  color: var(--menu-accent);
}

#menu_header .nav-item.liv1 .nav-link:hover::after {
  transform: scaleX(1);
  transform-origin: left center;
}


#menu_header .navbar-nav-menu.animhover .nav-item.liv1:hover {
  animation: none !important;
}

@media (max-width: 991px) {
  #menu_header {
    --voce-size: clamp(1.8rem, 7vw, 2.8rem);
    --voci-pad-bottom: clamp(2rem, 6vh, 4rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  #menu_header.navbar-menu,
  #menu_header .areabck,
  #menu_header .nav-item.liv1 .nav-link {
    transition: none !important;
    animation: none !important;
    clip-path: none;
    transform: none;
    opacity: 1;
  }
}


/* ============================================
   CHIUSURA COREOGRAFATA
   ============================================ */

#menu_header {
  --chiusura-voce-durata: .3s;
  --chiusura-stagger: .04s;
  --chiusura-sipario: .55s;
  --chiusura-sipario-delay: .4s;
}

#menu_header.menu-chiude .nav-item.liv1 .nav-link {
  transform: translateY(-110%) rotate(-2deg);
  opacity: 0;
  transition:
    transform var(--chiusura-voce-durata) ease-in,
    opacity   var(--chiusura-voce-durata) ease-in;
}

#menu_header.menu-chiude .nav-item.liv1:nth-child(11) .nav-link { transition-delay: calc(var(--chiusura-stagger) * 0); }
#menu_header.menu-chiude .nav-item.liv1:nth-child(10) .nav-link { transition-delay: calc(var(--chiusura-stagger) * 1); }
#menu_header.menu-chiude .nav-item.liv1:nth-child(9) .nav-link { transition-delay: calc(var(--chiusura-stagger) * 2); }
#menu_header.menu-chiude .nav-item.liv1:nth-child(8) .nav-link { transition-delay: calc(var(--chiusura-stagger) * 3); }
#menu_header.menu-chiude .nav-item.liv1:nth-child(7) .nav-link { transition-delay: calc(var(--chiusura-stagger) * 4); }
#menu_header.menu-chiude .nav-item.liv1:nth-child(6) .nav-link { transition-delay: calc(var(--chiusura-stagger) * 5); }
#menu_header.menu-chiude .nav-item.liv1:nth-child(5) .nav-link { transition-delay: calc(var(--chiusura-stagger) * 6); }
#menu_header.menu-chiude .nav-item.liv1:nth-child(4) .nav-link { transition-delay: calc(var(--chiusura-stagger) * 7); }
#menu_header.menu-chiude .nav-item.liv1:nth-child(3) .nav-link { transition-delay: calc(var(--chiusura-stagger) * 8); }
#menu_header.menu-chiude .nav-item.liv1:nth-child(2) .nav-link { transition-delay: calc(var(--chiusura-stagger) * 9); }
#menu_header.menu-chiude .nav-item.liv1:nth-child(1) .nav-link { transition-delay: calc(var(--chiusura-stagger) * 10); }

/* il sipario si richiude verso sinistra, dopo l'uscita delle voci */
#menu_header.menu-chiude.navbar-menu {
  clip-path: inset(0 100% 0 0) !important;
  transition: clip-path var(--chiusura-sipario) var(--ease-lusso) var(--chiusura-sipario-delay);
}

/* la foto rientra insieme al sipario */
#menu_header.menu-chiude .areabck {
  clip-path: inset(0 0 0 100%);
  transition: clip-path var(--chiusura-sipario) var(--ease-lusso) var(--chiusura-sipario-delay);
}




/* ================================================================
   FAST RESERVATION
   ================================================================ */
#fr_0_1 .contenitore-fr.content_laterale {
  --fr-blu-1: #1e4576;
  --fr-blu-2: #16345c;
  --fr-rosso: #d90b00;
  --fr-rosso-scuro: #b40900;
  --fr-bianco: #ffffff;
  --fr-testo-soft: rgba(255, 255, 255, 0.62);
  --fr-linea: rgba(255, 255, 255, 0.16);

  --fr-display: var(--font-family-1, 'Kalnia', serif);
  --fr-testo: var(--font-family-7, 'Poppins', sans-serif);
  --fr-corsivo: 'EB Garamond', Georgia, serif;

  --fr-num-size: clamp(3.4rem, 5vw, 5rem);
  --fr-filetto-larghezza: 80px;

  --fr-card-bg: #ffffff;
  --fr-card-testo: #33475f;
  --fr-card-ombra: 0 24px 60px rgba(10, 25, 47, 0.35);
  --fr-card-raggio: 14px;

  --fr-durata: 0.55s;
  --fr-stagger: 0.08s;
  --fr-delay-base: 0.3s;      /* attesa dopo l'apertura CMS del pannello */
  --ease-lusso: cubic-bezier(0.22, 1, 0.36, 1);
}

#fr_0_1 .contenitore-fr.content_laterale {
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(255, 255, 255, 0.07), transparent 55%),
    linear-gradient(160deg, var(--fr-blu-1), var(--fr-blu-2));
  color: var(--fr-bianco);
  -webkit-font-smoothing: antialiased;
}

/* ================================================================
   X DI CHIUSURA — bianca, ruota all'hover
   ================================================================ */
#fr_0_1 .btn-chiudiFR {
  background: transparent;
  border: 0;
  color: var(--fr-testo-soft);
  font-size: 1.5rem;
  cursor: pointer;
  transition: color 0.3s ease;
}

#fr_0_1 .btn-chiudiFR i {
  display: block;
  transition: transform 0.45s var(--ease-lusso);
  color: #fff;
}

#fr_0_1 .btn-chiudiFR:hover { color: var(--fr-bianco); }
#fr_0_1 .btn-chiudiFR:hover i { transform: rotate(90deg); }


#fr_0_1 .contenitore-fr .component_fr[role="button"] { cursor: pointer; }

#fr_0_1 .contenitore-fr .component_fr:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.35);
  outline-offset: 4px;
}

#fr_0_1 .labelfastr {
  display: block;
  font-family: var(--fr-testo);
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--fr-testo-soft);
  margin-bottom: 4px;
  transition: color 0.3s ease;
}

#fr_0_1 .labelfastr::after {
  content: '';
  display: block;
  width: var(--fr-filetto-larghezza);
  height: 3px;
  border-radius: 3px;
  background: var(--fr-rosso);
  margin-top: 8px;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s var(--ease-lusso);
}

#fr_0_1 .component_fr[role="button"]:hover .labelfastr,
#fr_0_1 .component_fr[role="button"]:focus-visible .labelfastr {
  color: var(--fr-bianco);
}

/* #fr_0_1 .component_fr[role="button"]:hover .labelfastr::after,
#fr_0_1 .component_fr[role="button"]:focus-visible .labelfastr::after {
  transform: scaleX(1);
} */

#fr_0_1 .contenitore-fr .elem-grande {
  font-weight: 400;
  font-size: var(--fr-num-size);
  line-height: 0.95;
  color: var(--fr-bianco);
  font-family: var(--fr-testo);
}

#fr_0_1 .contenitore-fr .listino.elem-grande {
  font-size: clamp(1.4rem, 1.8vw, 1.9rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#fr_0_1 .contenitore-fr .elem-piccolo {
  font-family: var(--fr-testo);
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  color: var(--fr-testo-soft);
}

#fr_0_1 .contenitore-fr .mese,
#fr_0_1 .contenitore-fr .npersone {
  color: var(--fr-bianco);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#fr_0_1 .contenitore-fr .anno,
#fr_0_1 .contenitore-fr .ncamere {
  font-weight: 400;
}

#fr_0_1 .contenitore-fr .settimana {
  font-family: var(--fr-corsivo);
  font-style: italic;
  font-size: 0.95rem;
  letter-spacing: 0.03em;
  color: var(--fr-testo-soft);
}

#fr_0_1 .contenitore-fr form > .data_fr,
#fr_0_1 .contenitore-fr form > .input_persone,
#fr_0_1 .contenitore-fr form > .input_listino {
  border-bottom: 1px solid var(--fr-linea);
  border-color: var(--fr-linea);
  padding-bottom: 16px;
}

#fr_0_1 .datepicker-dropdown .datepicker-picker {
  background: var(--fr-card-bg);
  color: var(--fr-card-testo);
  font-family: var(--fr-testo);
  border: 0;
  border-radius: var(--fr-card-raggio);
  box-shadow: var(--fr-card-ombra);
  overflow: hidden;
}

#fr_0_1 .datepicker-picker .datepicker-title {
  background: linear-gradient(160deg, var(--fr-blu-1), var(--fr-blu-2));
  color: var(--fr-bianco);
  padding: 14px 18px 12px;
}

#fr_0_1 .datepicker-title .s_c_picker {
  font-family: var(--fr-corsivo);
  font-style: italic;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
}

#fr_0_1 .datepicker-title .g_p {
  font-family: var(--fr-display);
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 1;
}

#fr_0_1 .datepicker-title .m_p,
#fr_0_1 .datepicker-title .a_p {
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
}

#fr_0_1 .datepicker-controls .button {
  background: transparent;
  border: 0;
  font-family: var(--fr-testo);
  color: var(--fr-blu-1);
  cursor: pointer;
  transition: color 0.25s ease, background-color 0.25s ease;
}

#fr_0_1 .datepicker-controls .view-switch {
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#fr_0_1 .datepicker-controls .prev-btn,
#fr_0_1 .datepicker-controls .next-btn {
  border-radius: 50%;
  width: 30px;
  height: 30px;
  line-height: 1;
}

#fr_0_1 .datepicker-controls .prev-btn:hover,
#fr_0_1 .datepicker-controls .next-btn:hover {
  background: #eef3fa;
  color: var(--fr-rosso);
}

#fr_0_1 .datepicker-controls .button:disabled {
  opacity: 0.25;
  cursor: default;
}

#fr_0_1 .datepicker-view .dow {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8ea2bf;
}

#fr_0_1 .datepicker-cell {
  font-size: 0.85rem;
  border-radius: 9px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

#fr_0_1 .datepicker-cell.day:not(.disabled):hover {
  background: #eef3fa;
  color: var(--fr-blu-1);
}

#fr_0_1 .datepicker-cell.selected,
#fr_0_1 .datepicker-cell.selected:hover {
  background: var(--fr-blu-1);
  color: var(--fr-bianco);
  font-weight: 600;
}

#fr_0_1 .datepicker-cell.today:not(.selected) {
  color: var(--fr-rosso);
  font-weight: 600;
  box-shadow: inset 0 0 0 1px rgba(217, 11, 0, 0.35);
}

#fr_0_1 .datepicker-cell.prev,
#fr_0_1 .datepicker-cell.next { opacity: 0.35; }
#fr_0_1 .datepicker-cell.disabled { opacity: 0.22; }

#fr_0_1 .area_input_persone,
#fr_0_1 .area_input_listino {
  background: var(--fr-card-bg);
  color: var(--fr-card-testo);
  border: 0;
  border-radius: var(--fr-card-raggio);
  box-shadow: var(--fr-card-ombra);
  padding: 18px 18px 16px;
}


#fr_0_1 .cont_input_persone label.elemfr,
#fr_0_1 .listino_fr > div.elemfr {
  font-family: var(--fr-testo);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #1b4786;
}

#fr_0_1 .cont_input_persone select.elemfr {
  -webkit-appearance: none;
  appearance: none;
  font-family: var(--fr-testo);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--fr-blu-1);
  background-color: #ffffff;
  border: 1px solid #dfe6f0;
  border-radius: 10px;
  padding: 0.55em 2.2em 0.55em 0.9em;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%231e4576' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.9em center;
  cursor: pointer;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  border: none !important;
}

#fr_0_1 .cont_input_persone select.elemfr:hover {border-color: var(--fr-blu-1);border: none;}

#fr_0_1 .cont_input_persone select.elemfr:focus {
  outline: none;
  border-color: var(--fr-blu-1);
  box-shadow: 0 0 0 3px rgba(30, 69, 118, 0.14);
}

#fr_0_1 .listinoinput {
  font-family: var(--fr-testo);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fr-blu-1);
  background: transparent;
  border: 0;
  border-bottom: 2px solid var(--fr-blu-1);
  border-radius: 0;
  padding: 0.4em 0;
  transition: border-color 0.25s ease;
}

#fr_0_1 .listinoinput:focus {
  outline: none;
  border-bottom-color: var(--fr-rosso);
}

#fr_0_1 .listinoinput::placeholder {
  color: #b6c4d8;
  letter-spacing: 0.1em;
}

#fr_0_1 .area_input_persone .button.chiudi,
#fr_0_1 .area_input_listino .button.chiudi {
  font-family: var(--fr-testo);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fr-bianco);
  background: var(--fr-blu-1);
  border: 0;
  border-radius: 999px;
  padding: 0.6em 1.8em;
  cursor: pointer;
  transition: background-color 0.25s ease;
}

#fr_0_1 .area_input_persone .button.chiudi:hover,
#fr_0_1 .area_input_listino .button.chiudi:hover {
  background: var(--fr-rosso);
}

#fr_0_1 .prencanc_fr .btn_fastres {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: var(--fr-rosso);
  color: var(--fr-bianco);
  font-family: var(--fr-testo);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  padding: 1.15em 1.5em;
  border-radius: 2px;
  box-shadow: 0 10px 26px rgba(217, 11, 0, 0.28);
  transition: background-color 0.3s ease, box-shadow 0.3s ease, translate 0.3s ease;
}

#fr_0_1 .prencanc_fr .btn_fastres:hover {
  background: var(--fr-rosso-scuro);
  box-shadow: 0 16px 36px rgba(217, 11, 0, 0.4);
  translate: 0 -2px;
}

#fr_0_1 .prencanc_fr .btn_fastres span { color: inherit; }

@keyframes frRiseIn {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: none; }
}

#fr_0_1 .contenitore-fr form > .component_fr {
  animation: frRiseIn var(--fr-durata) var(--ease-lusso) backwards;
}

#fr_0_1 .contenitore-fr form > .data_fr.checkin  { animation-delay: calc(var(--fr-delay-base) + var(--fr-stagger) * 0); }
#fr_0_1 .contenitore-fr form > .data_fr.checkout { animation-delay: calc(var(--fr-delay-base) + var(--fr-stagger) * 1); }
#fr_0_1 .contenitore-fr form > .input_persone    { animation-delay: calc(var(--fr-delay-base) + var(--fr-stagger) * 2); }
#fr_0_1 .contenitore-fr form > .input_listino    { animation-delay: calc(var(--fr-delay-base) + var(--fr-stagger) * 3); }
#fr_0_1 .contenitore-fr form > .prencanc_fr      { animation-delay: calc(var(--fr-delay-base) + var(--fr-stagger) * 4); }

@media (prefers-reduced-motion: reduce) {
  #fr_0_1 .contenitore-fr form > .component_fr { animation: none; }
}

#fr_0_1 .area_input_persone {
  width: min(360px, calc(100vw - 32px));
  box-sizing: border-box;
}

#fr_0_1 .area_input_persone .cont_input_persone {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  box-sizing: border-box;
}

#fr_0_1 .area_input_persone .cont_input_persone > .component_fr {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px 8px;
  background: #f4f7fb;
  border-radius: 10px;
  box-sizing: border-box;
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

#fr_0_1 .area_input_persone .cont_input_persone > .component_fr:focus-within {
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(30, 69, 118, 0.25);
}

#fr_0_1 .area_input_persone .cont_input_persone label.elemfr {
  margin: 0;
}

#fr_0_1 .area_input_persone .cont_input_persone select.elemfr {
  background-color: transparent;
  background-position: right 0 center;
  padding: 0.15em 1.4em 0.15em 0;
  box-shadow: none;
}

#fr_0_1 .area_input_persone > .button.chiudi {
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.nbambini.elem-piccolo span, span.nneonti.elem-piccolo span {
    display: none;
}




#fr_0_1 .contenitore-fr form::after {
  content: 'Hotel Domidea';
  position: absolute;
  right: -0.04em;
  bottom: -0.18em;
  font-family: var(--fr-display);
  font-weight: 400;
  font-size: min(40vh, 26vw);
  line-height: 1;
  color: rgba(255, 255, 255, 0.04);
  pointer-events: none;
  z-index: 0;
}

#recensioni {
  --rec-blu: #1e4576;
  --rec-rosso: #d90b00;
  --rec-card-bg: #ffffff;
  --rec-card-testo: #6b6259;
  --rec-card-bordo: rgba(30, 69, 118, 0.10);
  --rec-card-ombra: 0 12px 30px rgba(30, 69, 118, 0.12);
  --rec-voti-bg: #f7f9fc;
  --rec-voti-bordo: rgba(30, 69, 118, 0.14);
  --rec-filetto-larghezza: 80px;
  --rec-spazio-ombra: 46px;   /* aria sotto le card per l'ombra */
}

/* ---------- Titolo sezione: stile h2 testo-intro ---------- */
#recensioni .recensioni-titolo h4 {
  font-family: var(--font-family-1);
  font-size: clamp(2rem, 2.4vw, 2rem);
  font-weight: 400;
  letter-spacing: 0.5px;
  color: var(--rec-rosso);
  margin: 50px 0 50px;
  line-height: 1.25;
}

#recensioni .recensioni-titolo h4 strong {
  display: block;
  font-size: clamp(3rem, 4.5vw, 3.4rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--rec-blu);
  margin-bottom: 10px;
}

#recensioni .recensioni-titolo h4 br {
  display: none;
}

#recensioni .recensioni-titolo h4::after {
  content: "";
  display: block;
  width: var(--rec-filetto-larghezza);
  height: 3px;
  border-radius: 3px;
  background-color: var(--rec-rosso);
  margin: 26px auto 0;
}

#recensioni .recensioni .owl-stage-outer {
  padding: 14px 0 var(--rec-spazio-ombra);
}

#recensioni .recensioni .owl-stage {
  display: flex;
  align-items: stretch;
}

#recensioni .recensioni .owl-item .item {
  height: 100%;
  padding: 10px 14px; 
}

#recensioni .recensioni .item > div {
  position: relative;
  height: 100%;
  background-color: var(--rec-card-bg);
  border: 1px solid var(--rec-card-bordo);
  border-top: 3px solid var(--rec-rosso);
  border-radius: 6px;
  box-shadow: var(--rec-card-ombra);
  padding: 58px 38px 34px;
  text-align: center;
}

#recensioni .recensioni .item > div::before {
  content: "\201C";
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 64px;
  line-height: 1;
  color: var(--rec-blu);
  opacity: 0.85;
}

#recensioni .recensioni .item h4 {
  font-family: var(--font-family-1);
  color: var(--rec-blu);
  font-size: clamp(2rem, 2.4vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.3px;
  margin: 0 0 16px;
}

#wrappagina #contenitorepagina #recensioni .recensioni .item p {
  text-align: center !important;
  color: var(--rec-card-testo);
  line-height: 1.75;
  margin-bottom: 24px;
}

#recensioni .recensioni .item h5 {
  font-family: var(--font-family-7);
  color: var(--rec-rosso);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin: 0 0 4px;
}

#recensioni .recensioni .item h5::before {
  content: "\2014\00a0";
  color: var(--rec-rosso);
}

#recensioni .recensioni .item h6 {
  font-family: var(--font-family-7);
  color: var(--rec-blu);
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0;
}

#recensioni .owl-dots .owl-dot span {
  background: rgba(30, 69, 118, 0.22);
}
#recensioni .owl-dots .owl-dot.active span,
#recensioni .owl-dots .owl-dot:hover span {
  background: var(--rec-rosso);
}

/* ---------- Fascia punteggi ---------- */
#recensioni .row.voti {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  max-width: 880px;
  margin: 30px auto 60px;
  padding: 28px 20px;
  border: 1px solid var(--rec-voti-bordo);
  border-radius: 8px;
  background-color: var(--rec-voti-bg) !important;
}

#recensioni .voti > div {
  float: none;
  width: auto;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 24px;
}

#recensioni .voti > div + div {
  border-left: 1px solid var(--rec-voti-bordo);
}

#recensioni .voti h4 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin: 0;
}

#recensioni .voti h4 img {
  width: auto !important;
  max-width: 100%;
  height: 40px !important;
  aspect-ratio: initial !important;
  object-fit: contain;
  flex: 0 0 auto;
  align-self: center;
  opacity: 0.9;
}

#recensioni .voti h4 strong {
  font-family: var(--font-family-1);
  color: #d90b00;
  font-size: 2.5rem;
  letter-spacing: 0.5px;
  line-height: 1;
  font-family: var(--font-family-7);
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  #recensioni .row.voti {
    flex-direction: column;
    padding: 8px 20px;
    margin-left: 0;
    margin-right: 0;
  }
  #recensioni .voti > div {
    padding: 24px 0;
  }
  #recensioni .voti > div + div {
    border-left: 0;
    border-top: 1px solid var(--rec-voti-bordo);
  }
}

#footer {
  background-color: #1e4576;
}

li[data-tab="BlogCategoria"] {
    display: none;
}

body.index-camere .ant-camera:last-child {
    display: none !important;
}

.colonnaraccolta #naviga div a {
  display: inline-block;
  width: 20px;            /* larghezza fissa uguale per tutti */
  text-align: center;
  box-sizing: content-box;
  background: #d90b00 !important;
  margin-left: 2.5px;
  margin-right: 2.5px;
  color: #fff;
  font-family: var(--font-family-7);
  padding: 15px !important;
}

.colonnaraccolta #naviga div a:hover {
  background: var(--color9) !important;
}


#servizi-3.home .area a.linkinterno.button {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  padding-right: 0 !important;   /* via i 34px pensati per la freccia assoluta */
}

#servizi-3.home .area a.linkinterno.button::after {
  content: "→" !important;
  position: static !important;
  inset: auto !important;        /* annulla right:0 / top:50% ereditati */
  transform: none !important;
  display: inline-block !important;
  margin-left: 8px !important;
  color: var(--rosso) !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
  transition: transform .4s cubic-bezier(.22,.61,.36,1) !important;
}

.societari h2 {
    font-size: 2rem;
    margin-bottom: 0;
}

.societari p, .societari li, .societari span {
    font-family: var(--font-family-7);
    color: var(--color2);
    line-height: 1.8em;
    font-size: 1rem;
    text-align: justify !important;
    font-weight: 300;
}

.societari h1 {
    margin-bottom: 30px;
    margin-top: 30px;
    color: #000;
    font-weight: 100;
}

#menu_header .prenotazioni .nav-link::after {
    display: none;
}