/* Pagina Contact — aceleași tokenuri ca vitrina (site/style.css). Calm: spațiere, contururi de 1px. */
.contact-page { padding: 48px 0 72px; position: relative; z-index: 1; }
.contact-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: start; }
.contact-eyebrow { display: inline-block; color: var(--accent-color); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 12px; }
.contact-intro h1 { color: var(--text-heading); font-size: 2.2rem; line-height: 1.2; margin-bottom: 14px; }
.contact-intro p { color: var(--text-muted); font-size: 1.05rem; line-height: 1.7; max-width: 32em; }
.contact-direct { margin-top: 28px; display: grid; gap: 6px; color: var(--text-muted); font-size: .92rem; }
.contact-direct a { color: var(--text-main); text-decoration: none; font-weight: 600; overflow-wrap: anywhere; }
.contact-direct a:hover { color: var(--accent-color); }
.contact-direct i { margin-right: 6px; color: var(--accent-color); }

.contact-card { display: grid; gap: 16px; padding: 28px; border: 1px solid var(--border-color); border-radius: 16px;
    background: color-mix(in srgb, var(--bg-card) 90%, transparent); }
.contact-field { display: grid; gap: 7px; }
.contact-field > span { color: var(--text-main); font-size: .9rem; font-weight: 600; }
.contact-field input, .contact-field textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--border-color); border-radius: 10px;
    background: var(--bg-main, transparent); color: var(--text-main); font: inherit; font-size: 16px; resize: vertical; }
.contact-field input:focus, .contact-field textarea:focus { outline: none; border-color: var(--accent-color); }
.contact-check { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; color: var(--text-main); font-size: .92rem; line-height: 1.5; }
.contact-check input { margin-top: 3px; width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--accent-color); }
.contact-check small { display: block; color: var(--text-muted); font-size: .8rem; margin-top: 2px; }
.contact-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-turnstile { min-height: 65px; }
.contact-submit { justify-self: start; border: 0; cursor: pointer; padding: 12px 22px; }
.contact-submit:disabled { opacity: .6; cursor: default; }
.contact-status { font-size: .92rem; line-height: 1.5; }
.contact-status:empty { display: none; }
.contact-status.is-success { color: #16a34a; }
.contact-status.is-error { color: #dc2626; }
[data-theme="dark"] .contact-status.is-success { color: #4ade80; }
[data-theme="dark"] .contact-status.is-error { color: #f87171; }
.contact-privacy { margin: 0; font-size: .82rem; }
.contact-privacy a { color: var(--text-muted); }

@media (max-width: 900px) {
    .contact-grid { grid-template-columns: 1fr; gap: 28px; }
    .contact-intro h1 { font-size: 1.8rem; }
}
@media (max-width: 560px) {
    .contact-page { padding: 28px 0 48px; }
    .contact-card { padding: 20px; }
    .contact-submit { justify-self: stretch; }
}

/* Fereastra de trimitere (Se trimite… / Mesaj trimis / Nu a fost trimis). Calm: contur 1px, fără umbre mari. */
.contact-modal { position: fixed; inset: 0; z-index: 1300; display: flex; align-items: center; justify-content: center; padding: 16px;
    background: rgba(2, 6, 23, .6); opacity: 0; transition: opacity .2s ease; }
.contact-modal.is-open { opacity: 1; }
.contact-modal-card { width: min(460px, 100%); padding: 30px 28px 24px; border: 1px solid var(--border-color); border-radius: 16px;
    background: var(--bg-card); color: var(--text-main); text-align: center; transform: translateY(8px); transition: transform .2s ease; }
.contact-modal.is-open .contact-modal-card { transform: none; }
.contact-modal-icon { font-size: 2.4rem; line-height: 1; margin-bottom: 14px; min-height: 2.4rem; }
.contact-modal-card.is-sent .contact-modal-icon { color: #16a34a; }
.contact-modal-card.is-error .contact-modal-icon { color: #CD5C5C; }
[data-theme="dark"] .contact-modal-card.is-sent .contact-modal-icon { color: #4ade80; }
.contact-modal-title { margin: 0 0 12px; color: var(--text-heading); font-size: 1.3rem; }
.contact-modal-body p { margin: 0 0 10px; color: var(--text-main); font-size: .97rem; line-height: 1.55; overflow-wrap: anywhere; }
.contact-modal-body p.is-small { color: var(--text-muted); font-size: .84rem; }
.contact-modal-body strong { color: var(--text-heading); display: inline-block; max-width: 100%; overflow-wrap: anywhere; }
.contact-modal-close { margin-top: 10px; min-width: 140px; border: 0; cursor: pointer; padding: 11px 22px; }
.contact-spinner { display: inline-block; width: 38px; height: 38px; border: 3px solid var(--border-color); border-top-color: var(--accent-color);
    border-radius: 50%; animation: contact-spin .8s linear infinite; }
@keyframes contact-spin { to { transform: rotate(360deg); } }
body.contact-modal-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .contact-modal, .contact-modal-card { transition: none; } .contact-spinner { animation-duration: 2s; } }
