/**
 * MedCare cart page — clinic rail + stage + payment.
 * Loaded from CareLayout after centers; sharp.css still clamps radii.
 */

.care--web .care-v2-cart .care-page__body {
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px 24px 72px;
}

/* —— Hero —— */
.care--web .care-v2-cart-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  grid-gap: 28px;
  gap: 28px;
  align-items: stretch;
  margin: 0 0 28px;
  min-height: 220px;
  overflow: hidden;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--care-v2-primary-mist) 70%, white) 0%, var(--care-v2-surface) 55%);
}

.care--web .care-v2-cart-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 28px 8px 28px 28px;
}

.care--web .care-v2-cart-hero__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--care-v2-primary);
}

.care--web .care-v2-cart-hero .care-v2-title {
  margin: 0;
  font-family: var(--care-v2-font-display);
  font-size: clamp(1.85rem, 3vw, 2.35rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--care-v2-navy);
}

.care--web .care-v2-cart-lead {
  margin: 0;
  max-width: 42ch;
  color: var(--care-v2-muted);
  font-size: 0.98rem;
  line-height: 1.55;
}

.care--web .care-v2-cart-hero__visual {
  position: relative;
  min-height: 220px;
}

.care--web .care-v2-cart-hero__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.care--web .care-v2-cart-hero__visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, color-mix(in srgb, var(--care-v2-surface) 55%, transparent), transparent 38%);
  pointer-events: none;
}

/* —— Journey steps (lightweight theme icons) —— */
.care--web .care-v2-cart-journey {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 12px;
  gap: 12px;
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
}

.care--web .care-v2-cart-journey li {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-gap: 12px;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background: var(--care-v2-surface);
  color: var(--care-v2-muted);
}

.care--web .care-v2-cart-journey li.is-active {
  border-color: color-mix(in srgb, var(--care-v2-primary) 45%, var(--care-v2-line));
  color: var(--care-v2-navy);
  background: color-mix(in srgb, var(--care-v2-primary-mist) 55%, var(--care-v2-surface));
}

.care--web .care-v2-cart-journey__media {
  position: relative;
  width: 52px;
  height: 52px;
  flex-shrink: 0;
}

.care--web .care-v2-cart-journey__ico {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 2px;
  border: 1px solid color-mix(in srgb, var(--care-v2-primary) 18%, var(--care-v2-line));
  background: var(--care-v2-primary-mist);
  color: var(--care-v2-primary);
}

.care--web .care-v2-cart-journey__ico .care-ico {
  width: 24px;
  height: 24px;
}

.care--web .care-v2-cart-journey li.is-active .care-v2-cart-journey__ico {
  border-color: color-mix(in srgb, var(--care-v2-primary) 40%, transparent);
  background: color-mix(in srgb, var(--care-v2-primary) 14%, white);
  color: var(--care-v2-primary);
}

.care--web .care-v2-cart-journey__media em {
  position: absolute;
  inset-inline-end: -4px;
  top: -4px;
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  border: 2px solid var(--care-v2-surface);
  background: var(--care-v2-navy);
  color: #fff;
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
}

.care--web .care-v2-cart-journey li.is-active .care-v2-cart-journey__media em {
  background: var(--care-v2-primary);
}

.care--web .care-v2-cart-journey strong {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
  color: inherit;
}

/* —— Empty —— */
.care--web .care-v2-cart-empty--rich {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  grid-gap: 0;
  gap: 0;
  padding: 0;
  overflow: hidden;
  text-align: start;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background: var(--care-v2-surface);
}

.care--web .care-v2-cart-empty__visual {
  min-height: 280px;
  background: var(--care-v2-primary-mist);
}

.care--web .care-v2-cart-empty__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.care--web .care-v2-cart-empty__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  padding: 32px 28px;
}

.care--web .care-v2-cart-empty__copy h2 {
  margin: 0;
  font-family: var(--care-v2-font-display);
  font-size: 1.55rem;
  color: var(--care-v2-navy);
}

.care--web .care-v2-cart-empty__copy p {
  margin: 0;
  max-width: 40ch;
  color: var(--care-v2-muted);
  line-height: 1.55;
}

.care--web .care-v2-cart-empty__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

/* —— Split shell —— */
.care--web .care-v2-cart-shell {
  display: grid;
  grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
  grid-gap: 20px;
  gap: 20px;
  align-items: start;
}

.care--web .care-v2-cart-rail {
  position: -webkit-sticky;
  position: sticky;
  top: 92px;
  padding: 14px;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background: var(--care-v2-surface);
}

.care--web .care-v2-cart-rail__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
  padding: 0 4px 10px;
  border-bottom: 1px solid var(--care-v2-line);
}

.care--web .care-v2-cart-rail__head strong {
  color: var(--care-v2-navy);
  font-size: 0.95rem;
}

.care--web .care-v2-cart-rail__head span {
  color: var(--care-v2-muted);
  font-size: 0.8rem;
  font-weight: 600;
}

.care--web .care-v2-cart-rail__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.care--web .care-v2-cart-rail__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  width: 100%;
  margin: 0;
  padding: 12px 12px;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background: color-mix(in srgb, var(--care-v2-surface) 88%, #eef4ff);
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
  transition:
    border-color 140ms ease,
    background 140ms ease,
    box-shadow 140ms ease;
}

.care--web .care-v2-cart-rail__card:hover {
  border-color: color-mix(in srgb, var(--care-v2-primary) 35%, var(--care-v2-line));
  background: var(--care-v2-surface);
}

.care--web .care-v2-cart-rail__card.is-active {
  border-color: var(--care-v2-primary);
  background: var(--care-v2-surface);
  box-shadow: inset 3px 0 0 var(--care-v2-primary);
}

.care--web .care-v2-cart-rail__name {
  color: var(--care-v2-navy);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.3;
}

.care--web .care-v2-cart-rail__meta {
  color: var(--care-v2-muted);
  font-size: 0.82rem;
}

.care--web .care-v2-cart-rail__kinds {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.care--web .care-v2-cart-rail__kinds em {
  font-style: normal;
  padding: 3px 8px;
  border-radius: 2px;
  background: var(--care-v2-primary-mist);
  color: var(--care-v2-primary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.care--web .care-v2-cart-rail__kinds em[data-kind='lab'] {
  background: color-mix(in srgb, #0d9488 14%, white);
  color: #0f766e;
}

.care--web .care-v2-cart-rail__kinds em[data-kind='radiology'] {
  background: color-mix(in srgb, #0369a1 12%, white);
  color: #075985;
}

.care--web .care-v2-cart-rail__kinds em[data-kind='pharmacy'] {
  background: color-mix(in srgb, var(--care-v2-primary) 14%, white);
  color: var(--care-v2-primary);
}

/* —— Stage —— */
.care--web .care-v2-cart-stage {
  min-width: 0;
}

.care--web .care-v2-cart-stage__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  padding: 18px 18px;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--care-v2-primary-mist) 55%, white), var(--care-v2-surface));
}

.care--web .care-v2-cart-stage__eyebrow {
  margin: 0 0 4px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--care-v2-primary);
}

.care--web .care-v2-cart-stage__head h2 {
  margin: 0 0 4px;
  font-family: var(--care-v2-font-display);
  font-size: 1.35rem;
  color: var(--care-v2-navy);
}

.care--web .care-v2-cart-stage__head p {
  margin: 0;
  color: var(--care-v2-muted);
  font-size: 0.9rem;
}

.care--web .care-v2-cart-stage__clinic {
  flex-shrink: 0;
  font-weight: 600;
}

.care--web .care-v2-cart-stage__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  grid-gap: 18px;
  gap: 18px;
  align-items: start;
}

.care--web .care-v2-cart-stage__items {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.care--web .care-v2-cart-panel {
  padding: 14px 14px 12px;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background: var(--care-v2-surface);
}

.care--web .care-v2-cart-panel__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--care-v2-line);
}

.care--web .care-v2-cart-panel__head h3 {
  margin: 0;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--care-v2-navy);
}

.care--web .care-v2-cart-panel__head span {
  display: block;
  margin-top: 2px;
  color: var(--care-v2-muted);
  font-size: 0.8rem;
  text-transform: none;
  letter-spacing: 0;
}

.care--web .care-v2-cart-panel__head strong {
  color: var(--care-v2-navy);
  font-size: 1rem;
}

.care--web .care-v2-cart-panel[data-kind='lab'] {
  -webkit-border-start: 3px solid #0d9488;
          border-inline-start: 3px solid #0d9488;
}

.care--web .care-v2-cart-panel[data-kind='radiology'] {
  -webkit-border-start: 3px solid #0284c7;
          border-inline-start: 3px solid #0284c7;
}

.care--web .care-v2-cart-panel[data-kind='pharmacy'] {
  -webkit-border-start: 3px solid var(--care-v2-primary);
          border-inline-start: 3px solid var(--care-v2-primary);
}

/* —— Lines —— */
.care--web .care-v2-cart-lines {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.care--web .care-v2-cart-line--rich {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  grid-template-areas:
    'thumb body price'
    'thumb body remove';
  grid-gap: 8px 14px;
  gap: 8px 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background: color-mix(in srgb, var(--care-v2-surface) 92%, #f3f7ff);
}

.care--web .care-v2-cart-line--qty {
  grid-template-columns: 72px minmax(0, 1fr) auto auto;
  grid-template-areas: 'thumb body qty price';
}

.care--web .care-v2-cart-line__thumb {
  grid-area: thumb;
  width: 72px;
  height: 72px;
  border-radius: 2px;
  overflow: hidden;
  border: 1px solid var(--care-v2-line);
  background: var(--care-v2-primary-mist);
}

.care--web .care-v2-cart-line__thumb img,
.care--web .care-v2-cart-line__thumb .care-mico {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.care--web .care-v2-cart-line__body {
  grid-area: body;
  min-width: 0;
}

.care--web .care-v2-cart-line__body strong {
  display: block;
  color: var(--care-v2-navy);
  font-size: 0.98rem;
  line-height: 1.35;
}

.care--web .care-v2-cart-line__body span {
  display: block;
  margin-top: 4px;
  color: var(--care-v2-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.care--web .care-v2-cart-line__qty {
  grid-area: qty;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  overflow: hidden;
  background: var(--care-v2-surface);
}

.care--web .care-v2-cart-line__qty button {
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: var(--care-v2-navy);
  font-size: 1.05rem;
  cursor: pointer;
}

.care--web .care-v2-cart-line__qty button:hover {
  background: var(--care-v2-primary-mist);
}

.care--web .care-v2-cart-line__qty span {
  min-width: 28px;
  text-align: center;
  font-weight: 700;
  color: var(--care-v2-navy);
}

.care--web .care-v2-cart-line__price {
  grid-area: price;
  color: var(--care-v2-navy);
  font-size: 1rem;
  font-weight: 700;
  min-width: 4.5rem;
  text-align: end;
}

.care--web .care-v2-cart-line__remove {
  grid-area: remove;
  justify-self: end;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--care-v2-muted);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.care--web .care-v2-cart-line__remove:hover {
  color: var(--care-v2-primary);
}

/* —— Payment —— */
.care--web .care-v2-cart-pay {
  position: -webkit-sticky;
  position: sticky;
  top: 92px;
  overflow: hidden;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background: var(--care-v2-surface);
}

.care--web .care-v2-cart-pay__visual {
  display: grid;
  place-items: center;
  height: 88px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--care-v2-primary-mist) 80%, white), var(--care-v2-surface));
  border-bottom: 1px solid var(--care-v2-line);
}

.care--web .care-v2-cart-pay__ico {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 2px;
  border: 1px solid color-mix(in srgb, var(--care-v2-primary) 22%, var(--care-v2-line));
  background: var(--care-v2-surface);
  color: var(--care-v2-primary);
}

.care--web .care-v2-cart-pay__ico .care-ico {
  width: 24px;
  height: 24px;
}

.care--web .care-v2-cart-pay__panel {
  padding: 18px 16px 16px;
}

.care--web .care-v2-cart-pay__panel h3 {
  margin: 0 0 8px;
  color: var(--care-v2-navy);
  font-size: 1.05rem;
}

.care--web .care-v2-cart-pay__note {
  margin: 0 0 14px;
  color: var(--care-v2-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.care--web .care-v2-cart-pay__panel dl {
  margin: 0 0 16px;
}

.care--web .care-v2-cart-pay__panel dl > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--care-v2-line);
}

.care--web .care-v2-cart-pay__panel dt {
  color: var(--care-v2-muted);
  font-size: 0.9rem;
}

.care--web .care-v2-cart-pay__panel dd {
  margin: 0;
  font-weight: 700;
  color: var(--care-v2-ink);
}

.care--web .care-v2-cart-pay__total dt,
.care--web .care-v2-cart-pay__total dd {
  color: var(--care-v2-navy);
  font-size: 1.02rem;
}

.care--web .care-v2-cart-pay__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.care--web .care-v2-cart-pay__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: 0 14px;
  border: 1px solid var(--care-v2-primary);
  border-radius: 2px;
  background: var(--care-v2-surface);
  color: var(--care-v2-primary);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.care--web .care-v2-cart-pay__cta:hover {
  background: var(--care-v2-primary-mist);
}

.care--web .care-v2-cart-pay__cta--primary {
  background: var(--care-v2-primary) !important;
  color: #fff !important;
  border-color: var(--care-v2-primary);
}

.care--web .care-v2-cart-pay__cta--primary:hover {
  filter: brightness(1.04);
}

.care--web .care-v2-cart-pay__continue {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  margin-top: 12px;
  color: var(--care-v2-primary);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
}

.care--web .care-v2-cart-pay__continue:hover {
  text-decoration: underline;
}

@media (max-width: 980px) {
  .care--web .care-v2-cart-hero {
    grid-template-columns: 1fr;
  }

  .care--web .care-v2-cart-hero__copy {
    padding: 22px 20px 8px;
  }

  .care--web .care-v2-cart-hero__visual {
    min-height: 180px;
  }

  .care--web .care-v2-cart-hero__visual::after {
    background: linear-gradient(0deg, var(--care-v2-surface), transparent 40%);
  }

  .care--web .care-v2-cart-journey {
    grid-template-columns: 1fr;
  }

  .care--web .care-v2-cart-shell,
  .care--web .care-v2-cart-stage__grid,
  .care--web .care-v2-cart-empty--rich {
    grid-template-columns: 1fr;
  }

  .care--web .care-v2-cart-rail,
  .care--web .care-v2-cart-pay {
    position: static;
  }

  .care--web .care-v2-cart-rail__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-gap: 8px;
    gap: 8px;
  }
}

@media (max-width: 640px) {
  .care--web .care-v2-cart .care-page__body {
    padding-inline: 16px;
  }

  .care--web .care-v2-cart-line--rich,
  .care--web .care-v2-cart-line--qty {
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-areas:
      'thumb body'
      'thumb price'
      'qty qty'
      'remove remove';
  }

  .care--web .care-v2-cart-line__thumb {
    width: 56px;
    height: 56px;
  }

  .care--web .care-v2-cart-line__price,
  .care--web .care-v2-cart-line__qty,
  .care--web .care-v2-cart-line__remove {
    justify-self: start;
  }

  .care--web .care-v2-cart-empty__copy {
    padding: 22px 18px;
  }
}

/**
 * MedCare collage — clinic / practice marketplace detail.
 * Loaded from CareLayout after care-medcare-centers.css.
 * Scope: .care--web .care-mc-clinic
 * Sharp MedCare: 2px radius, flat surfaces, Poppins / navy / primary.
 */

.care--web .care-mc-clinic {
  background: var(--care-v2-paper);
}

.care--web .care-mc-clinic > .care-v2-practice-hero,
.care--web .care-mc-clinic .care-v2-practice-tabs-wrap {
  display: none !important;
}

.care--web .care-v2-practice-detail.care-mc-clinic > .care-mc-clinic-crumb-wrap.care-page__body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 24px 12px;
}

.care--web .care-v2-practice-detail.care-mc-clinic > .care-mc-clinic-body.care-page__body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 28px 24px 72px;
}

/* —— Building hero —— */
.care--web .care-mc-clinic-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--care-v2-primary-mist);
}

.care--web .care-mc-clinic-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.care--web .care-mc-clinic-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.care--web .care-mc-clinic-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(11, 31, 58, 0.18) 0%,
    rgba(11, 31, 58, 0.55) 70%,
    rgba(11, 31, 58, 0.72) 100%
  );
  pointer-events: none;
}

.care--web .care-mc-clinic-hero__stage {
  position: relative;
  z-index: 1;
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  padding: 40px 0 32px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.care--web .care-mc-clinic-hero__card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  max-width: min(720px, 100%);
  padding: 18px 20px;
  border-radius: 2px;
  background: color-mix(in srgb, #fff 94%, transparent);
  border: 1px solid color-mix(in srgb, #fff 55%, var(--care-v2-line));
  box-shadow: none;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}

.care--web .care-mc-clinic-hero__logo,
.care--web .care-mc-clinic-hero__logo.care-center__logo,
.care--web .care-mc-clinic-hero__logo.care-avatar--practice {
  width: 112px !important;
  height: 112px !important;
  border-radius: 2px !important;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--care-v2-primary-mist);
  border: 1px solid var(--care-v2-line);
}

.care--web .care-mc-clinic-hero__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.care--web .care-mc-clinic-hero__copy h1 {
  margin: 0;
  font-family: var(--care-v2-font-display);
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--care-v2-navy);
  line-height: 1.2;
}

.care--web .care-mc-clinic-hero__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--care-v2-muted);
  font-size: 0.88rem;
}

.care--web .care-mc-clinic-hero__rating .care-rating__star,
.care--web .care-mc-clinic-hero__rating .care-rating__star.is-on {
  color: #f5a623;
}

.care--web .care-mc-clinic-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.care--web .care-mc-clinic-hero__tags li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 2px;
  background: var(--care-v2-primary-soft);
  color: var(--care-v2-primary);
  font-size: 0.78rem;
  font-weight: 600;
}

.care--web .care-mc-clinic-hero__tags .care-ico {
  width: 14px;
  height: 14px;
  color: var(--care-v2-primary);
}

.care--web .care-mc-clinic-hero__hours {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--care-v2-muted);
  font-size: 0.86rem;
  font-weight: 500;
}

.care--web .care-mc-clinic-hero__hours.is-open {
  color: #15803d;
}

.care--web .care-mc-clinic-hero__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  flex-shrink: 0;
}

.care--web .care-mc-clinic-hero__cta {
  flex-shrink: 0;
  padding-bottom: 4px;
}

.care--web .care-mc-clinic-book {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px !important;
  border-radius: 2px !important;
  background: var(--care-v2-primary) !important;
  color: #fff !important;
  font-weight: 700;
  box-shadow: none !important;
  text-decoration: none;
  white-space: nowrap;
  border: 0;
}

.care--web .care-mc-clinic-book:hover {
  background: var(--care-v2-primary-hover) !important;
  text-decoration: none;
}

/* —— Sticky section nav —— */
.care--web .care-mc-clinic-tabs-wrap {
  background: var(--care-v2-surface);
  border-bottom: 1px solid var(--care-v2-line);
  box-shadow: none;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 5;
}

.care--web .care-mc-clinic-tabs {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: flex;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.care--web .care-mc-clinic-tabs::-webkit-scrollbar {
  display: none;
}

.care--web .care-mc-clinic-tabs a,
.care--web .care-mc-clinic-tabs button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 8px 14px;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: var(--care-v2-muted);
  font: inherit;
  font-weight: 600;
  font-size: 0.92rem;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.care--web .care-mc-clinic-tabs a:hover,
.care--web .care-mc-clinic-tabs button:hover {
  color: var(--care-v2-navy);
  background: var(--care-v2-primary-mist);
  text-decoration: none;
}

.care--web .care-mc-clinic-tabs a.is-active,
.care--web .care-mc-clinic-tabs button.is-active {
  color: var(--care-v2-primary);
  background: var(--care-v2-primary-soft);
}

/* —— Two-column layout —— */
.care--web .care-mc-clinic-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  grid-gap: 28px;
  gap: 28px;
  align-items: start;
}

.care--web .care-mc-clinic-main {
  display: flex;
  flex-direction: column;
  gap: 40px;
  min-width: 0;
}

.care--web .care-mc-clinic-section {
  scroll-margin-top: 72px;
}

.care--web .care-mc-clinic-section__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.care--web .care-mc-clinic-section__title {
  margin: 0 0 8px;
  font-family: var(--care-v2-font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--care-v2-navy);
  letter-spacing: -0.02em;
}

.care--web .care-mc-clinic-section__head .care-mc-clinic-section__title {
  margin-bottom: 0;
}

.care--web .care-mc-clinic-section__lead {
  margin: 6px 0 16px;
  color: var(--care-v2-muted);
  font-size: 0.95rem;
  line-height: 1.55;
  max-width: 48rem;
}

.care--web .care-mc-clinic-section__head .care-mc-clinic-section__lead {
  margin-bottom: 0;
}

.care--web .care-mc-clinic-link {
  color: var(--care-v2-primary);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  white-space: nowrap;
}

.care--web .care-mc-clinic-link:hover {
  text-decoration: underline;
}

.care--web .care-mc-clinic-squircle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 2px;
  background: var(--care-v2-primary-soft);
  color: var(--care-v2-primary);
  flex-shrink: 0;
}

.care--web .care-mc-clinic-squircle .care-ico {
  width: 22px;
  height: 22px;
  color: var(--care-v2-primary);
  fill: none !important;
  stroke: currentColor;
}

.care--web .care-mc-clinic-squircle img,
.care--web .care-mc-clinic-features img,
.care--web .care-mc-clinic-services img,
.care--web .care-mc-clinic-contact img {
  display: none !important;
}

.care--web .care-mc-clinic-squircle--sm {
  width: 36px;
  height: 36px;
}

.care--web .care-mc-clinic-squircle--sm .care-ico {
  width: 18px;
  height: 18px;
}

.care--web .care-mc-clinic-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 12px;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.care--web .care-mc-clinic-features li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 2px;
  background: var(--care-v2-surface);
  border: 1px solid var(--care-v2-line);
  box-shadow: none;
  color: var(--care-v2-navy);
  font-weight: 600;
  font-size: 0.9rem;
}

.care--web .care-mc-clinic-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 10px 16px;
  gap: 10px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.care--web .care-mc-clinic-service {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 10px;
  border: 1px solid var(--care-v2-line);
  background: var(--care-v2-surface);
  text-align: start;
  cursor: pointer;
  color: var(--care-v2-navy);
  border-radius: 2px;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.care--web .care-mc-clinic-service:hover {
  background: var(--care-v2-primary-mist);
  border-color: color-mix(in srgb, var(--care-v2-primary) 28%, var(--care-v2-line));
}

.care--web .care-mc-clinic-service strong {
  font-size: 0.95rem;
  font-weight: 600;
}

/* Doctor + marketplace grids */
.care--web .care-mc-clinic-doc-grid,
.care--web .care-mc-clinic-mkt-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.care--web .care-mc-clinic-pkg-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 12px;
  gap: 12px;
}

.care--web .care-mc-clinic-pkg {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  padding: 16px;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background: var(--care-v2-surface);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.care--web .care-mc-clinic-pkg:hover {
  border-color: color-mix(in srgb, var(--care-v2-primary) 28%, var(--care-v2-line));
  background: var(--care-v2-primary-mist);
}

.care--web .care-mc-clinic-pkg strong {
  color: var(--care-v2-navy);
  font-size: 1rem;
}

.care--web .care-mc-clinic-pkg span {
  color: var(--care-v2-muted);
  font-size: 0.86rem;
  line-height: 1.4;
}

.care--web .care-mc-clinic-pkg__price {
  font-style: normal;
  font-weight: 700;
  color: var(--care-v2-navy);
  font-size: 1.05rem;
}

.care--web .care-mc-clinic-pkg__cta {
  color: var(--care-v2-primary) !important;
  font-weight: 600;
}

.care--web .care-mc-clinic-tokens {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.care--web .care-mc-clinic-tokens li {
  padding: 12px 14px;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background: var(--care-v2-surface);
  color: var(--care-v2-ink);
  font-size: 0.92rem;
}

/* Hours */
.care--web .care-mc-clinic-hours {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  background: var(--care-v2-surface);
}

.care--web .care-mc-clinic-hours__title {
  margin: 0 0 10px;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--care-v2-navy);
}

.care--web .care-mc-clinic-hours__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.care--web .care-mc-clinic-hours__list li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-size: 0.88rem;
  color: var(--care-v2-ink);
}

.care--web .care-mc-clinic-hours__list strong {
  font-weight: 600;
  color: var(--care-v2-navy);
  white-space: nowrap;
}

/* Reviews */
.care--web .care-mc-clinic-reviews {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  grid-gap: 24px;
  gap: 24px;
  align-items: start;
  padding: 18px;
  border-radius: 2px;
  border: 1px solid var(--care-v2-line);
  background: var(--care-v2-surface);
  box-shadow: none;
}

.care--web .care-mc-clinic-reviews__summary {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.care--web .care-mc-clinic-reviews__score {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
}

.care--web .care-mc-clinic-reviews__score > strong {
  font-size: 2.4rem;
  line-height: 1;
  color: var(--care-v2-navy);
  font-weight: 700;
}

.care--web .care-mc-clinic-reviews__score > span {
  color: var(--care-v2-muted);
  font-size: 0.85rem;
}

.care--web .care-mc-clinic-reviews__bars {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

.care--web .care-mc-clinic-reviews__bars li {
  display: grid;
  grid-template-columns: 16px 1fr;
  grid-gap: 8px;
  gap: 8px;
  align-items: center;
  color: var(--care-v2-muted);
  font-size: 0.8rem;
}

.care--web .care-mc-clinic-reviews__bars i {
  display: block;
  height: 8px;
  border-radius: 2px;
  background: var(--care-v2-primary-mist);
  overflow: hidden;
}

.care--web .care-mc-clinic-reviews__bars b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #f5a623;
}

.care--web .care-mc-clinic-reviews__cards {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.care--web .care-mc-clinic-review {
  padding: 14px 16px;
  border-radius: 2px;
  border: 1px solid var(--care-v2-line);
  background: #fff;
  box-shadow: none;
}

.care--web .care-mc-clinic-review__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.care--web .care-mc-clinic-review__avatar {
  width: 40px;
  height: 40px;
  border-radius: 2px;
  display: inline-grid;
  place-items: center;
  background: var(--care-v2-primary-soft);
  color: var(--care-v2-primary);
  font-size: 0.8rem;
  font-weight: 700;
  flex-shrink: 0;
}

.care--web .care-mc-clinic-review__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.care--web .care-mc-clinic-review__meta strong {
  color: var(--care-v2-navy);
  font-size: 0.95rem;
  font-weight: 700;
}

.care--web .care-mc-clinic-review__meta em {
  font-style: normal;
  color: var(--care-v2-muted);
  font-size: 0.8rem;
}

.care--web .care-mc-clinic-review .care-rating--stars {
  display: inline-flex;
  margin-bottom: 8px;
}

.care--web .care-mc-clinic-review .care-rating--stars .care-rating__stars {
  display: inline-flex;
  gap: 2px;
}

.care--web .care-mc-clinic-review .care-rating--stars .care-rating__star {
  color: #d0d7e2;
  font-size: 0.85rem;
  line-height: 1;
}

.care--web .care-mc-clinic-review .care-rating--stars .care-rating__star.is-on {
  color: #f5a623;
}

.care--web .care-mc-clinic-review .care-rating__score {
  font-size: 0;
  gap: 0;
}

.care--web .care-mc-clinic-review .care-rating__score > :not(.care-rating__stars) {
  display: none;
}

.care--web .care-mc-clinic-review p {
  margin: 0;
  color: var(--care-v2-ink, #0f172a);
  font-size: 0.9rem;
  line-height: 1.5;
}

.care--web .care-mc-clinic-review__helpful {
  display: inline-block;
  margin-top: 10px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--care-v2-muted);
  border: 1px solid var(--care-v2-line);
  border-radius: 2px;
  padding: 4px 10px;
  background: var(--care-v2-paper);
}

.care--web .care-mc-clinic-map {
  display: block;
  max-width: 100%;
  border-radius: 2px;
  overflow: hidden;
  border: 1px solid var(--care-v2-line);
}

/* —— Sidebar —— */
.care--web .care-mc-clinic-side {
  position: -webkit-sticky;
  position: sticky;
  top: 72px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.care--web .care-mc-clinic-side__card {
  padding: 18px;
  border-radius: 2px;
  border: 1px solid var(--care-v2-line);
  background: var(--care-v2-surface);
  box-shadow: none;
}

.care--web .care-mc-clinic-side__book {
  padding: 16px;
}

.care--web .care-mc-clinic-side__book .care-mc-clinic-book {
  width: 100%;
}

.care--web .care-mc-clinic-side__card h2 {
  margin: 0 0 14px;
  font-size: 1rem;
  font-weight: 700;
  color: var(--care-v2-navy);
}

.care--web .care-mc-clinic-contact {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.care--web .care-mc-clinic-contact li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--care-v2-ink);
  font-size: 0.9rem;
  line-height: 1.4;
}

.care--web .care-mc-clinic-contact a {
  color: var(--care-v2-navy);
  text-decoration: none;
  word-break: break-word;
}

.care--web .care-mc-clinic-contact a:hover {
  color: var(--care-v2-primary);
}

.care--web .care-mc-clinic-side__map .care-map-thumb {
  display: block;
  width: 100%;
  margin-bottom: 10px;
  border-radius: 2px;
  overflow: hidden;
}

.care--web .care-mc-clinic-side__map .care-map-thumb__canvas {
  aspect-ratio: 1;
  min-height: 160px;
}

.care--web .care-mc-clinic-side__map .care-map-thumb__label {
  display: none;
}

/* —— Responsive —— */
@media (max-width: 960px) {
  .care--web .care-mc-clinic-layout {
    grid-template-columns: 1fr;
  }

  .care--web .care-mc-clinic-side {
    position: static;
    order: -1;
  }

  .care--web .care-mc-clinic-hero__stage {
    flex-direction: column;
    align-items: stretch;
  }

  .care--web .care-mc-clinic-hero__cta .care-mc-clinic-book {
    width: 100%;
  }

  .care--web .care-mc-clinic-features {
    grid-template-columns: 1fr;
  }

  .care--web .care-mc-clinic-pkg-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .care--web .care-v2-practice-detail.care-mc-clinic > .care-mc-clinic-crumb-wrap.care-page__body,
  .care--web .care-v2-practice-detail.care-mc-clinic > .care-mc-clinic-body.care-page__body {
    padding-inline: 16px;
  }

  .care--web .care-mc-clinic-hero {
    min-height: 360px;
  }

  .care--web .care-mc-clinic-hero__logo,
  .care--web .care-mc-clinic-hero__logo.care-center__logo,
  .care--web .care-mc-clinic-hero__logo.care-avatar--practice {
    width: 88px !important;
    height: 88px !important;
  }

  .care--web .care-mc-clinic-hero__stage {
    width: calc(100% - 32px);
  }

  .care--web .care-mc-clinic-tabs {
    width: calc(100% - 32px);
  }

  .care--web .care-mc-clinic-hero__card {
    flex-direction: column;
  }

  .care--web .care-mc-clinic-services {
    grid-template-columns: 1fr;
  }

  .care--web .care-mc-clinic-reviews {
    grid-template-columns: 1fr;
  }

  .care--web .care-mc-clinic-reviews__cards {
    gap: 10px;
  }
}

/**
 * MedCare — doctor detail + booking panel (CareDoctorDetailPage).
 * Loaded last from CareLayout; overrides care-design-v2 / care.css under .care--web.
 */

/* —— Layout —— */
.care--web .care-v2-doctor-detail .care-v2-dd {
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.85fr);
  gap: 24px;
  align-items: start;
}

.care--web .care-v2-doctor-detail .care-page__body {
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: 24px;
}

/* —— Profile hero —— */
.care--web .care-v2-doctor-detail .care-v2-dd__profile {
  background: var(--care-v2-surface);
  border: 1px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius-lg);
  padding: 20px;
  box-shadow: var(--care-v2-shadow-sm);
  font-family: var(--care-v2-font);
}

.care--web .care-v2-doctor-detail .care-v2-dd__photo {
  display: block;
  width: 100%;
  max-height: none;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--care-v2-radius-md);
  background: var(--care-v2-line);
}

.care--web .care-v2-doctor-detail .care-v2-dd__shield {
  left: 18px;
  bottom: -16px;
  width: 48px;
  height: 48px;
  border-radius: var(--care-v2-radius-pill);
  background: var(--care-v2-navy);
  color: #fff;
  box-shadow: 0 8px 20px rgba(11, 31, 58, 0.28);
}

.care--web .care-v2-doctor-detail .care-v2-dd__name {
  margin: 22px 0 8px;
  font-family: var(--care-v2-font-display);
  font-size: clamp(1.55rem, 2.1vw, 1.95rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--care-v2-navy);
}

.care--web .care-v2-doctor-detail .care-v2-dd__specialty {
  color: var(--care-v2-primary);
  font-weight: 600;
}

.care--web .care-v2-doctor-detail .care-v2-dd__clinic {
  color: var(--care-v2-muted);
}

.care--web .care-v2-doctor-detail .care-v2-dd__stats {
  border-color: var(--care-v2-line);
  color: var(--care-v2-ink);
  font-size: 0.9rem;
}

.care--web .care-v2-doctor-detail .care-v2-dd__stats .care-ico {
  color: var(--care-v2-primary);
}

.care--web .care-v2-doctor-detail .care-v2-dd__verified {
  color: var(--care-v2-primary);
  font-weight: 500;
}

/* —— Info tabs / cards —— */
.care--web .care-v2-doctor-detail .care-v2-info-cards {
  margin-top: 18px;
  gap: 12px;
}

.care--web .care-v2-doctor-detail .care-v2-info-card {
  background: var(--care-v2-surface);
  border: 1px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius-md);
  padding: 18px 16px;
  box-shadow: var(--care-v2-shadow-sm);
  gap: 8px;
}

.care--web .care-v2-doctor-detail .care-v2-info-card strong {
  font-family: var(--care-v2-font-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--care-v2-navy);
}

.care--web .care-v2-doctor-detail .care-v2-info-card p {
  margin: 0;
  color: var(--care-v2-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.care--web .care-v2-doctor-detail .care-v2-info-card .care-ico {
  color: var(--care-v2-primary);
}

/* —— Booking panel —— */
.care--web .care-v2-doctor-detail .care-v2-book-panel {
  position: -webkit-sticky;
  position: sticky;
  top: 96px;
  background: var(--care-v2-surface);
  border: 1px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius-lg);
  box-shadow: var(--care-v2-shadow);
  padding: 22px 20px;
  font-family: var(--care-v2-font);
}

.care--web .care-v2-doctor-detail .care-v2-book-panel > h2 {
  margin: 0 0 6px;
  font-family: var(--care-v2-font-display);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--care-v2-navy);
}

.care--web .care-v2-doctor-detail .care-v2-book-panel .care-v2-lead {
  margin: 0 0 18px;
  color: var(--care-v2-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

/* —— Practice pickers —— */
.care--web .care-v2-doctor-detail .care-v2-dd-practices h3 {
  margin: 0 0 10px;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--care-v2-navy);
}

.care--web .care-v2-doctor-detail .care-practice-picks {
  gap: 10px;
}

.care--web .care-v2-doctor-detail .care-practice-pick {
  border: 1.5px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius);
  background: var(--care-v2-surface);
  padding: 12px 14px;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.care--web .care-v2-doctor-detail .care-practice-pick strong {
  color: var(--care-v2-ink);
  font-weight: 600;
}

.care--web .care-v2-doctor-detail .care-practice-pick span {
  color: var(--care-v2-muted);
}

.care--web .care-v2-doctor-detail .care-practice-pick.is-active {
  border-color: var(--care-v2-primary);
  background: var(--care-v2-primary-soft);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--care-v2-primary) 28%, transparent);
}

.care--web .care-v2-doctor-detail .care-practice-pick .care-link {
  color: var(--care-v2-primary);
  font-size: 0.82rem;
  font-weight: 600;
}

/* —— Week calendar —— */
.care--web .care-v2-dd-weekcal__month {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.care--web .care-v2-dd-weekcal__month strong {
  color: var(--care-v2-navy);
  font-size: 0.92rem;
  font-weight: 700;
}

.care--web .care-v2-dd-weekcal__month .care-link {
  color: var(--care-v2-primary);
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
}

.care--web .care-v2-dd-weekcal__month .care-link:disabled,
.care--web .care-v2-dd-weekcal__month .care-link[disabled] {
  opacity: 0.45;
  cursor: default;
}

.care--web .care-v2-dd-weekcal__row {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.care--web .care-v2-dd-weekcal__row .care-weekcal__nav {
  align-self: center;
  width: 36px;
  height: 36px;
  border: 1.5px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius-pill);
  background: var(--care-v2-surface);
  color: var(--care-v2-navy);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}

.care--web .care-v2-dd-weekcal__row .care-weekcal__nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.care--web .care-v2-dd-weekcal__row .care-weekcal__grid {
  flex: 1 1;
  min-width: 0;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(64px, 1fr);
  grid-gap: 8px;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 6px;
}

.care--web .care-v2-dd-weekcal .care-weekcal__day {
  position: relative;
  min-width: 64px;
  padding: 10px 6px 14px;
  border: 1.5px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius);
  background: var(--care-v2-surface);
  color: var(--care-v2-ink);
  font-family: var(--care-v2-font);
}

.care--web .care-v2-dd-weekcal .care-weekcal__day.is-today:not(.is-selected) {
  border-color: color-mix(in srgb, var(--care-v2-primary) 35%, var(--care-v2-line));
  background: var(--care-v2-primary-mist);
}

.care--web .care-v2-dd-weekcal .care-weekcal__day.is-selected {
  border-color: var(--care-v2-primary);
  background: var(--care-v2-surface);
  color: var(--care-v2-primary);
  box-shadow: inset 0 0 0 1px var(--care-v2-primary);
}

.care--web .care-v2-dd-weekcal .care-weekcal__day.is-selected .care-weekcal__dow,
.care--web .care-v2-dd-weekcal .care-weekcal__day.is-selected .care-weekcal__num {
  color: var(--care-v2-primary);
}

.care--web .care-v2-dd-weekcal .care-weekcal__dow {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--care-v2-muted);
}

.care--web .care-v2-dd-weekcal .care-weekcal__num {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--care-v2-ink);
}

/* 8px active dot — MedCare locked */
.care--web .care-v2-dd-weekcal .care-weekcal__today-dot {
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #cbd5e1 !important;
  border: none !important;
  padding: 0 !important;
}

.care--web .care-v2-dd-weekcal .care-weekcal__day.is-selected .care-weekcal__today-dot {
  background: var(--care-v2-primary) !important;
  width: 8px !important;
  height: 8px !important;
}

/* —— Consultation mode toggle —— */
.care--web .care-v2-doctor-detail .care-mode-toggle {
  display: flex;
  gap: 8px;
  margin: 0 0 14px;
}

.care--web .care-v2-doctor-detail .care-mode-toggle button {
  flex: 1 1;
  min-height: 44px;
  border-radius: var(--care-v2-radius-pill);
  border: 1.5px solid var(--care-v2-line);
  background: var(--care-v2-surface);
  font-weight: 600;
  font-family: var(--care-v2-font);
  color: var(--care-v2-ink);
  cursor: pointer;
}

.care--web .care-v2-doctor-detail .care-mode-toggle button.is-active {
  background: var(--care-v2-primary);
  border-color: var(--care-v2-primary);
  color: #fff;
}

/* —— Slot pills —— */
.care--web .care-v2-dd-slot-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 10px;
  gap: 10px;
  margin: 0 0 14px;
}

.care--web .care-v2-dd-slot-grid .care-slot {
  min-height: 44px;
  border-radius: var(--care-v2-radius-pill);
  border: 1.5px solid var(--care-v2-line);
  background: var(--care-v2-surface);
  color: var(--care-v2-ink);
  font-weight: 600;
  font-family: var(--care-v2-font);
  font-size: 0.88rem;
  cursor: pointer;
}

.care--web .care-v2-dd-slot-grid .care-slot.is-active {
  background: var(--care-v2-primary) !important;
  border-color: var(--care-v2-primary) !important;
  color: #fff !important;
}

.care--web .care-v2-dd-slot-grid .care-slot.is-unavailable,
.care--web .care-v2-dd-slot-grid .care-slot:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  text-decoration: line-through;
}

/* —— Empty slots —— */
.care--web .care-v2-doctor-detail .care-slots-empty {
  margin: 0 0 14px;
  padding: 14px 16px;
  border-radius: var(--care-v2-radius);
  border: 1px solid color-mix(in srgb, var(--care-v2-warn) 35%, var(--care-v2-line));
  background: color-mix(in srgb, var(--care-v2-warn) 8%, var(--care-v2-surface));
}

.care--web .care-v2-doctor-detail .care-slots-empty .care-ico {
  color: var(--care-v2-warn);
}

.care--web .care-v2-doctor-detail .care-slots-empty strong {
  color: var(--care-v2-ink);
  font-weight: 700;
}

.care--web .care-v2-doctor-detail .care-slots-empty p {
  color: var(--care-v2-muted);
}

/* —— Visit kind (patient type) —— */
.care--web .care-v2-dd-visit-kind {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 10px;
  gap: 10px;
  margin: 16px 0 14px;
}

.care--web .care-v2-dd-visit-kind > button {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px;
  border: 1.5px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius);
  background: var(--care-v2-surface);
  text-align: start;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

.care--web .care-v2-dd-visit-kind > button.is-active {
  border-color: var(--care-v2-primary);
  background: var(--care-v2-primary-soft);
  box-shadow: inset 0 0 0 1px var(--care-v2-primary);
}

.care--web .care-v2-dd-radio {
  width: 16px;
  height: 16px;
  border-radius: var(--care-v2-radius-pill);
  border: 2px solid var(--care-v2-line);
  flex: 0 0 auto;
  background: var(--care-v2-surface);
  box-shadow: inset 0 0 0 0 var(--care-v2-primary);
}

.care--web .care-v2-dd-visit-kind > button.is-active .care-v2-dd-radio {
  border-color: var(--care-v2-primary);
  box-shadow: inset 0 0 0 4px var(--care-v2-primary);
}

.care--web .care-v2-dd-visit-kind .care-ico {
  color: var(--care-v2-primary);
}

.care--web .care-v2-dd-visit-kind strong {
  color: var(--care-v2-navy);
}

.care--web .care-v2-dd-visit-kind em {
  color: var(--care-v2-muted);
}

/* —— Book CTA —— */
.care--web .care-v2-doctor-detail .care-v2-btn,
.care--web .care-v2-doctor-detail .care-v2-dd-book-cta {
  width: 100%;
  min-height: 48px;
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: var(--care-v2-radius-pill) !important;
  border: none;
  background: var(--care-v2-primary) !important;
  color: #fff !important;
  font-weight: 600;
  font-family: var(--care-v2-font);
  box-shadow: 0 6px 16px rgba(0, 102, 255, 0.22);
  cursor: pointer;
}

.care--web .care-v2-doctor-detail .care-v2-btn:hover:not(:disabled),
.care--web .care-v2-doctor-detail .care-v2-dd-book-cta:hover:not(:disabled) {
  background: var(--care-v2-primary-hover) !important;
}

.care--web .care-v2-doctor-detail .care-v2-btn:disabled,
.care--web .care-v2-doctor-detail .care-v2-dd-book-cta:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  box-shadow: none;
}

.care--web .care-v2-dd-secure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 12px 0 0;
  color: var(--care-v2-muted);
  font-size: 0.82rem;
}

.care--web .care-v2-dd-secure .care-ico {
  color: var(--care-v2-primary);
}

/* —— Token booking —— */
.care--web .care-v2-doctor-detail .care-v2-dd-token {
  margin-top: 16px;
}

.care--web .care-v2-doctor-detail .care-v2-dd-token strong {
  color: var(--care-v2-primary);
  font-size: 1.35rem;
}

/* —— Checkout stepper (CarePatientStep from doctor book) —— */
.care--web .care-v2-checkout__steps li.is-done,
.care--web .care-v2-checkout__steps li.is-active {
  color: var(--care-v2-primary);
  font-weight: 600;
}

.care--web .care-v2-checkout__steps li.is-done::before,
.care--web .care-v2-checkout__steps li.is-active::before {
  border-color: var(--care-v2-primary);
}

.care--web .care-v2-checkout__steps li.is-done::before {
  background: var(--care-v2-primary);
  color: #fff;
}

.care--web .care-v2-checkout__steps li.is-active::before {
  background: var(--care-v2-surface);
  color: var(--care-v2-primary);
}

.care--web .care-v2-checkout__steps li:not(:last-child)::after {
  background: color-mix(in srgb, var(--care-v2-primary) 22%, var(--care-v2-line));
}

.care--web .care-v2-checkout__steps li.is-done:not(:last-child)::after {
  background: var(--care-v2-primary);
}

/* —— Loading skeletons —— */
.care--web .care-v2-dd--loading .care-v2-book-panel {
  position: static;
}

.care--web .care-skel--dd-photo .care-skel--banner {
  border-radius: var(--care-v2-radius-md);
  overflow: hidden;
}

.care--web .care-skel--dd-book {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.care--web .care-skel--dd-book .care-skel__week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  grid-gap: 8px;
  gap: 8px;
}

.care--web .care-skel--dd-book .care-skel__day {
  height: 72px;
  border-radius: var(--care-v2-radius);
}

.care--web .care-skel--dd-book .care-skel__slots {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 10px;
  gap: 10px;
}

.care--web .care-skel--dd-book .care-skel__slot {
  height: 44px;
  border-radius: var(--care-v2-radius-pill);
}

.care--web .care-skel--dd-book .care-skel__cta {
  height: 48px;
  border-radius: var(--care-v2-radius-pill);
}

@media (max-width: 900px) {
  .care--web .care-v2-doctor-detail .care-v2-dd,
  .care--web .care-v2-dd--loading {
    grid-template-columns: 1fr;
  }

  .care--web .care-v2-doctor-detail .care-v2-book-panel {
    position: static;
  }

  .care--web .care-v2-dd-slot-grid,
  .care--web .care-skel--dd-book .care-skel__slots {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .care--web .care-v2-dd-visit-kind {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MedCare 4-step book flow (collage parity)
   ═══════════════════════════════════════════════════════════════════════════ */

.care--web .care-medcare-book .care-book-flow__head {
  margin-bottom: 20px;
}

.care--web .care-medcare-book .care-book-flow__title {
  margin: 0 0 16px;
  font-family: var(--care-v2-font-display, 'Inter', system-ui, sans-serif);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--care-v2-navy, #0b1f3a);
}

.care--web .care-book-stepper {
  list-style: none;
  margin: 0;
  padding: 12px 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 8px;
  gap: 8px;
  background: var(--care-v2-surface, #fff);
  border: 1px solid var(--care-v2-line, #e2e8f0);
  border-radius: var(--care-v2-radius-lg, 20px);
  box-shadow: var(--care-v2-shadow-sm, 0 2px 8px rgba(11, 31, 58, 0.06));
}

.care--web .care-book-stepper > li {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: var(--care-v2-muted, #64748b);
  font-size: 0.82rem;
  font-weight: 500;
  position: relative;
}

.care--web .care-book-stepper > li:not(:last-child)::after {
  content: '';
  position: absolute;
  inset-inline-end: -4px;
  top: 50%;
  width: 8px;
  height: 2px;
  background: var(--care-v2-line, #e2e8f0);
  transform: translateY(-50%);
}

.care--web .care-book-stepper__num {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 2px solid var(--care-v2-line, #e2e8f0);
  background: var(--care-v2-surface, #fff);
  font-weight: 700;
  font-size: 0.8rem;
}

.care--web .care-book-stepper__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.care--web .care-book-stepper > li.is-active {
  color: var(--care-v2-primary, #0066ff);
  font-weight: 600;
}

.care--web .care-book-stepper > li.is-active .care-book-stepper__num {
  border-color: var(--care-v2-primary, #0066ff);
  color: var(--care-v2-primary, #0066ff);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--care-v2-primary, #0066ff) 16%, transparent);
}

.care--web .care-book-stepper > li.is-done {
  color: var(--care-v2-navy, #0b1f3a);
}

.care--web .care-book-stepper > li.is-done .care-book-stepper__num {
  background: var(--care-v2-primary, #0066ff);
  border-color: var(--care-v2-primary, #0066ff);
  color: #fff;
}

.care--web .care-book-stepper > li.is-done:not(:last-child)::after {
  background: var(--care-v2-primary, #0066ff);
}

.care--web .care-book-flow__grid {
  display: grid;
  grid-template-columns: minmax(240px, 0.85fr) minmax(0, 1.4fr);
  grid-gap: 24px;
  gap: 24px;
  align-items: start;
}

.care--web .care-book-doctor-card {
  background: var(--care-v2-surface, #fff);
  border: 1px solid var(--care-v2-line, #e2e8f0);
  border-radius: var(--care-v2-radius, 2px);
  padding: 20px;
  box-shadow: none;
  text-align: center;
}

.care--web .care-book-doctor-card__avail {
  display: inline-flex;
  margin: 0 0 10px;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, #10b981 35%, var(--care-v2-line, #e2e8f0));
  border-radius: var(--care-v2-radius, 2px);
  background: color-mix(in srgb, #10b981 12%, #fff);
  color: #047857;
  font-size: 0.75rem;
  font-weight: 700;
}

.care--web .care-book-doctor-card__token {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: var(--care-v2-radius, 2px);
  border: 1px solid color-mix(in srgb, var(--care-v2-primary, #0066ff) 28%, var(--care-v2-line, #e2e8f0));
  background: color-mix(in srgb, var(--care-v2-primary, #0066ff) 8%, #fff);
  color: var(--care-v2-muted, #64748b);
  font-size: 0.78rem;
  font-weight: 600;
}

.care--web .care-book-doctor-card__token strong {
  color: var(--care-v2-primary, #0066ff);
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.care--web .care-book-doctor-card__booking {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 12px 0 0;
  padding: 12px;
  border-top: 1px solid var(--care-v2-line, #e2e8f0);
  text-align: start;
  font-size: 0.86rem;
  color: var(--care-v2-muted, #64748b);
  line-height: 1.4;
}

.care--web .care-book-doctor-card__booking strong {
  color: var(--care-v2-navy, #0b1f3a);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.care--web .care-book-doctor-card__booking span:first-of-type {
  color: var(--care-v2-navy, #0b1f3a);
  font-weight: 650;
  font-size: 0.92rem;
}

.care--web .care-book-doctor-card__photo {
  width: 112px;
  height: 112px;
  border-radius: 999px;
  object-fit: cover;
  margin: 0 auto 14px;
  display: block;
  border: 3px solid var(--care-v2-soft, #ebf5ff);
}

.care--web .care-book-doctor-card__name {
  margin: 0 0 6px;
  font-family: var(--care-v2-font-display, 'Inter', system-ui, sans-serif);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--care-v2-navy, #0b1f3a);
}

.care--web .care-book-doctor-card__specialty {
  margin: 0 0 6px;
  color: var(--care-v2-primary, #0066ff);
  font-weight: 600;
  font-size: 0.92rem;
}

.care--web .care-book-doctor-card__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin: 0 0 8px;
}

.care--web .care-book-doctor-card__chip {
  display: inline-flex;
  padding: 3px 8px;
  border: 1px solid var(--care-v2-line, #e2e8f0);
  border-radius: var(--care-v2-radius, 2px);
  background: var(--care-v2-primary-soft, #ebf5ff);
  color: var(--care-v2-navy, #0b1f3a);
  font-size: 0.78rem;
  font-weight: 600;
}

.care--web .care-book-doctor-card__clinic,
.care--web .care-book-doctor-card__rating,
.care--web .care-book-doctor-card__meta {
  margin: 0 0 6px;
  color: var(--care-v2-muted, #64748b);
  font-size: 0.86rem;
  line-height: 1.45;
}

.care--web .care-book-doctor-card__rating em {
  color: #f59e0b;
  font-style: normal;
}

.care--web .care-book-doctor-card__about {
  margin: 8px 0 0;
  padding-top: 10px;
  border-top: 1px solid var(--care-v2-line, #e2e8f0);
  color: var(--care-v2-muted, #64748b);
  font-size: 0.86rem;
  line-height: 1.5;
  text-align: start;
}

.care--web .care-book-doctor-card__fee {
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--care-v2-line, #e2e8f0);
  font-weight: 700;
  color: var(--care-v2-navy, #0b1f3a);
  font-size: 0.95rem;
}

.care--web .care-book-flow__about {
  margin-top: 14px;
  padding: 14px;
  border-radius: var(--care-v2-radius, 2px);
  background: var(--care-v2-paper, #f7f9fc);
  border: 1px solid var(--care-v2-line, #e2e8f0);
  font-size: 0.88rem;
  color: var(--care-v2-muted, #64748b);
}

.care--web .care-book-flow__about strong {
  display: block;
  margin-bottom: 6px;
  color: var(--care-v2-navy, #0b1f3a);
}

.care--web .care-medcare-book .care-book-flow__panel {
  position: static;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.care--web .care-book-flow__datetime {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  grid-gap: 18px;
  gap: 18px;
}

.care--web .care-book-flow__datetime.is-later-step {
  grid-template-columns: minmax(0, 1fr);
}

.care--web .care-book-flow__datetime.is-later-step .care-book-flow__slots-col {
  min-width: 0;
  width: 100%;
}

.care--web .care-book-flow__cal h3,
.care--web .care-book-flow__slots-col h3,
.care--web .care-book-slot-period h4 {
  margin: 0 0 10px;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--care-v2-navy, #0b1f3a);
}

.care--web .care-book-monthcal {
  padding: 12px;
  border: 1px solid var(--care-v2-line, #e2e8f0);
  border-radius: var(--care-v2-radius-md, 16px);
  background: var(--care-v2-paper, #f7f9fc);
}

.care--web .care-book-monthcal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.care--web .care-book-monthcal__head strong {
  font-size: 0.95rem;
  color: var(--care-v2-navy, #0b1f3a);
}

.care--web .care-book-monthcal__nav {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.care--web .care-book-monthcal__dows {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  grid-gap: 4px;
  gap: 4px;
  margin-bottom: 6px;
  text-align: center;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--care-v2-muted, #64748b);
}

.care--web .care-book-monthcal__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  grid-gap: 4px;
  gap: 4px;
}

.care--web .care-book-monthcal__day {
  aspect-ratio: 1;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--care-v2-ink, #0f172a);
  font: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
}

.care--web .care-book-monthcal__day:hover:not(:disabled) {
  background: var(--care-v2-soft, #ebf5ff);
}

.care--web .care-book-monthcal__day.is-selected {
  background: var(--care-v2-primary, #0066ff);
  color: #fff;
}

.care--web .care-book-monthcal__day.is-today:not(.is-selected) {
  box-shadow: inset 0 0 0 2px var(--care-v2-primary, #0066ff);
}

.care--web .care-book-monthcal__day.is-outside,
.care--web .care-book-monthcal__day:disabled {
  opacity: 0.28;
  cursor: default;
}

.care--web .care-book-slot-periods {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.care--web .care-book-slot-period h4 {
  color: var(--care-v2-muted, #64748b);
  font-weight: 600;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.care--web .care-book-flow__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px solid var(--care-v2-line, #e2e8f0);
}

.care--web .care-book-flow__back {
  min-height: 44px;
  padding: 0 20px;
  border-radius: var(--care-v2-radius-pill, 999px);
  background: var(--care-v2-paper, #f7f9fc);
  border: 1px solid var(--care-v2-line, #e2e8f0);
  color: var(--care-v2-navy, #0b1f3a);
}

.care--web .care-book-flow__continue {
  width: auto !important;
  min-width: 140px;
  min-height: 48px;
  border-radius: var(--care-v2-radius-pill, 999px) !important;
}

.care--web .care-book-flow__checkout {
  background: var(--care-v2-surface, #fff);
  border: 1px solid var(--care-v2-line, #e2e8f0);
  border-radius: var(--care-v2-radius-lg, 20px);
  padding: 8px;
  box-shadow: var(--care-v2-shadow-sm, 0 2px 8px rgba(11, 31, 58, 0.06));
}

.care--web .care-book-stepper__hit {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
  border-radius: 12px;
  transition: background 0.2s ease, transform 0.2s ease;
}

.care--web .care-book-stepper__hit:hover {
  background: color-mix(in srgb, var(--care-v2-primary, #0066ff) 8%, transparent);
}

.care--web .care-book-stepper__hit:focus-visible {
  outline: 2px solid var(--care-v2-primary, #0066ff);
  outline-offset: 2px;
}

.care--web .care-book-flow__stage-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 4px;
}

.care--web .care-book-flow__stage-head h2 {
  margin: 0 0 6px;
}

.care--web .care-book-flow__stage-head .care-v2-lead {
  margin: 0;
}

.care--web .care-book-flow__step-back {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  margin-top: 2px;
  border-radius: 999px;
  border: 1px solid var(--care-v2-line, #e2e8f0);
  background: var(--care-v2-paper, #f7f9fc);
  color: var(--care-v2-navy, #0b1f3a);
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.care--web .care-book-flow__step-back:hover:not(:disabled) {
  background: #fff;
  border-color: color-mix(in srgb, var(--care-v2-primary, #0066ff) 35%, var(--care-v2-line, #e2e8f0));
  box-shadow: 0 6px 16px rgba(11, 31, 58, 0.08);
  transform: translateX(-2px);
}

.care--web[dir='rtl'] .care-book-flow__step-back:hover:not(:disabled),
.care--web .care--rtl .care-book-flow__step-back:hover:not(:disabled) {
  transform: translateX(2px);
}

.care--web[dir='rtl'] .care-book-flow__step-back span,
.care--web .care--rtl .care-book-flow__step-back span {
  display: inline-block;
  transform: scaleX(-1);
}

.care--web .care-book-flow__step-back:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.care--web .care-book-flow__datetime.is-later-step .care-book-flow__cal {
  display: none;
}

.care--web .care-book-flow__picked-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  margin: 0 0 16px;
  padding: 14px 16px;
  border-radius: var(--care-v2-radius-md, 16px);
  background: color-mix(in srgb, var(--care-v2-primary, #0066ff) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--care-v2-primary, #0066ff) 18%, transparent);
  color: var(--care-v2-navy, #0b1f3a);
  animation: care-book-stage-in 0.35s ease both;
}

.care--web .care-book-flow__picked-bar > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.care--web .care-book-flow__picked-bar strong {
  font-weight: 700;
  font-size: 0.98rem;
}

.care--web .care-book-flow__picked-bar span {
  color: var(--care-v2-muted, #64748b);
  font-size: 0.88rem;
}

.care--web .care-book-flow__picked-bar__mode {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: var(--care-v2-radius, 2px);
  background: #fff;
  border: 1px solid var(--care-v2-line, #e2e8f0);
  color: var(--care-v2-navy, #0b1f3a) !important;
  font-size: 0.8rem !important;
  font-weight: 650;
}

.care--web .care-book-flow__picked-chip {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--care-v2-primary, #0066ff) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--care-v2-primary, #0066ff) 18%, transparent);
  color: var(--care-v2-navy, #0b1f3a);
  font-size: 0.9rem;
  animation: care-book-stage-in 0.35s ease both;
}

.care--web .care-book-flow__picked-chip strong {
  font-weight: 650;
}

.care--web .care-book-flow__picked-chip span {
  color: var(--care-v2-muted, #64748b);
}

@keyframes care-book-stage-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.care--web .care-book-flow__stage-pane {
  animation: care-book-stage-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.care--web .care-book-flow__stage-pane.is-parked {
  display: none;
}

.care--web .care-book-flow__slots-col .care-patient-step--embedded .care-patient-step__sheet {
  display: block;
  background: transparent;
  padding: 0;
  border: none;
  box-shadow: none;
  overflow: visible;
  height: auto;
  max-height: none;
}

.care--web .care-book-flow__slots-col .care-patient-step--embedded .care-patient-step__summary,
.care--web .care-book-flow__slots-col .care-patient-step--embedded .care-v2-checkout__banner {
  display: none;
}

.care--web .care-book-flow__slots-col .care-patient-step--embedded .care-patient-step__body,
.care--web .care-book-flow__slots-col .care-patient-step--embedded .care-patient-step__main {
  padding: 0;
}

.care--web .care-book-flow__slots-col .care-patient-step--embedded .care-patient-step__scroll {
  padding: 0;
  overflow: visible;
}

.care--web .care-book-flow__slots-col .care-patient-step--embedded .care-patient-step__layout {
  display: block;
  max-width: none;
}

.care--web .care-book-flow__slots-col .care-patient-step--embedded .care-v2-checkout__section-label.is-lead {
  margin: 0 0 12px;
  font-size: 0.95rem;
  font-weight: 650;
  color: var(--care-v2-navy, #0b1f3a);
}

.care--web .care-book-flow__slots-col .care-patient-step--embedded .care-patient-step__brief {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: var(--care-v2-radius-md, 16px);
  border: 1px solid var(--care-v2-line, #e2e8f0);
  background: var(--care-v2-paper, #f7f9fc);
}

.care--web .care-book-flow__slots-col .care-patient-step--embedded .care-patient-step__footer {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--care-v2-line, #e2e8f0);
  justify-content: flex-start;
}

.care--web .care-book-flow__slots-col .care-patient-step--embedded .care-patient-step__footer .care-btn {
  width: auto;
  min-width: 140px;
}

.care--web .care-book-flow__patient-pane {
  width: 100%;
  min-width: 0;
}

.care--web .care-book-review {
  display: flex;
  flex-direction: column;
  gap: 14px;
  animation: care-book-stage-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.care--web .care-book-review > h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--care-v2-navy, #0b1f3a);
}

.care--web .care-book-review__lead {
  margin: -6px 0 0;
  color: var(--care-v2-muted, #64748b);
  font-size: 0.9rem;
  line-height: 1.45;
}

.care--web .care-book-review__list {
  margin: 0;
  padding: 0;
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.care--web .care-book-review__list > div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  grid-gap: 10px;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--care-v2-paper, #f7f9fc);
  border: 1px solid var(--care-v2-line, #e2e8f0);
}

.care--web .care-book-review__list dt {
  margin: 0;
  color: var(--care-v2-muted, #64748b);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  align-self: start;
  padding-top: 2px;
}

.care--web .care-book-review__list dd {
  margin: 0;
  color: var(--care-v2-navy, #0b1f3a);
  font-size: 0.95rem;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.care--web .care-book-review__list dd strong {
  font-weight: 650;
}

.care--web .care-book-review__list dd span {
  color: var(--care-v2-muted, #64748b);
  font-size: 0.85rem;
}

.care--web .care-book-review__notes {
  white-space: pre-wrap;
  word-break: break-word;
}

.care--web .care-book-review__pay {
  margin-top: 4px;
}

.care--web .care-book-review__nav {
  margin-top: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .care--web .care-book-flow__stage-pane,
  .care--web .care-book-review,
  .care--web .care-book-flow__picked-chip,
  .care--web .care-book-flow__picked-bar,
  .care--web .care-book-flow__step-back:hover:not(:disabled) {
    animation: none;
    transform: none;
  }
}

.care--web .care-patient-step--embedded {
  position: static;
  inset: auto;
  background: transparent;
  display: block;
  padding: 0;
}

.care--web .care-patient-step--embedded .care-patient-step__sheet {
  max-width: none;
  width: 100%;
  margin: 0;
  border-radius: var(--care-v2-radius-md, 16px);
  box-shadow: none;
  max-height: none;
}

.care--web .care-patient-step--embedded .care-v2-checkout__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

@media (max-width: 900px) {
  .care--web .care-book-flow__grid,
  .care--web .care-book-flow__datetime {
    grid-template-columns: 1fr;
  }

  .care--web .care-book-stepper {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .care--web .care-book-stepper > li:not(:last-child)::after {
    display: none;
  }
}

@media (max-width: 560px) {
  .care--web .care-book-stepper__label {
    white-space: normal;
  }

  .care--web .care-book-flow__nav {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .care--web .care-book-flow__continue,
  .care--web .care-book-flow__back {
    width: 100%;
    justify-content: center;
  }
}

/* —— Mobile collage: vertical stepper + full-width slots —— */
@media (max-width: 767px) {
  .care--web .care-medcare-book .care-book-stepper,
  .care--web.care--phone .care-medcare-book .care-book-stepper {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    gap: 0;
    padding: 14px 16px;
  }

  .care--web .care-medcare-book .care-book-stepper > li,
  .care--web.care--phone .care-medcare-book .care-book-stepper > li {
    position: relative;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0 14px;
    min-height: 48px;
  }

  .care--web .care-medcare-book .care-book-stepper > li:not(:last-child)::after,
  .care--web.care--phone .care-medcare-book .care-book-stepper > li:not(:last-child)::after {
    display: block;
    content: '';
    position: absolute;
    inset-inline-start: 13px;
    inset-inline-end: auto;
    top: 38px;
    bottom: 0;
    width: 2px;
    height: auto;
    transform: none;
    background: var(--care-v2-line, #e2e8f0);
  }

  .care--web .care-medcare-book .care-book-stepper > li.is-done:not(:last-child)::after,
  .care--web.care--phone .care-medcare-book .care-book-stepper > li.is-done:not(:last-child)::after {
    background: var(--care-v2-primary, #0066ff);
  }

  .care--web .care-medcare-book .care-book-stepper__label,
  .care--web.care--phone .care-medcare-book .care-book-stepper__label {
    white-space: normal;
    padding-top: 4px;
    font-size: 0.9rem;
    line-height: 1.3;
  }

  .care--web .care-medcare-book .care-book-doctor-card,
  .care--web.care--phone .care-medcare-book .care-book-doctor-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    grid-gap: 12px 14px;
    gap: 12px 14px;
    text-align: start;
    align-items: center;
  }

  .care--web .care-medcare-book .care-book-doctor-card__photo,
  .care--web.care--phone .care-medcare-book .care-book-doctor-card__photo {
    width: 72px;
    height: 72px;
    margin: 0;
    grid-row: 1 / span 3;
  }

  .care--web .care-medcare-book .care-book-doctor-card__token,
  .care--web.care--phone .care-medcare-book .care-book-doctor-card__token,
  .care--web .care-medcare-book .care-book-doctor-card__booking,
  .care--web.care--phone .care-medcare-book .care-book-doctor-card__booking,
  .care--web .care-medcare-book .care-book-doctor-card__avail,
  .care--web.care--phone .care-medcare-book .care-book-doctor-card__avail {
    grid-column: 1 / -1;
    align-items: flex-start;
    text-align: start;
  }

  .care--web .care-medcare-book .care-v2-dd-slot-grid,
  .care--web .care-medcare-book .care-slots.care-v2-dd-slot-grid,
  .care--web.care--phone .care-medcare-book .care-v2-dd-slot-grid {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .care--web .care-medcare-book .care-v2-dd-slot-grid .care-slot,
  .care--web.care--phone .care-medcare-book .care-v2-dd-slot-grid .care-slot {
    width: 100%;
    min-height: 48px;
    border-radius: 12px;
  }
}

.care--web.care--phone .care-medcare-book .care-book-stepper {
  display: flex;
  flex-direction: column;
  grid-template-columns: none;
  gap: 0;
  padding: 14px 16px;
}

.care--web.care--phone .care-medcare-book .care-book-stepper > li {
  position: relative;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0 14px;
  min-height: 48px;
}

.care--web.care--phone .care-medcare-book .care-book-stepper > li:not(:last-child)::after {
  display: block;
  content: '';
  position: absolute;
  inset-inline-start: 13px;
  inset-inline-end: auto;
  top: 38px;
  bottom: 0;
  width: 2px;
  height: auto;
  transform: none;
  background: var(--care-v2-line, #e2e8f0);
}

.care--web.care--phone .care-medcare-book .care-book-stepper > li.is-done:not(:last-child)::after {
  background: var(--care-v2-primary, #0066ff);
}

.care--web.care--phone .care-medcare-book .care-v2-dd-slot-grid {
  grid-template-columns: 1fr !important;
}

.care--web.care--phone .care-medcare-book .care-v2-dd-slot-grid .care-slot {
  width: 100%;
  min-height: 48px;
  border-radius: 12px;
}

/**
 * MedCare — Video, specialties, diseases browse (CareVideoPage, CareSpecialtiesPage, CareDiseasesPage).
 * Loaded last from CareLayout after other care-medcare-*.css.
 */

/* —— Shared browse canvas —— */
.care--web .care-v2-browse {
  background: var(--care-v2-paper);
}

.care--web .care-v2-browse .care-page__body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 28px 24px 64px;
}

.care--web .care-v2-browse-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}

.care--web .care-v2-browse-head__icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border-radius: var(--care-v2-radius-md);
  background: var(--care-v2-primary-soft);
  border: 1px solid color-mix(in srgb, var(--care-v2-primary) 14%, var(--care-v2-line));
  box-shadow: var(--care-v2-shadow-sm);
}

.care--web .care-v2-browse-head__icon .care-ico {
  width: 28px;
  height: 28px;
  color: var(--care-v2-primary);
}

.care--web .care-v2-browse-head .care-v2-eyebrow {
  margin: 0 0 6px;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--care-v2-primary);
}

.care--web .care-v2-browse-head .care-v2-title {
  margin: 0 0 8px;
  font-family: var(--care-v2-font-display);
  font-size: clamp(1.75rem, 2.4vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--care-v2-navy);
}

.care--web .care-v2-browse-head .care-v2-lead {
  margin: 0;
  max-width: 42rem;
  color: var(--care-v2-muted);
  line-height: 1.55;
  font-size: 0.98rem;
}

.care--web .care-v2-browse-meta {
  margin: 0 0 16px;
  color: var(--care-v2-muted);
  font-size: 0.9rem;
}

/* —— Filter bar (browse pages) —— */
.care--web .care-v2-browse .care-filterbar {
  margin-bottom: 20px;
}

.care--web .care-v2-browse .care-filterbar__search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 4px 14px;
  border: 1px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius-md);
  background: var(--care-v2-surface);
  box-shadow: var(--care-v2-shadow-sm);
}

.care--web .care-v2-browse .care-filterbar__search .care-ico,
.care--web .care-v2-browse .care-filterbar__search .care-action-icon {
  width: 20px;
  height: 20px;
  color: var(--care-v2-muted);
  flex-shrink: 0;
}

.care--web .care-v2-browse .care-filterbar__search input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 0.98rem;
  color: var(--care-v2-ink);
  outline: none;
}

.care--web .care-v2-browse .care-filterbar__field select {
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius);
  background: var(--care-v2-surface);
  color: var(--care-v2-ink);
  font: inherit;
  font-size: 0.9rem;
  box-shadow: var(--care-v2-shadow-sm);
}

.care--web .care-v2-browse .care-filterbar__toggle.is-active,
.care--web .care-v2-browse .care-filterbar__toggle.has-active {
  border-color: var(--care-v2-primary);
  color: var(--care-v2-primary);
}

.care--web .care-v2-browse .care-filterbar__badge {
  background: var(--care-v2-primary);
  color: #fff;
}

.care--web .care-v2-browse .care-filterbar__clear {
  color: var(--care-v2-primary);
  font-weight: 600;
}

/* —— A–Z letter rail (diseases) —— */
.care--web .care-v2-browse-alpha {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.care--web .care-v2-browse-alpha .care-filter {
  min-width: 36px;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius-pill);
  background: var(--care-v2-surface);
  color: var(--care-v2-ink);
  font: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  box-shadow: var(--care-v2-shadow-sm);
}

.care--web .care-v2-browse-alpha .care-filter:hover {
  border-color: color-mix(in srgb, var(--care-v2-primary) 35%, var(--care-v2-line));
  color: var(--care-v2-primary);
}

.care--web .care-v2-browse-alpha .care-filter.is-active {
  background: var(--care-v2-primary);
  border-color: var(--care-v2-primary);
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 102, 255, 0.25);
}

.care--web .care-v2-browse-alpha .care-filter.is-active::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  -webkit-margin-end: 6px;
          margin-inline-end: 6px;
  vertical-align: middle;
}

/* —— Specialty / disease list rows —— */
.care--web .care-v2-browse .care-spec-list--browse {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  grid-gap: 12px;
  gap: 12px;
}

.care--web .care-v2-browse .care-spec-list--browse .care-spec-list__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background: var(--care-v2-surface);
  border: 1px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius-md);
  box-shadow: var(--care-v2-shadow-sm);
  text-decoration: none;
  color: var(--care-v2-ink);
  font-weight: 600;
  font-size: 0.95rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.care--web .care-v2-browse .care-spec-list--browse .care-spec-list__item:hover {
  border-color: color-mix(in srgb, var(--care-v2-primary) 35%, var(--care-v2-line));
  box-shadow: var(--care-v2-shadow);
  transform: translateY(-1px);
}

.care--web .care-v2-browse .care-spec-list--browse .care-spec-list__row {
  display: inline-flex;
  align-items: center;
  gap: 0;
  min-width: 0;
}

.care--web .care-v2-browse .care-spec-list--browse .care-spec-list__row > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.care--web .care-v2-browse .care-spec-list--browse .care-spec-list__glyph {
  width: 40px;
  height: 40px;
  display: inline-grid;
  place-items: center;
  border-radius: var(--care-v2-radius);
  background: var(--care-v2-primary-soft);
  border: 1px solid color-mix(in srgb, var(--care-v2-primary) 12%, transparent);
  -webkit-margin-end: 12px;
          margin-inline-end: 12px;
  flex-shrink: 0;
}

.care--web .care-v2-browse .care-spec-list--browse .care-spec-list__glyph .care-ico {
  width: 22px;
  height: 22px;
  color: var(--care-v2-primary);
}

.care--web .care-v2-browse .care-spec-list--browse .care-spec-list__item em {
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--care-v2-primary);
  background: var(--care-v2-primary-mist);
  border-radius: var(--care-v2-radius-pill);
  padding: 3px 10px;
  flex-shrink: 0;
}

.care--web .care-v2-browse .care-muted {
  color: var(--care-v2-muted);
  font-size: 0.92rem;
}

/* —— Browse-row skeletons —— */
.care--web .care-v2-browse .care-skel-list--browse-row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  grid-gap: 12px;
  gap: 12px;
  margin-bottom: 16px;
}

.care--web .care-skel--browse-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 68px !important;
  padding: 14px 16px !important;
}

.care--web .care-skel--browse-row .care-skel__glyph {
  width: 40px !important;
  height: 40px !important;
  border-radius: var(--care-v2-radius) !important;
  flex-shrink: 0;
}

.care--web .care-skel--browse-row .care-skel__line--grow {
  flex: 1 1 auto;
  width: auto !important;
  min-width: 0;
}

.care--web .care-skel--browse-row .care-skel__count {
  width: 36px !important;
  height: 22px !important;
  border-radius: var(--care-v2-radius-pill) !important;
  flex-shrink: 0;
}

/* —— Video page hero + steps —— */
.care--web .care-v2-video .care-page__body {
  max-width: none;
  padding: 0;
}

.care--web .care-v2-video-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.95fr);
  grid-gap: 40px;
  gap: 40px;
  align-items: center;
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  padding: 48px 0 40px;
}

.care--web .care-v2-video-hero__copy {
  max-width: 34rem;
}

.care--web .care-v2-video-hero .care-v2-title {
  margin: 0 0 12px;
  font-family: var(--care-v2-font-display);
  font-size: clamp(2rem, 3.4vw, 2.55rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--care-v2-navy);
}

.care--web .care-v2-video-hero .care-v2-lead {
  margin: 0 0 20px;
  max-width: 32rem;
  color: var(--care-v2-muted);
  line-height: 1.55;
  font-size: 1.02rem;
}

.care--web .care-v2-video-hero .care-v2-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 24px;
  border-radius: var(--care-v2-radius-pill);
  background: var(--care-v2-primary);
  border: 1px solid var(--care-v2-primary);
  color: #fff;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0, 102, 255, 0.22);
  transition: background 0.15s ease, transform 0.15s ease;
}

.care--web .care-v2-video-hero .care-v2-btn:hover {
  background: var(--care-v2-primary-hover);
  transform: translateY(-1px);
}

.care--web .care-v2-video-hero__photo {
  width: 100%;
  border-radius: var(--care-v2-radius-lg);
  object-fit: cover;
  aspect-ratio: 4 / 3;
  box-shadow: var(--care-v2-shadow);
  border: 1px solid var(--care-v2-line);
  background: var(--care-v2-primary-mist);
}

.care--web .care-v2-video-steps {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 36px 24px 48px;
  overflow: hidden;
  background:
    radial-gradient(ellipse 55% 70% at 92% 78%, rgba(0, 102, 255, 0.08) 0%, transparent 62%),
    radial-gradient(ellipse 40% 55% at 100% 40%, rgba(0, 102, 255, 0.05) 0%, transparent 55%),
    linear-gradient(180deg, #fff 0%, var(--care-v2-paper) 100%);
  border-top: 1px solid var(--care-v2-line);
}

.care--web .care-v2-video-steps__inner {
  width: min(560px, 100%);
  margin: 0 auto;
  -webkit-margin-start: max(24px, calc((100% - 1200px) / 2 + 24px));
          margin-inline-start: max(24px, calc((100% - 1200px) / 2 + 24px));
}

.care--web .care-v2-video-steps .care-v2-eyebrow {
  margin: 0 0 8px;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--care-v2-primary);
}

.care--web .care-v2-video-steps__title {
  margin: 0;
  font-family: var(--care-v2-font-display);
  font-size: clamp(1.4rem, 2.5vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--care-v2-navy);
}

.care--web .care-v2-video-steps ol {
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
  display: grid;
  grid-gap: 0;
  gap: 0;
}

.care--web .care-v2-video-steps li {
  display: grid;
  grid-template-columns: 40px 1fr;
  grid-gap: 14px;
  gap: 14px;
  align-items: start;
  padding: 18px 0;
  border-bottom: 1px solid var(--care-v2-line);
}

.care--web .care-v2-video-steps li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.care--web .care-v2-video-steps li em {
  font-style: normal;
  font-family: var(--care-v2-font-display);
  font-size: 1.85rem;
  font-weight: 700;
  color: var(--care-v2-primary);
  line-height: 1;
}

.care--web .care-v2-video-steps li strong {
  display: block;
  color: var(--care-v2-navy);
  margin-bottom: 4px;
  font-size: 1.02rem;
}

.care--web .care-v2-video-steps li p {
  margin: 0;
  color: var(--care-v2-muted);
  line-height: 1.45;
  font-size: 0.95rem;
}

/* —— Video doctors grid —— */
.care--web .care-v2-video-doctors {
  max-width: 1200px;
  margin: 0 auto;
  padding: 36px 24px 64px;
}

.care--web .care-v2-video-doctors__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.care--web .care-v2-video-doctors__head .care-v2-title {
  margin: 0 0 6px;
  font-family: var(--care-v2-font-display);
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 700;
  color: var(--care-v2-navy);
}

.care--web .care-v2-video-doctors__head p {
  margin: 0;
  color: var(--care-v2-muted);
  font-size: 0.92rem;
}

.care--web .care-v2-video-doctors__all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--care-v2-primary);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  white-space: nowrap;
}

.care--web .care-v2-video-doctors__all:hover {
  text-decoration: underline;
}

.care--web .care-v2-video .care-v2-doctors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  grid-gap: 18px;
  gap: 18px;
}

.care--web .care-v2-video .care-v2-doc-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
  padding: 16px;
  background: var(--care-v2-surface);
  border: 1px solid var(--care-v2-line);
  border-radius: var(--care-v2-radius-md);
  box-shadow: var(--care-v2-shadow-sm);
  text-decoration: none;
  color: var(--care-v2-ink);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.care--web .care-v2-video .care-v2-doc-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--care-v2-shadow);
  border-color: color-mix(in srgb, var(--care-v2-primary) 28%, var(--care-v2-line));
}

.care--web .care-v2-video .care-v2-doc-card .care-v2-doc__avail .care-ico,
.care--web .care-v2-video .care-v2-doc-card .care-v2-doc__avail .care-action-icon,
.care--web .care-v2-video .care-v2-doc-card .care-v2-doc__avail img {
  width: 28px;
  height: 28px;
  padding: 5px;
  border-radius: 10px;
  background: var(--care-v2-primary-soft);
  color: var(--care-v2-primary);
  box-sizing: border-box;
  flex-shrink: 0;
  object-fit: contain;
}

.care--web .care-v2-video .care-v2-doc-card .care-cta,
.care--web .care-v2-video .care-v2-doc-card .care-v2-doc-card__book {
  margin-top: auto;
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 44px;
  padding: 0 16px;
  border-radius: var(--care-v2-radius-pill) !important;
  background: var(--care-v2-primary) !important;
  border-color: var(--care-v2-primary) !important;
  color: #fff !important;
  font-weight: 600;
  font-size: 0.9rem;
  box-shadow: 0 6px 16px rgba(0, 102, 255, 0.22);
}

.care--web .care-v2-video .care-v2-doctors-skel.care-skel-list--doctor {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  grid-gap: 18px;
  gap: 18px;
  margin-bottom: 18px;
}

.care--web .care-v2-video .care-infinite__btn {
  min-height: 44px;
  padding: 0 24px;
  border-radius: var(--care-v2-radius-pill) !important;
  background: var(--care-v2-primary) !important;
  border-color: var(--care-v2-primary) !important;
  color: #fff !important;
  font-weight: 600;
}

/* —— Infinite footer (browse lists) —— */
.care--web .care-v2-browse .care-infinite {
  padding: 24px 0 8px;
}

.care--web .care-v2-browse .care-infinite__meta,
.care--web .care-v2-browse .care-infinite__done {
  color: var(--care-v2-muted);
  font-size: 0.88rem;
}

.care--web .care-v2-browse .care-infinite__btn {
  min-height: 44px;
  padding: 0 24px;
  border-radius: var(--care-v2-radius-pill) !important;
  background: var(--care-v2-primary) !important;
  border-color: var(--care-v2-primary) !important;
  color: #fff !important;
  font-weight: 600;
  box-shadow: 0 6px 16px rgba(0, 102, 255, 0.22);
}

.care--web .care-v2-browse .care-illustrated-empty,
.care--web .care-v2-video .care-illustrated-empty {
  padding: 40px 24px 32px;
  background: var(--care-v2-primary-mist);
  border: 1px solid color-mix(in srgb, var(--care-v2-primary) 12%, var(--care-v2-line));
  border-radius: var(--care-v2-radius-md);
  margin: 16px 0;
  text-align: center;
}

.care--web .care-v2-browse .care-illustrated-empty__title,
.care--web .care-v2-video .care-illustrated-empty__title {
  color: var(--care-v2-navy);
  font-family: var(--care-v2-font-display);
  font-weight: 700;
}

.care--web .care-v2-browse .care-illustrated-empty__msg,
.care--web .care-v2-video .care-illustrated-empty__msg {
  color: var(--care-v2-muted);
}

[dir='rtl'] .care--web .care-v2-video-steps__inner {
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-margin-end: max(24px, calc((100% - 1200px) / 2 + 24px));
          margin-inline-end: max(24px, calc((100% - 1200px) / 2 + 24px));
}

[dir='rtl'] .care--web .care-v2-video-steps {
  background:
    radial-gradient(ellipse 55% 70% at 8% 78%, rgba(0, 102, 255, 0.08) 0%, transparent 62%),
    radial-gradient(ellipse 40% 55% at 0% 40%, rgba(0, 102, 255, 0.05) 0%, transparent 55%),
    linear-gradient(180deg, #fff 0%, var(--care-v2-paper) 100%);
}

@media (max-width: 900px) {
  .care--web .care-v2-video-hero {
    grid-template-columns: 1fr;
    padding-top: 28px;
    gap: 24px;
  }

  .care--web .care-v2-video-hero__photo {
    order: -1;
  }

  .care--web .care-v2-video-steps__inner {
    margin-inline: auto;
    width: min(560px, calc(100% - 32px));
  }

  .care--web .care-v2-video-doctors__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .care--web .care-v2-browse .care-spec-list--browse,
  .care--web .care-v2-browse .care-skel-list--browse-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .care--web .care-v2-video .care-v2-doctors-grid,
  .care--web .care-v2-video .care-v2-doctors-skel.care-skel-list--doctor {
    grid-template-columns: 1fr;
  }
}

/* —— Global /care/search results —— */
.care--web .care-search-page__hit {
  border: 1px solid var(--care-v2-line, #e2e8f0);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(11, 31, 58, 0.05);
  padding: 16px;
}

.care--web .care-search-page__hit-name {
  color: var(--care-v2-navy, #0b1f3a);
  font-weight: 700;
}

.care--web .care-search-page__view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 12px;
  background: var(--care-v2-primary, #0066ff);
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 6px 14px rgba(0, 102, 255, 0.24);
}

.care--web .care-search-page__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid var(--care-v2-line, #e2e8f0);
  border-radius: 14px;
  background: #fff;
}

