/* Revisione responsive globale Page Designer - 3.1.23 */
@media (max-width: 782px) {
    html, body { overflow-x: hidden; }

    .gf-section {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .gf-section--shortcode-raw,
    .gf-section--menu,
    .gf-section--image-hero-slider,
    .gf-section--post-hero-slider {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .gf-section > .gf-container,
    .gf-section__container,
    .gf-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .gf-section-header,
    .gf-section-header--center,
    .gf-section-header--row,
    .gf-icon-cards__header,
    .gf-plain-cards__header,
    .gf-overlay-cards__header,
    .gf-bullet-list-cards__header,
    .gf-portfolio__header,
    .gf-partner-logos__header,
    .gf-centered-image__content,
    .gf-hero-trio__content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .gf-section-header--row {
        display: block !important;
    }

    .gf-section h1,
    .gf-section h2,
    .gf-section h3,
    .gf-module-title__text,
    .gf-image-hero-slide__title,
    .gf-post-hero-slide__title {
        max-width: 100% !important;
        overflow-wrap: anywhere;
        word-break: normal;
        hyphens: auto;
    }

    .gf-section h1 { font-size: clamp(2rem, 10vw, 3rem) !important; }
    .gf-section h2 { font-size: clamp(1.65rem, 8vw, 2.35rem) !important; }
    .gf-section h3 { font-size: clamp(1.25rem, 6vw, 1.7rem) !important; }

    .gf-section-title-line,
    .gf-section--title-lines [data-gf-field="title"]::before,
    .gf-section--title-lines [data-gf-field="title"]::after,
    .gf-section--title-lines .gf-module-title__text::before,
    .gf-section--title-lines .gf-module-title__text::after {
        min-width: 20px !important;
        flex: 1 1 20px !important;
    }

    .gf-text,
    .gf-card-rich-text,
    .gf-module-text__content,
    .gf-image-hero-slide__text,
    .gf-post-hero-slide__excerpt {
        max-width: 100% !important;
        overflow-wrap: anywhere;
    }

    .gf-actions,
    .gf-icon-cards__section-actions,
    .gf-plain-cards__section-actions,
    .gf-news-centered__actions {
        width: 100% !important;
        gap: 10px !important;
    }

    .gf-button {
        max-width: 100%;
        white-space: normal;
        text-align: center;
    }

    .gf-services-grid,
    .gf-features-images__grid,
    .gf-icon-cards,
    .gf-plain-cards,
    .gf-overlay-cards,
    .gf-bullet-list-cards,
    .gf-portfolio-grid,
    .gf-articles-grid,
    .gf-post-grid,
    .gf-news-centered__grid,
    .gf-multi-category-posts,
    .gf-partner-logos {
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .gf-service-card,
    .gf-feature-image-card,
    .gf-icon-card,
    .gf-plain-card,
    .gf-overlay-card,
    .gf-bullet-list-card,
    .gf-portfolio-card,
    .gf-article-card,
    .gf-news-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .gf-managed-image,
    .gf-service-card img,
    .gf-feature-image-card img,
    .gf-portfolio-card img,
    .gf-article-card img,
    .gf-news-card img {
        max-width: 100% !important;
    }

    .gf-text-image,
    .gf-media-panel,
    .gf-hero,
    .gf-hero-overlap,
    .gf-hero-trio,
    .gf-featured-posts-split__layout,
    .gf-articles-list-card,
    .gf-multi-category-posts__item {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .gf-text-image__content,
    .gf-text-image__media,
    .gf-media-panel__box,
    .gf-media-panel__media,
    .gf-hero__content,
    .gf-hero__media,
    .gf-hero-overlap__content,
    .gf-hero-overlap__media,
    .gf-hero-trio__content,
    .gf-hero-trio__media,
    .gf-featured-posts-split__main,
    .gf-featured-posts-split__side,
    .gf-articles-list-card__body,
    .gf-articles-list-card__media {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .gf-hero-overlap__media,
    .gf-hero-trio__media {
        min-height: 0 !important;
    }

    .gf-hero-overlap__frame,
    .gf-hero-trio__frame {
        position: relative !important;
        inset: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 14px !important;
    }

    .gf-hero-overlap__frame--back { display: none !important; }

    .gf-centered-image__media,
    .gf-centered-image__image {
        width: 100% !important;
        max-width: 100% !important;
    }

    .gf-image-hero-slider,
    .gf-image-hero-slider__slides,
    .gf-image-hero-slide {
        min-height: 420px !important;
        height: auto !important;
    }

    .gf-image-hero-slide__content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 48px 20px 68px !important;
    }

    .gf-image-hero-slide__image {
        width: 100% !important;
        height: 100% !important;
        min-height: 420px !important;
        object-fit: cover !important;
    }

    .gf-post-hero-slider,
    .gf-post-hero-slider__slides,
    .gf-post-hero-slide {
        height: auto !important;
        min-height: 0 !important;
    }

    .gf-post-hero-slide {
        display: flex !important;
        flex-direction: column !important;
    }

    .gf-post-hero-slide__content,
    .gf-post-hero-slide__media {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .gf-post-hero-slide__content-inner {
        width: 100% !important;
        max-width: 100% !important;
        padding: 28px 20px !important;
    }

    .gf-post-hero-slide__media img {
        width: 100% !important;
        height: auto !important;
        min-height: 220px;
        max-height: 360px;
        object-fit: cover;
    }

    .gf-post-hero-slider__arrow { top: auto !important; bottom: 12px !important; transform: none !important; }
    .gf-post-hero-slider__arrow--prev { left: 12px !important; }
    .gf-post-hero-slider__arrow--next { right: 12px !important; }

    .gf-home-menu {
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .gf-home-menu__list {
        display: flex !important;
        flex-wrap: nowrap !important;
        width: max-content !important;
        min-width: 100% !important;
        gap: 6px !important;
    }

    .gf-home-menu__list > li > a {
        white-space: nowrap;
        padding: 10px 12px !important;
    }

    .gf-partner-logos {
        display: grid !important;
        justify-items: center;
        gap: 22px !important;
    }

    .gf-partner-logos__item,
    .gf-partner-logos__image {
        width: 100% !important;
        max-width: 260px !important;
        height: auto !important;
    }

    .gf-module-map iframe,
    .gf-custom-html iframe,
    .gf-free-content iframe,
    .gf-section table {
        max-width: 100% !important;
    }
}

@media (max-width: 480px) {
    .gf-section { padding-left: 14px !important; padding-right: 14px !important; }
    .gf-actions { flex-direction: column !important; align-items: stretch !important; }
    .gf-actions .gf-button,
    .gf-icon-cards__section-actions .gf-button,
    .gf-plain-cards__section-actions .gf-button { width: 100% !important; }
    .gf-image-hero-slider,
    .gf-image-hero-slider__slides,
    .gf-image-hero-slide,
    .gf-image-hero-slide__image { min-height: 380px !important; }
}


/* 3.1.24 - colonne configurabili per le sezioni servizi */
@media (max-width: 1024px) and (min-width: 701px) {
    .gf-services-grid,
    .gf-features-images__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .gf-services-grid,
    .gf-features-images__grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
