/* Scoped editable service catalog. Original theme rules remain the fallback. */
.tc-service-catalog {
  background: var(--tc-section-bg, #0b1d33);
  font-family: var(--tc-section-font, "Mona Sans Variable", "Mona Sans", sans-serif);
}
.tc-service-catalog .services-heading { text-align: var(--tc-section-align, left); }
.tc-service-catalog .services-heading h2 {
  font-family: var(--tc-section-font, "Mona Sans Variable", "Mona Sans", sans-serif);
  font-size: var(--tc-section-heading, 48px);
}
.tc-service-catalog .services-kicker { font-size: var(--tc-section-subheading, 48px); }
.tc-service-catalog .service-card {
  background: var(--tc-cat-bg, #f7f9fc);
  color: var(--tc-cat-fg, #0b1d33);
  border-radius: var(--tc-cat-radius, 18px);
  font-family: var(--tc-cat-font, "Mona Sans Variable", "Mona Sans", sans-serif);
  text-align: var(--tc-cat-align, left);
  scroll-margin-top: 100px;
}
.tc-service-catalog .service-plans .service-card-main,
.tc-service-catalog .service-others .service-card-main,
.tc-service-catalog .service-card.is-featured .service-card-main {
  padding: var(--tc-cat-padding, 34px);
  border-radius: inherit;
}
.tc-service-catalog .service-card h3,
.tc-service-catalog .service-plans .service-card h3,
.tc-service-catalog .service-others .service-card h3 {
  color: var(--tc-cat-fg, #0b1d33);
  font-family: var(--tc-cat-font, "Mona Sans Variable", "Mona Sans", sans-serif);
  font-size: var(--tc-cat-title, 32px);
  line-height: 1.15;
  white-space: normal;
}
.tc-service-catalog .service-card-price strong,
.tc-service-catalog .service-card-price span,
.tc-service-catalog .service-plans .service-card-price strong,
.tc-service-catalog .service-plans .service-card-price span,
.tc-service-catalog .service-others .service-card-price strong,
.tc-service-catalog .service-others .service-card-price span {
  font-family: var(--tc-cat-font, "Mona Sans Variable", "Mona Sans", sans-serif);
  color: var(--tc-cat-fg, #0b1d33);
  font-size: var(--tc-cat-price, 48px);
}
.tc-service-catalog .service-card-question,
.tc-service-catalog .service-card-promise { color: var(--tc-cat-accent, #2463d4); }
.tc-service-catalog .service-card-promise {
  font-size: var(--tc-cat-promise, 19px);
  line-height: var(--tc-cat-line, 1.5);
}
.tc-service-catalog .service-card-description,
.tc-service-catalog .service-plans .service-card-description,
.tc-service-catalog .service-card-details p,
.tc-service-catalog .service-plans .service-card-details p {
  color: var(--tc-cat-text, #30475f);
  font-size: var(--tc-cat-body, 16px);
  line-height: var(--tc-cat-line, 1.5);
}
.tc-service-catalog .service-card-note {
  color: var(--tc-cat-text, #30475f);
  font-size: var(--tc-cat-note, 14px);
  line-height: var(--tc-cat-line, 1.5);
}
.tc-service-catalog .service-card-inclusions,
.tc-service-catalog .service-card-details ul {
  color: var(--tc-cat-text, #30475f);
  font-size: var(--tc-cat-list, 16px);
  line-height: var(--tc-cat-line, 1.5);
  gap: var(--tc-cat-gap, 11px);
}
.tc-service-catalog .service-card-inclusions li::before { background: var(--tc-cat-accent, #2463d4); }
.tc-service-catalog .service-card-details h4 { color: var(--tc-cat-fg, #0b1d33); }
.tc-service-catalog .service-card .service-cta,
.tc-service-catalog .service-others .service-cta {
  border-radius: var(--tc-cat-btn-radius, 28px);
  background: var(--tc-cat-accent, #2463d4);
  color: var(--tc-cat-btn-text, #fff);
  font-family: var(--tc-cat-font, "Mona Sans Variable", "Mona Sans", sans-serif);
  font-size: var(--tc-cat-cta, 15px);
  text-align: center;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.tc-service-catalog .service-card .service-cta:hover { filter: brightness(1.08); background: var(--tc-cat-accent, #2463d4); }
.tc-service-catalog .service-details-toggle { color: var(--tc-cat-fg, #0b1d33); }
.tc-service-catalog .service-details-toggle:hover { color: var(--tc-cat-accent, #2463d4); }
.tc-service-catalog .service-card .service-badge { background: var(--tc-cat-accent, #2463d4); }
.tc-service-catalog .service-card.is-featured { border-color: var(--tc-cat-accent, #2463d4); }
.tc-service-catalog .service-card .tc-service-unavailable {
  background: #e9edf2; color: #4b5e73; border: 1px solid #cbd4de;
  border-radius: var(--tc-cat-btn-radius, 28px);
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 50px; padding: 12px 18px; text-align: center;
  font-size: var(--tc-cat-cta, 15px); font-weight: 700;
}
.tc-service-catalog .service-card.is-paused { opacity: .87; }
.tc-service-catalog .service-card.is-paused .service-badge { animation: none; }
.tc-service-catalog .service-others .service-card-actions { margin-top: auto; }
.tc-service-catalog .service-card.is-secondary .service-card-inclusions { margin-top: 20px; }
.tc-service-catalog .service-card.is-secondary .service-card-details { margin-top: 18px; }
.tc-service-catalog .service-plans .service-card-main { height: 100%; }
.tc-service-catalog .service-card-details:not([hidden]) { display: block; }
.tc-service-catalog .tc-service-jump-menu {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px;
  border: 1px solid rgba(255,255,255,.2); border-radius: 12px;
  padding: 14px 18px; margin-bottom: 28px;
}
.tc-service-catalog .tc-service-jump-menu>div { display: flex; flex-wrap: wrap; gap: 9px; }
.tc-service-catalog .tc-service-jump-menu a {
  color: #fff; border: 1px solid rgba(255,255,255,.45); padding: 7px 12px;
  border-radius: 999px; text-decoration: none;
}
.tc-service-catalog .tc-service-jump-menu a:hover,
.tc-service-catalog .tc-service-jump-menu a:focus-visible { background: #fff; color: #0b1d33; }
.tc-service-catalog .services-heading h2 { max-width: none; }
@media(max-width: 760px) {
  .tc-service-catalog .services-heading h2 { font-size: clamp(26px, 7vw, var(--tc-section-heading, 48px)); }
  .tc-service-catalog .services-kicker { font-size: clamp(28px, 8vw, var(--tc-section-subheading, 48px)); }
  .tc-service-catalog .service-plans .service-card h3,
  .tc-service-catalog .service-others .service-card h3 { font-size: min(var(--tc-cat-title, 32px), 32px); }
  .tc-service-catalog .service-plans .service-card-price strong,
  .tc-service-catalog .service-plans .service-card-price span,
  .tc-service-catalog .service-others .service-card-price strong,
  .tc-service-catalog .service-others .service-card-price span { font-size: min(var(--tc-cat-price, 48px), 34px); }
  .tc-service-catalog .service-plans .service-card-main,
  .tc-service-catalog .service-others .service-card-main,
  .tc-service-catalog .service-card.is-featured .service-card-main { padding: min(var(--tc-cat-padding, 34px), 24px); }
}

/* C4: Per-element overrides with inherited defaults, no visual changes unless explicitly edited. */
.tc-service-catalog .service-card h3 {font-family:var(--tc-cat-title-font,var(--tc-cat-font));text-align:var(--tc-cat-title-align,var(--tc-cat-align))}
.tc-service-catalog .service-card-price strong,
.tc-service-catalog .service-card-price span {font-family:var(--tc-cat-price-font,var(--tc-cat-font))}
.tc-service-catalog .service-card-price {text-align:var(--tc-cat-price-align,var(--tc-cat-align))}
.tc-service-catalog .service-card-price {width:100%;}
.tc-service-catalog .service-card-price {justify-content:var(--tc-cat-price-justify,flex-start)}
.tc-service-catalog .service-card-promise {font-family:var(--tc-cat-promise-font,var(--tc-cat-font));text-align:var(--tc-cat-promise-align,var(--tc-cat-align))}
.tc-service-catalog .service-card-question,
.tc-service-catalog .service-card-description,
.tc-service-catalog .service-card-note {font-family:var(--tc-cat-body-font,var(--tc-cat-font));text-align:var(--tc-cat-body-align,var(--tc-cat-align))}
.tc-service-catalog .service-card-inclusions {font-family:var(--tc-cat-list-font,var(--tc-cat-font));text-align:var(--tc-cat-list-align,var(--tc-cat-align))}
.tc-service-catalog .service-card-details {font-family:var(--tc-cat-detail-font,var(--tc-cat-font));text-align:var(--tc-cat-detail-align,var(--tc-cat-align))}
.tc-service-catalog .service-card .service-cta {font-family:var(--tc-cat-button-font,var(--tc-cat-font));text-align:var(--tc-cat-button-align,center)}
