/* Zayn Custom — styles fonctionnels uniquement. L'habillage visuel vit dans porto-child/assets/zayn.css. */

/* Personnalisation : les champs n'apparaissent que si la case est cochée (sans JavaScript). */
.zayn-perso { margin: 0 0 1.5rem; padding: 1rem 1.25rem; border: 1px solid var(--zayn-line, #e8d9cf); border-radius: 4px; }
.zayn-perso__title { padding: 0 .4rem; font-weight: 600; }
.zayn-perso__toggle { display: flex; gap: .5rem; align-items: center; cursor: pointer; }
.zayn-perso__fields { display: none; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .75rem 1rem; margin-top: 1rem; }
.zayn-perso:has(input[name="zayn_perso_on"]:checked) .zayn-perso__fields { display: grid; }
.zayn-perso__fields p { margin: 0; }
.zayn-perso__fields label { display: block; margin-bottom: .25rem; }
.zayn-perso__fields input, .zayn-perso__fields select, .zayn-perso__fields textarea { width: 100%; }
.zayn-perso__wide { grid-column: 1 / -1; }

/* Formulaires devis et newsletter */
.zayn-form--devis { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem 1.5rem; }
.zayn-form--devis label { display: block; margin-bottom: .3rem; }
.zayn-form--devis input:not([type="checkbox"]), .zayn-form--devis select, .zayn-form--devis textarea { width: 100%; }
.zayn-form__wide, .zayn-form__errors, .zayn-form--devis > input[type="hidden"] { grid-column: 1 / -1; }
.zayn-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.zayn-form__errors { padding: .75rem 1rem; border-left: 3px solid #7A1533; background: #fbeff2; }
.zayn-form__errors ul { margin: 0; padding-left: 1rem; }
.zayn-form__success { padding: 1rem 1.25rem; border-left: 3px solid #D4A574; background: #FFF9F5; }
.zayn-form__consent label { display: flex; gap: .5rem; align-items: flex-start; font-size: .9em; }
.zayn-form__inline { display: flex; gap: .5rem; }
.zayn-form__inline input { flex: 1; min-width: 0; }

/* Avis vérifiés */
.zayn-avis { text-align: center; }
.zayn-avis__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.5rem; margin: 2rem 0 0; padding: 0; list-style: none; text-align: left; }
.zayn-avis__item blockquote { margin: .75rem 0; padding: 0; border: 0; font-style: italic; }
