/* ===== Unified Cross-Page Overrides ===== */

/* Typography normalization */
body,
p,
li,
label,
input,
select,
textarea,
button,
.muted,
.nav-link,
.btn,
.ds-filterpill,
.ds-filterlabel,
.ds-filterselect,
.ds-filtersearch,
.ds-card-excerpt,
.ds-team-intro {
  font-family: "Source Sans 3", ui-sans-serif, "Segoe UI", sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.ds-serif,
.section-title,
.hero-title,
.ds-card-title,
.ds-team-title,
.ds-services__title,
.ds-serviceDetail__title,
.ds-ctaBand__title,
.ds-firm .ds-firm-title,
.ds-firm .section-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

/* Tag consistency across sections */
.process-tag,
.trusted-tag,
.insights-tag {
  border-radius: 999px !important;
  border: 1px solid var(--border) !important;
  background: rgba(255, 255, 255, 0.78) !important;
  color: var(--navy-2) !important;
  letter-spacing: 0.12em !important;
}

/* Process cards */
.process-card {
  border-radius: var(--radius-lg) !important;
}

.process-card-title {
  font-family: "Cormorant Garamond", Georgia, serif;
}

/* Insight + testimonial + shared card polish */
.insight-featured,
.insight-list,
.quote-card,
.trusted-proof,
.ds-serviceDetail__imageWrap,
.ds-firm .ds-firm-panel,
.ds-firm .ds-lead-panel,
.ds-firm .ds-team-card,
.ds-team .ds-team-card,
.ds-team .ds-filterbar {
  border-color: var(--border) !important;
  box-shadow: var(--shadow-soft) !important;
}

.insight-featured,
.insight-list,
.quote-card,
.ds-serviceDetail__imageWrap,
.ds-team .ds-filterbar {
  background: rgba(255, 255, 255, 0.9) !important;
}

/* Service pages */
.ds-services__hero,
.ds-serviceDetail__hero {
  padding-top: clamp(42px, 5vw, 64px);
}

.ds-services__title,
.ds-serviceDetail__title,
.ds-services__faqTitle,
.ds-serviceDetail__sectionTitle,
.ds-ctaBand__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

.ds-service-card__title,
.ds-serviceDetail__subtitle,
.ds-serviceDetail__intro,
.ds-accordion__button,
.ds-accordion__panel p {
  font-family: "Source Sans 3", ui-sans-serif, "Segoe UI", sans-serif !important;
}

.ds-accordion__icon {
  color: var(--navy);
  border: 1px solid var(--border);
  background: rgba(20, 42, 67, 0.06) !important;
}

/* Team page consistency */
.ds-team-hero {
  padding-top: clamp(44px, 6vw, 62px);
}

.ds-team-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

.ds-team-intro {
  margin: 8px 0 0;
  font-size: 15px;
  line-height: 1.56;
}

.ds-resultcount {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  font-weight: 700;
  color: var(--navy-2);
}

.ds-resultcount #ds-team-count {
  min-width: 20px;
  text-align: right;
}

.ds-team-empty {
  margin-top: 20px;
  border: 1px dashed var(--border);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.72);
  padding: 16px;
}

/* Firm page layout fixes */
.ds-firm-practice-strip {
  top: var(--ds-header-h) !important;
}

.ds-firm .section-title,
.ds-firm .ds-firm-title,
.ds-firm .ds-cta-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

.ds-firm .muted {
  color: var(--muted);
}

.ds-firm .ds-practice-pill {
  border-color: var(--border);
}

.ds-firm .ds-practice-pill.is-active {
  background: var(--navy);
  border-color: var(--navy);
}

/* Body classes where sticky quick actions are not useful */
.ds-booking-minimal .ds-quick-actions,
.woocommerce-checkout .ds-quick-actions,
.woocommerce-order-received .ds-quick-actions {
  display: none !important;
}

/* Consult booking keeps its own glass system and should not inherit generic card chrome. */
.ds-consult-now .ds-consult-card,
.ds-consult-now .ds-consult-option,
.ds-consult-now .ds-consult-bentoCard,
.ds-consult-now .ds-consult-modeCard,
.ds-consult-now .ds-consult-faqItem,
.ds-consult-now .ds-cal,
.ds-consult-now .ds-cal-cell,
.ds-consult-now .ds-cal-slot {
  background: rgba(255, 255, 255, 0.36) !important;
  border-color: rgba(212, 175, 55, 0.2) !important;
  box-shadow: inset 0 0 24px rgba(255, 255, 255, 0.08) !important;
}

/* Mobile */
@media (max-width: 991.98px) {
  .ds-firm-practice-strip {
    top: calc(var(--ds-header-h) - 6px) !important;
  }

}
