/* Shared semantic colours. Inner blocks inherit; images retain their original colours. */
[id^="shopify-section-"]:has(> template[data-section-scheme]) {
  background: var(--surface-bg);
  color: var(--surface-fg);
}
[id^="shopify-section-"]:has(> template[data-section-scheme]),
[id^="shopify-section-"]:has(> template[data-section-scheme]) :where(*:not(.product-badges__badge)) {
  --color-background: var(--surface-bg);
  --color-background-rgb: var(--surface-bg-rgb);
  --color-foreground: var(--surface-fg);
  --color-foreground-rgb: var(--surface-fg-rgb);
  --color: var(--surface-fg);
  --color-rgb: var(--surface-fg-rgb);
  --color-foreground-muted: var(--surface-muted);
  --color-foreground-subdued: var(--surface-muted);
  --color-border: var(--surface-border);
  --color-border-rgb: var(--surface-fg-rgb);
  --color-input-background: var(--surface-card);
  --color-input-text: var(--surface-fg);
  --color-input-text-rgb: var(--surface-fg-rgb);
  --color-input-border: var(--surface-border);
  --brand-grey: var(--surface-muted);
  --brand-grey-on-dark: var(--surface-muted);
  --brand-blue: var(--surface-accent);
  --pht-text-color: var(--surface-fg);
  --cp-title-border-color: var(--surface-border);
  --cp-row-border-color: var(--surface-border);
  --cp-row-text-color: var(--surface-fg);
  --color-variant-background: var(--surface-card);
  --color-variant-text: var(--surface-fg);
  --color-variant-text-rgb: var(--surface-fg-rgb);
  --color-variant-border: var(--surface-border);
  --color-variant-hover-background: var(--surface-card);
  --color-variant-hover-text: var(--surface-fg);
  --color-variant-hover-border: var(--surface-indicator);
  --color-selected-variant-background: var(--surface-card);
  --color-selected-variant-text: var(--surface-fg);
  --color-selected-variant-text-rgb: var(--surface-fg-rgb);
  --color-selected-variant-border: var(--surface-indicator);
  --color-selected-variant-hover-background: var(--surface-card);
  --color-selected-variant-hover-text: var(--surface-fg);
  --color-selected-variant-hover-border: var(--surface-indicator);
}
[id^="shopify-section-"]:has(> template[data-section-scheme]) {
  :is(.section-background, .section, .product-information, .site-section, .cc, .cq, .pc-video-cards, .pc-custom-image-carousel, .css-sl, .cj, .vs, .cp, .header, .header__row, .footer) {
    background-color: var(--surface-bg) !important;
    color: var(--surface-fg);
  }
  :is(.text-block, .rte, .cpt__panel, .cc__heading, .cc__title, .cc__caption, .cq__text, .cq__attribution, .pc-video-cards__heading, .pc-video-cards__title, .pc-video-cards__desc, .css-sl__heading, .css-sl__title, .css-sl__subtitle, .css-sl__sub, .cj__heading, .cj__title, .cj__excerpt, .cj__more, .vs__title, .vs__description, .cp__title) {
    color: var(--surface-fg);
  }
  :is(.rte, .cpt__panel) :is(p, li, span, strong, em, h1, h2, h3, h4, h5, h6) { color: inherit; }
  :is(.rte, .cpt__panel) a { color: var(--surface-fg); text-decoration: underline; }
  :is(.pc-video-cards__card, .cj__card, .variant-option__button-label--card) { background: var(--surface-card); color: var(--surface-fg); border-color: var(--surface-border); }
  .cc__media { background: var(--surface-card); }
  .cc--media-transparent .cc__media { background: transparent; }
  .cc--blend .cc__img { mix-blend-mode: multiply; }
  .cq__dot { background: var(--surface-muted); }
  .cq__dot[aria-selected="true"] { background: var(--surface-fg); }
  .cpt__tab[aria-selected="true"] { color: var(--surface-fg); border-color: var(--surface-indicator); }
  :is(button, a, input, select):focus-visible { outline: 2px solid var(--surface-indicator); outline-offset: 3px; }
  .package-picker__card:has(input:checked) { border-color: var(--surface-indicator); box-shadow: inset 0 0 0 1px var(--surface-indicator); }
  .package-picker__card:has(input:focus-visible) { outline-color: var(--surface-indicator); }
  #header-component { --color-background-top-row: var(--surface-bg); --color-background-bottom-row: var(--surface-bg); --cart-bubble-background: var(--surface-fg); --cart-bubble-text: var(--surface-bg); }
}
