/* V9 appointment wizard */
#randevu-talep-formu { scroll-margin-top:96px; }
#randevu-talep-formu .appointment-shell {
  grid-template-columns:minmax(240px,.72fr) minmax(0,1.5fr) !important;
  gap:28px !important; padding:clamp(18px,3vw,34px) !important; border-radius:30px !important;
  background:
    radial-gradient(560px 280px at 0% 0%,rgba(158,31,99,.09),transparent 70%),
    linear-gradient(145deg,#faf7fa 0%,#fff 52%,#f6f6fc 100%) !important;
  border:1px solid #e7e4ed !important; box-shadow:0 28px 80px rgba(26,27,56,.09) !important;
}
#randevu-talep-formu .appointment-intro { padding:10px 8px !important; }
#randevu-talep-formu .appointment-intro .kicker { color:#9e1f63 !important; }
#randevu-talep-formu .appointment-intro h2 { color:#1b1d36 !important; font-size:clamp(29px,3.4vw,44px) !important; letter-spacing:-.045em; line-height:1.05 !important; }
#randevu-talep-formu .appointment-intro > p { color:#6b7082 !important; font-size:14px; line-height:1.72; }
#randevu-talep-formu .appointment-steps { margin-top:22px !important; }
#randevu-talep-formu .appointment-step { border-color:#ebe3e9 !important; background:rgba(255,255,255,.72) !important; color:#5f6477 !important; }
#randevu-talep-formu .appointment-step b { color:#9e1f63 !important; background:#fbf0f6 !important; }

#randevu-talep-formu .appointment-form-card {
  padding:clamp(16px,2.3vw,25px) !important; border-radius:24px !important; border:1px solid #e8e6ef !important;
  box-shadow:0 18px 50px rgba(25,27,58,.065) !important;
}
#randevu-talep-formu .appointment-form-card > h3 { color:#252743 !important; font-size:18px !important; }
#randevu-talep-formu .appointment-form-card > p { color:#85899a !important; margin-bottom:18px !important; }
.appointment-form--wizard { display:block !important; }
.appointment-wizard-progress {
  display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:center; gap:8px;
  margin:0 0 26px; padding:12px; border:1px solid #eceaf1; border-radius:16px; background:#faf9fc;
}
.appointment-progress-item {
  appearance:none; border:0; padding:0; margin:0; background:transparent; display:flex; align-items:center; gap:7px;
  color:#9a9dad; font-family:Inter,system-ui,sans-serif; cursor:default;
}
.appointment-progress-item span {
  width:29px; height:29px; display:grid; place-items:center; border-radius:9px; color:#8c90a1; background:#fff;
  border:1px solid #e7e5ed; font-size:11px; font-weight:850; transition:.2s ease;
}
.appointment-progress-item b { font-size:10.5px; font-weight:800; white-space:nowrap; }
.appointment-progress-item.is-active span,
.appointment-progress-item.is-done span { color:#fff; border-color:transparent; background:linear-gradient(135deg,#9e1f63,#2c3990); box-shadow:0 7px 16px rgba(158,31,99,.18); }
.appointment-progress-item.is-active b { color:#4d5065; }
.appointment-progress-item.is-done b { color:#74788a; }
.appointment-wizard-progress > i { height:1px; background:#e4e2ea; position:relative; overflow:hidden; }
.appointment-wizard-progress > i::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#9e1f63,#2c3990); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.appointment-wizard-progress > i.is-done::after { transform:scaleX(1); }

.appointment-wizard-step { border:0; padding:0; margin:0; min-width:0; animation:appointmentStepIn .3s ease both; }
.appointment-wizard-step[hidden] { display:none !important; }
.appointment-wizard-step legend { display:block; width:100%; padding:0; margin:0; color:#22243f; font-size:clamp(22px,2.4vw,30px); line-height:1.12; letter-spacing:-.035em; font-weight:850; }
.appointment-wizard-step legend span { display:block; margin-bottom:7px; color:#9e1f63; font-size:10.5px; line-height:1; letter-spacing:.08em; text-transform:uppercase; font-weight:850; }
.appointment-step-description { max-width:650px; margin:9px 0 20px; color:#7e8293; font-size:13px; line-height:1.65; }
.appointment-wizard-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.appointment-wizard-fields--single { grid-template-columns:1fr; }
#randevu-talep-formu .appointment-field { gap:6px !important; }
#randevu-talep-formu .appointment-field label { color:#43465d !important; font-size:11.5px !important; font-weight:800 !important; }
#randevu-talep-formu .appointment-field input,
#randevu-talep-formu .appointment-field select,
#randevu-talep-formu .appointment-field textarea {
  min-height:50px !important; padding:0 14px !important; border:1px solid #dedce6 !important; border-radius:12px !important;
  color:#252743 !important; background:#fff !important; font-size:13px !important; box-shadow:none !important;
}
#randevu-talep-formu .appointment-field textarea { min-height:108px !important; padding:13px 14px !important; }
#randevu-talep-formu .appointment-field input:focus,
#randevu-talep-formu .appointment-field select:focus,
#randevu-talep-formu .appointment-field textarea:focus { border-color:#9e1f63 !important; box-shadow:0 0 0 4px rgba(158,31,99,.085) !important; }

.appointment-card-source { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important; }
.appointment-card-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.appointment-card-options--services { grid-template-columns:repeat(2,minmax(0,1fr)); }
.appointment-choice-card {
  min-height:50px; display:flex; align-items:center; gap:9px; padding:10px 11px; border:1px solid #e5e3eb; border-radius:12px;
  color:#5f6477; background:#fff; text-align:left; font:750 11.5px/1.35 Inter,system-ui,sans-serif; cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.appointment-choice-card::before { content:''; width:10px; height:10px; flex:0 0 10px; border-radius:50%; border:2px solid #c5c5d0; box-shadow:inset 0 0 0 2px #fff; }
.appointment-choice-card:hover { transform:translateY(-1px); border-color:#d7b7c8; color:#9e1f63; background:#fdf9fb; }
.appointment-choice-card.is-selected { color:#7b1c53; border-color:rgba(158,31,99,.36); background:#fbf0f6; box-shadow:0 8px 20px rgba(158,31,99,.07); }
.appointment-choice-card.is-selected::before { border-color:#9e1f63; background:#9e1f63; }

.appointment-step-actions { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:24px; padding-top:18px; border-top:1px solid #efedf3; }
.appointment-step-actions--end { justify-content:flex-end; }
.appointment-next,.appointment-submit-v9,.appointment-back {
  min-height:47px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 17px; border-radius:12px;
  font:800 12.5px/1 Inter,system-ui,sans-serif; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.appointment-next,.appointment-submit-v9 { border:0; color:#fff; background:linear-gradient(135deg,#9e1f63,#78225d 52%,#2c3990); box-shadow:0 10px 22px rgba(158,31,99,.16); }
.appointment-next:hover,.appointment-submit-v9:hover { transform:translateY(-2px); box-shadow:0 14px 28px rgba(158,31,99,.22); }
.appointment-back { border:1px solid #e2e0e8; color:#626679; background:#fff; }
.appointment-back:hover { background:#f8f7fb; }
.appointment-submit-v9 { min-width:220px; }
.appointment-submit-v9 b { font-size:17px; }
.appointment-security-note { margin:12px 0 0; color:#9a9dac; font-size:10.5px; line-height:1.55; }

.appointment-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 17px; padding:12px; border-radius:14px; background:#f8f7fb; border:1px solid #eceaf1; }
.appointment-summary-item { padding:9px 10px; border-radius:10px; background:#fff; }
.appointment-summary-item span { display:block; color:#9a9dac; font-size:9.5px; font-weight:800; text-transform:uppercase; letter-spacing:.055em; }
.appointment-summary-item strong { display:block; margin-top:3px; color:#46495f; font-size:11.5px; line-height:1.35; }
#randevu-talep-formu .appointment-consent { padding:12px 13px; border:1px solid #e8e6ed; border-radius:12px; background:#fcfbfd; }
#randevu-talep-formu .appointment-consent input { accent-color:#9e1f63 !important; }

@keyframes appointmentStepIn { from { opacity:0; transform:translateX(10px); } to { opacity:1; transform:none; } }
@media (max-width:900px) {
  #randevu-talep-formu .appointment-shell { grid-template-columns:1fr !important; }
  #randevu-talep-formu .appointment-steps { display:none !important; }
}
@media (max-width:640px) {
  #randevu-talep-formu .appointment-shell { padding:10px !important; border-radius:22px !important; }
  #randevu-talep-formu .appointment-form-card { padding:16px !important; border-radius:18px !important; }
  .appointment-wizard-progress { grid-template-columns:repeat(4,1fr); gap:5px; padding:8px; }
  .appointment-wizard-progress > i { display:none; }
  .appointment-progress-item { justify-content:center; flex-direction:column; gap:4px; }
  .appointment-progress-item b { font-size:9px; }
  .appointment-card-options,.appointment-card-options--services { grid-template-columns:1fr 1fr; }
  .appointment-wizard-fields { grid-template-columns:1fr; }
  .appointment-summary { grid-template-columns:1fr; }
  .appointment-step-actions { align-items:stretch; }
  .appointment-step-actions button { flex:1; }
  .appointment-submit-v9 { min-width:0; }
}
@media (max-width:420px) {
  .appointment-card-options,.appointment-card-options--services { grid-template-columns:1fr; }
  .appointment-step-actions { flex-direction:column-reverse; }
  .appointment-step-actions button { width:100%; }
}
.appointment-card-options.is-invalid { padding:6px; margin:-6px; border-radius:16px; box-shadow:0 0 0 3px rgba(190,24,93,.12); background:#fff7fa; }

/* === V10 readability === */
#randevu-talep-formu .appointment-intro > p { font-size:16px !important; }
#randevu-talep-formu .appointment-form-card > h3 { font-size:20px !important; }
#randevu-talep-formu .appointment-form-card > p { color:#6f7486 !important; font-size:15px !important; line-height:1.65 !important; }
.appointment-progress-item span { width:32px; height:32px; font-size:12.5px; }
.appointment-progress-item b { font-size:12px; }
.appointment-wizard-step legend span { font-size:12px; }
.appointment-step-description { color:#666c7e; font-size:15px; line-height:1.7; }
#randevu-talep-formu .appointment-field label { font-size:13.5px !important; }
#randevu-talep-formu .appointment-field input,
#randevu-talep-formu .appointment-field select,
#randevu-talep-formu .appointment-field textarea { font-size:15px !important; }
.appointment-choice-card { min-height:55px; font-size:13.5px; line-height:1.4; }
.appointment-next,.appointment-submit-v9,.appointment-back { font-size:14px; }
.appointment-security-note { color:#74798b; font-size:12.5px; }
.appointment-summary-item span { color:#74798b; font-size:11px; }
.appointment-summary-item strong { color:#3e4258; font-size:13.5px; }
@media(max-width:640px){.appointment-progress-item b{font-size:10.5px}}
