/**
 * KurumsalScript - Forms
 */

.form-grup {
    margin-bottom: var(--spacing-5);
}

.form-etiket {
    display: block;
    font-size: var(--font-sm);
    font-weight: var(--font-weight-medium);
    color: var(--metin-birincil);
    margin-bottom: var(--spacing-2);
}

.form-etiket .zorunlu { color: var(--renk-tehlike); margin-left: 3px; }

.form-girdi {
    width: 100%;
    padding: 0.75rem 1rem;
    background: var(--arkaplan-birincil);
    border: 1.5px solid var(--kenar-rengi);
    border-radius: var(--kenar-radius);
    font-family: var(--font-birincil);
    font-size: var(--font-base);
    color: var(--metin-birincil);
    transition: border-color var(--gecis-hizli), box-shadow var(--gecis-hizli), background var(--gecis-hizli);
    appearance: none;
    -webkit-appearance: none;
}

.form-girdi::placeholder { color: var(--metin-ucuncul); }

.form-girdi:focus {
    outline: none;
    border-color: var(--renk-birincil);
    box-shadow: 0 0 0 3px rgba(var(--renk-birincil-rgb), .12);
}

.form-girdi:disabled {
    background: var(--arkaplan-ikincil);
    opacity: 0.6;
    cursor: not-allowed;
}

textarea.form-girdi { min-height: 140px; resize: vertical; }

select.form-girdi {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2364748b'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 20px;
    padding-right: 2.5rem;
}

/* İkonlu girdi */
.girdi-grup {
    position: relative;
}

.girdi-grup .form-girdi {
    padding-left: 2.75rem;
}

.girdi-grup .girdi-ikon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--metin-ucuncul);
    font-size: 1.1rem;
    pointer-events: none;
}

/* Hata durumu */
.form-girdi.hata {
    border-color: var(--renk-tehlike);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .12);
}

.form-hata-mesaji {
    font-size: var(--font-xs);
    color: var(--renk-tehlike);
    margin-top: var(--spacing-1);
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

/* Checkbox & Radio */
.form-checkbox,
.form-radio {
    display: flex;
    align-items: center;
    gap: var(--spacing-3);
    cursor: pointer;
    font-size: var(--font-sm);
    color: var(--metin-ikincil);
}

.form-checkbox input,
.form-radio input {
    width: 18px;
    height: 18px;
    accent-color: var(--renk-birincil);
    cursor: pointer;
    flex-shrink: 0;
}

/* İletişim formu */
.iletisim-form {
    background: var(--arkaplan-birincil);
    border: 1px solid var(--kenar-rengi);
    border-radius: var(--kenar-radius-xl);
    padding: var(--spacing-10);
    box-shadow: var(--golge);
}

.iletisim-form h3 {
    font-size: var(--font-2xl);
    margin-bottom: var(--spacing-8);
    padding-bottom: var(--spacing-5);
    border-bottom: 1px solid var(--kenar-rengi);
}

.form-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-5);
}

@media (max-width: 640px) {
    .form-grid-2 { grid-template-columns: 1fr; }
    .iletisim-form { padding: var(--spacing-6); }
}

/* ====================================================
   MOBİL RESPONSIVE
   ==================================================== */

@media (max-width: 768px) {
    .mobil-gizle  { display: none !important; }
    .mobil-goster { display: block !important; }
    .mobil-tam    { width: 100% !important; }
    .bolum-basi   { margin-bottom: var(--spacing-10); }
}

@media (min-width: 769px) {
    .sadece-mobil { display: none !important; }
}

/* ====================================================
   UTİLİTİES
   ==================================================== */

/* Boşluklar */
.m-0 { margin: 0; }
.mb-2 { margin-bottom: var(--spacing-2); }
.mb-4 { margin-bottom: var(--spacing-4); }
.mb-6 { margin-bottom: var(--spacing-6); }
.mb-8 { margin-bottom: var(--spacing-8); }
.mb-12 { margin-bottom: var(--spacing-12); }
.mt-4 { margin-top: var(--spacing-4); }
.mt-8 { margin-top: var(--spacing-8); }
.mt-auto { margin-top: auto; }
.mx-auto { margin-inline: auto; }

.p-4 { padding: var(--spacing-4); }
.p-6 { padding: var(--spacing-6); }
.p-8 { padding: var(--spacing-8); }
.pt-0 { padding-top: 0; }

/* Renkler */
.text-birincil  { color: var(--renk-birincil) !important; }
.text-ikincil   { color: var(--renk-ikincil) !important; }
.text-basari    { color: var(--renk-basari) !important; }
.text-tehlike   { color: var(--renk-tehlike) !important; }
.text-uyari     { color: var(--renk-uyari) !important; }
.text-muted     { color: var(--metin-ucuncul) !important; }
.text-beyaz     { color: #fff !important; }

/* Arkaplan */
.bg-birincil { background: var(--renk-birincil); }
.bg-ikincil  { background: var(--arkaplan-ikincil); }
.bg-beyaz    { background: #fff; }
.bg-koyu     { background: var(--renk-gri-900); }

/* Display */
.d-block  { display: block; }
.d-flex   { display: flex; }
.d-grid   { display: grid; }
.d-none   { display: none; }
.d-inline { display: inline; }
.d-inline-flex { display: inline-flex; }

/* Position */
.relative { position: relative; }
.absolute  { position: absolute; }
.fixed     { position: fixed; }
.sticky    { position: sticky; }

/* Overflow */
.overflow-hidden { overflow: hidden; }

/* Border Radius */
.rounded-sm  { border-radius: var(--kenar-radius-sm); }
.rounded     { border-radius: var(--kenar-radius); }
.rounded-lg  { border-radius: var(--kenar-radius-lg); }
.rounded-xl  { border-radius: var(--kenar-radius-xl); }
.rounded-tam { border-radius: var(--kenar-radius-tam); }

/* Gölge */
.golge-sm { box-shadow: var(--golge-sm); }
.golge    { box-shadow: var(--golge); }
.golge-md { box-shadow: var(--golge-md); }
.golge-lg { box-shadow: var(--golge-lg); }

/* Width */
.w-full  { width: 100%; }
.max-w-sm { max-width: 480px; }
.max-w-md { max-width: 640px; }
.max-w-lg { max-width: 860px; }

/* Alert kutuları */
.alert {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-3);
    padding: var(--spacing-4) var(--spacing-5);
    border-radius: var(--kenar-radius);
    font-size: var(--font-sm);
    border: 1px solid transparent;
}

.alert i { font-size: 1.1em; flex-shrink: 0; margin-top: 1px; }
.alert-basari  { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.alert-hata    { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.alert-uyari   { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.alert-bilgi   { background: #eff6ff; color: #1e40af; border-color: #bfdbfe; }

/* Rozet */
.rozet {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.65rem;
    border-radius: var(--kenar-radius-tam);
    font-size: var(--font-xs);
    font-weight: var(--font-weight-semibold);
}

.rozet-birincil { background: rgba(var(--renk-birincil-rgb), .1); color: var(--renk-birincil); }
.rozet-basari   { background: #ecfdf5; color: #059669; }
.rozet-tehlike  { background: #fef2f2; color: #dc2626; }
.rozet-uyari    { background: #fffbeb; color: #d97706; }
.rozet-gri      { background: var(--arkaplan-ikincil); color: var(--metin-ikincil); }

/* Ayraç */
.ayrac { height: 1px; background: var(--kenar-rengi); border: none; margin-block: var(--spacing-8); }

/* Section başlık wrapper */
.bolum-basi-wrap {
    text-align: center;
    max-width: 680px;
    margin: 0 auto var(--spacing-16);
}

.bolum-basi-wrap h2 { margin-bottom: var(--spacing-4); }
.bolum-basi-wrap p  { font-size: var(--font-md); color: var(--metin-ikincil); }

/* Sayfalama */
.sayfalama {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-2);
    margin-top: var(--spacing-12);
}

.sayfa-btn {
    min-width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--kenar-radius);
    font-size: var(--font-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    color: var(--metin-ikincil);
    background: var(--arkaplan-birincil);
    border: 1px solid var(--kenar-rengi);
    transition: all var(--gecis-hizli);
    cursor: pointer;
}

.sayfa-btn:hover  { background: var(--arkaplan-ikincil); color: var(--renk-birincil); }
.sayfa-btn.aktif  { background: var(--renk-birincil); color: #fff; border-color: var(--renk-birincil); }
.sayfa-btn:disabled { opacity: 0.4; cursor: not-allowed; }

/* Boş durum */
.bos-durum {
    text-align: center;
    padding: var(--spacing-24);
    color: var(--metin-ucuncul);
}

.bos-durum i    { font-size: 3rem; display: block; margin-bottom: var(--spacing-4); }
.bos-durum h3   { font-size: var(--font-xl); color: var(--metin-birincil); margin-bottom: var(--spacing-2); }
.bos-durum p    { max-width: 400px; margin: 0 auto var(--spacing-6); }

/* Yükleme Spinner */
.spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--kenar-rengi);
    border-top-color: var(--renk-birincil);
    border-radius: 50%;
    animation: dön 0.7s linear infinite;
    margin: var(--spacing-8) auto;
}

/* Hero banner genel */
.hero-bolum {
    min-height: 60vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding-block: var(--spacing-32);
    background: linear-gradient(135deg, var(--renk-birincil) 0%, var(--renk-aksent) 100%);
}

.hero-bolum .overlay {
    position: absolute;
    inset: 0;
    background: url('/temalar/varsayilan/assets/images/pattern.svg') repeat;
    opacity: 0.06;
    pointer-events: none;
}

.hero-bolum-icerik {
    position: relative;
    z-index: 1;
    color: #fff;
}

.hero-bolum h1 { color: #fff; margin-bottom: var(--spacing-4); }
.hero-bolum p  { color: rgba(255,255,255,.8); font-size: var(--font-md); margin-bottom: var(--spacing-8); max-width: 560px; }
