/** TS Design System: published Surface, Outline and Radius aliases. */

/* Historical neutral surfaces remain neutral; no numeric Brand reinterpretation. */
.elementor :is(.e-con, .e-con-inner, .elementor-container).sf-1 {
  background: var(--c-surface-1, var(--ts-color-background, #fff)) !important;
  color: var(--ts-color-text, var(--c-text, var(--e-global-color-text, #121417))) !important;
}

.elementor :is(.e-con, .e-con-inner, .elementor-container).sf-2 {
  background: var(--c-surface-2, var(--ts-color-surface-subtle, #f6f7f9)) !important;
  color: var(--ts-color-text, var(--c-text, var(--e-global-color-text, #121417))) !important;
}

/* The old Accordion-only spelling now aliases the unified elevated surface. */
.elementor :is(.e-con, .e-con-inner, .elementor-container).sf-elevated {
  background: var(--ts-color-surface-elevated, var(--c-surface-elevated, color-mix(in srgb, var(--c-bg, #fff) 94%, var(--c-text, #121417)))) !important;
  color: var(--ts-color-text, var(--c-text, var(--e-global-color-text, #121417))) !important;
}

/* Published state names stay static Legacy surfaces. */
.elementor :is(.e-con, .e-con-inner, .elementor-container).sf-card-h { background: var(--c-surface-card-hover, var(--c-surface-card, var(--c-surface-1, #fff))) !important; }
.elementor :is(.e-con, .e-con-inner, .elementor-container).sf-card-a { background: var(--c-surface-card-active, var(--c-surface-card, var(--c-surface-1, #fff))) !important; }
.elementor :is(.e-con, .e-con-inner, .elementor-container).sf-subtle-h { background: var(--c-surface-subtle-hover, var(--c-surface-subtle, var(--c-surface-2, #f6f7f9))) !important; }
.elementor :is(.e-con, .e-con-inner, .elementor-container).sf-subtle-a { background: var(--c-surface-subtle-active, var(--c-surface-subtle, var(--c-surface-2, #f6f7f9))) !important; }
.elementor :is(.e-con, .e-con-inner, .elementor-container).sf-elev-h { background: var(--c-surface-elevated-hover, var(--c-surface-elevated, var(--c-surface-2, #f6f7f9))) !important; }
.elementor :is(.e-con, .e-con-inner, .elementor-container).sf-elev-a { background: var(--c-surface-elevated-active, var(--c-surface-elevated, var(--c-surface-2, #f6f7f9))) !important; }

/* Numeric Brand outlines share the new central Brand sources and keep shadows. */
.elementor :is(.e-con, .e-con-inner, .elementor-container).ol-1 {
  border: var(--outline-width) solid var(--ts-color-primary, var(--c-accent, var(--e-global-color-primary, #000))) !important;
}

.elementor :is(.e-con, .e-con-inner, .elementor-container).ol-2 {
  border: var(--outline-width) solid var(--ts-color-secondary, var(--c-accent-2, var(--e-global-color-secondary, #000))) !important;
}

/* round-* remains a naming alias, without the historical clipping side effect. */
.elementor :is(.e-con, .e-con-inner, .elementor-container, .elementor-widget-button, .elementor-button, .elementor-widget-accordion, .elementor-widget-n-accordion).round-xxs { --tsds-radius: var(--radius-xxs); }
.elementor :is(.e-con, .e-con-inner, .elementor-container, .elementor-widget-button, .elementor-button, .elementor-widget-accordion, .elementor-widget-n-accordion).round-xs { --tsds-radius: var(--radius-xs); }
.elementor :is(.e-con, .e-con-inner, .elementor-container, .elementor-widget-button, .elementor-button, .elementor-widget-accordion, .elementor-widget-n-accordion).round-s { --tsds-radius: var(--radius-s); }
.elementor :is(.e-con, .e-con-inner, .elementor-container, .elementor-widget-button, .elementor-button, .elementor-widget-accordion, .elementor-widget-n-accordion).round-m { --tsds-radius: var(--radius-m); }
.elementor :is(.e-con, .e-con-inner, .elementor-container, .elementor-widget-button, .elementor-button, .elementor-widget-accordion, .elementor-widget-n-accordion).round-l { --tsds-radius: var(--radius-l); }
.elementor :is(.e-con, .e-con-inner, .elementor-container, .elementor-widget-button, .elementor-button, .elementor-widget-accordion, .elementor-widget-n-accordion).round-xl { --tsds-radius: var(--radius-xl); }
.elementor :is(.e-con, .e-con-inner, .elementor-container, .elementor-widget-button, .elementor-button, .elementor-widget-accordion, .elementor-widget-n-accordion).round-xxl { --tsds-radius: var(--radius-xxl); }

.elementor :is(.e-con, .e-con-inner, .elementor-container):is(.round-xxs, .round-xs, .round-s, .round-m, .round-l, .round-xl, .round-xxl) {
  border-radius: var(--tsds-radius) !important;
}

.elementor :is(.elementor-widget-button, .elementor-button):is(.round-xxs, .round-xs, .round-s, .round-m, .round-l, .round-xl, .round-xxl) {
  --tsds-button-radius-override: var(--tsds-radius);
}

.elementor .elementor-widget-accordion:is(.acc-s, .acc-m, .acc-l):is(.round-xxs, .round-xs, .round-s, .round-m, .round-l, .round-xl, .round-xxl) > .elementor-widget-container > .elementor-accordion > .elementor-accordion-item,
.elementor .elementor-widget-accordion:is(.acc-s, .acc-m, .acc-l):is(.round-xxs, .round-xs, .round-s, .round-m, .round-l, .round-xl, .round-xxl) > .elementor-accordion > .elementor-accordion-item,
.elementor .elementor-widget-n-accordion:is(.acc-s, .acc-m, .acc-l):is(.round-xxs, .round-xs, .round-s, .round-m, .round-l, .round-xl, .round-xxl) > .elementor-widget-container > .e-n-accordion > details.e-n-accordion-item,
.elementor .elementor-widget-n-accordion:is(.acc-s, .acc-m, .acc-l):is(.round-xxs, .round-xs, .round-s, .round-m, .round-l, .round-xl, .round-xxl) > .e-n-accordion > details.e-n-accordion-item {
  border-radius: var(--tsds-radius) !important;
}

/* Legacy reset names now share the reliable zero-radius contract. */
.elementor :is(.e-con, .e-con-inner, .elementor-container, .elementor-widget-button, .elementor-button, .elementor-widget-accordion, .elementor-widget-n-accordion):is(.no-ro, .no-radius) {
  --tsds-radius: var(--radius-0);
}

.elementor :is(.e-con, .e-con-inner, .elementor-container):is(.no-ro, .no-radius) {
  border-radius: 0 !important;
}

.elementor :is(.elementor-widget-button, .elementor-button):is(.no-ro, .no-radius) {
  --tsds-button-radius-override: 0;
}

.elementor .elementor-widget-accordion:is(.acc-s, .acc-m, .acc-l):is(.no-ro, .no-radius) > .elementor-widget-container > .elementor-accordion > .elementor-accordion-item,
.elementor .elementor-widget-accordion:is(.acc-s, .acc-m, .acc-l):is(.no-ro, .no-radius) > .elementor-accordion > .elementor-accordion-item,
.elementor .elementor-widget-n-accordion:is(.acc-s, .acc-m, .acc-l):is(.no-ro, .no-radius) > .elementor-widget-container > .e-n-accordion > details.e-n-accordion-item,
.elementor .elementor-widget-n-accordion:is(.acc-s, .acc-m, .acc-l):is(.no-ro, .no-radius) > .e-n-accordion > details.e-n-accordion-item {
  border-radius: 0 !important;
}

/* Legacy names can still be combined with the complete v1 Accordion sizes. */
.elementor :is(.elementor-widget-accordion, .elementor-widget-n-accordion):is(.acc-s, .acc-m, .acc-l).sf-elevated {
  --tsds-surface-background: var(--ts-color-surface-elevated, var(--c-surface-elevated, color-mix(in srgb, var(--c-bg, #fff) 94%, var(--c-text, #121417))));
  --tsds-surface-color: var(--ts-color-text, var(--c-text, var(--e-global-color-text, #121417)));
  --tsds-acc-text: var(--tsds-surface-color);
}

.elementor .elementor-widget-accordion:is(.acc-s, .acc-m, .acc-l).sf-elevated > .elementor-widget-container > .elementor-accordion > .elementor-accordion-item,
.elementor .elementor-widget-accordion:is(.acc-s, .acc-m, .acc-l).sf-elevated > .elementor-accordion > .elementor-accordion-item,
.elementor .elementor-widget-n-accordion:is(.acc-s, .acc-m, .acc-l).sf-elevated > .elementor-widget-container > .e-n-accordion > details.e-n-accordion-item,
.elementor .elementor-widget-n-accordion:is(.acc-s, .acc-m, .acc-l).sf-elevated > .e-n-accordion > details.e-n-accordion-item {
  background: var(--tsds-surface-background) !important;
}

.elementor :is(.elementor-widget-accordion, .elementor-widget-n-accordion):is(.acc-s, .acc-m, .acc-l).ol-1 {
  --tsds-outline-color: var(--ts-color-primary, var(--c-accent, var(--e-global-color-primary, #000)));
}

.elementor :is(.elementor-widget-accordion, .elementor-widget-n-accordion):is(.acc-s, .acc-m, .acc-l).ol-2 {
  --tsds-outline-color: var(--ts-color-secondary, var(--c-accent-2, var(--e-global-color-secondary, #000)));
}

.elementor .elementor-widget-accordion:is(.acc-s, .acc-m, .acc-l):is(.ol-1, .ol-2) > .elementor-widget-container > .elementor-accordion > .elementor-accordion-item,
.elementor .elementor-widget-accordion:is(.acc-s, .acc-m, .acc-l):is(.ol-1, .ol-2) > .elementor-accordion > .elementor-accordion-item,
.elementor .elementor-widget-n-accordion:is(.acc-s, .acc-m, .acc-l):is(.ol-1, .ol-2) > .elementor-widget-container > .e-n-accordion > details.e-n-accordion-item,
.elementor .elementor-widget-n-accordion:is(.acc-s, .acc-m, .acc-l):is(.ol-1, .ol-2) > .e-n-accordion > details.e-n-accordion-item {
  border: var(--outline-width) solid var(--tsds-outline-color) !important;
}

/* Recommended resets remain final even when mixed with a Legacy alias. */
.elementor :is(.e-con, .e-con-inner, .elementor-container).no-bg {
  background: transparent !important;
  background-image: none !important;
}

.elementor :is(.e-con, .e-con-inner, .elementor-container).no-border {
  border: 0 !important;
}

.elementor :is(.e-con, .e-con-inner, .elementor-container, .elementor-widget-button, .elementor-button, .elementor-widget-accordion, .elementor-widget-n-accordion).ro-0 {
  --tsds-radius: var(--radius-0);
}

.elementor :is(.e-con, .e-con-inner, .elementor-container).ro-0 {
  border-radius: 0 !important;
}

.elementor :is(.elementor-widget-button, .elementor-button).ro-0 {
  --tsds-button-radius-override: 0;
}

.elementor .elementor-widget-accordion:is(.acc-s, .acc-m, .acc-l).ro-0 > .elementor-widget-container > .elementor-accordion > .elementor-accordion-item,
.elementor .elementor-widget-accordion:is(.acc-s, .acc-m, .acc-l).ro-0 > .elementor-accordion > .elementor-accordion-item,
.elementor .elementor-widget-n-accordion:is(.acc-s, .acc-m, .acc-l).ro-0 > .elementor-widget-container > .e-n-accordion > details.e-n-accordion-item,
.elementor .elementor-widget-n-accordion:is(.acc-s, .acc-m, .acc-l).ro-0 > .e-n-accordion > details.e-n-accordion-item {
  border-radius: 0 !important;
}
