/* Pagina /contact/ — formular + coloana „Sau ne găsești aici".
   Culorile și fonturile vin din tokenii globali (main.css :root). */

.contact-page {
    max-width: 960px;
    padding-top: 3rem;
    padding-bottom: 4rem;
}

.contact-intro { margin-bottom: 2.5rem; }

/* Desktop: formular stânga, info dreapta; pe mobil se stivuiesc */
.contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 3rem;
    align-items: start;
}

.contact-field { margin-bottom: 1.25rem; }

.contact-field label {
    display: block;
    font-weight: 700;
    margin-bottom: 0.4rem;
}

.contact-input {
    display: block;
    width: 100%;
    max-width: 560px;
    height: 48px;
    padding: 0.6rem 1rem;
    border: 2px solid var(--color-cream);
    border-radius: 12px;
    background: var(--color-white);
    color: var(--color-navy);
    font-family: var(--font-body);
    font-size: 1rem;
}

/* 0.45 dădea 2,80:1 — placeholderul e text, deci intră la contrast. 0.65 dă
   5,10:1 și rămâne vizibil mai șters decât textul introdus de utilizator. */
.contact-input::placeholder { color: var(--color-navy); opacity: 0.65; }

/* Inelul era portocaliu: 2,23:1 față de fundalul alb, sub pragul de 3:1 cerut
   pentru indicatori non-text (WCAG 1.4.11). Navy dă 15,25:1. Regula globală
   :focus-visible din main.css dă outline-ul; aici rămâne doar bordura. */
.contact-input:focus-visible {
    border-color: var(--color-navy);
}

.contact-textarea {
    height: auto;
    min-height: 140px;
    resize: vertical;
}

.contact-form .btn-primary {
    border: none;
    cursor: pointer;
    margin-top: 0.5rem;
}

.contact-eroare {
    border: 2px solid var(--color-orange);
    border-radius: 12px;
    padding: 0.75rem 1rem;
    margin-bottom: 1.5rem;
}

.contact-errors {
    list-style: none;
    padding: 0;
    margin: 0.35rem 0 0;
    color: var(--color-orange-text);   /* 4,62:1 — mesajele de eroare trebuie citite */
    font-size: 0.9rem;
    font-weight: 700;
}

/* Informare GDPR + checkbox consimțământ (deasupra butonului de trimitere) */
.contact-gdpr-info {
    font-size: 0.9rem;
    margin: 0 0 0.6rem;
}

.contact-gdpr-info a { color: var(--color-navy); font-weight: 700; }

.contact-gdpr label {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    font-weight: 400;
    font-size: 0.9rem;
}

.contact-gdpr input[type="checkbox"] {
    margin-top: 0.2rem;
    accent-color: var(--color-orange);
}

.contact-info p { margin: 0.7rem 0; }
/* Orarul are 4 rânduri — strânse între ele, ca să citească drept un bloc. */
.contact-info .contact-orar { margin: 0.1rem 0; }
.contact-info .contact-orar:first-of-type { margin-top: 0.7rem; }
.contact-info a { color: var(--color-navy); }

@media (max-width: 720px) {
    .contact-page { padding-top: 2rem; }
    .contact-grid { grid-template-columns: 1fr; gap: 2rem; }
}
