:root{
  --text-color: #666;
  --primary-color: #00a5e0;
  --bg-color-1:#A39887;
  --bg-color-2:#ff595e;
  --bg-color-3:#F0ECE5;
  --bg-color-4:#DEC5AF;
  --bg-color-white:#FFF;
  --bg-opened-menu: rgba(190, 166, 131, 0.8);
  --header-height: 80px;
  --anchor-offset: 160px;
}

body{ font-weight:400; color:var(--text-color); font-size:19px; font-family: "Google Sans", sans-serif; overflow-x:hidden; scroll-behavior: smooth; scroll-padding-top:var(--anchor-offset); }
.no-carousel { padding-top: 195px !important; }

a { text-decoration:none; color:var(--text-color); }

.scroll-disabled { overflow: hidden; }

.anchor,
:target { scroll-margin-top: var(--anchor-offset); }

.section-padding { padding:60px 0; }

.container { width:100%; max-width: 1600px; }
.container-fluid { max-width:1920px; margin:0px auto; }

.section__maintitle { margin-bottom:30px; font-size:45px; font-weight:400; font-family: "Bodoni Moda", serif; }
.section__mainsubtitle { color: var(--bg-color-1);margin-bottom:15px; font-size: 22px; font-weight: 300; text-transform: uppercase; }

.btn-cta { display:inline-block; padding:18px 32px 18px 60px; border-radius: 40px; background:var(--primary-color); color:var(--bg-color-white); font-size: 20px; font-weight: 400; text-decoration: none; border:0; overflow: hidden; position: relative; z-index: 1; transition: color 0.35s ease, opacity 0.35s ease; }
.btn-cta::before { content: ""; position: absolute; top: 0; left: -16px; right: 0; bottom: 0; width: 100%; height: 0%; margin: auto; transform: rotate(-45deg); background-color: var(--bg-color-2); transition: 700ms cubic-bezier(0.52, 1.64, 0.37, 0.66); z-index: -1; }
.btn-cta::after { content: "\f152"; position: absolute; left: 30px; top: 50%; transform: translateY(-50%); font-family: flaticon_servizi_generali !important; line-height: 1; font-size: 20px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.btn-cta:hover,
.btn-cta:focus{ color:var(--bg-color-white); text-decoration:none; opacity:0.95; }
.btn-cta:hover::before,
.btn-cta:focus::before{ height: 550%; }

.btn-cta-2 { display: inline-block; padding: 12px 28px; text-decoration: none; color:var(--bg-color-1); text-transform: uppercase; border-left: 3px solid var(--bg-color-2); position: relative; overflow: hidden; z-index: 1; transition: color 0.35s ease; }
.btn-cta-2::before { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 0%; background: var(--bg-color-2); z-index: -1; transition: width 0.35s ease; }
.btn-cta-2:hover { color: var(--bg-color-white); text-decoration: none; }
.btn-cta-2:hover::before { width: 100%; }

.bg-custom { background: var(--bg-color-3); }
.bg-custom-2 { background: var(--bg-color-4); color: var(--bg-color-white); }
.bg-custom-2 .section__maintitle, .bg-custom-2 .section__mainsubtitle { color: var(--bg-color-white); }

/* HEADER */
.noscroll { overflow: hidden; }

header { background: rgba(255,255,255,.5); position: fixed; width: 100%; top: 0; left: 0; right: 0; z-index: 101; padding: 0; color: #00292e; transition: background, 0.2s; }
.fixed-header header,
.no-carousel header { background:rgba(255,255,255,.8); }
header .header-container { display: flex; flex-direction: row; flex-wrap: wrap; align-content: center; }

.wrapper-menu-toggle { background-color: var(--bg-color-white); text-align: center; padding: 0 12px 10px; transition: background-color 0.05s linear; cursor: pointer; z-index: 2; position: relative; }
.menu-toggle { border: 0; padding: 0; background-color: transparent; overflow: hidden; outline: none; cursor: pointer; height: 70px; width: 80px; background-color: none; border-radius: 50%; transition: background-color 0.05s linear; display: flex; flex-direction: column; }
.menu-toggle i { width: 80px; height: 80px; display: block; font-size: 20px; line-height: 2.5; line-height: 1; transition: transform 0.2s ease-in-out; transform: translateY(0); color: var(--bg-color-white); padding: 44px 0 20px; text-align: center; }
.menu-toggle .barra { width: 40px; height: 1px; margin:0px auto 7px; background-color: #333; transition: transform .2s ease, opacity .2s ease, margin .2s ease; transform-origin: center; }
.menu-toggle i.icon-open { padding: 32px 0; }
/* Stato aperto: diventa X */
.menu-toggle.menu-toggle-open .barra:nth-child(1){ transform: translateY(8px) rotate(45deg); }
.menu-toggle.menu-toggle-open .barra:nth-child(2){ opacity: 0; }
.menu-toggle.menu-toggle-open .barra:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }

.header-info { background: var(--bg-color-1); position: relative; overflow: hidden; z-index: 1; }
.header-info::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; top: 0; background: var(--primary-color); transform: translateY(100%); transition: transform .5s ease; z-index: 0; }
.header-info:hover::before { transform: translateY(0); }
.header-info a { color: var(--bg-color-white); text-decoration: none; display: inline-block; min-width: 70px; font-weight: 600; padding: 0 30px 8px; padding: 0 1.5625vw 8px; transition: 0.2s linear, color 0.2s linear; position: relative; margin-top: 7px; z-index: 1; }
.header-info a i { display: inline-block; font-size: 28px; line-height: 1; color: var(--bg-color-white); transition: color, 0.2s; }
.header-info__booking { background: var(--bg-color-2); max-width: 320px; }
.label-header { font-size: 15px; line-height: 1; transform: translateY(8px); margin-top: -7px; color: var(--bg-color-white); }

@media (max-width: 991px) {
  body { padding-bottom: 45px; }
  header .hidden-mobile { display:none; }
  .header-info a { min-width: 60px; }
  .header-info__booking { width:100%; max-width: 100%; text-align: center; position: fixed; bottom: 0; left: 0; height:45px !important; }
  .header-info__booking a { width: auto; margin: 10px auto 0; }

  .section-padding { padding:30px 0; }
}

@media (min-width: 992px){
  .logo-header { margin-top:0px; max-width: 300px; }
}

/* MENU */
#extended-menu .menu-item { display: block; }
#extended-menu .menu-item a { padding: 15px 20px; }
#extended-menu .menu-item a:hover { background-color:var(--bg-color-1); color: var(--bg-color-white); transition: background-color 0.4s ease, color 0.4s ease; }

@media (min-width: 1200px) {
  #extended-menu { position: fixed; top: var(--header-height); left: 0; width: 100%; z-index: 100; background: rgba(255, 255, 255, .5); margin: 0; padding: 0 20px; text-align: center; }
  .fixed-header #extended-menu { background: rgba(255, 255, 255, .8); box-shadow: 0px -5px 15px rgba(0, 0, 0, 0.3); }
  #extended-menu .menu-list { justify-content: center; gap: 0; flex-wrap: nowrap; margin-bottom: 0; }

  #extended-menu .menu-item { display: inline-block; margin: 0; }
  #extended-menu .menu-item a { color: var(--bg-color-1); padding: 20px 12px; font-size: 20px; text-transform: uppercase; font-weight:400; letter-spacing: -0.5px; background: transparent; }

  #extended-menu .menu-item a:hover,
  #extended-menu .menu-item.menu-active a { color: var(--bg-color-white); background: var(--bg-color-1); }
}

@media (max-width: 1199px) {
  .no-carousel header { box-shadow: 0px -5px 15px rgba(0, 0, 0, 0.3); }
}
.menu-canvas { position: fixed; z-index: 99; left: 0; width: 100%; height: 100%; top: 0; background: var(--bg-opened-menu); display: flex; align-items: center; transition: opacity 0.1s linear; opacity: 0; transform: translateY(-120%); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.menu-canvas::before { content: ''; position: absolute; inset: 0; background: url('../images/icon-logo.png') no-repeat bottom right; bottom:-15%; right: -20%; opacity: 0.3; z-index: 0; }
.menu-canvas.menu-open { transform: translateY(0); opacity: 1; }
.menu-canvas ul { padding-left:0px; list-style:none; }
.menu-canvas ul a { text-decoration:none; }

.menu-list { list-style:none; }
.menu-list > .menu-item { text-align: center; }
.menu-item { position: relative; }
.menu-item a { text-decoration: none; color: var(--bg-color-white); font-size: 30px; font-weight: 300; line-height: 1; text-transform: initial; padding: 13px 15px; display: block; transition: all 0.2s linear; }
.menu-item a:hover { background: var(--bg-color-2); }
.menu-item.menu-active a { background: var(--bg-color-2); }

.menu-open .label-menu { opacity: 0; }

.language-menu { position: fixed; list-style: none; max-width: none; width: auto; left: 50%; transform: translateX(-50%); right: auto; text-align: center; top: 130px; }
.language-list-item { float: none; padding-right: 0; }
.language-menu .language-list-link-mobile { display: block; float: left; width: 40px; height: 70px; font-size: 20px; padding: 22px 0 0; margin: 0; text-align: center; }

.language-list-link { color: var(--bg-color-white); }
.language-list-link:hover { color: var(--bg-color-white); }

.language-menu-desktop { background: var(--bg-color-white); list-style: none; display: flex; align-items: center; margin: 0; padding: 0; gap: 8px; }
.language-menu-desktop .language-list-item { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; }

.language-menu-desktop .language-list-link,
.language-menu-desktop .language-list-link-mobile { display: inline-block; width: auto; height: auto; padding: 8px 5px; font-size: 16px; line-height: 1; text-align: center; margin: 0; color: var(--text-color); }

.language-menu-desktop .language-list-link.active,
.language-menu-desktop .language-list-link-mobile.active,
.language-menu-desktop .language-list-link:hover,
.language-menu-desktop .language-list-link-mobile:hover { color: var(--bg-color-1); }

@media (min-width: 992px){
  .visible-desktop{ display:initial; position: absolute; left: 6rem; top: 40%; }
  .visible-desktop a {display: block; margin: 30px;}
  .visible-mobile { display: none; }
}

@media (max-width: 991px) {
  .menu-canvas::before { background: none; }
  .section__maintitle { font-size:36px; }
  .section__mainsubtitle { font-size: 18px; }

  .main-navigation { font-size: 20px; flex-basis: 100%; overflow-y: scroll; }
  .menu-list > .menu-item { text-align: center; }
  .menu-item a { font-size: 25px; display: block; }

  .visible-desktop { display: none; }
  .visible-mobile { display: initial; }
}


/* CAROUSEL */
.section-carousel__wrapper { position: relative; }
.section-carousel .carousel,
.section-carousel .carousel .swiper,
.section-carousel .carousel .swiper-wrapper,
.section-carousel .carousel .swiper-slide { width: 100%; height: 100%; }
.section-carousel .carousel { position: relative; z-index: 1; }
.section-carousel .carousel__picture { display: block; width: 100%; height: 100%; }
.section-carousel .carousel .swiper-slide { height: 650px; }
.section-carousel .carousel__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.wrap-carousel__title { position: absolute; z-index: 100; bottom: 5%; width: 80%; margin: 0 10%; text-align: center; font-family: 'Bodoni', serif; color:var(--bg-color-white); }
.wrap-carousel__title h2 { font-size: 84px; line-height: 4.2rem; text-shadow: 4px 3px 21px var(--bg-color-1); }
.wrap-carousel__title h2 span { font-size: 60%; }

@media (min-width: 992px) {
  .section-carousel__wrapper::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 40%; background: linear-gradient(to top, rgba(163, 152, 135, 0.6) 0%, rgba(163, 152, 135, 0) 100%); pointer-events: none; z-index: 2; }
  .section-carousel .carousel .swiper-slide { height: 100svh; }
}
@media (max-width: 991px) {
  .wrap-carousel__title { display: none; }
}

/* Form Contatti */
.section-contatti { padding:60px 0px; }
.section-contatti h2 { text-align:center; }
.section-contatti__description { text-align:center; margin-bottom:30px; }

.contact-form .form-control {border-radius:0;}
.wrap_eta.hidden{display:none;}

.contact-form .form-group { margin-bottom:15px; }
.contact-form .form-check a { color:#222; text-decoration:none; }


/* MAPPA */
#map-map { width:100%; height:600px; }

/* POPUP */

.popup-dynamic .modal-header img { margin:0px auto; }
.popup-dynamic__header-logo { background-color: #0137a1; }
.popup-dynamic__header-logo button { position: absolute; top:5px; right:15px; color:var(--bg-color-white); }
.popup-dynamic__wrap-image img { margin:0px auto; }
.popup-dynamic__wrap-image + .popup-dynamic__wrap-text { margin-top:20px; }
.popup-dynamic__wrap-text h2,
.popup-dynamic__wrap-text h3 { color:#0137a1; }

@media (min-width: 576px){
  .popup-dynamic .modal-dialog { max-width: 600px; }
}

/* NEWSLETTER */
.section-newsletter { background:#f4f6f9; overflow: none; padding:40px 0px; }
.box-newsletter { text-align: center; margin:0px auto; max-width: 850px; position: relative; }
.box-newsletter__wrapper { max-width: 450px; margin:0px auto; }
.box-newsletter h2 { margin-bottom:5px; }
.box-newsletter .form-control { border-radius: 0px; }
.box-newsletter .form-check { margin:10px 0px; }

/* SLIDER OFFERTE */
.section-slider-offerte { padding-top:40px; }
.section-slider-offerte__wrap-text h2 { margin-bottom: 5px; text-align: center; }
.section-slider-offerte__text { margin-bottom: 25px; font-weight: 600; }
.section-slider-offerte__wrap-btn-all { margin-top: 15px;  margin-bottom:25px; }

.slider-offerte__slide { margin:0px auto; max-width: 1600px; padding: 0px 5px; }
.slider-offerte__wrap-title { margin-bottom: 20px;  }
.slider-offerte__wrap-title h3 { font-size: 22px; }
.slider-offerte__link { margin-bottom:30px; position: relative; }
.slider-offerte__wrap-link a { display: inline-block; }
.slider-offerte__wrap-link a:hover { text-decoration: none; }

.slider-offerte > .slider-offerte__wrap-slide { display:none; } 
.slider-offerte > .slider-offerte__wrap-slide:first-child { display:block; display: block; max-width: 100%; height: auto; }

@media (min-width: 992px){
.section-slider-offerte__column-left { padding-top:40px; }
.section-slider-offerte__text { font-size: 20px; margin-bottom: 105px; }
.section-slider-offerte__wrap-btn-all a { font-size: 22px; }
}
@media (max-width: 991px){
  .section-slider-offerte { text-align: center; }
}

/* LISTA OFFERTE */

.section-lista-offerte { padding-bottom:0px; }
.wrapper-lista-offerte { padding:30px 0px 35px; }

.lista-offerte__wrap-offerta { margin-bottom:45px; position:relative; }
.lista-offerte__col-text { padding:20px; }
.lista-offerte__wrap-btn-offerta { margin-top:20px; }

@media (max-width: 767px){
  .lista-offerte__wrap-offerta { max-width:500px; margin-left:auto; margin-right:auto; }
}



/* LISTA CAMERE */
.section-lista-camere { padding-top:45px; }

.section-lista-camere__wrap-text { margin-bottom:45px; }

.room-item__wrapper { padding:45px 0px; }
.room-item__wrapper .room-meta{ margin: 10px 0 18px; }
.room-item__wrapper .meta-pill{ display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; background: var(--primary-color); border: 1px solid var(--primary-color); color: var(--bg-color-white)fff; font-size: 14px; line-height: 1; }
.room-item__wrapper .meta-pill strong{ margin-left: 2px; }
.room-item__wrapper .meta-ico{ width: 18px; height: 18px; fill: currentColor; opacity: .7; } 

.room-item__services ul { list-style:none; padding:0px; }
.room-item__services li { position:relative; display:block; padding:7px 0px 7px 38px; }
.room-item__services li i { position:absolute; top:4px; /*top:50%; margin-top:-14px;*/ left:2px; color:var(--primary-color); font-size:26px; height:26px; /* fix */ }

.room-item__wrapper { background: var(--bg-color-3); }
.room-item__wrapper.sinistra { background: var(--bg-color-white); }

.room-item__wrap-image { position:relative; overflow:hidden; }
.room-item__wrap-image img { transition:0.8s all; }
.room-item__wrap-image:hover img { transform:scale(1.1); }
.wrap-gallery-room__wrap-button a { position:absolute; top:0px; left:0px; right:0px; bottom:0px; z-index:10; transition:0.3s all; }
.wrap-gallery-room__wrap-button a:hover { background-color:rgba(0, 0, 0, 0.2); }
.wrap-gallery-room__button { position:absolute; top:20px; left:20px; z-index: 15; display:inline-block; background-color:#f4f6f9; color:#222; padding:10px 15px; font-size: 16px; font-weight: 500; text-decoration:none; transition:0.3s all; }
.wrap-gallery-room__wrap-button a:hover .wrap-gallery-room__button { background-color:var(--bg-color-1); color:var(--bg-color-white); }
.wrap-gallery-room__wrap-button .wrap-icon { position:absolute; top:50%; left:0%; right: 0px; text-align: center; transform: translateY(-50%); z-index:15; }
.wrap-gallery-room__wrap-button i { opacity:0; font-size: 40px; color:var(--bg-color-white); transition:0.5s all; }
.wrap-gallery-room__wrap-button a:hover i { opacity:0.8; font-size: 80px; }

.room-item__wrapper .col-image { margin-top:30px; }

@media (min-width: 992px){
  .room-item__services ul { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2; -webkit-column-gap: 20px; -moz-column-gap: 20px; column-gap: 20px; }
  .room-item__services li { break-inside: avoid-column; }

  .room-item__wrapper.sinistra .col-text { order: 6!important; }

  .room-item__wrapper .col-image { margin-top:0px; }
  .sinistra .wrap-gallery-room__button { left:auto; right:20px; }
}

@media (min-width: 1400px){
  .room-item__wrapper.destra .col-image { padding-left:25px; }
  .room-item__wrapper.sinistra .col-image { padding-right:25px; }
  .room-item__wrapper.destra .room-item__wrap-text { padding-left:30px; padding-right:15px; }
  .room-item__wrapper.sinistra .room-item__wrap-text { padding-left:15px; padding-right:30px; }
}
@media (min-width: 1800px){
  .room-item__wrapper.destra .room-item__wrap-text { padding-left:50px; padding-right:25px; }
  .room-item__wrapper.sinistra .room-item__wrap-text { padding-left:25px; padding-right:50px; }
}

/* SLIDER CAMERE */
.slider-camere .swiper-slide { width: auto; /* per rispettare la larghezza contenuto, come variableWidth */ }

/* 2 COLONNE TESTO E IMMAGINE */
.section-with-image__wrap-text{ padding:25px 10px; }
.section-with-image__wrap-text p:last-child{ margin-bottom:0; }
.section-with-image__wrap-text ul:last-child{ margin-bottom:0; }
.section-with-image__wrap-button { margin-top:30px; }

.wrap-image { position: relative; display: inline-block; }
.wrap-image::before { content:''; position:absolute; top: 20px; left: -20px; right: 66px; bottom: -20px; background: var(--bg-color-3); z-index: 0; /*border: 1px solid var(--bg-color-3);*/ z-index:0; }
.wrap-image > img { position:relative; z-index:1; display: block; width: 100%; height: auto; }
.wrap-image__inner { position: absolute; right: 0; bottom: 0; z-index: 2; max-width:60%; transform: translate(28px, 58px); border: 8px solid var(--bg-color-white); box-sizing: border-box; }
.wrap-image__inner img { display: block; width: 100%; height: auto; border-radius: 0px 35px 0px 35px; }
@media (min-width: 992px){
 .section-with-image__wrap-text { padding:25px 20px; }
}
@media (max-width: 991.98px){
  .wrap-image { display:flex; gap:12px; align-items:flex-end; }
  .wrap-image::before { display:none; }
  .wrap-image > img { width: calc(50% - 6px); }
  .wrap-image__inner { position:relative; right:auto; bottom:auto; max-width:none; width: calc(50% - 6px); transform:none; border-width: 0px; }
  .wrap-image__inner img { border-radius: 0px; }
}

/* MINIGALLERY */
.section-minigallery .album__image {padding: 0px 3px;}

/* GALLERY */
.section-main-gallery { padding-top:30px; }
#gallery-filters { text-align: center; margin-bottom:20px; }
#gallery-filters.selected .gallery-filter__filter:first-child:not(.active),
.gallery-filter__filter { display: inline-block; font-size: 16px; margin:6px 4px; padding:6px 12px; background:#f4f6f9; color:#333; border-radius:2px; font-weight: 500; }
#gallery-filters .gallery-filter__filter:first-child,
.gallery-filter__filter.active { background:#97b3d2; color:var(--bg-color-white); }
.gallery-filter__filter:hover { cursor: pointer; }
.main-gallery .col-album { padding:3px; display: none; transition: 1s all; }
.main-gallery .col-album.show { display: block; }

/* CUSTOM ARROWS GALLERY */
.wrap-album .wrapper-custom-arrows { text-align: start; }
.wrap-album img { width: 100%; border-radius: 30px 0 35px 0; }
.wrapper-custom-arrows { text-align: center; margin-top: 5px; }
.wrapper-custom-arrows .custom-arrow { display: inline-block; font-size: 60px; line-height: 60px; color: var(--bg-color-1); }
.wrapper-custom-arrows.smaller .custom-arrow { display: inline-block; font-size: 40px; }
.wrapper-custom-arrows .swiper-button-lock { display: none; }

@media (min-width: 992px){
  .main-gallery .col-album { padding:7px; }
}

/* ICONE SERVIZI */
.elenco-servizi__servizio { text-align:center; border-left:6px solid var(--primary-color); padding:15px; margin-bottom:30px; background: transparent; position: relative; overflow: hidden; z-index: 1; transition: color 0.35s ease, border-color 0.6s ease; }
.elenco-servizi__servizio::before { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 0%; background: var(--primary-color); z-index: -1; transition: width 0.6s ease; }
.elenco-servizi__servizio:hover::before { width: 100%; }
.elenco-servizi__servizio:hover { border-color: var(--primary-color); }
.elenco-servizi__servizio:hover .elenco-servizi__icona, .elenco-servizi__servizio:hover .elenco-servizi__titolo { color: var(--bg-color-white); }
.elenco-servizi__servizio > * { position: relative; z-index: 1; }
.elenco-servizi__icona { color:var(--primary-color); font-size:70px; line-height:1; }
.elenco-servizi__titolo { font-size:18px; margin-bottom:0; text-transform: uppercase; font-weight: 400; }

/* FOOTER */
.footer-bottom { font-size: .9rem; }
.footer__title { font-family: 'Bodoni', serif; }
.footer-contact-icon { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; background: var(--primary-color); color: var(--bg-color-white); font-size: 30px; line-height: 30px; vertical-align: middle; margin-right: 10px; }
.footer a:hover .footer-contact-icon { background: var(--bg-color-2); transition: all 0.3s ease; }