/* G2: neutral defaults, brand color for interaction. Semantic states stay local. */
:root {
  --dw-color-brand: #171a19;
  --dw-color-interactive: #397b72;
  --dw-color-interactive-strong: #397b72;
}

body#product.ce-theme {
  --dw-product-accent: var(--dw-color-ink);
  --dw-academy-accent: var(--dw-color-ink);
}

/* Static decoration is not an interaction or a business status. */
body :is(
  .dw-account-shortcuts > a > i:first-child,
  .dw-account-identity__section-heading > span,
  .dw-address-card__icon,
  .dw-account-panel__icon,
  .dw-account-academy-stats strong,
  .dw-account-notification__icon,
  .dw-notification-card__icon,
  .dw-notification-center__count,
  .dw-notification-center__empty > span,
  .dw-account-addresses__empty-icon,
  .dw-account-vouchers__empty-icon,
  .dw-account-dashboard__eyebrow,
  .dw-account-dashboard__empty > span,
  .dw-first-access__eyebrow,
  .dw-catalog-intro__eyebrow,
  .dw-search-heading__eyebrow,
  .dw-not-found__eyebrow,
  .dw-shop-eyebrow,
  .dw-shop-collection__count,
  .dw-consent-eyebrow,
  .dw-consent-required,
  .dw-cms-timeline__time,
  .dw-academy-eyebrow,
  .dw-faq-question-icon,
  .dw-faq-empty > span,
  .dw-course-file__icon,
  .dw-portal-eyebrow,
  .dw-portal-shortcuts .fa:first-child,
  .dw-portal-course__placeholder,
  .dwp-eyebrow,
  .dwp-section-heading__icon,
  .dwp-wizard__heading > span,
  .dwp-empty > i,
  .dwp-public-empty > i,
  .dwp-shaper-card__location i,
  .dww-requirements i,
  .dw-mobile-menu-heading .elementor-heading-title
) {
  color: var(--dw-color-ink) !important;
}

body.page-category :is(
  .dw-projects-showcase__eyebrow,
  .dw-project-configurator__price,
  .dw-academy-category-showcase__eyebrow,
  .dw-academy-category-showcase__listing-heading > p,
  #js-product-list .product-price
) {
  color: var(--dw-color-ink) !important;
}

body :is(
  .dw-account-showcase-card__progress > span i,
  .dw-account-course__progress > span i,
  .dw-student-course__progress-track span,
  .dw-academy-hub__icon,
  .dw-academy-category-showcase__highlights li::before,
  .dw-catalog-family-nav__icon
) {
  background: var(--dw-color-ink) !important;
}

body :is(.dw-cms-note, .dw-project-download-license) {
  border-left-color: var(--dw-color-ink);
}

/* Links and icon actions on light surfaces. */
body :is(
  .dw-cms__content a,
  .dw-consent-summary > a,
  .dw-form-privacy-note a,
  .dw-account-dashboard__welcome-link,
  .dw-account-shortcuts > a,
  .dw-account-showcase-card h3 a,
  .dw-account-nav > a:not(.is-active),
  .dwp-wizard__save,
  .dw-voucher-card__code button,
  .dw-notification-card > form button,
  .dw-portal-link,
  .dw-portal-course__action,
  .dwp-lead-list footer a,
  .dwp-map-popup a,
  .dwp-profile-links a,
  .dww-page a:not(.btn),
  .dww-attendance-history summary,
  .dw-course-file__action
) {
  color: var(--dw-color-ink) !important;
}

body :is(
  .dw-cms__content a,
  .dw-consent-summary > a,
  .dw-form-privacy-note a,
  .dw-account-dashboard__welcome-link,
  .dw-account-shortcuts > a,
  .dw-account-showcase-card h3 a,
  .dw-account-nav > a:not(.is-active),
  .dwp-wizard__save,
  .dw-voucher-card__code button,
  .dw-notification-card > form button,
  .dw-portal-link,
  .dw-portal-course__action,
  .dwp-lead-list footer a,
  .dwp-map-popup a,
  .dwp-profile-links a,
  .dww-page a:not(.btn),
  .dww-attendance-history summary,
  .dw-course-file__action
):is(:hover, :focus-visible) {
  color: var(--dw-color-interactive) !important;
}

body .dw-account-shortcuts > a:is(:hover, :focus-visible) > i {
  color: var(--dw-color-interactive) !important;
}

/* Filled primary actions share a palette, not layout or sizing. */
body :is(
  .btn-primary,
  .dw-button--primary,
  .elementor-button:not(.dw-home-hero__cta),
  .dw-student-course__primary,
  .dw-lesson-completion__certificate,
  .dw-portal-button,
  .dw-academy-button,
  .dw-project-configurator__buy,
  .dw-projects-showcase__action,
  .btn-product-list,
  .dw-search-empty__form button,
  .dw-not-found__search button,
  .dwp-button:not(.dwp-button--secondary, .dwp-button--light),
  .dw-academy-category-showcase__action,
  .dw-academy-card-action,
  .dw-order-card__details,
  .dw-first-access__form button,
  .dw-auth-shell .elementor-field-type-submit button
) {
  background-color: var(--dw-color-ink) !important;
  border-color: var(--dw-color-ink) !important;
  color: #fff !important;
}

body :is(
  .btn-primary,
  .dw-button--primary,
  .elementor-button:not(.dw-home-hero__cta),
  .dw-student-course__primary,
  .dw-lesson-completion__certificate,
  .dw-portal-button,
  .dw-academy-button,
  .dw-project-configurator__buy,
  .dw-projects-showcase__action,
  .btn-product-list,
  .dw-search-empty__form button,
  .dw-not-found__search button,
  .dwp-button:not(.dwp-button--secondary, .dwp-button--light),
  .dw-academy-category-showcase__action,
  .dw-academy-card-action,
  .dw-order-card__details,
  .dw-first-access__form button,
  .dw-auth-shell .elementor-field-type-submit button
):not(:disabled, .disabled, [aria-disabled="true"]):is(:hover, :focus-visible) {
  background-color: var(--dw-color-interactive) !important;
  border-color: var(--dw-color-interactive) !important;
  color: #fff !important;
}

body :is(.btn-primary, .dw-lesson-completion__certificate, .elementor-button) :is(i, .elementor-button-text, .elementor-button-icon) {
  color: inherit !important;
}

body :is(.dw-student-course__certificate, .dw-button--secondary, .dwp-button--secondary) {
  background: #fff !important;
  border-color: var(--dw-color-ink) !important;
  color: var(--dw-color-ink) !important;
}

body :is(.dw-student-course__certificate, .dw-button--secondary, .dwp-button--secondary):not(:disabled, .disabled, [aria-disabled="true"]):is(:hover, :focus-visible) {
  border-color: var(--dw-color-interactive) !important;
  color: var(--dw-color-interactive) !important;
}

body .dw-student-course__certificate i {
  color: inherit !important;
}

body :is(.dw-button--light, .dwp-button--light, .dw-home-hero__cta):is(:hover, :focus-visible) {
  background: var(--dw-color-interactive) !important;
  border-color: var(--dw-color-interactive) !important;
  color: #fff !important;
}

body .dw-home-hero__cta:is(:hover, :focus-visible) :is(.elementor-button-text, .dw-home-hero__cta-icon) {
  color: #fff !important;
}

/* CE menus and the native header keep the geometry delivered in G1. */
body #header .dw-header-main :is(a, [role="button"]):is(:hover, :focus-visible),
body #header .dw-header-main a:is(:hover, :focus-visible) :is(i, .dw-header-cart__icon),
body #header .dw-mobile-menu-heading:is(:hover, :focus-visible, [aria-expanded="true"]) .elementor-heading-title {
  color: var(--dw-color-interactive) !important;
}

body #header .dw-header-main a:is(:hover, :focus-visible) .dw-header-cart__icon::before {
  color: inherit;
}

body #header .elementor-sub-item:is(:hover, :focus-visible, .elementor-item-active),
body .dw-account-nav > a.is-active,
body .dw-catalog-view-switcher__button.is-active,
body .dw-project-view-switcher__button.is-active,
body .dw-course-filter.is-active,
body .dw-faq-filter.is-active {
  background-color: var(--dw-color-interactive) !important;
  border-color: var(--dw-color-interactive) !important;
  color: #fff !important;
}

body .dw-account-nav > a i {
  color: inherit !important;
}

body :is(.dw-account-nav > a:not(.is-active), .dw-catalog-family-nav__item):is(:hover, :focus-visible) {
  color: var(--dw-color-interactive) !important;
}

body :is(.dw-project-configurator__tablist, .dw-product-tabs-nav) button[aria-selected="true"] {
  border-bottom-color: var(--dw-color-interactive) !important;
  color: var(--dw-color-interactive) !important;
}

body :is(.dw-course-filter, .dw-faq-filter):not(.is-active):is(:hover, :focus-visible) {
  border-color: var(--dw-color-interactive) !important;
  color: var(--dw-color-interactive) !important;
}

body :is(.dw-academy-hub, .dw-academy-text-link, .dwp-wizard__save):is(:hover, :focus-visible) {
  color: var(--dw-color-interactive) !important;
}

body #footer :is(a, button):is(:hover, :focus-visible) {
  color: #9bd1c7 !important;
}

body :is(.dw-account-showcase__bar, .dwp-progress-band) a:is(:hover, :focus-visible) {
  color: #9bd1c7 !important;
}

/* Keyboard focus remains visible, including on touch devices. */
body :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline-color: var(--dw-color-interactive) !important;
}

body .dw-shop-hero .dw-shop-eyebrow {
  color: #fff !important;
}

body :is(.dw-contact__eyebrow, .dw-cms-hero__eyebrow) {
  color: #fff !important;
}

body :is(.dw-button, .btn-primary, .elementor-button, .dwp-button):is(:disabled, .disabled, [aria-disabled="true"]) {
  cursor: not-allowed;
  opacity: 0.48;
}
