@import url('https://fonts.googleapis.com/css2?family=Ruda:wght@400;500;600;700;800;900&display=swap');

/* ERS - Formulaire Contact v1.1.0 — AnyOne Dev. */

.elementor-widget-ers_contact,
.elementor-widget-ers_contact > .elementor-widget-container {
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: none !important;
    padding: 0 !important;
}

.ers-wrap { font-family: 'Ruda', Arial, sans-serif; background: transparent; border: none; max-width: 620px; margin: 0 auto; }
.ers-body { padding: 8px 0; }

.ers-section-label { font-family: 'Ruda', Arial, sans-serif; font-size: 10px; font-weight: 800; letter-spacing: 2.5px; text-transform: uppercase; color: #4e6b3a; background: #ddebd3; display: inline-block; padding: 4px 12px; border-radius: 20px; margin-bottom: 18px; }

.ers-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.ers-field-group { display: flex; flex-direction: column; gap: 5px; }
.ers-field-group.full { grid-column: 1 / -1; }

.ers-field-group label { font-family: 'Ruda', Arial, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: #4e6b3a; }
.ers-req { color: #c0392b; }

.ers-field-group input[type="text"],
.ers-field-group input[type="email"],
.ers-field-group input[type="tel"],
.ers-field-group textarea {
    font-family: 'Ruda', Arial, sans-serif; font-size: 14px; font-weight: 500; color: #2c2c2c;
    background: #fff; border: 1.5px solid #c8ddbf; border-radius: 8px;
    padding: 10px 13px; outline: none; width: 100%;
    transition: border-color .2s, box-shadow .2s;
}
.ers-field-group input:focus, .ers-field-group textarea:focus { border-color: #4e6b3a; box-shadow: 0 0 0 3px rgba(78,107,58,0.12); }
.ers-field-group input::placeholder, .ers-field-group textarea::placeholder { color: #bbb; font-weight: 400; }
.ers-field-group textarea { resize: vertical; min-height: 100px; line-height: 1.6; }

.ers-divider { border: none; border-top: 1.5px solid #ddebd3; margin: 24px 0; }

.ers-select-wrap { position: relative; }
.ers-select-wrap select {
    font-family: 'Ruda', Arial, sans-serif; font-size: 14px; font-weight: 500; color: #2c2c2c;
    background: #fff; border: 1.5px solid #c8ddbf; border-radius: 8px;
    padding: 10px 40px 10px 13px; outline: none; appearance: none; -webkit-appearance: none;
    cursor: pointer; width: 100%; transition: border-color .2s, box-shadow .2s, color .2s, background .2s;
}
.ers-select-wrap select:focus { border-color: #4e6b3a; box-shadow: 0 0 0 3px rgba(78,107,58,0.12); }
.ers-select-wrap select.ers-selected { color: #4e6b3a; font-weight: 700; background: #eef5e8; border-color: #4e6b3a; }
.ers-select-wrap::after {
    content: ''; pointer-events: none; position: absolute; right: 13px; top: 50%; transform: translateY(-50%);
    width: 10px; height: 6px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%234e6b3a' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-size: contain;
}

.ers-conditional { display: none; margin-top: 12px; }
.ers-conditional.ers-visible { display: block; }
.ers-cond-inner { background: #eef5e8; border: 1.5px solid #c8ddbf; border-radius: 10px; padding: 16px; display: flex; flex-direction: column; gap: 12px; }

.ers-upload-zone { border: 1.5px dashed #a8c898; border-radius: 8px; background: #fff; padding: 14px 16px; text-align: center; cursor: pointer; transition: border-color .2s, background .2s; position: relative; }
.ers-upload-zone:hover { border-color: #4e6b3a; background: #f2f8ee; }
.ers-upload-zone input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.ers-upload-icon  { font-size: 20px; margin-bottom: 4px; display: block; }
.ers-upload-text  { font-family: 'Ruda', Arial, sans-serif; font-size: 12px; font-weight: 700; color: #4e6b3a; }
.ers-upload-hint  { font-family: 'Ruda', Arial, sans-serif; font-size: 11px; color: #9ab38a; margin-top: 3px; }
.ers-upload-filename { display: none; font-family: 'Ruda', Arial, sans-serif; font-size: 12px; font-weight: 700; color: #4e6b3a; margin-top: 4px; }
.ers-upload-zone.ers-has-file .ers-upload-filename { display: block; }

.ers-error-block { display: none; margin-top: 14px; background: #fdf2f2; border: 1.5px solid #f5c6c6; border-radius: 8px; padding: 12px 16px; font-family: 'Ruda', Arial, sans-serif; font-size: 13px; font-weight: 600; color: #c0392b; line-height: 1.5; }

.ers-success { display: none; margin-top: 20px; background: #eef5e8; border: 1.5px solid #c8ddbf; border-radius: 10px; padding: 18px 20px; }
.ers-success-title { font-family: 'Ruda', Arial, sans-serif; font-size: 15px; font-weight: 800; color: #4e6b3a; margin-bottom: 5px; }
.ers-success p { font-family: 'Ruda', Arial, sans-serif; font-size: 13px; font-weight: 500; color: #7aaa5a; line-height: 1.6; }

.ers-btn-submit { margin-top: 22px; display: inline-flex; align-items: center; gap: 8px; background: #4e6b3a; color: #fff; font-family: 'Ruda', Arial, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; border: none; border-radius: 8px; padding: 13px 28px; cursor: pointer; transition: background .2s, transform .15s; }
.ers-btn-submit:hover  { background: #3d5430; transform: translateY(-1px); }
.ers-btn-submit:active { transform: translateY(0); }

@media (max-width: 520px) {
    .ers-body { padding: 0; }
    .ers-row  { grid-template-columns: 1fr; }
}
