/** TS Design System: historical classic Elementor Accordion compatibility. */

/* `.acc` remains the legacy activator and never overrides a recommended size. */
.elementor .elementor-widget-accordion.acc {
  --tsds-acc-legacy-pad-block: var(--flow-s);
  --tsds-acc-legacy-pad-inline: var(--flow-l);
  --tsds-acc-legacy-content-flow: var(--flow-s);
  --tsds-acc-legacy-icon-gap: var(--ui-gap-s);
  --tsds-acc-legacy-item-gap: 0;
  --tsds-acc-legacy-radius: 0;
  --tsds-acc-legacy-border: var(--ts-color-border, var(--c-border, rgba(18, 20, 23, 0.1)));
  --tsds-acc-legacy-text: var(--ts-color-text, var(--c-text, var(--e-global-color-text, #121417)));
  --tsds-acc-legacy-accent: var(--ts-color-primary, var(--c-accent, var(--e-global-color-primary, #000)));
  --tsds-acc-legacy-item-bg: transparent;
  --tsds-acc-legacy-item-bg-hover: transparent;
  --tsds-acc-legacy-item-bg-open: transparent;
  --tsds-acc-legacy-title-hover: color-mix(in srgb, var(--tsds-acc-legacy-text) 4%, transparent);
  --tsds-acc-legacy-duration: var(--hover-speed, 180ms);
  --tsds-acc-legacy-easing: var(--hover-ease, cubic-bezier(0.2, 0.8, 0.2, 1));
}

.elementor .elementor-widget-accordion.acc > .elementor-widget-container > .elementor-accordion,
.elementor .elementor-widget-accordion.acc > .elementor-accordion {
  display: flex;
  flex-direction: column;
  gap: var(--tsds-acc-legacy-item-gap);
}

.elementor .elementor-widget-accordion.acc .elementor-accordion-item {
  position: relative;
  border: 0 !important;
  border-bottom: 1px solid var(--tsds-acc-legacy-border) !important;
  border-radius: var(--tsds-acc-legacy-radius) !important;
  background: var(--tsds-acc-legacy-item-bg) !important;
  overflow: hidden;
  transition:
    background-color var(--tsds-acc-legacy-duration) var(--tsds-acc-legacy-easing),
    box-shadow var(--tsds-acc-legacy-duration) var(--tsds-acc-legacy-easing),
    transform var(--tsds-acc-legacy-duration) var(--tsds-acc-legacy-easing),
    border-color var(--tsds-acc-legacy-duration) var(--tsds-acc-legacy-easing) !important;
}

.elementor .elementor-widget-accordion.acc:not(.acc-card) .elementor-accordion-item:last-child {
  border-bottom: 0 !important;
}

.elementor .elementor-widget-accordion.acc .elementor-tab-title {
  display: flex !important;
  align-items: center !important;
  column-gap: var(--tsds-icon-gap, var(--tsds-acc-default-icon-gap, var(--tsds-acc-legacy-icon-gap))) !important;
  padding-block: var(--tsds-acc-pad-block, var(--tsds-acc-legacy-pad-block)) !important;
  padding-inline: var(--tsds-acc-pad-inline, var(--tsds-acc-legacy-pad-inline)) !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--tsds-acc-text, var(--tsds-acc-legacy-text));
  transition:
    background-color var(--tsds-acc-duration, var(--tsds-acc-legacy-duration)) var(--tsds-acc-easing, var(--tsds-acc-legacy-easing)),
    color var(--tsds-acc-duration, var(--tsds-acc-legacy-duration)) var(--tsds-acc-easing, var(--tsds-acc-legacy-easing)) !important;
}

.elementor .elementor-widget-accordion.acc .elementor-tab-title:hover {
  background: var(--tsds-acc-title-hover, var(--tsds-acc-legacy-title-hover)) !important;
}

.elementor .elementor-widget-accordion.acc.acc-open .elementor-tab-title.elementor-active,
.elementor .elementor-widget-accordion.acc.acc-open .elementor-tab-title.elementor-active > .elementor-accordion-title {
  color: var(--tsds-acc-accent, var(--tsds-acc-legacy-accent));
}

.elementor .elementor-widget-accordion.acc .elementor-tab-title:focus-visible,
.elementor .elementor-widget-accordion.acc .elementor-tab-title > .elementor-accordion-title:focus-visible {
  outline: 2px solid var(--tsds-acc-accent, var(--tsds-acc-legacy-accent));
  outline-offset: -2px;
}

.elementor .elementor-widget-accordion.acc .elementor-accordion-icon {
  flex: 0 0 auto;
  margin-inline: 0 !important;
}

.elementor .elementor-widget-accordion.acc .elementor-tab-title > .elementor-accordion-title {
  flex: 1 1 auto;
  min-width: 0;
  order: 1;
}

.elementor .elementor-widget-accordion.acc .elementor-tab-title > .elementor-accordion-icon-right,
.elementor .elementor-widget-accordion.acc.acc-icon-r .elementor-tab-title > .elementor-accordion-icon {
  order: 2;
}

.elementor .elementor-widget-accordion.acc .elementor-tab-content {
  padding-block: 0 var(--tsds-acc-pad-inline, var(--tsds-acc-legacy-pad-inline)) !important;
  padding-inline: var(--tsds-acc-pad-inline, var(--tsds-acc-legacy-pad-inline)) !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--tsds-acc-text, var(--tsds-acc-legacy-text));
}

.elementor .elementor-widget-accordion.acc .elementor-tab-content > :where(* + *) {
  margin-block-start: var(--tsds-acc-content-flow, var(--tsds-acc-legacy-content-flow)) !important;
}

.elementor .elementor-widget-accordion.acc .elementor-accordion-item:hover {
  background: var(--tsds-acc-legacy-item-bg-hover) !important;
}

.elementor .elementor-widget-accordion.acc .elementor-accordion-item:has(> .elementor-tab-title.elementor-active) {
  background: var(--tsds-acc-legacy-item-bg-open) !important;
}

.elementor .elementor-widget-accordion.acc.acc-open.acc-card .elementor-accordion-item:has(> .elementor-tab-title.elementor-active) {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tsds-acc-legacy-border) 88%, transparent);
}

.elementor .elementor-widget-accordion.acc.acc-open:not(.acc-card) .elementor-accordion-item:has(> .elementor-tab-title.elementor-active) {
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--tsds-acc-legacy-border) 88%, transparent);
}

/* Published compact and card behavior. */
.elementor .elementor-widget-accordion.acc.acc-compact {
  --tsds-acc-pad-block: var(--flow-xs);
  --tsds-acc-content-flow: var(--flow-xs);
  --tsds-acc-default-icon-gap: var(--ui-gap-xs);
}

.elementor .elementor-widget-accordion.acc.acc-compact .elementor-tab-content {
  padding-block-end: var(--flow-s) !important;
}

.elementor .elementor-widget-accordion.acc.acc-card {
  --tsds-acc-legacy-item-gap: var(--flow-s);
  --tsds-acc-legacy-radius: var(--radius-l, calc(var(--ts-radius-base, 16px) * 1.5));
}

.elementor .elementor-widget-accordion.acc.acc-card .elementor-accordion-item {
  border: 1px solid var(--tsds-acc-legacy-border) !important;
}

/* Historical surface and outline bridges remain local to legacy Accordions. */
.elementor .elementor-widget-accordion.acc.sf-subtle {
  --tsds-acc-legacy-item-bg: var(--c-surface-subtle, transparent);
  --tsds-acc-legacy-item-bg-hover: var(--c-surface-subtle-hover, var(--c-surface-subtle, transparent));
  --tsds-acc-legacy-item-bg-open: var(--c-surface-subtle-active, var(--c-surface-subtle, transparent));
}

.elementor .elementor-widget-accordion.acc.sf-card {
  --tsds-acc-legacy-item-bg: var(--c-surface-card, transparent);
  --tsds-acc-legacy-item-bg-hover: var(--c-surface-card-hover, var(--c-surface-card, transparent));
  --tsds-acc-legacy-item-bg-open: var(--c-surface-card-active, var(--c-surface-card, transparent));
}

.elementor .elementor-widget-accordion.acc.sf-elevated {
  --tsds-acc-legacy-item-bg: var(--c-surface-elevated, transparent);
  --tsds-acc-legacy-item-bg-hover: var(--c-surface-elevated-hover, var(--c-surface-elevated, transparent));
  --tsds-acc-legacy-item-bg-open: var(--c-surface-elevated-active, var(--c-surface-elevated, transparent));
}

.elementor .elementor-widget-accordion.acc.sf-strong {
  --tsds-acc-legacy-item-bg: var(--c-surface-strong, transparent);
  --tsds-acc-legacy-item-bg-hover: color-mix(in srgb, var(--c-surface-strong, transparent) 92%, var(--tsds-acc-legacy-text) 8%);
  --tsds-acc-legacy-item-bg-open: color-mix(in srgb, var(--c-surface-strong, transparent) 86%, var(--tsds-acc-legacy-text) 14%);
}

.elementor .elementor-widget-accordion.acc.sf-inverse {
  --tsds-acc-legacy-item-bg: var(--c-surface-inverse, transparent);
  --tsds-acc-legacy-item-bg-hover: color-mix(in srgb, var(--c-surface-inverse, transparent) 94%, white 6%);
  --tsds-acc-legacy-item-bg-open: color-mix(in srgb, var(--c-surface-inverse, transparent) 88%, white 12%);
}

.elementor .elementor-widget-accordion.acc.ol { --tsds-acc-legacy-border: var(--c-border, rgba(18, 20, 23, 0.1)); }
.elementor .elementor-widget-accordion.acc.ol-1 { --tsds-acc-legacy-border: color-mix(in srgb, var(--c-accent, #000) 38%, transparent); }
.elementor .elementor-widget-accordion.acc.ol-2 { --tsds-acc-legacy-border: color-mix(in srgb, var(--c-accent-2, #000) 38%, transparent); }

/* Historical radius bridge; round-* was never an Accordion bridge. */
.elementor .elementor-widget-accordion.acc.ro-xxs { --tsds-acc-legacy-radius: var(--radius-xxs, calc(var(--ts-radius-base, 16px) * 0.25)); }
.elementor .elementor-widget-accordion.acc.ro-xs { --tsds-acc-legacy-radius: var(--radius-xs, calc(var(--ts-radius-base, 16px) * 0.5)); }
.elementor .elementor-widget-accordion.acc.ro-s { --tsds-acc-legacy-radius: var(--radius-s, calc(var(--ts-radius-base, 16px) * 0.75)); }
.elementor .elementor-widget-accordion.acc.ro-m { --tsds-acc-legacy-radius: var(--radius-m, var(--ts-radius-base, 16px)); }
.elementor .elementor-widget-accordion.acc.ro-l { --tsds-acc-legacy-radius: var(--radius-l, calc(var(--ts-radius-base, 16px) * 1.5)); }
.elementor .elementor-widget-accordion.acc.ro-xl { --tsds-acc-legacy-radius: var(--radius-xl, calc(var(--ts-radius-base, 16px) * 2)); }
.elementor .elementor-widget-accordion.acc.ro-xxl { --tsds-acc-legacy-radius: var(--radius-xxl, calc(var(--ts-radius-base, 16px) * 3)); }

/* Historical item-level shadows and glows; no new FX classes are introduced. */
.elementor .elementor-widget-accordion.acc:is(.shadow, .sh, .shadow-m, .sh-m) .elementor-accordion-item { box-shadow: var(--shadow-m, 0 12px 30px) rgba(0, 0, 0, var(--shadow-alpha-m, 0.12)) !important; }
.elementor .elementor-widget-accordion.acc:is(.shadow-s, .sh-s) .elementor-accordion-item { box-shadow: var(--shadow-s, 0 6px 16px) rgba(0, 0, 0, var(--shadow-alpha-s, 0.1)) !important; }
.elementor .elementor-widget-accordion.acc:is(.shadow-l, .sh-l) .elementor-accordion-item { box-shadow: var(--shadow-l, 0 18px 50px) rgba(0, 0, 0, var(--shadow-alpha-l, 0.14)) !important; }

.elementor .elementor-widget-accordion.acc:is(.shadow-1, .sh-1, .shadow-1-m, .sh-1-m) .elementor-accordion-item { box-shadow: var(--shadow-m, 0 12px 30px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--sh-tint, 28%), transparent) !important; }
.elementor .elementor-widget-accordion.acc:is(.shadow-1-s, .sh-1-s) .elementor-accordion-item { box-shadow: var(--shadow-s, 0 6px 16px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--sh-tint, 28%), transparent) !important; }
.elementor .elementor-widget-accordion.acc:is(.shadow-1-l, .sh-1-l) .elementor-accordion-item { box-shadow: var(--shadow-l, 0 18px 50px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--sh-tint, 28%), transparent) !important; }
.elementor .elementor-widget-accordion.acc:is(.shadow-2, .sh-2, .shadow-2-m, .sh-2-m) .elementor-accordion-item { box-shadow: var(--shadow-m, 0 12px 30px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--sh-tint, 28%), transparent) !important; }
.elementor .elementor-widget-accordion.acc:is(.shadow-2-s, .sh-2-s) .elementor-accordion-item { box-shadow: var(--shadow-s, 0 6px 16px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--sh-tint, 28%), transparent) !important; }
.elementor .elementor-widget-accordion.acc:is(.shadow-2-l, .sh-2-l) .elementor-accordion-item { box-shadow: var(--shadow-l, 0 18px 50px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--sh-tint, 28%), transparent) !important; }

.elementor .elementor-widget-accordion.acc:is(.glo, .glo-m) .elementor-accordion-item { box-shadow: var(--glow-m, 0 0 30px) rgba(0, 0, 0, var(--shadow-alpha-m, 0.12)) !important; }
.elementor .elementor-widget-accordion.acc.glo-s .elementor-accordion-item { box-shadow: var(--glow-s, 0 0 16px) rgba(0, 0, 0, var(--shadow-alpha-s, 0.1)) !important; }
.elementor .elementor-widget-accordion.acc.glo-l .elementor-accordion-item { box-shadow: var(--glow-l, 0 0 50px) rgba(0, 0, 0, var(--shadow-alpha-l, 0.14)) !important; }
.elementor .elementor-widget-accordion.acc:is(.glo-1, .glo-1-m) .elementor-accordion-item { box-shadow: var(--glow-m, 0 0 30px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--gl-tint, 42%), transparent) !important; }
.elementor .elementor-widget-accordion.acc.glo-1-s .elementor-accordion-item { box-shadow: var(--glow-s, 0 0 16px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--gl-tint, 42%), transparent) !important; }
.elementor .elementor-widget-accordion.acc.glo-1-l .elementor-accordion-item { box-shadow: var(--glow-l, 0 0 50px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--gl-tint, 42%), transparent) !important; }
.elementor .elementor-widget-accordion.acc:is(.glo-2, .glo-2-m) .elementor-accordion-item { box-shadow: var(--glow-m, 0 0 30px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--gl-tint, 42%), transparent) !important; }
.elementor .elementor-widget-accordion.acc.glo-2-s .elementor-accordion-item { box-shadow: var(--glow-s, 0 0 16px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--gl-tint, 42%), transparent) !important; }
.elementor .elementor-widget-accordion.acc.glo-2-l .elementor-accordion-item { box-shadow: var(--glow-l, 0 0 50px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--gl-tint, 42%), transparent) !important; }

.elementor .elementor-widget-accordion.acc:is(.shadow-glow, .shgl, .shadow-glow-m, .shgl-m) .elementor-accordion-item { box-shadow: var(--shadow-m, 0 12px 30px) rgba(0, 0, 0, var(--shadow-alpha-m, 0.12)), var(--glow-m, 0 0 30px) rgba(0, 0, 0, var(--shadow-alpha-m, 0.12)) !important; }
.elementor .elementor-widget-accordion.acc:is(.shadow-glow-s, .shgl-s) .elementor-accordion-item { box-shadow: var(--shadow-s, 0 6px 16px) rgba(0, 0, 0, var(--shadow-alpha-s, 0.1)), var(--glow-s, 0 0 16px) rgba(0, 0, 0, var(--shadow-alpha-s, 0.1)) !important; }
.elementor .elementor-widget-accordion.acc:is(.shadow-glow-l, .shgl-l) .elementor-accordion-item { box-shadow: var(--shadow-l, 0 18px 50px) rgba(0, 0, 0, var(--shadow-alpha-l, 0.14)), var(--glow-l, 0 0 50px) rgba(0, 0, 0, var(--shadow-alpha-l, 0.14)) !important; }
.elementor .elementor-widget-accordion.acc:is(.shadow-glow-1, .shgl-1, .shgl-1-m) .elementor-accordion-item { box-shadow: var(--shadow-m, 0 12px 30px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--sh-tint, 28%), transparent), var(--glow-m, 0 0 30px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--gl-tint, 42%), transparent) !important; }
.elementor .elementor-widget-accordion.acc.shgl-1-s .elementor-accordion-item { box-shadow: var(--shadow-s, 0 6px 16px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--sh-tint, 28%), transparent), var(--glow-s, 0 0 16px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--gl-tint, 42%), transparent) !important; }
.elementor .elementor-widget-accordion.acc.shgl-1-l .elementor-accordion-item { box-shadow: var(--shadow-l, 0 18px 50px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--sh-tint, 28%), transparent), var(--glow-l, 0 0 50px) color-mix(in srgb, var(--shadow-color-1, var(--c-accent, #000)) var(--gl-tint, 42%), transparent) !important; }
.elementor .elementor-widget-accordion.acc:is(.shadow-glow-2, .shgl-2, .shgl-2-m) .elementor-accordion-item { box-shadow: var(--shadow-m, 0 12px 30px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--sh-tint, 28%), transparent), var(--glow-m, 0 0 30px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--gl-tint, 42%), transparent) !important; }
.elementor .elementor-widget-accordion.acc.shgl-2-s .elementor-accordion-item { box-shadow: var(--shadow-s, 0 6px 16px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--sh-tint, 28%), transparent), var(--glow-s, 0 0 16px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--gl-tint, 42%), transparent) !important; }
.elementor .elementor-widget-accordion.acc.shgl-2-l .elementor-accordion-item { box-shadow: var(--shadow-l, 0 18px 50px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--sh-tint, 28%), transparent), var(--glow-l, 0 0 50px) color-mix(in srgb, var(--shadow-color-2, var(--c-accent-2, #000)) var(--gl-tint, 42%), transparent) !important; }

.elementor .elementor-widget-accordion.acc:is(.hover-lift-s, .hl-s, .hover-lift-m, .hl-m) .elementor-accordion-item { will-change: transform; }
.elementor .elementor-widget-accordion.acc:is(.hover-lift-s, .hl-s) .elementor-accordion-item:hover { transform: var(--lift-s, translateY(-2px)) !important; }
.elementor .elementor-widget-accordion.acc:is(.hover-lift-m, .hl-m) .elementor-accordion-item:hover { transform: var(--lift-m, translateY(-8px)) !important; }
