/* Fargo — panel entegrasyonu ek stilleri (statik tasarıma dokunmadan) */

.langs .flag { cursor: pointer; text-decoration: none; opacity: .55; transition: opacity .2s, transform .2s; }
.langs .flag:hover { opacity: 1; }
.langs .flag.active { opacity: 1; outline: 2px solid #235b83; outline-offset: 2px; }

/* İletişim formu geri bildirimleri */
.form-alert { padding: 12px 16px; border-radius: 10px; font-size: 14px; margin-bottom: 18px; }
.form-alert.ok { background: #e7f6ec; color: #1c7a3e; border: 1px solid #b7e2c4; }
.form-alert.err { background: #fdecec; color: #b3261e; border: 1px solid #f5c2c0; }
.field .field-error { display: block; color: #b3261e; font-size: 12.5px; margin-top: 4px; }

/* İletişim formu — KVKK onay kutusu */
.field-consent { margin-top: 4px; }
.consent-label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 13px; line-height: 1.5; color: #55606a; }
.consent-label input { margin-top: 3px; width: 16px; height: 16px; flex: 0 0 auto; accent-color: #235b83; cursor: pointer; }
.consent-label a { color: #235b83; text-decoration: underline; }

/* Footer — adres satırı ve yasal linkler */
.footer-col .fc-address { display: flex; align-items: flex-start; gap: 8px; color: #9aa6b0; font-size: 13.5px; }
.footer-col .fc-address svg { flex: 0 0 auto; margin-top: 2px; }
/* Yasal linkler artık alt barın içinde (sol), telif/made sağda — tek çizgi, hizalı */
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.footer-legal a { color: #9aa6b0; font-size: 12.5px; letter-spacing: .2px; text-decoration: none; transition: color .2s; }
.footer-legal a:hover { color: #fff; }
.footer-bar-meta { display: flex; align-items: center; gap: 4px 18px; flex-wrap: wrap; }
@media (max-width: 640px) { .footer-bar-meta { flex-direction: column; align-items: flex-start; gap: 4px; } }

/* KVKK / yasal popup modal */
.modal-overlay { position: fixed; inset: 0; z-index: 1000; background: rgba(15,23,32,.62); display: flex; align-items: center; justify-content: center; padding: 20px; }
.modal-overlay[hidden] { display: none; }
.modal-box { background: #fff; border-radius: 14px; width: 100%; max-width: 640px; max-height: 86vh; display: flex; flex-direction: column; box-shadow: 0 24px 60px rgba(0,0,0,.32); overflow: hidden; animation: modalIn .18s ease-out; }
@keyframes modalIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.modal-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; border-bottom: 1px solid #eef1f4; flex: 0 0 auto; }
.modal-head h3 { margin: 0; font-size: 18px; color: #1e2a35; font-weight: 600; }
.modal-close { background: none; border: none; font-size: 28px; line-height: 1; color: #97a2ac; cursor: pointer; padding: 0 2px; transition: color .2s; }
.modal-close:hover { color: #1e2a35; }
.modal-body { padding: 20px 24px; overflow-y: auto; }
.modal-body p { color: #3f4a54; font-size: 14.5px; line-height: 1.8; margin: 0 0 14px; }
.modal-actions { margin-top: 6px; padding-top: 14px; border-top: 1px solid #f0f2f5; }
.modal-fulllink { color: #235b83; font-size: 13.5px; text-decoration: none; font-weight: 500; }
.modal-fulllink:hover { text-decoration: underline; }

/* Yasal / bilgilendirme sayfaları */
.legal-section { padding: 48px 0 72px; }
.legal-wrap { max-width: 820px; margin: 0 auto; padding: 0 24px; }
.legal-wrap p { color: #3f4a54; font-size: 15.5px; line-height: 1.85; margin: 0 0 18px; }
.legal-wrap p:last-child { margin-bottom: 0; }
@media (max-width: 640px) { .legal-section { padding: 32px 0 48px; } }

/* 404 sayfası */
.error-page { padding: 96px 24px 110px; display: flex; justify-content: center; }
.error-wrap { max-width: 560px; text-align: center; }
.error-code { font-size: 108px; font-weight: 800; line-height: 1; color: #235b83; letter-spacing: 2px; opacity: .16; }
.error-wrap h1 { margin: 4px 0 14px; font-size: 28px; color: #1e2a35; }
.error-wrap p { color: #3f4a54; font-size: 15.5px; line-height: 1.8; margin: 0 0 26px; }
.error-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 640px) { .error-page { padding: 64px 20px 80px; } .error-code { font-size: 84px; } }
