/* Vesta Klinik / Tedaviler + Randevu Talebi v6.
   Sade editoryal düzen; mevcut etkileşimler ve içerik yapısı korunur.
   Sadece ana sayfada yüklenir. */
:root {
  --vesta-ink:#18332d;
  --vesta-quiet:#61766c;
  --vesta-green:#146b5b;
  --vesta-line:#dce7df;
  --vesta-page:#f6f8f6;
}

/* --- TEDAVİLER --- */
.vesta-services-section {
  background:var(--vesta-page)!important;
  padding-top:clamp(70px,7vw,110px);
  padding-bottom:clamp(70px,7vw,110px);
}
.vesta-services-section .vesta-service-heading {
  gap:25px;
  align-items:end;
  margin-bottom:39px;
}
.vesta-services-section .vesta-service-heading h2 {
  font-size:clamp(30px,3.3vw,44px);
  line-height:1.15;
  letter-spacing:-.045em;
  font-weight:770;
  color:var(--vesta-ink);
  margin-top:12px;
  text-wrap:balance;
}
.vesta-services-section .vesta-service-heading p {
  max-width:640px;
  margin-top:16px;
  font-size:14px;
  line-height:1.78;
  color:var(--vesta-quiet);
}
.vesta-service-heading-side {
  display:flex;align-items:center;gap:14px;flex:0 0 265px;
  padding-bottom:9px;color:#8a9a90;font-size:11px;line-height:1.6;
  letter-spacing:.015em;
}
.vesta-section-hairline {width:42px;height:1px;flex:none;background:#b9cfc1}
.vesta-services-section .vesta-treatments-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
}
.vesta-services-section .vesta-treatment-row {
  display:flex;flex-direction:column;
  min-width:0;min-height:258px;
  margin:0;padding:28px 30px 23px;
  background:#fff!important;
  border:1px solid var(--vesta-line)!important;
  border-radius:14px!important;
  box-shadow:0 5px 18px rgba(24,54,41,.025)!important;
  overflow:hidden;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.vesta-services-section .vesta-treatment-row:hover,
.vesta-services-section .vesta-treatment-row:focus-within {
  border-color:#b0cdbf!important;
  box-shadow:0 12px 28px rgba(24,54,41,.06)!important;
  transform:translateY(-1px);
}
.vesta-services-section .vesta-service-card-top,
.vesta-services-section .vesta-treatment-row > div:first-child > div:first-child {
  display:flex;align-items:center;justify-content:space-between;
  margin:0 0 24px;
}
.vesta-services-section .vesta-treatment-icon {
  width:36px!important;height:36px!important;
  border:1px solid #e3eee6!important;
  border-radius:9px!important;
  background:#f0f6f2!important;
  color:#276e5c!important;
  box-shadow:none!important;
  display:flex;align-items:center;justify-content:center;
}
.vesta-services-section .vesta-treatment-icon i {font-size:14px}
.vesta-services-section .vesta-treatment-row:hover .vesta-treatment-icon,
.vesta-services-section .vesta-treatment-row:focus-within .vesta-treatment-icon {
  background:#edf5ef!important;color:#176857!important;
}
.vesta-services-section .vesta-treatment-number {
  font-size:11px!important;letter-spacing:.045em;color:#97a99e!important;
  font-weight:600;font-variant-numeric:tabular-nums;
}
.vesta-services-section .vesta-treatment-number span {padding:0 3px;color:#b4c4b9}
.vesta-services-section .vesta-service-tap-target {outline-offset:6px;border-radius:4px}
.vesta-services-section .vesta-service-tap-target:focus-visible {outline:2px solid #1a7966}
.vesta-services-section .vesta-treatment-row h3 {
  font-size:clamp(18px,1.65vw,21px)!important;
  font-weight:770;letter-spacing:-.032em;line-height:1.33;
  color:var(--vesta-ink)!important;
  max-width:440px;
}
.vesta-services-section .vesta-treatment-row p {
  color:#66766d!important;font-size:13px!important;
  line-height:1.77!important;margin-top:10px;
  max-width:440px;
}
.vesta-services-section .vesta-service-disclosure {
  margin-top:16px;
  margin-bottom:8px;
  color:#526b5d;
}
.vesta-services-section .vesta-service-disclosure summary {
  width:fit-content;display:inline-flex;align-items:center;gap:10px;
  font-size:11px;font-weight:690;color:#557466;cursor:pointer;
  padding:4px 0;
  list-style:none;
}
.vesta-services-section .vesta-service-disclosure summary::-webkit-details-marker {display:none}
.vesta-services-section .vesta-service-disclosure summary i {font-size:9px;transition:transform .18s ease}
.vesta-services-section .vesta-service-disclosure[open] summary i {transform:rotate(180deg)}
.vesta-services-section .vesta-service-disclosure > p {margin-top:12px!important;padding-bottom:7px;font-size:12px!important}
.vesta-services-section .vesta-service-actions {
  margin-top:auto!important;
  padding-top:17px!important;
  border-top:1px solid #e8eee9!important;
  gap:14px;
}
.vesta-services-section .vesta-service-actions button {
  font-size:12px;color:#146654;font-weight:740;
  display:inline-flex;gap:8px;align-items:center;min-height:38px;
}
.vesta-services-section .vesta-service-actions a {
  min-height:38px;display:inline-flex;align-items:center;gap:8px;
  color:#465e53;font-size:11px;font-weight:670;
  border:1px solid #dce8df;border-radius:8px;padding:8px 11px;
  white-space:nowrap;transition:background .2s ease,border-color .2s ease;
}
.vesta-services-section .vesta-service-actions a i {font-size:9px;color:#477e68}
.vesta-services-section .vesta-service-actions a:hover {background:#f1f7f2;border-color:#bad5c5;color:#1b5d4b}
.vesta-services-footnote {
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin-top:23px;font-size:12px;color:#6c8074;line-height:1.75;
}
.vesta-services-footnote > span {display:inline-flex;align-items:baseline;gap:8px}
.vesta-services-footnote > span i {color:#27806b;font-size:12px}
.vesta-services-footnote a {color:#175f50;font-weight:730;white-space:nowrap;display:inline-flex;align-items:center;gap:10px}
.vesta-services-footnote a:hover {text-decoration:underline;text-underline-offset:4px}

/* Modal: sadece görünüm; odak, kapatma ve tıklama davranışları eski JS'de kalır. */
.vesta-service-modal {background:rgba(7,25,21,.65)!important}
.vesta-service-modal-card {
  border:1px solid #d7e3dc!important;border-radius:18px!important;
  box-shadow:0 22px 80px rgba(9,24,20,.2)!important;
}
.vesta-service-modal-card > div:first-child,
.vesta-service-modal-card > div:last-child {background:#f8faf8!important}
.vesta-service-modal-card #modalTedaviTitle {color:var(--vesta-ink);letter-spacing:-.035em}
.vesta-service-modal-card #modalTedaviLong {line-height:1.8}
.vesta-service-modal-card #modalTedaviWaBtn {border-radius:10px;font-size:12px;letter-spacing:0;text-transform:none}

/* --- RANDEVU SİHİRBAZI --- */
.vesta-wizard-section {
  background:#fbfcfb!important;
  padding-top:clamp(72px,7vw,106px);
  padding-bottom:clamp(76px,7vw,116px);
}
.vesta-wizard-section-heading {max-width:750px;margin-bottom:37px}
.vesta-wizard-eyebrow {color:#147364;font-size:11px;font-weight:790;letter-spacing:.17em;text-transform:uppercase}
.vesta-wizard-section-heading h2 {
  margin-top:12px;color:var(--vesta-ink);font-weight:780;
  font-size:clamp(30px,3.35vw,45px);letter-spacing:-.045em;line-height:1.13;
  text-wrap:balance;
}
.vesta-wizard-section-heading p {margin-top:14px;color:var(--vesta-quiet);font-size:14px;line-height:1.75}
.vesta-wizard-shell {
  display:grid;grid-template-columns:minmax(275px,34%) minmax(0,1fr);
  background:#fff;border:1px solid #dce7df;border-radius:17px;
  overflow:hidden;box-shadow:0 13px 38px rgba(20,52,41,.045);
  transition:box-shadow .2s ease,border-color .2s ease;
}
.vesta-wizard-shell:focus-within {border-color:#b8d3c5;box-shadow:0 16px 42px rgba(20,52,41,.075)}
.vesta-wizard-sidebar {
  background:#163b34;color:#fff;
  padding:clamp(29px,3.4vw,48px) clamp(25px,3vw,40px);
  display:flex;flex-direction:column;justify-content:space-between;
  gap:34px;
}
.vesta-wizard-sidebar-kicker {
  color:#aed8ca;font-size:10px;letter-spacing:.17em;font-weight:760;
  display:block;margin-bottom:24px;
}
.vesta-wizard-sidebar h3 {
  color:#fff;font-size:clamp(23px,2.3vw,32px);
  font-weight:650;letter-spacing:-.04em;line-height:1.25;
  max-width:330px;
}
.vesta-wizard-sidebar-top > p {color:#c2d8d0;font-size:12px;line-height:1.9;margin-top:17px;max-width:340px}
.vesta-wizard-sidebar-steps {margin-top:auto;list-style:none;padding:0;display:flex;flex-direction:column;gap:0}
.vesta-wizard-sidebar-step {display:flex;gap:16px;align-items:center;padding:17px 0;border-top:1px solid rgba(227,249,236,.17)}
.vesta-wizard-sidebar-step > span {font-size:12px;font-weight:650;color:#8db5a5;letter-spacing:.09em;flex:none;width:23px}
.vesta-wizard-sidebar-step strong {display:block;font-size:13px;font-weight:650;color:#f4fbf7;letter-spacing:-.005em}
.vesta-wizard-sidebar-step small {display:block;font-size:11px;color:#a6c5b9;margin-top:5px;line-height:1.4}
.vesta-wizard-sidebar-note {
  font-size:10.5px;line-height:1.8;color:#b3d0c4;max-width:340px;
  border-top:1px solid rgba(227,249,236,.17);padding-top:20px;
}
.vesta-wizard-sidebar-note i {margin-right:6px;color:#b6dccc}
.vesta-wizard-main {min-width:0;padding:clamp(27px,3.4vw,45px) clamp(25px,3.4vw,47px)}
.vesta-wizard-progress-meta {display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;color:#7c9486;font-size:10px;font-weight:730;letter-spacing:.11em}
.vesta-wizard-progress-track {height:3px;background:#e4ede7;overflow:hidden;border-radius:2px}
.vesta-wizard-progress-fill {height:100%;background:#216b59;border-radius:2px;transition:width .22s ease}
.vesta-wizard-stepper {
  display:flex;align-items:start;gap:15px;
  justify-content:space-between;
  margin:30px auto 24px;
  max-width:465px;
}
.vesta-wizard-stepper-unit {display:flex;flex-direction:column;align-items:center;gap:9px;min-width:58px;flex:none}
.vesta-wizard-stepper-unit button {
  width:37px!important;height:37px!important;
  border-radius:50%;font-variant-numeric:tabular-nums;
  font-size:12px;font-weight:720;
  transition:background .18s ease,color .18s ease;
}
.vesta-wizard-stepper-unit button.bg-slate-900 {background:#163b34!important;color:#fff!important}
.vesta-wizard-stepper-unit button.bg-teal-600 {background:#247763!important;color:#fff!important}
.vesta-wizard-stepper-unit button.bg-slate-100 {background:#f1f5f2!important;color:#71877b!important;box-shadow:inset 0 0 0 1px #e0e8e2}
.vesta-wizard-stepper-unit > span {font-size:11px;color:#789084;font-weight:640}
.vesta-wizard-stepper-rule {height:1px;background:#dfe9e2;flex:1;min-width:10px;margin-top:19px}
.vesta-wizard-main #wizard-active-chips {
  justify-content:flex-start!important;margin:0 0 24px!important;
  padding:0 0 18px!important;gap:7px;
}
.vesta-wizard-main #wizard-active-chips button {
  font-size:11px!important;border-radius:8px!important;
  background:#f0f6f1!important;color:#285d4e!important;
  border-color:#d7e7db!important;line-height:1.5;
}
.vesta-step-heading {margin-bottom:22px;max-width:570px}
.vesta-step-heading > span {font-size:10px;color:#18806b;letter-spacing:.14em;font-weight:770}
.vesta-step-heading h3 {font-size:clamp(19px,2.1vw,25px);line-height:1.27;color:var(--vesta-ink);font-weight:760;letter-spacing:-.034em;margin-top:10px}
.vesta-step-heading p {margin-top:9px;color:#6f8077;font-size:12px;line-height:1.7}
.vesta-wizard-main .wizard-opt {
  min-width:0;text-align:left!important;background:#fbfcfb!important;
  border:1px solid #dfe8e1!important;border-radius:11px!important;
  box-shadow:none!important;
  padding:18px!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.vesta-wizard-main .wizard-opt:hover {background:#f5f9f5!important;border-color:#a3c4b3!important}
.vesta-wizard-main .wizard-opt[aria-pressed="true"] {
  background:#edf6ef!important;border-color:#287c66!important;
  box-shadow:inset 0 0 0 1px #287c66!important;
}
.vesta-wizard-main .wizard-opt[aria-pressed="true"]::after {
  content:"✓";float:right;color:#166d57;font-weight:780;font-size:13px;
}
.vesta-wizard-main .wizard-opt:focus-visible,
.vesta-wizard-stepper-unit button:focus-visible,
.vesta-services-section a:focus-visible,
.vesta-services-section button:focus-visible {outline:2px solid #14735d;outline-offset:3px}
.vesta-wizard-main .wizard-opt span.text-xs {font-size:12px;line-height:1.5;font-weight:740}
.vesta-wizard-main .wizard-opt span.text-\[11px\] {color:#75867b;font-size:11px;line-height:1.5}
.vesta-wizard-main .wizard-opt > span:first-child.w-7,
.vesta-wizard-main .wizard-opt > span:first-child.w-9 {background:#eaf3ec!important;color:#246b55!important;box-shadow:none!important;border:1px solid #d7e7db!important}
.vesta-wizard-main #wizard-step-1 > .grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vesta-wizard-main #wizard-step-2 > .grid {max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vesta-wizard-main #wizard-step-3 > .grid {max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vesta-wizard-main #wizard-step-2 .wizard-opt {display:flex;align-items:center;gap:12px}
.vesta-wizard-main #wizard-step-3 .wizard-opt {text-align:center!important;padding:19px 10px!important}
.vesta-wizard-result {max-width:none!important;margin:26px 0 0!important;text-align:left!important}
.vesta-wizard-result > div:first-child {background:#edf6f0!important;border-color:#d4e6d9!important;color:#1c745a!important;border-radius:7px!important}
.vesta-wizard-result #wizard-summary-box {background:#f8faf8;border-color:#e0e9e2;border-radius:10px!important;padding:18px!important;line-height:1.65}
.vesta-wizard-result #wizard-wa-btn {border-radius:9px!important;background:#196c54!important;text-transform:none!important;letter-spacing:0!important;font-size:13px!important;min-height:50px}
.vesta-wizard-result #wizard-wa-btn:hover {background:#115943!important}
.vesta-wizard-bottom-bar {gap:18px;min-height:48px}
.vesta-wizard-bottom-bar > span {font-size:11px;line-height:1.6;text-align:right}
.vesta-wizard-bottom-bar #wizard-back-btn {min-height:38px;white-space:nowrap}

@media (max-width:1023px) {
  .vesta-service-heading-side {display:none}
  .vesta-wizard-shell {grid-template-columns:280px minmax(0,1fr)}
  .vesta-wizard-sidebar {padding:30px 26px}
  .vesta-wizard-main {padding:31px 28px}
}
@media (max-width:760px) {
  .vesta-wizard-shell {grid-template-columns:minmax(0,1fr)}
  .vesta-wizard-sidebar {padding:28px 28px 23px;gap:13px}
  .vesta-wizard-sidebar h3 {font-size:23px;max-width:none}
  .vesta-wizard-sidebar-kicker {margin-bottom:13px}
  .vesta-wizard-sidebar-top > p {margin-top:10px;max-width:650px}
  .vesta-wizard-sidebar-steps {display:none}
  .vesta-wizard-sidebar-note {display:none}
  .vesta-wizard-main {padding:27px 25px 31px}
  .vesta-services-section .vesta-treatments-grid {grid-template-columns:1fr;gap:13px}
  .vesta-services-section .vesta-treatment-row {min-height:0;padding:24px 24px 21px}
  .vesta-services-footnote {align-items:flex-start;flex-direction:column;gap:10px}
}
@media (max-width:520px) {
  .vesta-services-section,.vesta-wizard-section {padding-block:64px}
  .vesta-services-section .vesta-service-heading {margin-bottom:27px}
  .vesta-wizard-section-heading {margin-bottom:28px}
  .vesta-wizard-main {padding:25px 19px 26px}
  .vesta-wizard-sidebar {padding:25px 21px}
  .vesta-wizard-stepper {gap:7px;margin:24px auto 22px}
  .vesta-wizard-stepper-unit {min-width:52px}
  .vesta-wizard-main #wizard-step-1 > .grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .vesta-wizard-main #wizard-step-2 > .grid,
  .vesta-wizard-main #wizard-step-3 > .grid {grid-template-columns:1fr;gap:9px}
  .vesta-wizard-main .wizard-opt {padding:14px!important}
  .vesta-wizard-main #wizard-step-1 .wizard-opt span.text-xs {font-size:11px}
  .vesta-wizard-main #wizard-step-1 .wizard-opt span.text-\[11px\] {font-size:10px}
  .vesta-services-section .vesta-service-actions {flex-wrap:wrap}
  .vesta-services-section .vesta-service-actions a {white-space:normal}
  .vesta-wizard-bottom-bar {align-items:flex-start;flex-wrap:wrap}
  .vesta-wizard-bottom-bar > span {text-align:left;margin-left:0}
}
@media (prefers-reduced-motion:reduce) {
  .vesta-services-section .vesta-treatment-row,
  .vesta-wizard-shell,
  .vesta-wizard-main .wizard-opt,
  .vesta-wizard-progress-fill {transition:none!important;transform:none!important}
}
/* Sihirbazın erişilebilir adım bildirimi görselde tekrarlanmaz. */
.vesta-wizard-main #wizard-step-message {
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
/* Eski mobil sihirbazın 14px padding kuralını sıfırla: koyu panel tam otursun. */
@media (max-width:760px) {
  #randevu-sihirbazi #wizardCardBox {padding:0!important}
}
