/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.1787041977
Updated: 2026-08-18 08:32:57

*/


/* =========================================================
   HOVER SVG
========================================================= */

.hover-svg a svg {
    display: block;
    position: relative;

    transition: transform .15s cubic-bezier(.4, 0, .2, 1);
}

.hover-svg a:hover svg {
    transform: translateX(4px);
}

.hover-svg a:hover svg path {
    stroke: var(--e-global-color-accent) !important;
    color: var(--e-global-color-accent) !important;
}


/* =========================================================
   HUBSPOT FORM - VARIABILI
========================================================= */

.form {
    --form-blue: #14345f;
    --form-text: #14345f;

    --form-muted: #6d7586;

    --form-red: #ff1f24;

    --form-bg: #f5f7f9;
    --form-border: #c8d5e3;
    --form-card-border: #e1e3e7;

    --form-placeholder: #b6b8bc;

    width: 100%;
}


/* =========================================================
   RESET GENERALE HUBSPOT
========================================================= */

.form *,
.form *::before,
.form *::after {
    box-sizing: border-box;
}


.form form {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


.form fieldset {
    display: block;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 28px 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


.form .hs-form-field {
    margin: 0 !important;
}


.form .input {
    width: 100% !important;

    margin: 0 !important;
}


/* =========================================================
   LAYOUT HUBSPOT - 2 COLONNE
========================================================= */

.form fieldset.form-columns-2 {
    display: flex !important;

    align-items: flex-start;

    gap: 20px;
}


.form fieldset.form-columns-2 > .hs-form-field {
    float: none !important;

    flex: 1 1 0;

    width: 0 !important;
}


.form fieldset.form-columns-1 {
    display: block !important;
}


.form fieldset.form-columns-1 > .hs-form-field {
    float: none !important;

    width: 100% !important;
}


/* =========================================================
   CAMPO EVENTO SEMPRE A TUTTA LARGHEZZA
========================================================= */

.form fieldset:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]
) {
    display: block !important;

    width: 100% !important;
}


.form fieldset:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]
) > .hs-form-field {
    float: none !important;

    width: 100% !important;

    flex: none !important;
}


/* =========================================================
   LABEL NORMALI
========================================================= */

.form .hs-form-field > label {
    display: block !important;

    margin: 0 0 8px 0 !important;

    color: var(--form-text) !important;

    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
}


.form .hs-form-field > label span {
    color: inherit !important;

    font: inherit !important;
}


.form .hs-form-required {
    margin-left: 1px;

    color: var(--form-red) !important;
}


/* =========================================================
   INPUT NORMALI
========================================================= */

.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form input[type="number"],
.form input[type="url"],
.form input[type="password"],
.form select {
    display: block;

    width: 100% !important;
    max-width: none !important;
    height: 50px !important;

    margin: 0 !important;
    padding: 0 25px !important;

    border: 1px solid var(--form-border) !important;
    border-radius: 21px !important;

    outline: 0 !important;

    /*background-color: var(--form-bg) !important; */

    color: var(--form-text) !important;

    font-family: inherit !important;
    font-size: 14px !important;
    line-height: normal !important;
    font-weight: 400 !important;

    box-shadow: none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}


/* =========================================================
   PLACEHOLDER
========================================================= */

.form input::placeholder,
.form textarea::placeholder {
    color: var(--form-placeholder) !important;

    opacity: 1 !important;
}


/* =========================================================
   FOCUS INPUT
========================================================= */

.form input[type="text"]:focus,
.form input[type="email"]:focus,
.form input[type="tel"]:focus,
.form input[type="number"]:focus,
.form input[type="url"]:focus,
.form input[type="password"]:focus,
.form select:focus,
.form textarea:focus {
    border-color: var(--form-blue) !important;

    background-color: #fff !important;

    box-shadow:
        0 0 0 2px rgba(20, 52, 95, .08) !important;
}


/* =========================================================
   SELECT
========================================================= */

.form select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;

    padding-right: 55px !important;

    cursor: pointer;

    background-image:
        linear-gradient(
            45deg,
            transparent 50%,
            #9ca4af 50%
        ),
        linear-gradient(
            135deg,
            #9ca4af 50%,
            transparent 50%
        ) !important;

    background-position:
        calc(100% - 23px) 26px,
        calc(100% - 18px) 26px !important;

    background-size:
        6px 6px,
        6px 6px !important;

    background-repeat: no-repeat !important;
}


.form select:invalid {
    color: var(--form-placeholder) !important;
}


/* =========================================================
   TEXTAREA
========================================================= */

.form textarea {
    display: block;

    width: 100% !important;
    max-width: none !important;
    min-height: 115px !important;

    margin: 0 !important;
    padding: 18px 25px !important;

    resize: vertical;

    border: 1px solid var(--form-border) !important;
    border-radius: 21px !important;

    outline: 0 !important;

    /* background: var(--form-bg) !important; */

    color: var(--form-text) !important;

    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;

    box-shadow: none !important;
}


/* =========================================================
   ERRORI HUBSPOT
========================================================= */

.form .hs-error-msgs {
    margin: 5px 0 0 8px !important;
    padding: 0 !important;

    list-style: none !important;
}


.form .hs-error-msgs li {
    margin: 0 !important;
    padding: 0 !important;
}


.form .hs-error-msg,
.form .hs-error-msgs label {
    margin: 0 !important;

    color: #f04449 !important;

    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
}


.form input.invalid,
.form input.error,
.form select.invalid,
.form select.error,
.form textarea.invalid,
.form textarea.error,
.form .hs-input.invalid,
.form .hs-input.error {
    border-color: #e65b60 !important;
}


/* =========================================================
   EVENTI - CONTENITORE DELLE 3 CARD
========================================================= */

.form ul.inputs-list:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]
) {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    gap: 30px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* =========================================================
   EVENTI - LABEL DEL CAMPO
========================================================= */

.form .hs-form-field:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]
) > label {
    margin-bottom: 16px !important;

    font-size: 20px !important;
}


/* =========================================================
   EVENTI - SINGOLO ELEMENTO
========================================================= */

.form li.hs-form-radio:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]
) {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* =========================================================
   EVENTI - CARD
========================================================= */

.form li.hs-form-radio:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display {
    position: relative;

    display: block !important;

    width: 100% !important;
    min-height: 350px !important;

    margin: 0 !important;
    padding: 44px 42px !important;

    border: 4px solid var(--form-card-border) !important;
    border-radius: 40px !important;

    background: #fff !important;

    color: var(--form-text) !important;

    cursor: pointer;

    overflow: visible;

    height: 100%;

    transition:
        background-color .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
}


/* =========================================================
   NASCONDE SOLO IL RADIO EVENTO
========================================================= */

.form input[type="radio"][name="seleziona_la_citta_dell_evento"] {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 0 !important;

    pointer-events: none;
}


/* =========================================================
   CONTENITORE TESTI CARD
========================================================= */

.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display > span {
    display: flex !important;

    flex-direction: column;

    align-items: flex-start;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   CITTÀ
========================================================= */

.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display .titolo {
    display: block !important;

    width: 100%;

    margin: 0 0 28px 0 !important;
    padding: 0 !important;

    color: var(--form-text) !important;

    font-family: inherit !important;
    font-size: clamp(31px, 2.6vw, 42px) !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
}


/* =========================================================
   DATA / ORA / PALAZZO
========================================================= */

.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display .date,

.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display .clock,

.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display .palazzo {
    position: relative;

    display: block !important;

    width: 100%;

    min-height: 32px;

    margin: 0 0 17px 0 !important;
    padding: 0 0 0 44px !important;

    color: var(--form-muted) !important;

    font-family: inherit !important;
    font-size: clamp(20px, 1.7vw, 29px) !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}


.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display .palazzo {
    margin-bottom: 0 !important;
}


/* =========================================================
   ICONA CALENDARIO
========================================================= */

.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display .date::before {
    content: "";

    position: absolute;

    left: 1px;
    top: 4px;

    width: 25px;
    height: 23px;

    border: 2px solid currentColor;
    border-radius: 4px;
}


.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display .date::after {
    content: "";

    position: absolute;

    left: 5px;
    top: 11px;

    width: 17px;

    border-top: 2px solid currentColor;
}


/* =========================================================
   ICONA OROLOGIO
========================================================= */

.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display .clock::before {
    content: "";

    position: absolute;

    left: 1px;
    top: 3px;

    width: 25px;
    height: 25px;

    border: 2px solid currentColor;
    border-radius: 50%;
}


.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display .clock::after {
    content: "";

    position: absolute;

    left: 13px;
    top: 8px;

    width: 7px;
    height: 8px;

    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
}


/* =========================================================
   ICONA PALAZZO
========================================================= */

.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display .palazzo::before {
    content: "";

    position: absolute;

    left: 2px;
    top: 3px;

    width: 24px;
    height: 27px;

    border: 2px solid currentColor;
    border-radius: 2px;

    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent 4px,
            currentColor 4px,
            currentColor 6px
        );
}


/* =========================================================
   EVENTO - HOVER
========================================================= */

.form li.hs-form-radio:has(
    input[name="seleziona_la_citta_dell_evento"]
)
.hs-form-radio-display:hover {
    border-color: var(--form-blue) !important;

    transform: translateY(-2px);
}


/* =========================================================
   EVENTO SELEZIONATO
========================================================= */

.form li.hs-form-radio:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]:checked
)
.hs-form-radio-display {
    border-color: var(--form-blue) !important;

    background: var(--form-blue) !important;

    box-shadow:
        0 18px 30px rgba(20, 52, 95, .20) !important;
}


/* Titolo */

.form li.hs-form-radio:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]:checked
)
.hs-form-radio-display .titolo {
    color: #fff !important;
}


/* Data / ora / palazzo */

.form li.hs-form-radio:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]:checked
)
.hs-form-radio-display .date,

.form li.hs-form-radio:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]:checked
)
.hs-form-radio-display .clock,

.form li.hs-form-radio:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]:checked
)
.hs-form-radio-display .palazzo {
    color: #dfe8f8 !important;
}


/* =========================================================
   CHECK CARD SELEZIONATA
========================================================= */

.form li.hs-form-radio:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]:checked
)
.hs-form-radio-display::after {
    content: "✓";

    position: absolute;

    z-index: 10;

    top: -12px;
    right: -12px;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    border: 4px solid var(--form-blue);
    border-radius: 50%;

    background: #fff;

    color: var(--form-blue);

    font-family: Arial, sans-serif;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
}


/* =========================================================
   FOCUS ACCESSIBILE DELLE CARD
========================================================= */

.form li.hs-form-radio:has(
    input[type="radio"][name="seleziona_la_citta_dell_evento"]:focus-visible
)
.hs-form-radio-display {
    outline: 3px solid rgba(20, 52, 95, .25);

    outline-offset: 4px;
}


/* =========================================================
   CHECKBOX HUBSPOT
========================================================= */

.form input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;

    position: relative;

    flex: 0 0 19px;

    width: 19px !important;
    height: 19px !important;

    margin: 2px 0 0 0 !important;
    padding: 0 !important;

    border: 1px solid #7d8289 !important;
    border-radius: 3px !important;

    background: #fff !important;

    cursor: pointer;
}


.form input[type="checkbox"]:checked {
    border-color: var(--form-blue) !important;

    background: var(--form-blue) !important;
}


.form input[type="checkbox"]:checked::after {
    content: "";

    position: absolute;

    left: 5px;
    top: 2px;

    width: 5px;
    height: 10px;

    border: solid #fff;
    border-width: 0 2px 2px 0;

    transform: rotate(45deg);
}


.form input[type="checkbox"]:focus-visible {
    outline: 2px solid rgba(20, 52, 95, .25);

    outline-offset: 2px;
}


/* =========================================================
   GDPR / CONSENSI
========================================================= */

.form .legal-consent-container {
    width: 100% !important;

    margin: 8px 0 25px 0 !important;

    color: var(--form-text) !important;
}


.form .legal-consent-container .hs-richtext {
    margin: 0 0 12px 0 !important;

    color: var(--form-text) !important;
}


.form .legal-consent-container .hs-richtext p {
    margin: 0 0 10px 0 !important;

    color: var(--form-text) !important;

    font-family: inherit !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}


.form .legal-consent-container .hs-richtext strong {
    color: var(--form-text) !important;

    font-size: 15px !important;
    font-weight: 700 !important;
}


.form .legal-consent-container ul {
    margin: 8px 0 20px 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


.form .legal-consent-container li {
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
}


/* =========================================================
   LABEL CHECKBOX PRIVACY
========================================================= */

.form .hs-form-booleancheckbox-display {
    display: flex !important;

    align-items: flex-start;

    gap: 10px;

    margin: 0 !important;

    color: var(--form-text) !important;

    cursor: pointer;

    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}


.form .hs-form-booleancheckbox-display > span {
    display: block;

    margin: 0 !important;

    color: var(--form-text) !important;

    font: inherit !important;
    font-size: 13px  !important;
}


/* =========================================================
   LINK PRIVACY
========================================================= */

.form .legal-consent-container a {
    color: #0000ee !important;

    text-decoration: underline !important;
}


/* =========================================================
   RECAPTCHA
========================================================= */

.form .hs_recaptcha,
.form .hs-recaptcha {
    width: 100% !important;

    margin: 10px 0 28px 0 !important;
}


/* =========================================================
   SUBMIT
========================================================= */

.form .hs_submit {
    width: 100% !important;

    margin: 0 !important;
}


.form .actions {
    margin: 0 !important;
    padding: 0 !important;
}


.form input[type="submit"],
.form .hs-button {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    width: auto !important;
    min-width: 120px;
    min-height: 56px;

    margin: 0 !important;
    padding: 13px 35px !important;

    border: 0 !important;
    border-radius: 20px !important;

    background: var(--form-blue) !important;

    color: #fff !important;

    font-family: inherit !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 700 !important;

    cursor: pointer;

    box-shadow: none !important;

    transition:
        transform .2s ease,
        opacity .2s ease,
        box-shadow .2s ease;
}


.form input[type="submit"]:hover,
.form .hs-button:hover {
    opacity: .94;

    transform: translateY(-1px);

    box-shadow:
        0 7px 17px rgba(20, 52, 95, .17) !important;
}


/* =========================================================
   THANK YOU MESSAGE
========================================================= */

.form .submitted-message {
    color: var(--form-text) !important;

    font-family: inherit !important;
    font-size: 19px !important;
    line-height: 1.5 !important;
}


/* =========================================================
   DESKTOP / NOTEBOOK
========================================================= */

@media (max-width: 1200px) {

    .form fieldset.form-columns-2 {
        gap: 45px;
    }


    .form ul.inputs-list:has(
        input[type="radio"][name="seleziona_la_citta_dell_evento"]
    ) {
        gap: 22px !important;
    }


    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display {
        min-height: 320px !important;

        padding: 36px 32px !important;

        border-radius: 34px !important;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .form fieldset {
        margin-bottom: 15px !important;
    }


    .form fieldset.form-columns-2 {
        gap: 30px;
    }


    .form .hs-form-field > label {
        font-size: 15px !important;
    }


    .form ul.inputs-list:has(
        input[type="radio"][name="seleziona_la_citta_dell_evento"]
    ) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

        gap: 16px !important;
    }


    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display {
        min-height: 280px !important;

        padding: 28px 23px !important;

        border-width: 3px !important;
        border-radius: 29px !important;
    }


    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display .titolo {
        margin-bottom: 21px !important;

        font-size: 28px !important;
    }


    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display .date,

    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display .clock,

    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display .palazzo {
        margin-bottom: 13px !important;
        padding-left: 36px !important;

        font-size: 18px !important;
    }


    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display .palazzo {
        margin-bottom: 0 !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    /* Campi normali da 2 colonne a 1 colonna */

    .form fieldset.form-columns-2 {
        display: block !important;
    }


    .form fieldset.form-columns-2 > .hs-form-field {
        width: 100% !important;

        margin-bottom: 22px !important;
    }


    .form fieldset.form-columns-2 > .hs-form-field:last-child {
        margin-bottom: 0 !important;
    }


    .form fieldset {
        margin-bottom: 22px !important;
    }


    /* Label */

    .form .hs-form-field > label {
        font-size: 15px !important;
    }


    /* Input */

    .form input[type="text"],
    .form input[type="email"],
    .form input[type="tel"],
    .form input[type="number"],
    .form input[type="url"],
    .form input[type="password"],
    .form select {
        height: 54px !important;

        padding-left: 20px !important;
        padding-right: 20px !important;

        border-radius: 18px !important;

        font-size: 17px !important;
    }


    .form select {
        padding-right: 50px !important;

        background-position:
            calc(100% - 23px) 24px,
            calc(100% - 18px) 24px !important;
    }


    /* Textarea */

    .form textarea {
        min-height: 120px !important;

        padding: 16px 20px !important;

        border-radius: 18px !important;

        font-size: 17px !important;
    }


    /* Eventi */

    .form ul.inputs-list:has(
        input[type="radio"][name="seleziona_la_citta_dell_evento"]
    ) {
        grid-template-columns: 1fr !important;

        gap: 16px !important;
    }


    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display {
        min-height: auto !important;

        padding: 27px !important;

        border-radius: 27px !important;
    }


    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display .titolo {
        margin-bottom: 20px !important;

        font-size: 29px !important;
    }


    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display .date,

    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display .clock,

    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display .palazzo {
        min-height: 27px;

        margin-bottom: 11px !important;
        padding-left: 38px !important;

        font-size: 18px !important;
    }


    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display .palazzo {
        margin-bottom: 0 !important;
    }


    /* Privacy */

    .form .legal-consent-container .hs-richtext,
    .form .legal-consent-container .hs-richtext p,
    .form .hs-form-booleancheckbox-display {
        font-size: 15px !important;
    }


    /* Submit */

    .form input[type="submit"],
    .form .hs-button {
        min-height: 52px;

        padding: 12px 30px !important;

        border-radius: 18px !important;

        font-size: 16px !important;
    }

}


/* =========================================================
   MOBILE PICCOLO
========================================================= */

@media (max-width: 480px) {

    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display {
        padding: 23px !important;
    }


    .form li.hs-form-radio:has(
        input[name="seleziona_la_citta_dell_evento"]
    )
    .hs-form-radio-display .titolo {
        font-size: 27px !important;
    }


    .form li.hs-form-radio:has(
        input[type="radio"][name="seleziona_la_citta_dell_evento"]:checked
    )
    .hs-form-radio-display::after {
        top: -9px;
        right: -9px;

        width: 38px;
        height: 38px;

        border-width: 3px;

        font-size: 18px;
    }

}


/* =========================
   EVENTI - RADIO COME CARD
========================= */

.form .inputs-list.multi-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;

    margin: 0;
    padding: 0;
    list-style: none;
}


/* Singola card */
.form .hs-form-radio {
    margin: 0 !important;
    padding: 0 !important;
}


/* Label cliccabile */
.form .hs-form-radio-display {
    position: relative;

    display: block;
    width: 100%;
    min-height: auto;

    padding: 23px;
    box-sizing: border-box;

    border: 2px solid #e2e4e8;
    border-radius: 15px;

    background: #fff;
    color: #142f57;

    cursor: pointer;
    height: 100%;
    transition:
        background-color .25s ease,
        border-color .25s ease,
        color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
}


/* Nascondiamo il radio originale */
.form .hs-form-radio-display > input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}


/* Contenitore dei testi */
.form .hs-form-radio-display > span {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}


/* Tutte le righe */
.form .hs-form-radio-display > span > span {
    display: block;
    width: 100%;
}


/* Città */
.form .hs-form-radio-display > span > span:nth-child(1) {
    margin-bottom: 15px;
    font-size: 20px;
    line-height: 1.1;
    font-weight: 700;

    color: #142f57;
}


/* Data, orario e location */
.form .hs-form-radio-display > span > span:nth-child(n+2) {
    position: relative;

    padding-left: 30px;
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 400;

    color: #6d7586;
}


/* =========================
   ICONE
========================= */

/* Data */
.form .hs-form-radio-display > span > span:nth-child(2)::before {
    content: "";
     background-color: currentColor;

    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;

    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;

    width: 16px;
    height: 16px;

    position: absolute;
    left: 0;
    top: -2px;

    font-size: 26px;
    line-height: 1;

    color: currentColor;
}


/* Orario */
.form .hs-form-radio-display > span > span:nth-child(3)::before {
   
    content: "";
    position: absolute;
    left: 0;
    top: -1px;

    font-size: 31px;
    line-height: 1;

    color: currentColor;

    background-color: currentColor;

     width: 16px;
    height: 16px;

    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='black' stroke-width='2'/%3E%3Cpolyline points='12 6 12 12 16 14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;

    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='black' stroke-width='2'/%3E%3Cpolyline points='12 6 12 12 16 14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}


/* Palazzo */
.form .hs-form-radio-display > span > span:nth-child(4)::before {
    
    content: "";
    position: absolute;
    left: 0;
    top: 2px;

    font-size: 28px;
    line-height: 1;

    color: currentColor;
    background-color: currentColor;
     width: 16px;
    height: 16px;
    
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 6h4M10 10h4M10 14h4M10 18h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;

    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 6h4M10 10h4M10 14h4M10 18h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    
   
}


/* =========================
   CARD SELEZIONATA
========================= */

.form .hs-form-radio:has(input[type="radio"]:checked)
.hs-form-radio-display {
    background: #142f57;
    border-color: #142f57;

    color: #fff;

    box-shadow:
        0 18px 30px rgba(20, 47, 87, .20);
}


.form .hs-form-radio:has(input[type="radio"]:checked)
.hs-form-radio-display > span > span {
    color: #dfe8f8;
}


/* Titolo bianco */
.form .hs-form-radio:has(input[type="radio"]:checked)
.hs-form-radio-display > span > span:nth-child(1) {
    color: #fff;
}


/* Pallino/check in alto a destra */
.form .hs-form-radio:has(input[type="radio"]:checked)
.hs-form-radio-display::after {
    content: "✓";

    position: absolute;
    top: -11px;
    right: -10px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    box-sizing: border-box;

    border: 4px solid #142f57;
    border-radius: 50%;

    background: #fff;
    color: #142f57;

    font-size: 14px;
    font-weight: 700;
}


/* Hover */
.form .hs-form-radio-display:hover {
    border-color: #142f57;
    transform: translateY(-2px);
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1000px) {

    .form .inputs-list.multi-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .form .hs-form-radio-display {
        min-height: auto;
        padding: 30px;
        border-radius: 28px;
    }

    .form .hs-form-radio-display > span > span:nth-child(1) {
        font-size: 20px;
        margin-bottom: 22px;
    }

    .form .hs-form-radio-display > span > span:nth-child(n+2) {
        font-size: 21px;
    }
}