/* Original shared FCF preview styling. Load after the vendor styles and fcf-tokens.css.
   Apply semantic attributes to VERIFIED theme elements; see adapters/*.json.
   Vendor-specific specificity/inline-style conflicts still require mapped overrides. */

html[data-fcf-style="branded"] body {
  background: var(--fcf-color-surface);
  color: var(--fcf-color-text);
  font-family: var(--fcf-font-body);
  font-size: var(--fcf-size-body);
  font-weight: var(--fcf-weight-body);
  line-height: var(--fcf-line-body);
}

html[data-fcf-style="branded"] [data-fcf-component="header"] {
  background-color: var(--fcf-color-surface);
  border-top: var(--fcf-width-header-accent) solid var(--fcf-color-brand);
  box-shadow: var(--fcf-shadow-header);
}

html[data-fcf-style="branded"] [data-fcf-component="navigation"] {
  color: var(--fcf-color-brand);
  font-family: var(--fcf-font-body);
  font-size: var(--fcf-size-navigation);
  font-weight: var(--fcf-weight-navigation);
  letter-spacing: var(--fcf-spacing-navigation);
  text-transform: uppercase;
}

html[data-fcf-style="branded"] [data-fcf-component="navigation"] a {
  color: var(--fcf-color-brand);
  min-height: var(--fcf-size-control-min);
}

html[data-fcf-style="branded"] [data-fcf-component="navigation"] a:hover,
html[data-fcf-style="branded"] [data-fcf-component="navigation"] a[aria-current="page"] {
  color: var(--fcf-color-brand-hover);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

html[data-fcf-style="branded"] [data-fcf-component="logo"] {
  object-fit: contain;
  object-position: center;
  aspect-ratio: auto;
}

html[data-fcf-style="branded"] [data-fcf-component="content"] p {
  color: var(--fcf-color-copy);
  font-family: var(--fcf-font-body);
  font-size: var(--fcf-size-body);
  line-height: var(--fcf-line-body);
}

html[data-fcf-style="branded"] [data-fcf-component="content"] :is(h1,h2,h3,h4,h5,h6),
html[data-fcf-style="branded"] [data-fcf-component="hero-heading"],
html[data-fcf-style="branded"] [data-fcf-component="page-title"] {
  color: var(--fcf-color-heading);
  font-family: var(--fcf-font-heading);
  font-weight: var(--fcf-weight-heading);
  line-height: var(--fcf-line-heading);
}

html[data-fcf-style="branded"] [data-fcf-component="page-title"] {
  color: var(--fcf-color-brand);
  font-size: var(--fcf-size-title);
}

html[data-fcf-style="branded"] [data-fcf-component="content"] h2 {
  font-size: var(--fcf-size-section-title);
}

html[data-fcf-style="branded"] [data-fcf-component="content"] h3 {
  font-size: var(--fcf-size-subheading);
}

html[data-fcf-style="branded"] [data-fcf-component="link"] {
  color: var(--fcf-color-brand);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

html[data-fcf-style="branded"] [data-fcf-component="link"]:hover {
  color: var(--fcf-color-brand-hover);
}

html[data-fcf-style="branded"] :is([data-fcf-component="button-primary"],[data-fcf-component="button-secondary"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: var(--fcf-size-control-min);
  min-width: var(--fcf-size-control-min);
  padding: 0.65em 1.25em;
  border: 1px solid var(--fcf-color-brand);
  border-radius: var(--fcf-radius-control);
  font-family: var(--fcf-font-body);
  font-weight: var(--fcf-weight-navigation);
  line-height: 1.4;
  text-decoration: none;
}

html[data-fcf-style="branded"] [data-fcf-component="button-primary"] {
  color: var(--fcf-color-inverse);
  background-color: var(--fcf-color-brand);
}

html[data-fcf-style="branded"] [data-fcf-component="button-secondary"] {
  color: var(--fcf-color-brand);
  background-color: var(--fcf-color-surface);
}

html[data-fcf-style="branded"] [data-fcf-component="button-primary"]:hover {
  background-color: var(--fcf-color-brand-hover);
}

html[data-fcf-style="branded"] [data-fcf-component="button-secondary"]:hover {
  background-color: var(--fcf-color-brand-soft);
}

html[data-fcf-style="branded"] [data-fcf-component="card"] {
  color: var(--fcf-color-text);
  background-color: var(--fcf-color-surface);
  border-color: var(--fcf-color-border);
  /* Keep each theme's column widths, image masks, transforms and spacing. */
}

html[data-fcf-style="branded"] [data-fcf-component="field"] {
  box-sizing: border-box;
  max-width: 100%;
  min-height: var(--fcf-size-control-min);
  border: 1px solid var(--fcf-color-border);
  border-radius: var(--fcf-radius-control);
  background-color: var(--fcf-color-surface);
  color: var(--fcf-color-copy);
  font-family: var(--fcf-font-body);
  font-size: var(--fcf-size-body);
}

html[data-fcf-style="branded"] [data-fcf-component="field"][aria-invalid="true"] {
  border-color: var(--fcf-color-error);
}

html[data-fcf-style="branded"] [data-fcf-component="footer"] {
  color: var(--fcf-color-inverse);
  background-color: var(--fcf-color-footer);
}

html[data-fcf-style="branded"] [data-fcf-component="footer-bar"] {
  color: var(--fcf-color-inverse);
  background-color: var(--fcf-color-footer-bar);
}

html[data-fcf-style="branded"] :is([data-fcf-component="footer"],[data-fcf-component="footer-bar"]) :is(a,p,h2,h3,h4,h5,h6) {
  color: var(--fcf-color-inverse);
}

html[data-fcf-style="branded"] [data-fcf-tone="inverse"] :is([data-fcf-component="hero-heading"],[data-fcf-component="page-title"],[data-fcf-component="link"]) {
  color: var(--fcf-color-inverse);
}

html[data-fcf-style="branded"] :is(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: var(--fcf-width-focus) solid var(--fcf-color-focus);
  outline-offset: var(--fcf-space-focus-offset);
}

html[data-fcf-style="branded"] :is([data-fcf-component="footer"],[data-fcf-component="footer-bar"],[data-fcf-tone="inverse"]) :is(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline-color: var(--fcf-color-inverse);
}

/* No global font rules on icons, svg, pseudo-elements, or arbitrary spans.
   No blanket radius reset, fixed header height, viewport filter, image tint,
   forced grid geometry, or remote font/image imports. */
