/*!
 * iFix Cellfone - Customer Booking Wizard v14.2.2
 * Single public stylesheet for every customer-facing wizard step.
 */

html.ifix-booking-page,
body.ifix-booking-page {
  overflow-x: hidden !important;
}

.tp-promo,
.ifix-trust-strip,
.ifix-recent-ticker,
#techpro-booking-widget.ifix-customer-wizard,
#techpro-booking-widget.ifix-customer-wizard * {
  box-sizing: border-box !important;
  letter-spacing: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard [hidden] {
  display: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-clear[hidden],
#techpro-booking-widget.ifix-customer-wizard .ifsc-suggestions[hidden],
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-confirmed[hidden],
#techpro-booking-widget.ifix-customer-wizard .ifsc-out-zone-warn[hidden] {
  display: none !important;
}

.tp-promo,
.ifix-trust-strip,
.ifix-recent-ticker,
#techpro-booking-widget.ifix-customer-wizard {
  font-family: var(--font-b, var(--tp-body-font, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif)) !important;
}

.tp-promo,
.ifix-trust-strip,
.ifix-recent-ticker {
  border-radius: 8px !important;
  margin: 0 auto 12px !important;
  max-width: 980px !important;
  width: 100% !important;
}

.tp-promo {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  padding: 10px 14px !important;
  text-align: center !important;
}

.ifix-trust-strip,
.ifix-recent-ticker {
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  color: #374151 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  font-size: 13px !important;
  gap: 8px !important;
  justify-content: center !important;
  line-height: 1.4 !important;
  padding: 8px !important;
}

.ifix-trust-item {
  align-items: center !important;
  background: #f9fafb !important;
  border: 1px solid #eef2f7 !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  min-height: 30px !important;
  padding: 5px 9px !important;
}

.ifix-trust-item strong,
.ifix-recent-ticker strong {
  color: #111827 !important;
  font-weight: 800 !important;
}

#techpro-booking-widget.ifix-customer-wizard {
  --cw-bg: #f6f7fb;
  --cw-surface: var(--tp-card-bg, #ffffff);
  --cw-surface-soft: #f9fafb;
  --cw-ink: var(--tp-heading-clr, #111827);
  --cw-text: var(--tp-card-title, #374151);
  --cw-muted: var(--tp-card-desc, #6b7280);
  --cw-line: var(--tp-card-border, #e5e7eb);
  --cw-line-strong: var(--tp-input-border, #cbd5e1);
  --cw-blue: var(--tp-accent, #2563eb);
  --cw-blue-dark: var(--tp-accent, #1d4ed8);
  --cw-green: #059669;
  --cw-red: #dc2626;
  --cw-amber: #b45309;
  --cw-focus: 0 0 0 4px rgba(37, 99, 235, 0.16);
  --cw-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
  --cw-card-radius: var(--tp-card-radius, 8px);
  --cw-btn-radius: var(--tp-btn-radius, 8px);
  --cw-input-radius: var(--tp-input-radius, 8px);
  --cw-heading-size: var(--tp-heading-size, 30px);
  --cw-subtitle-size: var(--tp-subheading-size, 15px);
  --cw-card-title-size: var(--ifx-card-title-size, 16px);
  background: transparent !important;
  color: var(--cw-ink) !important;
  display: block !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  margin: 0 auto !important;
  max-width: var(--ifx-widget-max-width, 980px) !important;
  padding: 0 !important;
  position: relative !important;
  text-align: left !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard *,
#techpro-booking-widget.ifix-customer-wizard *::before,
#techpro-booking-widget.ifix-customer-wizard *::after {
  min-width: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-shell {
  background: var(--cw-surface) !important;
  border: 1px solid var(--cw-line) !important;
  border-radius: var(--cw-card-radius) !important;
  box-shadow: var(--cw-shadow) !important;
  color: var(--cw-ink) !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-shell::before {
  background: linear-gradient(90deg, var(--cw-red), var(--cw-blue), var(--cw-green)) !important;
  content: "" !important;
  display: block !important;
  height: 4px !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-hidden,
#techpro-booking-widget.ifix-customer-wizard .ifsc-hidden {
  display: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-stepper {
  background: var(--cw-surface) !important;
  border-bottom: 1px solid var(--cw-line) !important;
  padding: 18px 22px 14px !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-stepper-head {
  align-items: center !important;
  display: flex !important;
  gap: 10px !important;
  justify-content: space-between !important;
  margin-bottom: 12px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-stepper-kicker {
  color: var(--cw-ink) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-stepper-current {
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 999px !important;
  color: var(--cw-blue-dark) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  padding: 5px 10px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-track {
  height: 32px !important;
  position: relative !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-track-rail,
#techpro-booking-widget.ifix-customer-wizard .tp-track-fill {
  border-radius: 999px !important;
  height: 3px !important;
  left: 16px !important;
  position: absolute !important;
  top: 15px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-track-rail {
  background: var(--cw-line) !important;
  right: 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-track-fill {
  background: linear-gradient(90deg, var(--cw-blue), var(--cw-green)) !important;
  max-width: calc(100% - 32px) !important;
  transition: width 180ms ease !important;
  width: 0;
}

#techpro-booking-widget.ifix-customer-wizard .tp-nodes {
  align-items: center !important;
  display: flex !important;
  gap: 6px !important;
  justify-content: space-between !important;
  position: relative !important;
  z-index: 2 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-node {
  align-items: center !important;
  background: var(--cw-surface) !important;
  border: 1px solid var(--cw-line-strong) !important;
  border-radius: 999px !important;
  color: var(--cw-muted) !important;
  display: inline-flex !important;
  flex: 0 0 32px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  height: 32px !important;
  justify-content: center !important;
  line-height: 1 !important;
  width: 32px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-node.is-active {
  background: var(--cw-blue) !important;
  border-color: var(--cw-blue) !important;
  color: #ffffff !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-node.is-done {
  background: var(--cw-green) !important;
  border-color: var(--cw-green) !important;
  color: #ffffff !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-labels {
  color: var(--cw-muted) !important;
  display: grid !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  gap: 8px !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  line-height: 1.2 !important;
  margin-top: 8px !important;
  text-align: center !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-lbl {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-lbl.is-active {
  color: var(--cw-blue-dark) !important;
  font-weight: 850 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-panel {
  background: var(--cw-surface) !important;
  padding: 24px !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-panel[data-step="6"] {
  padding: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-header-kicker {
  color: var(--cw-blue-dark) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-h1,
#techpro-booking-widget.ifix-customer-wizard .tp-done-h {
  color: var(--cw-ink) !important;
  font-family: var(--font-h, var(--tp-head-font, inherit)) !important;
  font-size: var(--cw-heading-size) !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-sub,
#techpro-booking-widget.ifix-customer-wizard .ifsc-header-sub {
  color: var(--cw-muted) !important;
  font-size: var(--cw-subtitle-size) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-est-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 6px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-est-badge,
#techpro-booking-widget.ifix-customer-wizard .tp-form-section-badge,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-pill,
#techpro-booking-widget.ifix-customer-wizard .ifsc-chosen-badge,
#techpro-booking-widget.ifix-customer-wizard .tp-price-tag,
#techpro-booking-widget.ifix-customer-wizard .tp-badge-free,
#techpro-booking-widget.ifix-customer-wizard .tp-badge-quote,
#techpro-booking-widget.ifix-customer-wizard .tp-saving-badge {
  align-items: center !important;
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 999px !important;
  color: var(--cw-blue-dark) !important;
  display: inline-flex !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  padding: 5px 9px !important;
  text-transform: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-est-icon {
  background: linear-gradient(90deg, var(--cw-red), var(--cw-blue), var(--cw-green)) !important;
  border-radius: 999px !important;
  display: block !important;
  height: 5px !important;
  margin-bottom: 12px !important;
  width: 86px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-section-minihead,
#techpro-booking-widget.ifix-customer-wizard .tp-hd {
  margin-bottom: 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-section-minihead {
  align-items: center !important;
  color: var(--cw-text) !important;
  display: flex !important;
  gap: 10px !important;
  font-size: 14px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-section-minihead span,
#techpro-booking-widget.ifix-customer-wizard .ifsc-panel-num {
  align-items: center !important;
  background: #eff6ff !important;
  border-radius: 999px !important;
  color: var(--cw-blue-dark) !important;
  display: inline-flex !important;
  flex: 0 0 28px !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  height: 28px !important;
  justify-content: center !important;
  width: 28px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-back-row {
  margin-bottom: 12px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-back,
#techpro-booking-widget.ifix-customer-wizard .ifsc-back-btn,
#techpro-booking-widget.ifix-customer-wizard .ifsc-back {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--cw-blue-dark) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  gap: 6px !important;
  line-height: 1.2 !important;
  padding: 4px 0 !important;
  text-decoration: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-back:hover,
#techpro-booking-widget.ifix-customer-wizard .tp-back:focus-visible,
#techpro-booking-widget.ifix-customer-wizard .ifsc-back-btn:hover,
#techpro-booking-widget.ifix-customer-wizard .ifsc-back-btn:focus-visible {
  color: var(--cw-blue) !important;
  outline: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-crumb {
  color: var(--cw-muted) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-top: 6px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-grid,
#techpro-booking-widget.ifix-customer-wizard #tp-device-grid,
#techpro-booking-widget.ifix-customer-wizard #tp-brand-grid,
#techpro-booking-widget.ifix-customer-wizard #tp-model-grid,
#techpro-booking-widget.ifix-customer-wizard #tp-issue-grid {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card,
#techpro-booking-widget.ifix-customer-wizard .tp-svc-card {
  align-items: flex-start !important;
  background: var(--cw-surface) !important;
  border: 1px solid var(--cw-line) !important;
  border-radius: var(--cw-card-radius) !important;
  color: var(--cw-ink) !important;
  cursor: pointer !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  min-height: 118px !important;
  outline: none !important;
  padding: 14px !important;
  position: relative !important;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card:hover,
#techpro-booking-widget.ifix-customer-wizard .tp-card:focus-visible,
#techpro-booking-widget.ifix-customer-wizard .tp-svc-card:hover,
#techpro-booking-widget.ifix-customer-wizard .tp-svc-card:focus-visible {
  border-color: #93c5fd !important;
  box-shadow: var(--cw-focus) !important;
  transform: translateY(-1px) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card.selected,
#techpro-booking-widget.ifix-customer-wizard .tp-svc-card.selected,
#techpro-booking-widget.ifix-customer-wizard .tp-card.is-selected,
#techpro-booking-widget.ifix-customer-wizard .tp-svc-card.is-selected {
  border-color: var(--cw-blue) !important;
  box-shadow: var(--cw-focus) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-mark {
  align-items: center !important;
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 8px !important;
  color: var(--cw-blue-dark) !important;
  display: inline-flex !important;
  flex: 0 0 42px !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  height: 42px !important;
  justify-content: center !important;
  width: 42px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-has-icon .tp-card-mark {
  flex-basis: 64px !important;
  font-size: 32px !important;
  height: 64px !important;
  width: 64px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-img {
  background: var(--cw-surface-soft) !important;
  border: 1px solid var(--cw-line) !important;
  border-radius: max(8px, calc(var(--cw-card-radius) - 4px)) !important;
  height: 96px !important;
  overflow: hidden !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-img img {
  display: block !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 6px !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-device-card .tp-card-img {
  height: 116px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-device-card .tp-card-img img {
  object-fit: cover !important;
  padding: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-name,
#techpro-booking-widget.ifix-customer-wizard .tp-svc-name {
  color: var(--cw-ink) !important;
  font-size: var(--cw-card-title-size) !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-desc,
#techpro-booking-widget.ifix-customer-wizard .tp-svc-desc {
  color: var(--cw-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-price {
  margin-top: 4px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-custom-box,
#techpro-booking-widget.ifix-customer-wizard .tp-form-section,
#techpro-booking-widget.ifix-customer-wizard .tp-coupon-section,
#techpro-booking-widget.ifix-customer-wizard .tp-est-left,
#techpro-booking-widget.ifix-customer-wizard .tp-price-card,
#techpro-booking-widget.ifix-customer-wizard .tp-consent-card,
#techpro-booking-widget.ifix-customer-wizard .tp-strip,
#techpro-booking-widget.ifix-customer-wizard .tp-returning,
#techpro-booking-widget.ifix-customer-wizard .tp-ref-box,
#techpro-booking-widget.ifix-customer-wizard .tp-done-sum,
#techpro-booking-widget.ifix-customer-wizard .tp-appt-hero,
#techpro-booking-widget.ifix-customer-wizard .ifix-photo-uploader,
#techpro-booking-widget.ifix-customer-wizard .ifsc-panel,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-card,
#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-card {
  background: var(--cw-surface) !important;
  border: 1px solid var(--cw-line) !important;
  border-radius: var(--cw-card-radius) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-custom-box {
  margin-top: 16px !important;
  padding: 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-custom-row,
#techpro-booking-widget.ifix-customer-wizard .tp-coupon-row,
#techpro-booking-widget.ifix-customer-wizard .tp-row,
#techpro-booking-widget.ifix-customer-wizard .tp-est-wrap {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-label,
#techpro-booking-widget.ifix-customer-wizard .tp-custom-lbl,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-label {
  color: var(--cw-ink) !important;
  display: block !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  margin: 0 0 7px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-field {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-label-opt,
#techpro-booking-widget.ifix-customer-wizard .tp-input-hint,
#techpro-booking-widget.ifix-customer-wizard .ifix-photo-hint,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-hint {
  color: var(--cw-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-req,
#techpro-booking-widget.ifix-customer-wizard .tp-field-err,
#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-err {
  color: var(--cw-red) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-err:empty,
#techpro-booking-widget.ifix-customer-wizard .tp-field-err:empty,
#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-err:empty {
  display: none !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-input,
#techpro-booking-widget.ifix-customer-wizard .tp-textarea,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input,
#techpro-booking-widget.ifix-customer-wizard input[type="text"],
#techpro-booking-widget.ifix-customer-wizard input[type="email"],
#techpro-booking-widget.ifix-customer-wizard input[type="tel"],
#techpro-booking-widget.ifix-customer-wizard input[type="number"],
#techpro-booking-widget.ifix-customer-wizard textarea,
#techpro-booking-widget.ifix-customer-wizard select {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #ffffff !important;
  border: 2px solid var(--cw-line-strong) !important;
  border-radius: var(--cw-input-radius) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04) !important;
  caret-color: var(--cw-blue) !important;
  color: var(--cw-ink) !important;
  display: block !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  min-height: 48px !important;
  outline: none !important;
  padding: 12px 14px !important;
  transition: border-color 160ms ease, box-shadow 160ms ease !important;
  width: 100% !important;
  -webkit-text-fill-color: var(--cw-ink) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-input:focus,
#techpro-booking-widget.ifix-customer-wizard .tp-textarea:focus,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input:focus,
#techpro-booking-widget.ifix-customer-wizard input:focus,
#techpro-booking-widget.ifix-customer-wizard textarea:focus,
#techpro-booking-widget.ifix-customer-wizard select:focus {
  border-color: var(--cw-blue) !important;
  box-shadow: var(--cw-focus) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-input::placeholder,
#techpro-booking-widget.ifix-customer-wizard .tp-textarea::placeholder,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input::placeholder,
#techpro-booking-widget.ifix-customer-wizard input::placeholder,
#techpro-booking-widget.ifix-customer-wizard textarea::placeholder {
  color: #9ca3af !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #9ca3af !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-input:-webkit-autofill,
#techpro-booking-widget.ifix-customer-wizard .tp-textarea:-webkit-autofill,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input:-webkit-autofill,
#techpro-booking-widget.ifix-customer-wizard input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #ffffff inset !important;
  -webkit-text-fill-color: var(--cw-ink) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-input-locked {
  background: var(--cw-surface-soft) !important;
  color: var(--cw-muted) !important;
  -webkit-text-fill-color: var(--cw-muted) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-textarea {
  min-height: 104px !important;
  resize: vertical !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-input-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-input-error,
#techpro-booking-widget.ifix-customer-wizard [aria-invalid="true"] {
  border-color: var(--cw-red) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-btn,
#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-btn,
#techpro-booking-widget.ifix-customer-wizard .ifix-done-action,
#techpro-booking-widget.ifix-customer-wizard .tp-copy-btn,
#techpro-booking-widget.ifix-customer-wizard .tp-refresh-page,
#techpro-booking-widget.ifix-customer-wizard .ifsc-skip-addr-btn,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-change,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-clear,
#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-nav-btn,
#techpro-booking-widget.ifix-customer-wizard .ifsc-slot {
  align-items: center !important;
  border-radius: var(--cw-btn-radius) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  min-height: 46px !important;
  padding: 0 16px !important;
  text-decoration: none !important;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease !important;
  white-space: normal !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-btn-primary,
#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-btn {
  background: var(--cw-blue) !important;
  border: 1px solid var(--cw-blue) !important;
  color: #ffffff !important;
  width: auto !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-coupon-applied {
  background: var(--cw-green) !important;
  border-color: var(--cw-green) !important;
  color: #ffffff !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-btn-primary:hover,
#techpro-booking-widget.ifix-customer-wizard .tp-btn-primary:focus-visible,
#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-btn:hover,
#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-btn:focus-visible {
  background: var(--cw-blue-dark) !important;
  border-color: var(--cw-blue-dark) !important;
  box-shadow: var(--cw-focus) !important;
  color: #ffffff !important;
  outline: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-btn-secondary,
#techpro-booking-widget.ifix-customer-wizard .ifix-done-action,
#techpro-booking-widget.ifix-customer-wizard .tp-copy-btn,
#techpro-booking-widget.ifix-customer-wizard .tp-refresh-page,
#techpro-booking-widget.ifix-customer-wizard .ifsc-skip-addr-btn,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-change,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-clear,
#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-nav-btn {
  background: #ffffff !important;
  border: 1px solid var(--cw-line-strong) !important;
  color: var(--cw-blue-dark) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-btn-secondary:hover,
#techpro-booking-widget.ifix-customer-wizard .tp-btn-secondary:focus-visible,
#techpro-booking-widget.ifix-customer-wizard .ifix-done-action:hover,
#techpro-booking-widget.ifix-customer-wizard .ifix-done-action:focus-visible,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-clear:hover,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-clear:focus-visible {
  border-color: var(--cw-blue) !important;
  box-shadow: var(--cw-focus) !important;
  outline: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-btn-full,
#techpro-booking-widget.ifix-customer-wizard #tp-estimate-next,
#techpro-booking-widget.ifix-customer-wizard #tp-submit-booking {
  margin-top: 16px !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-form-section {
  margin-top: 14px !important;
  overflow: hidden !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-form-section-hd {
  align-items: center !important;
  background: var(--cw-surface-soft) !important;
  border-bottom: 1px solid var(--cw-line) !important;
  display: flex !important;
  gap: 10px !important;
  justify-content: space-between !important;
  padding: 12px 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-form-section-title {
  color: var(--cw-ink) !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-form-section > .tp-row,
#techpro-booking-widget.ifix-customer-wizard .tp-form-section > .tp-field,
#techpro-booking-widget.ifix-customer-wizard .tp-form-section > .ifix-photo-shell {
  padding: 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-form-section > .tp-row + .tp-row {
  border-top: 1px solid var(--cw-line) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-zip-field {
  padding-top: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-strip {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 16px 0 !important;
  overflow: hidden !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-strip-div {
  display: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-strip-item {
  padding: 14px 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-strip-item + .tp-strip-item {
  border-left: 1px solid var(--cw-line) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-strip-key,
#techpro-booking-widget.ifix-customer-wizard .tp-done-key,
#techpro-booking-widget.ifix-customer-wizard .ifsc-cr-label,
#techpro-booking-widget.ifix-customer-wizard .tp-ref-lbl {
  color: var(--cw-muted) !important;
  display: block !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-strip-val,
#techpro-booking-widget.ifix-customer-wizard .tp-strip-price,
#techpro-booking-widget.ifix-customer-wizard .tp-done-val,
#techpro-booking-widget.ifix-customer-wizard .ifsc-cr-val {
  color: var(--cw-ink) !important;
  display: block !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  margin-top: 4px !important;
  overflow-wrap: anywhere !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-returning {
  align-items: center !important;
  background: #ecfdf5 !important;
  border-color: #a7f3d0 !important;
  color: #065f46 !important;
  display: flex !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
  padding: 12px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-returning[hidden],
#techpro-booking-widget.ifix-customer-wizard .tp-returning.tp-hidden {
  display: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-est-wrap {
  align-items: stretch !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-est-left,
#techpro-booking-widget.ifix-customer-wizard .tp-price-card {
  overflow: hidden !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-est-left {
  background: var(--cw-surface-soft) !important;
  padding: 18px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-est-device {
  color: var(--cw-ink) !important;
  font-size: 22px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-est-service {
  color: var(--cw-muted) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  margin-top: 5px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-price-hd {
  background: #111827 !important;
  color: #ffffff !important;
  padding: 18px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-price-lbl,
#techpro-booking-widget.ifix-customer-wizard .tp-price-note {
  color: #d1d5db !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-price-amt {
  color: #ffffff !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  margin: 4px 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-price-rows {
  padding: 8px 18px 14px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-price-row {
  align-items: center !important;
  border-bottom: 1px solid var(--cw-line) !important;
  color: var(--cw-text) !important;
  display: grid !important;
  font-size: 14px !important;
  gap: 12px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  padding: 10px 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-price-row:last-child {
  border-bottom: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-price-val {
  color: var(--cw-ink) !important;
  font-weight: 850 !important;
  text-align: right !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-diag-note,
#techpro-booking-widget.ifix-customer-wizard .tp-disclaimer {
  color: var(--cw-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  margin: 12px 0 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-coupon-section {
  margin-top: 16px !important;
  overflow: hidden !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-coupon-toggle {
  align-items: center !important;
  color: var(--cw-ink) !important;
  cursor: pointer !important;
  display: flex !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  justify-content: space-between !important;
  padding: 14px 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-coupon-body {
  border-top: 1px solid var(--cw-line) !important;
  padding: 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard #tp-coupon-code {
  text-transform: uppercase !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-coupon-msg,
#techpro-booking-widget.ifix-customer-wizard #tp-coupon-msg {
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  margin-top: 10px !important;
  padding: 10px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-coupon-msg--ok {
  background: #ecfdf5 !important;
  color: #065f46 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-coupon-msg--error {
  background: #fef2f2 !important;
  color: #991b1b !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-err-card {
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 8px !important;
  color: #991b1b !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  grid-column: 1 / -1 !important;
  line-height: 1.45 !important;
  padding: 14px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-step6-shell {
  background: var(--cw-surface-soft) !important;
  border-bottom: 1px solid var(--cw-line) !important;
  padding: 14px 18px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-step6-toolbar {
  align-items: center !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: space-between !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-step6-copy {
  color: var(--cw-muted) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  text-align: right !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-sched-mount-panel {
  background: var(--cw-surface) !important;
  margin: 0 !important;
  text-align: left !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-square-cta-box {
  display: none;
  padding: 24px !important;
  text-align: center !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-square-cta-box p {
  color: var(--cw-muted) !important;
  font-size: 13px !important;
  margin: 10px 0 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-consent-card {
  align-items: flex-start !important;
  cursor: pointer !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  margin-top: 14px !important;
  padding: 14px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-consent-check {
  height: 18px !important;
  margin: 2px 0 0 !important;
  width: 18px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-consent-box {
  display: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-consent-copy {
  color: var(--cw-text) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-photo-uploader {
  align-items: center !important;
  border: 1px dashed var(--cw-line-strong) !important;
  cursor: pointer !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  justify-content: center !important;
  min-height: 118px !important;
  padding: 18px !important;
  position: relative !important;
  text-align: center !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-photo-uploader.is-dragover,
#techpro-booking-widget.ifix-customer-wizard .ifix-photo-uploader:focus-visible {
  border-color: var(--cw-blue) !important;
  box-shadow: var(--cw-focus) !important;
  outline: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-photo-label {
  color: var(--cw-ink) !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

#techpro-booking-widget.ifix-customer-wizard #ifix-photo-input {
  bottom: 0 !important;
  cursor: pointer !important;
  height: 100% !important;
  left: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-photo-thumbs {
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)) !important;
  margin-top: 10px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-photo-thumb {
  aspect-ratio: 1 / 1 !important;
  background: var(--cw-surface-soft) !important;
  border: 1px solid var(--cw-line) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  position: relative !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-photo-thumb img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-photo-x {
  align-items: center !important;
  background: rgba(17, 24, 39, 0.86) !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  cursor: pointer !important;
  display: inline-flex !important;
  height: 26px !important;
  justify-content: center !important;
  position: absolute !important;
  right: 6px !important;
  top: 6px !important;
  width: 26px !important;
}

/* Scheduling */
#techpro-booking-widget.ifix-customer-wizard .ifsc-wrap {
  background: var(--cw-surface) !important;
  color: var(--cw-ink) !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-header {
  background: var(--cw-surface) !important;
  border-bottom: 1px solid var(--cw-line) !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-header-inner {
  padding: 20px 24px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-header-title {
  color: var(--cw-ink) !important;
  font-size: 28px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  margin-top: 4px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-steps {
  align-items: center !important;
  background: var(--cw-surface-soft) !important;
  border-bottom: 1px solid var(--cw-line) !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr !important;
  padding: 12px 24px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-step {
  align-items: center !important;
  color: var(--cw-muted) !important;
  display: inline-flex !important;
  gap: 8px !important;
  justify-content: center !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-step-num {
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid var(--cw-line-strong) !important;
  border-radius: 999px !important;
  color: var(--cw-muted) !important;
  display: inline-flex !important;
  flex: 0 0 28px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  height: 28px !important;
  justify-content: center !important;
  width: 28px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-step-lbl {
  font-size: 13px !important;
  font-weight: 800 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-step-line {
  background: var(--cw-line-strong) !important;
  height: 1px !important;
  min-width: 24px !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-step.is-active .ifsc-step-num {
  background: var(--cw-blue) !important;
  border-color: var(--cw-blue) !important;
  color: #ffffff !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-step.is-active .ifsc-step-lbl {
  color: var(--cw-blue-dark) !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-step.is-done .ifsc-step-num {
  background: var(--cw-green) !important;
  border-color: var(--cw-green) !important;
  color: #ffffff !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-panel {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 24px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-panel-header {
  align-items: center !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-panel-title {
  align-items: center !important;
  color: var(--cw-ink) !important;
  display: flex !important;
  font-size: 22px !important;
  font-weight: 850 !important;
  gap: 10px !important;
  line-height: 1.25 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-nav {
  align-items: center !important;
  display: flex !important;
  gap: 10px !important;
  justify-content: space-between !important;
  margin-bottom: 14px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-month {
  color: var(--cw-ink) !important;
  font-size: 17px !important;
  font-weight: 850 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-grid-wrap,
#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-grid {
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-row-dow,
#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-days {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-dow {
  color: var(--cw-muted) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  padding: 0 0 8px !important;
  text-align: center !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-day {
  align-items: center !important;
  aspect-ratio: 1 / 1 !important;
  background: #ffffff !important;
  border: 1px solid var(--cw-line) !important;
  color: var(--cw-muted) !important;
  display: flex !important;
  justify-content: center !important;
  margin: -1px 0 0 -1px !important;
  min-height: 44px !important;
  position: relative !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-day-available,
#techpro-booking-widget.ifix-customer-wizard .ifsc-day-limited {
  color: var(--cw-ink) !important;
  cursor: pointer !important;
  font-weight: 850 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-day:hover,
#techpro-booking-widget.ifix-customer-wizard .ifsc-day:focus-visible {
  border-color: var(--cw-blue) !important;
  box-shadow: inset 0 0 0 2px var(--cw-blue) !important;
  outline: none !important;
  z-index: 2 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-day-selected {
  background: var(--cw-blue) !important;
  border-color: var(--cw-blue) !important;
  color: #ffffff !important;
  z-index: 3 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-day-empty {
  background: var(--cw-surface-soft) !important;
  border-color: var(--cw-line) !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-day-dot,
#techpro-booking-widget.ifix-customer-wizard .ifsc-dot {
  background: var(--cw-green) !important;
  border-radius: 999px !important;
  display: inline-block !important;
  height: 7px !important;
  width: 7px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-dot-amber,
#techpro-booking-widget.ifix-customer-wizard .ifsc-dot-limited {
  background: #f59e0b !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-dot-full,
#techpro-booking-widget.ifix-customer-wizard .ifsc-dot-closed {
  background: #9ca3af !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-day-dot {
  bottom: 7px !important;
  left: 50% !important;
  position: absolute !important;
  transform: translateX(-50%) !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-legend {
  color: var(--cw-muted) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  font-size: 12px !important;
  gap: 12px !important;
  margin-top: 12px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-legend span {
  align-items: center !important;
  display: inline-flex !important;
  gap: 5px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-slots-grid,
#techpro-booking-widget.ifix-customer-wizard .ifsc-slots {
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: repeat(auto-fit, minmax(136px, 1fr)) !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-slot {
  background: #ffffff !important;
  border: 1px solid var(--cw-line-strong) !important;
  color: var(--cw-ink) !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-height: 58px !important;
  padding: 10px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-slot:hover,
#techpro-booking-widget.ifix-customer-wizard .ifsc-slot:focus-visible {
  border-color: var(--cw-blue) !important;
  box-shadow: var(--cw-focus) !important;
  outline: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-slot-selected {
  background: var(--cw-blue) !important;
  border-color: var(--cw-blue) !important;
  color: #ffffff !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-slot[disabled],
#techpro-booking-widget.ifix-customer-wizard .ifsc-slot-past,
#techpro-booking-widget.ifix-customer-wizard .ifsc-slot-taken {
  background: var(--cw-surface-soft) !important;
  color: #9ca3af !important;
  cursor: not-allowed !important;
  opacity: 0.7 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-slot-start {
  font-size: 15px !important;
  font-weight: 850 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-slot-end,
#techpro-booking-widget.ifix-customer-wizard .ifsc-slot-sep {
  font-size: 12px !important;
  font-weight: 700 !important;
  opacity: 0.85 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-zone-banner,
#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-confirmed,
#techpro-booking-widget.ifix-customer-wizard .ifsc-out-zone-warn,
#techpro-booking-widget.ifix-customer-wizard .ifsc-no-slots,
#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-error {
  border-radius: 8px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin-bottom: 14px !important;
  padding: 12px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-zone-banner {
  align-items: flex-start !important;
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  color: #065f46 !important;
  display: flex !important;
  gap: 8px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-zone-icon {
  color: var(--cw-green) !important;
  flex: 0 0 auto !important;
  height: 18px !important;
  margin-top: 1px !important;
  width: 18px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-card {
  margin-bottom: 14px !important;
  padding: 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-label-row {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: space-between !important;
  margin-bottom: 6px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-hint {
  margin: 0 0 12px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-field {
  position: relative !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input-wrap {
  align-items: center !important;
  background: #ffffff !important;
  border: 2px solid var(--cw-line-strong) !important;
  border-radius: var(--cw-input-radius) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
  padding: 4px !important;
  position: relative !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  min-height: 52px !important;
  padding: 13px 14px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input:focus {
  box-shadow: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input-wrap:focus-within {
  border-color: var(--cw-blue) !important;
  box-shadow: var(--cw-focus) !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-clear {
  min-height: 42px !important;
  padding: 0 12px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-suggestions,
#techpro-booking-widget.ifix-customer-wizard .pac-container {
  background: #ffffff !important;
  border: 1px solid var(--cw-line-strong) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12) !important;
  margin-top: 8px !important;
  max-height: 260px !important;
  overflow: auto !important;
  z-index: 99999 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-sugg-item,
#techpro-booking-widget.ifix-customer-wizard .pac-item {
  border-bottom: 1px solid var(--cw-line) !important;
  color: var(--cw-ink) !important;
  cursor: pointer !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  padding: 10px 12px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-sugg-item:last-child {
  border-bottom: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-sugg-item:hover,
#techpro-booking-widget.ifix-customer-wizard .ifsc-sugg-keyfocus,
#techpro-booking-widget.ifix-customer-wizard .pac-item:hover {
  background: #eff6ff !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-sugg-ico {
  background: var(--cw-blue) !important;
  border-radius: 999px !important;
  height: 8px !important;
  margin-top: 7px !important;
  width: 8px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-sugg-name {
  color: var(--cw-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-sugg-sub,
#techpro-booking-widget.ifix-customer-wizard .ifsc-sugg-loading {
  color: var(--cw-muted) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-sugg-badge {
  border-radius: 999px !important;
  display: inline-flex !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  margin-top: 5px !important;
  padding: 3px 7px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-badge-in {
  background: #ecfdf5 !important;
  color: #065f46 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-badge-out {
  background: #fff7ed !important;
  color: #9a3412 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-addr-confirmed {
  align-items: center !important;
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  color: #065f46 !important;
  display: flex !important;
  gap: 8px !important;
  justify-content: space-between !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-out-zone-warn {
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
  color: #9a3412 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-card {
  overflow: hidden !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-row,
#techpro-booking-widget.ifix-customer-wizard .tp-done-row {
  border-bottom: 1px solid var(--cw-line) !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 126px minmax(0, 1fr) !important;
  padding: 12px 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-row:last-child,
#techpro-booking-widget.ifix-customer-wizard .tp-done-row:last-child {
  border-bottom: 0 !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-btn {
  margin-top: 14px !important;
  width: 100% !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-done-wrap,
#techpro-booking-widget.ifix-customer-wizard .ifsc-success,
#techpro-booking-widget.ifix-customer-wizard .ifsc-booked-wrap {
  margin: 0 auto !important;
  max-width: 720px !important;
  padding: 20px 0 !important;
  text-align: center !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-check-ring,
#techpro-booking-widget.ifix-customer-wizard .ifsc-success-icon {
  align-items: center !important;
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  border-radius: 999px !important;
  color: var(--cw-green) !important;
  display: inline-flex !important;
  height: 70px !important;
  justify-content: center !important;
  margin-bottom: 14px !important;
  width: 70px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-check-svg,
#techpro-booking-widget.ifix-customer-wizard .ifsc-success-icon svg {
  height: 42px !important;
  width: 42px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-check-circle,
#techpro-booking-widget.ifix-customer-wizard .ifsc-success-circle {
  fill: none !important;
  stroke: currentColor !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-check-tick,
#techpro-booking-widget.ifix-customer-wizard .ifsc-success-tick {
  stroke: currentColor !important;
  stroke-width: 4 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-done-sub,
#techpro-booking-widget.ifix-customer-wizard .ifsc-success-sms {
  color: var(--cw-muted) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  margin: 8px auto 0 !important;
  max-width: 560px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-ref-box {
  align-items: center !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: space-between !important;
  margin: 18px auto 0 !important;
  max-width: 560px !important;
  padding: 14px 16px !important;
  text-align: left !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-ref-num {
  color: var(--cw-ink) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-appt-hero,
#techpro-booking-widget.ifix-customer-wizard .tp-done-sum {
  margin: 14px auto 0 !important;
  max-width: 640px !important;
  overflow: hidden !important;
  text-align: left !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-appt-hero {
  padding: 14px 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-appt-date {
  color: var(--cw-ink) !important;
  font-size: 17px !important;
  font-weight: 850 !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-appt-time,
#techpro-booking-widget.ifix-customer-wizard .tp-appt-addr {
  color: var(--cw-muted) !important;
  font-size: 14px !important;
  margin-top: 3px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-done-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: center !important;
  margin-top: 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-done-action svg {
  height: 17px !important;
  margin-right: 6px !important;
  width: 17px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-done-warranty {
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  border-radius: 8px !important;
  color: #065f46 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin: 16px auto 0 !important;
  max-width: 640px !important;
  padding: 12px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-err,
#techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-err {
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 8px !important;
  color: #991b1b !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  margin-top: 12px !important;
  padding: 12px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-zip-status {
  font-size: 13px !important;
  font-weight: 750 !important;
  margin-top: 7px !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-zip-status.is-ok {
  color: var(--cw-green) !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-zip-status.is-warn {
  color: var(--cw-amber) !important;
}

#techpro-booking-widget.ifix-customer-wizard .ifix-zip-status.is-bad {
  color: var(--cw-red) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-loading-wrap,
#techpro-booking-widget.ifix-customer-wizard .tp-loading,
#techpro-booking-widget.ifix-customer-wizard .ifsc-cal-loading,
#techpro-booking-widget.ifix-customer-wizard .ifsc-loading,
#techpro-booking-widget.ifix-customer-wizard .ifsc-sugg-loading {
  align-items: center !important;
  color: var(--cw-muted) !important;
  display: flex !important;
  font-size: 14px !important;
  gap: 10px !important;
  grid-column: 1 / -1 !important;
  justify-content: center !important;
  min-height: 80px !important;
  padding: 16px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-spinner,
#techpro-booking-widget.ifix-customer-wizard .ifsc-spinner,
#techpro-booking-widget.ifix-customer-wizard .tp-btn-spinner,
#techpro-booking-widget.ifix-customer-wizard .ifsc-btn-spinner {
  animation: ifix-cw-spin 700ms linear infinite !important;
  border: 2px solid rgba(37, 99, 235, 0.18) !important;
  border-radius: 999px !important;
  border-top-color: var(--cw-blue) !important;
  height: 20px !important;
  width: 20px !important;
}

@keyframes ifix-cw-spin {
  to { transform: rotate(360deg); }
}

#techpro-booking-widget.ifix-customer-wizard [disabled],
#techpro-booking-widget.ifix-customer-wizard .is-disabled {
  cursor: not-allowed !important;
  opacity: 0.62 !important;
}

.ifix-toast-stack {
  bottom: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  max-width: 360px !important;
  position: fixed !important;
  right: 18px !important;
  z-index: 999999 !important;
}

.ifix-toast {
  align-items: center !important;
  background: #111827 !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  display: flex !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  gap: 10px !important;
  justify-content: space-between !important;
  line-height: 1.35 !important;
  opacity: 0 !important;
  padding: 10px 12px !important;
  transform: translateY(8px) !important;
  transition: opacity 160ms ease, transform 160ms ease !important;
}

.ifix-toast.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.ifix-toast.is-success {
  background: #065f46 !important;
}

.ifix-toast.is-error {
  background: #991b1b !important;
}

.ifix-toast.is-warn {
  background: #92400e !important;
}

.ifix-toast-x {
  background: transparent !important;
  border: 0 !important;
  color: #ffffff !important;
  cursor: pointer !important;
  font-size: 18px !important;
  line-height: 1 !important;
  padding: 0 !important;
}

.ifix-confetti {
  inset: 0 !important;
  pointer-events: none !important;
  position: fixed !important;
  z-index: 999998 !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"],
html.dark #techpro-booking-widget.ifix-customer-wizard,
.dark #techpro-booking-widget.ifix-customer-wizard,
.dark-mode #techpro-booking-widget.ifix-customer-wizard,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard {
  --cw-bg: #0b1220;
  --cw-surface: var(--tp-card-bg, #111827);
  --cw-surface-soft: #0f172a;
  --cw-ink: var(--tp-heading-clr, #f9fafb);
  --cw-text: var(--tp-card-title, #e5e7eb);
  --cw-muted: var(--tp-card-desc, #cbd5e1);
  --cw-line: var(--tp-card-border, #263244);
  --cw-line-strong: var(--tp-input-border, #475569);
  --cw-blue: var(--tp-accent, #7da0ff);
  --cw-blue-dark: var(--tp-accent, #bfd1ff);
  --cw-green: #34d399;
  --cw-red: #fb7185;
  --cw-focus: 0 0 0 4px rgba(125, 160, 255, 0.22);
  color-scheme: dark !important;
}

html.dark .ifix-trust-strip,
html.dark .ifix-recent-ticker,
.dark .ifix-trust-strip,
.dark .ifix-recent-ticker,
.dark-mode .ifix-trust-strip,
.dark-mode .ifix-recent-ticker,
[data-theme="dark"] .ifix-trust-strip,
[data-theme="dark"] .ifix-recent-ticker {
  background: #111827 !important;
  border-color: #263244 !important;
  color: #e5e7eb !important;
}

html.dark .ifix-trust-item,
.dark .ifix-trust-item,
.dark-mode .ifix-trust-item,
[data-theme="dark"] .ifix-trust-item {
  background: #0f172a !important;
  border-color: #263244 !important;
  color: #cbd5e1 !important;
}

html.dark .ifix-trust-item strong,
html.dark .ifix-recent-ticker strong,
.dark .ifix-trust-item strong,
.dark .ifix-recent-ticker strong,
.dark-mode .ifix-trust-item strong,
.dark-mode .ifix-recent-ticker strong,
[data-theme="dark"] .ifix-trust-item strong,
[data-theme="dark"] .ifix-recent-ticker strong {
  color: #f9fafb !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .tp-input,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .tp-textarea,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-addr-input,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] input,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] textarea,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] select,
html.dark #techpro-booking-widget.ifix-customer-wizard .tp-input,
html.dark #techpro-booking-widget.ifix-customer-wizard .tp-textarea,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input,
html.dark #techpro-booking-widget.ifix-customer-wizard input,
html.dark #techpro-booking-widget.ifix-customer-wizard textarea,
html.dark #techpro-booking-widget.ifix-customer-wizard select,
.dark #techpro-booking-widget.ifix-customer-wizard .tp-input,
.dark #techpro-booking-widget.ifix-customer-wizard .tp-textarea,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input,
.dark #techpro-booking-widget.ifix-customer-wizard input,
.dark #techpro-booking-widget.ifix-customer-wizard textarea,
.dark #techpro-booking-widget.ifix-customer-wizard select,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .tp-input,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .tp-textarea,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input,
.dark-mode #techpro-booking-widget.ifix-customer-wizard input,
.dark-mode #techpro-booking-widget.ifix-customer-wizard textarea,
.dark-mode #techpro-booking-widget.ifix-customer-wizard select,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .tp-input,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .tp-textarea,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard input,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard textarea,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard select {
  background: var(--cw-surface-soft) !important;
  border-color: var(--cw-line-strong) !important;
  color: var(--cw-ink) !important;
  -webkit-text-fill-color: var(--cw-ink) !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .tp-input::placeholder,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .tp-textarea::placeholder,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-addr-input::placeholder,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] input::placeholder,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] textarea::placeholder,
html.dark #techpro-booking-widget.ifix-customer-wizard input::placeholder,
html.dark #techpro-booking-widget.ifix-customer-wizard textarea::placeholder,
.dark #techpro-booking-widget.ifix-customer-wizard input::placeholder,
.dark #techpro-booking-widget.ifix-customer-wizard textarea::placeholder,
.dark-mode #techpro-booking-widget.ifix-customer-wizard input::placeholder,
.dark-mode #techpro-booking-widget.ifix-customer-wizard textarea::placeholder,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard input::placeholder,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard textarea::placeholder {
  color: var(--cw-muted) !important;
  opacity: 1 !important;
  -webkit-text-fill-color: var(--cw-muted) !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] input:-webkit-autofill,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] textarea:-webkit-autofill,
html.dark #techpro-booking-widget.ifix-customer-wizard input:-webkit-autofill,
html.dark #techpro-booking-widget.ifix-customer-wizard textarea:-webkit-autofill,
.dark #techpro-booking-widget.ifix-customer-wizard input:-webkit-autofill,
.dark #techpro-booking-widget.ifix-customer-wizard textarea:-webkit-autofill,
.dark-mode #techpro-booking-widget.ifix-customer-wizard input:-webkit-autofill,
.dark-mode #techpro-booking-widget.ifix-customer-wizard textarea:-webkit-autofill,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard input:-webkit-autofill,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard textarea:-webkit-autofill {
  box-shadow: 0 0 0 1000px var(--cw-surface-soft) inset !important;
  -webkit-text-fill-color: var(--cw-ink) !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-day,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-slot,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-step-num,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-cal-nav-btn,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-addr-clear,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-skip-addr-btn,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-day,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-step-num,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-cal-nav-btn,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-clear,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-skip-addr-btn,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-day,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-step-num,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-cal-nav-btn,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-clear,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-skip-addr-btn,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-day,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-slot,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-step-num,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-cal-nav-btn,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-clear,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-skip-addr-btn,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-day,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-slot,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-step-num,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-cal-nav-btn,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-clear,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-skip-addr-btn {
  background: var(--cw-surface-soft) !important;
  border-color: var(--cw-line-strong) !important;
  color: var(--cw-ink) !important;
  opacity: 1 !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-day-available,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-day-limited,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-slot:not([disabled]),
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-day-available,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-day-limited,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot:not([disabled]),
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-day-available,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-day-limited,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot:not([disabled]),
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-day-available,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-day-limited,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-slot:not([disabled]),
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-day-available,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-day-limited,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-slot:not([disabled]) {
  color: var(--cw-ink) !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-slot[disabled],
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-slot-past,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-slot-taken,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot[disabled],
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-past,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-taken,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot[disabled],
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-past,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-taken,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-slot[disabled],
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-past,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-taken,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-slot[disabled],
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-past,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-taken {
  background: rgba(15, 23, 42, 0.72) !important;
  color: var(--cw-muted) !important;
  opacity: 0.76 !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-day-selected,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-slot-selected,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-day-selected,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-selected,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-day-selected,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-selected,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-day-selected,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-selected,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-day-selected,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-selected {
  background: var(--cw-blue) !important;
  border-color: var(--cw-blue) !important;
  color: var(--tp-accent-text, #ffffff) !important;
  opacity: 1 !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-slot-selected *,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-selected *,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-selected *,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-selected *,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-slot-selected * {
  color: inherit !important;
  opacity: 1 !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-step.is-active .ifsc-step-num,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-step.is-active .ifsc-step-num,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-step.is-active .ifsc-step-num,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-step.is-active .ifsc-step-num,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-step.is-active .ifsc-step-num {
  background: var(--cw-blue) !important;
  border-color: var(--cw-blue) !important;
  color: var(--tp-accent-text, #ffffff) !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-step.is-done .ifsc-step-num,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-step.is-done .ifsc-step-num,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-step.is-done .ifsc-step-num,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-step.is-done .ifsc-step-num,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-step.is-done .ifsc-step-num {
  background: var(--cw-green) !important;
  border-color: var(--cw-green) !important;
  color: #ffffff !important;
}

#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-addr-input-wrap,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .ifsc-suggestions,
#techpro-booking-widget.ifix-customer-wizard[data-color-scheme="dark"] .pac-container,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input-wrap,
html.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-suggestions,
html.dark #techpro-booking-widget.ifix-customer-wizard .pac-container,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input-wrap,
.dark #techpro-booking-widget.ifix-customer-wizard .ifsc-suggestions,
.dark #techpro-booking-widget.ifix-customer-wizard .pac-container,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input-wrap,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .ifsc-suggestions,
.dark-mode #techpro-booking-widget.ifix-customer-wizard .pac-container,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input-wrap,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .ifsc-suggestions,
[data-theme="dark"] #techpro-booking-widget.ifix-customer-wizard .pac-container {
  background: var(--cw-surface-soft) !important;
  border-color: var(--cw-line-strong) !important;
}

@media (max-width: 820px) {
  #techpro-booking-widget.ifix-customer-wizard .tp-est-wrap {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .tp-promo,
  .ifix-trust-strip,
  .ifix-recent-ticker,
  #techpro-booking-widget.ifix-customer-wizard {
    max-width: 100% !important;
  }

  .ifix-trust-strip,
  .ifix-recent-ticker {
    justify-content: flex-start !important;
  }

  #techpro-booking-widget.ifix-customer-wizard {
    padding-left: max(8px, env(safe-area-inset-left)) !important;
    padding-right: max(8px, env(safe-area-inset-right)) !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-card-shell {
    border-radius: 8px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-stepper {
    padding: 14px 12px 12px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-stepper-kicker,
  #techpro-booking-widget.ifix-customer-wizard .tp-labels {
    display: none !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-stepper-head {
    justify-content: flex-end !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-track {
    height: 28px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-track-rail,
  #techpro-booking-widget.ifix-customer-wizard .tp-track-fill {
    left: 14px !important;
    top: 13px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-track-rail {
    right: 14px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-track-fill {
    max-width: calc(100% - 28px) !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-nodes {
    gap: 3px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-node {
    flex-basis: 28px !important;
    font-size: 11px !important;
    height: 28px !important;
    width: 28px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-panel,
  #techpro-booking-widget.ifix-customer-wizard .ifsc-panel {
    padding: 16px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-panel[data-step="6"] {
    padding: 0 !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-h1,
  #techpro-booking-widget.ifix-customer-wizard .tp-done-h,
  #techpro-booking-widget.ifix-customer-wizard .ifsc-header-title {
    font-size: 24px !important;
    line-height: 1.18 !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-sub,
  #techpro-booking-widget.ifix-customer-wizard .ifsc-header-sub {
    font-size: 14px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-grid,
  #techpro-booking-widget.ifix-customer-wizard #tp-device-grid,
  #techpro-booking-widget.ifix-customer-wizard #tp-brand-grid,
  #techpro-booking-widget.ifix-customer-wizard #tp-model-grid,
  #techpro-booking-widget.ifix-customer-wizard #tp-issue-grid {
    grid-template-columns: 1fr !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-row,
  #techpro-booking-widget.ifix-customer-wizard .tp-custom-row,
  #techpro-booking-widget.ifix-customer-wizard .tp-coupon-row,
  #techpro-booking-widget.ifix-customer-wizard .tp-est-wrap,
  #techpro-booking-widget.ifix-customer-wizard .tp-strip,
  #techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-row,
  #techpro-booking-widget.ifix-customer-wizard .tp-done-row {
    grid-template-columns: 1fr !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-strip-item + .tp-strip-item {
    border-left: 0 !important;
    border-top: 1px solid var(--cw-line) !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-step6-toolbar {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-step6-copy {
    text-align: left !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .ifsc-header-inner {
    padding: 16px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .ifsc-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    padding: 10px 12px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .ifsc-step-line,
  #techpro-booking-widget.ifix-customer-wizard .ifsc-step-lbl {
    display: none !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .ifsc-step-num {
    height: 30px !important;
    width: 30px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .ifsc-panel-title {
    font-size: 20px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .ifsc-zone-banner,
  #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-card {
    padding: 12px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-input-wrap {
    grid-template-columns: 1fr !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-clear {
    width: 100% !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .ifsc-slots-grid,
  #techpro-booking-widget.ifix-customer-wizard .ifsc-slots {
    grid-template-columns: 1fr 1fr !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-ref-box,
  #techpro-booking-widget.ifix-customer-wizard .ifsc-addr-confirmed {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-btn,
  #techpro-booking-widget.ifix-customer-wizard .ifsc-confirm-btn,
  #techpro-booking-widget.ifix-customer-wizard .ifix-done-action {
    width: 100% !important;
  }
}

@media (max-width: 380px) {
  #techpro-booking-widget.ifix-customer-wizard {
    padding-left: max(4px, env(safe-area-inset-left)) !important;
    padding-right: max(4px, env(safe-area-inset-right)) !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-node {
    flex-basis: 24px !important;
    font-size: 10px !important;
    height: 24px !important;
    width: 24px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-track-rail,
  #techpro-booking-widget.ifix-customer-wizard .tp-track-fill {
    left: 12px !important;
    top: 12px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-track-rail {
    right: 12px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .ifsc-slots-grid,
  #techpro-booking-widget.ifix-customer-wizard .ifsc-slots {
    grid-template-columns: 1fr !important;
  }
}

/* v14.2.2 storefront cleanup: hard-hide empty coupon rows and make
   device/service choices feel like larger tap targets on every screen. */
#techpro-booking-widget.ifix-customer-wizard #tp-row-coupon[hidden],
#techpro-booking-widget.ifix-customer-wizard #tp-row-coupon.tp-hidden {
  display: none !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-mark {
  flex: 0 0 64px !important;
  font-size: 22px !important;
  height: 64px !important;
  line-height: 1 !important;
  width: 64px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-has-icon .tp-card-mark {
  flex-basis: 72px !important;
  font-size: 34px !important;
  height: 72px !important;
  width: 72px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-mark span {
  display: inline-flex !important;
  transform: translateY(1px) !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-card-img {
  height: 132px !important;
  min-height: 132px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-device-card .tp-card-img {
  height: 154px !important;
  min-height: 154px !important;
}

#techpro-booking-widget.ifix-customer-wizard .tp-model-photo .tp-card-img {
  height: 146px !important;
  min-height: 146px !important;
}

@media (max-width: 760px) {
  body:not(.wp-admin) #techpro-booking-widget.ifix-customer-wizard {
    margin-top: -10px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-grid,
  #techpro-booking-widget.ifix-customer-wizard #tp-device-grid,
  #techpro-booking-widget.ifix-customer-wizard #tp-brand-grid,
  #techpro-booking-widget.ifix-customer-wizard #tp-model-grid,
  #techpro-booking-widget.ifix-customer-wizard #tp-issue-grid {
    grid-template-columns: 1fr !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-card {
    align-items: center !important;
    flex-direction: row !important;
    gap: 14px !important;
    min-height: 104px !important;
    overflow: hidden !important;
    padding: 14px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-card-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-card-name,
  #techpro-booking-widget.ifix-customer-wizard .tp-card-desc,
  #techpro-booking-widget.ifix-customer-wizard .tp-card-price,
  #techpro-booking-widget.ifix-customer-wizard .tp-svc-name,
  #techpro-booking-widget.ifix-customer-wizard .tp-svc-desc {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-card-img,
  #techpro-booking-widget.ifix-customer-wizard .tp-device-card .tp-card-img,
  #techpro-booking-widget.ifix-customer-wizard .tp-model-photo .tp-card-img {
    flex: 0 0 118px !important;
    height: 86px !important;
    min-height: 86px !important;
    width: 118px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-card.tp-card-noimage {
    min-height: 98px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-card-mark {
    flex-basis: 72px !important;
    font-size: 26px !important;
    height: 72px !important;
    width: 72px !important;
  }
}

@media (max-width: 420px) {
  #techpro-booking-widget.ifix-customer-wizard .tp-card {
    gap: 12px !important;
    padding: 12px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-card-img,
  #techpro-booking-widget.ifix-customer-wizard .tp-device-card .tp-card-img,
  #techpro-booking-widget.ifix-customer-wizard .tp-model-photo .tp-card-img {
    flex-basis: 104px !important;
    height: 78px !important;
    min-height: 78px !important;
    width: 104px !important;
  }

  #techpro-booking-widget.ifix-customer-wizard .tp-card-mark {
    flex-basis: 66px !important;
    font-size: 24px !important;
    height: 66px !important;
    width: 66px !important;
  }
}
