/* ============================================================
   CSS UNIFICATO â€” versione pulita
   Duplicati rimossi: le regole dell'header sono centralizzate
   nella sezione "HEADER - Stili dedicati" in fondo al file.
   ============================================================ */


/* ========================
   GLOBALE â€” BODY & LINK
   ======================== */

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

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

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


/* ========================
   TIPOGRAFIA BASE
   ======================== */

/* [CONF] file1: font-size: 2.5rem */
h1 {
    font-size: 2.4rem;
    font-family: var(--font-family-1);
    color: var(--color3);
    margin-bottom: 0px;
    line-height: 0.9em;
}

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

/* [CONF] file1: font-size: 2rem | font-family: var(--font-family-2) | font-weight: 300 */
h3 {
    word-wrap: break-word;
    white-space: -moz-pre-wrap;
    white-space: pre-wrap;
    font-size: 2.5rem;
    font-family: var(--font-family-1);
    color: var(--color1);
    line-height: 1em;
}

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

/* [CONF] file1: font-family: var(--font-family-5) | color: var(--color6) | font-size: 1.1rem */
p {
    font-family: var(--font-family-6);
    color: var(--color2);
    line-height: 1.8em;
    font-size: 1.2rem;
    text-align: justify !important;
    font-weight: 400;
}

p strong {
    font-weight: 600;
}


/* ========================
   PULSANTI (.button)
   ======================== */

/* [CONF] file1: font-family: var(--font-family-5) | font-weight: 400 */
.button {
    color: #FFF;
    transition: 1s;
    text-transform: uppercase;
    font-family: var(--font-family-6);
    font-size: 0.9rem;
    letter-spacing: 0.2em;
    border-radius: 0;
    font-weight: 600;
    height: 75px;
    border-radius: 3px;
}

.button--ujarak::before {
    background: #6d6761;
}

.anteprimacamera a.button {
    margin-top: 35px;
    padding: 25px;
    padding-top: 22px;
    border: 2px solid #ffffff00;
    background: #918981;
}

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

.anteprimacamera a.button p:hover {
    color: #ffffff;
}

.anteprimacamera a.button:hover {
    border: 2px solid #6d6761;
    background: #6d6761 !important;
}

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

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

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

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

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

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

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

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

#camere-1 .button {
    margin-left: 15%;
    margin-top: 25px;
    float: left;
}

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

#blocco1 .button {
    margin-left: 50px;
    margin-top: 25px;
    float: left;
}

#testo-intro-2 .button {
    margin-left: 30px;
    margin-right: 30px;
    margin-top: 25px;
}

#testo-intro .button {
    margin-top: 25px;
}

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


/* ========================
   HEADER â€” struttura base
   ======================== */

#header {
    min-height: 90px;
}

/* Logo galleria â€” regole specifiche non presenti in Stili dedicati */
.galleria header .logosito img {
    display: none;
}

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

footer .logosito img {
    max-height: 75px; /* Lasciamo l'ingombro fisico originale per non rompere la griglia */
    width: auto;
    filter: none;
    transform: scale(1); /* Ingrandisce visivamente il logo del 50% */
    /* transform-origin: left center; */ /* FONDAMENTALE: lo fa ingrandire ancorandolo a sinistra, mantenendo l'allineamento con il testo sotto */
    margin-top: 30px;
}

/* Logo nel menu mobile */
.contenitore-logo-menu {
    margin-bottom: 50px;
    z-index: 1;
    filter: invert(1);
}

.contenitore-logo-menu img.logo-sito-menu {
    max-width: 200px;
    height: auto;
    width: 100%;
}


/* ========================
   MENU â€” voci speciali
   ======================== */

/* Gruppo: header li e footer li (a.menulingua gestito in Stili dedicati) */
header li,
footer li {
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-family: var(--font-family-6);
}

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

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

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

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

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

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

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

.apri-sottomenu.sottomenu-attivo .sottomenu {
    max-height: 500px;
    opacity: 1;
}

span.prefix {
    display: none;
}


/* ========================
   OWL CAROUSEL  [+file1]
   ======================== */

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

.owl-theme .owl-dots .owl-dot span {
    background: rgb(86 83 82) !important;
}

.owl-theme .owl-dots .owl-dot.active span {
    background-color: #A07850 !important;
}


/* ========================
   SLIDESHOW
   ======================== */

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

section#slideshow {
    overflow: hidden;
}

/* [CONF] file1: font-family: var(--font-family-2) | font-weight: 300 */
#slideshow h1 {
    color: #fff;
    font-weight: 400;
    line-height: 1.2em;
    font-family: var(--font-family-1);
}

/* [CONF] file1: font-size: 4rem | font-family: var(--font-family-2) */
#slideshow h1 strong {
    font-size: 4rem;
    font-family: var(--font-family-1);
    line-height: 1;
    font-weight: 300;
    text-transform: uppercase;
}

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

/* [CONF] file1: font-family: var(--font-family-2) | font-weight: 300 */
#slideshow h2 strong {
    color: #fff;
    font-size: 3rem;
    font-weight: 400;
    font-family: var(--font-family-1);
    text-transform: uppercase;
}


/* ========================
   SEZ-1
   ======================== */

/* [CONF] file1: font-family: var(--font-family-2) | font-weight: 300 */
#sez-1 h1 {
    font-family: var(--font-family-1);
    font-weight: 500;
    text-transform: none;
    margin-bottom: 30px;
}

/* [CONF] file1: font-weight: 300 | font-size: 3.5rem | font-family: var(--font-family-2) */
#sez-1 h1 strong {
    font-weight: 400;
    font-size: 4rem;
    color: #000000cc;
    text-transform: uppercase;
    font-family: var(--font-family-1);
    line-height: 1.2;
}

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

/* [CONF] file1: color: var(--color4) | font-size: 1.8rem | line-height: 1rem | font-family: var(--font-family-2) */
#sez-1 h3 {
    color: var(--color2);
    font-size: 1.5rem;
    width: 100%;
    margin-top: 0;
    line-height: 2rem;
    margin-bottom: 30px;
    font-family: var(--font-family-6);
    padding-left: 10%;
    padding-right: 10%;
}

/* [CONF] file1: width: 70% */
#sez-1 p {
    /* width: 100%; */
    margin-bottom: 35px;
    margin-left: 5%;
    margin-right: 5%;
}

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

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


/* ========================
   CAMERE â€” #camere-1
   ======================== */

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

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

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

/* [CONF] file1: font-size: 3rem */
#camere-1 h3 strong {
    font-size: 3rem;
    font-weight: 400;
}

/* [CONF] file1: font-size: 2rem | font-family: var(--font-family-2) */
#camere-1 h2 {
    text-align: left;
    margin-left: 15%;
    margin-right: 15%;
    margin-bottom: 25px;
    font-size: 2.5rem;
    font-family: var(--font-family-1);
    color: var(--color1);
    line-height: 1em;
    text-transform: none;
    font-weight: 400;
}

/* [CONF] file1: font-size: 3rem */
#camere-1 h2 strong {
    font-size: 3rem;
    font-weight: 500;
    text-transform: uppercase;
}

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

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

#sez-camere h3 {
    font-family: var(--font-family-1);
    font-size: 3rem;
    color: var(--color1);
    margin-bottom: 35px;
}

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

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

/* [+file1] */
.blocco_dati h3 {
    color: var(--color1);
    margin-top: 15px;
    font-weight: 500;
}


/* ========================
   ANTEPRIMACAMERA
   ======================== */

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

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

/* [CONF] file1: background: #0000004a */
.anteprimacamera.visuale_sovrapposti .blocco_dati {
    background: #35353599;
    left: 0 !important;
    right: 0 !important;
    padding: 50px !important;
}

#sez-camere .anteprimacamera.visuale_sovrapposti .blocco_dati {
    left: 0 !important;
    right: 0 !important;
    padding: 50px !important;
    width: 30% !important;
}

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

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

.testo_camera img {
    width: 30px !important;
    height: auto;
    display: flex !important;
}

section#tipologie {
    padding-bottom: 20px;
    padding-top: 10px;
}


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

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

/* [CONF] file1: font-size: 2.5rem | font-weight: 300 | text-transform: uppercase */
#servizi h3 strong {
    font-size: 3rem;
    font-weight: 500;
    color: var(--color6);
    text-transform: uppercase;
}

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

/* [+file1] */
section#servizi.carattere {
    padding-left: 15%;
}

/* [+file1] */
#servizi.carattere p {
    color: var(--color1);
}

/* [+file1] */
.struttura #servizi.carattere h3 strong,
.struttura #servizi.carattere h3 {
    color: var(--color1);
}

/* [+file1] */
section#servizi.mirror {
    padding-left: 15px;
}

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

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

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

#servizi-2 .col-sm-12.col-md-6.area.sfondobckg.bckg_responsive.fisso {
    /* border-right: 15px solid #dcd8d3; */
    /* border-left: 15px solid #dcd8d3; */
}

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

/* [CONF] file1: font-size: 2.5rem | font-weight: 300 | text-transform: uppercase */
#servizi-3 h3 strong {
    font-size: 3rem;
    font-weight: 400;
    color: var(--color2);
    text-transform: uppercase;
}

#servizi-3 p {
    margin-left: 10%;
    color: var(--color2);
    font-family: var(--font-family-6);
    text-align: left;
    float: left;
    width: 60%;
}

.intro-servizi p {
    text-align: center !important;
}

.sez-servizi h3 {
    line-height: 0.9;
    color: var(--color4);
}

.sez-servzi p {
    font-size: 1.2rem;
}


/* ========================
   SEZ-HOME-1
   ======================== */

.sez-home-1 h3 {
    font-size: 1.7rem !important;
    font-family: var(--font-family-6) !important;
}

.sez-home-1 p {
    font-size: 1.2rem;
}

.sez-home-1 h1 {
    line-height: 0.9;
    color: #918981;
}

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

.sez-bckg {
    background-color: #f0dfb5;
    width: 100%;
    height: 165px;
}


/* ========================
   SEZ-8
   ======================== */

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

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

#sez-8 h3 strong {
    font-size: 3rem;
    font-weight: 400;
    text-transform: uppercase;
}


/* ========================
   SEZ-44
   ======================== */

#sez44 {
    padding: 100px;
}

#sez-icone img {
    width: 60px;
    height: 48px;
}

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

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

/* [CONF] file1: border-right: 1px solid var(--color4) */
#sez44 .col-sm-12.col-md-3 {
    border-right: 1px solid #00000075;
}

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


/* ========================
   TESTO-INTRO
   ======================== */

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

#testo-intro h2 strong {
    font-size: 3rem;
    font-weight: 500;
    color: var(--color6);
    text-transform: uppercase;
}

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

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

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

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

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

#testo-intro-2 ul {
    font-size: 1.3rem;
    color: #000000;
    margin-left: 30px;
    font-family: var(--font-family-6);
}

#testo-intro-2 li strong {
    font-weight: 600;
    font-family: var(--font-family-7);
    font-size: 1.5rem;
}


/* ========================
   FOTO-HOME & GALLERY
   ======================== */

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

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

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

#foto-home h3 {
    text-align: center;
    margin-bottom: 100px;
    margin-top: 60px;
    font-size: 2.5rem;
    color: #ffffff;
    line-height: 1;
}

#foto-home h3 strong {
    font-weight: 500;
    font-size: 3rem;
    text-transform: uppercase;
}

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

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

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

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

a figure {
    padding: 3px;
}

.mask-gallery {
    padding: 3px;
}

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


/* ========================
   BLOCCHI SPA
   ======================== */

div#galleria-204 {
    padding: 0;
}

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

div#galleria-226,
div#galleria-349 {
    padding: 0;
}

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

div#galleria-229 {
    padding: 0;
}

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

div#galleria-208 {
    padding: 0;
}

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

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

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

#blocco1 h3 {
    margin-left: 50px;
    margin-right: 50px;
    margin-bottom: 25px;
    color: var(--color6);
    font-weight: 400 !important;
}

#blocco1 h3 strong {
    font-weight: 500;
    font-size: 3rem;
    text-transform: uppercase;
}

.servizi-nero h3 {
    color: #ded8d2 !important;
}

.servizi-nero p {
    color: #fff;
}

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

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

#blocco2 h3 {
    margin-left: 50px;
    margin-right: 50px;
    margin-bottom: 25px;
    color: var(--color6);
    font-weight: 400 !important;
}

#blocco2 h3 strong {
    font-weight: 500;
    font-size: 3rem;
    text-transform: uppercase;
}

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


/* ========================
   DOTAZIONI
   ======================== */

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

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

#dotazioni img {
    width: 40px;
    margin-bottom: 15px;
    filter: opacity(0.5);
    filter: brightness(0) saturate(100%) invert(59%) sepia(10%) saturate(280%) hue-rotate(349deg) brightness(90%) contrast(98%);
}

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

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

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


/* ========================
   MAPPA
   ======================== */

/* [CONF] file1: background: #fff | height: 400px */
section#mappa-home {
    margin-left: 0px;
    margin-right: 0px;
    padding: 0;
    height: 250px;
    background-color: #d1ccc0;
    margin-top: 0 !important;
}

#home section#mappa-home {
    min-height: auto !important;
    height: 400px;
    backdrop-filter: grayscale(1);
}

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

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

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

div#map-canvas1 {
    border-radius: 10px;
}


/* ========================
   ANTEPRIMA CAMERE / LISTACAMERE
   ======================== */

section#listacamere {
    height: auto;
}

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

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

/* [CONF] file1: margin-top: 90px */
.col-sm-12.col-md-6.ant-camera {
    margin-top: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-bottom: none;
    margin-bottom: 30px;
}

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

/* [CONF] file1: background: var(--color4) */
.bottone-anteprima {
    width: fit-content;
    background-color: #A07850;
    padding: 20px 20px;
    border-radius: 0;
}

.bottone-anteprima p {
    color: var(--color1);
    font-size: 1rem;
    font-weight: 500;
    font-family: var(--font-family-6);
    letter-spacing: 0.1em;
}


/* ========================
   FAQ
   ======================== */

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

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

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

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

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

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


/* ========================
   FOOTER
   ======================== */

#footer {
    background-color: #ffffff !important;
}


#footer p {
    color: #918981;
    font-family: var(--font-family-6);
    font-weight: 500;
}

#footer .sezfooter{
  display: flex;
  flex-flow: row wrap;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  padding: 40px 0;
}

a.linksocial {
    color: black;
}

/* [+file1] */
#footer span.elem {
    color: #000;
    font-family: var(--font-family-5);
    font-size: 1.1rem;
}

/* [+file1] */
#footer #sezfooter3 .datiaziendali .dat-circin span.prefix {
    color: #000000;
}

#sezfooter1 .logosito {
    display: block;
    margin-bottom: 20px; /* Lo spazio tra il blocco del logo e il testo, ora non verrÃ  alterato */
}

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

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

#sezfooter3 span.label {
    display: none;
}

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

/* [CONF] file1: color: black */
span.elemsocial {
    color: var(--color1);
    float: left;
}


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

/* [CONF] file1: background: #aea99d45 */
.recensioni .item {
    backdrop-filter: blur(4px);
    height: 300px;
    width: calc(100% - 30px);
    background: #918981;
    border-radius: 5px;
    margin-left: 15px;
}

.recensioni h4 {
    padding: 80px;
    padding-top: 30px;
    padding-bottom: 0;
    color: var(--color1);
    font-family: var(--font-family-1);
    font-size: 1.8rem;
    font-weight: 300;
}

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

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

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

.recensioni-titolo {
    width: 100%;
    text-align: center;
    padding-top: 80px;
    margin-bottom: 0;
}

.row.centrale.ao_center.recensioni {
    margin-top: 20px;
    margin-bottom: 30px;
}

.recensioni-titolo h4 {
    display: block;
    width: 100%;
    margin: 0 auto;
    transform: none;
    color: var(--color1);
    font-family: var(--font-family-1);
    font-size: 3rem;
    font-weight: 200;
    text-align: center;
}

/* [+file1] */
.recensioni-titolo h3 strong {
    color: var(--color1);
    font-weight: 300;
}

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

.row.voti {
    width: 98%;
    margin-left: 1% !important;
    border-radius: 4px;
    /*position: absolute;*/
    bottom: 30px;
    background: #918981 !important;
}

.row.voti > div {
    flex: 1 !important;
    max-width: 33.333% !important;
    width: 33.333% !important;
    text-align: center;
    padding: 0 !important;
}

.voti h4 {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    font-family: var(--font-family-1);
    color: #f8f8f2;
    font-weight: 500;
    margin: 0;
}

.voti h4 img {
    height: 30px;
    width: auto;
    filter: brightness(1.5);
}

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

.owl-carousel .owl-stage-outer {
    transform: translateY(-80px) !important;
}


/* ========================
   CUORE  [+file1]
   ======================== */

.cuore h4 {
    font-family: var(--font-family-2);
    font-size: 2.5rem;
    color: var(--color1);
    width: fit-content;
    float: right;
    padding-left: 25px;
    padding-right: 25px;
    font-weight: 300;
}

.cuore h4 strong {
    font-family: var(--font-family-6);
    font-weight: 400;
}

.row.cuore {
    text-align: center;
    overflow: visible;
    padding: 0;
}


/* ========================
   VARIE
   ======================== */

img, svg {
    width: 5%;
    vertical-align: middle;
    height: auto;
}

.cbck_13 {
    /*background: linear-gradient(250deg, rgb(193 129 54 / 41%) 0%, rgb(197 180 159 / 34%) 34%, rgb(219 219 219 / 81%) 100%);*/
    background: linear-gradient(250deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0.81) 15%, rgba(255, 255, 255, 1) 93%);
}

.cbck_1 {
    z-index: 1;
}


/* ========================
   FIX ALLINEAMENTO ICONE CAMERA
   ======================== */

.testo_camera {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
}

.testo_camera br {
    display: none !important;
}

.testo_camera span {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 250px !important;
    margin: 0 !important;
    padding: 2px !important;
}

.index-camere .testo_camera img,
.testo_camera img,
.testo_camera span img {
    display: block !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    margin: 0 !important;
    margin-right: 15px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
}

#sez-8 .posizione-home button {
    margin-top: 25px;
    float: right;
    clear: right;
    margin-right: 15%;
}

#sez-8 .cbck_16 {
    backdrop-filter: grayscale(1);
    transition:0.5s;
}

#sez-8:hover .cbck_16 {
    backdrop-filter: grayscale(0);
        transition:0.5s;
}


/* ========================
   PAGE LOADER
   ======================== */

#page-loader {
    position: fixed;
    inset: 0;
    background: #ede5db;
    z-index: 99999999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity .25s ease, visibility .25s ease;
}

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

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

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

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

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


/* ========================
   FRECCIA SCROLLING ANIMATA
   ======================== */

.scrolling {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 110px;
    width: 100%;
    z-index: 9999;
}

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

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

@keyframes bounceSoft {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-10px); }
}


/* =============================
   HEADER - Stili dedicati
   ============================= */

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

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

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

/* --- Colonne header --- */

.ch1 {
    width: 75px !important;
    z-index: 8;
    position: fixed;
    left: 0;
}

.ch2 {
    width: 70% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 100% !important;
    height: 90px;
    z-index: 5;
}

.ch3 {
    width: 20% !important;
    position: absolute;
    right: 90px;
    z-index: 7;
}

.ch4 {
    width: 75px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 6;
    position: fixed;
    right: 0;
}

/* --- Logo --- */

header .logosito img {
    width: auto;
    height: 100px;
    max-height: 70px;
    filter: brightness(0) saturate(100%) invert(59%) sepia(10%) saturate(280%) hue-rotate(349deg) brightness(90%) contrast(98%);
}

.pos_fixed a.logosito.logodesktop.centrale {
    top: 10px !important;
    /* transform: translate(-50%, -50%) !important; */
}

header.pos_fixed .logosito img {
    filter: none;
    width: auto;
    height: 70px !important;
    max-height: 100px !important;
    filter: brightness(0) saturate(100%) invert(59%) sepia(10%) saturate(280%) hue-rotate(349deg) brightness(90%) contrast(98%);
}

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

#home header.pos_absolute .logosito img {
    display: block;
    transition: 1s;
    /* filter: invert(1); */
    filter: brightness(0) saturate(100%) invert(59%) sepia(10%) saturate(280%) hue-rotate(349deg) brightness(90%) contrast(98%);
}

a.logosito.logodesktop.centrale {
    position: absolute; /* Precondizione necessaria per top/left */
    top: 15px !important; /* Mantenuto dal tuo codice originale per il posizionamento verticale */
    left: 50% !important; /* Posiziona l'angolo sinistro del logo al centro esatto della pagina */
    transform: translateX(-45%) !important; /* Sposta il logo a sinistra di metÃ  della sua larghezza, allineandone il centro */
    transition: 1s; /* Mantenuto dal tuo codice originale */
}

/* --- Menu hamburger --- */

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

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

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

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

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

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

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

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

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

/* --- Navbar menu --- */

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

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

.menu-aperto .navbar-nav-menu li.nav-item .nav-link,
.navbar-nav-menu li.nav-item .nav-link {
    padding: 5px 5px !important;
    font-size: 1.2rem;
    margin-bottom: 15px;
    letter-spacing: 0.1em !important;
    text-align: center;
    font-family: var(--font-family-6) !important;
    background-color: transparent;
    font-weight: 400;
    color: var(--color1) !important;
    text-transform: uppercase !important;
}

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

/* --- Link navbar con underline animato --- */

#menu_header .navbar-nav-menu .nav-link {
    position: relative;
    display: inline-block;
    padding: 10px 0;
    color: white!important;
    text-decoration: none;
    transition: color 0.45s ease;
}

#menu_header .navbar-nav-menu .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1.5px;
    background-color: #F5E2D2;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

#menu_header .navbar-nav-menu .nav-item:hover .nav-link {
    color: rgb(255, 255, 255) !important;
}

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

/* --- Voce prenotazioni nel menu --- */

li.nav-item.liv1.azioneher.prenotazioni a {
    background-color: transparent;
    padding: 25px 30px !important;
    border-radius: 0px;
    color: var(--color1);
    border-radius: 4px;
    border: 2px solid #fff;
}

#menu_header.navbar-menu.menumobile.menu-aperto.bm li.nav-item.liv1.azioneher.prenotazioni a {
    color: var(--color1) !important;
}

/* --- Sottomenu --- */

.sottomenu {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease;
}

.sottomenu.aperto {
    opacity: 1;
}

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

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

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

/* --- Chiudi menu mobile --- */

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

i.zmdi.zmdi-close {
    font-size: 30px;
    color: rgb(255, 255, 255);
}

/* --- Area menu (sfondo) --- */

.areamenu {
    background: #918981;
}

/* --- Bottone "Prenota ora" --- */

.ch3 i.zmdi.zmdi-close {
    color: #000;
}

#header .button.button--standard.button--size-l.button--text-thin.btn-apriFR,
#header button.button.button--standard.button--size-l.button--text-thin.btn-apriFR {
    border: none;
    background: transparent;
}

#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 {
    background: #6d6761 !important;
}

#header.pos_fixed .button.button--standard.button--size-l.button--text-thin.btn-apriFR,
#header.pos_fixed button.button.button--standard.button--size-l.button--text-thin.btn-apriFR {
    height: 90px;
    width: 100%;
    background: #918981;
    border-left: none;
}

/* --- Fast Reservation --- */

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

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

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

#frHeader div.fastreservation .btn-chiudiFR {
    /* color: var(--color4) !important; */
}

#frHeader div.fastreservation.apertura-full.animate__fadeOut {
    z-index: -1;
}

.fastreservation .labelfastr {
    margin-top: 10px;
    margin-bottom: 10px;
    color: var(--color2);
    letter-spacing: 0.1em;
    font-family: var(--font-family-5);
    font-weight: 500;
    font-size: 0.9rem;
}

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

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

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

div.fastreservation .area_input_notti .chiudi,
div.fastreservation .area_input_persone .chiudi,
div.fastreservation .area_input_listino .chiudi {
    font-family: var(--font-family-5);
    letter-spacing: .2rem;
   background-color: #75926f !important;
    border: solid 1px #75926f !important;
}

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

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

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

.contenitore-fr .button.button--standard,
.contenitore-fr button.button.button--standard {
    background: #A07850;
}

/* --- Datepicker --- */

.datepicker-header .datepicker-controls {
    /* background: #778763 !important; */
}

.datepicker-controls .button {
    background: #778763 !important;
    color: #fff !important;
    letter-spacing: 0 !important;
}

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

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

.datepicker-grid .datepicker-cell.selected,
.datepicker-grid .datepicker-cell.selected:hover {
    background-color: #788b60;
    color: white !important;
}

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

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

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

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

.datepicker-title .s_c_picker {
    background-color: #85ba7a;
}

/* --- Selettore lingua --- */

a.menulingua {
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-family: var(--font-family-5);
}

nav.navmenu-lingue button {
    font-family: var(--font-family-5) !important;
    padding-left:1px;
}

nav.navmenu-lingue ul > li {
    height: 90px;
    display: flex;
    align-items: center;
}

nav.navmenu-lingue ul.sottolingue-attivo {
    top: 90px;
    background: var(--color1);
    width: 90px;
    right: 0;
    height: 100px;
    display: flex;
    position: fixed;
}

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

button.multilingue span {
    color: var(--color1);
    font-weight: 500;
}

.pos_fixed button.multilingue span {
    color: var(--color2);
}

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

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

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

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

a.menulingua.lingua_font {
    font-weight: 500;
}

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

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

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

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

.cbck_115 {
    background: #918981 !important;
}

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

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

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

#titolo-camere h3 strong {
    font-size: 3rem;
    font-weight: 400;
    font-family: var(
    --font-family-1);
    color: #ffffff;
    text-transform: uppercase;
}

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

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

#servizi-3 .spa .acbck_ {
    clip-path: polygon(0 0, 86% 0, 86% 100%, 0 100%);
}

#menu_header.grndm.half .areabck {
    background-size: cover;
}

#home #servizi {
    /* padding: 0; */
    padding-top: 0;
    padding-bottom: 0;
}

header.pos_absolute .logosito img {
    /*min-height: 750px;*/
}

div.fastreservation.stile-custom .elem-grande{
    color: #A07850;
}

.datepicker-grid .datepicker-cell.today:not(.selected) {
  background-color: #94cb8461;
  color: #8c8c8c;
}

.logo-slide img.img-fluid {
    height: 70px;
    width: auto;
    filter: invert(1);
    /* margin-right: 10px; */
    margin-top: 15px;
    /* filter: brightness(0) saturate(100%) invert(59%) sepia(10%) saturate(280%) hue-rotate(349deg) brightness(100%) contrast(98%); */
}

.logo-slide a, 
.logo-slide img.img-fluid {
    position: relative;
    z-index: 20;
    pointer-events: auto;
}

.logo-slide {
    position: relative;
    z-index: 20; /* Un numero alto assicura che stia sopra l'header */
}


.row.top.ao_center.logo-slide {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 10px;
    left: 0;
}

.intro-galleria .button {
    margin-top: 30px;
    margin-bottom:50px;
}

#sez-8 .posizione-home .button {
    margin-top: 25px;
    float: right;
    clear: right;
    margin-right: 15%;
}

div.colonnaarea div.centrale.ao_center img{
    /*top: 50%;*/
    transform: translateY(0%);
}

#home #servizi p, #home #servizi h3, #home #servizi .button {
    margin-left: 10%;
}

#home #servizi p {
    width: 80%;
}

#zoom .owl-carousel .owl-stage-outer {
    transform: none !important;
}

section#zoom {
    min-height: auto !important;
    padding-top: 80px;
    padding-bottom: 80px;
}

.index-camere .col-sm-12.col-md-6.ant-camera {
    display: block;
}

.cbck_107 {
    backdrop-filter: grayscale(1);
}



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

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

/* Header â€” colonna: prima i controlli, poi il giorno */
.datepicker-header {
  display: flex;
  flex-direction: column;
}

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

/* Titolo: mostrato, ma solo il giorno della settimana */
.datepicker-title {
  order: 2;
  display: block !important;
  background: none !important;
  box-shadow: none !important;
  padding: 2px 0 10px !important;  
  text-align: left;
}

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

/* Nasconde data estesa (giorno/mese/anno) */
.datepicker-title .d_c_picker {
  display: none !important;
}

/* Bottone mese/anno */
.datepicker-controls .view-switch {
  font-size: 19px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  text-transform: capitalize !important;
  letter-spacing: 0.01em;
  flex: 1;
  text-align: left;
  padding: 0;
  height: auto;
  order: -1; /* â† va prima di tutto */
  display: flex;
  justify-content: flex-start;
}

/* Frecce â€” cerchio grigio morbido */
.datepicker-controls .prev-button,
.datepicker-controls .next-button {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px;
  border-radius: 50% !important;
  border: none !important;
  background: #A07850 !important;
  box-shadow: none !important;
  flex: 0 0 30px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.15s, transform 0.1s;
  /* Nasconde il carattere < > */
  font-size: 0 !important;
  color: #ffffff !important;
  position: relative;
}

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

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

/* Chevron CSS al posto di < > */
.datepicker-controls .prev-button::after,
.datepicker-controls .next-button::after {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  border-right: 1.75px solid #ffffff;
  border-top: 1.75px solid #ffffff;
}

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

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

/* Giorni della settimana */
.datepicker .days-of-week {
  margin-bottom: 6px;
}

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

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

/* Hover */
.datepicker-cell:not(.disabled):not(.today):not(.selected):hover {
  background: #f9deb366 !important;
  border-radius: 50% !important;
  /* transform: scale(1.08); */
}

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

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

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

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

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

/* Footer nascosto */
.datepicker-footer {
  display: none !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Allarga la view direttamente */
.datepicker-view {
  width: 100% !important;
}

.datepicker-picker {
  width: 320px;
}

section#servizi-3 {
    padding-top: 0;
    padding-bottom: 0;
}

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

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

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

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

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

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

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

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

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



.sez-camere .elemento_sing.el-camera .anteprimacamera {
  filter: grayscale(100%) brightness(0.5);
  transition: filter 0.5s ease;
}

.sez-camere .elemento_sing.el-camera .anteprimacamera.in-view {
  filter: grayscale(0%) brightness(1);
}


/* ========================
   CAMERE-1 â€” Layout verticale, card a piena larghezza
   ======================== */

#camere-1 {
  padding-top: 100px;
  padding-bottom: 100px;
  background-color: #ffffff;
}

#camere-1 .elemento_sing.el-camere {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  margin: 0;
  padding: 0 8%;
}


/* ========================
   CARD CAMERA â€” Singola card orizzontale
   ======================== */

#camere-1 .anteprimacamera {
  position: relative;
  width: 100% !important;
  max-width: 100%;
  height: 700px;
  overflow: hidden;
  padding: 0 !important;
  float: none;
  /* background: #000000; */
}


/* ========================
   BLOCCO FOTO â€” Immagine di sfondo
   ======================== */

#camere-1 .anteprimacamera .blocco_foto_camera {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

#camere-1 .anteprimacamera .blocco_foto_camera figure {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

#camere-1 .anteprimacamera .blocco_foto_camera picture,
#camere-1 .anteprimacamera .blocco_foto_camera img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#camere-1 .anteprimacamera:hover .blocco_foto_camera img {
  transform: scale(1.04);
}

/* Overlay sottile per leggibilitÃ  testo */
#camere-1 .anteprimacamera .blocco_foto_camera::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0) 40%,
    rgba(0, 0, 0, 0.55) 100%
  );
  z-index: 2;
  transition: opacity 0.6s ease;
}


/* ========================
   BLOCCO DATI â€” Card di contenuto sulla destra
   ======================== */

#camere-1 .anteprimacamera .blocco_dati {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: flex !important;
  flex-direction: column;
  padding: 60px 80px !important;
  background: transparent !important;
  align-items: flex-start;
  justify-content: center;
  align-content: space-between;
}

/* Container interno per allineare il contenuto a destra */
#camere-1 .anteprimacamera .blocco_dati > * {
  width: 100%;
  max-width: 380px;
  margin-left: auto;
}

/* Linea decorativa sopra il titolo */
#camere-1 .anteprimacamera .blocco_dati h3:first-of-type {
  display: none;
}

/* Titolo della camera */
#camere-1 .anteprimacamera .blocco_dati h3 {
  color: #ffffff;
  font-family: var(--font-family-1);
  font-size: 2.8rem;
  font-weight: 300;
  text-align: left;
  margin: 0 0 30px 0;
  margin-left: auto;
  letter-spacing: 0.02em;
  line-height: 1;
  position: relative;
  padding-top: 25px;
}

#camere-1 .anteprimacamera .blocco_dati h3::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 1px;
  background-color: #C9A882;
}


/* ========================
   TESTO CAMERA â€” Lista features
   ======================== */

#camere-1 .anteprimacamera .testo_camera {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  margin-bottom: 40px;
  margin-left: auto;
}

#camere-1 .anteprimacamera .testo_camera p {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}

#camere-1 .anteprimacamera .testo_camera br {
  display: none !important;
}

#camere-1 .anteprimacamera .testo_camera span {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-family: var(--font-family-6) !important;
  font-size: 1.3rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.06em;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none;
}

#camere-1 .anteprimacamera .testo_camera img {
  width: 20px !important;
  min-width: 20px !important;
  height: 16px !important;
  margin-right: 14px !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.85;
  flex-shrink: 0;
}


/* ========================
   BOTTONE "Scopri la camera"
   ======================== */

#camere-1 .anteprimacamera a.bottone_camera {
  /* display: inline-flex; */
  /* align-items: center; */
  /* justify-content: center; */
  /* margin-top: 10px; */
  /* margin-left: auto; */
  /* padding: 0; */
  /* width: auto; */
  /* background: transparent; */
  /* border: none; */
  /* color: #ffffff; */
  /* text-transform: uppercase; */
  /* letter-spacing: 0.25em; */
  /* font-family: var(--font-family-6); */
  /* font-size: 0.78rem; */
  /* font-weight: 500; */
  /* text-decoration: none; */
  /* transition: color 0.4s ease; */
  /* border-radius: 0; */
  /* height: auto; */
  /* position: relative; */
  /* padding-bottom: 8px; */
}

#camere-1 .anteprimacamera a.bottone_camera::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #ffffff;
  transition: background-color 0.4s ease, width 0.4s ease;
}

#camere-1 .anteprimacamera a.bottone_camera p {
  color: #ffffff;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-6);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  line-height: 1;
  text-align: left !important;
  transition: color 0.4s ease;
}

#camere-1 .anteprimacamera a.bottone_camera:hover {
  background: transparent;
  border: none;
}

#camere-1 .anteprimacamera a.bottone_camera:hover::after {
  background-color: #C9A882;
}

#camere-1 .anteprimacamera a.bottone_camera:hover p {
  color: #C9A882;
}


/* ========================
   RESPONSIVE â€” Tablet
   ======================== */

@media (max-width: 992px) {
  #camere-1 {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  #camere-1 .elemento_sing.el-camere {
    padding: 0 5%;
    gap: 30px;
  }

  #camere-1 .anteprimacamera {
    height: 450px;
  }

  #camere-1 .anteprimacamera .blocco_dati {
    padding: 40px 50px !important;
  }

  #camere-1 .anteprimacamera .blocco_dati h3 {
    font-size: 2.4rem;
  }

  #camere-1 .anteprimacamera .blocco_dati > * {
    max-width: 340px;
  }
}


/* ========================
   RESPONSIVE â€” Mobile
   ======================== */

@media (max-width: 640px) {
  #camere-1 {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  #camere-1 .elemento_sing.el-camere {
    padding: 0 4%;
    gap: 25px;
  }

  #camere-1 .anteprimacamera {
    height: 480px;
  }

  /* Overlay piÃ¹ intenso e uniforme su mobile per leggibilitÃ  */
  #camere-1 .anteprimacamera .blocco_foto_camera::after {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.2) 0%,
      rgba(0, 0, 0, 0.65) 100%
    );
  }

  #camere-1 .anteprimacamera .blocco_dati {
    padding: 35px 30px !important;
    justify-content: flex-end;
    align-items: flex-start;
  }

  #camere-1 .anteprimacamera .blocco_dati > * {
    max-width: 100%;
    margin-left: 0;
  }

  #camere-1 .anteprimacamera .blocco_dati h3 {
    font-size: 2rem;
    margin-bottom: 20px;
    margin-left: 0;
  }

  #camere-1 .anteprimacamera .testo_camera {
    margin-bottom: 25px;
    margin-left: 0;
  }

  #camere-1 .anteprimacamera .testo_camera span {
    font-size: 0.9rem !important;
  }

  #camere-1 .anteprimacamera a.bottone_camera {
    margin-left: 0;
    font-size: 0.75rem;
  }

  #camere-1 .anteprimacamera a.bottone_camera p {
    font-size: 0.75rem;
  }
}


.anteprimacamera .backgroundcamera {
    background-color: hsl(0deg 0% 17.17% / 40%) !important;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
}

/* ========================
   BOTTONE "Scopri la camera" â€” Coerente con i bottoni del sito
   ======================== */

#camere-1 .anteprimacamera a.bottone_camera {
  display: inline-flex;
  align-items: center;
  margin-top: 10px;
  margin-left: 0;
  margin-right: 0;
  padding: 25px 35px;
  width: auto;
  min-width: 320px;
  text-align: center;
  height: 75px;
  background: #918981;
  border: none;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-family: var(--font-family-6);
  /* font-size: 0.85rem; */
  font-weight: 500;
  text-decoration: none;
  transition: all 0.5s ease;
  border-radius: 0;
  white-space: nowrap;
  line-height: 1;
  justify-content: center;
  align-content: center;
  border-bottom: 0px !important;
}

#camere-1 .anteprimacamera a.bottone_camera p {
  color: #ffffff;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-6);
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  line-height: 1;
  text-align: center !important;
  white-space: nowrap;
  display: inline-block;
}

#camere-1 .anteprimacamera a.bottone_camera:hover {
  background: #C9A882;
  border-color: #C9A882;
}

#camere-1 .anteprimacamera a.bottone_camera:hover p {
  color: #ffffff;
}


/* ========================
   RESPONSIVE â€” Mobile (override bottone)
   ======================== */

@media (max-width: 640px) {
  #camere-1 .anteprimacamera a.bottone_camera {
    margin-left: 0;
    padding: 20px 28px;
    min-width: 200px;
    height: 65px;
    font-size: 0.8rem;
  }

  #camere-1 .anteprimacamera a.bottone_camera p {
    font-size: 0.8rem;
  }
}



/* ========================
   FOTO TOUR â€” Griglia immagini turistiche
   ======================== */

.foto-tour {
  padding: 0 !important;
}

.foto-tour .colonnaarea {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 0 !important;
}

/* Tutte le righe interne */
.foto-tour .row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 15px;
  margin: 0 !important;
  width: 100%;
}

/* Contenitore singola foto */
.foto-tour .cont_sing {
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  position: relative;
  flex: 1 1 0;
  border-radius: 4px;
}

/* Figure e picture senza padding */
.foto-tour .cont_sing figure {
  margin: 0;
  padding: 0 !important;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: block;
}

.foto-tour .cont_sing picture {
  display: block;
  width: 100%;
  height: 100%;
}

/* Immagini â€” riempiono il contenitore mantenendo le proporzioni */
.foto-tour .cont_sing img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.foto-tour .cont_sing:hover img {
  transform: scale(1.05);
}


/* ========================
   ALTEZZE SPECIFICHE PER RIGA
   ======================== */

/* Prima riga â€” foto grande quadrata */
.foto-tour > .colonnaarea > .row:nth-child(1) .cont_sing {
  aspect-ratio: 2 / 1;
  width: 100%;
}

/* Seconda riga â€” due foto quadrate affiancate */
.foto-tour > .colonnaarea > .row:nth-child(2) .cont_sing {
  aspect-ratio: 1 / 1;
}

/* Terza riga â€” due foto orizzontali affiancate */
.foto-tour > .colonnaarea > .row:nth-child(3) .cont_sing {
  aspect-ratio: 16 / 9;
}


/* ========================
   RESPONSIVE â€” Tablet
   ======================== */

@media (max-width: 992px) {
  .foto-tour .colonnaarea {
    gap: 12px;
  }

  .foto-tour .row {
    gap: 12px;
  }
}


/* ========================
   RESPONSIVE â€” Mobile
   ======================== */

@media (max-width: 640px) {
  .foto-tour .colonnaarea {
    gap: 10px;
  }

  .foto-tour .row {
    gap: 10px;
  }

  /* Su mobile la foto grande resta intera, le altre rimangono in coppia */
  .foto-tour > .colonnaarea > .row:nth-child(1) .cont_sing {
    aspect-ratio: 16 / 10;
  }
}

/* ========================
   SERVIZI-2 â€” Sezione due colonne con sfondo immagine
   ======================== */

#servizi-2 {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 700px !important;
  display: flex;
  flex-wrap: nowrap;
  position: relative;
}

#servizi-2 .cbck_50 {
  /* display: none; */
}

/* Ogni colonna â€” Vespa Tour / Tour Culinario */
#servizi-2 .col-sm-12.col-md-6.area {
  width: 50% !important;
  min-height: 700px;
  padding: 0 !important;
  margin: 0 !important;
  position: relative;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  overflow: hidden;
  border-right: none !important;
}

/* Rimuove eventuale bordo divisorio del CSS esistente */
#servizi-2 .col-sm-12.col-md-6.area.sfondobckg.bckg_responsive.fisso {
  border-right: none !important;
}


/* ========================
   OVERLAY SCURO sull'immagine
   ======================== */

#servizi-2 .acbck_ {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.35) 0%,
    rgba(0, 0, 0, 0.75) 100%
  ) !important;
  transition: background 0.6s ease;
}

#servizi-2 .col-sm-12.col-md-6.area:hover .acbck_ {
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.3) 0%,
    rgba(0, 0, 0, 0.65) 100%
  ) !important;
}


/* ========================
   COLONNA CONTENUTO
   ======================== */

#servizi-2 .colonnaarea {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 700px;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding: 80px 70px !important;
}

#servizi-2 .row.centrale {
  display: flex;
  flex-direction: column;
  margin: 0 !important;
  max-width: 480px;
  width: 100%;
}

#servizi-2 .row.centrale > div {
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
}


/* ========================
   TITOLO
   ======================== */

#servizi-2 h3 {
  color: #ffffff !important;
  font-family: var(--font-family-1);
  font-size: 2.6rem;
  font-weight: 300;
  line-height: 1.1;
  margin: 0 0 30px 0 !important;
  text-align: left;
  letter-spacing: 0.02em;
  position: relative;
  padding-top: 25px;
}

/* Linea decorativa sopra il titolo, in beige */
#servizi-2 h3::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 1px;
  background-color: #C9A882;
}


/* ========================
   PARAGRAFO
   ======================== */

#servizi-2 p {
  color: rgba(255, 255, 255, 0.92) !important;
  font-family: var(--font-family-6);
  /* font-size: 1.05rem; */
  font-weight: 300;
  line-height: 1.8;
  margin: 0 !important;
  text-align: left !important;
  letter-spacing: 0.02em;
}

#servizi-2 p strong {
  color: #ffffff !important;
  font-weight: 500;
}


/* ========================
   RESPONSIVE â€” Tablet
   ======================== */

@media (max-width: 992px) {
  #servizi-2 .colonnaarea {
    padding: 60px 50px !important;
  }

  #servizi-2 h3 {
    font-size: 2.2rem;
  }

  #servizi-2 p {
    font-size: 1rem;
  }
}


/* ========================
   RESPONSIVE â€” Mobile
   ======================== */

@media (max-width: 640px) {
  #servizi-2 {
    flex-direction: column;
    min-height: auto !important;
  }

  #servizi-2 .col-sm-12.col-md-6.area {
    width: 100% !important;
    min-height: 500px;
  }

  #servizi-2 .colonnaarea {
    min-height: 500px;
    padding: 60px 35px !important;
  }

  #servizi-2 .row.centrale {
    max-width: 100%;
  }

  #servizi-2 h3 {
    font-size: 1.9rem;
    margin-bottom: 25px !important;
  }

  #servizi-2 p {
    font-size: 0.95rem;
    line-height: 1.7;
  }
}



/* ========================
   GALLERIA FOTO-HOME â€” Masonry rettangolare
   ======================== */

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

#foto-home .colonnaarea {
  padding: 0 !important;
}

/* Intro galleria con titolo + bottone (lasciamola gestire al CSS esistente) */
#foto-home .intro-galleria {
  margin-bottom: 60px;
}


/* ========================
   STRUTTURA RIGHE GALLERIA
   ======================== */

/* Ogni .row contenente una galleriapres */
#foto-home > div > .colonnaarea > .row:not(.intro-galleria):not(.centrale) {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}

#foto-home .galleriapres {
  /* display: flex !important; */
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  margin: 0px 0px 8px 0 !important;
  padding: 0px !important;
}

/* Reset colonne bootstrap dentro la galleria */
#foto-home .galleriapres > div[class*="col-"] {
  padding: 5px !important;
  margin: 0px !important;
  flex-shrink: 0;
  overflow: hidden;
}


/* ========================
   ALTEZZE DIFFERENZIATE PER RIGA
   (Effetto sfalsato verticale)
   ======================== */

/* Riga 1 â€” galleria-155: 3 foto orizzontali, altezza media */
#foto-home #galleria-155 > div {
  flex: 1 1 0;
  height: 320px;
}

/* Riga 2 â€” galleria-157: 6 foto quadrate, piÃ¹ basse */
#foto-home #galleria-157 > div {
  flex: 1 1 0;
  height: 220px;
}

/* Riga 3 â€” galleria-156: 2 foto grandi orizzontali, alte */
#foto-home #galleria-156 > div {
  flex: 1 1 0;
  height: 420px;
}

/* Riga 4 â€” galleria-159: 6 foto quadrate */
#foto-home #galleria-159 > div {
  flex: 1 1 0;
  height: 220px;
}

/* Riga 5 â€” galleria-558: 3 foto orizzontali */
#foto-home #galleria-558 > div {
  flex: 1 1 0;
  height: 360px;
}

/* Riga 6 â€” galleria-559: 6 foto verticali, molto alte */
#foto-home #galleria-559 > div {
  flex: 1 1 0;
  height: 380px;
}

/* Riga 7 â€” galleria-560: 6 foto quadrate */
#foto-home #galleria-560 > div {
  flex: 1 1 0;
  height: 240px;
}


/* ========================
   FOTO â€” Stato base bianco/nero
   ======================== */

#foto-home .galleriapres .foto-gallery {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
}

#foto-home .galleriapres .foto-gallery figure {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0 !important;
  overflow: hidden;
  display: block;
}

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

#foto-home .galleriapres .foto-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(100%);
  transition: filter 0.6s ease, transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Hover desktop â€” colori + zoom leggero */
@media (hover: hover) and (pointer: fine) {
  #foto-home .galleriapres .foto-gallery:hover img {
    filter: grayscale(0%);
    transform: scale(1.05);
  }
}


/* ========================
   MASK-GALLERY â€” Overlay con logo al posto dell'icona
   ======================== */

#foto-home .galleriapres .mask-gallery {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0);
  opacity: 0;
  transition: opacity 0.5s ease, background 0.5s ease;
  pointer-events: none;
  z-index: 2;
}

/* Nascondo l'icona material symbols originale */
#foto-home .galleriapres .mask-gallery .material-symbols-rounded {
  display: none !important;
}

/* Aggiungo il logo come pseudo-elemento */
#foto-home .galleriapres .mask-gallery::after {
  content: '';
  display: block;
  width: 90px;
  height: 90px;
  background-image: url('https://www.iltuonerd.it/produzione/efes-hotel/data/loghi/logo-efes-new-2.webp');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  filter: brightness(0) invert(1);
  transform: scale(0.85);
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Hover â€” mostra overlay con logo */
@media (hover: hover) and (pointer: fine) {
  #foto-home .galleriapres .foto-gallery:hover .mask-gallery {
    opacity: 1;
    background: rgba(0, 0, 0, 0.35);
  }

  #foto-home .galleriapres .foto-gallery:hover .mask-gallery::after {
    transform: scale(1);
  }
}


/* ========================
   RESPONSIVE â€” Tablet
   ======================== */

@media (max-width: 992px) {
  #foto-home {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  #foto-home .galleriapres {
    gap: 6px;
    margin-bottom: 6px !important;
  }

  #foto-home #galleria-155 > div { height: 240px; }
  #foto-home #galleria-157 > div { height: 160px; }
  #foto-home #galleria-156 > div { height: 320px; }
  #foto-home #galleria-159 > div { height: 160px; }
  #foto-home #galleria-558 > div { height: 270px; }
  #foto-home #galleria-559 > div { height: 280px; }
  #foto-home #galleria-560 > div { height: 180px; }

  #foto-home .galleriapres .mask-gallery::after {
    width: 70px;
    height: 70px;
  }
}


/* ========================
   RESPONSIVE â€” Mobile
   ======================== */

@media (max-width: 640px) {
  #foto-home {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  #foto-home .galleriapres {
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 4px !important;
  }

  /* Su mobile: tutte le foto in 2 colonne, stesse dimensioni per riga */
  #foto-home .galleriapres > div[class*="col-"] {
    flex: 1 1 calc(50% - 2px);
    max-width: calc(50% - 2px);
  }

  /* Altezze mobile uniformi per tipologia */
  #foto-home #galleria-155 > div,
  #foto-home #galleria-558 > div {
    height: 180px;
  }

  #foto-home #galleria-157 > div,
  #foto-home #galleria-159 > div,
  #foto-home #galleria-560 > div {
    height: 160px;
  }

  #foto-home #galleria-156 > div {
    height: 220px;
    flex: 1 1 100%;
    max-width: 100%;
  }

  #foto-home #galleria-559 > div {
    height: 240px;
  }

  /* Su mobile: foto sempre a colori, niente effetto hover */
  #foto-home .galleriapres .foto-gallery img {
    filter: grayscale(0%) !important;
    transform: none !important;
  }

  /* Su mobile: mask sempre nascosta (non c'Ã¨ hover su touch) */
  #foto-home .galleriapres .mask-gallery {
    opacity: 0 !important;
  }

  /* Mostra il logo solo quando l'utente "preme" (active) per feedback visivo */
  #foto-home .galleriapres .foto-gallery:active .mask-gallery {
    opacity: 1 !important;
    background: rgba(0, 0, 0, 0.3) !important;
  }

  #foto-home .galleriapres .foto-gallery:active .mask-gallery::after {
    transform: scale(1);
  }
}


.intro-galleria h3 {
    color: #000 !important;
}

.intro-galleria h3 strong {
    color: #918981 !important;
}

section#foto-home.galleria-fotografica {padding-top:0}

.el-mappa .leaflet-tile-pane,
#mappa1-419 .leaflet-tile-pane,
#map-canvas1-419 .leaflet-tile-pane {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}

/* ========================
   FAST RESERVATION â€” Animazione fade in/out
   ======================== */

div.fastreservation {
  /* opacity: 0; */
  /* visibility: hidden; */
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.fast-res-slide .contenitore-fr {
    margin: 10%;
    margin-bottom: 10px;
    margin-top: 0;
}

div.fastreservation.apertura-full,
div.fastreservation.apertura-standard,
div.fastreservation.fr-open-bottom {
  opacity: 1;
  visibility: visible;
}

div.fastreservation.animate__fadeOut {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.contenitore-fr.content_laterale {
  opacity: 1;
  visibility: visible;
}


/* ========================
   APERTURA FULL â€” Sfondo immagine + overlay
   ======================== */

div.fastreservation.apertura-full {
  background: rgba(0, 0, 0, 0.85);
  overflow: hidden;
}

/* Immagine laterale-fr diventa sfondo a tutta pagina */
div.fastreservation.apertura-full .laterale-fr {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  z-index: 0 !important;
  filter: brightness(0.60);
  display: block !important;
}

/* Overlay scuro sopra l'immagine (z-index basso, sotto al form) */
div.fastreservation.apertura-full::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 0;
  pointer-events: none;
}

/* Container del form al 100% */
div.fastreservation.apertura-full .contenitore-fr.content_laterale {
  position: relative !important;
  width: 100% !important;
  max-width: 1300px !important;
  height: auto !important;
  right: auto !important;
  left: auto !important;
  margin: 0 auto !important;
  padding: 40px 40px !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* ========================
   FORM â€” Card bianca centrata
   ======================== */

div.fastreservation .contenitore-fr form {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 100%;
  gap: 0;
  background: rgb(255 255 255 / 90%);
  backdrop-filter: blur(6px);
  border-radius: 5px;
  padding: 60px;
  padding-left: 25px;
  padding-right: 25px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  position: relative;
  overflow: visible !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

div.fastreservation.apertura-full .contenitore-fr form {
  display: flex !important;
  flex-direction: row !important;
}


/* ========================
   COMPONENTI FR â€” Campi singoli
   ======================== */

div.fastreservation .component_fr {
  flex: 1 1 0;
  min-width: 0;
  padding: 18px 26px !important;
  margin: 0 !important;
  cursor: pointer;
  position: relative;
  border-bottom: none !important;
  border-right: 1px solid #eee5d8;
  background: transparent;
  transition: background 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: auto !important;
  overflow: visible !important;
}

div.fastreservation .component_fr:last-child {
  border-right: none;
}

div.fastreservation .component_fr:hover {
  /* background: #faf6f0; */
  border-radius: 8px;
}


/* ========================
   LABEL FASTR â€” PiÃ¹ grandi e leggibili
   ======================== */

div.fastreservation .labelfastr {
  display: block;
  font-family: var(--font-family-6) !important;
  /* font-size: 0.85rem !important; */
  font-weight: 600 !important;
  color: #918981 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
  margin: 0 0 14px 0 !important;
  cursor: pointer;
  font-weight: 600 !important;
}


/* ========================
   BLOCCO ELEMENTI INTERNI
   ======================== */

div.fastreservation .data_fr,
div.fastreservation .input_persone {
  display: block !important;
  position: relative;
}

div.fastreservation .blckelem {
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
  align-items: flex-start;
  vertical-align: middle;
}

div.fastreservation .data_fr .blckelem:first-of-type,
div.fastreservation .input_persone .blckelem:first-of-type {
  display: inline-block;
  vertical-align: middle;
  margin-right: 16px;
}

div.fastreservation .data_fr .blckelem:nth-of-type(2),
div.fastreservation .input_persone .blckelem:nth-of-type(2) {
  display: inline-block;
  vertical-align: middle;
}


/* ========================
   NUMERO GRANDE â€” PiÃ¹ grande
   ======================== */

div.fastreservation .elem-grande,
div.fastreservation.stile-custom .elem-grande {
  font-family: var(--font-family-1) !important;
  font-size: 3.2rem !important;
  font-weight: 400 !important;
  color: #1a1a1a !important;
  line-height: 1 !important;
  margin-right: 0 !important;
  display: block;
}

div.fastreservation .input_persone .numeropersone {
  font-family: var(--font-family-1) !important;
  font-size: 3.2rem !important;
  font-weight: 400 !important;
  color: #1a1a1a !important;
  line-height: 1 !important;
}


/* ========================
   TESTI PICCOLI â€” PiÃ¹ leggibili
   ======================== */

div.fastreservation .elem-piccolo {
  font-family: var(--font-family-6) !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  color: #1a1a1a !important;
  letter-spacing: 0.04em !important;
  display: block !important;
  line-height: 1.3 !important;
}

div.fastreservation .box_data {
  display: flex;
  flex-direction: row;
  gap: 6px;
  margin-bottom: 4px;
}

div.fastreservation .box_data .mese {
  text-transform: capitalize !important;
}

div.fastreservation .box_settimana .settimana {
  /* color: #918981 !important; */
  font-size: 1.2rem !important;
  text-transform: capitalize !important;
}

div.fastreservation .box_camere .ncamere {
  /* color: #918981 !important; */
  /* font-size: 0.88rem !important; */
}

div.fastreservation .boc_persone .npersone {
  /* font-size: 1rem !important; */
}


/* ========================
   INPUT DATEPICKER â€” DEVE RESTARE CLICCABILE
   Il plugin attiva il datepicker tramite click sull'input
   ======================== */

div.fastreservation.stile-custom input.datepicker {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  z-index: 5 !important;
  visibility: visible !important;
  display: block !important;
  pointer-events: auto !important;
}


/* ========================
   DATEPICKER DROPDOWN â€” Visibile sopra tutto
   ======================== */

div.fastreservation .datepicker.datepicker-dropdown {
  z-index: 99999 !important;
}

/* Override per la posizione del datepicker (regole esistenti nel CSS) */
.checkin .datepicker.datepicker-dropdown.active,
.checkout .datepicker.datepicker-dropdown.active {
  top: auto !important;
  z-index: 99999 !important;
}


/* ========================
   PROMOCODE
   ======================== */

div.fastreservation .input_listino .blckelem.mw60 {
  min-height: 45px;
  margin-top: 4px;
}

div.fastreservation .input_listino .listino.import {
  font-family: var(--font-family-1) !important;
  font-size: 1.4rem !important;
  color: #1a1a1a !important;
  font-weight: 400 !important;
  display: block;
}

div.fastreservation .input_listino .listino.import:empty::before {content: 'promocode';/* color: #c4b8a4; */font-weight: 300;}


/* ========================
   AREA DROPDOWN â€” Z-INDEX ALTO PER USCIRE DALL'OVERLAY
   ======================== */

div.fastreservation .area_input_persone {
  background: #ffffff !important;
  border-radius: 14px !important;
  padding: 25px !important;
  box-shadow: 0 12px 50px rgba(0, 0, 0, 0.25) !important;
  border: 1px solid #f0e8da !important;
  margin-top: 15px !important;
  margin-left: 0 !important;
  min-width: 320px;
  position: absolute !important;
}

div.fastreservation .area_input_persone.elementovisible {
  z-index: 99999 !important;
  opacity: 1 !important;
  background: #ffffff !important;
}

div.fastreservation .area_input_persone .cont_input_persone {
  display: flex !important;
  flex-direction: row !important;
  gap: 20px !important;
  margin-bottom: 18px !important;
  background: transparent !important;
}

div.fastreservation .area_input_persone .component_fr {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  flex: 1;
}

div.fastreservation .area_input_persone .component_fr:hover {
  background: transparent !important;
}

div.fastreservation .area_input_persone label.elemfr {
  font-family: var(--font-family-6) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #918981 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
  display: block !important;
}

div.fastreservation .area_input_persone select.elemfr {
  width: 100% !important;
  min-width: 100% !important;
  border: none !important;
  border-bottom: 1px solid #d4c9b8 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  font-family: var(--font-family-5) !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  padding: 8px 22px 8px 0 !important;
  cursor: pointer !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3e%3cpath fill='%23A07850' d='M5 6L0 0h10z'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right center !important;
  height: 60px;
  padding-left: 20px !important;
}

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


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

div.fastreservation .area_input_listino {
  background: #ffffff !important;
  border-radius: 14px !important;
  padding: 25px !important;
  box-shadow: 0 12px 50px rgba(0, 0, 0, 0.25) !important;
  border: 1px solid #f0e8da !important;
  margin-top: 15px !important;
  margin-left: 0 !important;
  min-width: 300px;
  z-index: 99999 !important;
  position: absolute !important;
}

div.fastreservation .area_input_listino.elementovisible {
  z-index: 99999 !important;
  opacity: 1 !important;
  background: #ffffff !important;
}

div.fastreservation .area_input_listino .elemfr {
  font-family: var(--font-family-6) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #918981 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
  display: block !important;
}

div.fastreservation .area_input_listino .listinoinput {
  width: 100% !important;
  border: none !important;
  border-bottom: 1px solid #d4c9b8 !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-family: var(--font-family-6) !important;
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  padding: 8px 0 !important;
  outline: none !important;
  margin-bottom: 18px !important;
}

div.fastreservation .area_input_listino .listinoinput:focus {
  border-bottom-color: #A07850 !important;
}


/* ========================
   BOTTONI "OK" delle aree dropdown
   ======================== */

div.fastreservation .area_input_notti .chiudi,
div.fastreservation .area_input_persone .chiudi,
div.fastreservation .area_input_listino .chiudi {
  width: 100% !important;
  height: 48px !important;
  background: #A07850 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: var(--font-family-6) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: background 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
}

div.fastreservation .area_input_notti .chiudi:hover,
div.fastreservation .area_input_persone .chiudi:hover,
div.fastreservation .area_input_listino .chiudi:hover {
  background: #C9A882 !important;
}


/* ========================
   BOTTONE "PRENOTA ORA"
   ======================== */

div.fastreservation .prencanc_fr.component_fr {
  border-right: none !important;
  padding: 0 !important;
  margin: 0 0 0 12px !important;
  flex: 0 0 auto;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

div.fastreservation .prencanc_fr a.btn_fastres {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 200px !important;
  height: 85px !important;
  background: #918981 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 3px !important;
  font-family: var(--font-family-6) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.4s ease !important;
  margin: 0 !important;
  padding: 0 35px !important;
  white-space: nowrap;
}

div.fastreservation .prencanc_fr a.btn_fastres:hover {
  background: #6d6761 !important;
}

div.fastreservation .prencanc_fr a.btn_fastres span,
div.fastreservation .prencanc_fr.component_fr span {
  color: #ffffff !important;
  font-family: var(--font-family-6) !important;
  letter-spacing: 0.22em !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
}


/* ========================
   BOTTONE CHIUDI X â€” FUORI DAL BOX BIANCO, IN ALTO A DESTRA SCHERMO
   ======================== */

div.fastreservation.apertura-full .btn-chiudiFR {
  position: fixed !important;
  top: -25px !important;
  right: -25px !important;
  background: rgb(255 255 255) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: 50% !important;
  width: 50px !important;
  height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  color: #ffffff !important;
  font-size: 1.8rem !important;
  z-index: 100000 !important;
  transition: all 0.3s ease !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

div.fastreservation.apertura-full .btn-chiudiFR:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  color: #C9A882 !important;
  transform: rotate(90deg) !important;
}

div.fastreservation.apertura-full .btn-chiudiFR i {
  font-size: 1.5rem;
}


/* ========================
   RESPONSIVE â€” Tablet
   ======================== */

@media (max-width: 992px) {
  div.fastreservation.apertura-full .contenitore-fr.content_laterale {
    padding: 30px 20px !important;
  }

  div.fastreservation .contenitore-fr form {
    flex-wrap: wrap;
    padding: 18px;
  }

  div.fastreservation .component_fr {
    flex: 1 1 calc(50% - 1px);
    border-right: none;
    border-bottom: 1px solid #eee5d8;
  }

  div.fastreservation .component_fr:nth-child(odd) {
    border-right: 1px solid #eee5d8;
  }

  div.fastreservation .prencanc_fr.component_fr {
    flex: 1 1 100% !important;
    margin: 18px 0 0 0 !important;
    border-bottom: none !important;
  }

  div.fastreservation .prencanc_fr a.btn_fastres {
    width: 100% !important;
  }

  div.fastreservation .elem-grande,
  div.fastreservation .input_persone .numeropersone {
    font-size: 2.6rem !important;
  }
}


/* ========================
   RESPONSIVE â€” Mobile (verticale)
   ======================== */

@media (max-width: 1024px) {
  div.fastreservation.apertura-full .contenitore-fr.content_laterale {
    padding: 20px 15px !important;
  }

  div.fastreservation .contenitore-fr form {
    flex-direction: column !important;
    padding: 20px;
  }

  div.fastreservation.apertura-full .contenitore-fr form {
    flex-direction: column !important;
  }

  div.fastreservation .component_fr {
    flex: 1 1 100% !important;
    width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid #eee5d8 !important;
    padding: 18px 20px !important;
  }

  div.fastreservation .component_fr:last-of-type {
    border-bottom: none !important;
  }

  div.fastreservation .prencanc_fr.component_fr {
    margin: 18px 0 0 0 !important;
    border-bottom: none !important;
    padding: 0 !important;
  }

  div.fastreservation .prencanc_fr a.btn_fastres {
    width: 100% !important;
    height: 65px !important;
    font-size: 0.85rem !important;
  }

  div.fastreservation .elem-grande,
  div.fastreservation .input_persone .numeropersone {
    font-size: 2.5rem !important;
  }

  div.fastreservation.apertura-full .btn-chiudiFR {
    top: 15px !important;
    right: 15px !important;
    width: 42px !important;
    height: 42px !important;
  }

  div.fastreservation .area_input_persone,
  div.fastreservation .area_input_listino {
    min-width: 100% !important;
    width: calc(100% - 40px) !important;
    left: 20px !important;
  }

  div.fastreservation .area_input_persone .cont_input_persone {
    flex-direction: column !important;
    gap: 14px !important;
  }
}

/* ========================
   DISABILITA OVERLAY SCURO DEL PLUGIN
   Quando si apre calendario/persone/promocode il plugin
   attiva #dp-overlay che oscura tutto. Lo nascondiamo.
   ======================== */

#dp-overlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#footer #sezfooter3 {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    /* text-align: center; */
    /* align-content: flex-start; */
    /* justify-content: flex-start; */
    align-items: center;
    padding: 1% 5%;
    border-top: solid 1px #ffffff4f;
    background: #ded8d2;
}





/* ========================
   MENU HEADER â€” Animazione fade in/out
   ======================== */

#menu_header.navbar-menu {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

#menu_header.navbar-menu.menu-aperto {
  opacity: 1;
  visibility: visible;
}

/* Override classi animate.css per usare fade pulito */
#menu_header.navbar-menu.animate__fadeIn,
#menu_header.navbar-menu.animate__fadeOut {
  animation: none !important;
  -webkit-animation: none !important;
}


/* ========================
   MENU HEADER â€” Container principale
   ======================== */

#menu_header.navbar-menu {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  z-index: 9998 !important;
  overflow: hidden;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* ========================
   AREA BACKGROUND â€” Immagine a tutta pagina
   ======================== */

#menu_header .areabck {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  z-index: 0 !important;
  filter: brightness(0.6);
}

/* Overlay scuro sopra l'immagine */
#menu_header .areabck::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1;
  pointer-events: none;
}

#menu_header .areabck .sezab {
  display: none;
}


/* ========================
   AREAMENU â€” Container voci centrato
   ======================== */

#menu_header .areamenu {
  position: relative !important;
  background: transparent !important;
  width: 100% !important;
  max-width: 600px;
  height: auto !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 40px 20px !important;
  margin: 0 auto !important;
}


/* ========================
   LOGO MENU
   ======================== */

#menu_header .contenitore-logo-menu {
  margin-bottom: 60px !important;
  z-index: 3;
  filter: none !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

#menu_header .contenitore-logo-menu img.logo-sito-menu {
  max-width: 180px !important;
  width: 100% !important;
  height: auto !important;
  filter: brightness(0) invert(1);
  opacity: 0.95;
}


/* ========================
   VOCI MENU â€” Lista navigazione
   ======================== */

#menu_header .navbar-nav-menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
  gap: 0;
}

#menu_header .navbar-nav-menu > li.nav-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

/* Singolo link voce menu */
#menu_header .navbar-nav-menu li.nav-item .nav-link,
#menu_header.menu-aperto .navbar-nav-menu li.nav-item .nav-link {
  display: inline-block !important;
  position: relative;
  padding: 18px 10px !important;
  font-family: var(--font-family-1) !important;
  font-size: 2rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.08em !important;
  text-transform: capitalize !important;
  color: rgba(255, 255, 255, 0.92) !important;
  text-decoration: none !important;
  text-align: center !important;
  background: transparent !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  transition: color 0.4s ease, letter-spacing 0.5s ease;
}

#menu_header .navbar-nav-menu li.nav-item .nav-link:hover {
  color: #d0c6bb !important;
  letter-spacing: 0.14em !important;
}


/* ========================
   UNDERLINE ANIMATO sotto le voci
   ======================== */

#menu_header .navbar-nav-menu .nav-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 8px;
  width: 0;
  height: 1px;
  background-color: #d0c6bb;
  transform: translateX(-50%);
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

#menu_header .navbar-nav-menu .nav-item:hover .nav-link::after {
  width: 40px;
}


/* ========================
   VOCE PRENOTAZIONI â€” Bottone evidenziato
   ======================== */

#menu_header .navbar-nav-menu li.nav-item.prenotazioni {
  margin-top: 30px !important;
}

#menu_header .navbar-nav-menu li.nav-item.prenotazioni .nav-link,
#menu_header.menu-aperto .navbar-nav-menu li.nav-item.prenotazioni .nav-link {
  padding: 20px 50px !important;
  background: #918981 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: var(--font-family-6) !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  transition: background 0.4s ease !important;
  min-width: 220px;
  text-align: center !important;
}

#menu_header .navbar-nav-menu li.nav-item.prenotazioni .nav-link:hover {
  background: #C9A882 !important;
  color: #ffffff !important;
  letter-spacing: 0.25em !important;
}

#menu_header .navbar-nav-menu li.nav-item.prenotazioni .nav-link::after {
  display: none !important;
}


/* ========================
   VOCE OFFERTE SPECIALI â€” Stile secondario
   ======================== */

#menu_header .navbar-nav-menu li.nav-item.azioneher:not(.prenotazioni) .nav-link {
  font-style: italic !important;
}


/* ========================
   BOTTONE CHIUDI X â€” In alto a destra fisso
   ======================== */

#menu_header .chiudi_menumobile {
  position: fixed !important;
  top: 30px !important;
  right: 30px !important;
  left: auto !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: 50% !important;
  width: 50px !important;
  height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  color: #ffffff !important;
  font-size: 1.8rem !important;
  z-index: 100000 !important;
  transition: all 0.3s ease !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 0 !important;
}

#menu_header .chiudi_menumobile:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  color: #C9A882 !important;
  transform: rotate(90deg) !important;
}

#menu_header .chiudi_menumobile i.zmdi.zmdi-close {
  font-size: 1.5rem !important;
  color: inherit !important;
}


/* ========================
   RESPONSIVE â€” Tablet
   ======================== */

@media (max-width: 992px) {
  #menu_header .areamenu {
    max-width: 500px;
    padding: 30px 15px !important;
  }

  #menu_header .contenitore-logo-menu {
    margin-bottom: 40px !important;
  }

  #menu_header .contenitore-logo-menu img.logo-sito-menu {
    max-width: 150px !important;
  }

  #menu_header .navbar-nav-menu li.nav-item .nav-link {
    font-size: 1.8rem !important;
    padding: 14px 10px !important;
  }
}


/* ========================
   RESPONSIVE â€” Mobile
   ======================== */

@media (max-width: 640px) {
  #menu_header .areamenu {
    max-width: 100%;
    padding: 25px 20px !important;
  }

  #menu_header .contenitore-logo-menu {
    margin-bottom: 30px !important;
  }

  #menu_header .contenitore-logo-menu img.logo-sito-menu {
    max-width: 130px !important;
  }

  #menu_header .navbar-nav-menu li.nav-item .nav-link {
    font-size: 1.5rem !important;
    padding: 12px 10px !important;
    letter-spacing: 0.06em !important;
  }

  #menu_header .navbar-nav-menu li.nav-item .nav-link:hover {
    letter-spacing: 0.1em !important;
  }

  #menu_header .navbar-nav-menu li.nav-item.prenotazioni {
    margin-top: 20px !important;
  }

  #menu_header .navbar-nav-menu li.nav-item.prenotazioni .nav-link {
    padding: 16px 35px !important;
    font-size: 0.78rem !important;
    min-width: 190px;
  }

  #menu_header .chiudi_menumobile {
    top: 15px !important;
    right: 15px !important;
    width: 42px !important;
    height: 42px !important;
  }

  #menu_header .chiudi_menumobile i.zmdi.zmdi-close {
    font-size: 1.3rem !important;
  }
}

.fast-res-slide div.fastreservation .contenitore-fr form {
    padding: 15px;
}

#slideshow .row.centrale.ao_center {
    margin-top: 19%;
}


.cbck_1 {
    background: #000000;
    background: #1c1a1a;
    background: linear-gradient(180deg, rgba(28, 26, 26, 1) 0%, rgba(28, 26, 26, 0.24) 32%, rgba(28, 26, 26, 0) 100%);
}


#bottone_menu_header svg {
    filter: brightness(0) saturate(100%) invert(59%) sepia(10%) saturate(280%) hue-rotate(349deg) brightness(90%) contrast(98%);
}

.pos_absolute #bottone_menu_header svg {
    filter: invert(1);
}

.fast-res-slide div.fastreservation .area_input_persone,
.fast-res-slide div.fastreservation .area_input_listino {
    top: auto !important;
    bottom: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0px !important;
}

#bottone_menu_header svg {
    width: 60%;
}

#bottone_menu_header.bottone-fix {
    margin-left: 0;
    display: flex;
    justify-content: center;
    align-items: center !important;
    width: 90px !important;
    height: 90px !important;
}

.bottone_aprimenu button.buttonmenu, .bottone_aprimenu span.buttonmenu {
    display: flex;
    align-items: center;
}



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

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

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



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

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

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

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

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

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


section#faq {
    padding: 100px;
}

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

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

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

/* rotazione quando la FAQ Ã¨ aperta */
.faq-question[aria-expanded="true"] .faq-arrow{
  transform:rotate(180deg) !important;
}

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

.faq-question .faq-arrow{
  margin-left:auto;     /* spinge la freccia completamente a destra */
  flex-shrink:0;
}

button.faq-question:hover {
    background-color: #87695b !important;
    transition: 1s;
        color: #fff;
}
button.faq-question:hover img {
    filter: invert(1);
}

