/* Standalone auth pages — no Bootstrap required for first paint. */

:root{
  color-scheme: light;
  --bd-bg:#F5F2EB; --bd-surface:#FFFCF8; --bd-surface-2:#EFE9DF;
  --bd-text:#2A2530; --bd-text-strong:#1A1620; --bd-muted:#6B6470;
  --bd-border:#DDD5C8; --bd-accent:#7C5C9A; --bd-accent-rgb:124,92,154;
  --bd-accent-text:#6B4F86; --bd-danger:#B42318; --bd-danger-bg:#FEF3F2;
  --bd-radius:14px; --bd-font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --bd-gutter:32px;
  --bd-pad-left:calc(var(--bd-gutter) + env(safe-area-inset-left, 0px));
  --bd-pad-right:calc(var(--bd-gutter) + env(safe-area-inset-right, 0px));
}
html[data-bs-theme="dark"]{
  color-scheme: dark;
  --bd-bg:#15131A; --bd-surface:#1C1922; --bd-surface-2:#24202C;
  --bd-text:#E8E2EF; --bd-text-strong:#F6F1FA; --bd-muted:#A79EB0;
  --bd-border:rgba(255,255,255,.12); --bd-accent:#B8A0C8; --bd-accent-rgb:184,160,200;
  --bd-accent-text:#D4C2E0; --bd-danger:#F97066; --bd-danger-bg:rgba(249,112,102,.12);
}

*,*::before,*::after{ box-sizing:border-box; }
html,body{ min-height:100%; }
body{
  margin:0;
  font-family:var(--bd-font);
  font-size:16px;
  line-height:1.45;
  background:var(--bd-bg);
  color:var(--bd-text);
  overflow-x:hidden;
}
a{ color:var(--bd-accent-text); text-decoration:none; }
a:hover{ text-decoration:underline; }

.bd-topbar{
  position:sticky; top:0; z-index:40;
  background:color-mix(in srgb, var(--bd-surface) 92%, transparent);
  border-bottom:1px solid var(--bd-border);
}
.bd-topbar-inner{
  display:flex; align-items:center; gap:.75rem;
  min-height:56px; padding:8px var(--bd-pad-right) 8px var(--bd-pad-left); max-width:720px; margin:0 auto;
}
.bd-topbar--ghost{ background:transparent; border-bottom:0; }
.bd-topbar--ghost .bd-brand{ display:none; }
.bd-topbar-actions{ margin-left:auto; display:flex; align-items:center; gap:.5rem; }

.bd-icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:10px;
  border:1px solid var(--bd-border); background:var(--bd-surface); color:var(--bd-text);
  cursor:pointer; touch-action:manipulation; position:relative; z-index:2;
}
.bd-icon-btn svg{ width:18px; height:18px; }
html[data-bs-theme="dark"] .bd-icon-moon{ display:none; }
html:not([data-bs-theme="dark"]) .bd-icon-sun{ display:none; }
.bd-lang-select{
  height:40px; border-radius:10px; border:1px solid var(--bd-border);
  background:var(--bd-surface); color:var(--bd-text); padding:0 .6rem; font-size:.875rem;
}

.container-fluid, #content-wrap, .container{
  padding-left: var(--bd-pad-left);
  padding-right: var(--bd-pad-right);
  box-sizing: border-box;
}
.bd-narrow{ max-width:480px; margin:0 auto; padding:0 0 .75rem; }
.bd-narrow--form{ max-width:580px; }
.bd-auth{ padding-top:.2rem; }
.bd-auth-brand{ text-align:center; margin-bottom:.85rem; }
.bd-auth-lead{
  margin:.45rem 0 0; font-weight:700; text-transform:uppercase;
  letter-spacing:.5px; color:var(--bd-accent); font-size:.85rem;
}
.login-logo{ max-width:220px; width:62%; height:auto; }
.login-logo--light{ display:inline-block; }
.login-logo--dark{ display:none; }
html[data-bs-theme="dark"] .login-logo--light{ display:none; }
html[data-bs-theme="dark"] .login-logo--dark{ display:inline-block; }

.card{
  background:var(--bd-surface);
  border:1px solid var(--bd-border);
  border-radius:var(--bd-radius);
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.card-body{ padding:.7rem .75rem .75rem; }
.bd-field{ display:flex; flex-direction:column; gap:.12rem; margin-bottom:0; }
.form-label{ font-size:.85rem; font-weight:600; color:var(--bd-text-strong); margin:0; }
.bd-field-hint{ margin:0; font-size:.72rem; line-height:1.3; color:var(--bd-muted); }
.form-control{
  width:100%; min-height:40px; padding:.5rem .7rem; font:inherit; color:var(--bd-text);
  background:var(--bd-bg); border:1px solid var(--bd-border); border-radius:10px;
}
.form-control:focus, .form-select:focus{
  outline:2px solid color-mix(in srgb, var(--bd-accent) 45%, transparent);
  border-color:var(--bd-accent);
}
.form-select{
  width:100%; min-height:40px; padding:.5rem .7rem; font:inherit; color:var(--bd-text);
  background:var(--bd-bg); border:1px solid var(--bd-border); border-radius:10px;
}
.input-group{ display:flex; align-items:stretch; }
.input-group .form-control{ flex:1 1 auto; min-width:0; border-top-right-radius:0; border-bottom-right-radius:0; }
.input-group .btn{ flex:0 0 auto; border-radius:0 10px 10px 0; min-height:40px; white-space:nowrap; padding:.45rem .7rem; }
.row{ display:grid; grid-template-columns:1fr; gap:.28rem; }
.row > [class*="col-"]{ min-width:0; }
.alert-secondary{
  background:var(--bd-surface-2); color:var(--bd-muted); border-color:var(--bd-border);
  font-size:.78rem; padding:.4rem .65rem; margin-bottom:.45rem;
}
.text-muted{ color:var(--bd-muted); }
#basvuruForm .bd-field{ margin-bottom:.22rem; gap:.1rem; }
#basvuruForm .bd-field.mb-3{ margin-bottom:.22rem; }
#basvuruForm .form-control,
#basvuruForm .form-select{ min-height:38px; padding:.42rem .65rem; }
#basvuruForm .bd-auth-actions{ margin-top:1rem; }
#couponHint:empty{ display:none; }
.form-check{
  display:flex; align-items:center; gap:.5rem; margin-bottom:.55rem;
}
.form-check-input{ width:1.05rem; height:1.05rem; margin:0; accent-color:var(--bd-accent); }
.form-check-label{ margin:0; font-size:.88rem; }
.bd-auth-actions{ display:flex; gap:.5rem; flex-wrap:wrap; }
.bd-auth-actions > .btn{ flex:1 1 0; min-width:120px; }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.35rem;
  min-height:42px; padding:.55rem .9rem; border-radius:10px; font:inherit; font-weight:650;
  cursor:pointer; text-decoration:none; border:1px solid transparent;
}
.btn-primary{ background:var(--bd-accent); color:#fff; }
.btn-primary:hover{ filter:brightness(1.06); text-decoration:none; color:#fff; }
.btn-outline-secondary{
  background:transparent; color:var(--bd-text); border-color:var(--bd-border);
}
.btn-outline-secondary:hover{ background:var(--bd-surface-2); text-decoration:none; }
.btn-link, .btn-link.btn-sm{
  background:none; border:0; color:var(--bd-accent-text); min-height:auto; padding:.15rem .25rem;
  font-weight:600; font-size:.85rem; cursor:pointer;
}
.btn-sm{ min-height:36px; padding:.4rem .75rem; font-size:.875rem; }
.alert{
  border-radius:10px; padding:.55rem .75rem; margin-bottom:.65rem; font-size:.88rem;
  border:1px solid transparent;
}
.alert-danger{ background:var(--bd-danger-bg); color:var(--bd-danger); border-color:color-mix(in srgb, var(--bd-danger) 25%, transparent); }
.d-none{ display:none !important; }
.bd-auth-footer{ text-align:center; margin-top:1.35rem; }
.bd-page-head{
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  margin:.15rem 0 .4rem;
}
.bd-page-head h1{ margin:0; font-size:1.25rem; color:var(--bd-text-strong); }
.bd-forgot{ margin:.15rem 0 0; text-align:right; font-size:.8rem; }
.bd-forgot a{ color:var(--bd-accent-text); }
.bd-form-grid{ display:grid; gap:.28rem; }
.bd-form-actions{ margin-top:.4rem; }
.bd-btn-wide{ width:100%; }
.bd-auth-or{
  display:flex; align-items:center; gap:.65rem;
  margin:.4rem 0 .35rem; color:var(--bd-muted); font-size:.78rem; font-weight:650;
  text-transform:lowercase;
}
.bd-auth-or::before, .bd-auth-or::after{
  content:""; flex:1 1 auto; height:1px; background:var(--bd-border);
}
.bd-btn-google{
  width:100%;
  background:var(--bd-surface); color:var(--bd-text-strong);
  border:1px solid var(--bd-border);
  font-weight:650;
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
}
.bd-btn-google:hover{ background:var(--bd-surface-2); text-decoration:none; color:var(--bd-text-strong); }
.bd-google-icon{ width:18px; height:18px; flex:0 0 auto; }
.bd-social-auth{ display:flex; flex-direction:column; gap:.5rem; }
.bd-btn-apple{
  width:100%;
  background:#111; color:#fff;
  border:1px solid #111;
  font-weight:650;
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
}
.bd-btn-apple:hover{ filter:brightness(1.08); text-decoration:none; color:#fff; }
.bd-apple-icon{ width:18px; height:18px; flex:0 0 auto; }
.bd-btn-apple[hidden],
.bd-btn-google[hidden]{ display:none !important; }
.bd-social-auth .bd-btn-apple{ order:-1; }
html.bd-native-android .bd-btn-apple,
html.bd-native-android .bd-native-ios-only{ display:none !important; }
.bd-hp-field{ position:absolute; left:-9999px; height:0; overflow:hidden; }
.reg-consent{ margin-top:.35rem; padding-top:.35rem; gap:.28rem; }
.reg-consent .form-check{ align-items:flex-start; flex-wrap:wrap; margin-bottom:0; }
.btn-success{ background:#1B7A4A; color:#fff; }
.btn-success:hover{ filter:brightness(1.06); text-decoration:none; color:#fff; }
.btn:disabled, .btn[disabled]{ opacity:.55; cursor:not-allowed; filter:none; }
body.bd-scroll-lock{ overflow:hidden; }

/* Consent overlays (normally in components.css — auth-shell is standalone) */
.bd-modal-backdrop{
  position:fixed; inset:0; z-index:1200;
  display:flex; align-items:center; justify-content:center;
  padding:16px; background:rgba(6,10,16,.72);
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
.bd-modal-backdrop[hidden]{ display:none !important; }
.bd-modal{
  display:flex; flex-direction:column;
  width:100%; max-width:680px; max-height:calc(100vh - 32px);
  overflow:hidden; border-radius:14px;
  border:1px solid var(--bd-border); background:var(--bd-surface); color:var(--bd-text);
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.bd-modal-header{
  flex:0 0 auto; padding:1rem 1.15rem;
  border-bottom:1px solid var(--bd-border);
}
.bd-modal-header--split{
  display:flex; align-items:flex-start; justify-content:space-between; gap:.5rem;
  border-bottom:0; padding:.75rem .85rem .35rem;
}
.bd-modal-back{
  flex:0 0 auto; height:32px; min-height:32px; padding:0 .55rem;
  font-size:.8rem; font-weight:650;
}
.bd-modal-title{ font-size:1.05rem; font-weight:700; color:var(--bd-text-strong); }
.bd-modal-subtitle{ margin-top:4px; font-size:.85rem; color:var(--bd-muted); }
.bd-modal-body{
  flex:1 1 auto; overflow:auto; -webkit-overflow-scrolling:touch;
  padding:1rem 1.15rem; white-space:pre-wrap; line-height:1.5; font-size:.9rem;
}
.bd-modal-footer{
  flex:0 0 auto; display:flex; flex-wrap:wrap; gap:.5rem;
  padding:1rem 1.15rem; padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 1rem);
  border-top:1px solid var(--bd-border); background:var(--bd-surface-2);
}
.bd-modal--sm{
  max-width:300px; width:min(300px, calc(100vw - 48px));
  height:auto; max-height:none;
}
.bd-modal--sm .bd-modal-body{ flex:0 0 auto; overflow:visible; padding:.4rem .85rem .35rem; }
.bd-modal--sm .bd-modal-footer{
  flex-direction:column; border-top:0; background:transparent;
  padding:.35rem .85rem .85rem;
}
@media (max-width:575.98px){
  .bd-modal-backdrop{ padding:16px; }
  .bd-modal{
    max-width:none; max-height:100vh; height:100vh;
    border:0; border-radius:0;
  }
  .bd-modal--sm{
    margin:auto; width:min(300px, calc(100vw - 48px)); max-width:300px;
    height:auto; max-height:calc(100vh - 32px);
    border:1px solid var(--bd-border); border-radius:14px;
  }
  .bd-modal-footer > .btn{ flex:1 1 auto; }
}

.mt-3{ margin-top:1rem; }
.mb-0{ margin-bottom:0; }
.mb-3{ margin-bottom:1rem; }
.text-center{ text-align:center; }
.text-uppercase{ text-transform:uppercase; }
.fw-bold{ font-weight:700; }
.link-secondary{ color:var(--bd-muted); }
