/**
 * NosJardinsEco Child V6 — Page Contact
 */

.njeco-contact-wrap {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 var(--container-padding) var(--spacing-lg);
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: var(--spacing-md);
    align-items: start;
}

/* Formulaire */
.nje-contact-form { display: flex; flex-direction: column; gap: var(--spacing-sm); }
.nje-contact-form__row--2col { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-sm); }
.nje-contact-form__field label { display: block; font-size: 0.875rem; font-weight: var(--font-weight-medium); color: var(--color-text); margin-bottom: 6px; }
.nje-contact-form__field label span[aria-hidden] { color: #c62828; }
.nje-contact-form__field input,
.nje-contact-form__field select,
.nje-contact-form__field textarea {
    width: 100%; border: 1.5px solid var(--color-border); border-radius: var(--radius-sm);
    padding: 11px 14px; font-size: 0.9rem; font-family: var(--font-body); color: var(--color-text);
    background: var(--color-white); transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.nje-contact-form__field input:focus,
.nje-contact-form__field select:focus,
.nje-contact-form__field textarea:focus {
    outline: none; border-color: var(--color-green); box-shadow: 0 0 0 3px rgba(52,164,46,0.12);
}
.nje-contact-form__field textarea { resize: vertical; min-height: 140px; }

/* RGPD */
.nje-contact-form__field--rgpd { padding: 16px 18px; background: var(--color-bg); border: 1.5px solid var(--color-border); border-radius: var(--radius-md); }
.nje-contact-form__field--rgpd.nje-contact-form__field--error { border-color: #c62828; background: #fff8f8; }
.nje-contact-form__checkbox-label { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; }
.nje-contact-form__checkbox { width: 20px; height: 20px; flex-shrink: 0; margin-top: 2px; accent-color: var(--color-green); cursor: pointer; }
.nje-contact-form__checkbox-text { font-size: 0.875rem; line-height: 1.55; color: var(--color-text); }
.nje-contact-form__checkbox-text a { color: var(--color-green); text-decoration: underline; }
.nje-contact-form__checkbox-error { display: flex; padding: 10px 14px; background: #fce4ec; border-left: 3px solid #c62828; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; color: #b71c1c; font-size: 0.82rem; line-height: 1.5; margin-top: 8px; }
.nje-contact-form__checkbox-error[hidden] { display: none; }

/* Actions */
.nje-contact-form__actions { display: flex; align-items: center; gap: var(--spacing-sm); flex-wrap: wrap; }
.nje-contact-form__status { min-height: 44px; font-size: 0.9rem; line-height: 1.5; }
.nje-contact-form__status--success { color: var(--color-green-deep); background: #e8f5e9; border: 1px solid #c8e6c9; border-radius: var(--radius-sm); padding: 12px 16px; }
.nje-contact-form__status--error { color: #c62828; background: #fce4ec; border: 1px solid #ef9a9a; border-radius: var(--radius-sm); padding: 12px 16px; }
.nje-contact-form__spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,0.4); border-top-color: #fff; border-radius: 50%; animation: nje-spin 0.7s linear infinite; }
@keyframes nje-spin { to { transform: rotate(360deg); } }
.nje-contact-form__spinner[hidden] { display: none; }
.nje-hp { position: absolute !important; left: -9999px !important; opacity: 0 !important; }

/* Sidebar infos */
.nje-contact-info { display: flex; flex-direction: column; gap: 12px; }
.nje-contact-info__card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 14px 16px; display: flex; align-items: center; gap: 12px; }
.nje-contact-info__icon { font-size: 1.25rem; flex-shrink: 0; }
.nje-contact-info__label { font-size: 0.72rem; font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: 0.5px; color: var(--color-text); opacity: 0.45; margin: 0 0 4px; }
.nje-contact-info__value { font-size: 0.9rem; font-weight: var(--font-weight-medium); color: var(--color-text); margin: 0; text-decoration: none; display: block; }
a.nje-contact-info__value:hover { color: var(--color-green); }
.nje-contact-info__shortcuts { background: var(--color-bg); border-radius: var(--radius-md); padding: 14px 16px; }
.nje-contact-info__shortcuts-title { font-size: 0.75rem; font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: 0.5px; color: var(--color-text); opacity: 0.45; margin: 0 0 12px; }
.nje-contact-info__shortcuts .njeco-link { display: block; margin-bottom: 8px; }

@media (max-width: 768px) {
    .njeco-contact-wrap { grid-template-columns: 1fr; }
    .nje-contact-form__row--2col { grid-template-columns: 1fr; }
}
