/*
 * Theme Integration Contract v1 consumer bridge.
 * Compatible themes may expose the public --convertflow-theme-* vocabulary.
 * ConvertFlow maps it only inside surfaces that ConvertFlow owns. Fallbacks
 * remain in each owning surface stylesheet so P5.224 behavior is preserved.
 */
:where(
    .choiceguide-homepage-journey,
    .choiceguide-content-navigation-widget,
    .choiceguide-product-journey,
    .choiceguide-related,
    .choiceguide-product-fit-summary,
    .choiceguide-product-fit-journey,
    .choiceguide-description-intro,
    .choiceguide-product-information-media,
    .choiceguide-product-specifications,
    .choiceguide-woo-tab-section,
    .choiceguide-product-journey-action,
    .choiceguide-media-lightbox,
    .choiceguide-filter
) {
    --choiceguide-theme-font-heading: var(--convertflow-theme-font-heading);
    --choiceguide-theme-font-body: var(--convertflow-theme-font-body);
    --choiceguide-theme-heading-weight: var(--convertflow-theme-heading-weight);
    --choiceguide-theme-heading-line-height: var(--convertflow-theme-heading-line-height);
    --choiceguide-theme-body-line-height: var(--convertflow-theme-body-line-height);

    --choiceguide-theme-color-primary: var(--convertflow-theme-color-primary);
    --choiceguide-theme-color-accent: var(--convertflow-theme-color-accent);
    --choiceguide-theme-color-text: var(--convertflow-theme-color-text);
    --choiceguide-theme-color-muted: var(--convertflow-theme-color-muted);
    --choiceguide-theme-color-surface: var(--convertflow-theme-color-surface);
    --choiceguide-theme-color-surface-soft: var(--convertflow-theme-color-surface-soft);
    --choiceguide-theme-color-surface-inverse: var(--convertflow-theme-color-surface-inverse);
    --choiceguide-theme-color-on-inverse: var(--convertflow-theme-color-on-inverse);
    --choiceguide-theme-color-border: var(--convertflow-theme-color-border);

    --choiceguide-theme-radius-card: var(--convertflow-theme-radius-card);
    --choiceguide-theme-radius-control: var(--convertflow-theme-radius-control);
    --choiceguide-theme-radius-button: var(--convertflow-theme-radius-button);
    --choiceguide-theme-shadow-card: var(--convertflow-theme-shadow-card);
    --choiceguide-theme-shadow-float: var(--convertflow-theme-shadow-float);

    --choiceguide-theme-space-xs: var(--convertflow-theme-space-xs);
    --choiceguide-theme-space-sm: var(--convertflow-theme-space-sm);
    --choiceguide-theme-space-md: var(--convertflow-theme-space-md);
    --choiceguide-theme-space-lg: var(--convertflow-theme-space-lg);
    --choiceguide-theme-space-xl: var(--convertflow-theme-space-xl);
    --choiceguide-theme-section-space: var(--convertflow-theme-section-space);

    --choiceguide-theme-button-padding-x: var(--convertflow-theme-button-padding-x);
    --choiceguide-theme-button-weight: var(--convertflow-theme-button-weight);

    --choiceguide-theme-container-max: var(--convertflow-theme-container-max);
    --choiceguide-theme-container-gutter: var(--convertflow-theme-container-gutter);
    --choiceguide-theme-container-gutter-mobile: var(--convertflow-theme-container-gutter-mobile);

    --choiceguide-theme-motion-fast: var(--convertflow-theme-motion-fast);
    --choiceguide-theme-motion-base: var(--convertflow-theme-motion-base);
    --choiceguide-theme-focus-ring: var(--convertflow-theme-focus-ring);
}
