/* Ortak randevu bölümü iskeleti. Tema, .rg, .rf üzerinde --rg-* değişkenlerini tanımlayarak uyarlar
   (Resmî Gazete bölümüyle aynı değişkenler), gerekirse .rf-* sınıflarını kendi dilinde ezer. */
.rf {
    --rg-bg: #f6f7fa; --rg-surface: #ffffff; --rg-text: #16202e; --rg-muted: #66728a;
    --rg-accent: #1a4fa3; --rg-accent-text: #ffffff; --rg-border: #dfe4ee; --rg-radius: 12px;
    --rg-font-head: inherit; --rg-font-body: inherit; --rg-border-w: 1px; --rg-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px -12px rgba(15, 23, 42, .12);
    --rg-head-transform: none; --rg-head-spacing: -.01em; --rg-head-weight: 700;
    background: var(--rg-bg); color: var(--rg-text); font-family: var(--rg-font-body); padding: 72px 0; scroll-margin-top: 70px;
}
.rf *, .rf *::before, .rf *::after { box-sizing: border-box; }
.rf-wrap { width: min(1160px, calc(100% - 40px)); margin: 0 auto; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 48px; align-items: start; }
.rf-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--rg-accent); margin-bottom: 10px; }
.rf-h { margin: 0 0 12px; font-family: var(--rg-font-head); font-size: clamp(26px, 3.4vw, 38px); line-height: 1.15; font-weight: var(--rg-head-weight); letter-spacing: var(--rg-head-spacing); text-transform: var(--rg-head-transform); color: var(--rg-text); }
.rf-lead { margin: 0 0 24px; max-width: 46ch; color: var(--rg-muted); font-size: 16px; line-height: 1.6; }
.rf-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.rf-contact li { display: grid; gap: 2px; }
.rf-contact-k { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rg-muted); }
.rf-contact a { color: var(--rg-text); font-size: 17px; font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--rg-border); width: fit-content; }
.rf-contact a:hover { color: var(--rg-accent); border-color: var(--rg-accent); }

.rf-card { background: var(--rg-surface); border: var(--rg-border-w) solid var(--rg-border); border-radius: var(--rg-radius); box-shadow: var(--rg-shadow); padding: 28px; }
.rf-msg { margin-bottom: 18px; padding: 12px 14px; border-radius: calc(var(--rg-radius) * .6); font-size: 14px; line-height: 1.5; border: var(--rg-border-w) solid transparent; }
.rf-msg[hidden] { display: none; }
.rf-ok { background: #e7f6ee; color: #145a38; border-color: #bfe4cf; }
.rf-err { background: #fdecec; color: #8a1f1f; border-color: #f3c3c3; }
.rf-form { display: grid; gap: 16px; }
.rf-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rf-field { display: grid; gap: 6px; min-width: 0; }
.rf-field label { font-size: 13px; font-weight: 600; color: var(--rg-text); }
.rf-req { color: var(--rg-accent); }
.rf-field input, .rf-field textarea { width: 100%; padding: 12px 14px; border: var(--rg-border-w) solid var(--rg-border); border-radius: calc(var(--rg-radius) * .6); background: var(--rg-bg); color: var(--rg-text); font: inherit; font-size: 15px; transition: border-color .15s, box-shadow .15s; }
.rf-field textarea { resize: vertical; min-height: 110px; }
.rf-field input:focus, .rf-field textarea:focus { outline: 2px solid var(--rg-accent); outline-offset: 1px; border-color: var(--rg-accent); }
.rf-btn { justify-self: start; padding: 13px 26px; border: var(--rg-border-w) solid var(--rg-accent); border-radius: calc(var(--rg-radius) * .6); background: var(--rg-accent); color: var(--rg-accent-text); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; transition: filter .15s, transform .15s; }
.rf-btn:hover { filter: brightness(1.08); }
.rf-btn:focus-visible { outline: 2px solid var(--rg-accent); outline-offset: 3px; }
.rf-btn:disabled { opacity: .6; cursor: progress; }

@media (max-width: 900px) { .rf-wrap { grid-template-columns: minmax(0, 1fr); gap: 28px; } }
@media (max-width: 560px) { .rf { padding: 52px 0; } .rf-row { grid-template-columns: minmax(0, 1fr); } .rf-card { padding: 20px; } .rf-btn { width: 100%; justify-self: stretch; } }
@media (prefers-reduced-motion: reduce) { .rf-btn, .rf-field input, .rf-field textarea { transition: none; } }
