/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
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 */

html {
    font-size:16px;
}

.elementor-countdown-digits, .elementor-countdown-label {
    text-align: left;
}

.mw-600 {
    max-width:600px;
}

.elementor-widget-text-editor p:last-child {
    margin-bottom: 0 !important;
}

.single-post a {
    color: inherit;
    text-decoration: underline !important;
}



/* ------------------- INIZIO FORM ------------------- */

form {
    font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
    font-weight: var(--e-global-typography-text-font-weight) !important;

    --bg: #f7f4ef;
        --card: #ffffff;
        --ink: #1a1614;
        --muted: #7a746e;
        --accent: #c8622a;
        --border: #e0d9d0;
        --green: #3a6b4a;
        --red: #A6584A;
}

.field { margin-bottom: 24px; }

label {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 7px;
}

input[type="text"], textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: 0px;
    background: var(--bg);
    font-size: 0.95rem;
    color: var(--ink);
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
}

input[type="text"]:focus, textarea:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(200, 98, 42, 0.1);
}

input:invalid:not(:placeholder-shown) {
    border-color: var(--red);
}

textarea { resize: vertical; min-height: 80px; }

/* Radio toggle */
.radio-group {
    display: flex;
    border-radius: 0px;
    overflow: hidden;
}

.radio-group input[type="radio"] { display: none; }

.radio-group label {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    background: var(--bg);
    margin: 0;
    transition: background 0.2s, color 0.2s;
    border: 1px solid var(--border);
}

.radio-group label:first-of-type { border-right: 1px solid var(--border); }

#si:checked + label { background: var(--e-global-color-secondary); color: #fff; }
#no:checked + label { background: var(--red); color: #fff; }

/* Participants section shown only when #si is checked */
.participants-section {
    display: none;
    margin-top: 8px;
    padding: 20px;
    background: #faf8f5;
    border: 1px solid var(--border);
    border-radius: 0px;
}

form:has(#si:checked) .participants-section {
    display: block;
}

.campo-non-partecipero {
    display: none;
}

form:has(#no:checked) .campo-non-partecipero {
    display: block;
}

.section-title {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--muted);
    text-transform: uppercase;
    margin-bottom: 16px;
}

.participant-item {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 0px;
    padding: 16px;
    margin-bottom: 10px;
    animation: slideIn 0.2s ease;
}

@keyframes slideIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

.participant-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.participant-num {
    font-size: 0.7rem;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.btn-remove {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--muted);
    font-size: 1rem;
    padding: 2px 6px;
    border-radius: 0px;
    transition: color 0.2s, background 0.2s;
    line-height: 1;
}
.btn-remove:hover { color: var(--red); background: #fdf0ee; }

.row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }

.btn-add-participant {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px;
    background: none;
    border: 1px dashed var(--border);
    border-radius: 0px;
    color: var(--green) !important;
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    margin-top: 4px;
}
.btn-add-participant:hover { border-color: var(--green); background: #f0f7f2; }

.btn-add-participant:focus {
    background: none;
}

.divider {
    border: none;
    border-top: 1px solid var(--border);
    margin: 24px 0;
}

button[type="submit"] {
    width: 100%;
    padding: 13px;
    background: var(--e-global-color-primary);
    color: #fff;
    border: none;
    border-radius: 0px;
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s;
    margin-top: 24px;
}
button[type="submit"]:hover{ background: #3a220b; }
button[type="submit"]:focus { background-color: #3a220b; }

@media (max-width: 480px) {
    .card { padding: 20px; }
    .row-2 { grid-template-columns: 1fr; }
}

/* ------------------- FINE FORM ------------------- */

.im-scroll {
    background-color: #ffffffd6;
}

.im-scroll svg {
    fill: black !important;
}

.im-scroll path {
    stroke: black !important;
}

.looplinear .swiper-wrapper {
    transition-timing-function: linear;
}

#copia_iban {
    cursor: pointer;
}

.mbm-multiply {
    mix-blend-mode: multiply;
    opacity: 0.2;
}

.page-id-435 #show-hide-header {
    background-color: #ffffffd6;
}

.page-id-435 #show-hide-header svg {
    fill: black !important;
}

.page-id-435 #show-hide-header path {
    stroke: black !important;
}

@media(max-width:1280px) {
    .mw-600 {
        max-width: 100%;
    }
}

@media(max-width:767px) {
    .elementor-countdown-digits,.elementor-countdown-label {
        text-align: center;
    }

    .radio-group {
        flex-direction: column;
        gap: 10px;
    }

    .mbm-multiply {
        mix-blend-mode: multiply;
        opacity: 1;
    }
}