/*
 * Approved Core sitewide design, 24 September 2026.
 * Opt-in: body.ca-approved-sitewide. Load after the existing theme styles.
 * Source: style-samples-2026-09-24/sample.css, owner-selected design A:
 * DM Serif Display 400, Manrope, cream/ink/gold, C's white concern cards.
 *
 * This is a presentation overlay. Template widths, grids, image placement,
 * navigation state, disclosure state, privacy controls, forms and conditional
 * urgent-page booking suppression remain owned by the existing theme.
 * No generated content, remote imports or image/background-image replacement.
 * Important declarations are limited to the visual cascade where legacy
 * template rules, inline page styles or existing !important rules compete.
 * Fonts are supplied separately by the parent release task at these URLs.
 */

@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/dm-serif-display-latin.woff2') format('woff2');
}

@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./fonts/manrope-latin.woff2') format('woff2');
}

body.ca-approved-sitewide {
  --ca-approved-cream: #faf7f0;
  --ca-approved-paper: #fff;
  --ca-approved-ink: #222831;
  --ca-approved-muted: #535a61;
  --ca-approved-gold: #facf39;
  --ca-approved-gold-hover: #f0c32c;
  --ca-approved-gold-text: #795b00;
  --ca-approved-line: #ddd9d0;
  --ca-approved-card-line: #d8dde0;
  --ca-approved-soft: #f0ece3;
  --ca-approved-serif: 'DM Serif Display', Georgia, 'Times New Roman', serif;
  --ca-approved-sans: 'Manrope', Arial, sans-serif;
  --ca-approved-section-space: clamp(3rem, 5vw, 4.75rem);
  --font-display: var(--ca-approved-serif);
  --font-body: var(--ca-approved-sans);
  --font-accent: var(--ca-approved-sans);
  --font-logo-wordmark: var(--ca-approved-sans);
  --font-logo-slogan: var(--ca-approved-sans);
  --ca-editorial-display: var(--ca-approved-serif);
  --ca-editorial-paper: var(--ca-approved-paper);
  background-color: var(--ca-approved-cream);
  color: var(--ca-approved-ink);
  font-family: var(--ca-approved-sans);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7;
  color-scheme: light;
}

/* Rebrand hubs redeclare tokens below body; reset them at their own boundary. */
body.ca-approved-sitewide,
body.ca-approved-sitewide :is(.ca-rebrand-lip-content, .home-rebrand, .consultations-hub, .treatments-hub) {
  --ink: var(--ca-approved-ink) !important;
  --deep: var(--ca-approved-ink) !important;
  --text: var(--ca-approved-muted) !important;
  --ink-soft: var(--ca-approved-muted) !important;
  --muted: var(--ca-approved-muted) !important;
  --cream: var(--ca-approved-cream) !important;
  --paper: var(--ca-approved-paper) !important;
  --sand: var(--ca-approved-soft) !important;
  --sage: var(--ca-approved-soft) !important;
  --peach: var(--ca-approved-soft) !important;
  --line: var(--ca-approved-line) !important;
  --gold: var(--ca-approved-gold) !important;
  --gold-soft: var(--ca-approved-gold) !important;
  --gold-dark: var(--ca-approved-gold-text) !important;
  --accent: var(--ca-approved-gold) !important;
  --serif: var(--ca-approved-serif) !important;
  --sans: var(--ca-approved-sans) !important;
  font-family: var(--ca-approved-sans) !important;
}

/* Existing guide-specific aliases; no guide content is introduced here. */
body.ca-approved-sitewide .ca-rebrand-lip-content {
  --ac-cream: var(--ca-approved-cream) !important;
  --ac-sand: var(--ca-approved-soft) !important;
  --ac-sand-light: var(--ca-approved-soft) !important;
  --ac-ink: var(--ca-approved-ink) !important;
  --ac-text: var(--ca-approved-muted) !important;
  --ac-muted: var(--ca-approved-muted) !important;
  --ac-gold-deep: var(--ca-approved-gold) !important;
  --cc-cream: var(--ca-approved-cream) !important;
  --cc-sand: var(--ca-approved-soft) !important;
  --cc-sand-soft: var(--ca-approved-soft) !important;
  --cc-ink: var(--ca-approved-ink) !important;
  --cc-muted: var(--ca-approved-muted) !important;
  --cc-line: var(--ca-approved-line) !important;
  --tp-cream: var(--ca-approved-cream) !important;
  --tp-sand: var(--ca-approved-soft) !important;
  --tp-paper: var(--ca-approved-paper) !important;
  --tp-ink: var(--ca-approved-ink) !important;
  --tp-line: var(--ca-approved-line) !important;
  --sweat-ink: var(--ca-approved-ink) !important;
  --sweat-text: var(--ca-approved-muted) !important;
  --sweat-muted: var(--ca-approved-muted) !important;
  --sweat-paper: var(--ca-approved-paper) !important;
  --sweat-line: var(--ca-approved-line) !important;
  --sweat-sage: var(--ca-approved-soft) !important;
  --sweat-peach: var(--ca-approved-soft) !important;
  --men-ink: var(--ca-approved-ink) !important;
  --men-text: var(--ca-approved-muted) !important;
  --men-muted: var(--ca-approved-muted) !important;
  --men-paper: var(--ca-approved-paper) !important;
  --men-line: var(--ca-approved-line) !important;
  --men-sage: var(--ca-approved-soft) !important;
  --men-peach: var(--ca-approved-soft) !important;
  --review-ink: var(--ca-approved-ink) !important;
  --review-text: var(--ca-approved-muted) !important;
  --review-muted: var(--ca-approved-muted) !important;
  --review-paper: var(--ca-approved-paper) !important;
  --review-line: var(--ca-approved-line) !important;
  --review-sage: var(--ca-approved-soft) !important;
  --review-peach: var(--ca-approved-soft) !important;
  --inclusive-ink: var(--ca-approved-ink) !important;
  --inclusive-text: var(--ca-approved-muted) !important;
  --inclusive-muted: var(--ca-approved-muted) !important;
  --inclusive-paper: var(--ca-approved-paper) !important;
  --inclusive-line: var(--ca-approved-line) !important;
  --inclusive-sage: var(--ca-approved-soft) !important;
  --inclusive-peach: var(--ca-approved-soft) !important;
}

body.ca-approved-sitewide .home-rebrand {
  --home-ink: var(--ca-approved-ink) !important;
  --home-cream: var(--ca-approved-cream) !important;
  --home-sand: var(--ca-approved-soft) !important;
  --home-gold: var(--ca-approved-gold) !important;
  --home-soft-gold: var(--ca-approved-gold) !important;
  --home-white: var(--ca-approved-paper) !important;
  --home-line: var(--ca-approved-line) !important;
}

/* Explicit old fonts occur on prose, controls and labels in every template. */
body.ca-approved-sitewide :is(
  p, li, dt, dd, blockquote, address, figcaption, label, legend, input, select,
  textarea, button, summary, a, th, td, small, time, .eyebrow, .section-label,
  .home-eyebrow, .hub-eyebrow, .breadcrumbs, .breadcrumb, .facts-inner,
  .trust-bar, .hero-badge, .hero-tagline, .interior-lede, .hero-intro,
  .ca-editorial-hero__lede, .ca-cta-trust, .ca-answer-box__label-text,
  .ca-toc__title, .learn-category, .learn-read-more, .learn-cluster-label,
  .main-hub-card-text, .main-hub-card-link, .service-link, .step-meta,
  .logo-wordmark, .ca-rebrand-lip-logo__text, .cta-signature, .footer-slogan,
  .home-facts strong, .ca-pathway-action, legend span, .mega-col-title,
  .ca-decision-support__eyebrow, .ca-inline-consultation-cta__eyebrow,
  .ca-consultation-card__eyebrow, .ca-newsletter-kicker, .ca-newsletter-status
):not(:where(#wpadminbar, #wpadminbar *, .dashicons, .fa, .fas, .fab)) {
  font-family: var(--ca-approved-sans) !important;
}

body.ca-approved-sitewide :is(
  h1, h2, h3, h4, h5, h6, .faq-q, .sidebar-title, .feature-description strong,
  .service-card-title, .main-hub-card-title, .learn-card-title,
  .core-method-card-title, .journey-step-title, .ca-related-title,
  .hub-topic > summary
) {
  font-family: var(--ca-approved-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.025em;
  line-height: 1.2;
  font-synthesis: none;
}

body.ca-approved-sitewide :is(h1, h2, h3, h4, h5, h6, .faq-q) :is(a, span, em, strong),
body.ca-approved-sitewide :is(.faq-list, .questions, .home-questions, .hub-questions, .question) summary {
  font-family: var(--ca-approved-serif) !important;
  font-weight: 400 !important;
}

body.ca-approved-sitewide :is(.hero, .interior-hero, .ca-editorial-hero, .ca-paid-hero, .about-visit-hero) h1,
body.ca-approved-sitewide main > .page-header h1 {
  font-size: clamp(2.375rem, 3.8vw, 3.125rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  overflow-wrap: break-word;
}

body.ca-approved-sitewide main :is(h2, .section-header h2) {
  font-size: clamp(1.8125rem, 3vw, 2.375rem);
  line-height: 1.2;
}

body.ca-approved-sitewide :is(
  .answer, .appointment-copy, .home-section-heading, .home-help-intro,
  .home-practitioner-copy, .home-decision, .booking-section, .hub-next-step,
  .ca-editorial-content, .interior-article
) h2 {
  font-size: clamp(1.8125rem, 3vw, 2.375rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.025em !important;
}

body.ca-approved-sitewide :is(.hero-intro, .home-intro, .interior-lede, .ca-editorial-hero__lede) {
  font-size: 1.0625rem !important;
  font-weight: 400;
  line-height: 1.8 !important;
}

body.ca-approved-sitewide :is(.answer-copy, .reading-copy, .home-practitioner-copy, .appointment-copy) > p:not(.eyebrow) {
  font-size: 1.0625rem !important;
  line-height: 1.8 !important;
}

body.ca-approved-sitewide :is(.eyebrow, .section-label, .home-eyebrow, .hub-eyebrow) {
  color: var(--ca-approved-gold-text);
  font-weight: 600;
  letter-spacing: 0.14em;
}

body.ca-approved-sitewide :is(.reading-sidebar nav a, .reading-sidebar .eyebrow, .section-label, .reassurance, .fact-icon, .point-icon, .visual-top) {
  color: var(--ca-approved-muted) !important;
}

/* Match the existing ID-based mobile menu cascade without changing its state. */
body.ca-approved-sitewide #navLinks.nav-links :is(.nav-link, .mega-col li a),
body.ca-approved-sitewide #navLinks.nav-links .nav-cta-mobile :is(.ca-btn-book, .btn) {
  font-family: var(--ca-approved-sans) !important;
  letter-spacing: 0.02em !important;
}

body.ca-approved-sitewide:not(.ca-rebrand-lip-page):not(.page-template-page-paid-consultation) .nav-bar:not(.ca-paid-safe-nav) :is(.ca-header-book, .ca-phone-link, .ca-contact-trigger),
body.ca-approved-sitewide .ca-newsletter-section .ml-embedded :is(p, input, button, label) {
  font-family: var(--ca-approved-sans) !important;
}

body.ca-approved-sitewide .ca-newsletter-section .ml-embedded :is(h2, h3, h4) {
  font-family: var(--ca-approved-serif) !important;
  font-weight: 400 !important;
}

/* Surface colours only: no container-width reset or generic section layout. */
body.ca-approved-sitewide :is(
  .nav-bar, .ca-rebrand-lip-header, .mobile-menu, .mega-menu,
  .ca-site-search-band, .interior-hero, .interior-article, .ca-editorial-hero,
  .facts-strip, .home-questions, .ca-rebrand-lip-footer, .site-footer
) {
  background-color: var(--ca-approved-cream) !important;
  border-color: var(--ca-approved-line);
}

body.ca-approved-sitewide :is(
  .appointment-section, .suitability-note, .about-visit-details, .browse-panel,
  .home-help, .home-decision, .home-official-details, .trust-bar, .risk-disclosure,
  .ca-direct-answer, .direct-answer, .featured-snippet, .ca-answer-box,
  .ca-visit-note, .ca-visit-fact, .ca-layout-callout, .ca-layout-disclaimer,
  .ca-extra-internal-links, .ca-assessment-tool, .ca-cluster-explorer
) {
  background-color: var(--ca-approved-soft) !important;
  border-color: var(--ca-approved-line);
  color: var(--ca-approved-ink);
}

/* Cards retain their current grids, nested media and content. */
body.ca-approved-sitewide :is(
  .service-card, .main-hub-card, .approach-card, .core-method-card, .learn-card,
  .learn-cluster, .ca-local-guide-group, .home-route-card, .home-help-card,
  .home-booking, .consultation-card, .treatment-card, .term-card,
  .ca-comparison-card, .ca-consultation-card, .consultation-option-card,
  .ca-consultation-pathway-card, .ca-related-item > a, .ca-layout-card-table tr,
  .article-series-link, .hub-topic, .support-cards > a, .post-summary, .about-core-step,
  .ca-pathway-card, .ca-prep-delivery-card
) {
  background-color: var(--ca-approved-paper) !important;
  color: var(--ca-approved-ink) !important;
  border: 1px solid var(--ca-approved-card-line) !important;
  border-top: 4px solid var(--ca-approved-gold) !important;
  border-radius: 5px !important;
  box-shadow: none;
}

body.ca-approved-sitewide :is(.home-route-card, .home-help-card, .term-card, .hub-topic, .post-summary, .about-core-step) {
  padding: clamp(1.125rem, 2vw, 1.375rem) !important;
}

body.ca-approved-sitewide :is(.home-route-grid, .home-help-grid, .hub-topic-grid, .term-grid) {
  gap: clamp(0.75rem, 1.5vw, 1.1875rem);
}

/* Keep the four homepage starting-point cards on one desktop row. */
body.ca-approved-sitewide.ca-rebrand-lip-page .ca-rebrand-lip-content .home-rebrand .home-route-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  body.ca-approved-sitewide.ca-rebrand-lip-page .ca-rebrand-lip-content .home-rebrand .home-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  body.ca-approved-sitewide.ca-rebrand-lip-page .ca-rebrand-lip-content .home-rebrand .home-route-grid {
    grid-template-columns: 1fr;
  }
}

/* The existing six-concern hub uses either a direct list or an answer-copy
 * wrapper. Give its directory the available width, with a compact TOC above.
 * This exception does not narrow any other template or full-width band. */
body.ca-approved-sitewide .ca-rebrand-lip-content:has(#heading-concerns) .reading-layout {
  display: block;
}

body.ca-approved-sitewide .ca-rebrand-lip-content:has(#heading-concerns) .reading-layout > .reading-sidebar {
  position: static;
  width: auto;
  max-width: none;
  margin: 0 0 2rem;
}

body.ca-approved-sitewide .ca-rebrand-lip-content:has(#heading-concerns) .reading-layout > .reading-sidebar nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin: 0;
  padding: 0 0 1rem;
  border: 0;
  border-bottom: 1px solid var(--ca-approved-line);
}

body.ca-approved-sitewide .ca-rebrand-lip-content:has(#heading-concerns) .reading-layout > .reading-sidebar nav a {
  margin: 0;
  padding: 0.625rem 0;
  border: 0;
  min-height: 44px;
  font-size: 0.8125rem;
  white-space: normal;
}

body.ca-approved-sitewide .ca-rebrand-lip-content:has(#heading-concerns) .reading-layout > .answers {
  width: 100%;
  max-width: none;
  min-width: 0;
}

body.ca-approved-sitewide .ca-rebrand-lip-content:has(#heading-concerns) .reading-layout > .answers > :is(.answer:not(#concerns), .reading-link) {
  max-width: 760px;
  margin-inline: auto;
}

body.ca-approved-sitewide .ca-rebrand-lip-content #concerns.answer ul:has(> li:nth-child(6):last-child) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 19px;
  margin: 1.75rem 0;
  padding: 0;
}

body.ca-approved-sitewide .ca-rebrand-lip-content #concerns.answer ul:has(> li:nth-child(6):last-child) > li {
  min-width: 0;
  min-height: 140px;
  margin: 0;
  padding: 22px 28px 22px 22px;
  border: 1px solid var(--ca-approved-card-line);
  border-top: 4px solid var(--ca-approved-gold);
  border-radius: 5px;
  background-color: var(--ca-approved-paper);
  color: var(--ca-approved-ink);
  font-size: 15px;
  line-height: 1.7;
}

body.ca-approved-sitewide .ca-rebrand-lip-content #concerns.answer ul:has(> li:nth-child(6):last-child) > li::after {
  right: 10px;
}

body.ca-approved-sitewide :is(.home-route-card, .home-help-card, .service-card, .main-hub-card, .learn-card, .consultation-card, .consultation-option-card, .treatment-card, .term-card, .about-core-step, .post-summary) p {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

body.ca-approved-sitewide :is(
  .service-card, .main-hub-card, .approach-card, .core-method-card, .learn-card,
  .learn-cluster, .home-route-card, .home-help-card, .home-booking,
  .consultation-card, .consultation-option-card, .treatment-card, .term-card,
  .hub-topic, .ca-comparison-card, .post-summary, .about-core-step
) :is(h2, h3, h4, p, .service-card-title, .main-hub-card-title, .learn-card-title, .learn-read-more, .learn-cluster-label, .term-number) {
  color: var(--ca-approved-ink) !important;
}

body.ca-approved-sitewide :is(
  .service-card, .main-hub-card, .learn-card, .home-route-card, .home-help-card,
  .home-booking, .consultation-card, .consultation-option-card, .treatment-card,
  .term-card, .ca-comparison-card, .post-summary, .about-core-step
) :is(h2, h3, .main-hub-card-title, .learn-card-title, .service-card-title) {
  font-size: 1.4375rem !important;
  line-height: 1.3 !important;
  letter-spacing: -0.025em !important;
}

body.ca-approved-sitewide :is(.service-number, .approach-number, .core-method-letter, .learn-cluster-count) {
  color: var(--ca-approved-muted) !important;
  font-family: var(--ca-approved-sans) !important;
}

body.ca-approved-sitewide :is(.learn-card-visual .learn-category, .learn-card-featured .learn-category) {
  background-color: var(--ca-approved-paper) !important;
  color: var(--ca-approved-ink) !important;
}

/* Interactive cards: gold on pointer/touch contact and keyboard focus.
 * Do not gate on hover capability: touch browsers also need :active feedback.
 * Match both whole-card links and containers with a link inside. The hubs use
 * anchor cards, while Start here uses article cards with a stretched link.
 * Static comparison, contact and form panels are deliberately excluded. */
body.ca-approved-sitewide :is(
  :is(.service-card, .main-hub-card, .learn-card, .learn-cluster,
    .home-help-card, .term-card, .consultation-card, .treatment-card,
    .consultation-option-card, .ca-consultation-pathway-card,
    .ca-pathway-card):is(a[href], :has(a[href])),
  .ca-related-item > a, .article-series-link, .support-cards > a,
  .post-summary:has(a[href]), .hub-topic,
  .ca-rebrand-lip-content #concerns.answer ul:has(> li:nth-child(6):last-child) > li
):is(:hover, :focus-within, :active) {
  background-color: var(--ca-approved-gold) !important;
  color: var(--ca-approved-ink) !important;
  border-color: var(--ca-approved-gold) !important;
}

/* Exactly one starting-point highlight. The booking card is the idle default;
 * pointer/touch contact takes priority over retained keyboard focus. Native
 * links still activate on the first tap, without JavaScript interception. */
body.ca-approved-sitewide .home-route-grid > .home-route-card {
  background-color: var(--ca-approved-paper) !important;
}

body.ca-approved-sitewide .home-route-grid:not(:has(> .home-route-card:is(:hover, :focus-within, :active))) > .home-route-book,
body.ca-approved-sitewide .home-route-grid > .home-route-card:is(:hover, :active),
body.ca-approved-sitewide .home-route-grid:not(:has(> .home-route-card:is(:hover, :active))) > .home-route-card:focus-within {
  background-color: var(--ca-approved-gold) !important;
  color: var(--ca-approved-ink) !important;
  border-color: var(--ca-approved-gold) !important;
}

/* Keep every link/label readable on the gold fill, including legacy hovers. */
body.ca-approved-sitewide :is(
  .home-route-card, .home-help-card, .service-card, .main-hub-card,
  .learn-card, .learn-cluster, .term-card, .consultation-card, .treatment-card,
  .consultation-option-card, .ca-consultation-pathway-card, .ca-related-item > a,
  .article-series-link, .support-cards > a, .post-summary, .hub-topic,
  .ca-pathway-card, .ca-rebrand-lip-content #concerns.answer li
):is(:hover, :focus-within, :active) :is(a, span, p, h2, h3, h4, summary, strong, small, .ca-pathway-action),
body.ca-approved-sitewide .home-route-book :is(a, span, p, h2, h3, h4) {
  color: var(--ca-approved-ink) !important;
}

/* Full-width dark bands stay full width; light panels inside stay readable. */
body.ca-approved-sitewide :is(
  .booking-section, .home-facts, .hub-next-step, .terms-section, .support-rail,
  .ca-layout-clues, .cta-banner-copy, .ca-inline-consultation-cta__copy,
  .ca-consultation-card__copy, .ca-paid-safety
),
body.ca-approved-sitewide .treatment-planning-guide .appointment {
  background-color: var(--ca-approved-ink) !important;
  color: var(--ca-approved-paper) !important;
}

body.ca-approved-sitewide :is(
  .booking-section, .home-facts, .hub-next-step, .support-rail,
  .ca-layout-clues, .cta-banner-copy, .ca-inline-consultation-cta__copy,
  .ca-consultation-card__copy, .ca-paid-safety, .practitioner-content
) :is(h2, h3, h4, p, address, li, small, .eyebrow, .hub-eyebrow, .whatsapp-link, .text-link),
body.ca-approved-sitewide .terms-section > :is(h2, p),
body.ca-approved-sitewide .terms-section > .wrap > :is(h2, p) {
  color: var(--ca-approved-paper) !important;
}

body.ca-approved-sitewide .booking-section h2 em {
  color: var(--ca-approved-gold) !important;
}

body.ca-approved-sitewide :is(.cta-banner-trust, .ca-inline-consultation-cta__trust, .ca-consultation-card__trust) {
  background-color: var(--ca-approved-soft) !important;
  color: var(--ca-approved-ink);
}

body.ca-approved-sitewide .location-card {
  border-color: #71777f !important;
  border-radius: 5px;
  color: var(--ca-approved-paper) !important;
}

/* Buttons: ink on gold is ~9.8:1. No display or position declarations here,
 * so a suppressed urgent-page CTA, hidden menu or loading control stays so.
 * Privacy choice buttons are intentionally not included in the gold CTA set. */
body.ca-approved-sitewide :is(
  .btn, .button, .ca-button, .home-button, .hub-button,
  .ca-inline-consultation-cta__button, .ca-mobile-cta-bar__action
) {
  font-family: var(--ca-approved-sans) !important;
  font-weight: 700 !important;
  font-size: 0.8125rem;
  line-height: 1.5 !important;
  letter-spacing: 0.015em !important;
  text-transform: none !important;
  text-decoration: none !important;
  border-radius: 7px !important;
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
}

body.ca-approved-sitewide :is(
  .btn-primary, .btn-gold, .ca-btn-book, .ca-header-book, .button,
  .ca-button, .home-button-primary, .home-button-gold, .hub-button,
  .ca-inline-consultation-cta__button, .ca-mobile-cta-bar__action--book
):not(:is(.btn-ghost, .btn-outline, .button-outline, .button--secondary, .ca-button--secondary, .ca-cta-secondary)) {
  background-color: var(--ca-approved-gold) !important;
  border-color: var(--ca-approved-gold) !important;
  color: var(--ca-approved-ink) !important;
}

body.ca-approved-sitewide :is(
  .btn-ghost, .btn-outline, .button-outline, .button--secondary,
  .ca-button--secondary, .ca-cta-secondary, .home-button-outline
) {
  background-color: transparent !important;
  color: inherit !important;
  border-color: currentColor !important;
}

body.ca-approved-sitewide :is(.hero-actions, .hero-cta-group, .home-actions, .ca-paid-cta-row, .cta-banner-actions) :is(.btn, .button, .home-button),
body.ca-approved-sitewide :is(.booking-section, .home-booking, .hub-next-step) :is(.button, .home-button, .hub-button),
body.ca-approved-sitewide .ca-inline-consultation-cta__button {
  min-height: 52px;
  padding: 0.8125rem 1.4375rem;
}

body.ca-approved-sitewide :is(
  .btn-primary, .btn-gold, .ca-btn-book, .ca-header-book, .button,
  .ca-button, .home-button-primary, .home-button-gold, .hub-button,
  .ca-inline-consultation-cta__button, .ca-mobile-cta-bar__action--book
):not(:is(.button-outline, .button--secondary, .ca-button--secondary, .ca-cta-secondary)):hover {
  background-color: var(--ca-approved-gold-hover) !important;
  border-color: var(--ca-approved-gold-text) !important;
  color: var(--ca-approved-ink) !important;
}

body.ca-approved-sitewide :is(.button, .btn, .home-button, .hub-button, .ca-button, .ca-mobile-cta-bar__action) > :is(span, strong, small) {
  font-family: var(--ca-approved-sans) !important;
  color: inherit !important;
}

/* Preserve native table semantics, existing mobile labels and scroll wrappers. */
body.ca-approved-sitewide :is(.ca-content-table, .wp-block-table table, .home-official-details-table) {
  border-color: var(--ca-approved-line);
  border-radius: 5px;
  background-color: var(--ca-approved-paper);
}

body.ca-approved-sitewide :is(.ca-content-table, .wp-block-table table, .home-official-details-table) th {
  font-family: var(--ca-approved-sans) !important;
  background-color: var(--ca-approved-soft);
  color: var(--ca-approved-ink);
}

body.ca-approved-sitewide :is(.answer, .faq-item, .question) {
  border-color: var(--ca-approved-line);
}

body.ca-approved-sitewide :is(.faq-q, .question summary) {
  font-size: clamp(1.1875rem, 1.8vw, 1.4375rem);
  line-height: 1.4;
}

body.ca-approved-sitewide :is(.answer-copy, .prose-section, .clinical-refs, .references, .reading-copy) a:not(:is(.btn, .button, .ca-button, .hub-button, .home-button)) {
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

body.ca-approved-sitewide :is(.interior-article, .ca-rebrand-lip-content) a:not(:is(.btn, .button, .ca-button, .hub-button, .home-button)):hover {
  text-decoration-thickness: 2px;
}

/* Bright brand gold is a surface/accent, not small text on cream. */
body.ca-approved-sitewide .interior-article a:not(:is(.btn, .button, .ca-button, .hub-button, .home-button)):hover,
body.ca-approved-sitewide .faq-item:hover .faq-q,
body.ca-approved-sitewide :is(.faq-q:hover, .faq-q:focus-visible),
body.ca-approved-sitewide .mega-menu :is(.mega-col-title, .mega-col-heading-link, .mega-link-cta:hover, .mega-col li a:hover),
body.ca-approved-sitewide .nav-link .chev,
body.ca-approved-sitewide #navLinks.nav-links > li.has-mega > .nav-submenu-toggle {
  color: var(--ca-approved-gold-text) !important;
}

/* Form presentation without changing validation, appearance, state or sizing. */
body.ca-approved-sitewide :is(input[type='text'], input[type='email'], input[type='search'], input[type='tel'], input[type='url'], input[type='number'], textarea, select) {
  font-family: var(--ca-approved-sans) !important;
  color: var(--ca-approved-ink);
  background-color: var(--ca-approved-paper);
  border-color: #858b90;
  border-radius: 5px;
}

body.ca-approved-sitewide :is(input[type='checkbox'], input[type='radio']) {
  accent-color: var(--ca-approved-gold-text);
}

body.ca-approved-sitewide .ca-privacy-choices {
  border-color: var(--ca-approved-card-line);
  border-radius: 5px;
}

/* Spacing is restricted to known section bands, never every section or wrap. */
body.ca-approved-sitewide :is(.home-help, .home-questions, .home-decision, .appointment-section, .booking-section) {
  padding-block: var(--ca-approved-section-space);
}

body.ca-approved-sitewide :is(.hero-actions, .home-actions) {
  flex-wrap: wrap;
  row-gap: 1rem;
}

body.ca-approved-sitewide :is(.hero-copy, .hero-content, .home-hero-copy, .answer-copy, .home-help-card, .home-route-card, .hub-topic) {
  min-width: 0;
  overflow-wrap: break-word;
}

body.ca-approved-sitewide :is(.article-figure img, .hero-image-frame, .home-room img, .home-corey img, .intro-practitioner img, .about-clinic-map iframe) {
  border-radius: 5px;
}

/* Two-colour focus remains visible against white, cream, gold and ink. */
body.ca-approved-sitewide :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--ca-approved-ink) !important;
  outline-offset: 4px !important;
  box-shadow: 0 0 0 4px var(--ca-approved-paper) !important;
}

body.ca-approved-sitewide .search-field:focus {
  outline: 3px solid var(--ca-approved-ink);
  outline-offset: 3px;
}

@media (max-width: 1050px) {
  body.ca-approved-sitewide .ca-rebrand-lip-content #concerns.answer ul:has(> li:nth-child(6):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  body.ca-approved-sitewide {
    font-size: 16px;
  }

  body.ca-approved-sitewide :is(.hero-actions, .home-actions) :is(.button, .home-button) {
    max-width: 100%;
  }

  body.ca-approved-sitewide :is(input[type='text'], input[type='email'], input[type='search'], input[type='tel'], input[type='url'], input[type='number'], textarea, select) {
    font-size: 1rem;
  }

  body.ca-approved-sitewide :is(.home-route-card, .home-help-card, .term-card, .hub-topic) {
    padding: 1.375rem !important;
  }

  body.ca-approved-sitewide :is(.home-route-grid, .home-help-grid, .hub-topic-grid, .term-grid) {
    gap: 0.75rem;
  }

  body.ca-approved-sitewide .ca-rebrand-lip-content #concerns.answer ul:has(> li:nth-child(6):last-child) {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  body.ca-approved-sitewide .ca-rebrand-lip-content #concerns.answer ul:has(> li:nth-child(6):last-child) > li {
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ca-approved-sitewide,
  body.ca-approved-sitewide *,
  body.ca-approved-sitewide *::before,
  body.ca-approved-sitewide *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@media (forced-colors: active) {
  body.ca-approved-sitewide :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
    outline-color: Highlight !important;
    box-shadow: none !important;
  }
}

@media print {
  body.ca-approved-sitewide {
    --ca-approved-cream: #fff;
    --ca-approved-soft: #fff;
    font-size: 11pt;
  }

  body.ca-approved-sitewide :is(.hero, .interior-hero, .ca-editorial-hero, .ca-paid-hero, .about-visit-hero) h1 {
    font-size: 24pt !important;
  }
}
