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: 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);
    height: 100px;
}

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

#experience button {
    border: 2px solid;
}

#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);
    font-family: var(--font-family-2);
}

.anteprimacamera .blocco_dati p {
    color: var(--nero);
    text-transform: none;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center !important;
    font-weight: 500;
    letter-spacing: 0.2em;
    font-family: var(--font-family-2);
    font-size: 1rem;
}

#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(--color3);
    margin-bottom: 0px;
    line-height: 0.9em;
}

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

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

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-2);
    color: var(--nero);
    line-height: 1.8em;
    font-size: 1.2rem;
    text-align: justify !important;
    font-weight: 300;
}

.sez-bckg {
    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;
}

.anteprimacamera .titolo_camera, 
.anteprimacamera .testo_camera, 
.anteprimacamera .prezzo_camera {
    display: block!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 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-2);
}

span.prefix {
    display: none;
}

/*STILE PERSONALIZZATO*/
.cbck_1 {
    background-color: rgb(0 0 0 / 20%);
    z-index: 1;
}

#camera #sez-camere h3 {
    color: #fff;
    text-align: center;
    margin-top: 0;
    padding-bottom: 0;
}

#camera .anteprimacamera.visuale_separati .blocco_dati {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.spa-s p {
    color: var(--color1);
}

.spa-s h3 strong {
    color: var(--color1);
}

.cbck_51 {

    background: #7a2b3a;
    background: linear-gradient(159deg, rgba(149, 54, 71, 1) 0%, rgba(149, 54, 71, 1) 37%, rgb(122 43 58) 67%, rgb(74 22 32) 88%, rgb(42 11 17) 100%) !important;
}

section#testo-intro.servizi-due .area {
    border-left: 5px;
    margin: 15px;
    width: calc(33% - 25px);
    background: #fff;
    box-shadow: 0px 10px 15px -3px rgb(0 0 0 / 5%);
}

section#testo-intro.servizi-tre .area {
    border-left: 5px;
    margin: 15px;
    width: calc(33% - 25px);
    background: #fff;
    box-shadow: 0px 10px 15px -3px rgb(0 0 0 / 5%);
}

section#testo-intro.servizi-due {
    background: #efe8e4;
    padding: 40px;
    padding-bottom: 0;
}

section#testo-intro.servizi-tre {
    background: #ede8e4;
    padding: 40px;
    padding-top: 0;
}

#testo-intro p {
    color: var(--nero);
}

.areabck {
    width: 100% !important;
}


/* Layout menu in una colonna: voci una sopra l'altra */
#menu_header .navbar-nav-menu.liv1 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 70%;
}

/* Uniforma le voci */
#menu_header .navbar-nav-menu.liv1>li {
    width: 100%;
}

/* Opzionale: migliora allineamento link */
#menu_header .navbar-nav-menu.liv1>li>a {
    display: block;
    width: fit-content;
}

.spa-home#sezione2 h3 strong {
    color: #fff !important;
}

.spa-home .primo p {
    color: #fff;
}

.spa-home .primo h3 {
    color: #fff;
}

.cbck_15 {
    background: #7a2b3a;
    background: linear-gradient(159deg, rgba(149, 54, 71, 1) 0%, rgba(149, 54, 71, 1) 37%, rgb(122 43 58) 67%, rgb(74 22 32) 88%, rgb(42 11 17) 100%) !important;
}

footer#footer {
    background: var(--color2);
    padding: 0;
}

div#sezfooter1 {
    background: #6e2633;
}

#footer #sezfooter3 {
    border-top: 1px solid #00000000;
}

div#sezfooter1 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

.cbck_14 {
    background: #ffffff;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 37%, rgba(231, 224, 222, 1) 37%, rgba(231, 224, 222, 1) 83%, rgba(231, 224, 222, 1) 100%);
}

.cbck_108 {
    background: #D18975;
    background: linear-gradient(180deg, rgba(200, 168, 141, 1) 0%, rgba(200, 168, 141, 1) 37%, rgba(255, 255, 255, 1) 37%, rgba(255, 255, 255, 1) 83%, rgba(255, 255, 255, 1) 100%);
}

#experience .col-sm-12.col-md-6.area.sfondobckg.bckg_responsive.fisso {
    padding: 5%;
    border-right: 3px solid #FFF;
}

#experience .col-sm-12.col-md-3.area.sfondobckg.bckg_responsive.fisso {
    padding: 40px;
    border-right: 3px solid #fff;
}

.btn-chiudiFR i.zmdi.zmdi-close {
    color: var(--color2);
    font-size: 40px;
    font-weight: 300;
}

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

.menu-aperto .navbar-nav-menu li.nav-item .nav-link {
    padding: 5px 5px !important;
    font-family: var(--font-family-1);
    font-size: 1.4rem;
    margin-bottom: 5px;
    letter-spacing: 0em;
    text-align: center;
    text-transform: math-auto;
    background-color: transparent;
    font-weight: 400;
    color: var(--color1) !important;
    line-height: 1.5em;
    transition: .5s;
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 10px !important;
}

li.nav-item.liv1.azioneher.prenotazioni a:hover {
    background-color: var(--rosso-scuro) !important;
}

/*INIZIO MENU*/

/* RESET MENU MOBILE - PULIZIA TOTALE */
#menu_header {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    display: block !important;
    height: auto !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    animation: none !important;
    transition: none !important;
}

/* MENU CHIUSO */
#menu_header {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(100%) !important;
    pointer-events: none !important;
    transition:
        transform 0.5s ease,
        opacity 0.5s ease,
        visibility 0.5s ease !important;
}

/* MENU APERTO */
#menu_header.menu-aperto {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;

    pointer-events: auto !important;
}

/* MENU CHIUSO fade-out cinematografico con CHIUSURA LENTA */
#menu_header {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition:
        opacity 1.4s cubic-bezier(0.25, 0.1, 0.25, 1),
        visibility 0s linear 1.4s !important;
}

/* MENU APERTO fade-in cinematografico */
#menu_header.menu-aperto {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition:
        opacity 1.4s cubic-bezier(0.25, 0.1, 0.25, 1),
        visibility 0s linear 0s !important;
}

/* MENU CHIUSO fade-out cinematografico */
#menu_header {
    opacity: 0 !important;
    pointer-events: none !important;
    transition:
        opacity 1.4s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

/* MENU APERTO fade-in cinematografico */
#menu_header.menu-aperto {
    opacity: 1 !important;
    pointer-events: auto !important;
    transition:
        opacity 1.4s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

#menu_header .bg-video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: -1 !important;
    pointer-events: none !important;
}

/* fine MENU */

#sezione3 .primo span img {
    width: 18px;
    height: auto;
    transform: none;
}

#sezione3 .primo p {
    text-align: left !important;
}

#sezione3 .primo span {
    padding: 0;
    margin: 0;
}

#sezione3 .primo h3 {
    text-align: left;
}

#sezione3 .primo .button.button {
    float: left;
}

#menu_header.grndm .areamenu {
    width: calc(100% - 50px) !important;
    height: calc(100vh - 100px) !important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    border-radius: 0;
    -moz-box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 1);
    backdrop-filter: contrast(0.5) brightness(0.5);
    width: calc(100% - 0px) !important;
    height: calc(100vh - 0px) !important;
    border: 40px solid #ffffff;
}

.navbar-menu.menumobile.bottone-fix {
    position: fixed;
    overflow: hidden;
    transition: 0.3s ease;
    padding: 20px 20px;
    z-index: 15;
    background-color: #000000a1 !important;
    backdrop-filter: blur(6px);
}

.navbar-menu.menumobile.bottone-fix {
    background-color: transparent !important;
}

#bottone_menu_header img {
    width: 48px;
    height: 48px;
    filter: brightness(10);
}

.pos_fixed #bottone_menu_header img {
    width: 48px;
    height: 48px;
    filter: none;
}

#header .sezheader {
    display: flex;
    height: 100px;
}

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

.pos_absolute nav.navmenu-lingue ul.sottolingue-attivo {
    background: transparent;
}

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

.col-2.colheader.ch3 {
    position: fixed;
    right: 100px;
    top: 0;
    z-index: 10;
}

footer .logosito img {
    max-height: 70px;
    width: auto;
    filter: invert(1);
    margin-top: 25px;
}

header .logosito img {
    max-height: 200px;
    height: auto;
    width: 170px !important;
}

#foto-home .item {
    margin-right: 15px;
}

#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: var(--rosso) !important;
}

#slideshow-interno h1 {
    color: #ffffff;
    font-family: var(--font-family-2);
    font-weight: 300;
    font-size: 1.6rem;
    text-transform: uppercase;
    line-height: 3rem;
    letter-spacing: 0.1em;
}

#slideshow-interno h1 strong {
    color: var(--color1);
    font-family: var(--font-family-1);
    font-weight: 800;
    font-size: 3.5rem;
    text-transform: uppercase;
    letter-spacing: 0;
}

.col-sm-12.col-md-6.area.camere-sx-1 {
    overflow: visible;
    z-index: 10;
}

.index-camere .elemento_sing.el-camera {
    margin-top: 25px;
}

#camere-1 .index-camere h3 {
    text-align: left !important;
    color: var(--color1);
    font-family: var(--font-family-2);
    margin: 0 !important;
    margin-bottom: 20px;
    padding: 0 !important;
    float: left !important;
    font-weight: 600;
    font-size: 2.5rem;
}

#camere-1 .index-camere p {
    margin: 0 !important;
    width: 100%;
    font-size: 1.1rem;
    margin-top: 20px !important;
    text-align: left !important;
}

#camere-1 .index-camere a.button p {
    margin: 0 !important;
    width: 100%;
    margin-top: 0px !important;
    text-transform: uppercase;
    font-family: var(--font-family-2);
    font-size: 0.9rem;
    letter-spacing: 0.2em;
    border-radius: 0;
    font-weight: 400;
}

.index-camere .blocco_dati {
    display: flex;
    align-items: flex-start !important;
}

.index-camere .testo_camera img {
    width: 15px !important;
    height: auto;
    display: flex !important;
    align-items: center;
    flex-direction: row;
    filter: invert(1);
}

.recensioni h5 {
    color: var(--color1);
    font-size: 1.1rem;
    font-family: var(--font-family-1);
}

.recensioni h5 {
    float: right;
    width: 100%;
    text-align: right;
    margin-right: 50px;
}

.recensioni h6 {
    float: right;
    color: var(--color2);
    font-family: var(--font-family-2);
    width: 100%;
    text-align: right;
    margin-right: 50px;
    font-size: 1rem;
}

.recensioni .item {
    backdrop-filter: blur(4px);
    height: 300px;
    width: calc(100% - 30px);
    background: #00000061;
    border-radius: 5px;
    margin-left: 15px;
}

.recensioni p {
    color: var(--color1);
    padding: 9%;
    padding-top: 0;
    padding-bottom: 30px;
    font-family: var(--font-family-2);
    font-size: 1rem;
}

.recensioni h4 {
    padding: 80px;
    padding-top: 30px;
    padding-bottom: 15px;
    color: var(--color2);
    font-family: var(--font-family-2);
    font-size: 1.8rem;
    font-weight: 600;
    padding-left: 9%;
}

.recensioni-titolo h4 {
    color: var(--color1);
    margin-top: 5%;
    text-align: center;
    width: 100%;
    font-family: var(--font-family-2);
    font-size: 2rem;
    font-weight: 300;
    display: block;
}

section#zoom {
    background-color: #7a2b3a;
    padding-bottom: 15px;
}

.recensioni-titolo h4 strong {
    font-family: var(--font-family-2);
    font-size: 3rem;
    font-weight: 600;
}


.voti h4 {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    font-size: 3rem;
    font-family: var(--font-family-2);
    line-height: 1;
}

.voti h4 img {
    margin-top: 15px;
}

.voti .col-sm-12 {
    width: 33%;
    padding: 50px;
}

.row.voti {
    width: 98%;
    margin-left: 1% !important;
    border-radius: 4px;
}

.voti h4 strong {
    margin-left: 10px;
    font-weight: 800;
    color: var(--color2);
}

.testo_camera span {
    display: inline-flex;
}

.testo_camera img {
    width: 22px !important;
    height: 22px;
    display: flex !important;
    align-items: center;
    flex-direction: row;
}


.owl-theme .owl-dots .owl-dot span {
    -webkit-backface-visibility: visible;
    background-color: #00000091;
    border-radius: 30px;
    display: block;
    height: 10px !important;
    margin: 2px 2px !important;
    transition: opacity .2s;
    width: 10px !important;
}

section#video-home {
    padding: 0;
}

#video-home .cbck_107 {
    z-index: 1;
}

#slideshow h3 {
    color: var(--color1);
    color: #ffffff;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 3rem;
    line-height: 4rem;
    padding-bottom: 15%;
    font-family: var(--font-family-2);
}

#slideshow h3 strong {
    color: var(--color1);
    color: #ffffff;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 3.5rem;
    letter-spacing: 0;
}

section#sez-camere {
    padding-right: 0;
    padding-left: 0;
    padding: 0;
}

/* CAM-30 — il nome della camera si vede. Nel layout dimostrativo stava dentro l'immagine, ma con
   i contenuti reali di un albergo la card mostrava foto, descrizione e bottone e NESSUN nome. */
h3.titolo_camera {
    display: block;
}

#sez-camere .blocco_foto_camera img.img-fluid {
    border-top: 2px solid #fff;
}

#sez-camere .item {
    margin-right: 10px;
    margin-left: 10px;
}

.row.testo-sezione-2 {
    position: absolute;
    overflow: visible;
    z-index: 10;
    margin-top: 200px;
    margin-left: 40px !important;
}

.sezione-2-1 {
    z-index: 10 !important;
    overflow: visible;
}

.sezione-2-2 {
    z-index: 9;
}

.testo-sezione-2 h3 {
    font-size: 5rem;
    color: var(--color1);
    font-family: var(--font-family-1);
    text-transform: uppercase;
    letter-spacing: -0.05em;
}

.primo {
    padding: 70px !important;
}

.primo p {
    margin-bottom: 30px;
    margin-top: 0px;
}

.primo h1 {
    margin-bottom: 0;
    font-family: var(--font-family-2);
    font-size: 3rem;
    line-height: 1.1em;
    font-weight: 400;
    color: #7C726F;
    text-align: left;
    text-transform: uppercase;
}

.primo h2 {
    text-align: left;
}

.primo h1 strong {
    font-size: 4rem;
    font-weight: 600;
    color: var(--nero);
    font-family: var(--font-family-2);
    text-transform: uppercase;
}

.primo h3 {
    margin-bottom: 30px;
    font-family: var(--font-family-2);
    font-size: 2rem;
    line-height: 1.4em;
    font-weight: 300;
    color: var(--rosso);
    line-height: 1;
}

.primo h3 strong,
#testo-intro h3 strong {
    font-size: 3rem;
    font-weight: 600;
    color: var(--nero);
}

#servizi #sezione4 .primo h3 strong {
    color: var(--color1);
}

.camere-sx-1 .primo h3 {
    margin-bottom: 30px;
    font-family: var(--font-family-2);
    font-size: 2rem;
    line-height: 1.4em;
    font-weight: 200;
    color: var(--color1);
}

.camere-sx-1 .primo h3 strong {
    font-size: 2.4rem;
    font-weight: 300;
    color: var(--color1);
    font-family: var(--font-family-4);
}

#titolo-camere h3 {
    margin-bottom: 30px;
    font-family: var(--font-family-2);
    font-size: 2rem;
    line-height: 1.4em;
    font-weight: 300;
    color: var(--rosso);
    text-align: center;
    margin-top: 50px;
}

#titolo-camere h3 strong {
    font-size: 3rem;
    font-weight: 600;
    color: var(--nero);
    font-family: var(--font-family-2);
}

#titolo-camere p {
    margin-bottom: 80px;
    padding-left: 20%;
    padding-right: 20%;
}

section#titolo-camere {
    padding: 80px;
    padding-top: 120px;
    padding-bottom: 0;
}

#titolo-camere .home-c-1 {
    width: 60%;
    margin-left: 20%;
}

#experience .col-sm-12.col-md-4.area {
    width: calc(33.3% - 20px);
    margin-right: 10px;
    margin-left: 10px;
    padding: 50px;
}

#experience h3 {
    margin-bottom: 30px;
    font-family: var(--font-family-2);
    font-size: 1.7rem;
    line-height: 1.4em;
    font-weight: 200;
    color: var(--color1);
    text-align: center !important;
}

#experience h3 strong {
    font-size: 3rem;
    font-weight: 600;
    color: var(--color1);
    font-family: var(--font-family-2);
}

#experience p {
    color: var(--color1);

}

.col-sm-12.cont_sing {
    padding: 0px !important;
}

header#header {
    height: 100px;
}

#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 {
    height: 100px;
}

#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 {
    height: 100px;
    border-right: none;
    border-left: none;
}

#header .button.button--standard.button--size-l.button--text-thin.btn-apriFR:hover,
#header button.button.button--standard.button--size-l.button--text-thin.btn-apriFR:hover {
    height: 100px;
    width: 100%;
    background-color: #953647 !important;
    border-left: none;
    border-right: none;
}

#slideshow .row.centrale.ao_center {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

#slideshow .col-sm-12.col-md-12.area {
    z-index: inherit;
}

#camere-1 p {
    margin-left: 15%;
    margin-right: 15%;
    color: var(--color1);
    text-align: left;
    float: left;
    width: 60%;
}

#sez-1 p {
    width: 55%;
    margin-bottom: 35px;
}

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

#sez-camere h3 {
    font-family: var(--font-family-2);
    font-size: 3rem;
    color: var(--nero);
    padding: 31px;
    margin-top: -160px;
    font-weight: 600;
    text-align: center;
}

#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: uppercase;
    font-family: var(--font-family-2);
    font-weight: 600;
}

#slideshow h2 strong {
    color: #fff;
    font-size: 4rem;
    font-weight: 400;
    font-family: var(--font-family-1);
    -webkit-transition: -webkit-filter 2s;
    transition: -webkit-filter 2s;
    transition: filter 2s;
    transition: filter 2s, -webkit-filter 2s;
    line-height: 1.2;
    text-transform: uppercase;
}

section#slideshow {
    overflow: hidden;
}

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

#sez-1 h1 strong {
    font-weight: 400;
    font-size: 5rem;
    color: var(--color2);
    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 {
    margin-bottom: 25px;
}


p strong {
    font-weight: 500;
}

#sez-8 p {
    margin-left: 15%;
    margin-right: 15%;
    color: var(--color1);
    width: 60%;
    float: right;
    text-align: right !important;
}

#sez-8 h3 {
    margin-left: 15%;
    margin-right: 15%;
    margin-bottom: 25px;
}

#sez-8 h3 strong {
    font-size: 5rem;
    font-weight: 400;
}

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

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

#foto-home h3 {
    text-align: center;
    margin-bottom: 0;
    margin-top: 60px;
    font-size: 2rem;
    color: var(--rosso);
    font-weight: 300;
}

#foto-home h3 strong {
    font-weight: 600;
    font-size: 3rem;
    color: var(--nero);
}


.owl-theme .owl-dots .owl-dot {
    background: none !important;
    margin-top: 20px !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: 20px;
    padding: 0;
    border: none;
    padding-top: 0;
    border-bottom: 1px solid var(--color2);
    height: auto;
    margin-left: 5px;
    color: #FFF;
    transition: 1s;
    text-transform: uppercase;
    font-family: var(--font-family-2);
    font-size: 0.9rem;
    letter-spacing: 0.2em;
    border-radius: 0;
    font-weight: 400;
    height: 75px;
    display: inline-block;
    background: var(--color2);
    padding-left: 15px;
    padding-right: 15px;
}

.index-camere .anteprimacamera a.button {
    margin-top: 20px;
    padding: 10px;
    border: none;
    height: auto;
    margin-left: 5px;
}

.anteprimacamera a.button p {
    font-weight: 300;
    font-size: 0.7rem;
    font-family: var(--font-family-5);
    text-transform: uppercase;
    letter-spacing: 0;
    line-height: 2;
    padding: 5px;
    color: var(--color1);
    color: #FFF;
    transition: 1s;
    text-transform: uppercase;
    font-family: var(--font-family-2);
    font-size: 0.9rem;
    letter-spacing: 0.2em;
    border-radius: 0;
    font-weight: 600;
}

.anteprimacamera a.button p:hover {
    color: var(--color2);
}

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

.chiudi_menumobile {
    cursor: pointer;
    background: transparent;
}

div#headermenumobile\ bottone-fix {
    position: absolute;
    top: 5%;
    right: 5%;
    background: none;
    padding: 12px;
    padding-left: 15px;
    padding-right: 15px;
    z-index: 9;
}

#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: var(--color6);
}

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

header.pos_fixed .logosito img {
    filter: none;
    width: auto!important;
    height: 75px;
}

a.logosito.logodesktop.centrale {
    top: 0px !important;
    left: calc(50% - 100.5px) !important;
    top: 15px !important;
    left: calc(50% - 85px) !important;
    position: absolute;
    width: auto !important;
}

.pos_fixed a.logosito.logodesktop.centrale {
    top: 15px !important;
    left: calc(50% - 85px) !important;
    position: absolute;
    width: auto !important;
}

.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;
}

button.ancorabtn-apriFR {
    background: #aaa69d;
    border: none;
}

#footer p {
    color: #9e847b;
    font-family: var(--font-family-2);
    font-weight: 600;
    letter-spacing: 0.1em;
}

#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;
}

#frHeader div.fastreservation.apertura-full {
    background-color: rgb(255 255 255) !important;
    font-family: var(--font-family-2);
    color: var(--color2) !important;
    z-index: 10;
}

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

.fastreservation .labelfastr {
    margin-top: 10px;
    margin-bottom: 10px;
    color: var(--nero);
    letter-spacing: 0.1em;
    font-family: var(--font-family-2);
    font-weight: 600;
    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-2);
}

#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;
}

#sez-camere .anteprimacamera.visuale_sovrapposti .blocco_dati {

    background: #ffffffa1;

    left: 0 !important;

    right: 0 !important;

    padding: 50px !important;

    width: 30% !important;
}


.anteprimacamera.visuale_sovrapposti .blocco_dati {

    background: #3535357a;

    left: 0 !important;

    right: 0 !important;

    padding: 50px !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(--color3);
    margin-bottom: 25px;
    font-size: 2.5rem
}

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

#testo-intro-2 h2 {
    color: var(--color3);
    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(--color2);
}

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

#testo-intro-2 #mappa1 p {
    margin: 0;
}

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

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

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


.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(--color3);
    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;
    opacity: 1;
}

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

#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(--rosso);
}

#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(--rosso);
}

#sez-1 .spa h3 {
    font-size: 3rem;
    font-family: var(--font-family-1);
    color: var(--color4);
    margin-bottom: 0px;
    line-height: 0.9em;
    margin-bottom: 20px;
}

#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;
}

.material-symbols-rounded {
    color: #fff;
    font-size: 3rem !important;
}

li.nav-item.liv1.azioneher.prenotazioni a {
    background-color: var(--rosso);
    padding: 18px 30px !important;
    border-radius: 0px;
    color: var(--color1) !important;
    font-weight: 600;
    border-radius: 0;
    line-height: 1;
}

.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: #b8987d !important;
}

header.pos_absolute .logosito img {
    display: block;
    width: auto;
}

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

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

#servizi-2 h3 {
    margin-left: 30px;
    margin-right: 30px;
}

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

.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;
}

i.zmdi.zmdi-close {
    font-size: 30px;
    color: var(--color1);
}

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

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

#servizi-3 p {
    margin-left: 10%;
    color: var(--color2);
    font-family: var(--font-family-2);
    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;
}

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;
}

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

#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;
    width: inherit;
    height: 100%;
}

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

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

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

#dotazioni .col-sm-12 strong {
    width: 20%;
    margin-bottom: 20px;
    font-weight: 200;
}

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

.datepicker-header .datepicker-controls {
    background: #a9a69e !important;
}

.datepicker-controls .button {
    background: #a9a69e !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;
}

#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(--rosso);
    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 {
    color: var(--color2);
    font-family: var(--font-family-2);
}

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

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

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

.pos_fixed button.multilingue span {
    color: var(--nero);
    font-family: var(--font-family-2);
}

#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-family: var(--font-family-5);
    line-height: 1em;
    font-weight: 600;
    font-size: 3rem;
    color: var(--nero);
}

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

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

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

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

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

#foto-home .owl-dots {
    padding-top: 40px;
}

img.logo-sito-menu {
    filter: invert(1) brightness(5);
    width: 140px;
    height: auto;
    margin-bottom: 25px;
}

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

.datepicker-grid .datepicker-cell.selected,
.datepicker-grid .datepicker-cell.selected:hover {
    background: var(--color2);
}

div.fastreservation .area_input_notti .chiudi,
div.fastreservation .area_input_persone .chiudi,
div.fastreservation .area_input_listino .chiudi {
    background: var(--color2) !important;
}

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

/* blocca scroll quando menu aperto */
html:has(#menu_header.menu-aperto) {
    overflow: hidden !important;
    height: 100% !important;
}

/* menu overlay fisso */
#menu_header {
    position: fixed;
    z-index: 9999;
}

.menumobile.bottone-fix.down .navbar-nav-menu,
.menumobile.bottone-fix.up .navbar-nav-menu {
    flex-flow: column;
    text-align: -webkit-center;
}

/*barre fr*/
.btn-apriFR::before,
.btn-apriFR::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background-color: #ffffffb5;
}

.btn-apriFR::before {
    left: 0;
}

.btn-apriFR::after {
    right: 0;
}

#header .btn-apriFR:hover::before,
#header .btn-apriFR:hover::after {
    display: none;
}


#header.pos_fixed .btn-apriFR::before,
#header.pos_fixed .btn-apriFR::after,
#header .btn-apriFR:hover::before,
#header .btn-apriFR:hover::after {
    opacity: 0;
}

.blocco_dati h3 strong {
    font-size: 3rem;
    font-weight: 600;
    color: var(--color1);
}

.col-sm-12.col-md-6.area.spa {
    padding: 50px;
}

section#sezione2,
section#sezione3 {
    padding: 0;
}

#home #sezione2 .embed-responsive-16by9 video {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

#home #sezione2 .embed-responsive-16by9 {
    padding-top: 0 !important;
    aspect-ratio: 1 / 1;
    height: auto;
}

#home #sezione3 .embed-responsive-16by9 video {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

#home #sezione3 .embed-responsive-16by9 {
    padding-top: 0 !important;
    aspect-ratio: 1 / 1;
    height: auto;
}

#sezione3 .elemento_sing.el-video {
    padding: 0;
}

#sezione2 .spa .acbck_ {
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 14% 100%);
}

#sezione3 .spa .acbck_ {
    clip-path: polygon(0% 0, 84% 0, 84% 100%, 0% 100%);
}

section#sezione3 {
    display: flex;
    flex-direction: row-reverse;
}

span.poi-testo {
    display: none;
}


.menu-aperto a {
    text-decoration: none;
    position: relative;
    transition: all 0.3s ease-in-out;
}

.menu-aperto a::before {
    content: "";
    position: absolute;
    border-bottom: 2px solid var(--color2);
    width: 0;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    transition: width 0.3s ease-in-out;
}

.menu-aperto a:hover {
    color: #ffffff !important;
    z-index: 1;
}

.menu-aperto a:hover::before {
    width: 100%;
}

#camera section#striscia,
#ristorante section#striscia {
    margin-top: -60px;
    z-index: 2;
}

#camera section#sezione2 {
    margin-top: -60px;
}

#camera #sezione2 p img {
    width: auto;
}


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

#slideshow-interno ul.p-slide-control {
    justify-content: right;
    padding-right: 45px;
    z-index: 4;
}

.blocco_dati h3 img {
    filter: invert(1);
    height: 100px;
}

#servizi section#sezione3 {
    display: flex;
    flex-direction: row;
}

#spa section#titolo-camere {
    padding-bottom: 120px;
    padding-left: inherit;
    padding-right: initial;
}

h4 {
    margin-bottom: 0px;
    font-family: var(--font-family-2);
    font-size: 1.2rem;
    margin-top: 20px;
    font-weight: 600;
    color: var(--nero);
    line-height: 1.2;
    display: flex;
    align-items: center;
}

h4 img {
    height: 35px;
    width: auto;
    margin-left: 5px;
}

#ristorante #sezione2 .primo .col-sm-12:nth-child(2),
#ristorante #sezione2 .primo .col-sm-12:nth-child(3) {
    width: auto;
    float: left;
}

#ristorante #sezione2 .row.centrale.ao_left.primo {
    text-align: left;
    float: left;
    display: flex;
    justify-content: flex-start;
}


#ristorante #sezione2 .embed-responsive-16by9 video {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

#ristorante #sezione2 .embed-responsive-16by9 {
    padding-top: 0 !important;
    aspect-ratio: 1 / 1;
    height: auto;
}

#ristorante section#striscia.bellevue {
    margin-top: 0;
}

#ristoranti .col-sm-12.col-md-4.area {
    padding: 40px;
    background: #f7f7f7;
}

#ristorante h3 {
    font-family: var(--font-family-2);
    font-size: 2rem;
    line-height: 1.4em;
    font-weight: 600;
    color: var(--nero);
    margin-bottom: 20px;
}

#ristoranti h4 {
    color: var(--color2);
    margin-bottom: 20px;
    font-weight: 500;
}

#ristoranti p {
    margin-bottom: 20px;
}

#ristorante #testo-intro h4 {
    display: block;
    color: var(--color2);
    font-weight: 500;
}

.elemento_sing.el-camera:empty {
    display: none;
}

#sezione3 h3 img {
    width: auto;
    margin-bottom: 30px;
}

#testo-intro h3 img {
    width: auto;
}

#ristorante section#testo-intro {
    border: 50px solid var(--color2);
    margin: 50px;
}

#ristorante section#ristoranti {
    border: 50px solid var(--color2);
    margin: 50px;
    margin-top: -100px;
    border-top: none;
}

#testo-intro h3 {
    margin-bottom: 20px;
    font-size: 2rem;
    font-weight: 600;
}

section#foto {
    padding: 40px;
    padding-top: 0;
}

#testo-intro.servizi h3 {
    line-height: 1.2;
}

section#testo-intro2 {
    padding: 70px;
    padding-top: 0;
}

#mappa section#testo-intro .primo {
    padding-bottom: 0 !important;
}

#mappa #testo-intro h3:last-child {
    margin-bottom: 0;
}

#prima h2 {
    margin-bottom: 20px;
    margin-top: 5px;
}

section#testo-intro.servizi.due .primo {
    padding-bottom: 0 !important;
}

#villa section#foto {
    padding: 40px;
}

#footer span.elem,
#footer span.elem {
    font-family: var(--font-family-1);
    font-weight: 300;
}

#home #sezione2 h3 strong {
    color: var(--nero);
    text-transform: math-auto;
}

a.button:hover {
    background-color: #953647 !important;
    color: var(--color1) !important;
}


/* ===== PAGE LOADER (senza HTML) ===== */
#page-loader {
    position: fixed;
    inset: 0;
    background: #f3efea;
    z-index: 99999999;

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

    transition: opacity .25s ease, visibility .25s ease;
}

#page-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

#page-loader .spinner {
    width: 48px;
    height: 48px;
    border: 4px solid rgba(255, 255, 255, 0.35);
    border-top-color: #000;
    border-radius: 50%;
    animation: loader-spin 1s linear infinite;
}

@keyframes loader-spin {
    to {
        transform: rotate(360deg);
    }
}


#page-loader .loader-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

#page-loader .loader-logo {
    max-width: auto;
    height: 100px;
    display: block;
}


.scrolling img {
    filter: invert(1);
    height: 45px;
    width: auto;
}

.scrolling {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 50px;
    width: 100%;
    z-index: 9999;
    top: inherit;
}

#home .scrolling img.img-fluid {
    transform: none;
    height: 40px;
    cursor: pointer;
    animation: bounceSoft 3s infinite ease-in-out;
    margin-top: 15px;
}

@keyframes bounceSoft {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

#zoom .owl-theme .owl-dots .owl-dot.active span {
    background-color: #ffffff3d;
}


#zoom .owl-theme .owl-dots .owl-dot span {
    background: #ffffff;
}

#slideshow-interno div[class^="cbck_"] {
    background-color: rgba(0, 0, 0, 0.3) !important;
}

#slideshow-interno div[class^="cbck_"] {
    z-index: 2 !important;
}

#slideshow-interno .col-sm-12.col-md-12.area {
    z-index: 3 !important;
}

#home #sez-camere .blocco_foto_camera img.img-fluid {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#frHeader div.fastreservation .contenitore-fr .datepicker,
.datepicker-title .s_c_picker,
.datepicker-controls .view-switch,
.datepicker span {
    font-family: var(--font-family-2) !important;
    font-weight: 400 !important;
}

#camera section#sez-camere {
    padding-left: 70px;
    padding-right: 70px;
    padding-bottom: 70px;
}


#camera section#titolo-camere {
    padding-top: 0;
    padding-top: 70px;
}

#servizi .servizi-due p {
    margin-right: 0;
    margin-bottom: 0;
}

#servizi #sezione4 p {
    margin-right: 0;
}

#spa #testo-intro .col-sm-12.col-md-6.area.camere-sx-1 {
    z-index: 1;
}

#spa #titolo-camere p {
    margin-bottom: 30px;
    text-align: center !important;
}

#spa #titolo-camere h3 {
    margin-top: 0;
}

nav.navmenu-lingue ul.sottolingue-attivo {
    top: 100px;
    width: 100px;
    right: 0;
    background: #fff;
}



.accessibility-policy p,
.accessibility-policy li {
    line-height: 1.8em;
    font-size: 1.1rem;
    font-family: var(--font-family-2);
}

.accessibility-policy h3 {
    margin-top: 20px;
    margin-bottom: 15px;
}

.accessibility-policy h1 {
    margin-top: 30px;
    margin-bottom: 30px;
    color: var(--color2);
    line-height: 1.2;
}

section#faq {
    padding: 100px;
}

.btn-apriFR::before {
    display: none;
}

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

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

.faq-question:hover {
    background-color: #953647 !important;
    transition: 1s;
}

body.menu-open {
    overflow: hidden;
    height: 100dvh;
}

#home .row.end.ao_center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

#home .row.end.ao_center h3 {
    padding-bottom: 0 !important;
    text-transform: uppercase !important;
}

#slideshow .hotel-fade-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    margin: 0;
    padding: 0;
    pointer-events: none;
    z-index: 20;
    font-size: 0;
    color: transparent;
    line-height: 0;
}

#slideshow .mft-word {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-family-1);
    font-size: clamp(28px, 4vw, 58px);
    line-height: 1.2;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    white-space: nowrap;
    opacity: 0;
    filter: blur(14px);
    transition: opacity 2s ease, filter 2s ease;
    pointer-events: none;
}

#slideshow .mft-word.mft-in {
    opacity: 1;
    filter: blur(0px);
}

#slideshow-interno .hotel-fade-text.mft-static {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    margin: 0;
    padding: 0;
    pointer-events: none;
    z-index: 20;
    font-size: 0;
    color: transparent;
    line-height: 0;
}

#slideshow-interno .hotel-fade-text.mft-static .mft-word {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--font-family-1);
    color: #ffffff;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    white-space: nowrap;
    opacity: 0;
    filter: blur(14px);
    transition: opacity 2s ease, filter 2s ease;
    pointer-events: none;
}

#slideshow-interno .hotel-fade-text.mft-static .mft-word.mft-title {
    top: calc(50% - 1.4em);
    font-size: clamp(21px, 3.3vw, 48px);
    font-weight: 600;
    line-height: 1.2;
}

#slideshow-interno .hotel-fade-text.mft-static .mft-word.mft-subtitle {
    top: calc(50% + 0.2em);
    font-size: clamp(13px, 2vw, 28px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.18em;
}

#slideshow-interno .hotel-fade-text.mft-static .mft-word.mft-in {
    opacity: 1;
    filter: blur(0px);
}

/* =====================================================================
   Hotel Madison Roma
   Indice
   1. Colori del sito
   2. Header e menu
   3. Loader
   4. Testate
   5. Titoli, pulsanti e blocchi decorativi
   6. Home: claim su foto e recensioni
   6b. Pagine delle camere: foto quadrate
   7. FAQ
   8. Mappa
   9. Prenotazione
   10. Footer
   11. Testi allo scorrimento
   Le regole per tablet e telefono sono in responsive.css, sezione Hotel Madison.
   ===================================================================== */

/* 1. Colori del sito: il rosso del logo come colore ricorrente */
:root {
    --rosso: #953647;
    --rosso-scuro: #7a2b3a;
    --rosso-chiaro: #f2dfe2;
}

/* 2. Header e menu */
/* logo centrato e con le sue proporzioni: il modello lo posiziona per un logo largo 170px (c'è Animate.css: niente transform) */
#header .logosito.logodesktop {
    left: 50% !important;
    right: auto !important;
    translate: -50% 0;
}

/* logo bianco nel menu (il modello inverte i colori, pensato per un logo nero) */
img.logo-sito-menu {
    filter: brightness(0) invert(1);
}

/* icona a puntini del menu (immagine del modello) nel rosso del sito dopo lo scorrimento */
.pos_fixed #bottone_menu_header img[src*="/menu2."] {
    filter: grayscale(1) sepia(1) saturate(4) hue-rotate(-40deg) brightness(.62);
}

/* 3. Loader: fondo avorio, logo, linea rossa, sipario rosso (creato dallo script del CMS «loader») */
#md-loader {
    position: fixed;
    inset: 0;
    z-index: 2147483600;
    pointer-events: none;
}

#md-loader .md-fondo {
    position: absolute;
    inset: 0;
    background: #f6f1ee;
    transition: transform 1s cubic-bezier(.76, 0, .24, 1) .25s;
}

#md-loader .md-sipario {
    position: absolute;
    inset: 0;
    background: var(--rosso);
    transform: translateY(100%);
    transition: transform .8s cubic-bezier(.76, 0, .24, 1);
}

#md-loader .md-centro {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    transition: opacity .4s ease;
}

#md-loader img {
    width: min(230px, 56vw);
    height: auto;
    opacity: 0;
    transform: translateY(14px);
    animation: md-sale 1s cubic-bezier(.2, .7, .2, 1) .15s forwards;
}

#md-loader .md-linea {
    width: 150px;
    height: 2px;
    background: rgba(149, 54, 71, .15);
    overflow: hidden;
}

#md-loader .md-linea::after {
    content: "";
    display: block;
    height: 100%;
    background: var(--rosso);
    transform: scaleX(0);
    transform-origin: left;
    animation: md-linea 1.5s cubic-bezier(.65, 0, .35, 1) .45s forwards;
}

html.md-breve #md-loader img {
    animation-duration: .6s;
    animation-delay: 0s;
}

html.md-breve #md-loader .md-linea::after {
    animation-duration: .8s;
    animation-delay: .1s;
}

#md-loader.md-esce .md-centro {
    opacity: 0;
}

#md-loader.md-esce .md-sipario {
    transform: translateY(0);
}

#md-loader.md-esce .md-fondo,
#md-loader.md-via .md-sipario {
    transform: translateY(-100%);
}

#md-loader.md-via .md-sipario {
    transition-duration: .9s;
}

#md-loader.md-cala {
    pointer-events: auto;
}

#md-loader.md-cala .md-sipario {
    transition: none;
}

#md-loader.md-cala .md-fondo {
    transform: translateY(0);
    transition: transform .7s cubic-bezier(.76, 0, .24, 1);
}

@keyframes md-sale {
    to { opacity: 1; transform: none; }
}

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

/* 4. Testate: con lo slideshow (contenitore a z-index 3) velo e testi vanno sopra le foto.
   .colonnaarea è un elemento flex con z-index 1 del modello: crea un livello sotto lo slider. */
.sez-slideshow > [class^="cbck_"] {
    z-index: 4;
    pointer-events: none;
}

/* su tablet e telefono il modello dà z-index 2 anche ad .area (posizionata): serve !important */
.sez-slideshow > .area,
.sez-slideshow .colonnaarea {
    z-index: 5 !important;
}

/* 5. Titoli, pulsanti e blocchi decorativi */
/* filetto rosso sopra i titoli delle sezioni chiare */
.primo h3 strong::before {
    content: "";
    display: block;
    width: 48px;
    height: 2px;
    margin-bottom: .6em;
    background: var(--rosso);
}

/* colori scritti in linea dal CMS: pulsanti sabbia, blocchi decorativi rossi, fondo delle recensioni rosso */
a[style*="#d18874" i],
button[style*="#d18874" i] {
    background-color: var(--color2) !important;
}

[style*="#d18874" i]:not(a):not(button),
[style*="#52413c" i] {
    background-color: var(--rosso) !important;
}

/* pulsanti: al passaggio del mouse rossi */
.button:hover,
.button:focus-visible,
a[style*="#d18874" i]:hover,
a[style*="#d18874" i]:focus-visible {
    background-color: var(--rosso) !important;
    border-color: var(--rosso) !important;
    color: #fff !important;
}

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

/* pulsanti di prenotazione: rossi */
html body .btn-apriFR,
html body a.eventherx.button {
    background-color: var(--rosso) !important;
    border-color: var(--rosso) !important;
    color: #fff !important;
}

html body .btn-apriFR:hover,
html body .btn-apriFR:focus-visible,
html body a.eventherx.button:hover,
html body a.eventherx.button:focus-visible {
    background-color: var(--rosso-scuro) !important;
    border-color: var(--rosso-scuro) !important;
}

/* 6. Home: claim sulla foto (sezione emozione) e recensioni */
/* claim sulla foto scura: prima riga (strong) bianca, seconda beige e più piccola */
#sezione2.emozione h3 {
    /* la colonna del testo è un sesto della pagina e la foto parte subito dopo: il claim entra nella foto */
    padding-left: calc(16.667vw - 10px);
    font-size: clamp(26px, 2.9vw, 46px);
    line-height: 1.2;
    color: #e9d6c2;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .35);
}

/* nella home tre sezioni hanno id sezione2: il bianco vale solo per quella del claim (emozione) */
#home #sezione2.emozione h3 strong,
#sezione2.emozione h3 strong {
    display: block;
    margin-bottom: .2em;
    font-size: 2em;
    line-height: 1.05;
    color: #fff;
}

/* schede delle recensioni chiare velate sul fondo rosso */
section#zoom .item {
    background-color: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .22);
}

section#zoom .item h4 {
    color: #f6e7da !important;
}

section#zoom .item h6 {
    color: #f0cfd5 !important;
}

/* voti dei portali più in alto: titolo, recensioni e voti in colonna dall'alto, senza la riga delle recensioni che riempie la sezione */
section#zoom .colonnaarea {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 30px;
}

section#zoom .row.recensioni {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 50px 0 20px !important;
}

section#zoom .voti > div {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
}

section#zoom .voti h4 {
    margin-top: 6px;
}

section#zoom .voti strong {
    color: var(--rosso) !important;
}

/* 6b. Pagine delle camere: carosello di foto quadrate accanto al testo (il modello le fa alte 100vh) */
#sezione2:not(.emozione) .owl-carousel img.img-fluid {
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

#sezione2:not(.emozione) .area:has(.owl-carousel) {
    align-self: center;
}

/* 7. FAQ: domanda su una riga con la freccia a destra (il foglio del plugin la mette in block), domanda aperta rossa */
.faq-item summary.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2em;
}

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

.faq-item[open] summary.faq-question {
    background-color: var(--rosso) !important;
}

/* 8. Mappa: carta grigia appena scaldata, segnaposto rosso, fumetto allineato a sinistra */
.leaflet-container .leaflet-tile-pane {
    filter: sepia(.14) saturate(.75);
}

.leaflet-container .leaflet-marker-icon {
    filter: grayscale(1) sepia(1) saturate(4) hue-rotate(-40deg) brightness(.62);
}

.leaflet-container .leaflet-popup-content,
.leaflet-container .leaflet-popup-content p {
    text-align: left !important;
}

/* 9. Prenotazione: pannello pieno, caselle delle date, riepilogo notti, contatori e calendario
   Le parti fr-* (riepilogo, contatori, banda del periodo) sono create dallo script fr-moderno del CMS. */
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom {
  --fr-ink: #2b2b2b;
  --fr-muto: #7a6e64;
  --fr-bordo: #E4DDD2;
  --fr-banda: #f2dfe2;
}
/* pannello pieno (non più trasparente sulla pagina) */
html body:not(#mA):not(#mB) #frHeader .fastreservation.apertura-full { background: #f1efed !important; color: var(--fr-ink); }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .contenitore-fr { background: transparent !important; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .laterale-fr { background-size: cover !important; background-position: center !important; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .component_fr::before { display: none !important; }

/* modulo su due colonne: arrivo | partenza, riepilogo, persone | codice, pulsante */
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom form {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  width: min(560px, 100%) !important;
  flex-direction: initial !important;
  background: transparent !important;
}
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom form::before {
  content: "Prenota il tuo soggiorno";
  grid-column: 1 / -1;
  margin-bottom: 18px;
  font-family: var(--font-family-2);
  font-size: clamp(32px, 2.6vw, 42px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.01em;
  text-align: left;
  color: var(--fr-ink);
}

/* campi: riquadri bianchi */
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom form > .component_fr:not(.prencanc_fr) {
  position: relative;
  width: auto !important;
  max-width: none !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px 12px;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 18px 22px 20px !important;
  align-content: flex-start;
  border: 1px solid var(--fr-bordo) !important;
  border-radius: 2px;
  background: #ffffff !important;
  cursor: pointer;
  transition: border-color .25s ease, box-shadow .25s ease;
}
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom form > .component_fr:not(.prencanc_fr):hover,
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom form > .component_fr:not(.prencanc_fr):focus-within {
  border-color: var(--rosso) !important;
  box-shadow: 0 14px 34px -22px rgba(36, 33, 30, .5);
}
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .labelfastr {
  width: 100%;
  margin: 0 !important;
  font-family: var(--font-family-2) !important;
  font-size: 10.6px !important;
  font-weight: 500 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: var(--fr-muto) !important;
}
html body:not(#mA):not(#mB):not(#gC):not(#gD) #frHeader .fastreservation.stile-custom form .elem-grande {
  font-family: var(--font-family-2) !important;
  font-size: clamp(40px, 3vw, 48px) !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  color: var(--fr-ink) !important;
}
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .elem-piccolo {
  font-family: var(--font-family-2) !important;
  font-size: 12.8px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: capitalize !important;
  color: var(--fr-muto) !important;
}
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .mese.elem-piccolo { color: var(--fr-ink) !important; font-weight: 500; }
html body:not(#mA):not(#mB):not(#gC):not(#gD) #frHeader .fastreservation.stile-custom form .listino.elem-grande { font-size: 20.8px !important; letter-spacing: .06em; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .input_listino .labelfastr::after { content: " \00B7  facoltativo"; letter-spacing: .1em; text-transform: none; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .listino.elem-grande:empty::before {
  content: "Aggiungi codice";
  font-family: var(--font-family-2);
  font-size: 15.2px;
  letter-spacing: 0;
  color: var(--fr-muto);
}
/* testi scritti dal CSS nelle altre lingue del sito */
html:lang(en) body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom form::before { content: "Book your stay"; }
html:lang(en) body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .input_listino .labelfastr::after { content: " \00B7  optional"; }
html:lang(en) body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .listino.elem-grande:empty::before { content: "Add a code"; }


/* contenuto delle caselle numero grande a sinistra, mese / anno / giorno accanto */
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom form > .component_fr:not(.prencanc_fr) { flex-direction: row !important; flex-wrap: wrap !important; align-items: center !important; justify-content: flex-start !important; text-align: left !important; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom form > .component_fr:not(.prencanc_fr) > .blckelem {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: center;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  border: 0 !important;
}
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom :is(.box_data, .box_settimana, .boc_persone, .box_camere) { display: block; text-align: left !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-dropdown { border: 0 !important; background: transparent !important; box-shadow: none !important; }

/* riepilogo notti (dallo script) */
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .fr-riepilogo {
  grid-column: 1 / -1;
  min-height: 1.4em;
  margin: -2px 4px 4px;
  font-family: var(--font-family-2);
  font-size: 14.4px;
  color: var(--fr-muto);
}
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .fr-riepilogo strong { font-weight: 500; color: var(--rosso); }
html body:not(#mA):not(#mB) #slideshow .fastreservation .fr-riepilogo { display: none !important; }

/* pulsante a tutta larghezza */
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .prencanc_fr { grid-column: 1 / -1; width: auto !important; margin-top: 10px; padding: 0 !important; border: 0 !important; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .btn_fastres {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 62px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--rosso) !important;
  color: #ffffff !important;
  font-family: var(--font-family-2) !important;
  font-size: 12.8px !important;
  font-weight: 500 !important;
  letter-spacing: .24em !important;
  transition: background-color .3s ease !important;
}
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .btn_fastres:hover,
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .btn_fastres:focus-visible { background: var(--fr-ink) !important; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .btn_fastres span { color: inherit !important; font: inherit !important; letter-spacing: inherit !important; }

/* X di chiusura: cerchio sottile */
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .btn-chiudiFR {
  top: 32px !important;
  right: 32px !important;
  width: 50px;
  height: 50px;
  padding: 0 !important;
  border: 1px solid var(--fr-bordo) !important;
  border-radius: 50%;
  background: #ffffff !important;
  color: var(--fr-ink) !important;
  font-size: 20.8px !important;
  line-height: 1 !important;
  transition: background-color .25s ease, color .25s ease;
}
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .btn-chiudiFR:hover { background: var(--fr-ink) !important; color: #ffffff !important; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .btn-chiudiFR i { color: inherit !important; }

/* calendario: posizione sotto il campo (solo nel pannello; nella testata si apre verso l'alto) */
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .datepicker-dropdown { top: calc(100% + 8px) !important; left: -1px !important; padding: 0 !important; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .checkout .datepicker-dropdown { left: auto !important; right: -1px !important; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .datepicker-dropdown::before,
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .datepicker-dropdown::after { display: none !important; }

/* calendario: aspetto (pannello e testata) */
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-picker {
  width: 330px;
  padding: 18px 16px 14px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 30px 70px -30px rgba(36, 33, 30, .5), 0 0 0 1px rgba(36, 33, 30, .05) !important;
}
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-title { display: none !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-header { padding: 0 !important; border: 0 !important; background: transparent !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-controls { display: flex !important; align-items: center; padding: 0 0 10px !important; border: 0 !important; background: transparent !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-controls .button {
  height: 36px;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--fr-ink) !important;
  box-shadow: none !important;
}
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-controls .view-switch {
  flex: 1;
  order: 2;
  font-family: var(--font-family-2) !important;
  font-size: 20.8px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: capitalize !important;
}
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-controls .prev-btn { order: 1; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-controls .next-btn { order: 3; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-controls :is(.prev-btn, .next-btn) {
  width: 36px;
  padding: 0 !important;
  border: 1px solid var(--fr-bordo) !important;
  font-family: var(--font-family-2) !important;
  font-size: 14.4px !important;
}
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-controls :is(.prev-btn, .next-btn):hover:not(:disabled) { background: var(--fr-ink) !important; color: #ffffff !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-controls .prev-btn:disabled { opacity: .3; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .dow {
  height: 28px;
  font-family: var(--font-family-2) !important;
  font-size: 10.2px !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--fr-muto) !important;
}
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day {
  height: 40px !important;
  line-height: 40px !important;
  margin: 1px 0;
  border-radius: 999px !important;
  background: transparent !important;
  font-family: var(--font-family-2) !important;
  font-size: 14.4px !important;
  color: var(--fr-ink) !important;
  transition: background-color .15s ease, color .15s ease;
}
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day:not(.disabled):hover { background: #f1efed !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day:is(.prev, .next):not(.disabled) { color: #B8AFA3 !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day.disabled {
  color: #D6CFC5 !important;
  text-decoration: line-through;
  text-decoration-color: rgba(214, 207, 197, .8);
  cursor: default;
}
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day.today:not(.selected):not(.fr-inizio):not(.fr-fine) { box-shadow: inset 0 0 0 1px var(--color2); }
/* periodo scelto: banda chiara fra arrivo e partenza, estremi pieni */
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day.fr-periodo { border-radius: 0 !important; background: var(--fr-banda) !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day:is(.selected, .fr-inizio, .fr-fine) { background: var(--rosso) !important; color: #ffffff !important; font-weight: 500; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day.fr-inizio:not(.fr-fine) { border-radius: 999px 0 0 999px !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day.fr-fine:not(.fr-inizio) { border-radius: 0 999px 999px 0 !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day.selected:not(.fr-inizio):not(.fr-fine):not(.fr-periodo) { background: transparent !important; color: var(--fr-ink) !important; font-weight: 400; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day.selected.fr-periodo:not(.fr-fine) { background: var(--fr-banda) !important; border-radius: 0 !important; color: var(--fr-ink) !important; font-weight: 400; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-cell.day.fr-inizio { text-decoration: none; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .datepicker-footer { display: none !important; }
/* griglia dei giorni a tutta larghezza */
html body .datepicker-dropdown :is(.datepicker-main, .datepicker-view, .datepicker-view .days, .datepicker-view .days-of-week, .datepicker-grid) { width: 100% !important; max-width: none !important; }
html body .datepicker-dropdown .datepicker-view .days { flex: 1 1 auto; }

/* riquadri a comparsa di persone e codice promo */
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom :is(.area_input_persone, .area_input_listino) {
  top: calc(100% + 8px);
  left: -1px;
  margin: 0 !important;
  flex-direction: column;
  gap: 14px;
  width: 300px !important;
  padding: 20px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 30px 70px -30px rgba(36, 33, 30, .5), 0 0 0 1px rgba(36, 33, 30, .05) !important;
  cursor: default;
}
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .area_input_listino { left: auto; right: -1px; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom :is(.area_input_persone, .area_input_listino):not(.elementovisible) { pointer-events: none; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom :is(.cont_input_persone, .cont_input_listino) { display: flex; flex-direction: column; gap: 6px; width: 100%; }
/* contatori + / − (dallo script): etichetta e menu a tendina originali nascosti */
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .fr-con-contatore > :is(label, select) { display: none !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .fr-con-contatore { width: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .fr-contatore { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #F0EBE3; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .fr-con-contatore:last-child .fr-contatore { border-bottom: 0; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .fr-contatore__nome { flex: 1; font-family: var(--font-family-2); font-size: 15.2px; color: var(--fr-ink); }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .fr-contatore__btn {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #D8CFC2;
  border-radius: 50%;
  background: #ffffff;
  color: var(--fr-ink);
  font-family: var(--font-family-2);
  font-size: 17.6px;
  line-height: 1;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .fr-contatore__btn:hover:not(:disabled) { border-color: var(--fr-ink); background: var(--fr-ink); color: #ffffff; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .fr-contatore__btn:disabled { opacity: .3; cursor: default; }
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom .fr-contatore__valore { min-width: 26px; text-align: center; font-family: var(--font-family-2); font-size: 22.4px; color: var(--fr-ink); }
/* codice promo */
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .listino_fr { width: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .listino_fr .elemfr { font-family: var(--font-family-2); font-size: 10.6px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--fr-muto); }
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .listinoinput {
  width: 100%;
  height: 46px;
  padding: 0 14px !important;
  border: 1px solid #D8CFC2 !important;
  border-radius: 2px;
  background: #fff !important;
  font-family: var(--font-family-2);
  font-size: 16px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--fr-ink);
}
html body:not(#mA):not(#mB) #frHeader .fastreservation.stile-custom .listinoinput:focus { outline: 0; border-color: var(--rosso) !important; }
/* pulsanti OK dei riquadri */
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom :is(.area_input_persone, .area_input_listino) .chiudi {
  width: 100% !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--fr-ink) !important;
  color: #ffffff !important;
  font-family: var(--font-family-2) !important;
  font-size: 12.2px !important;
  font-weight: 500 !important;
  letter-spacing: .22em !important;
}
html body:not(#mA):not(#mB) :is(#frHeader, #slideshow) .fastreservation.stile-custom :is(.area_input_persone, .area_input_listino) .chiudi:hover { background: var(--rosso) !important; }
/* calendario fuori dal pannello */
.datepicker-title .s_c_picker,
.datepicker-grid .datepicker-cell.selected,
.datepicker-grid .datepicker-cell.selected:hover {
    background-color: var(--rosso);
}

/* 10. Footer: logo bianco sul fondo rosso scuro */
footer .logosito img {
    filter: brightness(0) invert(1);
}

/* colonna Telefono: un numero per riga con il nome sopra (testo personalizzato del footer) */
#sezfooter1 .elem.pers1 {
    display: block;
    text-align: left;
}

#sezfooter1 .md-tel {
    display: block;
    margin-bottom: 10px;
}

#sezfooter1 .md-tel-nome {
    display: block;
    font-size: .78em;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #e9d6c2;
}

#sezfooter1 .md-tel a {
    white-space: nowrap;
}

/* 11. Testi allo scorrimento: dissolvenza e sfocatura (classi fx-text e fx-in messe dallo script fade-txt del CMS) */
.fx-text {
    opacity: 0 !important;
    filter: blur(20px) !important;
    transform: translateY(60px) scale(.95) !important;
    transition:
        opacity 1.4s cubic-bezier(.22, .61, .36, 1),
        filter 1.4s cubic-bezier(.22, .61, .36, 1),
        transform 1.4s cubic-bezier(.22, .61, .36, 1) !important;
    will-change: opacity, filter, transform;
}

.fx-text.fx-in {
    opacity: 1 !important;
    filter: blur(0) !important;
    transform: translateY(0) scale(1) !important;
}


[data-tipopag="privacy"] p, [data-tipopag="privacy"] h2, [data-tipopag="cookie"] p, [data-tipopag="cookie"] h2, [data-tipopag="accessibility"] p, [data-tipopag="accessibility"] h2, [data-tipopag="accessibility"] li, [data-tipopag="accessibility"] h1, [data-tipopag="accessibility"] h3 {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    will-change: inherit !important;
}

button.fa-ax-apri {
    bottom: 70px !important;
}