:root,
:root[data-cx-theme="default"]{
     /* Brand */
     --cx-brand-primary: #394f4d;
     --cx-brand-accent:  #a68246;
     --cx-brand-cream:   #e5ede9;
     /* Neutrals */
     --cx-white: #ffffff;
     --cx-black: #111111;
     --cx-text-strong: #484848;
     --cx-text:        #666666;
     --cx-text-soft:   #949494;
     --cx-text-icon:   #8a8a8a;
     --cx-border-soft: #e6e6e6;
     --cx-border-ui:   #dddddd;
     --cx-border-ui-hover: #bbbbbb;

     /* Surfaces */
     --cx-surface:   #ffffff;
     --cx-surface-2: #f9f9f9;
     --cx-footer-top: #182322;
     /* Status / misc */
     --cx-disabled: #999999;
     --cx-ui-disabled-border: #f4f5f8;
     --cx-ui-disabled-bg: #ffebeb;
     /* WhatsApp */
     --cx-whatsapp: #25D366;
     --cx-whatsapp-hover: #1ebe5d;
     --cx-primary: var(--cx-brand-primary);
     --cx-accent:  var(--cx-brand-accent);
     --cx-link: var(--cx-primary);
     --cx-focus-ring: color-mix(in srgb, var(--cx-brand-primary) 30%, var(--cx-white));
     --cx-form-check: color-mix(in srgb, var(--cx-brand-primary) 65%, var(--cx-white));
     --cx-alert-bg: #f8f5f0; /* kept as-is for consistency */
     --cx-shadow-soft: 0 8px 18px rgba(0,0,0,.15);

     /* Gradient helper for footer phone */
     --cx-phone-grad-a: #cccccc;
     --cx-phone-grad-b: #ffffff;
     /* Video play button */
     --cx-video-icon-border: rgba(255, 255, 255, 0.2);
     --cx-video-inner-border: #eeeeee;
}

:root[data-cx-theme="custom"]{
     /* Brand */
     --cx-brand-primary: #3b3b3b;
     --cx-brand-accent:  #c9b579;
     --cx-brand-cream:   #fffdf4;
     /* Neutrals */
     --cx-text-strong: #1f2a2e;
     --cx-text:        #4b5a62;
     --cx-text-soft:   #7a8891;
     /* Surfaces */
     --cx-surface:   #ffffff;
     --cx-surface-2: #f3f7f9;
     --cx-footer-top: #000;
     /* Status / misc */
     --cx-alert-bg: #f3efe9;
     /* Optional: slightly different phone gradient */
     --cx-phone-grad-a: #c9d3d8;
     --cx-phone-grad-b: #ffffff;
}
.navbar{padding-top:.2rem;padding-bottom:.2rem}.min-vh-50 {min-height: 50vh !important;}.min-vh-60 {min-height: 60vh !important;} .min-vh-70 {min-height: 70vh !important;}.min-vh-80 {min-height: 80vh !important;}
@media (min-width: 992px) {
     .sidebar-sticky {
          position: -webkit-sticky;
          position: sticky;
          top: 100px;
          align-self: flex-start;
          height: fit-content;
          z-index: 2;
     }

     .sidebar-sticky .offcanvas-lg {
          position: static !important;
          transform: none !important;
          visibility: visible !important;
          background: transparent !important;
          border: 0 !important;
     }

     .sidebar-sticky .offcanvas-body {
          display: block;
          padding: 0;
          overflow: visible;
     }
}
a.btn-whatsapp {display: inline-flex !important;align-items: center !important;gap: 8px;background-color: var(--cx-whatsapp) !important;color: var(--cx-white) !important;padding: 12px 18px;border-radius: 50px;font-size: 16px;font-weight: 600;text-decoration: none !important;line-height: 1;transition: background-color 0.2s ease, transform 0.1s ease;}
a.btn-whatsapp:hover,
a.btn-whatsapp:focus,
a.btn-whatsapp:active {
     background-color: var(--cx-whatsapp-hover) !important;
     color: var(--cx-white) !important;
     text-decoration: none !important;
}
a.btn-whatsapp i,
a.btn-whatsapp svg {font-size: 18px;color: var(--cx-white) !important;}
.text-pages h2, .text-pages h3,.text-pages h4,.text-pages h5,.text-pages h6{color:#a68246}
.text-sub-title{color:#a68246 !important}
.pacchetti-sala ul,
.pacchetti-sala ol {margin: 0;padding: 0;list-style: none;}
.pacchetti-sala ul li,
.pacchetti-sala ol li { position: relative;margin: 0 0 0.5rem 0;padding-left: 1.1rem;text-align: left;}
.pacchetti-sala ul li::before,
.pacchetti-sala ol li::before {content: "";position: absolute;top: 0.65em;left: 0; width: 5px;height: 5px;background-color: #222;border-radius: 50%;transform: translateY(-50%);}
 .page-loading {position: fixed;top: 0;right: 0;bottom: 0;left: 0;width: 100%;height: 100%;-webkit-transition: all .4s .2s ease-in-out;
transition: all .4s .2s ease-in-out;background-color: #fff;opacity: 0;visibility: hidden;z-index: 9999;}
[data-bs-theme="dark"] .page-loading {background-color: #121519;}
.page-loading.active {opacity: 1;visibility: visible;}
.page-loading-inner {position: absolute;top: 50%;left: 0;width: 100%;text-align: center;-webkit-transform: translateY(-50%);transform: translateY(-50%);-webkit-transition: opacity .2s ease-in-out;transition: opacity .2s ease-in-out;opacity: 0;}
.page-loading.active > .page-loading-inner {opacity: 1;}
.page-loading-inner > span {display: block;font-family: "Inter", sans-serif;font-size: 1rem;font-weight: normal;color: #6f788b;}
[data-bs-theme="dark"] .page-loading-inner > span {color: #fff;opacity: .6;}
.page-spinner {display: inline-block;width: 2.75rem;height: 2.75rem;margin-bottom: .75rem;vertical-align: text-bottom;background-color: #d7dde2;border-radius: 50%;opacity: 0;-webkit-animation: spinner .75s linear infinite;animation: spinner .75s linear infinite;}
[data-bs-theme="dark"] .page-spinner {background-color: rgba(255,255,255,.25);}
@-webkit-keyframes spinner {
0% {-webkit-transform: scale(0);transform: scale(0);}
50% {opacity: 1;-webkit-transform: none;transform: none;}
}
@keyframes spinner {
0% {-webkit-transform: scale(0);transform: scale(0);
}
50% {opacity: 1;-webkit-transform: none;transform: none;}
}
.object-fit-cover {object-fit: cover;}
.img-cover-top-start {object-fit: cover;object-position: top left;}
.hero-slide-overlay {position: relative;width: 100%;height: 100%;background-size: cover;background-repeat: no-repeat;}
.hero-slide-overlay::before {content: "";position: absolute;inset: 0;background: rgba(0, 0, 0, 0.30);z-index: 1;pointer-events: none;}
.navbar-expand-lg .navbar-nav .nav-link{padding-left:9px;padding-right:9px;font-weight:100; font-size: .9rem;}
/*.youtube-shorts-wrapper {width: 100%;max-width: 360px;aspect-ratio: 9 / 16;margin: 0 auto;border-radius: 31px;overflow: hidden; background: #000;}
.youtube-shorts-wrapper iframe {width: 100%;height: 100%;border: 0;display: block}*/
.youtube-shorts-wrapper {position: relative;z-index: 20;width: 100%;max-width: 360px;aspect-ratio: 9 / 16;margin: 0 auto;overflow: hidden;background: #000;border-radius: 31px;pointer-events: auto;}
.youtube-shorts-wrapper iframe {position: absolute;inset: 0;z-index: 2;display: block;width: 100%;height: 100%;border: 0;pointer-events: auto !important;}
.parallax-decoration,
.parallax-decoration img {pointer-events: none !important;}
.title_menu{background: #4a9078;color: #fff !important;}
.navbar-brand{width:230px;height:auto}
.video-mobile{max-width: 61%; padding: .3125rem; margin-bottom: 9.9%; border-radius: calc(var(--ar-border-radius) * 2.125);}
@media (max-width: 600px) {
.navbar-brand{width:200px;height:auto}
.video-mobile{max-width: 80%; padding: .3125rem; margin-bottom: 9.9%; border-radius: calc(var(--ar-border-radius) * 2.125);}
 .btn-scroll-top{bottom:87px  !important}
}
@media (max-height: 700px) {
.hero-title-area {padding-top: -2rem !important;}
.hero-bottom-swiper {padding-bottom: 4rem !important;}
.hero-bottom-swiper .card img {width: 64px;}
.hero-bottom-swiper .card-body {padding: .5rem !important;}

}

/* video section */
.video-wrapper {min-height: 500px;}
.video-wrapper  {position: relative;z-index: 8;}
.video-wrapper  .vid-butn:hover .icon {color: var(--cx-white);}
.video-wrapper .vid-butn:hover .icon:before {-webkit-transform: scale(0);-ms-transform: scale(0);transform: scale(0);}
.video-wrapper .vid-butn .icon {
     color: var(--cx-accent);
     width: 100px;
     height: 100px;
     border: 1px solid var(--cx-video-icon-border);
     border-radius: 50%;
     line-height: 100px;
     text-align: center;
     font-size: 40px;
     position: relative;
     -webkit-transition: all .5s;
     -o-transition: all .5s;
     transition: all .5s;
}
.video-wrapper .vid-butn .icon:after {
     content: '';
     position: absolute;
     top: 5px;
     bottom: 5px;
     right: 5px;
     left: 5px;
     border: 1px solid var(--cx-video-inner-border);
     border-radius: 50%;
     z-index: -1;
}
.video-wrapper .vid-butn .icon:before {
     content: '';
     position: absolute;
     top: 5px;
     bottom: 5px;
     right: 5px;
     left: 5px;
     background: var(--cx-white);
     border-radius: 50%;
     z-index: -1;
     -webkit-transition: all 0.5s cubic-bezier(1, 0, 0, 1);
     -o-transition: all 0.5s cubic-bezier(1, 0, 0, 1);
     transition: all 0.5s cubic-bezier(1, 0, 0, 1);
}


/* --- 16:9 per entrambe le tipologie --- */
.item-img,
.gallery-img {aspect-ratio: 16 / 9;width: 100%;overflow: hidden;border-radius: inherit;position: relative;
}
.item-img picture {display: block;width: 100%;height: 100%;}
.item-img img,
.gallery-img img {width: 100%;height: 100%;object-fit: cover;display: block;}
.item-img img,
.gallery-img img {object-position: center;}

/* Fallback per browser vecchi che non supportano aspect-ratio */
@supports not (aspect-ratio: 16 / 9) {
     .item-img,
     .gallery-img {
          height: 0;
          padding-top: 56.25%; /* 9/16 */
     }
     .item-img picture,
     .item-img img,
     .gallery-img img {
          position: absolute;
          inset: 0;
     }
}
 .table>thead{   background: var(--cx-primary);
background: -moz-linear-gradient(top, var(--cx-primary) 20%, #000 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--cx-primary)), color-stop(100%, #000));
background: -webkit-linear-gradient(top, var(--cx-primary) 20%, #000 100%);
background: -o-linear-gradient(top, var(--cx-primary) 20%, #000 100%);
background: -ms-linear-gradient(top, var(--cx-primary) 20%, #000 100%);
background: linear-gradient(to bottom, var(--cx-primary) 20%, #000 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#var(--cx-primary)',endColorstr='##000',GradientType=0);
padding:0 0 5px ; color:white;font-weight:200 !important }

.table-hover>tbody>tr:hover>* { --bs-table-accent-bg: var(--cx-accent);  color: #fff;}

/* Il contenitore stabilisce l'altezza effettiva dello slider */
.hero-slider-container {width: 100%;}
/* Tutti gli elementi interni devono ereditare la stessa altezza */
.hero-main-swiper,
.hero-main-swiper .swiper-wrapper,
.hero-main-swiper .swiper-slide {
     width: 100%;
     height: 100%;
}
/* Slide video */
.hero-main-swiper .video-slide {
     position: relative;
     overflow: hidden;
     background-color: #000;
}
/* Contenitore che ritaglia il video */
.hero-main-swiper .youtube-cover {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     overflow: hidden;
}

/*
 * Effetto equivalente a background-size: cover.
 *
 * Un video YouTube   normalmente 16:9:
 * larghezza / altezza = 1.77778
 */
.hero-main-swiper .youtube-video {
     position: absolute;
     top: 50%;
     left: 50%;

     width: 100%;
     height: 56.25vw;

     min-width: 177.78vh;
     min-height: 100%;

     transform: translate(-50%, -50%);
     border: 0;

     pointer-events: none;
}

/* Migliora il comportamento sui dispositivi mobili verticali */
@media (max-aspect-ratio: 16 / 9) {
     .hero-main-swiper .youtube-video {
          width: 177.78vh;
          height: 100%;
          min-width: 100%;
          min-height: 56.25vw;
     }
}

/* Schermi larghi */
@media (min-aspect-ratio: 16 / 9) {
     .hero-main-swiper .youtube-video {
          width: 100%;
          height: 56.25vw;
          min-width: 177.78vh;
          min-height: 100%;
     }
}

.hero-main-swiper .youtube-cover {
     position: absolute;
     inset: 0;
     overflow: hidden;
}

.hero-main-swiper .youtube-video {
     position: absolute;
     top: 50%;
     left: 50%;

     width: 177.77777778%;
     height: 177.77777778%;

     min-width: 100%;
     min-height: 100%;

     transform: translate(-50%, -50%);
     border: 0;
     pointer-events: none;
}

.nascondi-dopo {
     opacity: 1;
     transition: opacity 1.5s ease;
}

.slider-picture-wrapper,
.slider-picture-wrapper picture,
.slider-picture-wrapper img {
     width: 100%;
     height: 100%;
}

.slider-picture-wrapper picture {
     display: block;
}

.slider-picture-wrapper img {
     display: block;
     object-fit: cover;
     object-position: center;
}
.hero-slider-full {
     height: 100vh;
     min-height: 100vh;
}

.hero-slider-standard {
     height: 70vh;
     min-height: 70vh;
}

/*
 * Corregge l'altezza sui browser mobile,
 * dove 100vh pu  includere la barra del browser.
 */
@supports (height: 100svh) {
     .hero-slider-full {
          height: 100svh;
          min-height: 100svh;
     }

     .hero-slider-standard {
          height: 70svh;
          min-height: 70svh;
     }
}

@supports (height: 100dvh) {
     .hero-slider-full {
          height: 100dvh;
          min-height: 100dvh;
     }

     .hero-slider-standard {
          height: 70dvh;
          min-height: 70dvh;
     }
}

@media (max-width: 992px) {
 .hero-slider-standard {
          height: 55dvh;
          min-height: 55dvh;
     }
     }
.hero-main-swiper,
.hero-main-swiper .swiper-wrapper,
.hero-main-swiper .swiper-slide {
     width: 100%;
     height: 100%;
}

.slider-picture-wrapper {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     overflow: hidden;
}

.slider-picture-wrapper picture {
     position: absolute;
     inset: 0;
     display: block;
     width: 100%;
     height: 100%;
}

.slider-picture-wrapper picture img {
     position: absolute;
     inset: 0;

     display: block;

     width: 100% !important;
     height: 100% !important;
     max-width: none;

     object-fit: cover;
     object-position: center center;
}

.nascondi-dopo.fade-out {
     opacity: 0;
     pointer-events: none;
}

@media (min-width: 992px) {
     .navbar-expand-lg .navbar-brand {
              width: 200px;
     }


}

.evento-countdown {
     position: relative;
     max-width: 650px;
     padding: 1.2rem;
     overflow: hidden;

     background: linear-gradient(
          135deg,
          #eef5e3 0%,
          #f7f9f3 55%,
          #edf2f7 100%
     );

     border: 1px solid #d7e2c5;
     border-radius: 1.25rem;

     box-shadow:
          0 18px 45px rgba(11, 39, 72, 0.10),
          inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.evento-countdown::before {
     content: "";
     position: absolute;
     top: -85px;
     right: -75px;

     width: 190px;
     height: 190px;

     background: rgba(120, 167, 25, 0.10);
     border-radius: 50%;
     pointer-events: none;
}

.evento-countdown::after {
     content: "";
     position: absolute;
     bottom: -100px;
     left: -90px;

     width: 200px;
     height: 200px;

     background: rgba(11, 39, 72, 0.06);
     border-radius: 50%;
     pointer-events: none;
}

.countdown-eyebrow {
     position: relative;
     z-index: 2;

     color: #0b2748;
     font-size: 0.78rem;
     font-weight: 700;
     letter-spacing: 0.08em;
}

.countdown-live-dot {
     position: relative;
     z-index: 2;

     display: inline-block;
     width: 0.7rem;
     height: 0.7rem;

     background: #78a719;
     border: 3px solid #dcebbd;
     border-radius: 50%;

     box-sizing: content-box;

     animation: countdownPulse 2s infinite;
}

.countdown-values {
     position: relative;
     z-index: 2;
}

.countdown-item {
     position: relative;

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

     min-height: 110px;
     padding: 1rem 0.5rem;

     background: #ffffff;
     border: 1px solid #dfe6d4;
     border-radius: 1rem;

     box-shadow:
          0 10px 24px rgba(11, 39, 72, 0.08),
          inset 0 1px 0 rgba(255, 255, 255, 1);

     transition:
          transform 0.2s ease,
          border-color 0.2s ease,
          box-shadow 0.2s ease;
}

.countdown-item::before {
     content: "";
     position: absolute;
     top: 0;
     left: 18%;

     width: 64%;
     height: 4px;

     border-radius: 0 0 10px 10px;
}

.countdown-item:hover {
     transform: translateY(-3px);

     border-color: #b8ce8d;

     box-shadow:
          0 16px 30px rgba(11, 39, 72, 0.12),
          inset 0 1px 0 rgba(255, 255, 255, 1);
}

.countdown-number {
     display: block;

     color: #0b2748;
     font-size: clamp(1.8rem, 4vw, 2.65rem);
     font-weight: 800;
     line-height: 1;

     font-variant-numeric: tabular-nums;
     letter-spacing: -0.05em;
}

.countdown-label {
     display: block;
     margin-top: 0.65rem;

     color: #667085;

     font-size: 0.68rem;
     font-weight: 700;
     line-height: 1;

     text-transform: uppercase;
     letter-spacing: 0.08em;
}

.countdown-message {
     position: relative;
     z-index: 2;

     padding: 1.1rem;

     color: #0b2748;
     font-size: 1rem;
     font-weight: 700;
     text-align: center;

     background: #ffffff;
     border: 1px solid #dfe6d4;
     border-radius: 1rem;

     box-shadow: 0 10px 24px rgba(11, 39, 72, 0.08);
}

.evento-countdown.is-started .countdown-values,
.evento-countdown.is-started .countdown-live-dot {
     display: none;
}

@keyframes countdownPulse {
     0% {
          box-shadow: 0 0 0 0 rgba(120, 167, 25, 0.45);
     }

     70% {
          box-shadow: 0 0 0 10px rgba(120, 167, 25, 0);
     }

     100% {
          box-shadow: 0 0 0 0 rgba(120, 167, 25, 0);
     }
}

@media (max-width: 575.98px) {
     .evento-countdown {
          padding: 1rem;
          border-radius: 1rem;
     }

     .countdown-values {
          margin-right: -0.2rem;
          margin-left: -0.2rem;
     }

     .countdown-values > div {
          padding-right: 0.2rem;
          padding-left: 0.2rem;
     }

     .countdown-item {
          min-height: 88px;
          padding: 0.8rem 0.2rem;
          border-radius: 0.75rem;
     }

     .countdown-number {
          font-size: 1.55rem;
     }

     .countdown-label {
          margin-top: 0.5rem;
          font-size: 0.54rem;
          letter-spacing: 0.02em;
     }
}