@media (max-width: 1199px){
    .rdl-container{width:min(100% - 32px, 1180px)}
    .rdl-hero-copy-main h1{font-size:66px}
    .rdl-services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width: 991px){
    .rdl-header-card{flex-wrap:wrap;gap:14px}
    .rdl-menu-toggle{display:block}
    .rdl-main-navigation{display:none;order:10;flex-basis:100%}
    .rdl-main-navigation.is-open{display:block}
    .rdl-menu{display:block}
    .rdl-menu li{border-top:1px solid #edf1f5}
    .rdl-menu a{padding:14px 6px;border-bottom:0}
    .rdl-menu ul{position:static;border:0;box-shadow:none;padding:0 0 8px 14px;background:transparent;display:none;min-width:0}
    .rdl-menu li.is-open>ul{display:block}
    .rdl-header-actions{margin-left:auto}
    .rdl-main-card{padding:0 18px 22px}
    .rdl-hero-copy{grid-template-columns:1fr;gap:18px;padding-inline:10px}
    .rdl-hero-copy-main h1{font-size:58px}
    .rdl-hero-copy-side{padding-left:18px;max-width:520px}
    .rdl-booking-row{grid-template-columns:1fr}
    .rdl-availability-form{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rdl-availability-form button{grid-column:1/-1}
    .rdl-structure-grid,.rdl-destinations-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
    .rdl-map-strip{grid-template-columns:1fr}
    .rdl-footer-card{grid-template-columns:1fr 1fr}
    .rdl-footer-social-col{grid-column:2}
    .rdl-footer-bottom{grid-template-columns:1fr}
    .rdl-policy-links{justify-content:flex-start}
}

@media (max-width: 767px){
    .rdl-container{width:calc(100% - 18px)}
    .rdl-site-header{padding-top:10px}
    .rdl-header-card{padding:14px 16px}
    .rdl-brand-logo{width:72px}
    .rdl-brand-logo img,.rdl-brand-logo .custom-logo{max-width:68px;max-height:68px}
    .rdl-brand-copy{font-size:19px}
    .rdl-lang-switcher a{font-size:20px}
    .rdl-main-card{padding:0 12px 18px}
    .rdl-hero{padding-top:14px}
    .rdl-hero-copy{padding:18px 4px 0}
    .rdl-hero-copy-main h1{font-size:42px}
    .rdl-hero-copy-main p{font-size:15px}
    .rdl-hero-copy-side{padding-left:16px}
    .rdl-hero-copy-side p,.rdl-hero-copy-side strong{font-size:18px}
    .rdl-booking-box{padding:16px 18px}
    .rdl-booking-label h2{font-size:19px}
    .rdl-availability-form{grid-template-columns:1fr}
    .rdl-section-title{font-size:24px;gap:12px}
    .rdl-section-title::before,.rdl-section-title::after{width:34px}
    .rdl-services-grid,.rdl-structure-grid,.rdl-destinations-grid{grid-template-columns:1fr}
    .rdl-structure-card img,.rdl-destination-card img{height:200px}
    .rdl-footer-card{grid-template-columns:1fr;gap:20px;padding:20px 18px 16px}
    .rdl-footer-social-col{grid-column:auto}
    .rdl-construction-banner{font-size:22px;padding:22px 20px}
}

@media (max-width: 575px){
    .rdl-brand{max-width:calc(100% - 70px)}
    .rdl-brand-copy{font-size:17px}
    .rdl-lang-switcher{display:none}
    .rdl-hero-copy-main h1{font-size:34px}
    .rdl-booking-label{align-items:flex-start}
    .rdl-booking-label .rdl-booking-icon{width:44px;height:44px}
    .rdl-button-primary,.rdl-button-outline{width:100%}
    .rdl-map-info,.rdl-map-frame iframe{min-height:auto}
    .rdl-contact-list li{font-size:13px}
}

@media (max-width: 767px){.rdl-destination-size-wide,.rdl-destination-size-large{grid-column:span 1;grid-row:auto}.rdl-destination-size-tall img,.rdl-destination-size-large img{height:200px}}

@media (max-width: 991px){
    .rdl-structure-size-wide,.rdl-structure-size-large,.rdl-destination-size-wide,.rdl-destination-size-large{grid-column:span 1;grid-row:span 1}
    .rdl-destination-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 767px){
    .rdl-destination-gallery{grid-template-columns:1fr}
    .rdl-destination-gallery img{height:220px}
    .rdl-contact-chip{width:100%;justify-content:center}
}


@media (max-width: 991px){
    .rdl-structure-card{min-height:420px}
    .rdl-structure-card img,.rdl-structure-size-tall img,.rdl-structure-size-large img{height:280px !important;flex-basis:280px}
}

@media (max-width: 767px){
    .rdl-structure-card{min-height:auto}
    .rdl-structure-card img,.rdl-structure-size-tall img,.rdl-structure-size-large img{height:220px !important;flex-basis:220px}
    .rdl-structure-caption{min-height:unset}
    .rdl-structure-caption > span:last-child{min-height:unset}
}


@media (max-width: 991px){
    .rdl-structure-card{min-height:290px !important}
    .rdl-structure-card img,.rdl-structure-size-tall img,.rdl-structure-size-large img{height:190px !important;flex-basis:190px !important}
    .rdl-structure-caption{min-height:96px !important}
}

@media (max-width: 767px){
    .rdl-structure-card{min-height:auto !important}
    .rdl-structure-card img,.rdl-structure-size-tall img,.rdl-structure-size-large img{height:180px !important;flex-basis:180px !important}
    .rdl-structure-caption{min-height:auto !important}
}


@media (max-width: 991px){
    .rdl-hero-media img{height:auto !important;max-height:none !important;object-fit:contain !important}
    .rdl-structure-card img{height:210px !important;flex-basis:210px !important}
}
@media (max-width: 767px){
    .rdl-hero-media img{height:auto !important;max-height:none !important;object-fit:contain !important}
    .rdl-structure-card img{height:190px !important;flex-basis:190px !important}
}


@media (max-width: 767px){
    .rdl-hero-media{aspect-ratio:1035 / 288;border-radius:14px}
    .rdl-hero-media img{border-radius:14px !important}
}


/* 1.1.3 - override responsive: la Hero resta naturale su tutti i breakpoint */
@media (max-width: 1199px){
    .rdl-hero-media,.rdl-hero-media-complete{height:auto !important;max-height:none !important;aspect-ratio:auto !important;overflow:visible !important}
    .rdl-hero-media img,.rdl-hero-media-complete img{width:100% !important;height:auto !important;max-height:none !important;object-fit:contain !important}
}
@media (max-width: 767px){
    .rdl-hero-media,.rdl-hero-media-complete{height:auto !important;max-height:none !important;aspect-ratio:auto !important;overflow:visible !important;border-radius:14px !important}
    .rdl-hero-media img,.rdl-hero-media-complete img{width:100% !important;height:auto !important;max-height:none !important;object-fit:contain !important;border-radius:14px !important}
}


/* 1.2.1 - override responsive Hero senza taglio */
@media (max-width:1199px){
    .rdl-hero,.rdl-hero--full,.rdl-hero-banner-mode,.rdl-hero-split-mode,
    .rdl-hero-media,.rdl-hero-media-complete,.rdl-hero-full-image{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        aspect-ratio:auto !important;
        overflow:visible !important;
    }
    .rdl-hero img,.rdl-hero-media img,.rdl-hero-media-complete img,.rdl-hero-full-image img{
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        object-fit:contain !important;
    }
}
@media (max-width:767px){
    .rdl-hero,.rdl-hero--full,.rdl-hero-banner-mode,.rdl-hero-split-mode,
    .rdl-hero-media,.rdl-hero-media-complete,.rdl-hero-full-image{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        aspect-ratio:auto !important;
        overflow:visible !important;
    }
    .rdl-hero img,.rdl-hero-media img,.rdl-hero-media-complete img,.rdl-hero-full-image img{
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        object-fit:contain !important;
        border-radius:14px !important;
    }
}

@media (max-width: 991px){
    .rdl-services-grid,.rdl-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 575px){
    .rdl-services-grid,.rdl-partners-grid{grid-template-columns:1fr}
    .rdl-partner-rectangle,.rdl-partner-square{aspect-ratio:auto;min-height:120px}
}

@media (min-width: 992px) and (max-width: 1199px){
    .rdl-services-grid,.rdl-partners-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}


/* 1.2.4 - Hero + testo responsive */
@media (max-width:991px){
    .rdl-hero-split-mode .rdl-hero-copy{grid-template-columns:1fr !important;gap:18px !important;padding:18px 10px 6px !important}
}
@media (max-width:767px){
    .rdl-hero-split-mode .rdl-hero-copy{grid-template-columns:1fr !important;padding:18px 4px 0 !important}
}

/* 1.3.7 - Responsive mobile/tablet: hamburger a destra e caroselli orizzontali */
@media (max-width: 991px){
    .rdl-header-card{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto auto;
        align-items:center;
        gap:12px;
    }
    .rdl-brand{min-width:0;grid-column:1;grid-row:1}
    .rdl-header-actions{grid-column:2;grid-row:1;margin-left:0;justify-self:end}
    .rdl-menu-toggle{grid-column:3;grid-row:1;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;justify-self:end;min-width:44px;min-height:44px}
    .rdl-main-navigation{grid-column:1 / -1;grid-row:2;order:initial;flex-basis:auto;width:100%}
}

@media (max-width: 767px), (min-width:768px) and (max-width:991px) and (orientation:portrait){
    .rdl-services-grid,
    .rdl-destinations-grid{
        display:flex !important;
        grid-template-columns:none !important;
        gap:14px !important;
        overflow-x:auto;
        overflow-y:hidden;
        scroll-snap-type:x mandatory;
        scroll-behavior:smooth;
        -webkit-overflow-scrolling:touch;
        padding:4px 4px 18px;
        margin-inline:-4px;
        scrollbar-width:thin;
    }
    .rdl-services-grid > *,
    .rdl-destinations-grid > *{
        flex:0 0 min(82vw, 360px) !important;
        width:min(82vw, 360px) !important;
        max-width:min(82vw, 360px) !important;
        scroll-snap-align:start;
    }
    .rdl-services-grid > .rdl-service-card{
        min-height:245px;
    }
    .rdl-destinations-grid > .rdl-destination-card{
        min-height:310px;
    }
    .rdl-destinations-grid .rdl-destination-size-wide,
    .rdl-destinations-grid .rdl-destination-size-large,
    .rdl-destinations-grid .rdl-destination-size-tall{
        grid-column:auto !important;
        grid-row:auto !important;
    }
    .rdl-destinations-grid .rdl-destination-card img{
        height:205px !important;
        object-fit:cover;
    }
    .rdl-services-section,
    .rdl-surroundings-section{
        overflow:hidden;
    }
}

@media (min-width:768px) and (max-width:991px) and (orientation:portrait){
    .rdl-services-grid > *,
    .rdl-destinations-grid > *{
        flex-basis:42vw !important;
        width:42vw !important;
        max-width:42vw !important;
    }
}

@media (min-width:768px) and (max-width:991px) and (orientation:landscape){
    .rdl-services-grid{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        overflow:visible !important;
        padding:0 !important;
        margin-inline:0 !important;
    }
    .rdl-destinations-grid{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        overflow:visible !important;
        padding:0 !important;
        margin-inline:0 !important;
    }
    .rdl-services-grid > *,
    .rdl-destinations-grid > *{
        width:auto !important;
        max-width:none !important;
        flex:auto !important;
    }
}

/* 1.3.8 - Mobile/tablet portrait: caroselli centrati e hint scroll */
.rdl-mobile-scroll-hint{display:none}
@media (max-width: 767px), (min-width:768px) and (max-width:991px) and (orientation:portrait){
    .rdl-mobile-scroll-hint{
        display:block;
        margin:-10px auto 16px;
        text-align:center;
        color:#6b7890;
        font-size:13px;
        font-weight:700;
        letter-spacing:.02em;
    }
    .rdl-services-grid,
    .rdl-destinations-grid{
        display:flex !important;
        grid-template-columns:none !important;
        grid-auto-flow:column !important;
        justify-content:flex-start !important;
        align-items:stretch !important;
        gap:16px !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        scroll-snap-type:x mandatory !important;
        scroll-behavior:smooth !important;
        -webkit-overflow-scrolling:touch !important;
        padding-top:6px !important;
        padding-bottom:22px !important;
        padding-left:max(16px, calc((100% - min(82vw, 360px)) / 2)) !important;
        padding-right:max(16px, calc((100% - min(82vw, 360px)) / 2)) !important;
        margin-left:calc(-1 * max(16px, env(safe-area-inset-left))) !important;
        margin-right:calc(-1 * max(16px, env(safe-area-inset-right))) !important;
        scrollbar-width:thin !important;
    }
    .rdl-services-grid > *,
    .rdl-destinations-grid > *{
        flex:0 0 min(82vw, 360px) !important;
        width:min(82vw, 360px) !important;
        max-width:min(82vw, 360px) !important;
        min-width:min(82vw, 360px) !important;
        scroll-snap-align:center !important;
        scroll-snap-stop:always !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    .rdl-services-grid > .rdl-service-card,
    .rdl-destinations-grid > .rdl-destination-card{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
    }
    .rdl-services-grid > .rdl-service-card p,
    .rdl-services-grid > .rdl-service-card h3,
    .rdl-destinations-grid > .rdl-destination-card .rdl-card-body{
        text-align:center !important;
        align-items:center !important;
        justify-content:center !important;
    }
    .rdl-destinations-grid > .rdl-destination-card{
        justify-content:flex-start !important;
    }
    .rdl-destinations-grid > .rdl-destination-card .rdl-destination-image-link,
    .rdl-destinations-grid > .rdl-destination-card img{
        width:100% !important;
    }
}
@media (min-width:768px) and (max-width:991px) and (orientation:portrait){
    .rdl-services-grid,
    .rdl-destinations-grid{
        padding-left:max(24px, calc((100% - 42vw) / 2)) !important;
        padding-right:max(24px, calc((100% - 42vw) / 2)) !important;
    }
    .rdl-services-grid > *,
    .rdl-destinations-grid > *{
        flex-basis:42vw !important;
        width:42vw !important;
        min-width:42vw !important;
        max-width:42vw !important;
    }
}
