/* ============================================================================
   BUSINESS BUILDING ADAPTIVE INTAKE — MODAL (QTR-BB-005 v0.5)
   Tam ekran, grunweg.de içinde. BLUR YOK (iç içe backdrop-filter Chromium'da
   compositing kilidine yol açıyordu) — düz opak karartma kullanılır.
   Form faktörleri: desktop → tablet 1150px → mobil 760px
   ========================================================================== */

html.gw-bb-open, html.gw-bb-open body{ overflow:hidden !important; }

.bb-overlay{
  display:none; position:fixed; inset:0;
  z-index:2147483000;                        /* header 1000 ve diğer katmanların üstünde */
  background:rgba(6,20,28,.78);              /* düz opak — backdrop-filter YOK */
  padding:24px; overflow:auto;
  -webkit-overflow-scrolling:touch;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;
}
.bb-modal{
  position:relative; width:min(1280px,100%); margin:0 auto; min-height:calc(100vh - 48px);
  background:#fff; border-radius:14px; box-shadow:0 30px 90px rgba(0,0,0,.35);
  display:flex; flex-direction:column; overflow:hidden;
}

/* ---------- top bar ---------- */
.bb-topbar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:16px 24px; border-bottom:1px solid #EAEFEA; background:#fff;
  position:sticky; top:0; z-index:5;
}
.bb-brand{ display:flex; align-items:center; gap:10px; font-size:16px; font-weight:700; color:#101828; }
.bb-brand-ico{ display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center;
  background:#F2F7F1; border-radius:8px; color:#3F913D; }
.bb-brand-ico svg{ width:17px; height:17px; }
.bb-topbar-right{ display:flex; align-items:center; gap:14px; }
.bb-backlink{ background:none; border:0; cursor:pointer; font-size:13.5px; font-weight:600; color:#3F913D; padding:6px 4px; }
.bb-backlink:hover{ color:#8AC141; }
.bb-x{ width:34px; height:34px; border:0; background:transparent; color:#98a2b3; font-size:17px;
  border-radius:50%; cursor:pointer; line-height:1; }
.bb-x:hover{ background:#F2F4F7; color:#101828; }

/* ---------- progress ---------- */
.bb-progress{ display:flex; align-items:flex-start; justify-content:center; gap:0; padding:22px 24px 6px; background:#fff; }
.bb-steps-mobile{ display:none; }
.bb-pstep{ position:relative; display:flex; flex-direction:column; align-items:center; gap:7px;
  flex:1 1 0; max-width:220px; text-align:center; }
.bb-pstep::before{ content:""; position:absolute; top:14px; left:calc(-50% + 16px); right:calc(50% + 16px);
  border-top:1px solid #DFE6DF; }
.bb-pstep:first-child::before{ display:none; }
.bb-dot{ display:inline-flex; width:29px; height:29px; align-items:center; justify-content:center;
  border-radius:50%; border:1px solid #DFE6DF; background:#fff; color:#98a2b3;
  font-size:12.5px; font-weight:700; position:relative; z-index:1; }
.bb-plabel{ font-size:11.5px; color:#98a2b3; font-weight:600; line-height:1.3; }
.bb-pstep.active .bb-dot{ background:#3F913D; border-color:#3F913D; color:#fff; }
.bb-pstep.active .bb-plabel{ color:#3F913D; }
.bb-pstep.done .bb-dot{ background:#EAF4E7; border-color:#8AC141; color:#3F913D; }
.bb-pstep.done .bb-plabel{ color:#5b6b76; }

/* ---------- body ---------- */
.bb-body{ display:grid; grid-template-columns:1fr 340px; gap:34px; padding:22px 34px 30px; flex:1 1 auto; align-items:start; }
.bb-body-single{ grid-template-columns:1fr; }
.bb-main{ min-width:0; }
.bb-side{ display:flex; flex-direction:column; gap:14px; }

.bb-h1{ margin:0 0 8px; font-size:26px; line-height:1.22; letter-spacing:-.02em; color:#101828; font-weight:700; }
.bb-sub{ margin:0 0 20px; font-size:14px; line-height:1.65; color:#5b6b76; }
.bb-h2{ margin:0 0 12px; font-size:15px; color:#101828; font-weight:700; }
.bb-group{ padding:18px 0 4px; border-top:1px solid #F0F3F0; margin-top:18px; }
.bb-group:first-of-type{ border-top:0; margin-top:0; padding-top:0; }
.bb-req{ color:#B42318; font-weight:700; }
.bb-opt-tag{ font-size:11px; color:#98a2b3; font-weight:600; }
.bb-hint{ font-size:11.5px; color:#98a2b3; margin-top:7px; }
.bb-chosen{ font-size:13px; color:#5b6b76; background:#F7F9F8; border:1px solid #E6EBE6;
  border-radius:8px; padding:10px 14px; margin-bottom:18px; }
.bb-editlink{ background:none; border:0; color:#3F913D; font-weight:700; font-size:12.5px; cursor:pointer; padding:0 4px; }
.bb-editlink:hover{ color:#8AC141; }

/* ---------- intent kartları ---------- */
.bb-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.bb-card{ position:relative; display:block; text-align:left; cursor:pointer;
  background:#fff; border:1px solid #E2E8E2; border-radius:11px; padding:16px 44px 16px 16px;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.bb-card:hover{ border-color:#8AC141; box-shadow:0 4px 14px rgba(63,145,61,.08); }
.bb-card.selected{ border-color:#3F913D; background:#F6FBF4; box-shadow:0 4px 16px rgba(63,145,61,.12); }
.bb-card-ico{ display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center;
  background:#F2F7F1; border-radius:9px; color:#3F913D; margin-bottom:11px; }
.bb-card-ico svg{ width:18px; height:18px; }
.bb-card-radio{ position:absolute; top:16px; right:16px; width:21px; height:21px; border-radius:50%;
  border:1px solid #D6DED6; display:inline-flex; align-items:center; justify-content:center;
  font-size:12px; color:#fff; }
.bb-card.selected .bb-card-radio{ background:#3F913D; border-color:#3F913D; }
.bb-card-title{ display:block; font-size:14px; font-weight:700; color:#101828; line-height:1.3; margin-bottom:5px; }
.bb-card-desc{ display:block; font-size:12.5px; line-height:1.5; color:#5b6b76; }
.bb-hintbox{ display:flex; align-items:flex-start; gap:12px; margin-top:14px; padding:14px 16px;
  background:#F7F9F8; border:1px solid #E6EBE6; border-radius:10px; font-size:12.5px; color:#5b6b76; line-height:1.55; }
.bb-hint-ico{ flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:#EAF4E7; color:#3F913D;
  display:inline-flex; align-items:center; justify-content:center; font-weight:800; }

/* ---------- form alanları ---------- */
.bb-field{ margin-bottom:14px; }
.bb-field label{ display:block; font-size:12.5px; font-weight:600; color:#344054; margin-bottom:6px; }
.bb-field input, .bb-field select, .bb-field textarea,
.bb-group > select, .bb-group > textarea{
  width:100%; box-sizing:border-box; padding:10px 12px; font-size:14px; color:#101828;
  border:1px solid #D6DED6; border-radius:8px; background:#fff; font-family:inherit;
}
.bb-field textarea, .bb-group > textarea{ resize:vertical; min-height:74px; line-height:1.55; }
.bb-field input:focus, .bb-field select:focus, .bb-field textarea:focus,
.bb-group > select:focus, .bb-group > textarea:focus{ outline:none; border-color:#3F913D; box-shadow:0 0 0 3px rgba(63,145,61,.12); }
.bb-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.bb-grid3{ display:grid; grid-template-columns:repeat(3,1fr); gap:0 16px; }
.bb-field-error input, .bb-field-error select, .bb-field-error textarea{ border-color:#D92D20; }
.bb-inline-err{ font-size:12px; color:#B42318; margin:6px 0 2px; font-weight:600; }

/* ---------- seçenek listeleri ---------- */
.bb-opts{ display:grid; grid-template-columns:1fr; gap:8px; }
.bb-opts-2{ grid-template-columns:repeat(2,1fr); }
.bb-opt{ display:flex; align-items:center; gap:9px; padding:10px 13px; border:1px solid #E2E8E2;
  border-radius:8px; cursor:pointer; font-size:13px; color:#344054; background:#fff; }
.bb-opt:hover{ border-color:#8AC141; }
.bb-opt.selected{ border-color:#3F913D; background:#F6FBF4; color:#101828; font-weight:600; }
.bb-opt input{ accent-color:#3F913D; margin:0; flex:0 0 auto; }
.bb-conf{ display:grid; gap:10px; }
.bb-conf-item{ display:grid; grid-template-columns:auto 1fr; gap:6px 11px; align-items:start;
  padding:14px 16px; border:1px solid #E2E8E2; border-radius:10px; cursor:pointer; background:#fff; }
.bb-conf-item.selected{ border-color:#3F913D; background:#F6FBF4; }
.bb-conf-item input{ accent-color:#3F913D; margin-top:3px; }
.bb-conf-t{ font-size:13.5px; font-weight:700; color:#101828; }
.bb-conf-d{ grid-column:2; font-size:12.5px; color:#5b6b76; line-height:1.5; }
.bb-warn{ margin-top:12px; padding:12px 14px; background:#FFF8E9; border:1px solid #F3D9A4;
  border-radius:8px; font-size:12.5px; color:#7A5A17; line-height:1.55; }
.bb-check{ display:flex; align-items:flex-start; gap:10px; padding:12px 0; font-size:12.5px;
  color:#344054; line-height:1.6; cursor:pointer; }
.bb-check input{ accent-color:#3F913D; margin-top:2px; flex:0 0 auto; }

/* ---------- hizmet pill'leri ---------- */
.bb-pills{ display:flex; flex-wrap:wrap; gap:8px; }
.bb-pill{ padding:9px 14px; border:1px solid #E2E8E2; border-radius:999px; background:#fff;
  font-size:12.5px; font-weight:600; color:#344054; cursor:pointer; }
.bb-pill:hover{ border-color:#8AC141; }
.bb-pill.selected{ background:#3F913D; border-color:#3F913D; color:#fff; }

/* ---------- review ---------- */
.bb-rev{ border:1px solid #E6EBE6; border-radius:11px; padding:16px 18px; margin-bottom:12px; background:#fff; }
.bb-rev-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.bb-rev-head h3{ margin:0; font-size:14px; color:#101828; font-weight:700; }
.bb-rev-row{ display:grid; grid-template-columns:190px 1fr; gap:12px; padding:7px 0;
  border-top:1px solid #F4F7F4; font-size:12.5px; }
.bb-rev-row span{ color:#98a2b3; }
.bb-rev-row strong{ color:#101828; font-weight:600; word-break:break-word; }
.bb-final-notice{ margin-top:8px; padding:14px 16px; background:#F7F9F8; border:1px solid #E6EBE6;
  border-radius:10px; font-size:12.5px; color:#5b6b76; }
.bb-final-notice ul{ margin:8px 0 0; padding-left:18px; line-height:1.7; }

/* ---------- yan panel ---------- */
.bb-panel{ background:#F7F9F8; border:1px solid #E6EBE6; border-radius:11px; padding:16px 18px; }
.bb-panel h3{ margin:0 0 9px; font-size:13.5px; color:#101828; font-weight:700; }
.bb-panel div{ font-size:12.5px; line-height:1.6; color:#5b6b76; }
.bb-side-ol, .bb-side-ul{ margin:0; padding-left:17px; line-height:1.75; }

/* ---------- footer ---------- */
.bb-footer{ display:flex; align-items:center; gap:16px; padding:16px 34px;
  border-top:1px solid #EAEFEA; background:#fff; position:sticky; bottom:0; z-index:5; }
.bb-foot-note{ flex:1 1 auto; text-align:center; font-size:11.5px; color:#98a2b3; }
.bb-lock{ margin-right:3px; }
.bb-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:8px; font-size:14px; font-weight:700; cursor:pointer;
  border:1px solid transparent; font-family:inherit; }
.bb-primary{ background:#0F5C2E; color:#fff; border-color:#0F5C2E; }
.bb-primary:hover:not(:disabled){ background:#0c4a25; }
.bb-primary:disabled{ opacity:.45; cursor:not-allowed; }
.bb-ghost{ background:#fff; color:#3F913D; border-color:#D6DED6; }
.bb-ghost:hover{ border-color:#8AC141; background:#F6FBF4; }

/* ---------- durum ---------- */
.bb-loading{ padding:40px 0; text-align:center; color:#5b6b76; font-size:14px; }
.bb-alert{ padding:16px 18px; background:#F7F9F8; border:1px solid #E6EBE6; border-radius:10px;
  font-size:13.5px; color:#344054; }
.bb-alert-err{ background:#FEF3F2; border-color:#FDA29B; color:#B42318; margin-bottom:16px; }

/* ---------- success ---------- */
.bb-success{ text-align:center; max-width:640px; margin:40px auto; padding:0 16px; }
.bb-success-ico{ width:62px; height:62px; margin:0 auto 20px; border-radius:50%;
  background:#EAF4E7; color:#3F913D; font-size:29px; display:flex; align-items:center; justify-content:center; }
.bb-ref{ display:inline-block; margin:6px 0 16px; padding:11px 22px; background:#F2F7F1;
  border:1px solid #CFE3CB; border-radius:9px; font-size:19px; font-weight:800;
  letter-spacing:.05em; color:#0F5C2E; }
.bb-success-note{ font-size:11.5px; color:#98a2b3; line-height:1.6; margin:16px 0 22px; }

/* ============================ TABLET ≤1150px ============================ */
@media(max-width:1150px){
  .bb-overlay{ padding:14px; }
  .bb-modal{ min-height:calc(100vh - 28px); }
  .bb-body{ grid-template-columns:1fr; gap:22px; padding:20px 22px 26px; }
  .bb-side{ order:2; }
  .bb-plabel{ font-size:10.5px; }
  .bb-footer{ padding:14px 22px; }
}
/* ============================= MOBİL ≤760px ============================= */
@media(max-width:760px){
  .bb-overlay{ padding:0; background:#fff; }
  .bb-modal{ width:100%; min-height:100vh; border-radius:0; box-shadow:none; }
  .bb-topbar{ padding:12px 14px; }
  .bb-brand{ font-size:14px; }
  .bb-backlink{ display:none; }
  .bb-progress{ padding:14px 14px 4px; }
  .bb-pstep{ display:none; }
  .bb-steps-mobile{ display:block; width:100%; text-align:center; font-size:12.5px;
    font-weight:700; color:#3F913D; letter-spacing:.04em; }
  .bb-body{ padding:16px 14px 24px; gap:18px; }
  .bb-h1{ font-size:21px; }
  .bb-cards{ grid-template-columns:1fr; }
  .bb-grid2, .bb-grid3{ grid-template-columns:1fr; }
  .bb-opts-2{ grid-template-columns:1fr; }
  .bb-rev-row{ grid-template-columns:1fr; gap:2px; }
  .bb-footer{ padding:12px 14px; gap:10px; }
  .bb-foot-note{ display:none; }
  .bb-btn{ flex:1 1 auto; padding:13px 16px; }
  .bb-success{ margin:28px auto; }
}
