/* ========================================
   CSS COMPLETO PER DATA ATTRIBUTES 
   Scala: 0-100 con scatti di 5
   Versione: 2.0 - Con supporto completo Tablet
======================================== */

/* === UTILITY CLASSES BASE === */

.marg { 
margin-bottom: 10%;


}

/* Hide/Show su mobile */
.no-mobile {
    display: block;
}

.no-desk {
    display: block;
}

.np {
    padding: 0px !important;
}

@media (min-width: 768px) {
    .no-desk {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .no-mobile {
        display: none !important;
    }
}

/* Hide/Show su tablet */
.no-tablet {
    display: block;
} 
 
@media (min-width: 768px) and (max-width: 1024px) {
    .no-tablet {
        display: none !important;
    }
    
    .only-tablet {
        display: block !important;
    }
}

@media (max-width: 767px), (min-width: 1025px) {
    .only-tablet {
        display: none !important;
    }
}


.svg-opacity {
    opacity: 0.8; /* Riduce l'intensità del nero del 20% */
	
}
/* === SEZIONI BLOCCO-CUSTOM === */
.blocco-custom {
    box-sizing: border-box;
    gap: 0 !important;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: nowrap; 
    justify-content: center;
    position: relative;
}

.blocco-custom.wrap-desktop {
    flex-wrap: wrap;
}

@media (min-width: 1025px) {
    #newrooms {
        gap: 16px !important;
    }
    #newrooms .colonna {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
        height: auto !important;
    }
    #newrooms .img-link-cover {
        height: auto;
        aspect-ratio: 16 / 9;
    }
    #newrooms .img-link-cover img {
        height: 100%;
    }
}

@media (min-width: 1280px) and (max-width: 1345px) {
    .nav-fullscreen.blocco-custom {
        justify-content: space-evenly;
    }
}

.hero-video-section {
    position: relative;
    overflow: hidden;
}

.hero-video-section .colonna {
    position: relative;
    z-index: 2;
}

@media (min-width: 1025px) {
    .nav-fullscreen .colonna.nolist {
        padding-top: 40vh !important;
    }
    .nav-fullscreen .colonna.nav-logo-col {
        padding-top: 0 !important;
    }
}

 
@media (min-width: 1025px) {
    #room-all-rooms.room-all-interactive > .colonna {
        transition: flex-basis 3.5s cubic-bezier(0.19, 1, 0.22, 1),
          max-width 3.5s cubic-bezier(0.19, 1, 0.22, 1);
        will-change: flex-basis, max-width;
    }
}
 

/* Centratura automatica per sezioni con una sola colonna */
.blocco-custom > .colonna:only-child {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    align-items: center;
}

/* Se c'è una sola colonna, centra il contenitore flex della section */
.blocco-custom:has(> .colonna:only-child) {
    justify-content: center;
}

/* Forza i sottotitoli a non andare in maiuscolo (override su altre definizioni) */
.sottotitolo {
    text-transform: none !important;
}
.titolo,
.sottotitolo,
.testo,
.testo2 {
    white-space: pre-line;
}
@media (min-width: 1024px) {
    #icon .sottotitolo {
        display: block;
        padding-top: 85px;
    }
}

.jobs-openings {
    display: grid;
    gap: 1.5rem;
    margin-top: 1rem;
}
.jobs-content .titolo {
    text-align: center;
}
.jobs-subtitle {
    font-size: 0.95rem;
    text-align: center;
    margin-top: 0.25rem;
    color: #6b7280;
}
.jobs-header {
    flex-direction: column;
}
.force-sidebar .sidebar {
    background-color: var(--bianco);
    color: var(--nero);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.force-sidebar .hamburger .line {
    background-color: var(--nero60) !important;
}
.force-sidebar .current-lang,
.force-sidebar .language-menu,
.force-sidebar .lang-option,
.force-sidebar .social-bar .social svg {
    color: currentColor;
    fill: currentColor;
}
@media (max-width: 1919px) {
    .hamburger-col-6 {
        display: none !important;
    }
    .nav-fullscreen {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    .nav-fullscreen .colonna.nolist {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
.jobs-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.jobs-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    border: 1px solid #bf9f56;
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    white-space: nowrap;
}
.jobs-cta-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
}
.jobs-cta:hover {
    background: #bf9f56;
    color: #fff;
}
.job-card {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.12);
    background: #f8fafc;
    border-radius: 16px;
}
#lavora-con-noi .jobs-cta-group {
    justify-content: space-between;
    width: 100%;
}
#lavora-con-noi .job-card .jobs-cta {
    margin-left: 0;
}
#business-contact .job-card .jobs-cta {
    margin-left: auto;
}
.job-card:last-child {
    border-bottom: none;
}
.job-card .testo {
    line-height: 1.2;
}
.job-card .sottotitolo {
    font-weight: 700;
}
.events-grid {
    display: grid;
    gap: 1.5rem;
}
.event-card {
    display: grid;
    grid-template-columns: minmax(160px, 220px) 1fr;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
}
.event-media {
    position: relative;
    width: 100%;
    padding-top: 177.78%;
    background: #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}
.event-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.event-media-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    color: #64748b;
}
.event-body .sottotitolo {
    margin-top: 0.35rem;
    margin-bottom: 0.5rem;
}
.event-date {
    display: inline-block;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #7c7c7b;
}
.event-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1rem;
}
.events-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    border: 1px solid #bf9f56;
    color: #ffffff;
    background: #0b3142;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    white-space: nowrap;
}
.events-cta:hover {
    background: #bf9f56;
}
.events-cta-whatsapp {
    background: #25d366;
    border-color: #25d366;
}
.events-cta-whatsapp:hover {
    background: #1faa55;
}
.business-contact-info {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
#business-contact .job-card {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
#business-contact .job-card:hover {
    background: #f1e7d6;
    color: #0b3142;
}
#business-contact .job-card:hover .sottotitolo,
#business-contact .job-card:hover .testo,
#business-contact .job-card:hover .jobs-cta {
    color: #0b3142;
}
#business-contact .job-card:hover .jobs-cta {
    border-color: #0b3142;
}
.job-position-logo {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.job-position-logo img {
    max-width: 220px;
    height: auto;
}
.jobs-left-bar {
    min-height: 100%;
}
.nav-desktop {
    width: min(1200px, 92%);
    margin: 0;
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(-10px);
    z-index: 1001;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    color: var(--nero);
    font-family: var(--font-titolo);
}
.nav-desktop-list {
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
    display: flex;
    justify-content: center;
    gap: 14px;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}
.nav-desktop-item {
    position: relative;
    width: auto;
    text-align: center;
    padding-bottom: 2px;
}
.nav-desktop-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    color: #0b3142;
    text-decoration: none;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.02em;
    padding: 4px 2px;
    text-transform: uppercase;
}
.nav-desktop-item.has-dropdown > .nav-desktop-link::after {
    content: "▾";
    font-size: 9px;
    margin-left: 4px;
    line-height: 1;
}
.nav-desktop-sublink {
    color: #0b3142;
}
.controls {
    flex-wrap: nowrap;
    align-items: center;
    height: 32px;
}
.controls .book-link {
    white-space: nowrap;
    padding: 6px 14px;
    line-height: 1;
}
.nav-desktop-item.has-dropdown:hover .nav-desktop-link,
.nav-desktop-link:focus-visible {
    color: #bf9f56;
}
.nav-desktop-dropdown {
    position: absolute;
    top: calc(100% + 0px);
    left: 50%;
    transform: translateX(-50%);
    min-width: 180px;
    background: #ffffff;
    border-radius: 0;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    padding: 12px 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease;
}
.nav-desktop-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.nav-desktop-dropdown li {
    margin: 0;
}
.nav-desktop-sublink {
    display: block;
    padding: 8px 16px;
    color: #0b3142;
    text-decoration: none;
    font-size: 11px;
    line-height: 1.4;
    text-align: left;
}
.nav-desktop-sublink:hover,
.nav-desktop-sublink:focus-visible {
    background: #f0e9e6;
    color: #0b3142;
}
.nav-desktop-item.has-dropdown:hover .nav-desktop-dropdown,
.nav-desktop-item.has-dropdown:focus-within .nav-desktop-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}
body.scrolled .nav-desktop,
html.scrolled .nav-desktop {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}
@media (max-width: 960px) {
    .jobs-left-bar,
    .jobs-right-spacer {
        display: none;
    }
    .jobs-content {
        width: 100%;
    }
    .event-card {
        grid-template-columns: 1fr;
    }
    #boxlink-swiper {
        min-height: 260px;
        height: 60vh;
    }
    #business-contact .job-card {
        flex-direction: column;
        align-items: flex-start;
    }
    #business-contact .job-card .jobs-cta {
        margin-left: 0;
    }
}

/* Overlay helper controllato da data-overlay */
.blocco-custom[data-overlay] {
    position: relative;
}
.blocco-custom[data-overlay]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    pointer-events: none;
    border-radius: inherit;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.blocco-custom[data-overlay] > * {
    position: relative;
    z-index: 2;
}
.blocco-custom[data-overlay="dark"]::before {
    opacity: 1;
    background: rgba(0, 0, 0, 0.45);
}
.blocco-custom[data-overlay="extra-dark"]::before {
    opacity: 1;
    background: rgba(0, 0, 0, 0.65);
}
.blocco-custom[data-overlay="light"]::before {
    opacity: 1;
    background: rgba(255, 255, 255, 0.35);
}
.blocco-custom[data-overlay="accent"]::before {
    opacity: 1;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}
.blocco-custom[data-overlay="off"]::before,
.blocco-custom[data-overlay="none"]::before {
    content: none;
}

/* === WIDTH PERCENTUALI (0-100, step 5) === */
.blocco-custom[data-width="w-0p"] { width: 0% !important; }
.blocco-custom[data-width="w-5p"] { width: 5% !important; }
.blocco-custom[data-width="w-10p"] { width: 10% !important; }
.blocco-custom[data-width="w-15p"] { width: 15% !important; }
.blocco-custom[data-width="w-20p"] { width: 20% !important; }
.blocco-custom[data-width="w-25p"] { width: 25% !important; }
.blocco-custom[data-width="w-30p"] { width: 30% !important; }
.blocco-custom[data-width="w-35p"] { width: 35% !important; }
.blocco-custom[data-width="w-40p"] { width: 40% !important; }
.blocco-custom[data-width="w-45p"] { width: 45% !important; }
.blocco-custom[data-width="w-50p"] { width: 50% !important; }
.blocco-custom[data-width="w-55p"] { width: 55% !important; }
.blocco-custom[data-width="w-60p"] { width: 60% !important; }
.blocco-custom[data-width="w-65p"] { width: 65% !important; }
.blocco-custom[data-width="w-70p"] { width: 70% !important; }
.blocco-custom[data-width="w-75p"] { width: 75% !important; }
.blocco-custom[data-width="w-80p"] { width: 80% !important; }
.blocco-custom[data-width="w-85p"] { width: 85% !important; }
.blocco-custom[data-width="w-90p"] { width: 90% !important; }
.blocco-custom[data-width="w-95p"] { width: 95% !important; }
.blocco-custom[data-width="w-100p"] { width: 100% !important; }

/* === WIDTH VIEWPORT (0-100, step 5) === */
.blocco-custom[data-width="w-0vw"] { width: 0vw !important; }
.blocco-custom[data-width="w-5vw"] { width: 5vw !important; }
.blocco-custom[data-width="w-10vw"] { width: 10vw !important; }
.blocco-custom[data-width="w-15vw"] { width: 15vw !important; }
.blocco-custom[data-width="w-20vw"] { width: 20vw !important; }
.blocco-custom[data-width="w-25vw"] { width: 25vw !important; }
.blocco-custom[data-width="w-30vw"] { width: 30vw !important; }
.blocco-custom[data-width="w-35vw"] { width: 35vw !important; }
.blocco-custom[data-width="w-40vw"] { width: 40vw !important; }
.blocco-custom[data-width="w-45vw"] { width: 45vw !important; }
.blocco-custom[data-width="w-50vw"] { width: 50vw !important; }
.blocco-custom[data-width="w-55vw"] { width: 55vw !important; }
.blocco-custom[data-width="w-60vw"] { width: 60vw !important; }
.blocco-custom[data-width="w-65vw"] { width: 65vw !important; }
.blocco-custom[data-width="w-70vw"] { width: 70vw !important; }
.blocco-custom[data-width="w-75vw"] { width: 75vw !important; }
.blocco-custom[data-width="w-80vw"] { width: 80vw !important; }
.blocco-custom[data-width="w-85vw"] { width: 85vw !important; }
.blocco-custom[data-width="w-90vw"] { width: 90vw !important; }
.blocco-custom[data-width="w-95vw"] { width: 95vw !important; }
.blocco-custom[data-width="w-100vw"] { width: 100vw !important; }

/* === HEIGHT VIEWPORT (0-100, step 5) === */
.blocco-custom[data-height="h-0vh"] { height: 0vh !important; }
.blocco-custom[data-height="h-5vh"] { height: 5vh !important; }
.blocco-custom[data-height="h-10vh"] { height: 10vh !important; }
.blocco-custom[data-height="h-15vh"] { height: 15vh !important; }
.blocco-custom[data-height="h-20vh"] { height: 20vh !important; }
.blocco-custom[data-height="h-25vh"] { height: 25vh !important; }
.blocco-custom[data-height="h-30vh"] { height: 30vh !important; }
.blocco-custom[data-height="h-35vh"] { height: 35vh !important; }
.blocco-custom[data-height="h-40vh"] { height: 40vh !important; }
.blocco-custom[data-height="h-45vh"] { height: 45vh !important; }
.blocco-custom[data-height="h-50vh"] { height: 50vh !important; }
.blocco-custom[data-height="h-55vh"] { height: 55vh !important; }
.blocco-custom[data-height="h-60vh"] { height: 60vh !important; }
.blocco-custom[data-height="h-65vh"] { height: 65vh !important; }
.blocco-custom[data-height="h-70vh"] { height: 70vh !important; }
.blocco-custom[data-height="h-75vh"] { height: 75vh !important; }
.blocco-custom[data-height="h-80vh"] { height: 80vh !important; }
.blocco-custom[data-height="h-85vh"] { height: 85vh !important; }
.blocco-custom[data-height="h-90vh"] { height: 90vh !important; }
.blocco-custom[data-height="h-95vh"] { height: 95vh !important; }
.blocco-custom[data-height="h-100vh"] { height: 100vh !important; }
.blocco-custom[data-height="h-auto"] { height: auto !important; }

@supports (height: 100dvh) {
  .blocco-custom[data-height="h-100vh"],
  .blocco-custom[data-height-tablet="h-100vh"],
  .blocco-custom[data-height-mobile="h-100vh"] {
    height: 100dvh !important;
    min-height: 100dvh !important;
  }
}

/* === MARGIN Y (0-100, step 5) === */
.blocco-custom[data-margin-y="m-0"] { margin-top: 0px; margin-bottom: 0px; }
.blocco-custom[data-margin-y="m-5"] { margin-top: 5px; margin-bottom: 5px; }
.blocco-custom[data-margin-y="m-10"] { margin-top: 10px; margin-bottom: 10px; }
.blocco-custom[data-margin-y="m-15"] { margin-top: 15px; margin-bottom: 15px; }
.blocco-custom[data-margin-y="m-20"] { margin-top: 20px; margin-bottom: 20px; }
.blocco-custom[data-margin-y="m-25"] { margin-top: 25px; margin-bottom: 25px; }
.blocco-custom[data-margin-y="m-30"] { margin-top: 30px; margin-bottom: 30px; }
.blocco-custom[data-margin-y="m-35"] { margin-top: 35px; margin-bottom: 35px; }
.blocco-custom[data-margin-y="m-40"] { margin-top: 40px; margin-bottom: 40px; }
.blocco-custom[data-margin-y="m-45"] { margin-top: 45px; margin-bottom: 45px; }
.blocco-custom[data-margin-y="m-50"] { margin-top: 50px; margin-bottom: 50px; }
.blocco-custom[data-margin-y="m-55"] { margin-top: 55px; margin-bottom: 55px; }
.blocco-custom[data-margin-y="m-60"] { margin-top: 60px; margin-bottom: 60px; }
.blocco-custom[data-margin-y="m-65"] { margin-top: 65px; margin-bottom: 65px; }
.blocco-custom[data-margin-y="m-70"] { margin-top: 70px; margin-bottom: 70px; }
.blocco-custom[data-margin-y="m-75"] { margin-top: 75px; margin-bottom: 75px; }
.blocco-custom[data-margin-y="m-80"] { margin-top: 80px; margin-bottom: 80px; }
.blocco-custom[data-margin-y="m-85"] { margin-top: 85px; margin-bottom: 85px; }
.blocco-custom[data-margin-y="m-90"] { margin-top: 90px; margin-bottom: 90px; }
.blocco-custom[data-margin-y="m-95"] { margin-top: 95px; margin-bottom: 95px; }
.blocco-custom[data-margin-y="m-100"] { margin-top: 100px; margin-bottom: 100px; }

/* === MARGIN X (0-100, step 5) === */
.blocco-custom[data-margin-x="m-0"] { margin-left: 0px; margin-right: 0px; }
.blocco-custom[data-margin-x="m-5"] { margin-left: 5px; margin-right: 5px; }
.blocco-custom[data-margin-x="m-10"] { margin-left: 10px; margin-right: 10px; }
.blocco-custom[data-margin-x="m-15"] { margin-left: 15px; margin-right: 15px; }
.blocco-custom[data-margin-x="m-20"] { margin-left: 20px; margin-right: 20px; }
.blocco-custom[data-margin-x="m-25"] { margin-left: 25px; margin-right: 25px; }
.blocco-custom[data-margin-x="m-30"] { margin-left: 30px; margin-right: 30px; }
.blocco-custom[data-margin-x="m-35"] { margin-left: 35px; margin-right: 35px; }
.blocco-custom[data-margin-x="m-40"] { margin-left: 40px; margin-right: 40px; }
.blocco-custom[data-margin-x="m-45"] { margin-left: 45px; margin-right: 45px; }
.blocco-custom[data-margin-x="m-50"] { margin-left: 50px; margin-right: 50px; }
.blocco-custom[data-margin-x="m-55"] { margin-left: 55px; margin-right: 55px; }
.blocco-custom[data-margin-x="m-60"] { margin-left: 60px; margin-right: 60px; }
.blocco-custom[data-margin-x="m-65"] { margin-left: 65px; margin-right: 65px; }
.blocco-custom[data-margin-x="m-70"] { margin-left: 70px; margin-right: 70px; }
.blocco-custom[data-margin-x="m-75"] { margin-left: 75px; margin-right: 75px; }
.blocco-custom[data-margin-x="m-80"] { margin-left: 80px; margin-right: 80px; }
.blocco-custom[data-margin-x="m-85"] { margin-left: 85px; margin-right: 85px; }
.blocco-custom[data-margin-x="m-90"] { margin-left: 90px; margin-right: 90px; }
.blocco-custom[data-margin-x="m-95"] { margin-left: 95px; margin-right: 95px; }
.blocco-custom[data-margin-x="m-100"] { margin-left: 100px; margin-right: 100px; }
.blocco-custom[data-margin-x="m-auto"] { margin-left: auto; margin-right: auto; }

/* === BACKGROUND COLORS === */
.blocco-custom[data-bg="#ffffff"] { background-color: #ffffff; }
.blocco-custom[data-bg="#000000"] { background-color: #000000; }
.blocco-custom[data-bg="#f5f5f5"] { background-color: #f5f5f5; }
.blocco-custom[data-bg="#333333"] { background-color: #333333; }
.blocco-custom[data-bg="#d0cdcd"] { background-color: #d0cdcd; }
.blocco-custom[data-bg="#e0e0e0"] { background-color: #e0e0e0; }
.blocco-custom[data-bg="transparent"] { background-color: transparent; }

/* === COLONNE === */
.colonna {
    box-sizing: border-box;
    margin: 0;
    flex-shrink: 0;
}

/* === COLONNE - WIDTH PERCENTUALI (0-100, step 5) === */
.colonna[data-width="w-0p"] { width: 0% !important; }
.colonna[data-width="w-5p"] { width: 5% !important; }
.colonna[data-width="w-10p"] { width: 10% !important; }
.colonna[data-width="w-15p"] { width: 15% !important; }
.colonna[data-width="w-20p"] { width: 20% !important; }
.colonna[data-width="w-25p"] { width: 25% !important; }
.colonna[data-width="w-30p"] { width: 30% !important; }
.colonna[data-width="w-33p"] { width: 33.333% !important; }
.colonna[data-width="w-35p"] { width: 35% !important; }
.colonna[data-width="w-40p"] { width: 40% !important; }
.colonna[data-width="w-45p"] { width: 45% !important; }
.colonna[data-width="w-50p"] { width: 50% !important; }
.colonna[data-width="w-55p"] { width: 55% !important; }
.colonna[data-width="w-60p"] { width: 60% !important; }
.colonna[data-width="w-65p"] { width: 65% !important; }
.colonna[data-width="w-66p"] { width: 66.666% !important; }
.colonna[data-width="w-70p"] { width: 70% !important; }
.colonna[data-width="w-75p"] { width: 75% !important; }
.colonna[data-width="w-80p"] { width: 80% !important; }
.colonna[data-width="w-85p"] { width: 85% !important; }
.colonna[data-width="w-90p"] { width: 90% !important; }
.colonna[data-width="w-95p"] { width: 95% !important; }
.colonna[data-width="w-100p"] { width: 100% !important; }

/* === COLONNE - HEIGHT === */
.colonna[data-height="h-0vh"] { height: 0vh !important; }
.colonna[data-height="h-5vh"] { height: 5vh !important; }
.colonna[data-height="h-10vh"] { height: 10vh !important; }
.colonna[data-height="h-15vh"] { height: 15vh !important; }
.colonna[data-height="h-20vh"] { height: 20vh !important; }
.colonna[data-height="h-25vh"] { height: 25vh !important; }
.colonna[data-height="h-30vh"] { height: 30vh !important; }
.colonna[data-height="h-35vh"] { height: 35vh !important; }
.colonna[data-height="h-40vh"] { height: 40vh !important; }
.colonna[data-height="h-45vh"] { height: 45vh !important; }
.colonna[data-height="h-50vh"] { height: 50vh !important; }
.colonna[data-height="h-55vh"] { height: 55vh !important; }
.colonna[data-height="h-60vh"] { height: 60vh !important; }
.colonna[data-height="h-65vh"] { height: 65vh !important; }
.colonna[data-height="h-70vh"] { height: 70vh !important; }
.colonna[data-height="h-75vh"] { height: 75vh !important; }
.colonna[data-height="h-80vh"] { height: 80vh !important; }
.colonna[data-height="h-85vh"] { height: 85vh !important; }
.colonna[data-height="h-90vh"] { height: 90vh !important; }
.colonna[data-height="h-95vh"] { height: 95vh !important; }
.colonna[data-height="h-100vh"] { height: 100vh !important; }
.colonna[data-height="h-auto"] { height: auto !important; }
.colonna[data-height="h-100p"] { height: 100% !important; }
.colonna[data-height="h-section"] { height: inherit !important; }
@supports (height: 100dvh) {
  .colonna[data-height="h-100vh"],
  .colonna[data-height-tablet="h-100vh"],
  .colonna[data-height-mobile="h-100vh"] {
    height: 100dvh !important;
    min-height: 100dvh !important;
  }
}

/* === COLONNE - PADDING (0-100, step 5) === */
.colonna[data-padding="p-0"] { padding: 0px; }
.colonna[data-padding="p-5"] { padding: 5px; }
.colonna[data-padding="p-10"] { padding: 10px; }
.colonna[data-padding="p-15"] { padding: 15px; }
.colonna[data-padding="p-20"] { padding: 20px; }
.colonna[data-padding="p-25"] { padding: 25px; }
.colonna[data-padding="p-30"] { padding: 30px; }
.colonna[data-padding="p-35"] { padding: 35px; }
.colonna[data-padding="p-40"] { padding: 40px; }
.colonna[data-padding="p-45"] { padding: 45px; }
.colonna[data-padding="p-50"] { padding: 50px; }
.colonna[data-padding="p-55"] { padding: 55px; }
.colonna[data-padding="p-60"] { padding: 60px; }
.colonna[data-padding="p-65"] { padding: 65px; }
.colonna[data-padding="p-70"] { padding: 70px; }
.colonna[data-padding="p-75"] { padding: 75px; }
.colonna[data-padding="p-80"] { padding: 80px; }
.colonna[data-padding="p-85"] { padding: 85px; }
.colonna[data-padding="p-90"] { padding: 90px; }
.colonna[data-padding="p-95"] { padding: 95px; }
.colonna[data-padding="p-100"] { padding: 100px; }

/* === COLONNE - MARGIN (0-100, step 5) === */
.colonna[data-margin="m-0"] { margin: 0px; }
.colonna[data-margin="m-5"] { margin: 5px; }
.colonna[data-margin="m-10"] { margin: 10px; }
.colonna[data-margin="m-15"] { margin: 15px; }
.colonna[data-margin="m-20"] { margin: 20px; }
.colonna[data-margin="m-25"] { margin: 25px; }
.colonna[data-margin="m-30"] { margin: 30px; }
.colonna[data-margin="m-35"] { margin: 35px; }
.colonna[data-margin="m-40"] { margin: 40px; }
.colonna[data-margin="m-45"] { margin: 45px; }
.colonna[data-margin="m-50"] { margin: 50px; }
.colonna[data-margin="m-55"] { margin: 55px; }
.colonna[data-margin="m-60"] { margin: 60px; }
.colonna[data-margin="m-65"] { margin: 65px; }
.colonna[data-margin="m-70"] { margin: 70px; }
.colonna[data-margin="m-75"] { margin: 75px; }
.colonna[data-margin="m-80"] { margin: 80px; }
.colonna[data-margin="m-85"] { margin: 85px; }
.colonna[data-margin="m-90"] { margin: 90px; }
.colonna[data-margin="m-95"] { margin: 95px; }
.colonna[data-margin="m-100"] { margin: 100px; }

/* === COLONNE - ALIGN === */
.colonna[data-align="center"] { text-align: center; }
.colonna[data-align="left"] { text-align: left; }
.colonna[data-align="right"] { text-align: right; }
.colonna[data-align="center"] {
    align-items: center;
}

/* === COLONNE - VALIGN === */
.colonna[data-valign="middle"] { 
    justify-content: center;
    display: flex;
    flex-direction: column;
}
.colonna[data-valign="top"] { 
    justify-content: flex-start;
    display: flex;
    flex-direction: column;
}
.colonna[data-valign="bottom"] { 
    justify-content: flex-end;
    display: flex;
    flex-direction: column;
}

/* === COLONNE - BACKGROUND === */
.colonna[data-bg="#ffffff"] { background-color: #ffffff; }
.colonna[data-bg="#000000"] { background-color: #000000; }
.colonna[data-bg="#f5f5f5"] { background-color: #f5f5f5; }
.colonna[data-bg="#333333"] { background-color: #333333; }
.colonna[data-bg="#d0cdcd"] { background-color: #d0cdcd; }
.colonna[data-bg="#e0e0e0"] { background-color: #e0e0e0; }
.colonna[data-bg="transparent"] { background-color: transparent; }

/* ========================================
   TABLET RESPONSIVE (768px - 1024px)
======================================== */

@media (min-width: 768px) and (max-width: 1024px) {
    
    /* SEZIONI - Comportamento su tablet */
    .blocco-custom {
        flex-wrap: wrap !important;
    }
    
    /* SEZIONI - Tablet Width */
    .blocco-custom[data-width-tablet="w-0p"] { width: 0% !important; }
    .blocco-custom[data-width-tablet="w-5p"] { width: 5% !important; }
    .blocco-custom[data-width-tablet="w-10p"] { width: 10% !important; }
    .blocco-custom[data-width-tablet="w-15p"] { width: 15% !important; }
    .blocco-custom[data-width-tablet="w-20p"] { width: 20% !important; }
    .blocco-custom[data-width-tablet="w-25p"] { width: 25% !important; }
    .blocco-custom[data-width-tablet="w-30p"] { width: 30% !important; }
    .blocco-custom[data-width-tablet="w-35p"] { width: 35% !important; }
    .blocco-custom[data-width-tablet="w-40p"] { width: 40% !important; }
    .blocco-custom[data-width-tablet="w-45p"] { width: 45% !important; }
    .blocco-custom[data-width-tablet="w-50p"] { width: 50% !important; }
    .blocco-custom[data-width-tablet="w-55p"] { width: 55% !important; }
    .blocco-custom[data-width-tablet="w-60p"] { width: 60% !important; }
    .blocco-custom[data-width-tablet="w-65p"] { width: 65% !important; }
    .blocco-custom[data-width-tablet="w-70p"] { width: 70% !important; }
    .blocco-custom[data-width-tablet="w-75p"] { width: 75% !important; }
    .blocco-custom[data-width-tablet="w-80p"] { width: 80% !important; }
    .blocco-custom[data-width-tablet="w-85p"] { width: 85% !important; }
    .blocco-custom[data-width-tablet="w-90p"] { width: 90% !important; }
    .blocco-custom[data-width-tablet="w-95p"] { width: 95% !important; }
    .blocco-custom[data-width-tablet="w-100p"] { width: 100% !important; }
    
    /* SEZIONI - Tablet Height */
    .blocco-custom[data-height-tablet="h-25px"] { height: 25px !important; }
    .blocco-custom[data-height-tablet="h-50px"] { height: 50px !important; }
    .blocco-custom[data-height-tablet="h-100px"] { height: 100px !important; }
    .blocco-custom[data-height-tablet="h-200px"] { height: 200px !important; }
    .blocco-custom[data-height-tablet="h-300px"] { height: 300px !important; }
    .blocco-custom[data-height-tablet="h-400px"] { height: 400px !important; }
    .blocco-custom[data-height-tablet="h-500px"] { height: 500px !important; }
    .blocco-custom[data-height-tablet="h-600px"] { height: 600px !important; }
    .blocco-custom[data-height-tablet="h-0vh"] { height: 0vh !important; }
    .blocco-custom[data-height-tablet="h-5vh"] { height: 5vh !important; }
    .blocco-custom[data-height-tablet="h-10vh"] { height: 10vh !important; }
    .blocco-custom[data-height-tablet="h-15vh"] { height: 15vh !important; }
    .blocco-custom[data-height-tablet="h-20vh"] { height: 20vh !important; }
    .blocco-custom[data-height-tablet="h-25vh"] { height: 25vh !important; }
    .blocco-custom[data-height-tablet="h-30vh"] { height: 30vh !important; }
    .blocco-custom[data-height-tablet="h-35vh"] { height: 35vh !important; }
    .blocco-custom[data-height-tablet="h-40vh"] { height: 40vh !important; }
    .blocco-custom[data-height-tablet="h-45vh"] { height: 45vh !important; }
    .blocco-custom[data-height-tablet="h-50vh"] { height: 50vh !important; }
    .blocco-custom[data-height-tablet="h-55vh"] { height: 55vh !important; }
    .blocco-custom[data-height-tablet="h-60vh"] { height: 60vh !important; }
    .blocco-custom[data-height-tablet="h-65vh"] { height: 65vh !important; }
    .blocco-custom[data-height-tablet="h-70vh"] { height: 70vh !important; }
    .blocco-custom[data-height-tablet="h-75vh"] { height: 75vh !important; }
    .blocco-custom[data-height-tablet="h-80vh"] { height: 80vh !important; }
    .blocco-custom[data-height-tablet="h-85vh"] { height: 85vh !important; }
    .blocco-custom[data-height-tablet="h-90vh"] { height: 90vh !important; }
    .blocco-custom[data-height-tablet="h-95vh"] { height: 95vh !important; }
    .blocco-custom[data-height-tablet="h-100vh"] { height: 100vh !important; }
    .blocco-custom[data-height-tablet="h-auto"] { height: auto !important; }
    
    /* COLONNE - Tablet Width */
    .colonna[data-width-tablet="w-0p"] { width: 0% !important; }
    .colonna[data-width-tablet="w-5p"] { width: 5% !important; }
    .colonna[data-width-tablet="w-10p"] { width: 10% !important; }
    .colonna[data-width-tablet="w-15p"] { width: 15% !important; }
    .colonna[data-width-tablet="w-20p"] { width: 20% !important; }
    .colonna[data-width-tablet="w-25p"] { width: 25% !important; }
    .colonna[data-width-tablet="w-30p"] { width: 30% !important; }
    .colonna[data-width-tablet="w-33p"] { width: 33.333% !important; }
    .colonna[data-width-tablet="w-35p"] { width: 35% !important; }
    .colonna[data-width-tablet="w-40p"] { width: 40% !important; }
    .colonna[data-width-tablet="w-45p"] { width: 45% !important; }
    .colonna[data-width-tablet="w-50p"] { width: 50% !important; }
    .colonna[data-width-tablet="w-55p"] { width: 55% !important; }
    .colonna[data-width-tablet="w-60p"] { width: 60% !important; }
    .colonna[data-width-tablet="w-65p"] { width: 65% !important; }
    .colonna[data-width-tablet="w-66p"] { width: 66.666% !important; }
    .colonna[data-width-tablet="w-70p"] { width: 70% !important; }
    .colonna[data-width-tablet="w-75p"] { width: 75% !important; }
    .colonna[data-width-tablet="w-80p"] { width: 80% !important; }
    .colonna[data-width-tablet="w-85p"] { width: 85% !important; }
    .colonna[data-width-tablet="w-90p"] { width: 90% !important; }
    .colonna[data-width-tablet="w-95p"] { width: 95% !important; }
    .colonna[data-width-tablet="w-100p"] { width: 100% !important; }
    
    /* COLONNE - Tablet Height */
    .colonna[data-height-tablet="h-25px"] { height: 25px !important; }
    .colonna[data-height-tablet="h-50px"] { height: 50px !important; }
    .colonna[data-height-tablet="h-100px"] { height: 100px !important; }
    .colonna[data-height-tablet="h-200px"] { height: 200px !important; }
    .colonna[data-height-tablet="h-300px"] { height: 300px !important; }
    .colonna[data-height-tablet="h-400px"] { height: 400px !important; }
    .colonna[data-height-tablet="h-500px"] { height: 500px !important; }
    .colonna[data-height-tablet="h-600px"] { height: 600px !important; }
    .colonna[data-height-tablet="h-0vh"] { height: 0vh !important; }
    .colonna[data-height-tablet="h-5vh"] { height: 5vh !important; }
    .colonna[data-height-tablet="h-10vh"] { height: 10vh !important; }
    .colonna[data-height-tablet="h-15vh"] { height: 15vh !important; }
    .colonna[data-height-tablet="h-20vh"] { height: 20vh !important; }
    .colonna[data-height-tablet="h-25vh"] { height: 25vh !important; }
    .colonna[data-height-tablet="h-30vh"] { height: 30vh !important; }
    .colonna[data-height-tablet="h-35vh"] { height: 35vh !important; }
    .colonna[data-height-tablet="h-40vh"] { height: 40vh !important; }
    .colonna[data-height-tablet="h-45vh"] { height: 45vh !important; }
    .colonna[data-height-tablet="h-50vh"] { height: 50vh !important; }
    .colonna[data-height-tablet="h-55vh"] { height: 55vh !important; }
    .colonna[data-height-tablet="h-60vh"] { height: 60vh !important; }
    .colonna[data-height-tablet="h-65vh"] { height: 65vh !important; }
    .colonna[data-height-tablet="h-70vh"] { height: 70vh !important; }
    .colonna[data-height-tablet="h-75vh"] { height: 75vh !important; }
    .colonna[data-height-tablet="h-80vh"] { height: 80vh !important; }
    .colonna[data-height-tablet="h-85vh"] { height: 85vh !important; }
    .colonna[data-height-tablet="h-90vh"] { height: 90vh !important; }
    .colonna[data-height-tablet="h-95vh"] { height: 95vh !important; }
    .colonna[data-height-tablet="h-100vh"] { height: 100vh !important; }
    .colonna[data-height-tablet="h-auto"] { height: auto !important; }
    .colonna[data-height-tablet="h-100p"] { height: 100% !important; }
    
    /* COLONNE - Tablet Padding */
    .colonna[data-padding-tablet="p-0"] { padding: 0px !important; }
    .colonna[data-padding-tablet="p-5"] { padding: 5px !important; }
    .colonna[data-padding-tablet="p-10"] { padding: 10px !important; }
    .colonna[data-padding-tablet="p-15"] { padding: 15px !important; }
    .colonna[data-padding-tablet="p-20"] { padding: 20px !important; }
    .colonna[data-padding-tablet="p-25"] { padding: 25px !important; }
    .colonna[data-padding-tablet="p-30"] { padding: 30px !important; }
    .colonna[data-padding-tablet="p-35"] { padding: 35px !important; }
    .colonna[data-padding-tablet="p-40"] { padding: 40px !important; }
    .colonna[data-padding-tablet="p-45"] { padding: 45px !important; }
    .colonna[data-padding-tablet="p-50"] { padding: 50px !important; }
    
    /* COLONNE - Tablet Margin */
    .colonna[data-margin-tablet="m-0"] { margin: 0px !important; }
    .colonna[data-margin-tablet="m-5"] { margin: 5px !important; }
    .colonna[data-margin-tablet="m-10"] { margin: 10px !important; }
    .colonna[data-margin-tablet="m-15"] { margin: 15px !important; }
    .colonna[data-margin-tablet="m-20"] { margin: 20px !important; }
    .colonna[data-margin-tablet="m-25"] { margin: 25px !important; }
    .colonna[data-margin-tablet="m-30"] { margin: 30px !important; }
    
    /* Classi helper per layout tablet */
    .tablet-col-1 > .colonna {
        width: 100% !important;
    }
    
    .tablet-col-2 > .colonna {
        width: 50% !important;
    }
    
    .tablet-col-3 > .colonna {
        width: 33.333% !important;
    }
    
    /* Mix: prima riga 2 colonne, resto 100% */
    .tablet-2-then-full > .colonna:nth-child(1),
    .tablet-2-then-full > .colonna:nth-child(2) {
        width: 50% !important;
    }
    
    .tablet-2-then-full > .colonna:nth-child(n+3) {
        width: 100% !important;
    }
}

/* ========================================
   MOBILE RESPONSIVE (max-width: 768px)
======================================== */

@media (max-width: 768px) {
    
    /* SEZIONI - Mobile behavior */
    .blocco-custom {
        flex-wrap: wrap !important;
    }
    
    /* SEZIONI - Mobile Width */
    .blocco-custom[data-width-mobile="w-0p"] { width: 0% !important; }
    .blocco-custom[data-width-mobile="w-5p"] { width: 5% !important; }
    .blocco-custom[data-width-mobile="w-10p"] { width: 10% !important; }
    .blocco-custom[data-width-mobile="w-15p"] { width: 15% !important; }
    .blocco-custom[data-width-mobile="w-20p"] { width: 20% !important; }
    .blocco-custom[data-width-mobile="w-25p"] { width: 25% !important; }
    .blocco-custom[data-width-mobile="w-30p"] { width: 30% !important; }
    .blocco-custom[data-width-mobile="w-35p"] { width: 35% !important; }
    .blocco-custom[data-width-mobile="w-40p"] { width: 40% !important; }
    .blocco-custom[data-width-mobile="w-45p"] { width: 45% !important; }
    .blocco-custom[data-width-mobile="w-50p"] { width: 50% !important; }
    .blocco-custom[data-width-mobile="w-55p"] { width: 55% !important; }
    .blocco-custom[data-width-mobile="w-60p"] { width: 60% !important; }
    .blocco-custom[data-width-mobile="w-65p"] { width: 65% !important; }
    .blocco-custom[data-width-mobile="w-70p"] { width: 70% !important; }
    .blocco-custom[data-width-mobile="w-75p"] { width: 75% !important; }
    .blocco-custom[data-width-mobile="w-80p"] { width: 80% !important; }
    .blocco-custom[data-width-mobile="w-85p"] { width: 85% !important; }
    .blocco-custom[data-width-mobile="w-90p"] { width: 90% !important; }
    .blocco-custom[data-width-mobile="w-95p"] { width: 95% !important; }
    .blocco-custom[data-width-mobile="w-100p"] { width: 100% !important; }
    
    /* SEZIONI - Mobile Height */
    section[data-height-mobile="h-25px"] { height: 25px !important; }
    section[data-height-mobile="h-50px"] { height: 50px !important; }
    section[data-height-mobile="h-100px"] { height: 100px !important; }
    section[data-height-mobile="h-200px"] { height: 200px !important; }
    section[data-height-mobile="h-300px"] { height: 300px !important; }
    section[data-height-mobile="h-400px"] { height: 400px !important; }
    section[data-height-mobile="h-500px"] { height: 500px !important; }
    section[data-height-mobile="h-600px"] { height: 600px !important; }
    section[data-height-mobile="h-0vh"] { height: 0vh !important; }
    section[data-height-mobile="h-5vh"] { height: 5vh !important; }
    section[data-height-mobile="h-10vh"] { height: 10vh !important; }
    section[data-height-mobile="h-15vh"] { height: 15vh !important; }
    section[data-height-mobile="h-20vh"] { height: 20vh !important; }
    section[data-height-mobile="h-25vh"] { height: 25vh !important; }
    section[data-height-mobile="h-30vh"] { height: 30vh !important; }
    section[data-height-mobile="h-35vh"] { height: 35vh !important; }
    section[data-height-mobile="h-40vh"] { height: 40vh !important; }
    section[data-height-mobile="h-45vh"] { height: 45vh !important; }
    section[data-height-mobile="h-50vh"] { height: 50vh !important; }
    section[data-height-mobile="h-55vh"] { height: 55vh !important; }
    section[data-height-mobile="h-60vh"] { height: 60vh !important; }
    section[data-height-mobile="h-65vh"] { height: 65vh !important; }
    section[data-height-mobile="h-70vh"] { height: 70vh !important; }
    section[data-height-mobile="h-75vh"] { height: 75vh !important; }
    section[data-height-mobile="h-80vh"] { height: 80vh !important; }
    section[data-height-mobile="h-85vh"] { height: 85vh !important; }
    section[data-height-mobile="h-90vh"] { height: 90vh !important; }
    section[data-height-mobile="h-95vh"] { height: 95vh !important; }
    section[data-height-mobile="h-100vh"] { height: 100vh !important; }
    section[data-height-mobile="h-auto"] { height: auto !important; }
    .blocco-custom[data-height-mobile="h-25px"] { height: 25px !important; }
    .blocco-custom[data-height-mobile="h-50px"] { height: 50px !important; }
    .blocco-custom[data-height-mobile="h-100px"] { height: 100px !important; }
    .blocco-custom[data-height-mobile="h-200px"] { height: 200px !important; }
    .blocco-custom[data-height-mobile="h-300px"] { height: 300px !important; }
    .blocco-custom[data-height-mobile="h-400px"] { height: 400px !important; }
    .blocco-custom[data-height-mobile="h-500px"] { height: 500px !important; }
    .blocco-custom[data-height-mobile="h-600px"] { height: 600px !important; }
    .blocco-custom[data-height-mobile="h-0vh"] { height: 0vh !important; }
    .blocco-custom[data-height-mobile="h-5vh"] { height: 5vh !important; }
    .blocco-custom[data-height-mobile="h-10vh"] { height: 10vh !important; }
    .blocco-custom[data-height-mobile="h-15vh"] { height: 15vh !important; }
    .blocco-custom[data-height-mobile="h-20vh"] { height: 20vh !important; }
    .blocco-custom[data-height-mobile="h-25vh"] { height: 25vh !important; }
    .blocco-custom[data-height-mobile="h-30vh"] { height: 30vh !important; }
    .blocco-custom[data-height-mobile="h-35vh"] { height: 35vh !important; }
    .blocco-custom[data-height-mobile="h-40vh"] { height: 40vh !important; }
    .blocco-custom[data-height-mobile="h-45vh"] { height: 45vh !important; }
    .blocco-custom[data-height-mobile="h-50vh"] { height: 50vh !important; }
    .blocco-custom[data-height-mobile="h-55vh"] { height: 55vh !important; }
    .blocco-custom[data-height-mobile="h-60vh"] { height: 60vh !important; }
    .blocco-custom[data-height-mobile="h-65vh"] { height: 65vh !important; }
    .blocco-custom[data-height-mobile="h-70vh"] { height: 70vh !important; }
    .blocco-custom[data-height-mobile="h-75vh"] { height: 75vh !important; }
    .blocco-custom[data-height-mobile="h-80vh"] { height: 80vh !important; }
    .blocco-custom[data-height-mobile="h-85vh"] { height: 85vh !important; }
    .blocco-custom[data-height-mobile="h-90vh"] { height: 90vh !important; }
    .blocco-custom[data-height-mobile="h-95vh"] { height: 95vh !important; }
    .blocco-custom[data-height-mobile="h-100vh"] { height: 100vh !important; }
    .blocco-custom[data-height-mobile="h-auto"] { height: auto !important; }

    #new-room .colonna {
        position: relative;
        z-index: 2;
    }

    #new-room .slogan-content {
        position: relative;
        z-index: 3;
        padding: 0 16px;
    }
    .blocco-custom[data-height-mobile]:not([data-height-mobile="h-100vh"]) { min-height: 0 !important; }
    
    /* COLONNE - Mobile Width */
    .colonna[data-width-mobile="w-0p"] { width: 0% !important; }
    .colonna[data-width-mobile="w-5p"] { width: 5% !important; }
    .colonna[data-width-mobile="w-10p"] { width: 10% !important; }
    .colonna[data-width-mobile="w-15p"] { width: 15% !important; }
    .colonna[data-width-mobile="w-20p"] { width: 20% !important; }
    .colonna[data-width-mobile="w-25p"] { width: 25% !important; } 
    .colonna[data-width-mobile="w-30p"] { width: 30% !important; }
    .colonna[data-width-mobile="w-35p"] { width: 35% !important; }
    .colonna[data-width-mobile="w-40p"] { width: 40% !important; }
    .colonna[data-width-mobile="w-45p"] { width: 45% !important; }
    .colonna[data-width-mobile="w-50p"] { width: 50% !important; }
    .colonna[data-width-mobile="w-55p"] { width: 55% !important; }
    .colonna[data-width-mobile="w-60p"] { width: 60% !important; }
    .colonna[data-width-mobile="w-65p"] { width: 65% !important; }
    .colonna[data-width-mobile="w-70p"] { width: 70% !important; }
    .colonna[data-width-mobile="w-75p"] { width: 75% !important; }
    .colonna[data-width-mobile="w-80p"] { width: 80% !important; }
    .colonna[data-width-mobile="w-85p"] { width: 85% !important; }
    .colonna[data-width-mobile="w-90p"] { width: 90% !important; }
    .colonna[data-width-mobile="w-95p"] { width: 95% !important; }
    .colonna[data-width-mobile="w-100p"] { width: 100% !important; }
    
    /* COLONNE - Mobile Height */
    .colonna[data-height-mobile="h-25px"] { height: 25px !important; }
    .colonna[data-height-mobile="h-50px"] { height: 50px !important; }
    .colonna[data-height-mobile="h-100px"] { height: 100px !important; }
    .colonna[data-height-mobile="h-200px"] { height: 200px !important; }
    .colonna[data-height-mobile="h-300px"] { height: 300px !important; }
    .colonna[data-height-mobile="h-400px"] { height: 400px !important; }
    .colonna[data-height-mobile="h-500px"] { height: 500px !important; }
    .colonna[data-height-mobile="h-600px"] { height: 600px !important; }
    .colonna[data-height-mobile="h-0vh"] { height: 0vh !important; }
    .colonna[data-height-mobile="h-5vh"] { height: 5vh !important; }
    .colonna[data-height-mobile="h-10vh"] { height: 10vh !important; }
    .colonna[data-height-mobile="h-15vh"] { height: 15vh !important; }
    .colonna[data-height-mobile="h-20vh"] { height: 20vh !important; }
    .colonna[data-height-mobile="h-25vh"] { height: 25vh !important; }
    .colonna[data-height-mobile="h-30vh"] { height: 30vh !important; }
    .colonna[data-height-mobile="h-35vh"] { height: 35vh !important; }
    .colonna[data-height-mobile="h-40vh"] { height: 40vh !important; }
    .colonna[data-height-mobile="h-45vh"] { height: 45vh !important; }
    .colonna[data-height-mobile="h-50vh"] { height: 50vh !important; }
    .colonna[data-height-mobile="h-55vh"] { height: 55vh !important; }
    .colonna[data-height-mobile="h-60vh"] { height: 60vh !important; }
    .colonna[data-height-mobile="h-65vh"] { height: 65vh !important; }
    .colonna[data-height-mobile="h-70vh"] { height: 70vh !important; }
    .colonna[data-height-mobile="h-75vh"] { height: 75vh !important; }
    .colonna[data-height-mobile="h-80vh"] { height: 80vh !important; }
    .colonna[data-height-mobile="h-85vh"] { height: 85vh !important; }
    .colonna[data-height-mobile="h-90vh"] { height: 90vh !important; }
    .colonna[data-height-mobile="h-95vh"] { height: 95vh !important; }
    .colonna[data-height-mobile="h-100vh"] { height: 100vh !important; }
    .colonna[data-height-mobile="h-auto"] { height: auto !important; }
    .colonna[data-height-mobile]:not([data-height-mobile="h-100vh"]) { min-height: 0 !important; }
    .colonna[data-height-mobile="h-100p"] { height: 100% !important; }
    
    /* COLONNE - Mobile Padding */
    .colonna[data-padding-mobile="p-0"] { padding: 0px !important; }
    .colonna[data-padding-mobile="p-5"] { padding: 5px !important; }
    .colonna[data-padding-mobile="p-10"] { padding: 10px !important; }
    .colonna[data-padding-mobile="p-15"] { padding: 15px !important; }
    .colonna[data-padding-mobile="p-20"] { padding: 20px !important; }
    .colonna[data-padding-mobile="p-25"] { padding: 25px !important; }
    .colonna[data-padding-mobile="p-30"] { padding: 30px !important; }
    .colonna[data-padding-mobile="p-35"] { padding: 35px !important; }
    .colonna[data-padding-mobile="p-40"] { padding: 40px !important; }
    .colonna[data-padding-mobile="p-45"] { padding: 45px !important; }
    .colonna[data-padding-mobile="p-50"] { padding: 50px !important; }

    /* Riduce il padding verticale quando la colonna va al 100% in mobile */
    .colonna[data-width-mobile="w-100p"][data-padding="p-20"] { padding-top: 0 !important; padding-bottom: 0 !important; }
    .colonna[data-width-mobile="w-100p"][data-padding="p-25"] { padding-top: 0 !important; padding-bottom: 0 !important; }
    .colonna[data-width-mobile="w-100p"][data-padding="p-30"] { padding-top: 0 !important; padding-bottom: 0 !important; }
    .colonna[data-width-mobile="w-100p"][data-padding="p-35"] { padding-top: 0 !important; padding-bottom: 0 !important; }
    .colonna[data-width-mobile="w-100p"][data-padding="p-40"] { padding-top: 0 !important; padding-bottom: 0 !important; }
    .colonna[data-width-mobile="w-100p"][data-padding="p-45"] { padding-top: 0 !important; padding-bottom: 0 !important; }
    .colonna[data-width-mobile="w-100p"][data-padding="p-50"] { padding-top: 0 !important; padding-bottom: 0 !important; }
    
    /* COLONNE - Mobile Margin */
    .colonna[data-margin-mobile="m-0"] { margin: 0px !important; }
    .colonna[data-margin-mobile="m-5"] { margin: 5px !important; }
    .colonna[data-margin-mobile="m-10"] { margin: 10px !important; }
    .colonna[data-margin-mobile="m-15"] { margin: 15px !important; }
    .colonna[data-margin-mobile="m-20"] { margin: 20px !important; }
    .colonna[data-margin-mobile="m-25"] { margin: 25px !important; }
    .colonna[data-margin-mobile="m-30"] { margin: 30px !important; }
}

@media (max-width: 768px) {
    .location-how .colonna {
        position: relative;
        z-index: 2;
    }

    .location-how .titolo,
    .location-how .sottotitolo,
    .location-how .testo {
        color: #000;
    }
}

/* ========================================
   GESTIONE AUTOMATICA RESPONSIVE
======================================== */

/* Automatico: 3 colonne desktop → 2 colonne tablet → 1 colonna mobile */
@media (min-width: 1025px) {
    .colonna[data-responsive="auto"] {
        width: 33.333% !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .colonna[data-responsive="auto"] {
        width: 50% !important;
    }
}

@media (max-width: 767px) {
    .colonna[data-responsive="auto"] {
        width: 100% !important;
    }
}

/* ========================================
   LAYOUT PREDEFINITI
======================================== */

/* Layout 3 colonne: desktop 3 → tablet 2+1 → mobile 1 */
.blocco-custom[data-layout="3-cols"] {
    display: flex;
    flex-wrap: nowrap;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .blocco-custom[data-layout="3-cols"] {
        flex-wrap: wrap !important;
    }
    
    .blocco-custom[data-layout="3-cols"] > .colonna:nth-child(1),
    .blocco-custom[data-layout="3-cols"] > .colonna:nth-child(2) {
        width: 50% !important;
    }
    
    .blocco-custom[data-layout="3-cols"] > .colonna:nth-child(3) {
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    .blocco-custom[data-layout="3-cols"] > .colonna {
        width: 100% !important;
    }
}

/* Layout 4 colonne: desktop 4 → tablet 2+2 → mobile 1 */
@media (min-width: 768px) and (max-width: 1024px) {
    .blocco-custom[data-layout="4-cols"] {
        flex-wrap: wrap !important;
    }
    
    .blocco-custom[data-layout="4-cols"] > .colonna {
        width: 50% !important;
    }
}

@media (max-width: 767px) {
    .blocco-custom[data-layout="4-cols"] > .colonna {
        width: 100% !important;
    }
}

/* ========================================
   EXTRA UTILITIES
======================================== */

/* Pixel values per casi speciali */
section[data-height="h-25px"] { height: 25px !important; }
section[data-height="h-50px"] { height: 50px !important; }
section[data-height="h-100px"] { height: 100px !important; }
section[data-height="h-200px"] { height: 200px !important; }
section[data-height="h-300px"] { height: 300px !important; }
section[data-height="h-400px"] { height: 400px !important; }
section[data-height="h-500px"] { height: 500px !important; }
section[data-height="h-600px"] { height: 600px !important; }
.blocco-custom[data-width="w-300px"] { width: 300px !important; }
.blocco-custom[data-width="w-400px"] { width: 400px !important; }
.blocco-custom[data-width="w-500px"] { width: 500px !important; }
.blocco-custom[data-width="w-600px"] { width: 600px !important; }
.blocco-custom[data-width="w-800px"] { width: 800px !important; }
.blocco-custom[data-width="w-1000px"] { width: 1000px !important; }
.blocco-custom[data-width="w-1200px"] { width: 1200px !important; }

.blocco-custom[data-height="h-25px"] { height: 25px !important; }
.blocco-custom[data-height="h-50px"] { height: 50px !important; }
.blocco-custom[data-height="h-100px"] { height: 100px !important; }
.blocco-custom[data-height="h-200px"] { height: 200px !important; }
.blocco-custom[data-height="h-300px"] { height: 300px !important; }
.blocco-custom[data-height="h-400px"] { height: 400px !important; }
.blocco-custom[data-height="h-500px"] { height: 500px !important; }
.blocco-custom[data-height="h-600px"] { height: 600px !important; }

.colonna[data-width="w-300px"] { width: 300px !important; }
.colonna[data-width="w-400px"] { width: 400px !important; }
.colonna[data-width="w-500px"] { width: 500px !important; }
.colonna[data-width="w-600px"] { width: 600px !important; }

.colonna[data-height="h-25px"] { height: 25px !important; }
.colonna[data-height="h-50px"] { height: 50px !important; }
.colonna[data-height="h-100px"] { height: 100px !important; }
.colonna[data-height="h-200px"] { height: 200px !important; }
.colonna[data-height="h-300px"] { height: 300px !important; }
.colonna[data-height="h-400px"] { height: 400px !important; }
.colonna[data-height="h-500px"] { height: 500px !important; }
.colonna[data-height="h-600px"] { height: 600px !important; }

/* Background images support */
.blocco-custom[data-bg-class]:not([data-bg-class=""]),
.blocco-custom[data-bg-img]:not([data-bg-img=""]) {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    position: relative; 
}

.colonna[data-bg-class]:not([data-bg-class=""]),
.colonna[data-bg-img]:not([data-bg-img=""]) {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Background position presets */
.blocco-custom[data-bg-position="top-left"] { background-position: top left !important; }
.blocco-custom[data-bg-position="top"] { background-position: top center !important; }
.blocco-custom[data-bg-position="top-right"] { background-position: top right !important; } 
.blocco-custom[data-bg-position="center-left"] { background-position: center left !important; }
.blocco-custom[data-bg-position="center"] { background-position: center !important; }
.blocco-custom[data-bg-position="center-right"] { background-position: center right !important; }
.blocco-custom[data-bg-position="bottom-left"] { background-position: bottom left !important; }
.blocco-custom[data-bg-position="bottom"] { background-position: bottom center !important; }
.blocco-custom[data-bg-position="bottom-right"] { background-position: bottom right !important; }

.colonna[data-bg-position="top-left"] { background-position: top left !important; }
.colonna[data-bg-position="top"] { background-position: top center !important; }
.colonna[data-bg-position="top-right"] { background-position: top right !important; }
.colonna[data-bg-position="center-left"] { background-position: center left !important; }
.colonna[data-bg-position="center"] { background-position: center !important; }
.colonna[data-bg-position="center-right"] { background-position: center right !important; }
.colonna[data-bg-position="bottom-left"] { background-position: bottom left !important; }
.colonna[data-bg-position="bottom"] { background-position: bottom center !important; }
.colonna[data-bg-position="bottom-right"] { background-position: bottom right !important; }

.product-caption {
    margin-top: 12px;
    font-family: var(--font-titolo);
    font-size: var(--font-size-sm);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--grigio-500); 
}

.product-slide {
    position: relative; 
}

.product-slide__inner {
    position: relative;
    display: inline-block;
}

.product-slide__inner img {
    display: block;
    max-width: 100%;
    height: auto;
}
 
#swiper5 .product-slide__inner img {
    max-width: 320px;
    width: 100%;
    margin: 0 auto;
}
 
#swiper5 { position: relative; }

#swiper5 .swiper-arrow-button {
    top: 10px;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%);
}

#swiper5 .swiper-arrow-button.arrow-left {
    margin-left: -40px;
}

#swiper5 .swiper-arrow-button.arrow-right {
    margin-left: 40px;
}
.product-slide__tag {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0;
    background: transparent;
    color: var(--grigio-600);
    font-family: var(--font-titolo);
    font-size: var(--font-size-sm);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 0;
    z-index: 2;
    width: 90%;
}

/* Hero/Full-screen blocco support */
.blocco-custom.parallax {
    background-attachment: fixed;
    display: flex;
    align-items: center; 
    justify-content: center;
    text-align: center;
    overflow: hidden;
}

.colonna.parallax {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}

@media (max-width: 768px) {
    .blocco-custom.parallax {
        background-attachment: scroll;
    }
    .colonna.parallax {
        background-attachment: scroll;
    }
}

/* Disabilita il parallax sui dispositivi touch (es. iPad) per evitare il bug di Safari */
@media (hover: none) and (pointer: coarse) {
    .blocco-custom.parallax {
        background-attachment: scroll;
    }
}
 
/* Modalità overlay: gestita via sidebar.css */

/* Preset per builder: sezione fullscreen fuori dal main-content */
.blocco-custom[data-main-layer="overlay"],
.blocco-custom[data-main-layer="inline"] {
    --main-layer: 1;
}

/* Rimuove bullet/margini dalle liste quando applicato a una colonna */
.nolist ul,
.nolist li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Allineamento contenuti senza ridurre il full width: usa padding solo per il testo */
:root {
    --sidebar-width: 140px;
}

@media (min-width: 1025px) {
    body:not(.overlay-mode) .main-content {
        padding-left: var(--sidebar-width);
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    body.scrolled:not(.overlay-mode) .main-content {
        padding-left: var(--sidebar-width);
    }
}


@media (max-width: 1024px) {
    .blocco-custom {
        padding-left: 0;
    }
}

/* Request form */
.contact-form {
    display: grid;
    row-gap: 1.8rem;
    column-gap: 0;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    font-family: var(--font-titolo);
}
.contact-form-wrap {
    position: relative;
}
.contact-form-confirm {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    text-align: center;
}
.contact-form-wrap.is-confirmed .contact-form {
    opacity: 0.25;
    pointer-events: none;
}
.contact-form,
.contact-form * {
    box-sizing: border-box;
}
.contact-form .form-row {
    display: grid;
    gap: 1.5rem;
}
.contact-form .form-row > div {
    min-width: 0;
}
.contact-form .form-row.form-row-3 {
    grid-template-columns: 1fr;
}
@media (min-width: 768px) {
    .contact-form .form-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .contact-form .form-row.form-row-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.contact-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.2rem;
    text-align: left;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form input[type="date"],
.contact-form select,
.contact-form textarea {
    width: 100%;
    max-width: 100%;
    padding: 0.85rem 1rem;
    border: 1px solid #d7d7d7;
    border-radius: 8px;
    font-size: 1rem;
    font-family: inherit;
    background: #fff;
    color: #222;
    transition: border-color 0.2s;
    margin-top: 0.6rem;
    margin-bottom: 0.8rem;
}
.contact-form input:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: #BE9F56;
    box-shadow: 0 0 0 2px rgba(11, 49, 66, 0.1);
}
.contact-form textarea {
    min-height: 160px;
    resize: vertical;
}
.contact-form button {
    justify-self: flex-start;
    background: #BE9F56;
    color: #fff;
    border: none;
    padding: 0.9rem 2.6rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s ease;
    font-family: inherit;
}
.contact-form small,
.contact-form label {
    font-family: inherit;
}
.contact-form button:hover {
    opacity: 0.88;
}
.alert-success,
.alert-error {
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
}
.alert-success {
    background: #e6f4ea;
    color: #0f5132;
    border: 1px solid #bcdcc7;
}
.alert-error {
    background: #fdecea;
    color: #611a15;
    border: 1px solid #f5c2c7;
}
.alert-error ul {
    margin: 0.5rem 0 0;
    padding-left: 1.2rem;
}
.privacy-field {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}
.privacy-field input {
    width: auto;
    margin-top: 0.3rem;
}
.privacy-field span {
    flex: 1;
}

/* Responsive image helper */
.img-link {
    display: block;
}
.img-responsive {
    display: block;
    width: 100%;
    height: auto;
}

/* Cover image helper */
.img-link-cover {
    width: 100%;
    height: 70%;
    margin: 0 auto;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.5);
    position: relative;
    display: block;
}
.img-link-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    opacity: 0;
    transition: opacity 0.35s ease;
    z-index: 1;
    pointer-events: none;
}
.img-link-cover::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0.35;
    transition: opacity 0.35s ease;
    z-index: 1;
    pointer-events: none;
}
.img-link-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.92;
} 

.img-link-cover:hover img {
    -webkit-transform: scale(1.09, 1.09);
    transform: scale(1.09, 1.09);
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    -ms-transition: all 1s ease;
    transition: all 1s ease;
}

.img-link-cover:hover::after {
    opacity: 0.6;
}

/* Uniform service card images */
#elenco-servizi .img-link-cover {
    height: clamp(180px, 20vw, 260px);
}

@media (min-width: 769px) {
    #elenco-servizi .img-link-cover {
        height: auto;
        aspect-ratio: 9 / 16;
    }

    #elenco-servizi h2 {
        margin-top: 16px;
    }
}

@media (max-width: 768px) {
    #elenco-servizi .img-link-cover {
        height: clamp(360px, 40vw, 520px);
    }
}

.room-name {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.4rem;
    margin: 0 0 20px;
    padding: 0.6rem 1rem 1.6rem;
    color: #fff;
    z-index: 3;
    font-family: var(--font-titolo);
    font-size: 1.5rem;
    background: none;
    text-shadow: none;
    transition: transform 0.3s ease; 
}

.room-name::after {
    content: "";
    display: block; 
    width: 25%;
    height: 1px;
    margin-top: 0.5rem;
    background: rgba(255, 255, 255, 0.7);
    transition: width 0.35s ease;
}

.room-details {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #fff;
    font-size: 0.65rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

.room-text {
    font-size: 0.9rem;
    margin-top: 0.1rem;
    padding: 10px 20px;
}
@media (max-width: 768px) {
    .room-text {
        padding: 20px;
    }
    .img-link-cover::before {
        opacity: 0.6;
    }
    .img-link-cover::after {
        opacity: 0;
    }
    .room-details {
        opacity: 1;
        transform: none;
    }
}
.room-area {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.3rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    font-size: 0.85rem;
    color: #ffffff90;
    padding: 0 1rem;
    z-index: 3;
    font-family: var(--font-titolo);
}

.room-area-left {
    display: inline-flex;
    align-items: center;
 
}

.room-area-icon {
    width: 16px;
    height: 16px;
    display: inline-block;
    object-fit: contain;
    padding: 10px;
}

.img-link-cover img.room-area-icon {
    width: 16px;
    height: 16px;
}

.room-details-icon {
    width: 16px;
    height: 16px;
}

.img-link-cover:hover .room-name {
    transform: translateY(-0.9rem);
}

.img-link-cover:hover .room-details {
    opacity: 1;
    transform: translateY(0);
}

.img-link-cover:hover .room-name::after {
    width: 75%;
}

.details {
    font-size: small;
    color: var(--nero60); 
    border-bottom: 1px solid var(--nero60);
    padding: 5px 5px 5px 0;
    font-family: var(--font-titolo);
    transition: padding 0.3s ease;
}

.details:hover {
    padding: 5px 10px 5px 0;
}

.address {
    font-size: var(--font-size-sm);
    line-height: 1; 
    font-family: var(--font-titolo);
}

.room-servizi {
    list-style: none;
    padding: 0;
    margin: 10px 0;
    display: flex;
    flex-direction: column;
    gap: 10px; /* ← spazio verticale tra i li */
}

.room-servizi li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    font-family: var(--font-titolo);
}

.icon-room {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}
.text-left { text-align: left;}
/* Allineamento icona + testo su stessa linea (H3) */
.text-left h3.sottotitolo {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 30px;
    line-height: 1;
}

/* Icona location fissa a 40px */
.text-left h3.sottotitolo .icon-loc {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: block;
}

.cta-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-start;
    text-align: left;
    width: 100%;
}

.cta-tag {
    background: #be9f56;
    color: #ffffff;
    padding: 3px 8px;
    margin: 0 3px;
    display: inline-block;
}
