/* ==========================================================================
   Veri talebi (DSAR) sayfası. Bootstrap/design-system-v3 yüklenmez: form kontrolleri ve uyarılar burada .tn.dr altında.
   App.razor'daki jQuery işleyicisi yalnız `.show` sınıfını (#dr-success-alert / #dr-error-alert) açıp kapatır ve
   #dr-error-text'in metnini yazar; radyo değişince gizli #drRequestType güncellenir. Sayfa statik SSR.
   ========================================================================== */

.tn.dr { --dr-bad: #ff8d7a; --dr-field: #121212; --dr-field-line: rgba(236, 235, 230, .2); }

.tn .dr-main { padding-bottom: clamp(48px, 9vh, 120px); }
.tn .dr-rights .tn-eyebrow { max-width: 52rem; margin: 0 auto 14px; }
.tn .dr-formsec { max-width: 52rem; margin: clamp(48px, 9vh, 112px) auto 0; }
.tn .dr-rights + .dr-formsec { margin-top: clamp(56px, 10vh, 128px); }
.tn .dr-head { margin-bottom: clamp(20px, 3.4vh, 36px); }
.tn .dr-head .tn-h2 { font-size: clamp(30px, 3.8vw, 56px); overflow-wrap: anywhere; }

/* Uyarılar */
.tn .dr-alert {
    display: none; align-items: flex-start; gap: 12px; margin-bottom: 22px; padding: 16px 20px;
    border: 1px solid var(--tn-line); border-radius: 14px; font-size: 15px; line-height: 1.5; color: var(--tn-bone); overflow-wrap: anywhere;
}
.tn .dr-alert.show { display: flex; }
.tn .dr-alert-success { border-color: rgba(255, 125, 34, .55); background: var(--tn-amber-soft); }
.tn .dr-alert-error { border-color: rgba(255, 141, 122, .55); background: rgba(255, 141, 122, .1); }

/* Form */
.tn .dr-form { display: flex; flex-direction: column; gap: 22px; }
.tn .dr-field { display: flex; flex-direction: column; gap: 9px; min-width: 0; margin: 0; padding: 0; border: 0; }
.tn .dr-field > label, .tn .dr-field > legend {
    padding: 0; font-family: var(--tn-mono); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; color: var(--tn-mute);
}
.tn .dr-field > legend { margin-bottom: 9px; float: left; width: 100%; }
.tn .dr-field > legend + * { clear: both; }
.tn .dr-req { margin-left: 4px; color: var(--tn-amber); }

.tn .dr-input {
    display: block; width: 100%; min-height: 52px; padding: 14px 16px;
    border: 1px solid var(--dr-field-line); border-radius: 14px; background: var(--dr-field); color: var(--tn-bone);
    font: 400 16px/1.4 var(--tn-sans); letter-spacing: 0; -webkit-appearance: none; appearance: none;
    transition: border-color .2s ease;
}
.tn .dr-input::placeholder { color: rgba(236, 235, 230, .38); opacity: 1; }
.tn .dr-input:hover { border-color: rgba(236, 235, 230, .36); }
.tn .dr-input:focus { border-color: var(--tn-amber); }
.tn .dr-input:focus-visible { outline: 2px solid var(--tn-amber); outline-offset: 2px; }
.tn .dr-input:user-invalid { border-color: var(--dr-bad); }
.tn .dr-textarea { min-height: 168px; resize: vertical; }
.tn .dr-input:-webkit-autofill { -webkit-text-fill-color: var(--tn-bone); box-shadow: 0 0 0 100px var(--dr-field) inset; caret-color: var(--tn-bone); }

/* Talep türü: üç kart, yerel radyo görünmez ama odaklanabilir kalır */
.tn .dr-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.tn .dr-card {
    position: relative; display: flex; flex-direction: column; gap: 8px; min-width: 0; min-height: 44px; padding: 18px 18px 20px; cursor: pointer;
    border: 1px solid var(--dr-field-line); border-radius: 16px; background: var(--dr-field);
    transition: border-color .2s ease, background-color .2s ease;
}
.tn .dr-card input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.tn .dr-ic { width: 24px; height: 24px; color: var(--tn-mute); transition: color .2s ease; }
.tn .dr-card-t { font-size: 17px; font-weight: 400; letter-spacing: -0.01em; line-height: 1.25; color: var(--tn-bone); overflow-wrap: anywhere; }
.tn .dr-card-d { font-size: 14px; line-height: 1.5; color: var(--tn-mute); overflow-wrap: anywhere; }
.tn .dr-card:has(input:checked) { border-color: var(--tn-amber); background: var(--tn-amber-soft); }
.tn .dr-card:has(input:checked) .dr-ic { color: var(--tn-amber); }
.tn .dr-card:has(input:focus-visible) { outline: 2px solid var(--tn-amber); outline-offset: 3px; }
@media (hover: hover) { .tn .dr-card:hover { border-color: rgba(236, 235, 230, .5); } .tn .dr-card:has(input:checked):hover { border-color: var(--tn-amber); } }

.tn .dr-notice { padding-left: 16px; border-left: 2px solid var(--tn-amber); font-size: 14px; line-height: 1.6; color: var(--tn-mute); }
.tn .dr-submit { align-self: flex-start; margin-top: 4px; }
.tn .dr-submit:focus-visible { outline: 2px solid var(--tn-bone); outline-offset: 3px; }
.tn .dr-submit:disabled { opacity: .6; cursor: progress; }

@media (max-width: 860px) {
    .tn .dr-cards { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .tn .dr-input, .tn .dr-card, .tn .dr-ic { transition: none; }
}
