/* Vassago V4 — Profesyonel açık tema (randevu akışı). Son yüklenen dosya olduğu için
   önceki koyu temayı !important ile geçersiz kılar. Renk: #ac0a54, zemin: #f6faff. */
/* Google Fonts kaldırıldı: CSP engelliyordu, dosya sistem yazı tipine düşüyor. */

:root{
  --v4-primary:#ac0a54;
  --v4-primary-dark:#8f0043;
  --v4-primary-soft:#fdf0f5;
  --v4-bg:#f6faff;
  --v4-card:#ffffff;
  --v4-line:#e5dbe0;
  --v4-ink:#141d23;
  --v4-muted:#5f5e5e;
  --v4-dark:#293138;
}

.booking-page:not(.price-page){
  position:relative!important;
  background:
    radial-gradient(680px 420px at 4% -6%, rgba(172,10,84,.07), transparent 65%),
    radial-gradient(560px 420px at 100% 4%, rgba(230,181,92,.14), transparent 60%),
    radial-gradient(620px 460px at 92% 100%, rgba(172,10,84,.06), transparent 60%),
    var(--v4-bg)!important;
  color:var(--v4-ink)!important;
  font-family:'Inter','Segoe UI',Roboto,-apple-system,BlinkMacSystemFont,Arial,sans-serif!important;
}

/* Geniş ekran yerleşimi (mockup ~1280px) */
.booking-page:not(.price-page) .booking-container{width:min(100% - 48px,1280px)!important;margin:0 auto!important}
.booking-page:not(.price-page) .booking-layout{grid-template-columns:minmax(0,1fr) 360px!important;gap:32px!important}
@media(max-width:1020px){
  .booking-page:not(.price-page) .booking-layout{grid-template-columns:1fr!important}
  .booking-page:not(.price-page) .booking-container{width:min(100% - 32px,1280px)!important}
}

/* Üst logo */
.booking-page:not(.price-page) .booking-topbar-row{display:flex!important;align-items:center!important;gap:16px!important}
.booking-page:not(.price-page) .booking-topbar-logo-link{display:inline-flex!important;align-items:center!important;flex:1!important;justify-content:center!important;text-decoration:none!important}
.booking-page:not(.price-page) .booking-topbar-logo{height:48px!important;width:auto!important;max-width:280px!important;object-fit:contain!important;display:block!important}
.booking-page:not(.price-page) .booking-topbar-spacer{width:40px!important;flex:none!important}
.booking-page:not(.price-page) .booking-topbar-site-link{
  display:inline-flex!important;align-items:center!important;gap:7px!important;flex:none!important;
  min-height:38px!important;padding:0 16px!important;border-radius:999px!important;
  background:var(--v4-primary-soft)!important;border:1px solid #f0d4e0!important;
  color:var(--v4-primary)!important;text-decoration:none!important;
  font-size:12.5px!important;font-weight:700!important;white-space:nowrap!important;
}
.booking-page:not(.price-page) .booking-topbar-site-link span{font-size:15px!important}
.booking-page:not(.price-page) .booking-topbar-site-link:hover{background:#f8dce8!important;border-color:#eab8cd!important}
@media(max-width:560px){
  .booking-page:not(.price-page) .booking-topbar-logo{height:38px!important;max-width:200px!important}
  .booking-page:not(.price-page) .booking-topbar-site-link{min-height:38px!important;width:38px!important;height:38px!important;padding:0!important;border-radius:50%!important;gap:0!important}
  .booking-page:not(.price-page) .booking-topbar-site-link span{font-size:16px!important}
  .booking-page:not(.price-page) .booking-topbar-site-link{font-size:0!important}
}
.booking-page:not(.price-page) h1,
.booking-page:not(.price-page) h2,
.booking-page:not(.price-page) h3,
/* Baslik icin ayri yazi tipi tanimi kaldirildi: ne Montserrat ne Inter
   yuklu oldugu icin basliklar Arial'a dusuyor, govde metniyle uyusmuyordu. */
.booking-page:not(.price-page) .booking-section-title{font-family:inherit}

/* Üst bar */
.booking-page:not(.price-page) .booking-topbar{
  background:#fff!important;border-bottom:1px solid var(--v4-line)!important;
  box-shadow:0 1px 4px rgba(20,29,35,.05)!important;backdrop-filter:none!important;
}
.booking-page:not(.price-page) .booking-topbar-back{background:#fff!important;border:1px solid #8c7076!important;color:var(--v4-ink)!important}
.booking-page:not(.price-page) .booking-topbar-back:hover{background:#f0e9ec!important}
.booking-page:not(.price-page) .booking-topbar-brand{color:var(--v4-muted)!important}
.booking-page:not(.price-page) .booking-topbar-title .section-kicker{
  color:var(--v4-primary)!important;background:transparent!important;border:0!important;
  letter-spacing:.14em!important;font-weight:700!important;padding:0!important;
}
.booking-page:not(.price-page) .booking-topbar-title h1{color:var(--v4-ink)!important;letter-spacing:-.5px!important}

/* Adım göstergesi */
.booking-page:not(.price-page) .booking-progress span{background:#fff!important;border:1px solid var(--v4-line)!important;color:var(--v4-muted)!important;border-radius:12px!important}
.booking-page:not(.price-page) .booking-progress span:after{background:var(--v4-line)!important}
.booking-page:not(.price-page) .booking-progress b{background:#fff!important;border:1px solid #8c7076;color:var(--v4-ink)!important}
.booking-page:not(.price-page) .booking-progress .active{border-color:var(--v4-primary)!important;background:#fff!important;color:var(--v4-primary)!important}
.booking-page:not(.price-page) .booking-progress .active b{background:var(--v4-primary)!important;border-color:var(--v4-primary);color:#fff!important}
.booking-page:not(.price-page) .booking-progress .done{color:#2f7a4d!important}
.booking-page:not(.price-page) .booking-progress .done b{background:#3da96a!important;border-color:#3da96a;color:#fff!important}

/* Ana panel + özet */
.booking-page:not(.price-page) .booking-main,
.booking-page:not(.price-page) .booking-summary{
  background:var(--v4-card)!important;border:1px solid var(--v4-line)!important;
  border-radius:12px!important;box-shadow:0 4px 20px rgba(0,0,0,.04)!important;
}
.booking-page:not(.price-page) .booking-summary-title{background:var(--v4-dark)!important;color:#fff!important;border:0!important}
.booking-page:not(.price-page) .booking-summary dt{color:var(--v4-muted)!important}
.booking-page:not(.price-page) .booking-summary dd{color:var(--v4-ink)!important}
.booking-page:not(.price-page) .booking-summary dl div{border-color:#efe7ea!important}

/* Bilgi kutusu */
.booking-page:not(.price-page) .booking-info{
  background:#ecf5fe!important;border:1px solid #d3e5f5!important;color:#41566b!important;border-radius:10px!important;font-weight:500!important;
}

/* Sekmeler */
.booking-page:not(.price-page) .booking-tabs{border-bottom:1px solid var(--v4-line)!important}
.booking-page:not(.price-page) .booking-tab{color:var(--v4-muted)!important;background:transparent!important;border-radius:0!important}
.booking-page:not(.price-page) .booking-tab:hover{color:var(--v4-primary)!important}
.booking-page:not(.price-page) .booking-tab.active{color:var(--v4-primary)!important;background:transparent!important;border-color:var(--v4-primary)!important}

/* Kategoriler */
html body .booking-page:not(.price-page) .booking-category>summary,
html body .booking-page:not(.price-page) .booking-category[open]>summary{
  background:var(--v4-primary)!important;color:#fff!important;border-radius:12px!important;
  padding:17px 18px!important;font-size:16px!important;
}
html body .booking-page:not(.price-page) .booking-category[open]>summary{
  background:var(--v4-primary-soft)!important;color:var(--v4-primary)!important;border-radius:12px 12px 0 0!important;
}
.booking-page:not(.price-page) .booking-category{background:#fff!important;border:1px solid var(--v4-line)!important;border-radius:12px!important;overflow:hidden;margin-bottom:14px!important}
.booking-page:not(.price-page) .booking-category-title{background:var(--v4-primary-soft)!important;color:var(--v4-primary)!important}
.booking-page:not(.price-page) .booking-service-row{background:#fff!important;border-top:1px solid #f0eaed!important}
.booking-page:not(.price-page) .booking-service-row:hover{background:#faf6f8!important}
.booking-page:not(.price-page) .booking-service-name b{color:var(--v4-ink)!important;font-size:15px!important}
.booking-page:not(.price-page) .booking-service-name small{color:var(--v4-muted)!important}
.booking-page:not(.price-page) .booking-service-price{color:var(--v4-primary)!important;font-weight:700!important}
.booking-page:not(.price-page) .booking-action{background:var(--v4-primary)!important;color:#fff!important;border-radius:24px!important;padding:9px 18px!important}
.booking-page:not(.price-page) .booking-action:hover{background:var(--v4-primary-dark)!important}

.booking-page:not(.price-page) .booking-back{color:var(--v4-primary)!important}
.booking-page:not(.price-page) .booking-section-title{color:var(--v4-ink)!important}
.booking-page:not(.price-page) .booking-section-copy{color:var(--v4-muted)!important}

/* Personel seçimi */
.booking-page:not(.price-page) .staff-choice{background:#fff!important;border:1px solid var(--v4-line)!important;border-radius:12px!important}
.booking-page:not(.price-page) .staff-choice:hover{background:#faf6f8!important;border-color:#d8a8bd!important}
.booking-page:not(.price-page) .staff-choice:has(input:checked){background:var(--v4-primary-soft)!important;border-color:var(--v4-primary)!important;box-shadow:inset 4px 0 0 var(--v4-primary)!important}
.booking-page:not(.price-page) .staff-avatar{background:var(--v4-primary-soft)!important;color:var(--v4-primary)!important}
.booking-page:not(.price-page) .staff-choice b{color:var(--v4-ink)!important}
.booking-page:not(.price-page) .staff-choice small,.booking-page:not(.price-page) .staff-choice em{color:var(--v4-muted)!important}

/* Takvim */
.booking-page:not(.price-page) .calendar-card{background:#fff!important;border:1px solid var(--v4-line)!important;border-radius:12px!important}
.booking-page:not(.price-page) .calendar-head b{color:var(--v4-ink)!important}
.booking-page:not(.price-page) .calendar-nav{background:#fff!important;border:1px solid var(--v4-line)!important;color:var(--v4-ink)!important}
.booking-page:not(.price-page) .calendar-weekdays span{color:var(--v4-muted)!important}
.booking-page:not(.price-page) .calendar-cell{background:#f3f6fa!important;color:var(--v4-ink)!important;border-radius:8px!important}
.booking-page:not(.price-page) .calendar-cell.disabled{background:transparent!important;color:#b3aab0!important}
.booking-page:not(.price-page) .calendar-cell.active{background:var(--v4-primary)!important;color:#fff!important}
.booking-page:not(.price-page) .calendar-cell.today{box-shadow:inset 0 0 0 2px var(--v4-primary)!important}
.booking-page:not(.price-page) .date-option{background:#fff!important;border:1px solid var(--v4-line)!important;color:var(--v4-ink)!important;border-radius:10px!important}
.booking-page:not(.price-page) .date-option.active{background:var(--v4-primary)!important;border-color:var(--v4-primary)!important;color:#fff!important}
.booking-page:not(.price-page) .date-option.closed{background:#f2eef0!important;color:#a79aa0!important}

/* Saatler */
.booking-page:not(.price-page) .slot-button,
.booking-page:not(.price-page) .slot-grid form .slot-button,
.booking-page:not(.price-page) form:has(input[name="saat"]) .slot-button{background:var(--v4-primary)!important;color:#fff!important;border-radius:8px!important}
.booking-page:not(.price-page) .slot-button:hover{background:var(--v4-primary-dark)!important}
.booking-page:not(.price-page) .slot-button[disabled]{background:#eddfe4!important;color:#a78d97!important}
.booking-page:not(.price-page) .slot-empty{background:#faf7f8!important;border:1px dashed var(--v4-line)!important;color:var(--v4-muted)!important}

/* Form */
.booking-page:not(.price-page) .form-field label{color:#41474d!important;font-weight:600!important}
.booking-page:not(.price-page) .form-field input,
.booking-page:not(.price-page) .form-field textarea{background:#fff!important;border:1.5px solid #d9cfd4!important;color:var(--v4-ink)!important;border-radius:8px!important}
.booking-page:not(.price-page) .form-field input:focus,
.booking-page:not(.price-page) .form-field textarea:focus{border-color:var(--v4-primary)!important;box-shadow:0 0 0 4px rgba(172,10,84,.08)!important}
.booking-page:not(.price-page) .kvkk-line{background:#faf7f8!important;border:1px solid var(--v4-line)!important;color:var(--v4-muted)!important;border-radius:8px!important}
.booking-page:not(.price-page) .booking-next .secondary{background:#eeebed!important;color:#4d474b!important;border-radius:24px!important}
.booking-page:not(.price-page) .booking-next .primary,
.booking-page:not(.price-page) .booking-submit{background:var(--v4-primary)!important;color:#fff!important;border-radius:24px!important;letter-spacing:.06em;text-transform:uppercase;font-size:12px!important;font-weight:700!important;box-shadow:0 2px 10px rgba(172,10,84,.25)!important}
.booking-page:not(.price-page) .booking-next .primary:hover,
.booking-page:not(.price-page) .booking-submit:hover{background:var(--v4-primary-dark)!important}
.booking-page:not(.price-page) .booking-message .error{background:#fff0f1!important;color:#982b36!important;border-radius:8px}
.booking-page:not(.price-page) .booking-message .success{background:#edfbee!important;color:#1f753e!important;border-radius:8px}

/* Tamamlama */
.booking-page:not(.price-page) .completion-card{background:#fff!important;border:1px solid var(--v4-line)!important;border-radius:12px!important;color:var(--v4-ink)!important}
.booking-page:not(.price-page) .appointment-code,
.booking-page:not(.price-page) .completion-summary{background:var(--v4-primary-soft)!important;border:1px solid #f0d4e0!important;color:var(--v4-primary)!important;border-radius:10px!important}
.booking-page:not(.price-page) .completion-summary dt{color:var(--v4-muted)!important}
.booking-page:not(.price-page) .completion-summary dd{color:var(--v4-ink)!important}

/* Randevu tamamlandı ekranındaki üyelik daveti. Müşteri işini yeni bitirdi,
   ikna için en uygun an burası. */
.uyelik-teklif{
  margin-top:18px;padding:18px 20px;border-radius:16px;text-align:left;
  background:linear-gradient(135deg,#3c2137,#6d365e);color:#fff;
}
.uyelik-teklif b{display:block;font-size:16px;color:#e0b35e;letter-spacing:-.2px}
.uyelik-teklif p{margin:7px 0 14px;font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.84)}
.uyelik-teklif a{
  display:block;text-align:center;padding:13px 18px;border-radius:12px;
  background:#e0b35e;color:#2b1a26;text-decoration:none;font-weight:850;font-size:14.5px;
}

/* ====================================================================
   ÇOKLU HİZMET SEÇİMİ
   Hizmet satırı bir bağlantı değil, bir seçim kutusu. Seçilenler alttaki
   çubukta toplanır; adım adım özet "seçim dökümü" kutusunda görünür.
   ==================================================================== */
.booking-service-row.secim-satir{
  grid-template-columns:minmax(0,1fr) 130px 26px;
  cursor:pointer;position:relative;
}
.secim-satir input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;margin:0}
.secim-kutu{
  width:24px;height:24px;border:2px solid #d8c8d0;border-radius:7px;
  background:#fff;transition:background .15s,border-color .15s;position:relative;
}
.secim-kutu:after{
  content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;
  border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);
  transition:transform .15s;
}
.secim-satir input:checked ~ .secim-kutu{background:var(--v4-primary);border-color:var(--v4-primary)}
.secim-satir input:checked ~ .secim-kutu:after{transform:rotate(45deg) scale(1)}
.secim-satir input:focus-visible ~ .secim-kutu{outline:2px solid var(--v4-primary);outline-offset:2px}
.secim-satir input:checked ~ .booking-service-name b{color:var(--v4-primary)}
.secim-satir:has(input:checked){background:var(--v4-primary-soft)}
.secim-satir .booking-service-name small{display:block;color:var(--v4-muted);font-size:11px;margin-top:1px}

/* Seçim çubuğu: ekranın altına yapışır, seçim varken görünür. */
/* DIKKAT: sticky KULLANILMAZ. Ust kaptaki .booking-main{overflow:hidden}
   sticky'yi etkisiz birakiyor ve cubuk sayfanin dibinde kaliyordu.
   fixed'i kiran (transform/filter/perspective) bir ata yok, olculdu. */
.secim-cubugu{
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  display:flex;align-items:center;gap:14px;margin:0;
  padding:12px max(16px, calc((100% - 1460px) / 2 + 10px));
  background:var(--v4-dark);color:#fff;
  box-shadow:0 -10px 28px rgba(20,29,35,.28);
}
/* Cubuk acikken son hizmet satiri altinda kalmasin. */
body.secim-var .booking-page{padding-bottom:110px}
.secim-cubugu[hidden]{display:none}
.secim-ozet{display:grid;gap:2px;min-width:0;flex:1 1 auto}
.secim-ozet b{font-size:14px;font-weight:750;letter-spacing:-.2px}
.secim-ozet small{
  font-size:12px;color:rgba(255,255,255,.72);line-height:1.4;
  overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.secim-cubugu .primary{
  flex:0 0 auto;margin:0;padding:12px 26px;border:0;border-radius:10px;
  background:var(--v4-primary);color:#fff;font-size:14px;font-weight:750;cursor:pointer;
}
.secim-cubugu .primary:hover{background:var(--v4-primary-dark)}

/* Seçim dökümü: hangi işlem kaçta, ne kadar sürüyor. */
.secim-dokum{
  margin:0 0 18px;border:1px solid var(--v4-line);border-radius:14px;
  background:var(--v4-card);overflow:hidden;
}
.secim-dokum-baslik{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:12px 16px;background:var(--v4-primary-soft);border-bottom:1px solid var(--v4-line);
}
.secim-dokum-baslik b{font-size:14px;font-weight:750;color:var(--v4-ink)}
.secim-dokum-baslik span{font-size:12.5px;font-weight:650;color:var(--v4-primary)}
.secim-dokum ol{margin:0;padding:6px 0;list-style:none;counter-reset:dokum}
.secim-dokum li{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 16px 9px 42px;position:relative;font-size:13.5px;color:var(--v4-ink);
}
.secim-dokum li:before{
  counter-increment:dokum;content:counter(dokum);
  position:absolute;left:16px;top:50%;transform:translateY(-50%);
  width:20px;height:20px;border-radius:50%;
  background:var(--v4-primary);color:#fff;
  font-size:11px;font-weight:750;display:flex;align-items:center;justify-content:center;
}
.secim-dokum li+li{border-top:1px solid #f2ecef}
.secim-dokum li span{min-width:0;overflow-wrap:anywhere}
.secim-dokum li small{flex:0 0 auto;color:var(--v4-muted);font-size:12px;font-weight:650;white-space:nowrap}

/* Çoklu seçimde saat düğmesi altında bitiş saati de yazar. */
.slot-grid-coklu .slot-button{line-height:1.25}
.slot-grid-coklu .slot-button small{display:block;font-size:10.5px;opacity:.75;margin-top:2px;font-weight:600}

@media(max-width:720px){
  .booking-service-row.secim-satir{grid-template-columns:minmax(0,1fr) 26px}
  .secim-satir .booking-service-price{grid-column:1/2;text-align:left}
  .secim-satir .secim-kutu{grid-column:2;grid-row:1/3;align-self:center}
  .secim-cubugu{padding:11px 14px;gap:10px}
  body.secim-var .booking-page{padding-bottom:96px}
  .secim-cubugu .primary{padding:12px 18px;font-size:13px}
  .secim-dokum li{padding:9px 14px 9px 40px}
}

/* Dökümde işlemin yanındaki uzman adı. */
.secim-dokum li span em{
  font-style:normal;font-size:12px;font-weight:650;color:var(--v4-primary);
  background:var(--v4-primary-soft);border-radius:6px;padding:2px 7px;margin-left:7px;
  white-space:nowrap;
}
