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

/* Lo stile del sito è gestito da Kadence (Customizer) e dai blocchi.
   Eventuali ritocchi CSS specifici vanno aggiunti qui sotto. */

/* Azzera i margini di tutti i titoli dentro .single-content */
.single-content h1,
.single-content h2,
.single-content h3,
.single-content h4,
.single-content h5,
.single-content h6 {
    margin: 0;
}

/* Card home: garantisce che restino sopra l'hero (overlap) anche dopo i salvataggi nell'editor */
.fdc-cards {
    position: relative;
    z-index: 2;
}

/* Header mobile */
.popup-drawer .drawer-content {
    margin-top: -2rem;
    z-index: -9;
}
.custom-mobile-header {
    padding-bottom: 2rem;
}


/* ================================================================
   MODULI CONTACT FORM 7
   ================================================================ */

.wpcf7-form .form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px 24px;
}

.wpcf7-form .form-grid > p {
    margin: 0 0 14px;
}

/* Campi che occupano l'intera larghezza */
.wpcf7-form .form-grid > .full-width,
.wpcf7-form .form-grid > p:has(textarea),
.wpcf7-form .form-grid > p:has(.wpcf7-acceptance),
.wpcf7-form .form-grid > p:has(.wpcf7-submit),
.wpcf7-form .form-grid > p:has(input[type="file"]) {
    grid-column: 1 / -1;
}

/* Etichette */
.wpcf7-form label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--global-palette3, #005A90);
    line-height: 1.5;
}

/* Campi di input */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form textarea,
.wpcf7-form select {
    width: 100%;
    font-family: inherit;
    font-size: 1rem;
    color: var(--global-palette4, #1a2d4a);
    background-color: var(--global-palette9, #ffffff);
    border: 1.5px solid var(--global-palette6, #d4dce8);
    border-radius: 8px;
    padding: 0.7rem 1rem;
    margin-top: 4px;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    appearance: none;
}

.wpcf7-form textarea {
    min-height: 140px;
    resize: vertical;
}

.wpcf7-form select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23015a90' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.5rem;
}

/* Focus */
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
    outline: none;
    border-color: var(--global-palette1, #009CBE);
    box-shadow: 0 0 0 3px rgba(0, 153, 190, 0.15);
}

/* Upload file */
.wpcf7-form input[type="file"] {
    width: 100%;
    font-family: inherit;
    font-size: 0.9rem;
    padding: 0.6rem;
    border: 1.5px dashed var(--global-palette6, #d4dce8);
    border-radius: 8px;
    background: var(--global-palette7, #F0F5F8);
    margin-top: 4px;
}

/* Checkbox di accettazione (privacy / regolamento) */
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}
.wpcf7-form input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--global-palette1, #009CBE);
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
}
.wpcf7-form .wpcf7-list-item-label {
    font-size: 0.85rem;
    font-weight: 400;
    color: var(--global-palette4, #1a2d4a);
}
.wpcf7-form .custom-check { display: none; }

/* Pulsante invio (a pillola, come i bottoni del sito) */
.wpcf7-form .wpcf7-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: var(--global-palette9, #ffffff);
    background-color: var(--global-palette3, #005A90);
    border: 2px solid transparent;
    border-radius: 50px;
    padding: 0.8rem 2.5rem;
    cursor: pointer;
    transition: all 0.22s ease;
    min-width: 180px;
}
.wpcf7-form .wpcf7-submit:hover {
    background-color: var(--global-palette2, #0089BF);
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(1, 90, 144, 0.25);
}

/* Messaggi di risposta */
.wpcf7-form .wpcf7-response-output {
    font-size: 0.9rem;
    padding: 0.8rem 1rem;
    border: none !important;
    border-radius: 8px;
    margin: 1rem 0 0;
}
.wpcf7-form.sent .wpcf7-response-output { background: #d1fae5; color: #065f46; }
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output { background: #fee2e2; color: #991b1b; }
.wpcf7-form .wpcf7-not-valid-tip {
    font-size: 0.8rem;
    color: #dc2626;
    margin-top: 0.25rem;
}

/* Responsive: una colonna su mobile */
@media (max-width: 600px) {
    .wpcf7-form .form-grid { grid-template-columns: 1fr; }
}

/* Accessibilità form: asterisco obbligatori e nota */
.wpcf7-form .req { color: #c2185b; font-weight: 700; }
.wpcf7-form .form-note { font-size: 0.85rem; color: #5a6a7e; margin: 0 0 1.2rem; }
/* Link nel form: navy + sottolineato (contrasto AA 1.4.3 e non solo colore 1.4.1) */
.wpcf7-form a { color: #005A90; text-decoration: underline; }
.wpcf7-form a:hover, .wpcf7-form a:focus { color: #004A78; }

/* ================================================================
   COLLAGE FOTO IN OVERLAP (es. hero La Fiera)
   ================================================================ */
.fdc-collage { position: relative; display: flow-root; }
.fdc-collage figure { margin: 0; }
.fdc-collage img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 20px; }
/* Foto sinistra: in primo piano, più in basso */
.fdc-collage .fdc-collage-front { position: relative; width: 62%; margin-top: 150px; z-index: 2; }
/* Foto destra: dietro, più in alto rispetto a quella davanti */
.fdc-collage .fdc-collage-back { position: absolute; top: 30px; right: 0; width: 62%; margin: 0; z-index: 1; }
@media (max-width: 781px) {
    .fdc-collage .fdc-collage-front { width: 78%; margin-top: 0; }
    .fdc-collage .fdc-collage-back { position: static; width: 78%; margin: -50px 0 0 auto; }
}

/* ================================================================
   ELENCHI A SPUNTA (Esporre in Fiera)
   ================================================================ */
.fdc-check-list { list-style: none; margin: 0; padding: 0; }
.fdc-check-list li {
    position: relative;
    padding-left: 38px;
    margin-bottom: 16px;
    line-height: 1.5;
}
.fdc-check-list li::before {
    content: "";
    position: absolute;
    left: 0; top: 1px;
    width: 24px; height: 24px;
    border-radius: 50%;
    background: #009CBE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* ================================================================
   ACCORDION "Informazioni utili" (barre bianche su fascia colorata)
   ================================================================ */
.fdc-accordion .wp-block-details {
    background: #fff;
    border-radius: 10px;
    padding: 16px 22px;
    margin-bottom: 16px;
    box-shadow: 0 4px 14px rgba(0,90,144,0.08);
}
.fdc-accordion .wp-block-details summary {
    font-weight: 600;
    color: #005A90;
    cursor: pointer;
    list-style: none;
}
.fdc-accordion .wp-block-details summary::-webkit-details-marker { display: none; }
.fdc-accordion .wp-block-details[open] summary { margin-bottom: 10px; }
.fdc-accordion .wp-block-details p { color: #5a6a7e; font-size: 0.92rem; margin: 0; }

/* Card servizi: icona + titolo + testo + link */
.fdc-service-icon { width: 46px; height: 46px; margin: 0 auto 14px; color: #009CBE; }
.fdc-service-icon svg { width: 100%; height: 100%; }

/* Card modulo Iscrizione (sovrapposta all'hero) */
.fdc-form-card { position: relative; z-index: 2; box-shadow: 0 20px 50px rgba(0,90,144,0.12); }

/* Chevron sugli accordion (toggle espandibili) */
.fdc-accordion .wp-block-details summary { position: relative; padding-right: 30px; }
.fdc-accordion .wp-block-details summary::after {
    content: "";
    position: absolute; right: 6px; top: 50%;
    width: 9px; height: 9px;
    border-right: 2px solid #009CBE;
    border-bottom: 2px solid #009CBE;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.2s ease;
}
.fdc-accordion .wp-block-details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }

/* ================================================================
   SLIDER (galleria scorrevole)
   ================================================================ */
.fdc-slider-wrap { position: relative; }
.fdc-slider {
    display: flex; gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding: 4px;
}
.fdc-slider::-webkit-scrollbar { height: 0; }
.fdc-slide { flex: 0 0 320px; max-width: 80%; scroll-snap-align: center; }
.fdc-slide img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; display: block; }
.fdc-slider-arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 46px; height: 46px; border-radius: 50%;
    border: none; background: #fff; color: #005A90;
    font-size: 1.6rem; line-height: 1; cursor: pointer;
    box-shadow: 0 6px 18px rgba(0,0,0,0.18);
    display: flex; align-items: center; justify-content: center; z-index: 3;
}
.fdc-slider-arrow.fdc-prev { left: -14px; }
.fdc-slider-arrow.fdc-next { right: -14px; }

/* FDC fieldset/legend */
.wpcf7-form fieldset{border:0;margin:0 0 14px;padding:0;min-width:0;}
.wpcf7-form legend{display:block;width:100%;font-size:0.85rem;font-weight:700;color:var(--global-palette3,#005A90);line-height:1.5;margin:0 0 6px;padding:0;}
.wpcf7-form .wpcf7-radio .wpcf7-list-item,.wpcf7-form .wpcf7-checkbox .wpcf7-list-item{display:block;margin:6px 0 0;}
.wpcf7-form .wpcf7-list-item label{display:flex;gap:8px;align-items:flex-start;font-size:0.95rem;font-weight:500;color:var(--global-palette4,#1a2d4a);}
.wpcf7-form .wpcf7-list-item input{margin-top:3px;flex:0 0 auto;}
.wpcf7-form .form-info{background:var(--global-palette7,#F0F5F8);border-radius:8px;padding:14px 16px;margin:0 0 14px;}
.wpcf7-form .form-info p{margin:0 0 8px;color:var(--global-palette4,#1a2d4a);font-size:0.95rem;}
.wpcf7-form .form-info .wpcf7-list-item label{font-weight:600;}

/* FDC consent rows */
.wpcf7-form .form-grid > .full-width{grid-column:1 / -1;}
.wpcf7-form p:has(.wpcf7-acceptance){display:block;width:100%;}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item{display:block;margin:0;}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item label{display:flex;gap:8px;align-items:flex-start;}

/* FDC form-info lists */
.wpcf7-form .form-info ul,.wpcf7-form .form-info ol{margin:0 0 12px;padding-left:1.3em;color:var(--global-palette4,#1a2d4a);}
.wpcf7-form .form-info li{margin:3px 0;font-size:0.95rem;line-height:1.5;}

.privacy-bar, .privacy-bar a {
    font-size: 13px;
    color: #fff;
	text-align:right;
}
@media screen and (max-width: 782px) {
    .privacy-bar, .privacy-bar a {
		text-align:left;
	}
}

#cmplz-document { max-width:1000px; margin:1rem auto;}
.cmplz-show-banner {
	cursor: pointer
}