/* 
Theme Name: PGW
Theme URI: https://www.pg-w.it/
Description: Tema WordPress personalizzato di PG&W, basato sul parent theme Hello Elementor.
Author: PG&W
Author URI: https://www.pg-w.it/
Template: hello-elementor
Version: 1.1.0
Text Domain: pgw
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

/*
 * Header sticky senza il clone DOM generato dagli effetti di movimento Elementor.
 * Lo sticky viene applicato al wrapper esterno, che contiene una sola istanza
 * dell'Off-Canvas e del menu Unlimited Elements.
 */
html,
body {
    /*
     * "overflow-x: hidden" crea un contenitore di scorrimento e impedisce
     * a position: sticky di seguire la viewport. "clip" evita lo scroll
     * orizzontale senza cambiare il contenitore di riferimento.
     */
    overflow-x: clip !important;
}

.elementor-location-header {
    position: sticky;
    top: 0;
    z-index: 9999;
}

/*
 * Mantiene coerenti le voci del menu anche quando WPML restituisce il titolo
 * tradotto in Title Case. Il link "Back" è esterno alle liste e resta invariato.
 */
.new-menu .ue-slide-menu-list > .menu-item > a,
.new-menu .sub-menu > .menu-item > a {
    text-transform: uppercase;
}

body.admin-bar .elementor-location-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .elementor-location-header {
        top: 46px;
    }
}

/*
 * Pulsanti dei link esterni nelle pagine Siti Web / Websites.
 * Inline-flex fa includere padding e bordo nel calcolo dell'altezza del
 * pannello Unite Gallery, evitando che il CTA tocchi i bordi superiore e
 * inferiore. La forma riprende i pulsanti principali del sito.
 */
.ug-textpanel,
.ug-textpanel-title,
.ug-textpanel-description,
.ug-textpanel-textwrapper {
    font-family: Inter, sans-serif !important;
    font-weight: 300;
}

a.link-immagini {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: calc(100% - 16px);
    min-height: 44px;
    box-sizing: border-box;
    padding: 12px 24px;
    border: 1px solid #fff;
    border-radius: 20px;
    background-color: transparent;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

body a.link-immagini:hover,
body a.link-immagini:focus-visible {
    border-color: #fff;
    background-color: #fff;
    box-shadow: 0 6px 18px rgb(2 15 28 / 22%);
    color: #020f1c;
    transform: translateY(-1px);
}

body a.link-immagini:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

@media (max-width: 767px) {
    a.link-immagini {
        max-width: calc(100% - 12px);
        min-height: 40px;
        padding: 10px 18px;
        font-size: 14px;
    }
}

/* Posizione del controllo flottante Iubenda. */
.floatable-wrapper {
    left: 20px !important;
}

/* Evidenziazioni tipografiche condivise tra pagine e footer. */
.focus-title {
    font-weight: 900;
}

/* Colore delle icone SVG decorative del footer. */
.icon-footer .elementor-icon .cls-1 {
    stroke: #168aad;
}

/*
 * Archivio Progetti: un solo elenco server-side, filtri tassonomici reali e
 * paginazione AJAX. Tutte le regole sono isolate sotto classi pgw-project-*.
 */
.pgw-project-filters {
    width: 100%;
}

.pgw-project-filters__buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.pgw-project-filters .pgw-project-filter {
    appearance: none;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 5px 5px 0;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--e-global-color-primary, #020f1c);
    font-family: var(--e-global-typography-a170567-font-family, Inter), sans-serif;
    font-size: var(--e-global-typography-a170567-font-size, 20px);
    font-weight: var(--e-global-typography-a170567-font-weight, 700);
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    text-shadow: none;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 300ms ease;
}

.pgw-project-filters .pgw-project-filter.is-active {
    border-bottom-color: var(--e-global-color-primary, #020f1c);
    background: transparent;
    color: var(--e-global-color-primary, #020f1c);
}

.pgw-project-filters .pgw-project-filter:hover,
.pgw-project-filters .pgw-project-filter:focus {
    border-bottom-color: var(--e-global-color-text, #bacdd3);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--e-global-color-primary, #020f1c);
}

.pgw-project-filters .pgw-project-filter:focus-visible,
.pgw-projects-load-more:focus-visible,
.pgw-project-filters__select:focus-visible {
    outline: 2px solid var(--e-global-color-2ea5c7e, #188aad);
    outline-offset: 3px;
}

.pgw-project-filters .pgw-project-filter:disabled,
.pgw-project-filters__select:disabled {
    cursor: wait;
    opacity: 0.55;
}

.pgw-project-filters__select {
    display: none;
    width: 100%;
    min-height: 36px;
    padding: 5px 32px 5px 10px;
    border: 0;
    border-bottom: 1px solid var(--e-global-color-primary, #020f1c);
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
    color: var(--e-global-color-primary, #020f1c);
    font-family: var(--e-global-typography-accent-font-family, Inter), sans-serif;
    font-size: var(--e-global-typography-accent-font-size, 16px);
    font-weight: var(--e-global-typography-accent-font-weight, 700);
    text-transform: uppercase;
}

.pgw-project-filters__select:hover,
.pgw-project-filters__select:focus {
    border-color: var(--e-global-color-primary, #020f1c);
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
    color: var(--e-global-color-primary, #020f1c);
}

.pgw-projects-browser {
    width: 100%;
}

.pgw-projects-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    transition: opacity 180ms ease;
}

.pgw-projects-browser.has-masonry .pgw-projects-grid {
    position: relative;
    display: block;
}

.pgw-projects-browser.is-loading .pgw-projects-grid {
    opacity: 0.45;
}

.pgw-project-card {
    min-width: 0;
    overflow: hidden;
    background: #0f1e2d;
}

.pgw-projects-browser.has-masonry .pgw-project-card {
    position: absolute;
}

.pgw-project-card__link {
    position: relative;
    display: block;
    overflow: hidden;
    color: #fff;
}

.pgw-projects-browser.has-masonry .pgw-project-card__link {
    height: 100%;
}

.pgw-project-card__media {
    display: block;
}

.pgw-projects-browser.has-masonry .pgw-project-card__media {
    position: absolute;
    inset: 0;
}

.pgw-project-card__image {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 450ms cubic-bezier(0.2, 0.65, 0.3, 1);
}

.pgw-projects-browser.has-masonry .pgw-project-card__image {
    height: 100%;
    object-fit: cover;
}

.pgw-project-card__placeholder {
    display: block;
    aspect-ratio: 1.45 / 1;
    background: linear-gradient(135deg, #0f1e2d, #168aad);
}

.pgw-projects-browser.has-masonry .pgw-project-card__placeholder {
    position: absolute;
    inset: 0;
}

.pgw-project-card__overlay {
    position: absolute;
    inset: 0;
    background: #000;
    opacity: 0;
    transition: opacity 300ms ease;
}

.pgw-project-card__title {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 300ms ease;
}

.pgw-project-card__link:hover .pgw-project-card__image,
.pgw-project-card__link:focus-visible .pgw-project-card__image {
    transform: scale(1.035);
}

.pgw-project-card__link:hover .pgw-project-card__overlay,
.pgw-project-card__link:focus-visible .pgw-project-card__overlay {
    opacity: 0.7;
}

.pgw-project-card__link:hover .pgw-project-card__title,
.pgw-project-card__link:focus-visible .pgw-project-card__title {
    opacity: 1;
}

.pgw-project-card__link:focus-visible {
    outline: 3px solid #168aad;
    outline-offset: -3px;
}

.pgw-projects-actions {
    display: flex;
    justify-content: center;
    padding-top: 32px;
}

.pgw-projects-load-more {
    min-width: 0;
    padding: 12px 24px;
    border: 3px solid #020f1c;
    border-radius: 20px;
    background: #fff;
    color: #020f1c;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 16px;
    text-transform: none;
    cursor: pointer;
    transition: 300ms;
}

.pgw-projects-load-more:hover {
    background: #020f1c;
    border-color: #fff;
    color: #fff;
}

.pgw-projects-load-more:disabled {
    cursor: wait;
    opacity: 0.6;
}

.pgw-projects-load-more[hidden] {
    display: none;
}

@media (max-width: 1024px) {
    .pgw-project-filters__buttons {
        display: none;
    }

    .pgw-project-filters__select {
        display: block;
    }

    .pgw-projects-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .pgw-projects-grid {
        gap: 6px;
    }

    .pgw-projects-actions {
        padding-top: 24px;
    }
}

@media (hover: none), (pointer: coarse) {
    .pgw-project-card__overlay {
        opacity: 0.42;
    }

    .pgw-project-card__title {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pgw-project-card__image,
    .pgw-project-card__overlay,
    .pgw-project-card__title,
    .pgw-projects-grid {
        transition: none;
    }
}

/*
 * Homepage: griglia unica Business Areas.
 * Desktop conserva il reveal originale; tablet e touch mostrano il contenuto
 * senza richiedere hover o un doppio tap.
 */
.pgw-business-areas-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    scroll-margin-top: 90px;
    background: #020f1c;
}

.pgw-business-card {
    min-width: 0;
    overflow: hidden;
    background: var(--pgw-business-color);
}

.pgw-business-card__link {
    position: relative;
    display: block;
    height: 400px;
    overflow: hidden;
    color: var(--pgw-business-text-color, #fff);
    text-decoration: none;
}

.pgw-business-card__media,
.pgw-business-card__overlay,
.pgw-business-card__content {
    position: absolute;
    inset: 0;
}

.pgw-business-card__media {
    display: block;
    overflow: hidden;
}

.pgw-business-card__media .pgw-business-card__image {
    display: block;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: var(--pgw-business-position);
    transition: transform 500ms ease;
}

.pgw-business-card__overlay {
    z-index: 1;
    display: block;
    background: var(--pgw-business-color);
    opacity: 0;
    transition: opacity 1s ease;
}

.pgw-business-card__content {
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: 30px;
    color: var(--pgw-business-text-color, #fff);
    text-align: center;
    opacity: 0;
    transform: translateY(18px) scaleY(0.94);
    transform-origin: bottom;
    transition: opacity 500ms ease, transform 500ms ease;
}

.pgw-business-card__description {
    display: block;
    font-family: Inter, sans-serif;
    font-size: 22px;
    font-weight: 300;
    line-height: 1.2;
}

.pgw-business-card__description p {
    margin: 0;
}

.pgw-business-card__button {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 30px;
    border: 1px solid currentColor;
    border-radius: 20px;
    color: var(--pgw-business-text-color, #fff);
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

.pgw-business-card__link:hover,
.pgw-business-card__link:focus,
.pgw-business-card__link:focus-visible {
    color: var(--pgw-business-text-color, #fff);
}

.pgw-business-card__link:hover .pgw-business-card__overlay,
.pgw-business-card__link:focus .pgw-business-card__overlay,
.pgw-business-card__link:focus-visible .pgw-business-card__overlay {
    opacity: var(--pgw-business-opacity);
}

.pgw-business-card__link:hover .pgw-business-card__content,
.pgw-business-card__link:focus .pgw-business-card__content,
.pgw-business-card__link:focus-visible .pgw-business-card__content {
    opacity: 1;
    transform: translateY(0) scaleY(1);
}

.pgw-business-card__link:hover .pgw-business-card__image,
.pgw-business-card__link:focus-visible .pgw-business-card__image {
    transform: scale(1.025);
}

.pgw-business-card__link:focus-visible {
    outline: 3px solid var(--pgw-business-text-color, #fff);
    outline-offset: -5px;
}

@media (max-width: 1024px), (hover: none), (pointer: coarse) {
    .pgw-business-areas-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pgw-business-card {
        display: flex;
    }

    .pgw-business-card__link {
        display: flex;
        flex: 1;
        flex-direction: column;
        height: auto;
        background: var(--pgw-business-color);
    }

    .pgw-business-card__media,
    .pgw-business-card__content {
        position: relative;
        inset: auto;
    }

    .pgw-business-card__media {
        aspect-ratio: 800 / 565;
        flex: 0 0 auto;
    }

    .pgw-business-card__overlay {
        display: none;
    }

    .pgw-business-card__content {
        flex: 1;
        align-items: flex-start;
        justify-content: space-between;
        padding: 16px;
        text-align: left;
        opacity: 1;
        transform: none;
    }

    .pgw-business-card__description {
        font-size: 16px;
    }

    .pgw-business-card__button {
        margin-top: 12px;
        padding: 9px 18px;
    }

    .pgw-business-card__link:hover .pgw-business-card__image,
    .pgw-business-card__link:focus-visible .pgw-business-card__image {
        transform: none;
    }
}

@media (max-width: 767px) {
    .pgw-business-areas-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .pgw-business-card__content {
        padding: 12px;
    }

    .pgw-business-card__description {
        font-size: 14px;
        line-height: 1.25;
    }

    .pgw-business-card__button {
        margin-top: 9px;
        padding: 8px 12px;
        font-size: 14px;
    }
}

/*
 * Homepage: un solo Loop per lo Storyboard.
 * Su desktop e tablet restano visibili i tre articoli originali; su mobile
 * le sei card della stessa query diventano uno scroller nativo accessibile.
 */
@media (min-width: 768px) {
    .pgw-storyboard-loop .elementor-loop-container > .e-loop-item:nth-of-type(n + 4) {
        display: none !important;
    }
}

.pgw-storyboard-navigation {
    display: none;
}

@media (max-width: 767px) {
    .pgw-storyboard-loop .elementor-loop-container {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 0 !important;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .pgw-storyboard-loop .elementor-loop-container::-webkit-scrollbar {
        display: none;
    }

    .pgw-storyboard-loop .elementor-loop-container > .e-loop-item {
        display: block !important;
        flex: 0 0 100%;
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .pgw-storyboard-loop .elementor-loop-container:focus-visible {
        outline: 2px solid #02111e;
        outline-offset: 4px;
    }

    .pgw-storyboard-navigation {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin: 18px 0 0;
    }

    .pgw-storyboard-navigation[hidden] {
        display: none;
    }

    .pgw-storyboard-dot {
        width: 6px;
        height: 6px;
        min-width: 6px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: rgba(2, 17, 30, 0.20);
        cursor: pointer;
        transition: background-color 180ms ease, transform 180ms ease;
    }

    .pgw-storyboard-dot[aria-current="true"] {
        background: #02111e;
        transform: scale(1.15);
    }

    .pgw-storyboard-dot:focus-visible {
        outline: 2px solid #02111e;
        outline-offset: 4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pgw-business-card__image,
    .pgw-business-card__overlay,
    .pgw-business-card__content {
        transition: none;
    }

    .pgw-storyboard-loop .elementor-loop-container {
        scroll-behavior: auto;
    }

    .pgw-storyboard-dot {
        transition: none;
    }
}

/*
 * Homepage: testimonianze senza Swiper.
 * Nove recensioni reali, tre visibili su desktop e una su tablet/mobile,
 * scorrimento nativo con snap e navigazione accessibile.
 */
.pgw-testimonials-loop .elementor-loop-container {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: stretch;
    gap: 10px !important;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.pgw-testimonials-loop .elementor-loop-container::-webkit-scrollbar {
    display: none;
}

.pgw-testimonials-loop .elementor-loop-container > .e-loop-item {
    display: block !important;
    flex: 0 0 calc((100% - 20px) / 3);
    width: calc((100% - 20px) / 3);
    min-width: calc((100% - 20px) / 3);
    max-width: calc((100% - 20px) / 3);
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.pgw-testimonials-loop .elementor-loop-container > .e-loop-item >
.elementor-element-f2eb2e1 {
    position: relative;
    z-index: 1;
    height: 100%;
}

.pgw-testimonials-loop .elementor-element-f2eb2e1::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        url("../../uploads/Recensioni_down.png")
        bottom left / 18% auto no-repeat;
    opacity: 0.15;
}

.pgw-testimonials-loop
.elementor-loop-container > .e-loop-item:nth-of-type(odd)
.elementor-element-f2eb2e1::after {
    display: none;
}

.pgw-testimonials-loop
.elementor-loop-container > .e-loop-item:nth-of-type(even)
.elementor-element-f2eb2e1::before {
    display: none;
}

.pgw-testimonials-loop .elementor-loop-container:focus-visible {
    outline: 2px solid #02111e;
    outline-offset: 4px;
}

.pgw-testimonials-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 20px 0 0;
}

.pgw-testimonials-dot {
    width: 6px;
    height: 6px;
    min-width: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgb(2 17 30 / 20%);
    cursor: pointer;
    transition: background-color 180ms ease, transform 180ms ease;
}

.pgw-testimonials-dot[aria-current="true"] {
    background: #02111e;
    transform: scale(1.15);
}

.pgw-testimonials-dot:focus-visible {
    outline: 2px solid #02111e;
    outline-offset: 4px;
}

@media (max-width: 1024px) {
    .pgw-testimonials-loop .elementor-loop-container > .e-loop-item {
        flex-basis: 100%;
        width: 100%;
        min-width: 100%;
        max-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pgw-testimonials-loop .elementor-loop-container {
        scroll-behavior: auto;
    }

    .pgw-testimonials-dot {
        transition: none;
    }
}

/*
 * Accessibilità WCAG 2.2: i pallini mantengono il segno grafico da 6 px,
 * ma espongono un'area interattiva reale di almeno 24 × 24 px.
 */
.pgw-storyboard-dot,
.pgw-testimonials-dot {
    position: relative;
    width: 24px;
    height: 24px;
    min-width: 24px;
    background: transparent;
    transform: none;
}

.pgw-storyboard-dot::before,
.pgw-testimonials-dot::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgb(2 17 30 / 20%);
    content: "";
    transform: translate(-50%, -50%);
    transition: background-color 180ms ease, transform 180ms ease;
}

.pgw-storyboard-dot[aria-current="true"],
.pgw-testimonials-dot[aria-current="true"] {
    background: transparent;
    transform: none;
}

.pgw-storyboard-dot[aria-current="true"]::before,
.pgw-testimonials-dot[aria-current="true"]::before {
    background: #02111e;
    transform: translate(-50%, -50%) scale(1.15);
}

.elementor-icon-list-item > a[href^="mailto:"],
.elementor-icon-list-item > a[href^="tel:"] {
    min-height: 24px;
}

.elementor-field-type-acceptance input[type="checkbox"].elementor-acceptance-field {
    position: relative;
    z-index: 2;
    width: 24px !important;
    min-width: 24px;
    height: 24px !important;
    margin-right: 8px;
    vertical-align: middle;
}

/* Contrasti misurati sulle combinazioni effettivamente usate nei contenuti. */
.page-id-4831 .uc_icon_carousel_content p {
    color: #767676 !important;
}

.page-id-4831 .elementor-element-5398117,
.page-id-4831 .elementor-element-022c599,
.page-id-8311 .elementor-element-c55d6e5,
.single-progetti .elementor-element-437089a {
    background-color: #587789 !important;
}

.single-post .elementor-widget-theme-post-content a:not(.elementor-button),
.page-id-16900 .elementor-widget-text-editor a:not(.elementor-button) {
    color: #147795;
}

.pgw26-local-form-notice {
    position: relative;
    display: block;
    margin: 0 0 12px;
    color: #fff;
}

@media (prefers-reduced-motion: reduce) {
    .pgw-storyboard-dot::before,
    .pgw-testimonials-dot::before {
        transition: none;
    }
}


/*
 * Homepage: correzioni per il layout tablet.
 * Il carosello Unlimited Elements manda gli ultimi cloni su una seconda riga
 * tra 768 e 1024px. Manteniamo il posizionamento calcolato dal widget e
 * limitiamo la finestra visibile alla sola riga principale.
 */
@media (min-width: 768px) and (max-width: 1024px) {
    body.home #uc_justified_image_carousel_elementor_c299cd1 .owl-stage {
        display: block;
        height: 400px !important;
    }

    body.home #uc_justified_image_carousel_elementor_c299cd1 .owl-stage-outer {
        height: 400px !important;
    }

    body.home #uc_justified_image_carousel_elementor_c299cd1 .owl-item {
        flex: none;
        float: left;
    }
}

/* Due colonne danno respiro a testi e CTA sui tablet in verticale. */
@media (min-width: 768px) and (max-width: 900px) {
    body.home .pgw-business-areas-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Il suffisso e' gia incluso nel titolo dinamico della card. */
.elementor-17736 .elementor-element.elementor-element-9bd4257 {
    display: none !important;
}


/*
 * Il reset globale dei pulsanti colora di rosso lo sfondo in hover/focus.
 * Sulle testimonianze resta trasparente l'area interattiva e cambia colore
 * soltanto il pallino visibile, usando l'azzurro del sito.
 */
.pgw-testimonials-navigation .pgw-testimonials-dot:hover,
.pgw-testimonials-navigation .pgw-testimonials-dot:focus,
.pgw-testimonials-navigation .pgw-testimonials-dot:focus-visible {
    background-color: transparent;
    color: inherit;
}

.pgw-testimonials-navigation .pgw-testimonials-dot:hover::before,
.pgw-testimonials-navigation .pgw-testimonials-dot:focus-visible::before {
    background: var(--e-global-color-2ea5c7e, #188aad);
}

.pgw-testimonials-navigation .pgw-testimonials-dot:focus-visible {
    outline-color: var(--e-global-color-2ea5c7e, #188aad);
}
