/*!
Theme Name: Kadence Child
Template: kadence
Version: 1.0.9
Text Domain: kadence-child
*/

/* Theme customization starts here
-------------------------------------------------------------- */

/* ==========================================================================
   VARIABILI GLOBALI
   ========================================================================== */

:root {
    --primario: var(--global-palette1);
    --primario-trasparente: color-mix(in srgb, var(--global-palette1) 35%, transparent);
}


/* ==========================================================================
   TIPOGRAFIA — Scale fluida via clamp()
   Valori calibrati su viewport 320px–1440px
   ========================================================================== */

.single-content h1, .single-content h2, .single-content h3, .single-content h4, .single-content h5, .single-content h6 {
    margin: 0;
}

/* Heading — selettore unificato */
h1, .h1, .h1 > .gspb-dynamic-title-element, .h1.gspb_meta > *,
h2, .h2, .h2 > .gspb-dynamic-title-element, .h2.gspb_meta > *,
h3, .h3, .h3 > .gspb-dynamic-title-element, .h3.gspb_meta > *,
h4, .h4, .h4 > .gspb-dynamic-title-element, .h4.gspb_meta > *,
h5, .h5, .h5 > .gspb-dynamic-title-element, .h5.gspb_meta > *,
h6, .h6, .h6 > .gspb-dynamic-title-element, .h6.gspb_meta > * {
    font-weight: 600;
    margin: 0 !important; /* messo per il backend */
}

h1, .h1, .h1 > .gspb-dynamic-title-element, .h1.gspb_meta > * {
    font-size: clamp(30px, 0.9176rem + 3.1915vw, 60px);
}

h2, .h2, .h2 > .gspb-dynamic-title-element, .h2.gspb_meta > * {
    font-size: clamp(28px, 1.2074rem + 1.8085vw, 45px);
}

h3, .h3, .h3 > .gspb-dynamic-title-element, .h3.gspb_meta > * {
    font-size: clamp(26px, 1.3059rem + 1.0638vw, 36px);
}

h4, .h4, .h4 > .gspb-dynamic-title-element, .h4.gspb_meta > * {
    font-size: clamp(22px, 1.1835rem + 0.6383vw, 26px);
}

h5, .h5, .h5 > .gspb-dynamic-title-element, .h5.gspb_meta > * {
    font-size: clamp(18px, 1.0612rem + 0.2128vw, 20px);
}

h6, .h6, .h6 > .gspb-dynamic-title-element, .h6.gspb_meta > * {
    font-size: clamp(16px, 0.9362rem + 0.2128vw, 18px);
}

.medium {
    font-size: var(--wp--preset--font-size--medium)
}
.large {
    font-size: var(--wp--preset--font-size--large)
}
.has-text-align-center {
    text-align: center !important;
}

/* Pulsanti — base comune */
.wp-element-button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    border-radius: 99px;
    font-weight: 600;
    border: 2px solid var(--global-palette-btn-bg);
    padding: 8px 24px;
}

.wp-element-button.is-style-outline {
    background: transparent;
    color: var(--global-palette-btn-out, var(--global-palette-btn-bg));
    border-color: currentColor;
}

.wp-element-button.is-style-outline:hover {
    color: var(--global-palette-btn-out-hover, var(--global-palette-btn-bg-hover));
}

.gspb-buttonbox {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
}

/* Arrow SVG — variabile centralizzata */
:root {
    --arrow-svg: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.111 0.5625V10.3125C13.111 10.4617 13.0517 10.6048 12.9462 10.7102C12.8407 10.8157 12.6977 10.875 12.5485 10.875C12.3993 10.875 12.2562 10.8157 12.1507 10.7102C12.0452 10.6048 11.986 10.4617 11.986 10.3125V1.92L0.945969 12.96C0.839337 13.0594 0.698303 13.1135 0.552577 13.1109C0.406851 13.1083 0.267812 13.0493 0.164752 12.9462C0.0616926 12.8432 0.0026588 12.7041 8.76355e-05 12.5584C-0.00248353 12.4127 0.0516087 12.2716 0.150969 12.165L11.191 1.125H2.79847C2.64928 1.125 2.50621 1.06574 2.40072 0.960247C2.29523 0.854758 2.23597 0.711684 2.23597 0.5625C2.23597 0.413316 2.29523 0.270242 2.40072 0.164752C2.50621 0.0592632 2.64928 0 2.79847 0H12.5485C12.6977 0 12.8407 0.0592632 12.9462 0.164752C13.0517 0.270242 13.111 0.413316 13.111 0.5625Z' fill='%23000'/%3E%3C/svg%3E");
}

/* Freccia — selettori unificati */
.wp-block-button .wp-block-button__link::after,
.gspb-buttonbox::after,
.header-button::after {
    content: '';
    display: inline-block;
    width: 0.75em;
    height: 0.75em;
    margin-left: 0.5em;
    background-color: currentColor;
    vertical-align: middle;
    flex-shrink: 0;
    transition: transform 0.25s ease;
    -webkit-mask-image: var(--arrow-svg);
    mask-image: var(--arrow-svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Rotazione hover */
.wp-block-button .wp-block-button__link:hover::after,
.gspb-buttonbox:hover::after,
.header-button:hover::after {
    transform: rotate(90deg);
}

/* Arrow reverse */
.arrow-reverse::after,
.arrow-reverse .wp-block-button__link::after {
    transform: rotate(90deg);
}

.arrow-reverse:hover::after,
.arrow-reverse .wp-block-button__link:hover::after {
    transform: rotate(0deg);
}


/* Header */
.header-navigation ul.sub-menu,
.header-navigation ul.submenu {
    padding: 10px !important;
    border-radius: 1rem !important;
}

/**/
.image-container {
    border-radius: 20px;
    overflow: hidden;
}

/* 
 * Home 
 */

/* Accordion */
.accordion-trattamenti {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px; /* spazio tra colonne */
}
@media (min-width: 768px) {
    .accordion-trattamenti {
        grid-template-columns: 1fr 1fr;
    }
}
.accordion-trattamenti .gs-accordion-item {
    width: 100% !important;
    margin-bottom: 0px !important;
}
.accordion-trattamenti .icontitle, .accordion-trattamenti .iconfortoggle {
    background: var(--primario-trasparente);
    padding: 0.5rem;
    border-radius: 9rem;
}
.accordion-trattamenti .icontitle {
    margin-right: .7em;
}
.accordion-trattamenti svg {
    height: 1.5em !important;
    width: auto !important;
}
.accordion-trattamenti .gs-accordion-item__heading {
    font-size: clamp(20px, 1.1835rem + 0.6383vw, 24px);
}
.accordion-trattamenti ul {
    list-style: disc !important;
    column-count: 2;
}
.accordion-trattamenti ul li {
    line-height: 2em !important;
}
.accordion-trattamenti ul li::marker {
    color: var(--primario);
    font-size: 20px !important;
}


/* I numeri */
.i-numeri {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border: 1px solid #d8d8d8;
    border-radius: 20px;
    overflow: hidden;
}

.i-numeri > .gspb_container {
    padding: 40px 30px;
    border-right: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 280px;
}

/* Rimuovi bordo destro dalle colonne 3, 6 */
.i-numeri > .gspb_container:nth-child(3n) {
    border-right: none;
}

/* Rimuovi bordo inferiore dalle ultime 3 celle (righe 2) */
.i-numeri > .gspb_container:nth-child(n+4) {
    border-bottom: none;
}

/* Ultima cella — immagine */
.i-numeri > .gspb_container:last-child {
    padding: 0;
    border: none;
}

.i-numeri > .gspb_container:last-child img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


@media (max-width: 1024px) {
    .i-numeri {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Rimuovi bordo destro dalle colonne pari (2, 4) */
    .i-numeri > .gspb_container:nth-child(2n) {
        border-right: none;
    }
    
    /* Aggiungi bordo destro alle colonne dispari */
    .i-numeri > .gspb_container:nth-child(2n+1) {
        border-right: 1px solid #d8d8d8;
    }
    
    /* Rimuovi bordo inferiore dall'ultima riga (celle 5, 6) */
    .i-numeri > .gspb_container:nth-child(n+5) {
        border-bottom: none;
    }
}

@media (max-width: 640px) {
    .i-numeri {
        grid-template-columns: 1fr;
    }
    
    .i-numeri > .gspb_container {
        border-right: none !important;
        border-bottom: 1px solid #d8d8d8;
        min-height: 200px;
    }
    
    /* Rimuovi bordo inferiore SOLO dall'ultima cella */
    .i-numeri > .gspb_container:nth-child(6) {
        border-bottom: none;
    }
    .i-numeri > .gspb_container:nth-child(n+4) {
        border-bottom: 1px solid #d8d8d8;
    }
    
    /* Immagine riempie tutto */
    .i-numeri > .gspb_container:last-child {
        border-bottom: none;
        min-height: 350px; /* aumenta l'altezza */
    }
}

/* Partner  */
.partner .swiper-slide::after {
    content: '';
    position: absolute;
    right: -32px; /* metà del margin 64px */
    top: 0;
    bottom: 0;
    width: 1px;
    background-color: #d8d8d8;
}

.partner .swiper-slide:last-child::after {
    display: none;
}

/* Footer */
footer .custom-nav ul {
    list-style: disc !important;
}
footer .custom-nav ul li {
    line-height: 2em !important;
}
footer .custom-nav ul li::marker {
    color: currentColor;
    font-size: 20px !important;
}
ul.privacy{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
}
ul.privacy li:not(:last-child)::after{
  content:" | ";
  padding:0 .35em;
}


