/* ═══════════════════════════════════════════════════════════════════════════
   EMIL / APPLE PREMIUM TEMA v2 (flag'li: ?ui=emil) — kurumsal kırmızı #C81E2B korunur
   neumorphism token'larını override eder → tüm sayfalara yansır (şablon değişmez)
   İlkeler: apple-design + animate (emilkowalski/skills)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ---------- LIGHT ---------- */
:root{
  --neu-bg:#F5F5F7;               /* Apple açık zemin */
  --neu-surface:#FFFFFF;
  --neu-surface-2:#FBFBFD;        /* ikincil yüzey */
  --neu-elev:#FFFFFF;
  --neu-text:#1D1D1F;            /* near-black */
  --neu-text-muted:#6E6E73;
  --neu-accent:#C81E2B; --neu-accent-rgb:200,30,43;
  --neu-accent-hi:#E8323F; --neu-accent-lo:#A61622;
  --hair:rgba(0,0,0,.09);        /* hairline kenar */
  --hair-strong:rgba(0,0,0,.14);

  --neu-radius-sm:9px; --neu-radius:14px; --neu-radius-lg:20px; --neu-radius-xl:28px;
  --r-pill:980px;

  --neu-shadow-sm:0 1px 2px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.08);
  --neu-shadow:0 4px 14px rgba(0,0,0,.07),0 2px 6px rgba(0,0,0,.05);
  --neu-shadow-lg:0 12px 34px rgba(0,0,0,.10),0 6px 14px rgba(0,0,0,.07);
  --neu-shadow-xl:0 24px 64px rgba(0,0,0,.14),0 10px 24px rgba(0,0,0,.09);
  --neu-shadow-inset:inset 0 0 0 1px var(--hair);
  --neu-shadow-inset-sm:inset 0 0 0 1px var(--hair);
  --neu-focus-ring:0 0 0 4px rgba(var(--neu-accent-rgb),.25);
  --bs-box-shadow:var(--neu-shadow); --bs-box-shadow-sm:var(--neu-shadow-sm); --bs-box-shadow-lg:var(--neu-shadow-lg);

  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-io:cubic-bezier(0.77,0,0.175,1);
  --neu-ease-out:var(--ease-out); --neu-ease-in-out:var(--ease-io);
  --d-press:120ms; --d-ui:220ms; --d-slow:340ms;
  --glass:rgba(255,255,255,.72);
  --glass-border:var(--hair);

  --sp-1:.5rem; --sp-2:1rem; --sp-3:1.5rem; --sp-4:2.5rem; --sp-5:4rem;
}
/* ---------- DARK ---------- */
html[data-bs-theme="dark"]{
  --neu-bg:#000000;              /* Apple true-dark */
  --neu-surface:#1C1C1E;
  --neu-surface-2:#161618;
  --neu-elev:#2C2C2E;
  --neu-text:#F5F5F7; --neu-text-muted:#98989D;
  --neu-accent:#FF453A; --neu-accent-rgb:255,69,58;
  --neu-accent-hi:#FF6961; --neu-accent-lo:#D70015;
  --hair:rgba(255,255,255,.12); --hair-strong:rgba(255,255,255,.18);
  --neu-shadow-sm:0 1px 2px rgba(0,0,0,.5);
  --neu-shadow:0 4px 16px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.4);
  --neu-shadow-lg:0 14px 40px rgba(0,0,0,.6);
  --neu-shadow-xl:0 28px 70px rgba(0,0,0,.7);
  --neu-shadow-inset:inset 0 0 0 1px var(--hair);
  --glass:rgba(28,28,30,.72);
}

/* ---------- BASE / TİPOGRAFİ ---------- */
html{ -webkit-text-size-adjust:100%; }
body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  background:var(--neu-bg) !important; color:var(--neu-text) !important;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  letter-spacing:0; line-height:1.5;
}
h1,h2,h3,.h1,.h2,.h3,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,"Inter",sans-serif !important;
  font-weight:700 !important; letter-spacing:-0.021em !important; line-height:1.08 !important; text-wrap:balance;
}
.display-1,.display-2,.display-3{ letter-spacing:-0.03em !important; line-height:1.04 !important; }
h4,h5,h6,.h4,.h5,.h6{ font-weight:600 !important; letter-spacing:-0.014em !important; }
p,.lead{ line-height:1.6; }
.lead{ font-weight:400; color:var(--neu-text-muted); }
a{ color:var(--neu-accent); text-decoration:none; transition:color var(--d-ui) var(--ease-out),opacity var(--d-ui) var(--ease-out); }
a:hover{ opacity:.82; }
::selection{ background:rgba(var(--neu-accent-rgb),.22); }
hr,.dropdown-divider{ border-color:var(--hair) !important; opacity:1; }

/* ---------- BUTONLAR (pill + spring press) ---------- */
.btn{
  --_bg:var(--neu-surface);
  font-weight:600 !important; letter-spacing:-0.01em;
  border-radius:var(--r-pill) !important;
  border:1px solid var(--hair) !important;
  background:var(--_bg); color:var(--neu-text);
  box-shadow:var(--neu-shadow-sm) !important;
  padding:.55rem 1.25rem;
  transition:transform var(--d-press) var(--ease-out),box-shadow var(--d-ui) var(--ease-out),
             background-color var(--d-ui) var(--ease-out),filter var(--d-ui) var(--ease-out),
             border-color var(--d-ui) var(--ease-out) !important;
}
@media (hover:hover) and (pointer:fine){ .btn:hover{ transform:translateY(-1px); box-shadow:var(--neu-shadow) !important; } }
.btn:active,.btn.active{ transform:scale(.96) !important; box-shadow:var(--neu-shadow-sm) !important; transition-duration:var(--d-press) !important; }
.btn:focus-visible{ outline:none; box-shadow:var(--neu-shadow-sm),var(--neu-focus-ring) !important; }
.btn-primary,.btn-danger{
  background:linear-gradient(180deg,var(--neu-accent-hi),var(--neu-accent)) !important; color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 1px 1px rgba(0,0,0,.10),0 6px 18px rgba(var(--neu-accent-rgb),.32),inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.btn-primary:hover,.btn-danger:hover{ filter:brightness(1.06) saturate(1.05); }
.btn-outline-primary,.btn-outline-danger{ background:transparent !important; color:var(--neu-accent) !important; border:1px solid rgba(var(--neu-accent-rgb),.55) !important; box-shadow:none !important; }
.btn-outline-primary:hover,.btn-outline-danger:hover{ background:rgba(var(--neu-accent-rgb),.08) !important; }
.btn-secondary,.btn-light,.btn-outline-secondary{ background:var(--neu-surface) !important; color:var(--neu-text) !important; }
.btn-link{ box-shadow:none !important; border:none !important; background:transparent; color:var(--neu-accent); padding-left:.25rem; padding-right:.25rem; }
.btn-sm{ padding:.35rem .9rem; font-size:.85rem; }
.btn-lg{ padding:.8rem 1.7rem; font-size:1.05rem; }

/* ---------- KARTLAR / YÜZEYLER ---------- */
.card,.neu-surface,.neu-card,.glass-card{
  background:var(--neu-surface) !important; border:1px solid var(--hair) !important;
  box-shadow:var(--neu-shadow-sm) !important; border-radius:var(--neu-radius-lg) !important;
  transition:box-shadow var(--d-ui) var(--ease-out),transform var(--d-ui) var(--ease-out) !important;
}
.card .card-header,.card .card-footer{ background:transparent !important; border-color:var(--hair) !important; }
@media (hover:hover) and (pointer:fine){ .card:hover{ box-shadow:var(--neu-shadow) !important; transform:translateY(-2px); } }
.bg-body,.bg-body-tertiary,.bg-light,.bg-white{ background:var(--neu-surface) !important; }

/* ---------- FORMLAR (44px dokunma + kırmızı focus-ring) ---------- */
.form-control,.form-select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]){
  background:var(--neu-surface) !important; color:var(--neu-text) !important;
  border:1px solid var(--hair-strong) !important; box-shadow:none !important;
  border-radius:var(--neu-radius) !important; min-height:44px; padding:.6rem .9rem;
  transition:border-color var(--d-ui) var(--ease-out),box-shadow var(--d-ui) var(--ease-out) !important;
}
.form-control:focus,.form-select:focus,textarea:focus{ border-color:var(--neu-accent) !important; box-shadow:var(--neu-focus-ring) !important; outline:none !important; }
.form-control::placeholder{ color:var(--neu-text-muted); opacity:.7; }
.form-check-input:checked{ background-color:var(--neu-accent) !important; border-color:var(--neu-accent) !important; }
.form-switch .form-check-input{ transition:background-position var(--d-ui) var(--ease-io),background-color var(--d-ui) var(--ease-out); }
.input-group-text{ background:var(--neu-surface-2) !important; border-color:var(--hair-strong) !important; color:var(--neu-text-muted) !important; }

/* ---------- NAVBAR (translucent + scroll-edge) ---------- */
.navbar{
  background:var(--glass) !important;
  backdrop-filter:saturate(180%) blur(20px); -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--hair) !important; box-shadow:none !important;
}
.navbar .nav-link{ color:var(--neu-text) !important; font-weight:500; border-radius:var(--r-pill); transition:background-color var(--d-ui) var(--ease-out),color var(--d-ui) var(--ease-out); }
.navbar .nav-link:hover{ background:rgba(var(--neu-accent-rgb),.08); }
.navbar .nav-link.active{ color:var(--neu-accent) !important; }

/* ---------- SEGMENTED / TABS / PILLS ---------- */
.nav-pills{ background:var(--neu-surface-2); border:1px solid var(--hair); border-radius:var(--r-pill); padding:4px; gap:2px; display:inline-flex; }
.nav-pills .nav-link{ border-radius:var(--r-pill) !important; color:var(--neu-text-muted) !important; font-weight:600; padding:.4rem 1rem; transition:color var(--d-ui) var(--ease-out),background-color var(--d-ui) var(--ease-out),box-shadow var(--d-ui) var(--ease-out); }
.nav-pills .nav-link.active{ background:var(--neu-surface) !important; color:var(--neu-text) !important; box-shadow:var(--neu-shadow-sm); }
.nav-tabs{ border-bottom:1px solid var(--hair); }
.nav-tabs .nav-link{ border:none !important; color:var(--neu-text-muted) !important; border-bottom:2px solid transparent !important; border-radius:0 !important; }
.nav-tabs .nav-link.active{ color:var(--neu-accent) !important; border-bottom-color:var(--neu-accent) !important; background:transparent !important; }

/* ---------- DROPDOWN / MODAL / OFFCANVAS (yuvarlak + blur + giriş) ---------- */
.dropdown-menu,.modal-content,.offcanvas,.popover{
  background:var(--glass) !important; backdrop-filter:saturate(180%) blur(22px); -webkit-backdrop-filter:saturate(180%) blur(22px);
  border:1px solid var(--hair) !important; border-radius:var(--neu-radius-lg) !important; box-shadow:var(--neu-shadow-xl) !important;
}
.dropdown-item{ border-radius:9px; transition:background-color var(--d-ui) var(--ease-out); }
.dropdown-item:hover,.dropdown-item:focus{ background:rgba(var(--neu-accent-rgb),.10); color:var(--neu-text); }
.dropdown-item.active,.dropdown-item:active{ background:var(--neu-accent); color:#fff; }
.modal.fade .modal-dialog{ transition:transform var(--d-slow) var(--ease-out),opacity var(--d-slow) var(--ease-out) !important; transform:translateY(12px) scale(.98); }
.modal.show .modal-dialog{ transform:none; }

/* ---------- BADGE / CHIP / ALERT ---------- */
.badge{ font-weight:600; letter-spacing:.01em; border-radius:var(--r-pill); }
.badge.bg-primary,.badge.bg-danger{ background:var(--neu-accent) !important; }
.alert{ border:1px solid var(--hair); border-radius:var(--neu-radius); background:var(--neu-surface); }

/* ---------- TABLO ---------- */
.table{ color:var(--neu-text); }
.table > :not(caption) > * > *{ border-bottom-color:var(--hair) !important; }
.table-hover > tbody > tr:hover > *{ background:rgba(var(--neu-accent-rgb),.05) !important; }

/* ---------- SCROLLBAR ---------- */
*{ scrollbar-width:thin; scrollbar-color:var(--hair-strong) transparent; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:var(--hair-strong); border-radius:999px; border:3px solid transparent; background-clip:content-box; }
::-webkit-scrollbar-thumb:hover{ background:var(--neu-text-muted); background-clip:content-box; }
::-webkit-scrollbar-track{ background:transparent; }

/* ---------- FOCUS-VISIBLE (klavye) ---------- */
:focus-visible{ outline:none; }
a:focus-visible,button:focus-visible,.nav-link:focus-visible{ box-shadow:var(--neu-focus-ring); border-radius:8px; }

/* ---------- MOTION / ERİŞİLEBİLİRLİK ---------- */
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{ transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }
@media (prefers-contrast:more){ :root{ --hair:rgba(0,0,0,.24); --hair-strong:rgba(0,0,0,.34); } }

/* ═══════════════════════════════════════════════════════════════════════════
   v3 — NAVBAR MAVİ-FIX (deterministik) + daha fazla premium element
   ═══════════════════════════════════════════════════════════════════════════ */
/* Navbar: her durumda Apple materyali + tema renkleri; MAVİ sızıntısı engellenir
   (landing + app, light+dark; neumorphism'in opak navbar-landing kuralını ezer) */
.navbar.navbar-landing,
html[data-bs-theme="dark"] .navbar.navbar-landing,
.navbar{
  background: var(--glass) !important;
  backdrop-filter: saturate(180%) blur(20px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
  border-bottom: 1px solid var(--hair) !important;
  box-shadow: none !important;
}
.navbar .navbar-brand{ color: var(--neu-accent) !important; font-weight:700 !important; letter-spacing:-0.02em; }
.navbar .nav-link, .navbar-landing .nav-link{ color: var(--neu-text) !important; font-weight:500; }
.navbar .nav-link:hover, .navbar-landing .nav-link:hover{ color: var(--neu-accent) !important; background:transparent !important; }
.navbar .nav-link.active, .navbar-landing .nav-link.active{ color: var(--neu-accent) !important; font-weight:600; }
.navbar-toggler{ border:1px solid var(--hair) !important; box-shadow:none !important; padding:.4rem .6rem; }
.navbar-toggler:focus-visible{ box-shadow: var(--neu-focus-ring) !important; }
.navbar-toggler-icon{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(29,29,31,0.78)' stroke-width='2.2' stroke-linecap='round' d='M4 8h22M4 15h22M4 22h22'/%3E%3C/svg%3E") !important;
}
html[data-bs-theme="dark"] .navbar-toggler-icon{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(245,245,247,0.9)' stroke-width='2.2' stroke-linecap='round' d='M4 8h22M4 15h22M4 22h22'/%3E%3C/svg%3E") !important;
}
/* Bootstrap MAVİ kalıntılarını kesin kırmızıya sabitle */
.text-primary,.link-primary,.text-info,.link-info{ color: var(--neu-accent) !important; }
.bg-primary,.bg-info{ background-color: var(--neu-accent) !important; }
.border-primary{ border-color: var(--neu-accent) !important; }
a:not(.btn):not(.nav-link):not(.navbar-brand):not(.dropdown-item){ color: var(--neu-accent); }

/* ---------- Daha fazla premium element ---------- */
/* List group */
.list-group{ border-radius:var(--neu-radius-lg); overflow:hidden; border:1px solid var(--hair); }
.list-group-item{ background:var(--neu-surface) !important; border-color:var(--hair) !important; color:var(--neu-text) !important; padding:.85rem 1.1rem; }
.list-group-item.active{ background:var(--neu-accent) !important; border-color:var(--neu-accent) !important; color:#fff !important; }
.list-group-item-action:hover{ background:rgba(var(--neu-accent-rgb),.06) !important; }
/* Pagination */
.page-link{ color:var(--neu-text) !important; border-color:var(--hair) !important; background:var(--neu-surface) !important; }
.page-item.active .page-link{ background:var(--neu-accent) !important; border-color:var(--neu-accent) !important; color:#fff !important; }
/* Tooltip */
.tooltip-inner{ background:rgba(20,20,22,.9) !important; color:#fff; border-radius:9px; padding:.4rem .65rem; font-weight:500; }
/* Progress */
.progress{ background:var(--neu-surface-2) !important; border-radius:var(--r-pill); height:8px; box-shadow:var(--neu-shadow-inset); }
.progress-bar{ background:var(--neu-accent) !important; border-radius:var(--r-pill); }
/* Spinner accent */
.spinner-border.text-primary,.spinner-grow.text-primary{ color:var(--neu-accent) !important; }
/* Görsel/avatar */
img.rounded-circle,.avatar{ box-shadow:var(--neu-shadow-sm); }
/* Code / kbd / blockquote */
code{ color:var(--neu-accent); background:rgba(var(--neu-accent-rgb),.08); padding:.12em .42em; border-radius:6px; font-size:.9em; }
kbd{ background:var(--neu-text); color:var(--neu-surface); border-radius:6px; padding:.15em .45em; }
blockquote{ border-left:3px solid var(--neu-accent); padding-left:1rem; color:var(--neu-text-muted); }
/* Bölüm ritmi — ferah Apple boşlukları (landing/section) */
.landing-body section, section[id]{ padding-top:clamp(3rem,6vw,6rem); padding-bottom:clamp(3rem,6vw,6rem); }
/* Container hizası korunur; kartlarda iç boşluk cömertliği */
.card .card-body{ padding:clamp(1.25rem,2.2vw,2rem); }
/* Bootstrap divider/hr */
.dropdown-divider,hr{ border-top:1px solid var(--hair) !important; opacity:1; }

/* ═══ v4 — theme.js'in RUNTIME enjekte ettiği navy #mainNavbar'ı EZ ═══
   theme.js `#mainNavbar { background: rgba(15,23,42,.95) }` (slate-900 navy) enjekte ediyor;
   ID+!important+geç-yükleme ile class kuralları yetmiyor → `html #mainNavbar` (daha yüksek özgüllük) ile ezilir.
   Sonuç: light'ta translucent beyaz, dark'ta nötr — NAVY GİDER. Kurumsal kırmızı korunur. */
html #mainNavbar{
  background: var(--glass) !important;
  backdrop-filter: saturate(180%) blur(20px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
  border-bottom: 1px solid var(--hair) !important;
  box-shadow: none !important;
}
html #mainNavbar .navbar-brand{ color: var(--neu-accent) !important; }
html #mainNavbar .nav-link{ color: var(--neu-text) !important; font-weight:500 !important; }
html #mainNavbar .nav-link:hover, html #mainNavbar .nav-link.active{ color: var(--neu-accent) !important; }
html #mainNavbar .navbar-collapse{ background: transparent !important; }
html #mainNavbar .text-white{ color: var(--neu-text-muted) !important; }
html #mainNavbar .btn-sm, html #mainNavbar button.btn-sm{ border-radius: var(--r-pill) !important; }
