/* Global interaction styles from Figma Core (83259:34988).
   Web sizes only. App sizes are omitted.
   Dest token rules: semantic tokens only, no raw px or hex, no primitive colors.
   --waw-color-focus-ring is #9DC9AD, so the Figma dashed ring uses brand primary.
   --waw-tokens-pills-pill-light-hover does not match the Figma chip hover. */

/* ---------- Start Buttons Global Style */

.waw-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--waw-spacing-sizing-spacing-1-4px);
  border-style: solid;
  border-width: var(--waw-spacing-sizing-sizing-border-1-1px);
  border-color: transparent;
  border-radius: var(--waw-radius-button);
  font-family: var(--waw-typography-family-brand);
  font-weight: var(--waw-typography-weight-medium);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.waw-button_large {
  height: var(--waw-spacing-sizing-sizing-52px);
  padding: var(--waw-spacing-sizing-spacing-14px) var(--waw-spacing-sizing-spacing-5-24px);
  font-size: var(--waw-typography-size-300);
  line-height: var(--waw-typography-line-height-300);
}

.waw-button_standard {
  height: var(--waw-spacing-sizing-sizing-44px);
  padding: var(--waw-spacing-sizing-spacing-10px) var(--waw-spacing-sizing-spacing-5-24px);
  font-size: var(--waw-typography-size-300);
  line-height: var(--waw-typography-line-height-300);
}

.waw-button_small {
  height: var(--waw-spacing-sizing-sizing-36px);
  padding: var(--waw-spacing-sizing-spacing-2-8px) var(--waw-spacing-sizing-spacing-3-12px);
  font-size: var(--waw-typography-size-200);
  line-height: var(--waw-typography-line-height-200);
}

.waw-button:focus-visible {
  outline: var(--waw-spacing-sizing-sizing-border-2-2px) dashed var(--waw-color-brand-primary);
  outline-offset: var(--waw-spacing-sizing-sizing-border-1-1px);
}

.waw-button_primary {
  background-color: var(--waw-color-brand-primary);
  color: var(--waw-color-text-inverse);
}

.waw-button_primary:hover,
.waw-button_primary:active {
  background-color: var(--waw-color-brand-primary-hover);
  border-color: transparent;
  color: var(--waw-color-text-inverse);
}

.waw-button_primary:disabled,
.waw-button_primary[disabled] {
  background-color: var(--waw-tokens-buttons-button-disabled);
  border-color: transparent;
  color: var(--waw-color-text-subtle);
}

.waw-button_secondary {
  background-color: var(--waw-color-surface-base);
  border-color: var(--waw-color-brand-primary);
  color: var(--waw-color-link);
}

.waw-button_secondary:hover,
.waw-button_secondary:active {
  background-color: var(--waw-tokens-buttons-button-secondary-hover);
  border-color: var(--waw-color-brand-primary);
  color: var(--waw-color-link);
}

.waw-button_secondary:disabled,
.waw-button_secondary[disabled] {
  background-color: var(--waw-color-surface-base);
  border-color: var(--waw-tokens-border-border-disabled);
  color: var(--waw-color-border-divider);
}

.waw-button_tertiary {
  height: auto;
  padding: 0;
  border-color: transparent;
  background-color: transparent;
  border-radius: var(--waw-radius-button);
  font-size: var(--waw-typography-size-200);
  line-height: var(--waw-typography-line-height-200);
  color: var(--waw-color-link);
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
}

.waw-button_tertiary:hover,
.waw-button_tertiary:active {
  background-color: transparent;
  border-color: transparent;
  color: var(--waw-tokens-buttons-button-tertiary-hover);
  text-decoration: underline;
}

a.waw-button.waw-button_tertiary:link,
a.waw-button.waw-button_tertiary:visited {
  color: var(--waw-color-link);
  text-decoration: underline;
}

a.waw-button.waw-button_tertiary:hover,
a.waw-button.waw-button_tertiary:active {
  color: var(--waw-tokens-buttons-button-tertiary-hover);
  text-decoration: underline;
}

.waw-button_cart {
  background-color: var(--waw-tokens-buttons-button-cart);
  border-color: var(--waw-tokens-buttons-button-cart-border);
  color: var(--waw-color-link);
}

.waw-button_cart:hover,
.waw-button_cart:active {
  background-color: var(--waw-tokens-buttons-button-cart-hover);
  border-color: var(--waw-tokens-buttons-button-cart-border);
  color: var(--waw-color-link);
}

.waw-button_primary.waw-button_destructive {
  background-color: var(--waw-tokens-text-text-error);
  border-color: transparent;
  color: var(--waw-color-text-inverse);
}

.waw-button_primary.waw-button_destructive:hover,
.waw-button_primary.waw-button_destructive:active {
  background-color: var(--waw-tokens-text-text-error-strong);
  border-color: transparent;
  color: var(--waw-color-text-inverse);
}

.waw-button_secondary.waw-button_destructive {
  background-color: var(--waw-color-surface-base);
  border-color: var(--waw-tokens-border-border-error);
  color: var(--waw-tokens-text-text-error);
}

.waw-button_secondary.waw-button_destructive:hover,
.waw-button_secondary.waw-button_destructive:active {
  background-color: var(--waw-tokens-surface-surface-error-light);
  border-color: var(--waw-tokens-border-border-error);
  color: var(--waw-tokens-text-text-error-strong);
}

.waw-button_tertiary.waw-button_destructive {
  color: var(--waw-tokens-text-text-error);
}

.waw-button_tertiary.waw-button_destructive:hover,
.waw-button_tertiary.waw-button_destructive:active {
  background-color: transparent;
  color: var(--waw-tokens-text-text-error-strong);
  text-decoration: underline;
}

/* ---------- End Buttons Global Style */

/* ---------- Start Icon Buttons Global Style */

.waw-button_icon {
  width: var(--waw-spacing-sizing-sizing-44px);
  height: var(--waw-spacing-sizing-sizing-44px);
  padding: var(--waw-spacing-sizing-spacing-2-8px);
  gap: var(--waw-spacing-sizing-spacing-1-4px);
}

.waw-button_icon.waw-button_large {
  width: var(--waw-spacing-sizing-sizing-52px);
  height: var(--waw-spacing-sizing-sizing-52px);
  padding: 0;
}

.waw-button_icon.waw-button_small {
  width: var(--waw-spacing-sizing-sizing-9-32px);
  height: var(--waw-spacing-sizing-sizing-9-32px);
  padding: 0;
}

.waw-button_icon.waw-button_primary {
  background-color: var(--waw-color-brand-primary);
  border-color: transparent;
  color: var(--waw-color-text-inverse);
}

.waw-button_icon.waw-button_primary:hover,
.waw-button_icon.waw-button_primary:active {
  background-color: var(--waw-color-brand-primary-hover);
  color: var(--waw-color-text-inverse);
}

.waw-button_icon.waw-button_secondary {
  background-color: var(--waw-color-surface-base);
  border-color: var(--waw-color-brand-primary);
  color: var(--waw-color-brand-primary);
}

.waw-button_icon.waw-button_secondary:hover,
.waw-button_icon.waw-button_secondary:active {
  background-color: var(--waw-tokens-buttons-button-secondary-hover);
  border-color: var(--waw-color-brand-primary);
  color: var(--waw-color-brand-primary);
}

.waw-button_icon.waw-button_primary:disabled,
.waw-button_icon.waw-button_primary[disabled] {
  background-color: var(--waw-tokens-buttons-button-disabled);
  border-color: transparent;
  color: var(--waw-color-text-subtle);
}

.waw-button_icon.waw-button_secondary:disabled,
.waw-button_icon.waw-button_secondary[disabled] {
  background-color: var(--waw-color-surface-base);
  border-color: var(--waw-tokens-border-border-disabled);
  color: var(--waw-color-border-divider);
}

/* ---------- End Icon Buttons Global Style */

/* ---------- Start Links Global Style */

/* :link/:visited outrank the Experience Cloud theme's a:link, which strips the underline. */
.waw-breadcrumb-link,
.waw-breadcrumb-link:link,
.waw-breadcrumb-link:visited,
.waw-breadcrumb-link:hover,
.waw-breadcrumb-link:focus,
.waw-breadcrumb-link:active {
  font-family: var(--waw-typography-family-body);
  font-size: var(--waw-typography-font-scale-neg-1);
  font-weight: var(--waw-typography-weight-regular);
  line-height: var(--waw-typography-line-height-100);
  color: var(--waw-tokens-text-text-default);
  text-decoration: underline;
  text-decoration-thickness: from-font;
  text-underline-offset: var(--waw-spacing-sizing-sizing-border-1-1px);
}

.waw-breadcrumb-separator {
  font-family: var(--waw-typography-family-body);
  font-size: var(--waw-typography-font-scale-neg-1);
  font-weight: var(--waw-typography-weight-regular);
  line-height: var(--waw-typography-line-height-100);
  color: var(--waw-tokens-text-text-default);
}

/* ---------- End Links Global Style */

/* ---------- Start Pills Global Style */

.waw-pill {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--waw-spacing-sizing-spacing-1-4px);
  padding: var(--waw-spacing-sizing-spacing-1-4px) var(--waw-spacing-sizing-spacing-14px);
  border-style: solid;
  border-width: var(--waw-spacing-sizing-sizing-border-1-1px);
  border-color: transparent;
  border-radius: var(--waw-spacing-sizing-radius-border-circle-9999px);
  font-family: var(--waw-typography-family-body);
  font-size: var(--waw-typography-size-200);
  font-weight: var(--waw-typography-weight-regular);
  line-height: var(--waw-typography-line-height-200);
  cursor: pointer;
}

.waw-pill_small {
  height: var(--waw-typography-line-height-300);
  padding: var(--waw-spacing-sizing-spacing-1-4px) var(--waw-spacing-sizing-spacing-3-12px);
  font-size: var(--waw-typography-size-100);
  line-height: var(--waw-typography-line-height-100);
}

.waw-pill_primary {
  background-color: var(--waw-color-brand-primary);
  color: var(--waw-color-text-inverse);
}

.waw-pill_primary:hover,
.waw-pill_primary:active {
  background-color: var(--waw-color-brand-primary-hover);
  color: var(--waw-color-text-inverse);
}

.waw-pill_secondary {
  background-color: var(--waw-color-surface-base);
  border-color: var(--waw-color-border);
  color: var(--waw-color-text-primary);
}

.waw-pill_secondary:hover {
  background-color: var(--waw-tokens-surface-surface-accent-light);
  border-color: var(--waw-color-border-input);
  color: var(--waw-color-text-primary);
}

.waw-pill_secondary.waw-pill_active,
.waw-pill_secondary.waw-pill_open {
  background-color: var(--waw-tokens-surface-surface-accent-light);
  border-width: var(--waw-spacing-sizing-sizing-border-1-5px);
  border-color: var(--waw-color-brand-primary);
  color: var(--waw-tokens-text-text-heading);
}

.waw-pill_secondary:disabled,
.waw-pill_secondary[disabled] {
  background-color: var(--waw-color-surface-alt);
  border-color: var(--waw-color-border);
  color: var(--waw-color-text-subtle);
}

.waw-pill_neutral {
  padding-inline: var(--waw-spacing-sizing-spacing-10px);
  border-color: transparent;
  background-color: transparent;
  font-weight: var(--waw-typography-weight-medium);
  color: var(--waw-color-text-primary);
}

.waw-pill_neutral:hover {
  border-color: var(--waw-color-border-input);
  color: var(--waw-color-text-primary);
}

.waw-pill:focus-visible {
  outline: var(--waw-spacing-sizing-sizing-border-2-2px) dashed var(--waw-color-brand-primary);
  outline-offset: var(--waw-spacing-sizing-sizing-border-1-1px);
}

.waw-pill_secondary:focus-visible {
  background-color: var(--waw-color-surface-base);
  border-color: var(--waw-color-brand-primary);
  border-style: dashed;
  border-width: var(--waw-spacing-sizing-sizing-border-2-2px);
  color: var(--waw-color-text-primary);
  outline: none;
}

/* ---------- End Pills Global Style */

/* ---------- Start Chips Global Style */

.waw-chip {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: var(--waw-spacing-sizing-spacing-4-16px);
  padding: var(--waw-spacing-sizing-spacing-1-4px) var(--waw-spacing-sizing-spacing-2-8px);
  border-radius: var(--waw-spacing-sizing-radius-border-1-4px);
  background-color: var(--waw-tokens-pills-pill-light);
  font-family: var(--waw-typography-family-body);
  font-size: var(--waw-typography-size-100);
  font-weight: var(--waw-typography-weight-regular);
  line-height: var(--waw-typography-line-height-100);
  color: var(--waw-color-text-primary);
  cursor: pointer;
}

.waw-chip:hover,
.waw-chip:active {
  background-color: var(--waw-tokens-buttons-button-disabled);
  color: var(--waw-color-text-primary);
}

/* ---------- End Chips Global Style */

/* ---------- Start Modals Global Style */

.waw-scrim {
  background-color: var(--waw-tokens-system-black-transparent-60);
}

/* ---------- End Modals Global Style */

/* ---------- Start Footer Global Style */
/* !important beats the unlayered DXP a:focus rule and component outline:none. */

a:focus-visible {
  outline: var(--waw-spacing-sizing-sizing-border-2-2px) dashed var(--waw-color-brand-primary) !important;
  outline-offset: var(--waw-spacing-sizing-sizing-border-1-1px) !important;
}

button.chat-launch:focus-visible,
button.nav-heading-button:focus-visible,
button.partners-accordion:focus-visible,
button.back-to-top:focus-visible {
  outline: var(--waw-spacing-sizing-sizing-border-2-2px) dashed var(--waw-color-brand-primary);
  outline-offset: var(--waw-spacing-sizing-sizing-border-1-1px);
}

/* ---------- End Footer Global Style */
