/* Shared notice colors for classic WooCommerce, blocks, and the store banner. */
html body.tc-theme-frontend :is(
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error,
  .wc-block-components-notice-banner,
  .woocommerce-store-notice,
  p.demo_store
) {
  background: #d1ff0a !important;
  border-color: #d1ff0a !important;
  color: #000 !important;
}

/* Classic notices use an icon font, rather than an SVG. */
html body.tc-theme-frontend :is(
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error,
  .woocommerce-store-notice,
  p.demo_store
)::before {
  color: #000 !important;
  opacity: 1 !important;
}

/* Keep text, actions, and dismiss controls readable against the lime surface. */
html body.tc-theme-frontend :is(
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error,
  .wc-block-components-notice-banner,
  .woocommerce-store-notice,
  p.demo_store
) :is(a, p, li, span, strong, .wc-block-components-button) {
  color: #000 !important;
}

html body.tc-theme-frontend :is(
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error,
  .wc-block-components-notice-banner,
  .woocommerce-store-notice,
  p.demo_store
) :is(.button, .wp-element-button, .wc-block-components-button) {
  background: transparent !important;
  border-color: #000 !important;
  filter: none !important;
  opacity: 1 !important;
}

/* Block notices normally give white icons colored circular backgrounds. */
html body.tc-theme-frontend .wc-block-components-notice-banner > svg {
  background: transparent !important;
  opacity: 1 !important;
}

html body.tc-theme-frontend :is(
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error,
  .wc-block-components-notice-banner,
  .woocommerce-store-notice,
  p.demo_store
) svg {
  color: #000 !important;
}

/* Preserve fill="none" so outlined icons and their cutouts remain intact. */
html body.tc-theme-frontend :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner, .woocommerce-store-notice, p.demo_store) :is(
  svg:not([fill="none"]),
  svg [fill]:not([fill="none"])
) {
  fill: #000 !important;
}

html body.tc-theme-frontend :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner, .woocommerce-store-notice, p.demo_store) :is(
  svg[stroke]:not([stroke="none"]),
  svg [stroke]:not([stroke="none"])
) {
  stroke: #000 !important;
}
