/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Description: Astra Child Theme - PF Group
Version: 1.0.0
*/

@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Manrope:wght@200..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Manrope:wght@200..800&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
body {
    font-family: "Manrope", sans-serif;
}


/* ============================================================
   HEADER COMPATTA + LOGO CHE SBORDA SULL'IMMAGINE
   ============================================================ */

/* Riduci il padding verticale della barra header */
.ast-primary-header-bar .site-primary-header-wrap,
.main-header-bar {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.site-primary-header-wrap{
    background-color: #fafbff!important;
}

/* Altezza dell'header (abbassa/alza questo valore) */
.ast-primary-header-bar {
    min-height: 80px;
}

/* L'header non deve coprire l'immagine sotto */
header,
.site-header {
    position: relative;
}

/* Logo: dimensione controllata + proporzioni corrette (no schiacciamento) */
.site-logo-img .custom-logo {
    max-height: 70px !important;   /* dimensione logo */
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

.site-logo-img .custom-logo {
    max-height: 120px !important;   /* logo più grande - regola questo */
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Fa "scendere" il logo sopra l'immagine senza allungare l'header */
.ast-site-identity {
    position: relative;
    z-index: 999;
    margin-bottom: -25px;   /* quanto il logo sborda sotto - regola questo */
}

/* Eventuale immagine in cima al contenuto, sotto l'header */
.first-image img {
    position: relative;
    z-index: 1;
    top: -40px;   /* la fa risalire verso l'header senza coprirlo */
}


/* ============================================================
   MENU PRIMARIO (DESKTOP)
   ============================================================ */

/* UPPERCASE su tutte le voci del menu primario */
.main-header-menu .menu-item > a,
#primary-menu .menu-item > a {
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

/* Sottolineatura gialla sulla voce attiva / hover / focus */
.main-header-menu .current-menu-item > a,
.main-header-menu .menu-item > a:hover,
.main-header-menu .menu-item > a:focus {
    position: relative;
}
.main-header-menu .current-menu-item > a::after,
.main-header-menu .menu-item > a:hover::after,
.main-header-menu .menu-item > a:focus::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 15px;
    height: 3px;
    background: #c9dd02;
    border-radius: 2px;
}


/* ============================================================
   BOTTONE "CONTATTACI SU" + ICONE SOCIAL
   ============================================================ */

/* Bottone "Contattaci su" */
.menu-contattaci > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent linear-gradient(259deg, #27D366 0%, #149844 100%) 0% 0% no-repeat padding-box;
    color: #fff !important;
    padding: 10px 18px;
    border-radius: 30px;
    font-weight: 600;
    line-height: 1;
    transition: background .2s ease;
    text-transform: none !important;
}
.menu-contattaci > a:hover {
    background: #169c46;
}
.menu-contattaci > a img {
    width: 20px;
    height: 20px;
}

/* Stacco tra il blocco menu e il bottone "Contattaci" */
.menu-contattaci {
    margin-left: 200px;   /* aumenta/diminuisci per regolare lo stacco */
}

/* Gruppo icone social - in fila */
.menu-social {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 12px;
    padding-left: 14px;
}
.menu-social > a {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
}
.menu-social img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    display: block;
}

/* Allinea bottone + social verticalmente */
.menu-contattaci,
.menu-social {
    display: inline-flex;
    align-items: center;
}

/* MAI sottolineatura gialla su "Contattaci" e social */
.menu-contattaci > a::after,
.menu-contattaci > a:hover::after,
.menu-contattaci > a:focus::after,
.menu-social > a::after,
.menu-social > a:hover::after,
.menu-social > a:focus::after {
    content: none !important;
    display: none !important;
}

/* Niente underline classico su Contattaci e social */
.menu-contattaci > a,
.menu-contattaci > a:hover,
.menu-contattaci > a:focus,
.menu-social > a,
.menu-social > a:hover,
.menu-social > a:focus {
    text-decoration: none !important;
}

.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link, .ast-builder-menu-1 .menu-item.current-menu-item > .menu-link:hover {
    color:#3c27e7;
}

/* Colore voci di menu in hover */
.main-header-menu .menu-item > a:hover,
.main-header-menu .menu-item > a:focus,
#primary-menu .menu-item > a:hover,
#primary-menu .menu-item > a:focus {
    color: #3c27e7 !important;
}

.pf-group {
    display: inline-block !important;
    width: auto !important;
    max-width: max-content;
    color: #3C27E7;
    background: #dedefd;
    border-radius: 25px 26px 26px 26px;
    padding: 4px 14px;
    font-size: 12px;
    font-weight: bold;
}

.title-slider {
    display: inline-block !important;
    width: auto !important;
    max-width: max-content;
    color: #3C27E7;
    background: #dedefd;
    border-radius: 25px 26px 26px 26px;
    padding: 4px 14px;
}

.wp-block-uagb-icon-list.uagb-block-ae20e1ac .uagb-icon-list__source-image {
  width: 25px;
}

.wp-block-uagb-icon-list.uagb-block-d541d027 .uagb-icon-list__source-image {
  width: 25px;
}

.titolo-slider {
    background-color: #3C27E7 !important;
    display: inline-block !important;
    width: auto !important;
    max-width: max-content !important;
    padding: 4px 10px;
    font-size:3em;
    color:#fff;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.sotto-titolo-slider{
    font-family: "Poppins", sans-serif;
    font-size:1.7em!important;
    font-weight:bold;
}

.bottone-slider a { /* sostituisci col selettore reale */
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px; /* spazio tra testo e freccia */
    font-weight:bold!important;
}

.bottone-slider a::after {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url("/wp-content/uploads/2026/06/arrow-down-right.svg");
    background-size: contain;
    background-repeat: no-repeat;
    font-size: 1.3em;
}

.wpcf7 .wpcf7-submit,
form.wpcf7-form input.wpcf7-submit,
form.wpcf7-form button.wpcf7-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: bold !important;
    color: #062d55 !important;
    padding-right: 40px !important;
    background: #c9dd00 url("/wp-content/uploads/2026/06/arrow-down-right.svg") no-repeat right 12px center !important;
    background-size: 20px 20px !important;
}

.wpcf7 .wpcf7-submit:hover,
.wpcf7 .wpcf7-submit:focus,
.wpcf7 .wpcf7-submit:active {
    color: #062d55 !important;
}

.wpcf7-submit::after {
    content: ""!important;
    width: 20px!important;
    height: 20px!important;
    background-image: url("/wp-content/uploads/2026/06/arrow-down-right.svg")!important;
    background-size: contain!important;
    background-repeat: no-repeat!important;
    font-size: 1.3em!important;
}

.info-box {
    position: relative;
    width: 250px;
    height: 250px;
    background-color: #eef0fb;       /* lilla chiaro come nello screenshot */
    border-radius: 24px;
    overflow: hidden;                 /* il cerchio espanso non esce dal blocco */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    cursor: pointer;
    text-align: center;
}

/* Il cerchio blu: agganciato al contenitore dell'icona, sempre centrato */
.info-box .icona::before {
    content: "";
    position: absolute;
    inset: 0;                         /* riempie esattamente il contenitore */
    background-color: #3b1fd4;        /* blu del cerchio */
    border-radius: 50%;
    transition: transform 0.5s ease;
    z-index: 0;
}

.info-box:hover .icona::before {
    transform: scale(6);              /* abbastanza da coprire tutto il blocco */
}

/* Icona sopra il cerchio */
.info-box .icona {
    position: relative;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.info-box .icona img,
.info-box .icona svg {
    position: relative;
    z-index: 1;                       /* sopra il cerchio */
    width: 50px;
    height: 50px;
    object-fit: contain;
}

/* Titolo */
.info-box .titolo {
    position: relative;
    z-index: 1;
    color: #2417a8;
    font-weight: 600;
    font-size: 20px;
    margin: 0;
    transition: color 0.4s ease;
}

.info-box:hover .titolo {
    color: #ffffff;
}

/* Solo il comportamento di comparsa/scomparsa nella card */
.info-box .scopri {
    position: relative;
    z-index: 1;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s ease 0.15s, transform 0.4s ease 0.15s;
}

.info-box:hover .scopri {
    opacity: 1;
    transform: translateY(0);
}

a.bottone-info-box { /* sostituisci col selettore reale */
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px; /* spazio tra testo e freccia */
    font-weight:bold!important;
    background-color: #C9DD00;
    font-weight:bold;
    color:#000;
    padding: 6px 15px;
    border-radius: 20px;
    text-decoration: none;
}

a.bottone-info-box::after {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url("/wp-content/uploads/2026/06/arrow-down-right.svg");
    background-size: contain;
    background-repeat: no-repeat;
    font-size: 1.3em;
}

.bottone-info-box-scopri a{ 
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px; /* spazio tra testo e freccia */
    font-weight:bold!important;
    border:2px solid #C9DD00!important;
    background-color: transparent!important;
    font-weight:bold;
    color:#000!important;
    padding: 6px 15px;
    border-radius: 10px;
    text-decoration: none;
}

.bottone-info-box-scopri a::after {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url("/wp-content/uploads/2026/06/arrow-down-right@2x.png");
    background-size: contain;
    background-repeat: no-repeat;
    font-size: 1.3em;
}

.bottone-info-box-scopri a:hover {
    background-color: #C9DD00 !important;
}

.bottone-info-box-scopri a:hover::after {
    background-image: url("/wp-content/uploads/2026/06/arrow-down-right.svg");
}

.card-servizio {
    position: relative;
    width: 90%;
    border-radius: 24px;
    overflow: hidden;
    cursor: pointer;
    background: #ffffff;
    margin:0 auto;
}

/* Immagine in alto */
.card-servizio .immagine {
    position: relative;
    height: 280px;
    overflow: hidden;
}

.card-servizio .immagine img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Pannello bianco sovrapposto all'immagine */
.card-servizio .contenuto {
    position: relative;
    margin-top: -40px;               /* sale sopra l'immagine */
    background: #ffffff;
    border-radius: 24px 24px 0 0;
    padding: 36px 32px 32px;
    text-align: center;
}

/* Titolo: visibile di base, scompare in hover */
.card-servizio .titolo {
    color: #2417a8;
    font-weight: 700;
    font-size: 22px;
    margin: 0;
    max-height: 60px;
    opacity: 1;
    transform: translateY(0);
    overflow: hidden;
    transition: max-height 0.4s ease,
                opacity 0.3s ease,
                transform 0.4s ease,
                margin 0.4s ease;
}

.card-servizio:hover .titolo {
    max-height: 0;
    opacity: 0;
    transform: translateY(-15px);    /* scivola verso l'alto */
    margin: 0;
}

/* Riga divisoria lime */
.card-servizio .divisore {
    width: 250px;
    height: 3px;
    background: #C9DD00;
    border: none;
    border-radius: 2px;
    margin: 18px auto;
}

/* Descrizione */
.card-servizio .descrizione {
    color: #555;
    font-size: 20px;
    line-height: 1.5;
    margin: 0;
}

/* Bottone: nascosto di base, esce da sotto in hover */
.card-servizio .scopri {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #C9DD00;
    color: #1a1a2e;
    border-radius: 10px;
    padding: 12px 26px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    font-family: inherit;

    max-height: 0;
    opacity: 0;
    transform: translateY(20px);     /* parte da sotto */
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    transition: max-height 0.4s ease,
                opacity 0.3s ease 0.1s,
                transform 0.4s ease 0.1s,
                padding 0.4s ease,
                margin 0.4s ease;
}

.card-servizio:hover .scopri {
    max-height: 60px;
    opacity: 1;
    transform: translateY(0);
    padding-top: 12px;
    padding-bottom: 12px;
    margin-top: 24px;
}

.blocco-sedi {
    max-width: 1200px;
    margin: 0 auto;
}

/* ========== MAPPA ========== */
#mappa-sedi {
    width: 100%;
    height: 440px;
    border-radius: 24px;
    z-index: 1; /* evita conflitti con menu del tema */
}

/* Pin personalizzato: cerchio blu con alone + immagine */
.pin-sede {
    background: transparent;
    border: none;
}

.pin-sede .pin-cerchio {
    width: 46px;
    height: 46px;
    background: #3b1fd4;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 8px rgba(59, 31, 212, 0.25); /* alone */
}

.pin-sede .pin-cerchio img {
    width: 75px;
    height: 75px;
    object-fit: contain;
}

/* Controlli zoom in stile scuro come nello screenshot */
.leaflet-control-zoom a {
    background: #0d2240 !important;
    color: #ffffff !important;
    border: none !important;
    font-weight: bold;
}
.leaflet-control-zoom a:hover {
    background: #16335e !important;
}

/* Popup */
.leaflet-popup-content {
    font-family: inherit;
    font-weight: 600;
    color: #2417a8;
}

/* ========== CARDS SEDI ========== */
.griglia-sedi {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 28px;
}

.card-sede {
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid #eceefb;
}

.card-sede .corpo {
    padding: 20px;
    flex: 1;
}

/* Riga alta: icona negozio + telefono */
.card-sede .testata {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 38px;
}

.card-sede .icona-negozio {
    width: 52px;
    height: 52px;
    background: #eef0fb;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3b1fd4;
}

.card-sede .icona-negozio svg {
    width: 28px;
    height: 28px;
}

.card-sede .telefono {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #C9DD00;
    color: #1a1a2e;
    font-weight: 700;
    font-size: 14px;
    padding: 7px 14px;
    border-radius: 50px;
    text-decoration: none;
    white-space: nowrap;
}

.card-sede .telefono svg {
    width: 14px;
    height: 14px;
}

/* Nome + indirizzo con barra lime a sinistra */
.card-sede .intestazione {
    border-left: 3px solid #C9DD00;
    padding-left: 12px;
    margin-bottom: 16px;
}

.card-sede .nome {
    color: #2417a8;
    font-size: 19px;
    font-weight: 700;
    margin: 0 0 4px;
}

.card-sede .indirizzo {
    color: #1a1a2e;
    font-size: 14px;
    margin: 0;
}

/* Orari */
.card-sede .orari {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #e7e3fb;
    color: #2417a8;
    font-weight: 700;
    font-size: 13.5px;
    padding: 7px 12px;
    border-radius: 8px;
}

.card-sede .orari svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

/* Footer giorni */
.card-sede .giorni {
    background: #eef0fb;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 7px;
}

.card-sede .giorni .icona-cal {
    width: 30px;
    height: 30px;
    border: 2px solid #3b1fd4;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3b1fd4;
    flex-shrink: 0;
    margin-right: 2px;
}

.card-sede .giorni .icona-cal svg {
    width: 14px;
    height: 14px;
}

.card-sede .giorno {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #3b1fd4;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-sede .giorno.chiuso {
    background: #c4c6d4;
}

/* Gallery loghi partner - dimensioni uniformi e centrate */
.blocco-loghi .wp-block-image,
.blocco-loghi figure {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 120px;          /* altezza uniforme del box */
}

.blocco-loghi img {
    max-height: 50px;       /* tutti i loghi entro la stessa altezza */
    width: auto;
    max-width: 100%;
    object-fit: contain;    /* mantiene le proporzioni senza deformare */
    margin: 0 auto;
}

    .footer-copy {
        background: #ffffff;
        color: #1a1a2e;
        padding: 22px 60px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 12px;
        font-size: 14px;
    }

    .footer-copy a {
        color: #2417a8;
        text-decoration: none;
        font-weight: 600;
    }

    .footer-copy a:hover { text-decoration: underline; }

    .footer-copy .privacy {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-weight: 700;
        color: #1a1a2e;
        text-transform: uppercase;
        font-size: 13px;
    }

    .footer-copy .privacy svg {
        width: 13px;
        height: 13px;
    }

.pf-hero{
  position:relative;
  overflow:hidden;
  background: linear-gradient(135deg,#3C27E7 0%,#2A21B8 45%,#1E2A6E 100%);
  padding:60px 20px;
  text-align:center;
}


.pf-hero::after {
  content: '';
  position: absolute;
  right: 20px;
  bottom: 13px;
  width: 120px;
  height: 120px;
  background: url('/wp-content/uploads/2026/06/Raggruppa-11846@2x.png') no-repeat center bottom;
  background-size: auto;
  background-size: contain;
  opacity: .1;
  pointer-events: none;
}
.pf-hero h1{color:#fff;font-size:2.75rem;font-weight:600;margin:0 0 28px;position:relative;z-index:1;}
.pf-breadcrumbs{display:inline-flex;align-items:center;gap:10px;background:#C4D600;color:#1E2A6E;padding:12px 28px;border-radius:999px;font-size:.95rem;line-height:1;position:relative;z-index:1;}
.pf-breadcrumbs a{color:#1E2A6E;text-decoration:none;}
.pf-breadcrumbs a:hover{text-decoration:underline;}
.pf-breadcrumbs .pf-bc-current{font-weight:700;}
.pf-breadcrumbs .pf-bc-sep{font-weight:700;}

.joinchat__button {
  position: absolute;
  z-index: 2;
  bottom: 8px;
  right: 8px;
  height: var(--s);
  width: var(--s);
  background: #25d366 var(--joinchat-ico) 50%/60% no-repeat;
  color: inherit;
  border-radius: 50%;
  box-shadow: 1px 6px 24px 0 rgba(7,94,84,.24);
  cursor: pointer;
  transition: background-color .2s linear;
  top: -120px;
}

.pf-mobile-social{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    padding:24px 16px;
    border-top:1px solid rgba(0,0,0,.1);
    margin-top:12px;
}
.pf-mobile-social a img{
    width:28px;
    height:28px;
    object-fit:contain;
}

.grecaptcha-badge{
    display: none!important;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 992px) {
    .griglia-sedi {
        grid-template-columns: repeat(2, 1fr);
    }
    .blocco-loghi .wp-block-image,
    .blocco-loghi figure {
        height: 100px;
    }
    .blocco-loghi img {
        max-height: 60px;
    }
    .info-box{
        width: 80%;
        margin: 0 auto;
    }
}

@media (max-width: 576px) {
    .voci-elenco{
        position: relative!important;
        bottom: 45px!important;
    }
    .title-large{
        padding-left:20px!important;
        padding-right:20px!important;
    }
    .titolo-slider{
        font-size:0.6em!important;
    }

    .sotto-titolo-slider{
        font-size:0.6em!important;
    }
    
    .info-box{
        margin:0 auto!important;
    }

    .blocco-loghi .wp-block-image,
    .blocco-loghi figure {
        height: 80px;
    }
    .blocco-loghi img {
        max-height: 48px;
    }

    body { padding: 14px; }

    #mappa-sedi {
        height: 320px;
        border-radius: 16px;
    }

    .griglia-sedi {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 20px;
    }

    .card-sede .testata {
        margin-bottom: 24px;
    }
    .info-box {
        width: 100%;
        height: auto;
        aspect-ratio: 1;          /* resta quadrato */
    }

    .info-box .icona {
        width: 84px;
        height: 84px;
        margin-bottom: 10px;
    }

    .info-box .icona img,
    .info-box .icona svg {
        width: 50px;
        height: 50px;
    }

    .info-box .titolo {
        font-size: 18px;
    }

    /* niente hover su touch: bottone sempre visibile
       e il blocco resta col cerchio blu piccolo */
    .info-box .scopri {
        opacity: 1;
        transform: none;
    }

 .card-servizio .immagine {
        height: 180px;
    }

    .card-servizio .contenuto {
        margin-top: -30px;
        padding: 26px 20px 24px;
    }

    /* Titolo sempre visibile */
    .card-servizio .titolo {
        font-size: 18px;
        max-height: none !important;
        opacity: 1 !important;
        transform: none !important;
        margin: 0 0 4px !important;
    }

    .card-servizio .divisore {
        width: 180px;
        margin: 14px auto;
    }

    .card-servizio .descrizione {
        font-size: 15px;
    }

    /* Bottone sempre visibile e cliccabile */
    .card-servizio .scopri.bottone-info-box {
        max-height: none !important;
        opacity: 1 !important;
        transform: none !important;
        overflow: visible !important;
        padding: 10px 22px !important;   /* ripristina il padding azzerato */
        margin-top: 20px !important;
        font-size: 15px;
    }

}


@media (max-width: 768px) {
    .spedizione-ritiro-list, .gestisci-servizi{
        padding:0px!important;
    }
    .uagb-container-inner-blocks-wrap p{
        padding-left:10px!important;
        padding-right:10px!important;
    }
    .pf-lc-arrow {
        width: 45px!important;
        height: 45px!important;
    }
    .wp-block-heading{
        margin-left: 20px;
        text-align:left;
    }
    .wp-block-paragraph{
        padding:0px 20px;
    }
    .card-servizio {
        width: 100%;
        max-width: 560px;
    }

    .card-servizio .immagine {
        height: 220px;
    }

    .card-servizio .contenuto {
        padding: 30px 24px 26px;
    }

    .card-servizio .titolo {
        font-size: 20px;
    }

    .card-servizio .descrizione {
        font-size: 16px;
    }
}

/* ============================================================
   MOBILE (max-width: 921px)
   ============================================================ */
@media (max-width: 921px) {

    /* Header più bassa su mobile */
    .ast-primary-header-bar {
        min-height: 64px;
    }

    /* Logo più piccolo e sovrapposizione più contenuta */
    .site-logo-img .custom-logo {
        max-height: 90px !important;
        position: absolute;
        top: -32px;    
    }
    .ast-site-identity {
        margin-bottom: -15px;
    }

    /* NIENTE sottolineatura gialla nel menu mobile */
    .ast-mobile-header-content .menu-item > a::after,
    .ast-mobile-header-content .current-menu-item > a::after,
    #ast-mobile-header .menu-item > a::after,
    #ast-mobile-header .current-menu-item > a::after,
    .main-header-menu .menu-item > a::after,
    .main-header-menu .current-menu-item > a::after {
        content: none !important;
        display: none !important;
        background: none !important;
        height: 0 !important;
    }

    .contenuto{
        z-index:0!important;
    }

    /* Mantieni uppercase nel menu mobile */
    .ast-mobile-header-content .menu-item > a,
    #ast-mobile-header .menu-item > a {
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    /* Bottone "Contattaci su" a tutta larghezza, centrato */
    .menu-contattaci {
        margin-left: 0;
        width: 100%;
        text-align: center;
    }
    .menu-contattaci > a {
        justify-content: center;
        width: 100%;
        box-sizing: border-box;
        margin: 8px 0;
    }

    /* Icone social centrate, in fila */
    .menu-social {
        justify-content: center;
        width: 100%;
        padding: 8px 0 4px;
        gap: 18px;
    }
}

/* Spaziatura tra le voci di menu (li) - tutte le risoluzioni */
.main-header-menu,
#primary-site-navigation-desktop,
.ast-builder-menu-1 .main-navigation > ul {
    display: flex;
    gap: 18px;   /* distanza tra le voci - regola questo unico valore */
}

/* ============================================================
   TABLET / DESKTOP STRETTO (922px - 1200px)
   ============================================================ */
@media (min-width: 922px) and (max-width: 1360px) {

    .main-header-menu .menu-item > a,
    #primary-menu .menu-item > a {
        padding-left: 12px;    /* era 8px */
        padding-right: 12px;   /* era 8px */
        font-size: 15px;       /* era 14px */
        letter-spacing: 0.2px;
    }

    /* Forza tutto il contenuto del menu su UNA riga */
    .main-header-bar-navigation,
    .ast-builder-menu-1 .main-navigation > ul,
    #primary-menu {
        flex-wrap: nowrap !important;
        white-space: nowrap;
    }

    /* Riduci ancora lo stacco per far stare tutto in riga */
    .menu-contattaci {
        margin-left: 16px;
    }

    /* Comprimi ulteriormente le voci di menu */
    .main-header-menu .menu-item > a,
    #primary-menu .menu-item > a {
        padding-left: 8px;
        padding-right: 8px;
        font-size: 14px;
        letter-spacing: 0;
    }

    /* Bottone e social ancora più compatti */
    .menu-contattaci > a {
        padding: 7px 12px;
        font-size: 13px;
    }
    .menu-social {
        gap: 8px;
        padding-left: 8px;
    }
    .menu-social img {
        width: 18px;
        height: 18px;
    }
}

@media (min-width: 1201px) {
    .main-header-menu .menu-item > a,
    #primary-menu .menu-item > a {
        font-size: 17px;
        padding-left: 18px;
        padding-right: 18px;
        letter-spacing: 0.6px;
    }
}

@media (min-width: 922px) {
    .main-header-menu,
    #primary-site-navigation-desktop,
    .ast-builder-menu-1 .main-navigation > ul {
        display: flex;
        gap: 18px;
    }
}

@media (max-width: 921px) {
    #ast-mobile-header .main-header-menu,
    #ast-mobile-header .menu,
    #ast-mobile-header ul,
    .ast-mobile-header-content .menu,
    .ast-mobile-header-content ul {
        display: block !important;
    }
    #ast-mobile-header .menu-item,
    #ast-mobile-header li,
    .ast-mobile-header-content .menu-item,
    .ast-mobile-header-content li {
        order: 0 !important;
        float: none !important;
    }
}