@media (max-width: 1800px) {
    html {
        font-size: 15px;
    }

    #testo-intro.row.distanza-3 {
        padding-left: 10%;
        padding-right: 10%;
    }

    #experience h3 strong {
        font-size: 2.8rem;
    }
}

@media(max-width: 1600px) {

    html {
        font-size: 14px;
    }

    /* home */

    #prima .col-md-6 img.img-fluid,
    #sezione2 .col-md-12 img.img-fluid {
        height: 100vh;
        object-fit: cover;
    }

    #sez-camere .anteprimacamera.visuale_sovrapposti .blocco_dati {
        width: 40% !important;
    }

    /* servizi */

    section#testo-intro.servizi-due .area,
    section#testo-intro.servizi-tre .area {
        width: calc(33% - 26px);
    }

    section#testo-intro.servizi-due {
        display: flex;
        justify-content: space-between;
    }

    #testo-intro.servizi-due .primo,
    #testo-intro.servizi-tre .primo {
        padding: 50px !important;
    }

    /* SPA */
    #experience .col-sm-12.col-md-3.area.sfondobckg.bckg_responsive.fisso {
        width: 50%;
        border-bottom: 3px solid #fff;
    }
}

@media(max-width: 1400px) {

    footer .logosito img {
        height: 70px;
    }

    #home #slideshow video.cover-video {
        position: relative;
        display: block;
        width: 100%;
        height: 100vh;
        border: 0;
        -o-object-fit: cover;
        object-fit: cover;
    }


    /* home */
    #home #sez-camere .blocco_foto_camera img.img-fluid {
        height: 100svh;
    }

    section#sezione2.emozione {
        margin-top: -50px !important;
    }

    section#sezione3.negativo {
        margin-top: -50px !important;
    }

    /* index camere */

    .index-camere .elemento_sing.el-camera {
        height: 500px;
    }

    .index-camere .blocco_foto_camera {
        height: 500px;
    }

    .index-camere .blocco_foto_camera img {
        height: 500px;
        object-fit: cover;
    }

    #camere-1 .index-camere h3 {
        font-size: 2.3rem;
    }

    /* servizi */
    #testo-intro.row.distanza-3 {
        padding-left: 0%;
        padding-right: 0%;
        padding-top: 0;
        padding-bottom: 0;
    }

    #servizi #testo-intro p {
        margin-right: 0;
        margin-bottom: 0;
    }

    /* servizi */

    section#testo-intro.servizi-due .area,
    section#testo-intro.servizi-tre .area {
        width: calc(33% - 27px);
    }

    /* ristoranti */

    #ristoranti .col-sm-12.col-md-4.area {
        width: 100%;
    }

    #ristoranti .col-sm-12.col-md-4.area:nth-child(2) {
        padding-top: 0;
        padding-bottom: 0;
    }

    #ristorante #testo-intro h3 img {
        height: 50px;
    }

    /* mappa */

    #sezione4.dintorni .col-md-5,
    #sezione4.dintorni .col-md-7 {
        width: 100%;
        display: flex;
    }

}

@media (max-width: 1300px) {

    html {
        font-size: 13px;
    }

    /* gsap risto */
    section#risto {
        height: 100vh !important;
        object-fit: cover !important;
    }

    section#risto .contenGspOriz .pannellogsp>div,
    section#risto .contenGspOriz .pannellogsp div>div {
        height: 100svh !important;
    }


    section#risto img.img-fluid {
        height: 100vh;
        object-fit: cover;
    }

    /* gsap risto */

}

@media(max-width:1200px) {

    /* font-size */

    .primo h1,
    h1,
    .primo h3 strong,
    #testo-intro h3 strong,
    .recensioni-titolo h4 strong,
    #titolo-camere h3 strong,
    #sez-camere h3,
    #foto-home h3 strong,
    #experience h3 strong {
        font-size: 2.8rem;
    }

    .primo h1 strong {
        font-size: 3.5rem;
    }

    /* home */

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

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

    .blocco_dati h3 img {
        height: 50px;
    }

    section#sezione2.video {
        display: flex;
        flex-direction: column-reverse;
    }

    #sezione2 .col-sm-12.col-md-6.area.spa {
        width: 100%;
        padding-left: 20%;
        padding-right: 20%;
        padding-top: 10%;
        padding-bottom: 0;
    }

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

    #sezione2.video .col-sm-12.col-md-6 {
        width: 100%;
    }

    #sezione2.video .primo>div {
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    #sezione2.video .primo p {
        text-align: center !important;
    }

    section#sezione3.negativo {
        display: flex;
        flex-direction: column;
    }

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

    #sezione3.negativo .col-sm-12.col-md-6.area {
        width: 100%;
        padding-left: 20%;
        padding-right: 20%;
    }

    #sezione3 .col-sm-12.col-md-6.area {
        width: 100%;
    }

    #sezione3 .col-sm-12.col-md-6.area:nth-child(3) {
        width: 100%;
        padding-left: 20%;
        padding-right: 20%;
        padding-bottom: 0;
        padding-top: 10%;
    }

    #sezione3.negativo .col-sm-12.col-md-6.area:nth-child(2) {
        padding-left: 0;
        padding-right: 0;
    }

    #sezione3.negativo .primo>div {
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    #sezione3.negativo .primo h3,
    #sezione3.negativo .primo p,
    #sezione3 .primo h3,
    #sezione3 .primo p {
        text-align: center !important;
    }

    #sezione3.fisso .primo>div {
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    /* camera */

    #sezione2 .col-sm-12.col-md-6 {
        width: 100%;
    }

    #camera #sezione2>div:nth-child(2) {
        padding-top: 60px;
    }

    #camera #sezione2 .col-sm-12.col-md-6.area.spa {
        padding-bottom: 10%;
    }

    #camera #sezione2 .col-md-12 img.img-fluid {
        height: auto;
    }

    /* SPA */

    #spa #testo-intro .col-sm-12.col-md-6 {
        width: 100%;
    }

    #spa #testo-intro {
        display: flex;
        flex-direction: column-reverse;
        min-height: auto !important;
    }

    #testo-intro .camere-sx-1 {
        min-height: 100vh;
        /* altezza 100% viewport */
        background-size: cover;
        /* riempie tutto */
        background-position: center;
        background-repeat: no-repeat;
    }

    /* ristorante */
    #ristorante #sezione2 .col-sm-12.col-md-6.area.spa {
        padding-bottom: 10%;
    }

    /* villa */

    #spa.spa section#foto {
        padding-top: 40px;
    }
}
@media(max-width: 1100px){
        /* orizzonte */

    #home #sezione2.emozione .col-md-12 img.img-fluid {
        height: auto;
    }

    #home #sezione2.emozione .col-sm-12.col-md-2.area.sezione-2-1 {
        display: none;
    }

    #home #sezione2.emozione .col-sm-12.col-md-10.area.sezione-2-2 {
        width: 100%;
        margin-left: 8%;
        width: 84%;
        margin-right: 8%;
    }

    #home section#sezione2.emozione {
        min-height: auto !important;
    }

    #home section#sezione3.negativo {
        margin-top: 8% !important;
    }

    #home section#foto-home {
        min-height: auto !important;
    }

    #home #sez-camere .blocco_foto_camera img.img-fluid, #home #sez-camere.contenGspVert .pannellogsp {
    height: 60svh !important;
    }

    #home #sez-camere h3 {
        padding-top: 50%;
    }
}

@media (max-width: 992px) {

    /* header */

    #menu_header.grndm .areamenu {
        padding-top: 40px;
        flex-direction: column;
        align-items: center;
        display: flex;
        justify-content: flex-start;
    }

    #menu_header.navbar-menu.menumobile.menu-aperto.bm li.nav-item .nav-link,
    #menu_header.navbar-menu.menumobile.menu-aperto.bm .chiudi_menumobile,
    li.nav-item.liv1.azioneher.prenotazioni a {
        color: var(--color2);
    }


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

    header#header {
        height: 90px;
    }

    .chiudi_menumobile {
        right: 5%;
    }

    #frHeader div.fastreservation .contenitore-fr {
        grid-column-start: 1 !important;
        grid-column-end: 3 !important;
    }

    .colheader.ch4 {
        position: fixed;
        top: 0;
        width: 90px;
        height: 90px;
        right: 0;
        justify-content: center;
    }

    .colheader.ch2 {
        order: 3;
    }

    .colheader.ch1 {
        width: 90px;
        display: flex;
        justify-content: flex-start;
        height: 90px;
        align-items: center;
    }

    #header .sezheader {
        display: flex;
        justify-content: space-between;
        height: 90px;
    }

    .colheader.ch2 {
        width: calc(100% - 180px);
        display: flex;
        justify-content: center;
        position: fixed;
        left: 90px;
        height: 90px;
        align-items: center;
    }

    .colheader.ch3 {
        width: 100%;
        position: fixed;
        bottom: 0;
        border: none;
        z-index: 6;
        top: inherit !important;
        right: 0 !important;
    }

    nav.navmenu-lingue button {
        margin-right: 10px;
    }

    #menu_header .nav-item ul>li a {
        display: flex;
        flex-direction: column;
    }

    #header.pos_absolute button.button.button--standard.button--size-l.button--text-thin.btn-apriFR {
        border-left: none;
        background: transparent;
        border-top: 1px solid;
    }

    #header.pos_fixed button.button.button--standard.button--size-l.button--text-thin.btn-apriFR {
        border-left: none;
        background: #d18874;
    }

    #menu_header .nav-item ul.sottomenu.liv2 {
        margin-top: 0 !important;
    }

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

    #header.pos_fixed {
        height: 90px;
    }

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

    .laterale-fr {
        display: none !important;
    }

    div.fastreservation.apertura-full {
        display: flex;
    }

    #frHeader div.fastreservation .contenitore-fr {
        width: 100%;
    }

    #header a.logosito img {
        height: 60px !important;
        max-height: 60px !important;
    }

    .colheader.ch4 {
        display: flex;
        align-items: center;
    }

    #header.pos_fixed a.logosito img {
        width: 150px;
        height: auto !important;
        max-height: 150px !important;
    }

    /* header */


    /* elimina stile gsap orizzontale */
    div.pin-spacer {
        height: max-content !important;
        padding: 0 !important;
    }

    .contenGspOriz .pannellogsp,
    #sez-camere.contenGspVert .pannellogsp {
        display: flex;
        justify-content: center;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: unset;
        height: auto;
        transform: none !important;
        margin: 0;
        border-right: none;
    }

    section.contenGspOriz,
    #sez-camere.contenGspVert {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        width: auto !important;
        transform: none !important;
        height: auto !important;
        margin-top: 10px !important;
    }

    .anteprimacamera.visuale_sovrapposti .blocco_dati {
        padding: 2%;
        display: block;
        left: auto !important;
        right: auto !important;
        align-items: unset;
    }

    /* elimina stile gsap orizzontale */

    #slideshow .col-sm-12.col-md-12.area {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    #footer .sezfooter {
        display: flex;
        flex-direction: column;
        width: 100% !important;
        align-items: center;
    }

    #footer {
        display: flex;
        flex-direction: column;
        padding-bottom: 50px;
    }

    #footer #sezfooter3 {
        padding-top: 40px;
        display: flex;
        align-items: center;
        text-align: left;
        padding-left: 0;
        flex-direction: column;
        padding-right: 0;
        padding-bottom: 140px;
    }

    #footer #sezfooter3 .datiaziendali {
        text-align: left;
        display: flex;
        align-items: center;
        flex-direction: column;
        align-content: center;
    }

    #sezfooter1 .label {
        text-align: center !important;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #footer span.elem,
    #footer span.elem {
        display: block;
    }

    span.elemsocial {
        display: inline;
        text-align: center;
        float: none;
    }

    span.elemsocial i {
        font-size: 25px;
    }

    #footer p {
        font-size: 1.5rem;
    }

    #footer #sezfooter3 .datiaziendali .dat-aziend {
        display: contents;
    }

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


    button.multilingue span,
    nav.navmenu-lingue ul.sottolingue-attivo {
        font-size: 1.2rem;
        letter-spacing: 1px;
        font-weight: 500;
    }

    #menu_header.grndm .areabck {
        position: absolute;
        width: 100%;
    }

    #menu_header.grndm .areamenu {
        width: 100%;
    }

    #menu_header.navbar-menu.menumobile.menu-aperto.nbm .areabck {
        display: none;
    }

    #menu_header.navbar-menu.menumobile.menu-aperto.bm {
        background-color: transparent;
        height: 100dvh !important;
        overflow: hidden !important;
    }

    #menu_header.navbar-menu.menumobile.menu-aperto.nbm li.nav-item .nav-link {
        color: #000;
    }


    nav.navmenu-lingue ul>li {
        height: 90px;
        width: 90px;
    }

    nav.navmenu-lingue ul.sottolingue-attivo {
        top: 90px;
        width: 90px;
    }

    /* home */


    section#risto {
        height: auto !important;
    }

    #prima .col-md-6 img.img-fluid {
        height: auto;
    }

    section#prima {
        display: flex;
        flex-direction: column-reverse;
    }

    section#prima .col-md-6 {
        width: 100%;
    }

    section#foto-home {
        padding-top: 0;
        padding-bottom: 10%;
    }

    .button,
    #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,
    .anteprimacamera a.button p,
    #camere-1 .index-camere a.button p {
        font-weight: 700;
    }

    #sezione3 .spa .acbck_ {
        z-index: -1;
    }

    .testo-sezione-2 h3 {
        display: none;
    }

    .recensioni .item {
        height: 270px;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    .recensioni-titolo h4 {
        padding: 15px;
        position: relative;
    }

    .recensioni h4 {
		padding-left: 30px;
		padding-right: 30px;
    }

    /* Regole non usate dal design, disattivate */
    @media not all {
    section#zoom {
        margin-top: 0 !important;
    }

    #zoom .col-sm-12.col-md-12.colonnaarea {
        height: 90%;
    }

    .row.voti {
        width: 100%;
        margin-left: 0px !important;
        margin-right: 0px !important;
        padding: 30px;
        margin-top: 30px !important;
        position: relative;
    }

    .voti .col-sm-12 {
        width: 100%;
        padding: 50px;
        padding-top: 0;
        padding-bottom: 0;
    }

    section#zoom {
        background-color: #52413c;
        padding: 40px;
        display: block;
    }

    .voti h4 {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2.8rem;
        line-height: 1.3;
        margin-top: 10px;
    }

    .voti h4 img {
        height: 30px;
        margin-bottom: 30px;
    }

    .voti .col-sm-12:nth-child(1) h4 img {
        height: 35px;
    }

    .scrolling {
        bottom: 120px;
    }

    /* camera */

    #slideshow-interno ul.p-slide-control {
        bottom: 120px;
        padding-right: 10px;

    }

    /* servizi */

    #servizi #testo-intro {
        min-height: auto !important;
    }

    #servizi section#sezione3 {
        margin-top: 0 !important;
    }

    #sezione3 .col-md-7.area,
    #sezione3 .col-md-5.area {
        width: 100%;
    }

    #sezione3 .primo p {
        margin-right: 0;
    }

    section#testo-intro.servizi-due .area,
    section#testo-intro.servizi-tre .area {
        width: calc(100% - 27px);
    }

    #testo-intro.servizi-due .primo,
    #testo-intro.servizi-tre .primo {
        padding: 30px !important;
    }

    #servizi #sezione4 .col-sm-12.elemgsp {
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
    }

    #servizi #sezione3 .primo p {
        margin-bottom: 0;
    }

    /* SPA */

    #spa #testo-intro>.col-sm-12.col-md-6:last-of-type {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
        filter: none !important;
    }

    /* ristorante */

    #ristorante section#testo-intro.row.distanza-2 {
        padding-left: 0;
        padding-right: 0;
    }

    /* foto */

    .galleria #foto-home h3 {
        padding-bottom: 50px;
        margin-top: 10px;
    }

    /* mappa */

    #mappa #sezione4 .col-md-6 {
        width: 100%;
    }

    #mappa section#sezione4 {
        display: flex;
        flex-direction: column-reverse;
    }

    #testo-intro2 .col-md-4 {
        width: 100%;
        padding-bottom: 10px;
    }

    div#avacy-floating-resurface {
        bottom: 120px;
    }

    #menu_header .navbar-nav-menu.liv1 {
        width: 90%;
        padding-top: 100px;
    }

    #home #slideshow h3 {
        font-size: 2rem;
        line-height: 1.2;
    }

    #home #slideshow h3 strong {
        font-size: 2.5rem;
    }
	
    #menu_header .navbar-nav-menu.liv1 {
        grid-template-columns: 1fr;
    }

    #camera #sez-camere .blocco_foto_camera {
        height: 400px;
    }

    #camera #sez-camere .blocco_foto_camera img {
        height: 400px;
        object-fit: cover;
        filter: contrast(0.9);
    }

    section#slideshow-interno, section#slideshow-interno .p-slide, #home section#slideshow {
        min-height: 100svh !important;
        height: 100svh !important;
    }
    }
}

@media (max-width: 768px) {
    html {
        font-size: 12px;
    }

    #home #sez-camere h3 {
        padding-top: inherit;
    }
	
    #menu_header .navbar-nav-menu.liv1 {
        grid-template-columns: 1fr;
    }

    #menu_header .navbar-nav-menu.liv1>li>a {
        padding: 3px !important;
        text-transform: uppercase;
    }

    .primo,
    #spa section#titolo-camere {
        padding: 50px !important;
    }

    #sezione3.negativo .col-sm-12.col-md-6.area,
    #sezione2 .col-sm-12.col-md-6.area.spa,
    #sezione3 .col-sm-12.col-md-6.area:nth-child(3) {
        padding-left: 35px;
        padding-right: 35px;
        padding-top: 40px;
    }

    #ristorante #sezione2 .col-sm-12.col-md-6.area.spa {
        padding-bottom: 40px;
    }

    section#titolo-camere {
        padding: 50px;
    }

    #titolo-camere p {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 0;
    }

    #sez-camere .anteprimacamera.visuale_sovrapposti .blocco_dati {
        width: 100% !important;
    }

    #sezione2 .col-md-12 img.img-fluid {
        height: 80vh;
    }

    section#sezione2.emozione {
        min-height: 80vh !important;
    }

    section#striscia {
        height: 60px !important;
    }

    #striscia .col-sm-12.col-md-8 {
        height: 60px;
    }

    section#sezione2.video {
        justify-content: flex-end;
        min-height: 75svh !important;
    }

    #foto-home div#owlcarousel-89 {
        padding: 40px;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }

    #sez-camere.contenGspVert .pannellogsp {
        height: 50vh !important;
    }

    #home #sez-camere .blocco_foto_camera img.img-fluid,
    section#risto img.img-fluid {
        height: 50vh;
    }


    #sez-camere h3 {
        position: relative;
        padding-top: 50%;
    }

    .cbck_108 {
        background: linear-gradient(180deg, rgba(209, 137, 117, 1) 0%, rgba(209, 137, 117, 1) 30%, rgba(255, 255, 255, 1) 30%, rgba(255, 255, 255, 1) 83%, rgba(255, 255, 255, 1) 100%);
    }

    .row.centrale.ao_center.recensioni {
        height: auto;
    }

    #sezione3.negativo .col-sm-12.col-md-6.area {
        padding-top: 5px;
    }


    .row.distanza-2 {
        padding-left: 40px;
        padding-right: 40px;
    }

    #foto-home h3 strong {
        line-height: 1.1;
    }

    .primo h3,
    h3,
    .recensioni-titolo h4 {
        line-height: 1.2;
    }

    #risto.contenGspOriz .pannellogsp:nth-child(3) h3 img {
        height: 70px;
    }

    #menu_header li.nav-item.liv1.azioneher.prenotazioni a {
        padding: 20px !important;
        line-height: 1rem;
    }

    .recensioni h4 {
        padding-right: 0;
        text-align: left !important;
        display: block;
    }

    .recensioni h5,
    .recensioni h6 {
        margin-right: 40px;
        font-size: 1.4rem;
    }

    section#faq {
        padding: 30px;
        padding-top: 50px;
        padding-bottom: 40px;
    }

    .faq-item .faq-question {
        font-weight: 500;
        line-height: 1.4;
    }

    .faq-item .faq-answer>* {
        font-size: 1.3rem !important;
        line-height: 1.8em !important;
    }

    /* index camere */

    #slideshow-interno h1 strong {
        font-size: 3rem;
    }

    #slideshow-interno .area {
        display: flex;
        justify-content: center;
    }

    #testo-intro .col-sm-12.col-md-6.area.camere-sx-1 {
        display: flex !important;
        height: 100svh !important;
        min-height: 100svh !important;
        z-index: 1;
    }

    .index-camere section#testo-intro {
        height: auto !important;
        min-height: auto !important;
        display: flex;
        flex-direction: column-reverse;
    }

    .index-camere section#camere-1 {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .index-camere .elemento_sing.el-camera {
        margin-top: 0;
        margin-bottom: 25px;
        padding-left: 45px;
        padding-right: 45px;
    }

    .anteprimacamera.visuale_sovrapposti .blocco_dati {
        display: flex;
        align-items: center !important;
    }

    #camere-1 .index-camere h3,
    #camere-1 .index-camere p {
        text-align: center !important;
        width: 100%;
    }

    .index-camere .anteprimacamera a.button {
        float: none !important;
    }

    /* camera */
    #camera #sezione2 .col-sm-12.col-md-6.area.spa {
        padding-bottom: 40px;
    }

    #camera #titolo-camere .row .col-sm-12.elemgsp {
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }

    #camera #sez-camere .blocco_foto_camera {
        height: 400px;
    }

    #camera #sez-camere .blocco_foto_camera img {
        height: 400px;
        object-fit: cover;
        filter: contrast(0.9);
    }

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

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

    #camera #sez-camere h3 {
        padding-top: 0;
    }

    /* SPA */

    #experience .col-sm-12.col-md-3.area.sfondobckg.bckg_responsive.fisso {
        width: 100%;
        height: 400px;
    }

    #experience {
        height: auto !important;
    }

    #experience .col-sm-12.col-md-3.area.sfondobckg.bckg_responsive.fisso div.colonnaarea {
        height: 100%;
        display: flex;
        align-items: center;
    }

    #experience .col-sm-12.col-md-3.area.sfondobckg.bckg_responsive.fisso div.colonnaarea p {
        text-align: center !important;
    }

    #experience .col-sm-12.elemgsp {
        translate: none !important;
        transform: none !important;
        opacity: 1 !important;
        scale: none !important;
        z-index: 1;
    }

    /* ristorante */

    #ristorante #sezione2 h4 {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        line-height: 2;
        margin-bottom: 20px;
    }

    #ristorante #sezione2 .primo .col-sm-12:nth-child(2) {
        margin-bottom: 30px;
    }

    #ristorante #sezione2 .primo .col-sm-12:nth-child(2) a.button,
    #ristorante #sezione2 .primo .col-sm-12:nth-child(3) a.button {
        width: 200px;
        text-align: center;
    }

    #ristorante section#testo-intro {
        border: 40px solid #d18874;
        margin: 20px;
        border-bottom: none;
        margin-bottom: 0;
    }

    #ristorante section#ristoranti {
        margin: 20px;
        border: 40px solid #d18874;
        margin-top: 0;
        border-top: none;
    }

    #ristorante #testo-intro .row.centrale.ao_center.primo {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    #ristorante #ristoranti .row.ao_left {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    #ristorante section#testo-intro.terrazza {
        border: 20px solid #d18874;
        margin-bottom: 40px;
    }

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

    #ristoranti .col-sm-12.col-md-4.area.uno,
    #ristoranti .col-sm-12.col-md-4.area.due {
        padding-bottom: 40px;
    }

    /* foto */

    .galleria #foto-home .col-md-4 {
        width: 100%;
    }

    .galleria #foto-home .col-md-2,
    .galleria #foto-home .col-md-3 {
        width: 50%;
    }

    #foto-home .col-sm-12.elemgsp {
        transform: none !important;
        opacity: 1 !important;
        filter: none !important;
    }

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

    /* mappa */

    section#testo-intro2 {
        padding-left: 50px;
        padding-right: 50px;
    }
}

@media (max-width: 710px) {
    #sez-camere h3 {
        padding-top: 20%;
    }
}

@media(max-width: 500px) {

    #ristorante section#testo-intro,
    #ristorante section#ristoranti {
        margin: 0;
    }

    #ristorante section#ristoranti {
        margin-bottom: 40px;
    }
}

@media(max-width: 440px) {

    /* header */

    .datepicker-picker {
        width: 270px !important;
    }

    .datepicker-view {
        width: 265px !important;
    }

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

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

    .datepicker-picker {
        font-family: var(--font-family-2);
        font-weight: 600;
    }

    #frHeader div.fastreservation .contenitore-fr .datepicker,
    .datepicker-title .s_c_picker,
    .datepicker-controls .view-switch,
    .datepicker span {
        font-weight: 500 !important;
    }

    /* header */

    .primo h1,
    h1,
    .primo h3 strong,
    #testo-intro h3 strong,
    .recensioni-titolo h4 strong,
    #titolo-camere h3 strong,
    #sez-camere h3,
    #foto-home h3 strong,
    #experience h3 strong {
        font-size: 2.6rem;
    }

    h3,
    .primo h3,
    .recensioni-titolo h4,
    #titolo-camere h3,
    #foto-home h3 {
        font-size: 1.8rem;
    }

    section#sezione2.emozione {
        min-height: 70vh !important;
        height: 70vh;
    }

    #sez-camere .anteprimacamera.visuale_sovrapposti .blocco_dati {
        background: #35353552;
    }


    #sez-camere h3,
    #sez-camere p {
        color: var(--color1);
    }

    #sez-camere p img {
        filter: invert(1);
    }

    p,
    .recensioni p {
        font-size: 1.4rem;
    }

    .primo,
    #spa section#titolo-camere {
        padding: 40px !important;
    }

    .button,
    #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,
    .anteprimacamera a.button p {
        font-size: 1rem;
    }

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

    section#titolo-camere {
        padding: 40px;
    }

    .voti h4 {
        display: flex;
        font-size: 2rem;
        align-items: center;
        justify-content: flex-start;
    }

    .home-c-1 .col-sm-12.cont_sing {
        opacity: 1;
        transition: none !important;
        transform: none !important;
    }

    #sezione2 .col-sm-12.col-md-6.area.spa {
        padding-left: 30px;
        padding-right: 30px;
    }

    .anteprimacamera.visuale_sovrapposti .blocco_dati {
        border-top: 1px solid #fff;
    }

    #striscia .acbck_ {
        background-color: #e7dfd5 !important;
    }

    .recensioni .item {
        height: 370px;
		width: 100%;	   
    }

    .menu-aperto .navbar-nav-menu li.nav-item .nav-link {
        font-size: 1.6rem;
    }

    .recensioni h5,
    .recensioni h6 {
        margin-right: 25px;
    }

    .recensioni h4 {
        font-size: 1.6rem;
    }

    #sez-camere h3 {
        padding-top: 50%;
    }

    #home section#sezione3.negativo {
        margin-top: 0% !important;
    }							 
    /* index camere */

    #slideshow-interno h1 strong {
        font-size: 2.5rem;
    }

    .index-camere .elemento_sing.el-camera {
        height: 400px;
    }

    .index-camere .blocco_foto_camera {
        height: 400px;
    }

    .index-camere .blocco_foto_camera img {
        height: 400px;
        object-fit: cover;
    }

    .index-camere .elemento_sing.el-camera {
        padding-left: 0;
        padding-right: 0;
    }

    .index-camere section#camere-1 {
        padding-left: 0;
        padding-right: 0;
    }

    .index-camere .elemento_sing.el-camera {
        margin-bottom: 1px;
    }

    .anteprimacamera.visuale_sovrapposti .blocco_dati {
        padding: 0 !important;
    }

    #testo-intro .camere-dx-1 {
        opacity: 1 !important;
        transition: none !important;
        transform: none !important;
        filter: none !important;
    }

    section#slideshow-interno,
    section#slideshow-interno .p-slide,
    #home section#slideshow {
        min-height: 100svh !important;
        height: 100svh !important;
    }

    #sezione2.emozione .sezione-2-1 {
        display: none;
    }

    section#sezione3.negativo {
        margin-top: -25px !important;
    }

    /* camera */

    #camera #striscia .acbck_ {
        background: #d18874 !important;
    }

    /* ristorante */

    #ristorante #testo-intro p {
        text-align: center !important;
    }

    h4 img {
        margin-top: 10px;
    }

    #ristorante #testo-intro h3,
    #ristorante #testo-intro h4,
    #ristorante #testo-intro p {
        text-align: center !important;
        justify-content: center !important;
    }

    .area.uno .row.ao_left>.col-sm-12:nth-child(2),
    .area.due .row.ao_left>.col-sm-12:nth-child(2),
    .area.tre .row.ao_left>.col-sm-12:nth-child(2) {
        display: flex;
        justify-content: center;
    }

    /* mappa */
    section#testo-intro2 {
        padding-left: 40px;
        padding-right: 40px;
        padding-top: 25px;
    }

    #mappa #sezione4.dintorni .primo h3 strong {
        font-size: 2.4rem;
    }


    .faq-item img {
        width: 20px;
        height: auto;
    }

    #menu_header.grndm .areamenu {
        border: none;
        padding-top: 0;
        height: 100dvh !important;
    }

    #home #slideshow h3 strong {
        font-weight: 500;
    }

    #home #slideshow {
        position: relative;
        overflow: hidden;
    }

    #home #slideshow .bck_video {
        position: absolute;
        inset: 0;
        z-index: 0;
    }

    #home #slideshow .bck_video video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #home #slideshow .col-sm-12.col-md-12.area,
    #home #slideshow .col-sm-12.col-md-12.colonnaarea,
    #home #slideshow .row.centrale.ao_center,
    #home #slideshow h3 {
        position: relative;
        z-index: 2;
    }


    #home #slideshow .scrolling {
        position: fixed;
        bottom: 160px;
        left: calc(50% - 20px);
        z-index: 3;
        transform: translateX(-50%);

    }

    #home #slideshow .scrolling img {
        position: fixed;
        width: 40px;
        height: 40px;
    }


}

@media(max-width: 390px) {

    .recensioni .item {
        height: 450px;
    }
}

@media(max-width: 360px) {

    .primo h1 strong {
        font-size: 3rem;
    }

    .primo h1,
    h1,
    .primo h3 strong,
    #testo-intro h3 strong,
    .recensioni-titolo h4 strong,
    #titolo-camere h3 strong,
    #sez-camere h3,
    #foto-home h3 strong,
    #experience h3 strong {
        font-size: 2.4rem;
    }
}

/* PERSONALIZZAZIONI: 1. Telefono  2. Articoli del blog  3. Tablet  4. Menu sopra il footer  5. Prenotazione e pulsanti flottanti  6. Pulsanti in basso  7. Chat HoteliHer  8. Selettore lingue  9. Stabilità del caricamento  10. Telefono in orizzontale  11. Titoli che si colorano  12. Testi minimi su computer */

/* 1. TELEFONO (FINO A 767PX) */
@media (max-width: 767px) {
  html body:not(#m0):not(#m1):not(#m2) #article > section.row:not(#slideshow):not(#slideshow-interno) {
    flex-wrap: wrap !important; flex-direction: column !important; min-height: 0 !important; height: auto !important;
  }
  html body:not(#m0):not(#m1):not(#m2) #article > section.row:not(#slideshow):not(#slideshow-interno) > .area {
    width: 100% !important; max-width: 100% !important; min-width: 0 !important; flex: 0 0 auto !important;
    padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; min-height: 0 !important;
  }
  html body:not(#m0):not(#m1):not(#m2) #article > section.row:not(#slideshow):not(#slideshow-interno) > .area > .colonnaarea {
    width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin-left: 0 !important; margin-right: 0 !important;
  }
  /* griglie interne a una colonna */
  html body:not(#m0):not(#m1):not(#m2) #article > section.row:not(#slideshow):not(#slideshow-interno) .row.centrale {
    grid-template-columns: minmax(0, 1fr) !important; column-gap: 0 !important;
  }
  /* margini dei testi: 24px ai lati */
  html body:not(#m0):not(#m1):not(#m2) #article > section.row:not(#slideshow):not(#slideshow-interno):not(#punti-di-forza):not(#faq):not(#blog-home):not(#exp-apertura) > .area:has(p, h1, h2, h3, h4) > .colonnaarea {
    padding: 56px 24px !important; box-sizing: border-box !important;
  }
  /* niente rientri laterali: i margini sono nelle colonne */
  html body:not(#m0):not(#m1):not(#m2) #article > section.row:not(#slideshow):not(#slideshow-interno):not(#punti-di-forza) { padding-left: 0 !important; padding-right: 0 !important; }
  /* spazi verticali delle sezioni azzerati: li danno le colonne */
  html body:not(#m0):not(#m1):not(#m2) #article > section.row:not(#slideshow):not(#slideshow-interno) { padding-top: 0 !important; padding-bottom: 0 !important; }
  /* chat HoteliHer sopra la fascia Prenota ora */
  html body:not(#m0):not(#m1):not(#m2) #min_hotelier { bottom: calc(108px + env(safe-area-inset-bottom, 0px)) !important; right: 8px !important; }
  /* animazioni di entrata: solo dissolvenza, niente spostamenti laterali */
  html body:not(#m0):not(#m1):not(#m2) #article .elemgsp, html body:not(#m0):not(#m1):not(#m2) #article .fx-text { translate: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #article .elemgsp { transform: none !important; }
  /* logo dopo lo scorrimento */
  html body:not(#m0):not(#m1):not(#m2) #header.pos_fixed a.logosito img { width: auto !important; height: 36px !important; max-height: 36px !important; }

  /* HOME - TESTATA: riga del titolo a tutta larghezza */
  html body:not(#m0):not(#m1):not(#m2) #slideshow > .area > .colonnaarea { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
  html body:not(#m0):not(#m1):not(#m2) #slideshow .row.end.ao_center { position: absolute !important; left: 0 !important; right: 0 !important; top: auto !important; bottom: 24% !important; width: 100% !important; transform: none !important; justify-content: flex-start !important; }
  html body:not(#m0):not(#m1):not(#m2) #slideshow .row.end.ao_center > div { width: 100% !important; }
  /* freccia scorri agganciata in basso alla testata */
  html body:not(#m0):not(#m1):not(#m2) #slideshow .row.scrolling { position: absolute !important; top: auto !important; bottom: 118px !important; left: 0 !important; right: 0 !important; width: 100% !important; height: 40px !important; transform: none !important; display: flex !important; justify-content: center !important; }
  html body:not(#m0):not(#m1):not(#m2) #slideshow .row.scrolling :is(.cont_sing, figure, picture) { position: static !important; width: 36px !important; height: 36px !important; margin: 0 !important; transform: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #slideshow .row.scrolling img { width: 36px !important; height: 36px !important; }
  html body:not(#m0):not(#m1):not(#m2) #slideshow .row.end.ao_center h3 { width: calc(100vw - 48px) !important; max-width: calc(100vw - 48px) !important; margin: 0 24px !important; font-size: 40px !important; line-height: 1.12 !important; }
  /* frasi del claim fisse, una sotto l'altra (animazione solo su tablet e desktop) */
  html body:not(#m0):not(#m1):not(#m2) #slideshow .row.end.ao_center h3.hotel-fade-text { height: auto !important; opacity: 1 !important; transform: none !important; filter: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #slideshow .hotel-fade-text .mft-word { position: static !important; display: block !important; opacity: 1 !important; filter: none !important; transform: none !important; translate: none !important; width: 100% !important; transition: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #slideshow .hotel-fade-text .mft-word:first-child { font-size: 46px !important; line-height: 1.1 !important; margin: 0 0 14px !important; }
  html body:not(#m0):not(#m1):not(#m2) #slideshow .hotel-fade-text .mft-word + .mft-word { font-size: 24px !important; line-height: 1.3 !important; }
  html body:not(#m0):not(#m1):not(#m2) #slideshow .hotel-fade-text .mft-word + .mft-word b { font-size: 28px !important; display: inline-block; }

  /* PAGINE INTERNE - TESTATA: testo a 24px dal bordo e staccato dalla linea oro verticale */
  html body:not(#m0):not(#m1):not(#m2) #article > section#slideshow-interno:not(#s1):not(#s2):not(#s3):not(#s4) .row.centrale { width: 100% !important; max-width: 100% !important; margin: 0 !important; left: 0 !important; right: auto !important; transform: none !important; translate: none !important; padding-left: 24px !important; padding-right: 24px !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#slideshow-interno:not(#s1):not(#s2):not(#s3):not(#s4) .row.centrale > .col-sm-12 > h1.eb-internal-hero-title { padding-left: 18px !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#slideshow-interno:not(#s1):not(#s2):not(#s3):not(#s4) .row.centrale:has(h1.eb-internal-hero-title) > .col-sm-12:not(:has(h1)) > * { padding-left: 18px !important; }

  /* MENU: voci centrate nello schermo e più grandi */
  html body:not(#m0):not(#m1):not(#m2) #menu_header .areamenu { justify-content: center !important; padding-bottom: 40px !important; }
  html body:not(#m0):not(#m1):not(#m2) #menu_header .liv1 > li > :is(a, button).nav-link { font-size: 18px !important; }

  /* CAMERE - SCHEDE: occhiello leggibile */
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .blocco_dati::before { font-size: 11px !important; letter-spacing: .2em !important; }
  /* CAMERA - CAROSELLO ALTRE CAMERE: pallini oro */
  html body:not(#m0):not(#m1):not(#m2) #tipologie .owl-dot span { background: rgba(126, 103, 56, .35) !important; }
  html body:not(#m0):not(#m1):not(#m2) #tipologie .owl-dot.active span { background: #7E6738 !important; }

  /* LOGO NELL'HEADER prima dello scorrimento: più piccolo */
  html body:not(#m0):not(#m1):not(#m2) #header:not(.pos_fixed) a.logosito img { width: auto !important; height: 46px !important; max-height: 46px !important; }

  /* CAROSELLI FOTO DELLE PAGINE INTERNE: spazio sopra e sotto, frecce staccate dal bordo */
  html body:not(#m0):not(#m1):not(#m2) #article > section.foto-interne:not(#f1):not(#f2):not(#f3):not(#f4) { padding-top: 56px !important; padding-bottom: 64px !important; }

  /* CAMERE - INTRO: titolo bilanciato e staccato dal testo */
  html body:not(#m0):not(#m1):not(#m2) #intro-camere h2 { font-size: 28px !important; line-height: 1.22 !important; text-wrap: balance; margin: 0 0 28px !important; }

  /* PARAGRAFI: stessa grandezza in tutte le pagine */
  html body:not(#m0):not(#m1):not(#m2) #article :is(#primo-blocco-hp, #prima-hp-doppia, #sezione3, .intro-pagina-gen, #intro-camere, #testo-interno-camera, #sezione-2-ristorante, #come-arrivare, section[id^="exp-"]) p:not(.eb-occhiello):not(.eb-cta) { font-size: 16px !important; line-height: 1.7 !important; }
  html body:not(#m0):not(#m1):not(#m2) #article :is(#camere-1, #nuove-tipologie, #tipologie) .testo_camera p { font-size: 15px !important; line-height: 1.65 !important; }

  /* HOME - VALUTAZIONI: quattro riquadri in due righe */
  html body:not(#m0):not(#m1):not(#m2) #eb-ratings .eb-ratings-inner { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; min-height: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #eb-ratings .eb-rating { min-height: 0 !important; padding: 24px 12px !important; }
  html body:not(#m0):not(#m1):not(#m2) #eb-ratings .eb-rating:nth-child(-n+2) { border-bottom: 1px solid rgba(126, 103, 56, .18) !important; }
  html body:not(#m0):not(#m1):not(#m2) #eb-ratings .eb-rating:nth-child(2)::after { display: none !important; }

  /* HOME - PUNTI DI FORZA: scheda con foto a sinistra e testo a destra */
  /* le due colonne diventano una sola, nell'ordine dei numeri 01-06 */
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza > .area, html body:not(#m0):not(#m1):not(#m2) #punti-di-forza > .area > .colonnaarea { display: contents !important; }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza .row.punti-1 { order: 1; }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza .row.punti-4 { order: 2; }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza .row.punti-2 { order: 3; }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza .row.punti-5 { order: 4; }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza .row.punti-3 { order: 5; }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza .row.punti-6 { order: 6; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#punti-di-forza { width: calc(100% - 32px) !important; margin: 72px auto 56px !important; }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza .colonnaarea > .row {
    grid-template-columns: 104px minmax(0, 1fr) !important; column-gap: 18px !important; padding: 20px 16px !important; min-height: 0 !important;
  }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza .cont_sing { aspect-ratio: 3 / 4; align-self: start !important; }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza .cont_sing img { min-height: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza h3 { font-size: 21px !important; line-height: 1.18 !important; }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza h4 { font-size: 15px !important; line-height: 1.55 !important; }

  /* HOME - QUI NON SOGGIORNI: testo sopra la foto */
  html body:not(#m0):not(#m1):not(#m2) #article > section#sezione2 { position: relative !important; margin-top: 0 !important; background-image: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 > .area.sezione-2-1 { display: block !important; position: absolute !important; left: 0; right: 0; bottom: 0; z-index: 3; padding: 0 24px 44px !important; pointer-events: none; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 > .area.sezione-2-1 > .colonnaarea { padding: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 .row.testo-sezione-2 { position: static !important; display: block !important; width: auto !important; transform: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 .testo-sezione-2 button { max-width: 100% !important; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 .testo-sezione-2 h3 { display: block !important; font-size: 22px !important; line-height: 1.2 !important; margin: 0 0 14px !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 .testo-sezione-2 h3 strong { font-size: 44px !important; line-height: 1.05 !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 .testo-sezione-2 h4 { font-size: 15px !important; line-height: 1.5 !important; margin: 0 0 22px !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 .testo-sezione-2 button { pointer-events: auto; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 .testo-sezione-2 > div:nth-child(n+3) { display: block !important; width: 100% !important; margin: 0 0 12px !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 .testo-sezione-2 button { width: 100% !important; max-width: 280px !important; min-height: 48px !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 > .area.sezione-2-2 { transform: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 .sezione-2-2 figure { position: relative; aspect-ratio: 4 / 5; height: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 .sezione-2-2 figure img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione2 .sezione-2-2 figure::after { content: "" !important; position: absolute !important; inset: 0 !important; background: linear-gradient(180deg, rgba(43,30,18,0) 30%, rgba(43,30,18,.82) 100%) !important; opacity: 1 !important; display: block !important; }

  /* HOME - GALLERIA: una foto grande, le altre quadrate su due colonne */
  html body:not(#m0):not(#m1):not(#m2) #article > section#foto-home { padding: 64px 0 56px !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home > .area { transform: none !important; border: 0 !important; background: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home > .area::before, html body:not(#m0):not(#m1):not(#m2) #foto-home > .area::after { display: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home > .area > .colonnaarea { padding: 0 12px !important; border: 0 !important; background: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home h3 { font-size: 30px !important; line-height: 1.2 !important; margin: 0 12px 28px !important; padding: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home :is(.colonnaarea, .row) { padding: 0 !important; margin: 0 !important; height: auto !important; min-height: 0 !important; max-height: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home .row:has(> #galleria-89) { display: block !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home #galleria-89 img { width: 100% !important; height: 100% !important; object-fit: cover !important; transform: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home #galleria-89 picture, html body:not(#m0):not(#m1):not(#m2) #foto-home #galleria-89 figure { width: 100% !important; height: 100% !important; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home #galleria-89 { aspect-ratio: auto !important; max-height: none !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: auto !important; grid-template-rows: none !important; gap: 6px !important; width: 100% !important; height: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home #galleria-89 > div { grid-column: auto !important; grid-row: auto !important; width: 100% !important; height: calc((100vw - 30px) / 2) !important; margin: 0 !important; padding: 0 !important; position: relative !important; overflow: hidden; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home #galleria-89 > div:first-child { grid-column: 1 / -1 !important; height: calc((100vw - 24px) * .75) !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home #galleria-89 > div:nth-child(n+10) { display: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-home #galleria-89 > div > a { width: 100% !important; height: 100% !important; }

  /* HOME - MAGAZINE: solo la colonna centrale */
  html body:not(#m0):not(#m1):not(#m2) #article > section#blog-home > .area:not(:has(h3)) { display: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#blog-home > .area:has(h3) { min-height: 80svh !important; display: flex !important; align-items: center; justify-content: center; transform: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #blog-home > .area > .colonnaarea { padding: 64px 28px !important; height: auto !important; }

  /* HOME - TERRAZZA: un solo bordo sinistro a 24px (occhiello, titolo, testo, pulsanti a tutta larghezza, filetto finale) */
  html body:not(#m0):not(#m1):not(#m2) #sezione3 .row.centrale > div:has(> button) { width: 100% !important; display: flex !important; justify-content: flex-start !important; margin: 0 0 12px !important; padding: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione3 .row.centrale > div > button { width: 100% !important; max-width: none !important; min-height: 52px !important; margin: 0 !important; left: auto !important; transform: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione3 .row.centrale::before { flex: 0 0 100% !important; text-align: left !important; margin-left: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione3 > .area::after { left: 24px !important; right: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione3 > .area::before { left: 65px !important; right: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione3 .row.centrale > div:has(> p) { margin-bottom: 28px !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione3 p { font-size: 15px !important; line-height: 1.7 !important; }
  /* filetto sopra il titolo allineato al rientro del testo */
  html body:not(#m0):not(#m1):not(#m2) #sezione3 > .area:last-of-type .row::after { left: 24px !important; }

  /* HOME - SOPRA LA PIAZZA: filetto e link sullo stesso bordo del titolo; testo come quello delle altre sezioni */
  html body:not(#m0):not(#m1):not(#m2) #prima-hp-doppia .row.centrale.primo::before { margin-left: 0 !important; margin-right: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #prima-hp-doppia > .area:not(.lato-sx) .row.centrale { justify-content: flex-start !important; }
  html body:not(#m0):not(#m1):not(#m2) #prima-hp-doppia p { font-size: 15px !important; line-height: 1.7 !important; text-wrap: pretty; }
  /* gli a capo singoli del testo (pensati per il computer) spezzano male le righe: restano solo le righe vuote tra i paragrafi (nel testo del CMS c'è uno spazio prima di ogni a capo) */
  html body:not(#m0):not(#m1):not(#m2) #prima-hp-doppia p br:not(:has(+ br)):not(br + br) { display: none; }

  /* HOME - CAROSELLO CAMERE: a tutta larghezza, frecce sotto */
  html body:not(#m0):not(#m1):not(#m2) #nuove-tipologie #owlcarousel-1292 { width: 100% !important; }
  html body:not(#m0):not(#m1):not(#m2) #nuove-tipologie .owlbtns { position: relative !important; top: auto !important; bottom: auto !important; left: 0 !important; right: 0 !important; width: 100% !important; height: 48px !important; margin: 8px 0 0 !important; transform: none !important; display: block !important; }
  html body:not(#m0):not(#m1):not(#m2) #nuove-tipologie :is(.owlPrev, .owlNext) { top: auto !important; bottom: 0 !important; width: 48px !important; height: 48px !important; transform: none !important; display: flex !important; align-items: center; justify-content: center; }
  html body:not(#m0):not(#m1):not(#m2) #nuove-tipologie .owlPrev { left: calc(50% - 60px) !important; right: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #nuove-tipologie .owlNext { left: calc(50% + 12px) !important; right: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #nuove-tipologie .owl-dots { margin-top: 14px !important; }
  /* testo della scheda sullo stesso bordo di foto e pulsante */
  html body:not(#m0):not(#m1):not(#m2) #nuove-tipologie .blocco_dati { padding-left: 0 !important; padding-right: 0 !important; }
  /* scheda a tutta la larghezza del carosello: foto, testo e pulsante a 24px dal bordo come il resto della pagina */
  html body:not(#m0):not(#m1):not(#m2) #nuove-tipologie .owl-item .anteprimacamera { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  /* cornici sottili spostate sulle foto: su telefono sembrano residui */
  html body:not(#m0):not(#m1):not(#m2) :is(#nuove-tipologie, #sezione3) figure::before { display: none !important; }
  /* frecce in oro, ben visibili sul fondo chiaro */
  html body:not(#m0):not(#m1):not(#m2) #nuove-tipologie :is(.owlPrev, .owlNext)::before { border-top-color: #7E6738 !important; border-right-color: #7E6738 !important; border-top-width: 1.5px !important; border-right-width: 1.5px !important; }


  /* PAGINE INTERNE - CAROSELLI FOTO: a tutta larghezza, frecce sotto */
  html body:not(#m0):not(#m1):not(#m2) #article .foto-interne .owl-carousel { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #article .foto-interne .row.centrale { padding: 0 16px !important; }
  html body:not(#m0):not(#m1):not(#m2) #article .foto-interne .owlbtns { position: relative !important; top: auto !important; left: 0 !important; right: 0 !important; width: 100% !important; height: 48px !important; margin: 14px 0 0 !important; transform: none !important; display: block !important; }
  html body:not(#m0):not(#m1):not(#m2) #article .foto-interne :is(.owlPrev, .owlNext) { top: 0 !important; bottom: auto !important; width: 48px !important; height: 48px !important; transform: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #article .foto-interne .owlPrev { left: calc(50% - 60px) !important; right: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #article .foto-interne .owlNext { left: calc(50% + 12px) !important; right: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section.foto-interne { padding-bottom: 56px !important; }

  /* EXPERIENCE - TESTATA: foto sopra, testo e pulsante sotto */
  html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura { min-height: 0 !important; height: auto !important; display: block !important; background: var(--eb-carta, #F2EDE3) !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura > .area, html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura > .area > .colonnaarea { min-height: 0 !important; height: auto !important; display: block !important; padding: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura .row { display: block !important; padding: 0 !important; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura .cont_sing { position: relative !important; inset: auto !important; width: 100% !important; height: 62svh !important; min-height: 380px; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura .cont_sing :is(figure, picture, img) { width: 100% !important; height: 100% !important; object-fit: cover !important; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura .cont_sing::after, html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura .cont_sing figure::after { background: linear-gradient(180deg, rgba(43,30,18,.45) 0%, rgba(43,30,18,0) 30%) !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura .cont_sing ~ div { position: static !important; padding: 44px 24px 64px !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura .eb-occhiello { color: #7E6738 !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura h1, html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura h1 strong { color: #2B1E12 !important; text-shadow: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura p:not(.eb-occhiello):not(.eb-cta) { color: #65574E !important; text-shadow: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section#exp-apertura p strong { color: #2B1E12 !important; }

  /* HOME - FAQ: senza immagine di sfondo */
  html body:not(#m0):not(#m1):not(#m2) #faq > .area.sfondobckg { background-image: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #faq > .area > .colonnaarea { padding: 64px 24px !important; }
  html body:not(#m0):not(#m1):not(#m2) #faq .faq-container { width: 100% !important; }
  html body:not(#m0):not(#m1):not(#m2) #faq .faq-question { font-size: 17px !important; }
  html body:not(#m0):not(#m1):not(#m2) #faq h3 { font-size: 30px !important; line-height: 1.2 !important; margin: 0 0 36px !important; padding: 0 0 22px !important; }

  /* PAGINE INTERNE - INTRO: titolo sopra, testo sotto */
  html body:not(#m0):not(#m1):not(#m2) .intro-pagina-gen .row.centrale > .col-sm-12 { grid-template-columns: minmax(0, 1fr) !important; row-gap: 26px !important; column-gap: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) .intro-pagina-gen .row.centrale > .col-sm-12 > * { grid-column: 1 !important; grid-row: auto !important; border-left: 0 !important; padding-left: 0 !important; margin-left: 0 !important; width: auto !important; max-width: none !important; }
  html body:not(#m0):not(#m1):not(#m2) .intro-pagina-gen p { font-size: 16px !important; line-height: 1.7 !important; }

  /* PAGINE INTERNE - FASCIA SCURA CON TITOLO E DUE FOTO */
  html body:not(#m0):not(#m1):not(#m2) #foto-sfondo-interno .row { grid-template-columns: 1fr 1fr !important; gap: 10px !important; padding: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-sfondo-interno .row > div:first-child { grid-column: 1 / -1 !important; width: auto !important; padding: 8px 0 22px !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-sfondo-interno .row > .cont_sing { grid-column: auto !important; grid-row: auto !important; width: 100% !important; height: auto !important; position: relative !important; inset: auto !important; transform: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-sfondo-interno .row > .cont_sing figure { position: relative !important; width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-sfondo-interno .row > .cont_sing figure picture,
  html body:not(#m0):not(#m1):not(#m2) #foto-sfondo-interno .row > .cont_sing figure img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; transform: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #foto-sfondo-interno h3 { font-size: 32px !important; line-height: 1.15 !important; }

  /* RISTORANTE / ROOFTOP - FOTO E TESTO */
  html body:not(#m0):not(#m1):not(#m2) #article > section#sezione-2-ristorante { display: flex !important; grid-template-columns: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione-2-ristorante .cont_sing { justify-content: center !important; padding: 0 24px !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione-2-ristorante .cont_sing figure { position: relative !important; width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; margin: 48px 0 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione-2-ristorante .cont_sing figure picture,
  html body:not(#m0):not(#m1):not(#m2) #sezione-2-ristorante .cont_sing figure img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
  html body:not(#m0):not(#m1):not(#m2) #sezione-2-ristorante p, html body:not(#m0):not(#m1):not(#m2) #sezione-2-ristorante li { font-size: 16px !important; line-height: 1.7 !important; }

  /* RISTORANTE / ROOFTOP - CONTATTI: uno sotto l'altro */
  html body:not(#m0):not(#m1):not(#m2) #contatti-interno .row.centrale > .col-sm-12 { grid-template-columns: minmax(0, 1fr) !important; row-gap: 22px !important; }
  html body:not(#m0):not(#m1):not(#m2) #contatti-interno .row.centrale > .col-sm-12 > p { line-height: 1.6 !important; width: auto !important; border-left: 0 !important; border-right: 0 !important; padding: 0 0 22px !important; border-bottom: 1px solid rgba(126,103,56,.18) !important; text-align: center !important; font-size: 16px !important; }
  html body:not(#m0):not(#m1):not(#m2) #contatti-interno .row.centrale > .col-sm-12 > p strong { font-size: 11px !important; letter-spacing: .2em !important; display: block !important; margin-bottom: 8px !important; }
  html body:not(#m0):not(#m1):not(#m2) #contatti-interno .row.centrale > .col-sm-12 > p a { display: inline-block !important; width: auto !important; padding: 0 !important; word-break: break-word; font-size: 16px !important; }
  /* voci compatte: titolo più vicino, etichetta subito sopra il valore */
  html body:not(#m0):not(#m1):not(#m2) #contatti-interno h3 { margin-bottom: 40px !important; }
  html body:not(#m0):not(#m1):not(#m2) #contatti-interno .row.centrale > .col-sm-12 > p strong { margin-bottom: 4px !important; }
  html body:not(#m0):not(#m1):not(#m2) #contatti-interno .row.centrale > .col-sm-12 > p strong + br { display: none !important; }

  /* CAMERE - ELENCO: una scheda per riga, foto sopra e testo sotto */
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .row.index-camere { grid-template-columns: minmax(0, 1fr) !important; row-gap: 64px !important; }
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .elemento_sing { grid-column: auto !important; height: auto !important; min-height: 0 !important; transform: none !important; margin: 0 !important; width: 100% !important; }
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .anteprimacamera { display: flex !important; flex-direction: column !important; height: auto !important; min-height: 0 !important; grid-template-columns: none !important; gap: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .blocco_foto_camera { width: 100% !important; height: auto !important; min-height: 0 !important; position: relative !important; }
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .blocco_foto_camera figure { position: relative !important; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; margin: 0 !important; overflow: hidden; }
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .blocco_foto_camera figure picture,
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .blocco_foto_camera figure img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .blocco_dati { position: relative !important; left: auto !important; top: auto !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 24px 0 0 !important; transform: none !important; height: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .blocco_dati h3 { font-size: 30px !important; line-height: 1.15 !important; }
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .blocco_dati .testo_camera p { font-size: 15px !important; line-height: 1.65 !important; }

  /* CAMERA - DOTAZIONI: sezione annidata con lo stesso id, elenco su una colonna */
  html body:not(#m0):not(#m1):not(#m2) #secondo-blocco-testo-camera section { height: auto !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; overflow: visible !important; width: 100% !important; }
  html body:not(#m0):not(#m1):not(#m2) #secondo-blocco-testo-camera section > .area { width: 100% !important; max-width: 100% !important; padding: 40px 24px 56px !important; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #secondo-blocco-testo-camera .eb-room-features { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; width: 100% !important; }
  html body:not(#m0):not(#m1):not(#m2) #secondo-blocco-testo-camera .eb-room-feature { grid-template-columns: 34px minmax(0, 1fr) !important; column-gap: 16px !important; align-items: center !important; min-height: 0 !important; padding: 14px 0 !important; border-bottom: 1px solid rgba(126,103,56,.15); }
  html body:not(#m0):not(#m1):not(#m2) #secondo-blocco-testo-camera .eb-room-feature-icon { width: 34px !important; height: 34px !important; }
  html body:not(#m0):not(#m1):not(#m2) #secondo-blocco-testo-camera .eb-room-feature-text { font-size: 15px !important; line-height: 1.45 !important; width: auto !important; }

  /* GALLERY INTERNE: foto grande, due affiancate, foto larga */
  html body:not(#m0):not(#m1):not(#m2) .gallery-interna-editoriale { padding: 0 12px !important; }
  html body:not(#m0):not(#m1):not(#m2) .gallery-interna-editoriale :is(.ebg-chapter, .ebg-tail) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; grid-template-rows: none !important; gap: 8px !important; margin: 0 0 8px !important; }
  html body:not(#m0):not(#m1):not(#m2) .gallery-interna-editoriale :is(.ebg-chapter, .ebg-tail) > div { grid-column: auto !important; grid-row: auto !important; width: 100% !important; height: auto !important; margin: 0 !important; transform: none !important; aspect-ratio: 1 / 1; }
  html body:not(#m0):not(#m1):not(#m2) .gallery-interna-editoriale :is(.ebg-chapter, .ebg-tail) > div:is(.ebg-main, .ebg-tail-main, .ebg-wide) { grid-column: 1 / -1 !important; aspect-ratio: 4 / 3 !important; }
  html body:not(#m0):not(#m1):not(#m2) .gallery-interna-editoriale .ebg-tail--2 > div { grid-column: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) .gallery-interna-editoriale .ebg-finale { display: block !important; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) .gallery-interna-editoriale :is(.ebg-chapter, .ebg-tail, .ebg-finale) :is(a, figure, picture) { display: block !important; width: 100% !important; height: 100% !important; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) .gallery-interna-editoriale :is(.ebg-chapter, .ebg-tail, .ebg-finale) img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

  /* TESTI: a sinistra, centrati solo nelle sezioni con titolo centrato */
  html body:not(#m0):not(#m1):not(#m2) #article p, html body:not(#m0):not(#m1):not(#m2) #article li { text-align: left !important; hyphens: manual; }
  html body:not(#m0):not(#m1):not(#m2) #article :is(#historic, #primo-blocco-hp, #more, #contatti-interno, #exp-chiusura, #foto-home, #blog-home, #mappa-home) :is(p, li) { text-align: center !important; }

  /* TESTI: almeno 11px, pulsanti ed etichette 12,5px */
  html body:not(#m0):not(#m1):not(#m2) :is(.eb-internal-kicker, .eb-rooms-kicker, .eb-scroll-next-label) { font-size: 11px !important; }
  html body:not(#m0):not(#m1):not(#m2) #article :is(a.linkinterno.button, button.button--standard, a.button--standard) { font-size: 12.5px !important; min-height: 44px; }
  html body:not(#m0):not(#m1):not(#m2) #article a.button--standard p { font-size: 12.5px !important; }
  html body:not(#m0):not(#m1):not(#m2) #prima-hp-doppia .centrale > div:last-child { font-size: 12.5px !important; }
  html body:not(#m0):not(#m1):not(#m2) #primo-blocco-hp h2 { font-size: 12.5px !important; }
  html body:not(#m0):not(#m1):not(#m2) #primo-blocco-hp p { text-wrap: pretty; }
  html body:not(#m0):not(#m1):not(#m2) #punti-di-forza h3 { text-wrap: balance; }
  html body:not(#m0):not(#m1):not(#m2) :is(#nuove-tipologie .owl-dots, #sezione3 .row.centrale, #faq .faq-item)::before { font-size: 11px !important; }
  html body:not(#m0):not(#m1):not(#m2) #eb-ratings :is(.stars-base, .stars-fill) { font-size: 12px !important; }
  html body:not(#m0):not(#m1):not(#m2) #eb-ratings .eb-rating-score small { font-size: 12px !important; }
  html body:not(#m0):not(#m1):not(#m2) #eb-ratings .eb-rating-reviews { font-size: 13px !important; }
  html body:not(#m0):not(#m1):not(#m2) #article :is(.eb-occhiello, .eb-btn) { font-size: 11px !important; }
  html body:not(#m0):not(#m1):not(#m2) #article .anteprimacamera .testo_camera p { font-size: 14px !important; line-height: 1.6 !important; }
  html body:not(#m0):not(#m1):not(#m2) #asideblog .tab span, html body:not(#m0):not(#m1):not(#m2) #asideblog .tab-post-data { font-size: 11px !important; }
  html body:not(#m0):not(#m1):not(#m2) #asideblog .tab-post-titolo { font-size: 14px !important; }

  /* TASTI DA TOCCARE: almeno 44px */
  html body:not(#m0):not(#m1):not(#m2) #header #bottone_menu_header button.buttonmenu { min-height: 44px !important; min-width: 44px !important; }
  html body:not(#m0):not(#m1):not(#m2) #header #menulingueheader button.multilingue { min-height: 44px !important; min-width: 44px !important; }
  html body:not(#m0):not(#m1):not(#m2) #article .owl-dots button.owl-dot { min-width: 30px !important; min-height: 44px !important; }
  html body:not(#m0):not(#m1):not(#m2) .leaflet-control-zoom a { width: 44px !important; height: 44px !important; line-height: 44px !important; }


  /* RIENTRI DEI TESTI: 24px dal bordo in tutte le sezioni */
  html body:not(#m0):not(#m1):not(#m2) #article > section:not(#punti-di-forza):not(#nuove-tipologie):not(#tipologie):not(#camere-1) .row.centrale { padding-left: 0 !important; padding-right: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section:not(#punti-di-forza):not(#nuove-tipologie):not(#tipologie):not(#camere-1) .row.centrale > .col-sm-12 { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; border-left: 0 !important; max-width: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #article > section:not(#punti-di-forza) .row.centrale > .col-sm-12 > :is(p, h1, h2, h3, h4, ul) { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .blocco_dati a.button p { font-size: 11px !important; letter-spacing: .18em !important; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #camere-1 .blocco_dati a.button { min-height: 48px !important; padding: 0 26px !important; display: inline-flex !important; align-items: center; }

  /* CAMERA - TESTI in Playfair come su desktop */
  html body:not(#m0):not(#m1):not(#m2) #testo-interno-camera :is(p, h4) { font-family: var(--eb-serif, "Playfair Display", Georgia, serif) !important; font-weight: 300 !important; font-size: 16px !important; line-height: 1.75 !important; color: #2B1E12 !important; }
  html body:not(#m0):not(#m1):not(#m2) #testo-interno-camera p strong { font-weight: 500 !important; }
  html body:not(#m0):not(#m1):not(#m2) #testo-interno-camera h4 { color: #65574E !important; }

  /* CAMERA - DOTAZIONI: icone a linee oro in un riquadro */
  html body:not(#m0):not(#m1):not(#m2) #secondo-blocco-testo-camera .eb-room-feature-icon { position: relative; display: flex !important; align-items: center; justify-content: center; width: 38px !important; height: 38px !important; color: #7E6738 !important; border: 1px solid rgba(126,103,56,.32); background: transparent !important; box-sizing: border-box; }
  html body:not(#m0):not(#m1):not(#m2) #secondo-blocco-testo-camera .eb-room-feature-icon svg { display: block; width: 19px !important; height: 19px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
  html body:not(#m0):not(#m1):not(#m2) #secondo-blocco-testo-camera .eb-room-feature { grid-template-columns: 38px minmax(0, 1fr) !important; }
  html body:not(#m0):not(#m1):not(#m2) #secondo-blocco-testo-camera .eb-room-feature-text { font-family: var(--eb-sans, "Montserrat", Arial, sans-serif) !important; font-size: 14px !important; color: #65574E !important; }

  /* CAMERA - GALLERIA FOTO: una grande e due quadrate affiancate, a ripetere */
  html body:not(#m0):not(#m1):not(#m2) #testo-interno-camera .galleriapres { padding: 0 !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6px !important; width: 100% !important; height: auto !important; aspect-ratio: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #testo-interno-camera .galleriapres > div { grid-column: auto !important; grid-row: auto !important; width: 100% !important; height: calc((100vw - 54px) / 2) !important; margin: 0 !important; padding: 0 !important; display: block !important; overflow: hidden; }
  html body:not(#m0):not(#m1):not(#m2) #testo-interno-camera .galleriapres > div:nth-child(3n+1) { grid-column: 1 / -1 !important; height: calc((100vw - 48px) * .66) !important; }
  html body:not(#m0):not(#m1):not(#m2) #testo-interno-camera .galleriapres > div :is(a, figure, picture) { display: block !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #testo-interno-camera .galleriapres > div img { width: 100% !important; height: 100% !important; object-fit: cover !important; transform: none !important; }


  /* LOCATION - MAPPA: a tutta larghezza, più bassa, senza comandi */
  html body:not(#m0):not(#m1):not(#m2) #article > section#mappa { min-height: 0 !important; height: auto !important; background-image: none !important; padding: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #mappa :is(.area, .colonnaarea, #mappa-pagina, .elemento_sing) { height: auto !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #mappa :is(.cbck_305, [class^=cbck_]) { display: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #mappa .mappa-container { height: auto !important; width: 100% !important; max-width: none !important; margin: 0 !important; outline: 0 !important; border: 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #mappa .mappa-container::before, html body:not(#m0):not(#m1):not(#m2) #mappa .mappa-container::after { display: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #mappa .leaflet-container { width: 100% !important; height: 360px !important; }
  html body:not(#m0):not(#m1):not(#m2) #mappa :is(.leaflet-control-layers, .leaflet-control-zoom) { display: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #mappa .leaflet-tile-pane { filter: grayscale(.55) saturate(.5) sepia(.12) contrast(1.06) !important; }
  html body:not(#m0):not(#m1):not(#m2) #mappa .leaflet-popup-content { margin: 8px 10px !important; }
  html body:not(#m0):not(#m1):not(#m2) #mappa .leaflet-popup-content img { max-width: 54px !important; height: auto !important; }
  html body:not(#m0):not(#m1):not(#m2) #mappa .leaflet-popup-close-button { display: none !important; }

  /* FOOTER: una colonna, etichetta sopra ogni voce */
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 { display: block !important; padding: 56px 24px 40px !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 > .colfooter { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 0 22px !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 > .colfooter + .colfooter { padding-top: 22px !important; border-top: 1px solid rgba(126,103,56,.16) !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 > .colfooter:first-child { padding-bottom: 30px !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 .logosito img { max-width: 84px !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 .label { display: block !important; margin: 0 0 10px !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 .label p { font-size: 12.5px !important; letter-spacing: .2em !important; margin: 0 !important; line-height: 1.2 !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 .eb-tel-nome { font-size: 12px !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 .elem { display: block !important; margin: 0 !important; padding: 0 !important; font-size: 16px !important; line-height: 2 !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 .elem .prefix { display: none !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 .elem a { display: inline !important; padding: 0 !important; margin: 0 !important; font-size: 16px !important; line-height: 2 !important; font-variant-numeric: lining-nums tabular-nums; letter-spacing: .02em; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 .elem a.eb-tel-wa { display: inline-block !important; margin: 0 0 0 14px !important; font-size: 12.5px !important; line-height: 1.4 !important; letter-spacing: .16em; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 .colfooter:has(.elemsocial) .label:not(:first-child) { margin-top: 22px !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 .elemsocial { display: inline-block !important; margin: 0 10px 0 0 !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter1 a.linksocial { width: 44px; height: 44px; display: inline-flex !important; align-items: center; justify-content: center; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter3 { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; padding: 32px 24px 96px !important; gap: 14px !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter3 .datiaziendali, html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter3 .datiaziendali > span { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 4px 16px !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter3 :is(.elem, .elem a, .prefix) { font-size: 13px !important; line-height: 1.6 !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter3 .selezunder { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 0 18px !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter3 .selezunder a { display: inline-flex !important; align-items: center; min-height: 40px; padding: 0 !important; white-space: nowrap !important; }
  html body:not(#m0):not(#m1):not(#m2) #footer #sezfooter3 .easyc { opacity: .7; }
}
/* telefoni stretti (Samsung, iPhone SE): titolo della mappa su due righe */
@media (max-width: 399px) {
  html body:not(#m0):not(#m1):not(#m2) #mappa-home h3 { font-size: clamp(1.75rem, 7.6vw, 2.125rem) !important; max-width: none !important; }
}
/* telefoni con schermo basso (iPhone SE): frase più in alto, freccia tra la frase e i pulsanti in basso */
@media (max-width: 767px) and (max-height: 620px) {
  html body:not(#m0):not(#m1):not(#m2) #slideshow .row.end.ao_center { bottom: 30% !important; }
  html body:not(#m0):not(#m1):not(#m2) #slideshow .row.scrolling { bottom: 76px !important; }
}

/* 2. ARTICOLI DEL BLOG */
/* header chiaro: gli articoli non hanno foto in testata */
html body:not(#b0):not(#b1) #header.pos_default { background: #fbfaf7 !important; box-shadow: 0 1px 0 rgba(126,103,56,.16); }
html body:not(#b0):not(#b1) #header.pos_default .logosito img { content: url("../../../data/loghi/logo-colori.webp"); }
html body:not(#b0):not(#b1) #header.pos_default .eb-menu a, html body:not(#b0):not(#b1) #header.pos_default #menulingueheader :is(a, span, p) { color: #2B1E12 !important; }
html body:not(#b0):not(#b1) #article .testo-articolo, html body:not(#b0):not(#b1) #article section.elemento h1 { color: #2B1E12 !important; }
html body:not(#b0):not(#b1) #article section.elemento h1 { font-family: "Playfair Display", serif !important; font-weight: 400 !important; letter-spacing: 0 !important; line-height: 1.15 !important; }
@media (max-width: 767px) {
  html body:not(#b0):not(#b1) #article section.elemento .colonnaelemento { padding-left: 24px !important; padding-right: 24px !important; }
  html body:not(#b0):not(#b1) #article section.elemento h1 { font-size: 32px !important; margin: 8px 0 18px !important; }
  html body:not(#b0):not(#b1) #article .testo-articolo p { font-size: 16px !important; line-height: 1.75 !important; }
}

/* header fisso in alto anche negli articoli e nell'indice del Magazine (lì il modello lo lascia scorrere via) */
html body:not(#b0):not(#b1):is([data-tipopag="articolo"], [data-tipopag="blog"]) #header.pos_default { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important; z-index: 1000 !important; transform: none !important; }
html body:not(#b0):not(#b1):is([data-tipopag="articolo"], [data-tipopag="blog"]) #wrappagina { padding-top: 100px; }
@media (max-width: 1024px) {
  html body:not(#b0):not(#b1):is([data-tipopag="articolo"], [data-tipopag="blog"]) #wrappagina { padding-top: 90px; }
}
/* «Nello stesso numero» e chiusura: margini ai lati come il resto della pagina */
@media (max-width: 767px) {
  html body:not(#b0):not(#b1) #article section.eb-mag-numero { padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box !important; }
}
@media (min-width: 768px) and (max-width: 1100px) {
  html body:not(#b0):not(#b1) #article section.eb-mag-numero { padding-left: 40px !important; padding-right: 40px !important; box-sizing: border-box !important; }
}

/* schede «Nello stesso numero»: data e «Leggi» separati */
html body:not(#b0):not(#b1) body.eb-mag .eb-mag-cartellino .d, html body.eb-mag:not(#b0):not(#b1) .eb-mag-cartellino .d { display: flex !important; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; }

/* FOOTER su telefono e tablet: tutto centrato come la riga dei dati societari */
@media (max-width: 1024px) {
  html body:not(#g0):not(#g1):not(#g2):not(#g3):not(#g4) #footer #sezfooter1 > .colfooter { text-align: center !important; }
  html body:not(#g0):not(#g1):not(#g2):not(#g3):not(#g4) #footer #sezfooter1 :is(.logosito, .label, .elem, .eb-tel, .eb-tel-nome) { margin-left: auto !important; margin-right: auto !important; text-align: center !important; justify-content: center !important; }
  html body:not(#g0):not(#g1):not(#g2):not(#g3):not(#g4) #footer #sezfooter1 .logosito img { margin: 0 auto !important; display: block; }
  html body:not(#g0):not(#g1):not(#g2):not(#g3):not(#g4) #footer #sezfooter1 .elem a.eb-tel-wa { display: table !important; margin: 6px auto 0 !important; }
  html body:not(#g0):not(#g1):not(#g2):not(#g3):not(#g4) #footer #sezfooter1 .colfooter:has(.elemsocial) { display: flex !important; flex-wrap: wrap; justify-content: center; column-gap: 10px; }
  html body:not(#g0):not(#g1):not(#g2):not(#g3):not(#g4) #footer #sezfooter1 .colfooter:has(.elemsocial) > .label, html body:not(#g0):not(#g1):not(#g2):not(#g3):not(#g4) #footer #sezfooter1 .colfooter:has(.elemsocial) > .elem:not(.elemsocial) { flex: 0 0 100%; }
  html body:not(#g0):not(#g1):not(#g2):not(#g3):not(#g4) #footer #sezfooter1 .elemsocial { margin: 0 !important; }
  html body:not(#g0):not(#g1):not(#g2):not(#g3):not(#g4) #footer #sezfooter1 .label p { text-align: center !important; }
}
/* FOOTER: «Powered by» centrato come le righe sopra (tutte le larghezze) */
html body:not(#g0):not(#g1):not(#g2):not(#g3):not(#g4) #footer #sezfooter3 .easyc { width: 100% !important; text-align: center !important; justify-content: center !important; margin-left: 0 !important; margin-right: 0 !important; position: static !important; float: none !important; }
/* FOOTER su computer: «Social» staccato dall'email */
@media (min-width: 1025px) {
  html body:not(#g0):not(#g1):not(#g2):not(#g3):not(#g4) #footer #sezfooter1 .colfooter:has(.elemsocial) .label:not(:first-child) { margin-top: 28px !important; }
}

/* HEADER su telefono e tablet: la lingua a 18px dal bordo destro, come il logo a sinistra */
@media (max-width: 1024px) {
  html body:not(#h0):not(#h1):not(#h2) #header #menulingueheader button.multilingue { width: 44px !important; min-width: 44px !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; display: inline-flex !important; justify-content: center !important; align-items: center; }
  /* quadratini delle altre lingue in colonna esattamente sotto la lingua attiva */
  html body:not(#h0):not(#h1):not(#h2) #header nav.navmenu-lingue ul { left: auto !important; right: 0 !important; transform: none !important; }
  html body:not(#h0):not(#h1):not(#h2) #header #menulingueheader { margin-right: 0 !important; padding-right: 0 !important; }
  /* la colonna vuota in fondo all'header aggiungeva 12px di spazio a destra */
  html body:not(#h0):not(#h1):not(#h2) #header #sezheader1 > .ch4 { margin-right: -12px !important; }
}
/* GALLERIE INTERNE APERTE su telefono e tablet: frecce in basso, sotto la foto, accanto al contatore */
@media (max-width: 1024px) {
  html body:not(#h0):not(#h1):not(#h2) #ebg-viewer .ebg-viewer-nav { top: auto !important; bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important; transform: none !important; translate: none !important; }
  html body:not(#h0):not(#h1):not(#h2) #ebg-viewer #ebg-viewer-prev { left: calc(50% - 66px) !important; right: auto !important; }
  html body:not(#h0):not(#h1):not(#h2) #ebg-viewer #ebg-viewer-next { left: calc(50% + 12px) !important; right: auto !important; }
  html body:not(#h0):not(#h1):not(#h2) #ebg-viewer #ebg-viewer-counter { top: auto !important; bottom: calc(45px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* 3. TABLET (768-1100PX) */
@media (min-width: 768px) and (max-width: 1100px) {
  /* HOME - QUI NON SOGGIORNI: testo sopra la foto */
  html body:not(#t0):not(#t1):not(#t2) #article > section#sezione2 { position: relative !important; display: block !important; min-height: 0 !important; height: auto !important; padding: 0 !important; margin-top: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 > .area.sezione-2-2 { width: 100% !important; max-width: 100% !important; margin: 0 !important; transform: none !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 .sezione-2-2 figure { position: relative !important; aspect-ratio: 3 / 2; height: auto !important; margin: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 .sezione-2-2 figure img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 .sezione-2-2 figure::after { content: "" !important; position: absolute !important; inset: 0 !important; background: linear-gradient(90deg, rgba(43,30,18,.78) 0%, rgba(43,30,18,.35) 55%, rgba(43,30,18,0) 100%) !important; opacity: 1 !important; display: block !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 > .area.sezione-2-1 { display: flex !important; align-items: center; position: absolute !important; top: 0; bottom: 0; left: 0; width: 62% !important; max-width: none !important; z-index: 3; padding: 0 0 0 56px !important; pointer-events: none; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 > .area.sezione-2-1 > .colonnaarea { padding: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 .row.testo-sezione-2 { position: static !important; display: block !important; width: auto !important; transform: none !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 .testo-sezione-2 h3 { display: block !important; font-size: 26px !important; line-height: 1.2 !important; margin: 0 0 16px !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 .testo-sezione-2 h3 strong { font-size: 56px !important; line-height: 1.05 !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 .testo-sezione-2 h4 { font-size: 16px !important; line-height: 1.5 !important; margin: 0 0 24px !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 .testo-sezione-2 button { pointer-events: auto; margin: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione2 .testo-sezione-2 > div:nth-child(n+3) { display: inline-block !important; width: auto !important; margin: 0 12px 0 0 !important; }

  /* FOOTER: due colonne, testi leggibili */
  html body:not(#t0):not(#t1):not(#t2) #footer #sezfooter1 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 44px !important; column-gap: 48px !important; padding: 72px 56px 56px !important; }
  html body:not(#t0):not(#t1):not(#t2) #footer #sezfooter1 > .colfooter { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #footer #sezfooter1 .elem, html body:not(#t0):not(#t1):not(#t2) #footer #sezfooter1 .elem a { font-size: 15px !important; line-height: 1.8 !important; }
  html body:not(#t0):not(#t1):not(#t2) #footer #sezfooter1 .eb-tel-nome { font-size: 12px !important; }
  html body:not(#t0):not(#t1):not(#t2) #footer #sezfooter1 .elem a.eb-tel-wa { font-size: 12.5px !important; }
  html body:not(#t0):not(#t1):not(#t2) #footer #sezfooter1 .colfooter:has(.elemsocial) .label:not(:first-child) { margin-top: 28px !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  /* HOME - SOPRA LA PIAZZA: foto sopra, testo sotto a tutta larghezza */
  html body:not(#t0):not(#t1):not(#t2) #article > section#prima-hp-doppia { flex-wrap: wrap !important; height: auto !important; min-height: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia > .area { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; height: auto !important; min-height: 0 !important; padding: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia > .area.lato-sx .row { padding: 72px 56px 0 !important; height: auto !important; min-height: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia > .area.lato-sx :is(.cont_sing, figure, picture) { width: 100% !important; height: auto !important; min-height: 0 !important; aspect-ratio: 4 / 3; margin: 0 !important; transform: none !important; }
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia > .area.lato-sx img { width: 100% !important; height: 100% !important; min-height: 0 !important; object-fit: cover !important; }
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia > .area:not(.lato-sx) .row.centrale { width: 100% !important; max-width: 100% !important; padding: 48px 56px 80px !important; margin: 0 !important; left: auto !important; transform: none !important; }
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia > .area:not(.lato-sx) p { max-width: 38em !important; text-wrap: pretty; }
  /* blocco del testo centrato sulla pagina, dentro tutto sullo stesso bordo sinistro */
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia > .area:not(.lato-sx) .row.centrale { max-width: 682px !important; margin-left: auto !important; margin-right: auto !important; }
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia .row.centrale.primo::before { margin-left: 0 !important; margin-right: auto !important; }
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia > .area:not(.lato-sx) .centrale > div:last-child { margin-left: 0 !important; margin-right: auto !important; }

  /* HOME - TERRAZZA: foto a tutta larghezza, testo sotto */
  html body:not(#t0):not(#t1):not(#t2) #sezione3 > .area { width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 > .area:last-of-type .row.centrale { width: 100% !important; max-width: 682px !important; margin: 0 auto !important; padding: 80px 56px 96px !important; justify-content: flex-start !important; column-gap: 12px !important; }
  /* dentro il blocco tutto sullo stesso bordo sinistro: occhiello, titolo, testo, pulsanti affiancati, filetti */
  html body:not(#t0):not(#t1):not(#t2) #sezione3 .row.centrale::before { flex: 0 0 100% !important; text-align: left !important; margin-left: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 .row.centrale > div { justify-content: flex-start !important; text-align: left !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 .row.centrale > div :is(p, h3, h4) { text-align: left !important; max-width: 38em; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 .row.centrale > div:has(> button) { flex: 0 0 auto !important; width: auto !important; margin: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 .row.centrale > div > button { min-height: 52px !important; margin: 0 !important; left: auto !important; transform: none !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 > .area:last-of-type .row::after { left: calc(50% - 285px) !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 > .area::after { left: calc(50% - 285px) !important; right: auto !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 > .area::before { left: calc(50% - 244px) !important; right: auto !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  /* PAGINE INTERNE - INTRO: alta quanto il contenuto, titolo sopra e testo sotto in un blocco centrato */
  html body:not(#t0):not(#t1):not(#t2) #article > section.intro-pagina-gen, html body:not(#t0):not(#t1):not(#t2) #article > section.intro-pagina-gen > .area, html body:not(#t0):not(#t1):not(#t2) #article > section.intro-pagina-gen > .area > .colonnaarea, html body:not(#t0):not(#t1):not(#t2) #article > section.intro-pagina-gen .row.centrale { min-height: 0 !important; height: auto !important; }
  html body:not(#t0):not(#t1):not(#t2) #article > section.intro-pagina-gen .row.centrale { padding: 88px 56px !important; }
  /* RISTORANTE / ROOFTOP - FOTO E TESTO: foto a tutta larghezza sopra il testo, in un blocco centrato */
  html body:not(#t0):not(#t1):not(#t2) #article > section#sezione-2-ristorante { display: block !important; height: auto !important; min-height: 0 !important; padding: 72px 56px 80px !important; }
  html body:not(#t0):not(#t1):not(#t2) #article > section#sezione-2-ristorante > .area, html body:not(#t0):not(#t1):not(#t2) #sezione-2-ristorante > .area > .colonnaarea, html body:not(#t0):not(#t1):not(#t2) #sezione-2-ristorante > .area .row { display: block !important; width: 100% !important; max-width: 640px !important; margin: 0 auto !important; padding: 0 !important; height: auto !important; min-height: 0 !important; transform: none !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione-2-ristorante .cont_sing { display: block !important; width: 100% !important; margin: 0 0 40px !important; padding: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione-2-ristorante .cont_sing figure { position: relative !important; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; margin: 0 !important; transform: none !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione-2-ristorante .cont_sing figure :is(picture, img) { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }

  /* CAMERE - INTRO: titolo sopra e testo sotto, blocco centrato */
  html body:not(#t0):not(#t1):not(#t2) #intro-camere .row.centrale { display: block !important; max-width: 640px !important; margin: 0 auto !important; padding: 88px 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #intro-camere .row.centrale > div { width: 100% !important; max-width: none !important; margin: 0 0 28px !important; padding: 0 !important; border: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #intro-camere p { font-size: 16px !important; line-height: 1.7 !important; }
  /* LOGO NELL'HEADER prima dello scorrimento: più piccolo */
  html body:not(#t0):not(#t1):not(#t2) #header:not(.pos_fixed) a.logosito img { width: auto !important; height: 52px !important; max-height: 52px !important; }
  /* PARAGRAFI: stessa grandezza in tutte le pagine */
  html body:not(#t0):not(#t1):not(#t2) #article :is(#primo-blocco-hp, #prima-hp-doppia, #sezione3, .intro-pagina-gen, #intro-camere, #testo-interno-camera, #sezione-2-ristorante, #come-arrivare, section[id^="exp-"]) p:not(.eb-occhiello):not(.eb-cta) { font-size: 16px !important; line-height: 1.7 !important; }
  html body:not(#t0):not(#t1):not(#t2) #article :is(#camere-1, #nuove-tipologie, #tipologie) .testo_camera p { font-size: 15px !important; line-height: 1.65 !important; }
  /* CAMERE - SCHEDE: due colonne alla pari, foto 4:3, testo leggibile e subito visibile */
  html body:not(#t0):not(#t1):not(#t2) #camere-1 .row.index-camere { column-gap: 32px !important; row-gap: 72px !important; }
  html body:not(#t0):not(#t1):not(#t2) #camere-1 .elemento_sing { transform: none !important; margin-top: 0 !important; height: auto !important; }
  html body:not(#t0):not(#t1):not(#t2) #camere-1 .blocco_foto_camera { height: auto !important; aspect-ratio: 4 / 3; }
  html body:not(#t0):not(#t1):not(#t2) #camere-1 .blocco_foto_camera figure { height: 100% !important; }
  html body:not(#t0):not(#t1):not(#t2) #camere-1 .blocco_foto_camera :is(picture, img) { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  html body:not(#t0):not(#t1):not(#t2) #camere-1 .testo_camera p { font-size: 15px !important; line-height: 1.65 !important; opacity: 1 !important; filter: none !important; transform: none !important; }
  html body:not(#t0):not(#t1):not(#t2) #camere-1 .blocco_dati::before { font-size: 11px !important; }
  /* CAMERA - INTRO: testo a 16px */
  html body:not(#t0):not(#t1):not(#t2) #testo-interno-camera :is(p, h4) { font-size: 16px !important; line-height: 1.75 !important; }
  /* CAMERA - DOTAZIONI: icone a linee oro come su telefono e computer */
  html body:not(#t0):not(#t1):not(#t2) #secondo-blocco-testo-camera .eb-room-feature-icon { display: flex !important; align-items: center; justify-content: center; width: 38px !important; height: 38px !important; color: #7E6738 !important; border: 1px solid rgba(126,103,56,.32); background: transparent !important; box-sizing: border-box; }
  html body:not(#t0):not(#t1):not(#t2) #secondo-blocco-testo-camera .eb-room-feature-icon svg { display: block; width: 19px !important; height: 19px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
  html body:not(#t0):not(#t1):not(#t2) #secondo-blocco-testo-camera .eb-room-feature-icon svg * { fill: none !important; stroke: currentColor !important; }
  /* CAMERA - CAROSELLO ALTRE CAMERE: pallini oro */
  html body:not(#t0):not(#t1):not(#t2) #tipologie .owl-dot span { background: rgba(126, 103, 56, .35) !important; }
  html body:not(#t0):not(#t1):not(#t2) #tipologie .owl-dot.active span { background: #7E6738 !important; }
  /* MENU: voci centrate e più grandi */
  html body:not(#t0):not(#t1):not(#t2) #menu_header .areamenu { justify-content: center !important; }
  html body:not(#t0):not(#t1):not(#t2) #menu_header .liv1 > li > :is(a, button).nav-link { font-size: 21px !important; }
  html body:not(#t0):not(#t1):not(#t2) .intro-pagina-gen .row.centrale > .col-sm-12 { grid-template-columns: minmax(0, 1fr) !important; row-gap: 28px !important; column-gap: 0 !important; max-width: 640px !important; margin: 0 auto !important; }
  html body:not(#t0):not(#t1):not(#t2) .intro-pagina-gen .row.centrale > .col-sm-12 > * { grid-column: 1 !important; grid-row: auto !important; border-left: 0 !important; padding-left: 0 !important; margin-left: 0 !important; width: auto !important; max-width: none !important; }

  /* LOCATION - MAPPA: alta quanto la mappa, niente vuoto prima di «Come raggiungere» */
  html body:not(#t0):not(#t1):not(#t2) #article > section#mappa, html body:not(#t0):not(#t1):not(#t2) #article > section#mappa :is(.area, .colonnaarea, #mappa-pagina, .elemento_sing) { min-height: 0 !important; height: auto !important; }

  /* PAGINE INTERNE - CAROSELLI FOTO: a tutta larghezza, due foto grandi per volta */
  html body:not(#t0):not(#t1):not(#t2) #article > section.foto-interne { padding-left: 0 !important; padding-right: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #article > section.foto-interne > .area, html body:not(#t0):not(#t1):not(#t2) #article > section.foto-interne > .area > .colonnaarea { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #article .foto-interne .row.centrale { width: 100% !important; padding-left: 24px !important; padding-right: 24px !important; }
  html body:not(#t0):not(#t1):not(#t2) #article .foto-interne .owl-carousel { width: 100% !important; max-width: 100% !important; }

  /* GALLERY: schede a metà larghezza, foto grandi */
  html body:not(#t0):not(#t1):not(#t2) #article > section[id^="gallery-generale"] > .area { flex: 0 0 50% !important; max-width: 50% !important; width: 50% !important; }
  html body:not(#t0):not(#t1):not(#t2) #article > section[id^="gallery-generale"] { padding-left: 24px !important; padding-right: 24px !important; }
  html body:not(#t0):not(#t1):not(#t2) #article > section[id^="gallery-generale"] > .area { padding-left: 0 !important; padding-right: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #article > section[id^="gallery-generale"] > .area > .colonnaarea { width: 100% !important; max-width: 100% !important; padding-left: 12px !important; padding-right: 12px !important; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  /* HOME - PUNTI DI FORZA: in ogni scheda foto sopra e testo sotto */
  html body:not(#t0):not(#t1):not(#t2) #punti-di-forza .colonnaarea > .row { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: auto !important; row-gap: 18px !important; }
  html body:not(#t0):not(#t1):not(#t2) #punti-di-forza .colonnaarea > .row > * { grid-column: 1 !important; grid-row: auto !important; width: 100% !important; }
  html body:not(#t0):not(#t1):not(#t2) #punti-di-forza .cont_sing { aspect-ratio: 4 / 3; }
  html body:not(#t0):not(#t1):not(#t2) #punti-di-forza .cont_sing :is(figure, picture, img) { width: 100% !important; height: 100% !important; object-fit: cover !important; margin: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #punti-di-forza h4 { font-size: 15px !important; line-height: 1.55 !important; }


  /* HOME - MAGAZINE: colonna centrale più larga, titolo su due righe, occhiello su una */
  html body:not(#t0):not(#t1):not(#t2) #article > section#blog-home > .area { flex: 0 0 24% !important; max-width: 24% !important; width: 24% !important; }
  html body:not(#t0):not(#t1):not(#t2) #article > section#blog-home > .area:has(h3) { flex: 0 0 52% !important; max-width: 52% !important; width: 52% !important; }
  html body:not(#t0):not(#t1):not(#t2) #blog-home h3 { font-size: clamp(34px, 4.4vw, 44px) !important; line-height: 1.05 !important; letter-spacing: -.01em !important; text-wrap: balance; max-width: 18ch; margin-left: auto !important; margin-right: auto !important; }
  html body:not(#t0):not(#t1):not(#t2) #blog-home .row::before { white-space: nowrap !important; font-size: 12px !important; letter-spacing: .22em !important; }

  /* HOME - TESTI: righe bilanciate, etichette leggibili */
  html body:not(#t0):not(#t1):not(#t2) #primo-blocco-hp p { text-wrap: balance; }
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia p { text-wrap: pretty; }
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia p br:not(:has(+ br)):not(br + br) { display: none; }
  html body:not(#t0):not(#t1):not(#t2) #nuove-tipologie .owl-dots::before, html body:not(#t0):not(#t1):not(#t2) #sezione3 .row.centrale::before, html body:not(#t0):not(#t1):not(#t2) #faq .faq-item::before { font-size: 11px !important; }
}
@media (max-width: 1199px) {
  /* HOME - QUI NON SOGGIORNI: il secondo pulsante (bordo sottile) leggibile come il primo */
  html body:not(#t0):not(#t1):not(#t2) #sezione2 .testo-sezione-2 button { color: #F2EDE3 !important; border-color: rgba(242, 237, 227, .7) !important; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  /* HOME - TERRAZZA: testo a sinistra e foto a destra, come su computer */
  html body:not(#t0):not(#t1):not(#t2) #article > section#sezione3 { flex-direction: row-reverse !important; flex-wrap: nowrap !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 > .area { width: 50% !important; max-width: 50% !important; flex: 0 0 50% !important; }
  /* tutto sul bordo sinistro del titolo, come sul telefono e sul tablet verticale */
  html body:not(#t0):not(#t1):not(#t2) #sezione3 > .area:last-of-type .row.centrale { justify-content: flex-start !important; column-gap: 12px !important; padding-left: 56px !important; padding-right: 56px !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 .row.centrale::before { flex: 0 0 100% !important; text-align: left !important; margin-left: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 .row.centrale > div { justify-content: flex-start !important; text-align: left !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 .row.centrale > div :is(p, h4) { text-align: left !important; max-width: 34em; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 .row.centrale > div:has(> button) { flex: 0 0 auto !important; width: auto !important; margin: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #sezione3 .row.centrale > div > button { min-height: 52px !important; margin: 0 !important; left: auto !important; transform: none !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  /* logo dopo lo scorrimento */
  html body:not(#t0):not(#t1):not(#t2) #header.pos_fixed a.logosito img { width: auto !important; height: 40px !important; max-height: 40px !important; }
  /* FAQ: titolo sopra, domande sotto */
  html body:not(#t0):not(#t1):not(#t2) #faq .centrale { grid-template-columns: minmax(0, 1fr) !important; row-gap: 36px !important; column-gap: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #faq .centrale > * { grid-column: 1 !important; width: 100% !important; max-width: 100% !important; left: auto !important; }
  html body:not(#t0):not(#t1):not(#t2) #faq > .area.sfondobckg { background-image: none !important; }
  html body:not(#t0):not(#t1):not(#t2) #faq > .area > .colonnaarea { padding-left: 56px !important; padding-right: 56px !important; }
  /* HOME - MAPPA: titolo sopra la mappa */
  html body:not(#t0):not(#t1):not(#t2) #article > section#mappa-home { flex-wrap: wrap !important; }
  html body:not(#t0):not(#t1):not(#t2) #mappa-home > .area { width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; }
  html body:not(#t0):not(#t1):not(#t2) #article > section#mappa-home { height: auto !important; min-height: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #mappa-home > .area { height: auto !important; min-height: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #mappa-home > .area :is(.colonnaarea, .row.centrale) { min-height: 0 !important; height: auto !important; }
  html body:not(#t0):not(#t1):not(#t2) #mappa-home > .area:has(h3) .colonnaarea { padding: 72px 56px 48px !important; }
  /* ARTICOLI DEL BLOG: testo a tutta larghezza, articoli recenti sotto */
  html body:not(#t0):not(#t1):not(#t2) #article > section.elemento { flex-wrap: wrap !important; }
  html body:not(#t0):not(#t1):not(#t2) #article > section.elemento > :is(.colonnaelemento, .colonnaaside) { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; margin-left: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #article > section.elemento > .colonnaaside { padding: 0 40px 64px !important; }
  html body:not(#t0):not(#t1):not(#t2) #asideblog { max-width: 640px; }
  html body:not(#t0):not(#t1):not(#t2) #asideblog .tab span, html body:not(#t0):not(#t1):not(#t2) #asideblog .tab-post-data { font-size: 11px !important; }
  html body:not(#t0):not(#t1):not(#t2) #asideblog .tab-post-titolo { font-size: 15px !important; }
  /* testi correnti: almeno 15px */
  html body:not(#t0):not(#t1):not(#t2) #article :is(#prima-hp-doppia, #primo-blocco-hp, #sezione3, #nuove-tipologie, #testo-interno-camera) p { font-size: 15px !important; line-height: 1.7 !important; }
  html body:not(#t0):not(#t1):not(#t2) #article .testo-articolo p { font-size: 17px !important; line-height: 1.75 !important; }
  html body:not(#t0):not(#t1):not(#t2) #article section.elemento .colonnaelemento { padding-left: 40px !important; padding-right: 40px !important; }
}
@media (max-width: 1100px) {
  /* HOME - MAPPA: senza comandi di zoom e livelli */
  html body:not(#t0):not(#t1):not(#t2) #mappa-home :is(.leaflet-control-layers, .leaflet-control-zoom) { display: none !important; }
  /* LOCATION - MAPPA: senza comandi di zoom e livelli */
  html body:not(#t0):not(#t1):not(#t2) #article > section#mappa :is(.leaflet-control-layers, .leaflet-control-zoom) { display: none !important; }
  /* LOCATION - COME ARRIVARE: il disegno dietro le indicazioni resta un'ombra, il testo si legge */
  html body:not(#t0):not(#t1):not(#t2) #article > section#come-arrivare > [class^="cbck_"] { background-image: none !important; background-color: rgba(251, 250, 247, .92) !important; opacity: 1 !important; }

  /* CONTATTI CON QUATTRO VOCI: due per riga */
  #contatti-interno .row.centrale.ao_center > .col-sm-12:has(> p:nth-of-type(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
  #contatti-interno .row.centrale.ao_center > .col-sm-12:has(> p:nth-of-type(4)) > p:nth-of-type(3) { border-left: 0; }

  /* CAMERA - CAROSELLO ALTRE CAMERE: testo sotto la foto, come su desktop */
  html body:not(#t0):not(#t1):not(#t2) #tipologie .anteprimacamera.visuale_separati .blocco_dati { position: relative !important; top: auto !important; left: auto !important; transform: none !important; display: block !important; width: 100% !important; height: auto !important; padding: 22px 6px 0 !important; background: none !important; text-align: left !important; }
  html body:not(#t0):not(#t1):not(#t2) #tipologie .blocco_dati h3 { color: #7E6738 !important; font-size: 24px !important; line-height: 1.2 !important; text-align: left !important; margin: 0 0 12px !important; }
  html body:not(#t0):not(#t1):not(#t2) #tipologie .blocco_dati .testo_camera p { color: #65574E !important; font-size: 15px !important; line-height: 1.65 !important; letter-spacing: 0 !important; text-align: left !important; }
  html body:not(#t0):not(#t1):not(#t2) #tipologie .blocco_dati .testo_camera p strong { color: #2B1E12 !important; }
  html body:not(#t0):not(#t1):not(#t2) #tipologie .blocco_dati a.button { background: transparent !important; color: #2B1E12 !important; border: 1px solid rgba(126,103,56,.55) !important; display: inline-flex !important; align-items: center; justify-content: center; min-height: 48px; width: auto !important; padding: 0 28px !important; margin: 20px 0 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #tipologie .blocco_dati a.button p { color: inherit !important; font-size: 11px !important; letter-spacing: .2em !important; margin: 0 !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  /* LOCATION - COME ARRIVARE: testo a tutta larghezza, foto sotto */
  html body:not(#t0):not(#t1):not(#t2) #article > section#come-arrivare { flex-wrap: wrap !important; padding-left: 0 !important; padding-right: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #come-arrivare > .area { width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; margin: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #come-arrivare > .area > .colonnaarea { padding: 72px 56px 40px !important; width: 100% !important; }
  html body:not(#t0):not(#t1):not(#t2) #come-arrivare .row.centrale > div { width: 100% !important; max-width: 640px !important; padding: 0 !important; }
  html body:not(#t0):not(#t1):not(#t2) #come-arrivare > .area:not(:has(h3)) .colonnaarea { padding: 0 56px 72px !important; }
  html body:not(#t0):not(#t1):not(#t2) #come-arrivare > .area:not(:has(h3)) img { width: 100% !important; height: auto !important; aspect-ratio: 3 / 2; object-fit: cover !important; }

  /* TESTI: dimensioni minime */
  html body:not(#t0):not(#t1):not(#t2) #secondo-blocco-testo-camera .eb-room-feature-text { font-size: 15px !important; line-height: 1.45 !important; }
  html body:not(#t0):not(#t1):not(#t2) #article .anteprimacamera .testo_camera p { font-size: 15px !important; line-height: 1.6 !important; }
  html body:not(#t0):not(#t1):not(#t2) :is(.eb-internal-kicker, .eb-rooms-kicker, .eb-scroll-next-label) { font-size: 11px !important; }
  html body:not(#t0):not(#t1):not(#t2) #article :is(a.linkinterno.button, a.button--standard p, a.button--standard, button.button--standard) { font-size: 12.5px !important; }
  html body:not(#t0):not(#t1):not(#t2) #article .eb-occhiello { font-size: 11.5px !important; }
  html body:not(#t0):not(#t1):not(#t2) #article .eb-cta .eb-btn { font-size: 12px !important; }
  html body:not(#t0):not(#t1):not(#t2) #prima-hp-doppia .centrale > div:last-child { font-size: 12.5px !important; }
  html body:not(#t0):not(#t1):not(#t2) #contatti-interno p strong { font-size: 11px !important; }
  html body:not(#t0):not(#t1):not(#t2) #footer #sezfooter1 .label p { font-size: 12.5px !important; }
  html body:not(#t0):not(#t1):not(#t2) #footer #sezfooter3 :is(.elem, .elem a, .prefix) { font-size: 13px !important; }
  html body:not(#t0):not(#t1):not(#t2) #footer #sezfooter1 .elem a.eb-tel-wa { display: table !important; margin: 6px 0 0 !important; }
}

/* 4. MENU SOPRA IL FOOTER */
/* header sopra il footer, anche con il menu aperto in fondo alla pagina */
html body:not(#z0):not(#z1) #header { z-index: 1000 !important; }
html body:not(#z0):not(#z1) #footer { z-index: 1 !important; }


/* 5. PRENOTAZIONE E PULSANTI FLOTTANTI */
/* calendario aperto sopra i campi successivi */
html body:not(#w0):not(#w1) #fr_0_1 .component_fr:has(.datepicker-dropdown.active) { z-index: 60 !important; }
@media (max-width: 767px) {
  /* calendario in basso sullo schermo, sempre tutto visibile (prima quello della partenza usciva sotto il bordo) */
  html body:not(#w0):not(#w1) #fr_0_1 .component_fr .datepicker-dropdown { position: fixed !important; top: auto !important; bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important; left: 12px !important; right: 12px !important; width: auto !important; max-width: none !important; z-index: 100 !important; padding: 0 !important; box-shadow: 0 -12px 40px rgba(43, 30, 18, .22) !important; }
  html body:not(#w0):not(#w1) #fr_0_1 .component_fr .datepicker-dropdown .datepicker-picker { width: 100% !important; max-width: none !important; }
  /* giorni su tutta la larghezza del calendario, stesso margine ai due lati */
  html body:not(#w0):not(#w1) #fr_0_1 .component_fr .datepicker-dropdown :is(.datepicker-view, .days, .days-of-week, .datepicker-grid) { width: 100% !important; }
}
/* schermi al tocco: il campo toccato per ultimo resta «sotto il dito» e gli altri si spegnevano; tutti i campi restano pieni */
@media (hover: none) {
  html body:not(#w0):not(#w1) #fr_0_1 .contenitore-fr .component_fr { opacity: 1 !important; }
}
/* accessibilità e chat HoteliHer leggermente trasparenti, piene al passaggio o al tocco */
html body:not(#w0):not(#w1) :is(.fa-ax-apri, #min_hotelier) { opacity: .72 !important; transition: opacity .3s ease !important; }
html body:not(#w0):not(#w1) :is(.fa-ax-apri, #min_hotelier):is(:hover, :focus-within, :focus-visible, :active) { opacity: 1 !important; }


/* 6. PULSANTI IN BASSO: accessibilità e HoteliHer quadrati a 8px dal bordo (tutte le larghezze); su telefono Prenota tra i due */
html body:not(#p0):not(#p1):not(#p2) { --eb-barra: 56px; --eb-spazio: 8px; --eb-fondo: calc(var(--eb-spazio) + env(safe-area-inset-bottom, 0px)); }
html body:not(#p0):not(#p1):not(#p2) .fa-ax-apri { position: fixed !important; width: var(--eb-barra) !important; height: var(--eb-barra) !important; left: var(--eb-spazio) !important; right: auto !important; top: auto !important; bottom: var(--eb-fondo) !important; border-radius: 0 !important; opacity: 1 !important; box-shadow: none !important; border: 1px solid rgba(242, 237, 227, .35) !important; box-sizing: border-box !important; background: #2B1E12 !important; color: #F2EDE3 !important; display: flex !important; align-items: center; justify-content: center; }
html body:not(#p0):not(#p1):not(#p2) .fa-ax-apri svg { width: 24px !important; height: 24px !important; }
html body:not(#p0):not(#p1):not(#p2) #min_hotelier { position: fixed !important; width: var(--eb-barra) !important; height: var(--eb-barra) !important; min-width: 0 !important; right: var(--eb-spazio) !important; left: auto !important; top: auto !important; bottom: var(--eb-fondo) !important; border-radius: 0 !important; overflow: hidden !important; opacity: 1 !important; box-shadow: none !important; border: 0 !important; z-index: 1001 !important; }
html body:not(#p0):not(#p1):not(#p2) #min_hotelier :is(.hey, .close, .arrow_up) { display: none !important; }
html body:not(#p0):not(#p1):not(#p2) #min_hotelier .hand { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; display: flex !important; align-items: center; justify-content: center; margin: 0 !important; border-radius: 0 !important; }
html body:not(#p0):not(#p1):not(#p2) #min_hotelier .hand svg { display: none !important; }
/* icona chat al posto della manina */
html body:not(#p0):not(#p1):not(#p2) #min_hotelier .hand::before { content: ""; display: block; width: 26px; height: 26px; background: #2B1E12; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%205.5A2.5%202.5%200%200%201%206.5%203h11A2.5%202.5%200%200%201%2020%205.5v8a2.5%202.5%200%200%201-2.5%202.5H10l-4.5%204v-4h0A1.5%201.5%200%200%201%204%2014.5z%22%2F%3E%3Cpath%20d%3D%22M8.5%208.5h7M8.5%2011.5h4.5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%205.5A2.5%202.5%200%200%201%206.5%203h11A2.5%202.5%200%200%201%2020%205.5v8a2.5%202.5%200%200%201-2.5%202.5H10l-4.5%204v-4h0A1.5%201.5%200%200%201%204%2014.5z%22%2F%3E%3Cpath%20d%3D%22M8.5%208.5h7M8.5%2011.5h4.5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
/* nascosti quando sono aperti prenotazione, menu o pannello accessibilità */
html body:not(#p0):not(#p1):not(#p2):is(.eb-fr-open, :has(#menu_header.menu-aperto), :has(.fa-ax-pannello.aperto)) :is(.fa-ax-apri, #min_hotelier) { display: none !important; }
/* icona dei cookie (Avacy): nascosta anche lei con prenotazione, menu o accessibilità aperti */
html body:not(#p0):not(#p1):not(#p2):is(.eb-fr-open, :has(#menu_header.menu-aperto), :has(.fa-ax-pannello.aperto)) :is(#avacy-floating-resurface, [id^="avacy-floating"]) { display: none !important; }
/* pannello aperto della chat: si fa da parte con menu, prenotazione o accessibilità aperti e torna quando si chiudono */
html body:not(#p0):not(#p1):not(#p2):is(.eb-fr-open, :has(#menu_header.menu-aperto), :has(.fa-ax-pannello.aperto)) #hoteliher { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transition: opacity .3s ease, visibility 0s linear .3s !important; }
@media (max-width: 1024px) {
  html body:not(#p0):not(#p1):not(#p2) :is(#header button.btn-apriFR, button.btn-apriFR.bottone-fix) { position: fixed !important; left: calc(var(--eb-barra) + var(--eb-spazio) * 2) !important; right: calc(var(--eb-barra) + var(--eb-spazio) * 2) !important; bottom: var(--eb-fondo) !important; top: auto !important; width: auto !important; height: var(--eb-barra) !important; min-height: 0 !important; margin: 0 !important; padding: 0 8px !important; border-radius: 0 !important; transform: none !important; }
  html body:not(#p0):not(#p1):not(#p2) #footer #sezfooter3 { padding-bottom: 96px !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  html body:not(#p0):not(#p1):not(#p2) :is(#header button.btn-apriFR, button.btn-apriFR.bottone-fix) { font-size: 12.5px !important; letter-spacing: .2em !important; }
}
/* tablet al tocco: la chat non si apre da sola (lo script «Chat chiusa sui tablet» la riduce al pulsante); finché lo script non decide il pannello resta nascosto */
@media (pointer: coarse) and (min-width: 768px) {
  html:not(.eb-chat-libera) body #hoteliher { visibility: hidden !important; opacity: 0 !important; }
}
/* tablet verticale: il posto della chat è già occupato prima che arrivi il pulsante, la barra non cambia */
@media (pointer: coarse) and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  html:not(.eb-chat-libera) body:not(#p0):not(#p1)::after { content: ""; position: fixed; right: var(--eb-spazio); bottom: var(--eb-fondo); width: var(--eb-barra); height: var(--eb-barra); background: #F2EDE3; z-index: 1000; }
}

/* 7. CHAT HOTELIHER: misure massime delle icone, valide prima che lo script della chat aggiunga i suoi stili */
#min_hotelier svg,
svg:has(> g[id^="five_x2C__gesture"]) { max-width: 40px !important; max-height: 40px !important; }
#min_hotelier img { max-width: 32px !important; max-height: 32px !important; }
#min_hotelier .close svg { max-width: 12px !important; max-height: 12px !important; }

/* 8. SELETTORE LINGUE: sigle in quadratini sotto la lingua attiva, centrati */
html body:not(#l0):not(#l1) #header nav.navmenu-lingue { position: relative !important; }
html body:not(#l0):not(#l1) #header nav.navmenu-lingue ul {
  position: absolute !important; top: calc(100% + 10px) !important; left: 50% !important; right: auto !important; transform: translate(-50%, -6px);
  display: flex !important; flex-direction: column !important; align-items: center !important; gap: 6px !important;
  width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: none !important;
  opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
}
html body:not(#l0):not(#l1) #header nav.navmenu-lingue ul.sottolingue-attivo { opacity: 1 !important; visibility: visible !important; pointer-events: auto; transform: translate(-50%, 0); transition: opacity .3s ease, transform .3s ease; }
html body:not(#l0):not(#l1) #header nav.navmenu-lingue ul > li { width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; opacity: 1 !important; transform: none !important; }
html body:not(#l0):not(#l1) #header nav.navmenu-lingue ul > li > a {
  display: flex !important; align-items: center; justify-content: center; width: 44px !important; height: 44px !important; padding: 0 !important; margin: 0 !important; box-sizing: border-box;
  background: #F2EDE3 !important; border: 1px solid #F2EDE3; color: #2B1E12 !important;
  font: 500 12px/1 var(--eb-sans, "Montserrat", Arial, sans-serif) !important; letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
html body:not(#l0):not(#l1) #header nav.navmenu-lingue ul > li > a span { color: inherit !important; font: inherit !important; }
html body:not(#l0):not(#l1) #header nav.navmenu-lingue ul > li > a span span { display: none !important; }
/* intestazione chiara (dopo lo scorrimento, articoli): quadratino color carta con filetto oro */
html body:not(#l0):not(#l1) #header:is(.pos_fixed, .pos_default) nav.navmenu-lingue ul > li > a { background: #F2EDE3 !important; border-color: rgba(126, 103, 56, .35); color: #2B1E12 !important; }
/* al passaggio: bianco pieno, sigla marrone come il pulsante Prenota */
html body:not(#l0):not(#l1) #header nav.navmenu-lingue ul > li > a:is(:hover, :focus-visible) { background: #fff !important; border-color: #fff; color: #7E6738 !important; }
html body:not(#l0):not(#l1) #header:is(.pos_fixed, .pos_default) nav.navmenu-lingue ul > li > a:is(:hover, :focus-visible) { border-color: rgba(126, 103, 56, .45); }
html.eb-sera body:not(#l0):not(#l1) #header:is(.pos_fixed, .pos_default) nav.navmenu-lingue ul > li > a { background: rgba(255, 255, 255, .08) !important; border-color: rgba(255, 255, 255, .2); color: #E6DDD0 !important; }

/* 9. STABILITÀ DEL CARICAMENTO: la pagina non si sposta mentre arrivano script e stili */
/* chat: prima dei suoi stili l'HTML della chat finiva nel flusso (freccia a tutta larghezza); il pulsante e il pannello sono fixed e non vengono tagliati */
#ai { height: 0; overflow: hidden; }
/* sezioni a tutta altezza: la stessa altezza che lo script del modello assegna dopo il caricamento */
@media (min-width: 1025px) {
  [data-altezza="full"] { min-height: 100vh; }
}
/* Eitch Magazine: l'elenco del CMS lo legge lo script dell'indice, non serve mostrarlo prima */
body[data-tipopag="blog"] #article .listaelementi { display: none !important; }
/* indice e articoli: il footer resta sotto lo schermo finché lo script non ha impaginato il testo */
body:is([data-tipopag="blog"], [data-tipopag="articolo"]) #article { min-height: 100vh; }

/* 10. TELEFONO IN ORIZZONTALE: invito a girarlo in verticale */
@media (orientation: landscape) and (max-height: 500px) and (pointer: coarse) {
  html body:not(#o0)::before { content: ""; position: fixed; inset: 0; z-index: 2147483647; display: block; background: #F2EDE3 url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%20fill%3D%22none%22%20stroke%3D%22%237E6738%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%2222%22%20y%3D%2212%22%20width%3D%2220%22%20height%3D%2236%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M29%2043h6%22%2F%3E%3Cpath%20d%3D%22M13%2036a20%2020%200%200%201%205-17%22%2F%3E%3Cpath%20d%3D%22M14%2017l4%202-1%204%22%2F%3E%3Cpath%20d%3D%22M51%2028a20%2020%200%200%201-5%2017%22%2F%3E%3Cpath%20d%3D%22M50%2047l-4-2%201-4%22%2F%3E%3C%2Fsvg%3E") center calc(50% - 48px) / 72px 72px no-repeat; }
  html body:not(#o0)::after { content: "Ruota il telefono in verticale per una visualizzazione ottimale"; position: fixed; left: 50%; top: calc(50% + 4px); z-index: 2147483647; display: block; width: min(80vw, 420px); transform: translateX(-50%); font: 400 20px/1.4 var(--eb-serif, "Playfair Display", Georgia, serif); color: #2B1E12; text-align: center; text-wrap: balance; }
  html:lang(en) body:not(#o0)::after { content: "Please turn your phone upright for the best view"; }
  html:lang(es) body:not(#o0)::after { content: "Gira el teléfono en vertical para una visualización óptima"; }
  html:lang(ru) body:not(#o0)::after { content: "Поверните телефон вертикально для оптимального просмотра"; }
  html body:not(#o0) :is(#hoteliher, #min_hotelier, .fa-ax-apri, .fa-ax-pannello, button.btn-apriFR) { visibility: hidden !important; }
}

/* 11. TITOLI CHE SI COLORANO: su telefono e tablet le parole ancora spente restano leggibili anche sulle foto */
@media (max-width: 1100px), (pointer: coarse) and (max-width: 1366px) {
  html.eb-titoli-colore body:not(#c0) #article .eb-parola:not(.eb-accesa) { color: color-mix(in srgb, currentcolor 55%, transparent 45%); }
}
@supports not (color: color-mix(in srgb, red 50%, transparent)) {
  @media (max-width: 1100px), (pointer: coarse) and (max-width: 1366px) {
    html.eb-titoli-colore body:not(#c0) #article .eb-parola:not(.eb-accesa) { opacity: .55; }
  }
}

/* 12. COMPUTER E TABLET IN ORIZZONTALE: testi minimi (le grandezze del modello scendono con la larghezza dello schermo) */
@media (min-width: 1025px) {
  html body:not(#d0):not(#d1):not(#d2) #sezione3 .button { font-size: max(12px, .7rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) #sezione2 .button { font-size: max(12px, .9rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) #prima-hp-doppia .centrale > div:last-child, html body:not(#d0):not(#d1):not(#d2) #prima-hp-doppia .centrale > div:last-child :is(a, button, p, span) { font-size: max(12px, .76rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) #eb-ratings .eb-rating-score small { font-size: max(11px, .8rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) #footer #sezfooter1 .label p { font-size: max(11px, .67rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) #footer #sezfooter3 :is(.elem, .elem a, .prefix) { font-size: max(11.5px, .66rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) :is(#nuove-tipologie .owl-dots, #sezione3 .row.centrale, #faq .faq-item)::before { font-size: max(11px, .58rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) #slideshow-interno :is(.eb-internal-kicker, .eb-scroll-next-label) { font-size: max(11px, .65rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) #article .eb-occhiello { font-size: 11.5px !important; }
  html body:not(#d0):not(#d1):not(#d2) #article .eb-cta .eb-btn { font-size: 12px !important; }
  html body:not(#d0):not(#d1):not(#d2) #article > section[id^="gallery-generale"] a.button { font-size: max(12px, .68rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) #camere-1 a.button p, html body:not(#d0):not(#d1):not(#d2) #tipologie a.button p { font-size: max(12px, .63rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) #camere-1 .testo_camera p { font-size: max(13px, .85rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) #secondo-blocco-testo-camera .eb-room-feature-text { font-size: max(13px, .85rem) !important; }
  html body:not(#d0):not(#d1):not(#d2) #camere-1 .blocco_dati h3 { overflow-wrap: break-word; white-space: normal !important; }
  /* LOGO NELL'HEADER prima dello scorrimento: più piccolo */
  html body:not(#d0):not(#d1):not(#d2) #header:not(.pos_fixed) a.logosito img { width: auto !important; height: 72px !important; max-height: 72px !important; margin-top: 14px !important; }
  /* PARAGRAFI: stessa grandezza in tutte le pagine */
  html body:not(#d0):not(#d1):not(#d2) #article :is(#primo-blocco-hp, #prima-hp-doppia, #sezione3, .intro-pagina-gen, #intro-camere, #testo-interno-camera, #sezione-2-ristorante, #come-arrivare, section[id^="exp-"]) p:not(.eb-occhiello):not(.eb-cta) { font-size: 16px !important; line-height: 1.75 !important; }
  html body:not(#d0):not(#d1):not(#d2) #article :is(#camere-1, #nuove-tipologie, #tipologie) .testo_camera p { font-size: 14px !important; line-height: 1.65 !important; }
  /* MENU: voci più grandi */
  html body:not(#d0):not(#d1):not(#d2) #menu_header .liv1 > li > :is(a, button).nav-link { font-size: max(22px, 1.4rem) !important; }
}
/* schermi tra 1025 e 1366px (portatili piccoli, tablet in orizzontale): la foto di «Qui non soggiorni» contiene titolo e due pulsanti */
@media (min-width: 1025px) and (max-width: 1366px) {
  html body:not(#d0):not(#d1):not(#d2) #sezione2 .sezione-2-2 figure { height: auto !important; aspect-ratio: 3 / 2; }
  html body:not(#d0):not(#d1):not(#d2) #sezione2 .sezione-2-2 figure :is(picture, img) { width: 100% !important; height: 100% !important; object-fit: cover !important; }
}
/* HOME - STROFA: gli a capo «eb-verso» del testo valgono solo su telefono (un verso per riga) */
@media (min-width: 768px) {
  #primo-blocco-hp p br.eb-verso { display: none; }
}
/* logo dopo lo scorrimento: più piccolo, centrato nell'header */
@media (min-width: 1025px) {
  html body:not(#d0):not(#d1):not(#d2) #header.pos_fixed a.logosito img { width: auto !important; height: 56px !important; max-height: 56px !important; margin-top: 11px !important; }
}
/* titolo della testata: righe bilanciate, nessuna parola sola */
@media (min-width: 768px) {
  html body:not(#d0):not(#d1):not(#d2) #slideshow .hotel-fade-text .mft-word { text-wrap: balance; }
}

/* 13. PRENOTAZIONE APERTA: la pagina dietro resta ferma (con lo script «Prenotazione, pagina ferma») */
html.eb-fr-blocco, html.eb-fr-blocco body { overscroll-behavior: none; }
html.eb-fr-blocco #fr_0_1 :is(.contenitore-fr, .content_lateral) { overscroll-behavior: contain; }
