/* Vesta Klinik – Treatment suite v8
   Controlled editorial art direction, no stock icons, no JS dependencies.
   Same PHP data, detail dialog and WhatsApp actions as v7. */
.vesta-treatment-suite {
  --v8-ink:#163a31;
  --v8-muted:#647a71;
  --v8-line:#dce7df;
  position:relative;
  padding:clamp(64px,7.5vw,110px) 0 clamp(68px,7vw,108px);
  isolation:isolate;
  background:linear-gradient(165deg,#f1f5f1 0%,#fafbf8 45%,#f4f7f4 100%);
  border-top:1px solid #e3ebe5;
  overflow:hidden;
}
.vesta-treatment-suite::before {
  content:"";pointer-events:none;position:absolute;top:-250px;right:-245px;
  width:690px;height:690px;border:1px solid rgba(74,112,88,.09);
  border-radius:50%;box-shadow:0 0 0 85px rgba(243,248,242,.6),0 0 0 170px rgba(248,251,246,.5);
  z-index:-1;
}
.vesta-suite-heading {
  display:grid;grid-template-columns:minmax(0,1.38fr) minmax(265px,.62fr);
  align-items:end;gap:clamp(26px,6vw,100px);
  margin:0 0 clamp(30px,4.4vw,58px);
}
.vesta-suite-eyebrow {
  display:inline-flex;gap:13px;align-items:center;
  font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#256d58;
  margin-bottom:23px;
}
.vesta-suite-eyebrow span {width:33px;height:2px;background:#2d8068;display:block;flex:none}
.vesta-suite-heading h2 {
  font-size:clamp(34px,4.2vw,58px);line-height:1.11;
  font-weight:790;letter-spacing:-.049em;color:var(--v8-ink);max-width:790px;
  text-wrap:balance;overflow-wrap:break-word;
}
.vesta-suite-heading-aside {max-width:380px;padding-bottom:4px}
.vesta-suite-heading-aside p {font-size:14px;line-height:1.9;color:#546f62}
.vesta-suite-count {display:flex;align-items:center;gap:13px;margin-top:23px;padding-top:18px;border-top:1px solid #cbd9cf}
.vesta-suite-count strong {color:#164838;font-size:25px;letter-spacing:-.05em;line-height:1;font-weight:720}
.vesta-suite-count span {color:#658477;font-weight:780;font-size:10px;letter-spacing:.17em}
.vesta-suite-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.vesta-suite-card {
  min-width:0;display:flex;flex-direction:column;position:relative;
  background:#fff;border:1px solid #d7e4da;border-radius:19px;overflow:hidden;
  box-shadow:0 6px 18px rgba(19,57,41,.025),0 16px 38px rgba(19,57,41,.025);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.vesta-suite-card:hover,.vesta-suite-card:focus-within {
  transform:translateY(-2px);border-color:#b4d0bd;
  box-shadow:0 14px 38px rgba(20,65,45,.065);
}
.vesta-suite-card-top {
  position:relative;display:flex;align-items:flex-start;justify-content:space-between;
  padding:22px 27px 19px;min-height:94px;
  overflow:hidden;border-bottom:1px solid #e5ede6;
  background:linear-gradient(112deg,#f4f7f1,#eef4ed 65%,#e7f0e9);
}
.vesta-suite-card-top::before {
  content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:54px;top:-160px;
  border:1px solid rgba(25,95,67,.15);box-shadow:0 0 0 20px rgba(242,247,241,.17),0 0 0 39px rgba(25,95,67,.035);
  pointer-events:none;
}
.vesta-suite-label {
  position:relative;z-index:1;color:#4e7e66;font-size:9px;letter-spacing:.155em;
  font-weight:750;line-height:1.55;
}
.vesta-suite-label > span {color:#a9c5b5;margin:0 4px}
.vesta-suite-card-number {
  position:absolute;right:26px;top:15px;font-variant-numeric:tabular-nums;
  color:rgba(30,105,73,.20);font-size:70px;letter-spacing:-.105em;
  font-weight:450;line-height:1;font-family:Georgia,'Times New Roman',serif;
  user-select:none;pointer-events:none;
}
.vesta-suite-card-body {flex:1;min-width:0;padding:24px 27px 20px;display:flex;flex-direction:column}
.vesta-suite-card-counter {display:block;color:#678b77;font-size:10px;font-weight:780;letter-spacing:.12em;margin-bottom:10px}
.vesta-suite-card-title {
  font-size:clamp(22px,2.15vw,28px);letter-spacing:-.04em;line-height:1.23;
  color:#193d32;font-weight:755;max-width:530px;
  text-wrap:balance;overflow-wrap:break-word;
}
.vesta-suite-card-title button {font:inherit;line-height:inherit;text-align:left;color:inherit;cursor:pointer}
.vesta-suite-card-title button:hover {color:#18735a}
.vesta-suite-card-description {font-size:13px;color:#5b7267;line-height:1.8;margin-top:12px;max-width:520px}
.vesta-suite-disclosure {margin-top:auto;padding-top:17px;max-width:590px}
.vesta-suite-disclosure summary {
  display:inline-flex;align-items:center;gap:9px;color:#54816c;
  font-size:11px;line-height:1.45;font-weight:700;cursor:pointer;min-height:30px;
}
.vesta-suite-disclosure summary span {color:#258061;font-size:16px;font-weight:400;transition:transform .16s ease}
.vesta-suite-disclosure[open] summary span {transform:rotate(45deg)}
.vesta-suite-disclosure-text {
  margin-top:12px;padding:12px 16px 2px;border-left:2px solid #8ab9a2;
  color:#536f61;line-height:1.8;font-size:12px;max-height:235px;overflow:auto;overflow-wrap:anywhere;
}
.vesta-suite-card-actions {
  padding:16px 27px;display:flex;align-items:center;justify-content:space-between;
  gap:12px 18px;flex-wrap:wrap;border-top:1px solid #e8eee8;
}
.vesta-suite-detail-action {
  min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:14px;
  background:#164b3c;color:#fff;border:1px solid #164b3c;
  border-radius:9px;padding:11px 15px;font-size:11px;font-weight:740;line-height:1.3;
  transition:background .18s ease,border-color .18s ease;
}
.vesta-suite-detail-action:hover {background:#216a52;border-color:#216a52}
.vesta-suite-detail-action span:last-child {font-size:17px;line-height:1;font-weight:450}
.vesta-suite-booking {min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#3a6d56;font-size:11px;font-weight:740;white-space:normal}
.vesta-suite-booking:hover {color:#113e2f;text-decoration:underline;text-underline-offset:4px}
.vesta-suite-booking span {font-size:16px;font-weight:400}
/* Deliberately composed full-width first and last services, without decorative icons. */
.vesta-suite-card--feature,.vesta-suite-card--last {grid-column:1/-1}
.vesta-suite-card--feature {
  min-height:325px;background:#153d33;border-color:#153d33;color:#fff;
  box-shadow:0 17px 38px rgba(23,61,48,.12);
}
.vesta-suite-card--feature::before {
  content:"";position:absolute;right:-68px;top:-190px;width:590px;height:590px;border-radius:50%;
  border:1px solid rgba(211,242,223,.18);pointer-events:none;
  box-shadow:0 0 0 56px rgba(196,234,211,.035),0 0 0 113px rgba(198,236,210,.03);
}
.vesta-suite-card--feature::after {
  content:"";position:absolute;right:16%;bottom:-140px;width:360px;height:360px;border-radius:50%;
  border:1px solid rgba(202,234,212,.11);pointer-events:none;
}
.vesta-suite-card--feature .vesta-suite-card-top {
  min-height:70px;background:transparent;border-bottom-color:rgba(230,248,235,.13);
  padding:24px 34px 13px;
}
.vesta-suite-card--feature .vesta-suite-card-top::before {display:none}
.vesta-suite-card--feature .vesta-suite-label {color:#adcfbc}
.vesta-suite-card--feature .vesta-suite-card-number {
  right:8%;top:57px;font-size:clamp(150px,23vw,300px);color:rgba(232,250,232,.095);
  font-weight:400;line-height:.9;
}
.vesta-suite-card--feature .vesta-suite-card-body {padding:30px 34px 24px;z-index:1;max-width:64%}
.vesta-suite-card--feature .vesta-suite-card-counter {color:#acd6be}
.vesta-suite-card--feature .vesta-suite-card-title {font-size:clamp(30px,3.8vw,49px);line-height:1.11;color:#fff}
.vesta-suite-card--feature .vesta-suite-card-title button:hover {color:#d2f0dc}
.vesta-suite-card--feature .vesta-suite-card-description {font-size:14px;color:#c7ddd0;max-width:590px}
.vesta-suite-card--feature .vesta-suite-disclosure {margin-top:7px;padding-top:8px}
.vesta-suite-card--feature .vesta-suite-disclosure summary {color:#b8dcc7}
.vesta-suite-card--feature .vesta-suite-disclosure-text {color:#dbe8de;border-left-color:#8bb49b;background:rgba(0,0,0,.08)}
.vesta-suite-card--feature .vesta-suite-card-actions {padding:19px 34px;z-index:1;border-color:rgba(230,248,235,.14);justify-content:flex-start;gap:15px 27px}
.vesta-suite-card--feature .vesta-suite-detail-action {color:#163e31;background:#fff;border-color:#fff}
.vesta-suite-card--feature .vesta-suite-detail-action:hover {background:#d8f0e0;border-color:#d8f0e0}
.vesta-suite-card--feature .vesta-suite-booking {color:#d8eddd}
.vesta-suite-card--feature .vesta-suite-booking:hover {color:#fff}
.vesta-suite-card--feature:hover {border-color:#164e3d;box-shadow:0 22px 44px rgba(18,53,41,.17)}
.vesta-suite-card--last {
  background:linear-gradient(110deg,#e4efe5,#f8faf5 55%,#ecf3ed);
  border-color:#cadfcd;
}
.vesta-suite-card--last .vesta-suite-card-top {min-height:62px;background:transparent;border-color:#d5e4d6}
.vesta-suite-card--last .vesta-suite-card-top::before {display:none}
.vesta-suite-card--last .vesta-suite-card-body {padding-top:20px;padding-bottom:20px;max-width:810px}
.vesta-suite-card--last .vesta-suite-card-number {color:rgba(24,91,67,.19)}
.vesta-suite-footnote {display:flex;justify-content:space-between;align-items:center;gap:16px 26px;flex-wrap:wrap;padding:26px 2px 0}
.vesta-suite-footnote p {color:#6b8075;font-size:12px;line-height:1.7}
.vesta-suite-footnote a {color:#235f47;font-weight:740;font-size:12px;white-space:normal}
.vesta-suite-footnote a:hover {text-decoration:underline;text-underline-offset:4px}
.vesta-suite-footnote a span {padding-left:6px}
.vesta-treatment-suite :is(button,a,summary):focus-visible {outline:3px solid #42a581;outline-offset:3px}
@media(max-width:950px){
  .vesta-suite-heading {grid-template-columns:1fr;gap:19px}
  .vesta-suite-heading-aside {max-width:670px}
  .vesta-suite-count {max-width:280px}
  .vesta-suite-grid {gap:14px}
  .vesta-suite-card-top {padding:19px 20px;min-height:85px}
  .vesta-suite-card-body {padding:21px 20px 18px}
  .vesta-suite-card-actions {padding:14px 20px}
}
@media(max-width:720px){
  .vesta-treatment-suite {padding:63px 0 69px}
  .vesta-suite-heading {margin-bottom:30px}
  .vesta-suite-heading h2 {font-size:clamp(32px,8.4vw,43px);line-height:1.13}
  .vesta-suite-heading-aside p {font-size:13px;line-height:1.8}
  .vesta-suite-grid {grid-template-columns:minmax(0,1fr);gap:15px}
  .vesta-suite-card--feature,.vesta-suite-card--last {grid-column:auto}
  .vesta-suite-card--feature {min-height:0}
  .vesta-suite-card--feature .vesta-suite-card-top {min-height:67px;padding:19px 21px 11px}
  .vesta-suite-card--feature .vesta-suite-card-body {max-width:none;padding:26px 21px 18px}
  .vesta-suite-card--feature .vesta-suite-card-title {font-size:clamp(28px,7.5vw,37px)}
  .vesta-suite-card--feature .vesta-suite-card-number {font-size:132px;right:15px;top:50px;color:rgba(233,250,233,.065)}
  .vesta-suite-card--feature .vesta-suite-card-actions {padding:16px 21px}
  .vesta-suite-card--last .vesta-suite-card-body {max-width:none}
  .vesta-suite-card-description {font-size:12.5px}
  .vesta-suite-card-title {font-size:24px}
}
@media(max-width:370px){
  .vesta-suite-label {font-size:8px}
  .vesta-suite-card-top {padding-left:18px;padding-right:18px}
  .vesta-suite-card-body {padding-left:18px;padding-right:18px}
  .vesta-suite-card-actions {padding-left:18px;padding-right:18px}
  .vesta-suite-detail-action,.vesta-suite-booking {width:100%;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){.vesta-suite-card,.vesta-suite-detail-action{transition:none!important;transform:none!important}}
