/**
 * DDLA · Elementor Bridge 0.2.0
 *
 * This file adapts Elementor markup to Mystika variables. It deliberately
 * avoids redefining the theme palette: all important values inherit --ddla-*.
 */

:root {
  --ddla-bridge-cut: var(--ddla-panel-cut, 15px);
  --ddla-bridge-padding: var(--ddla-panel-padding, clamp(1.35rem, 2vw, 2rem));
  --ddla-bridge-border-alpha: var(--ddla-panel-border-alpha, 0.58);
  --ddla-bridge-shape: polygon(
    var(--ddla-bridge-cut) 0,
    calc(100% - var(--ddla-bridge-cut)) 0,
    100% var(--ddla-bridge-cut),
    100% calc(100% - var(--ddla-bridge-cut)),
    calc(100% - var(--ddla-bridge-cut)) 100%,
    var(--ddla-bridge-cut) 100%,
    0 calc(100% - var(--ddla-bridge-cut)),
    0 var(--ddla-bridge-cut)
  );
}

/* Elementor inherits Mystika unless a widget explicitly overrides a value. */
.elementor,
.elementor-kit-0 {
  --e-global-color-primary: var(--ddla-gold, #c9a85d);
  --e-global-color-secondary: var(--ddla-blue, #2f6fff);
  --e-global-color-text: var(--ddla-text-main, #e9dec5);
  --e-global-color-accent: var(--ddla-blue-soft, #00d2ff);
  color: var(--ddla-text-main, #e9dec5);
  font-family: var(--ddla-font-body, "Quicksand", sans-serif);
}

.elementor-widget-text-editor,
.elementor-widget-text-editor .elementor-widget-container,
.elementor-widget-icon-list,
.elementor-widget-accordion,
.elementor-widget-toggle,
.elementor-widget-tabs {
  color: inherit;
  font-family: inherit;
}

.elementor-widget-heading .elementor-heading-title {
  color: var(--ddla-text-heading, var(--ddla-gold-light, #f4dfab));
  font-family: var(--ddla-font-title, "Cinzel", serif);
  font-weight: var(--ddla-heading-weight, 400);
  line-height: var(--ddla-line-title, 1.18);
  letter-spacing: var(--ddla-h1-letter-spacing, 0.035em);
}

.elementor-widget-text-editor a,
.elementor-widget-icon-list a {
  color: var(--ddla-gold-soft, #e6cc87);
}

.elementor-widget-text-editor a:hover,
.elementor-widget-icon-list a:hover {
  color: var(--ddla-blue-light, #a4efff);
}

/* Density controls. */
.ddla-mystika-density-compact { --ddla-bridge-padding: clamp(0.9rem, 1.4vw, 1.25rem); }
.ddla-mystika-density-normal { --ddla-bridge-padding: var(--ddla-panel-padding, clamp(1.35rem, 2vw, 2rem)); }
.ddla-mystika-density-spacious { --ddla-bridge-padding: clamp(1.8rem, 3vw, 3rem); }

/* Accent tokens shared by native Elementor presets. */
:is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-image-aureo,
  .ddla-el-panel-aureo,
  .ddla-el-card-aureo,
  .ddla-el-glass-aureo,
  .ddla-el-image-aureo
) {
  --ddla-bridge-accent: var(--ddla-gold, #c9a85d);
  --ddla-bridge-accent-soft: var(--ddla-gold-soft, #e6cc87);
  --ddla-bridge-accent-light: var(--ddla-gold-light, #f4dfab);
  --ddla-bridge-accent-rgb: 201, 168, 93;
  --ddla-bridge-accent-deep-rgb: 112, 82, 31;
}

:is(
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-mystika-preset-image-zafiro,
  .ddla-el-panel-zafiro,
  .ddla-el-card-zafiro,
  .ddla-el-glass-zafiro,
  .ddla-el-image-zafiro
) {
  --ddla-bridge-accent: var(--ddla-blue, #2f6fff);
  --ddla-bridge-accent-soft: var(--ddla-blue-soft, #00d2ff);
  --ddla-bridge-accent-light: var(--ddla-blue-light, #a4efff);
  --ddla-bridge-accent-rgb: var(--ddla-blue-rgb, 47,111,255);
  --ddla-bridge-accent-deep-rgb: var(--ddla-blue-deep-rgb, 23,52,95);
}

/* The visual target is the container itself or the widget's inner container. */
:is(
  .e-con,
  .elementor-section,
  .elementor-column
):is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-mystika-preset-void,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro,
  .ddla-el-void
),
.elementor-widget:is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-mystika-preset-void,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro,
  .ddla-el-void
) > .elementor-widget-container {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: var(--ddla-bridge-padding);
  border-radius: 0;
  clip-path: var(--ddla-bridge-shape);
  color: var(--ddla-text-main, #e9dec5);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: transform var(--ddla-transition-normal, 260ms ease),
    filter var(--ddla-transition-normal, 260ms ease),
    background var(--ddla-transition-normal, 260ms ease);
}

/* Keep Elementor children above decorative layers. */
:is(
  .e-con,
  .elementor-section,
  .elementor-column
):is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-mystika-preset-void,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro,
  .ddla-el-void
) > *,
.elementor-widget:is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-mystika-preset-void,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro,
  .ddla-el-void
) > .elementor-widget-container > * {
  position: relative;
  z-index: 2;
}

/* Full panel surfaces. */
:is(
  .e-con,
  .elementor-section,
  .elementor-column
):is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro
),
.elementor-widget:is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro
) > .elementor-widget-container {
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--ddla-blue-soft-rgb, 0,210,255), 0.10), transparent 42%),
    radial-gradient(circle at 20% 50%, rgba(var(--ddla-blue-deep-rgb, 23,52,95), 0.055), transparent 34%),
    linear-gradient(
      135deg,
      var(--ddla-panel-bg-a, rgba(var(--ddla-blue-deep-rgb, 23,52,95), 0.12)) 0%,
      var(--ddla-panel-bg-b, rgba(8, 18, 34, 0.58)) 42%,
      var(--ddla-panel-bg-c, rgba(3, 8, 17, 0.42)) 100%
    );
  filter: drop-shadow(0 22px 50px rgba(0, 0, 0, 0.38))
    drop-shadow(0 0 18px rgba(var(--ddla-bridge-accent-rgb), 0.10));
}

/* Reusable cards: same material, stronger interaction. */
:is(
  .e-con,
  .elementor-section,
  .elementor-column
):is(
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro
),
.elementor-widget:is(
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro
) > .elementor-widget-container {
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--ddla-bridge-accent-rgb), 0.11), transparent 44%),
    linear-gradient(135deg, rgba(var(--ddla-bridge-accent-deep-rgb), 0.12), rgba(8, 18, 34, 0.60) 46%, rgba(3, 8, 17, 0.46));
  filter: drop-shadow(0 18px 42px rgba(0, 0, 0, 0.34));
}

:is(
  .e-con,
  .elementor-section,
  .elementor-column
):is(
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro
):hover,
.elementor-widget:is(
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro
):hover > .elementor-widget-container {
  transform: translateY(-4px);
  filter: drop-shadow(0 24px 52px rgba(0, 0, 0, 0.40))
    drop-shadow(0 0 24px rgba(var(--ddla-bridge-accent-rgb), 0.17));
}

/* Lightweight surfaces. */
:is(
  .e-con,
  .elementor-section,
  .elementor-column
):is(
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro
),
.elementor-widget:is(
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro
) > .elementor-widget-container {
  background: linear-gradient(180deg, rgba(var(--ddla-bridge-accent-rgb), 0.065), transparent 48%),
    var(--ddla-surface-glass, rgba(10, 15, 29, 0.72));
}

:is(
  .e-con,
  .elementor-section,
  .elementor-column
):is(.ddla-mystika-preset-void, .ddla-el-void),
.elementor-widget:is(.ddla-mystika-preset-void, .ddla-el-void) > .elementor-widget-container {
  --ddla-bridge-accent-rgb: 233, 222, 197;
  background: rgba(3, 4, 10, 0.84);
}

/* Hairline border and inner light for every surface preset. */
:is(
  .e-con,
  .elementor-section,
  .elementor-column
):is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-mystika-preset-void,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro,
  .ddla-el-void
)::before,
.elementor-widget:is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-mystika-preset-void,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro,
  .ddla-el-void
) > .elementor-widget-container::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  box-sizing: border-box;
  padding: 1px;
  pointer-events: none;
  clip-path: var(--ddla-bridge-shape);
  background: linear-gradient(
    135deg,
    rgba(var(--ddla-bridge-accent-rgb), calc(var(--ddla-bridge-border-alpha) + 0.14)),
    rgba(var(--ddla-bridge-accent-rgb), 0.20) 34%,
    rgba(var(--ddla-bridge-accent-rgb), 0.64) 72%,
    rgba(var(--ddla-bridge-accent-rgb), 0.22)
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

:is(
  .e-con,
  .elementor-section,
  .elementor-column
):is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro
)::after,
.elementor-widget:is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro
) > .elementor-widget-container::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.46;
  background:
    linear-gradient(90deg, rgba(2, 5, 10, 0.14), transparent 18%, transparent 78%, rgba(2, 5, 10, 0.18)),
    linear-gradient(180deg, rgba(255,255,255,0.028), transparent 26%, rgba(0,0,0,0.13));
}

/* Animated light sweep for native containers/widgets. */
.ddla-mystika-motion-dynamic {
  --ddla-bridge-motion-opacity: 1;
}

@keyframes ddla-elementor-bridge-orbit {
  to { transform: rotate(1turn); }
}

:is(
  .e-con,
  .elementor-section,
  .elementor-column
).ddla-mystika-motion-dynamic:is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro
)::after,
.elementor-widget.ddla-mystika-motion-dynamic:is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro
) > .elementor-widget-container::after {
  inset: -65%;
  opacity: 0.34;
  background: conic-gradient(
    from 0deg,
    transparent 0 72deg,
    rgba(var(--ddla-bridge-accent-rgb), 0.00) 82deg,
    rgba(var(--ddla-bridge-accent-rgb), 0.25) 91deg,
    rgba(255,255,255,0.34) 96deg,
    rgba(var(--ddla-bridge-accent-rgb), 0.12) 102deg,
    transparent 112deg 360deg
  );
  animation: ddla-elementor-bridge-orbit var(--ddla-panel-loop-duration, 6.8s) linear infinite;
}

/* Native Elementor buttons. */
.elementor-widget-button:is(
  .ddla-mystika-preset-button-aureo,
  .ddla-mystika-preset-button-outline-aureo,
  .ddla-el-button-aureo,
  .ddla-el-button-outline-aureo
) {
  --ddla-bridge-button-rgb: 201, 168, 93;
  --ddla-bridge-button-color: var(--ddla-gold-soft, #e6cc87);
  --ddla-bridge-button-light: var(--ddla-gold-light, #f4dfab);
  --ddla-bridge-button-deep: 112, 82, 31;
}

.elementor-widget-button:is(
  .ddla-mystika-preset-button-zafiro,
  .ddla-mystika-preset-button-outline-zafiro,
  .ddla-el-button-zafiro,
  .ddla-el-button-outline-zafiro
) {
  --ddla-bridge-button-rgb: var(--ddla-blue-rgb, 47,111,255);
  --ddla-bridge-button-color: var(--ddla-blue-soft, #00d2ff);
  --ddla-bridge-button-light: var(--ddla-blue-light, #a4efff);
  --ddla-bridge-button-deep: var(--ddla-blue-deep-rgb, 23,52,95);
}

.elementor-widget-button:is(
  .ddla-mystika-preset-button-aureo,
  .ddla-mystika-preset-button-zafiro,
  .ddla-mystika-preset-button-outline-aureo,
  .ddla-mystika-preset-button-outline-zafiro,
  .ddla-el-button-aureo,
  .ddla-el-button-zafiro,
  .ddla-el-button-outline-aureo,
  .ddla-el-button-outline-zafiro
) .elementor-button {
  --ddla-bridge-button-cut: var(--ddla-button-cut, 10px);
  position: relative;
  isolation: isolate;
  min-width: min(100%, 292px);
  min-height: 3.2rem;
  padding: 0.92rem 2rem;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  clip-path: polygon(
    var(--ddla-bridge-button-cut) 0,
    calc(100% - var(--ddla-bridge-button-cut)) 0,
    100% var(--ddla-bridge-button-cut),
    100% calc(100% - var(--ddla-bridge-button-cut)),
    calc(100% - var(--ddla-bridge-button-cut)) 100%,
    var(--ddla-bridge-button-cut) 100%,
    0 calc(100% - var(--ddla-bridge-button-cut)),
    0 var(--ddla-bridge-button-cut)
  );
  color: var(--ddla-bridge-button-light);
  background:
    linear-gradient(90deg, rgba(var(--ddla-bridge-button-rgb), 0.10), transparent 20%, transparent 76%, rgba(var(--ddla-bridge-button-rgb), 0.08)),
    linear-gradient(180deg, rgba(var(--ddla-bridge-button-deep), 0.28), rgba(7, 12, 23, 0.94) 46%, rgba(3, 7, 15, 0.98));
  font-family: var(--ddla-font-title, "Cinzel", serif);
  font-size: clamp(0.82rem, 0.72rem + 0.28vw, 1.02rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  filter: drop-shadow(0 0 8px rgba(var(--ddla-bridge-button-rgb), 0.16)) drop-shadow(0 16px 32px rgba(0,0,0,0.52));
  transition: transform 220ms ease, filter 260ms ease, color 260ms ease;
}

.elementor-widget-button:is(
  .ddla-mystika-preset-button-aureo,
  .ddla-mystika-preset-button-zafiro,
  .ddla-mystika-preset-button-outline-aureo,
  .ddla-mystika-preset-button-outline-zafiro,
  .ddla-el-button-aureo,
  .ddla-el-button-zafiro,
  .ddla-el-button-outline-aureo,
  .ddla-el-button-outline-zafiro
) .elementor-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  box-sizing: border-box;
  padding: 1px;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(var(--ddla-bridge-button-rgb), 0.90), rgba(255,255,255,0.48), rgba(var(--ddla-bridge-button-rgb), 0.82));
  clip-path: inherit;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.elementor-widget-button:is(
  .ddla-mystika-preset-button-aureo,
  .ddla-mystika-preset-button-zafiro,
  .ddla-mystika-preset-button-outline-aureo,
  .ddla-mystika-preset-button-outline-zafiro,
  .ddla-el-button-aureo,
  .ddla-el-button-zafiro,
  .ddla-el-button-outline-aureo,
  .ddla-el-button-outline-zafiro
) .elementor-button:hover {
  color: var(--ddla-bridge-button-light);
  transform: translateY(-2px);
  filter: drop-shadow(0 0 14px rgba(var(--ddla-bridge-button-rgb), 0.40)) drop-shadow(0 18px 36px rgba(0,0,0,0.56));
}

.elementor-widget-button:is(
  .ddla-mystika-preset-button-outline-aureo,
  .ddla-mystika-preset-button-outline-zafiro,
  .ddla-el-button-outline-aureo,
  .ddla-el-button-outline-zafiro
) .elementor-button {
  color: var(--ddla-bridge-button-color);
  background: transparent;
  filter: drop-shadow(0 0 5px rgba(var(--ddla-bridge-button-rgb), 0.18));
}

/* Typography presets. */
.ddla-mystika-preset-title,
.ddla-el-title {
  color: var(--ddla-gold-light, #f4dfab);
  font-family: var(--ddla-font-title, "Cinzel", serif);
  font-weight: var(--ddla-heading-weight, 400);
  line-height: var(--ddla-line-title, 1.18);
  letter-spacing: var(--ddla-h1-letter-spacing, 0.035em);
}

.ddla-mystika-preset-title :is(.elementor-heading-title, p, span),
.ddla-el-title :is(.elementor-heading-title, p, span) {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}

.ddla-mystika-preset-kicker,
.ddla-el-kicker,
.ddla-mystika-preset-kicker :is(.elementor-heading-title, p, span),
.ddla-el-kicker :is(.elementor-heading-title, p, span) {
  color: var(--ddla-gold, #c9a85d);
  font-family: var(--ddla-font-body, "Quicksand", sans-serif);
  font-size: var(--ddla-text-xs, 0.76rem);
  font-weight: var(--ddla-weight-semibold, 600);
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ddla-mystika-preset-editorial,
.ddla-el-editorial,
.ddla-mystika-preset-editorial :is(.elementor-heading-title, p, span),
.ddla-el-editorial :is(.elementor-heading-title, p, span) {
  color: var(--ddla-text-soft, #c8bda4);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.12rem, 1rem + 0.35vw, 1.36rem);
  line-height: 1.72;
}

/* Image frames. */
.elementor-widget-image:is(
  .ddla-mystika-preset-image-aureo,
  .ddla-mystika-preset-image-zafiro,
  .ddla-el-image-aureo,
  .ddla-el-image-zafiro
) .elementor-widget-container,
:is(.e-con, .elementor-section, .elementor-column):is(
  .ddla-mystika-preset-image-aureo,
  .ddla-mystika-preset-image-zafiro,
  .ddla-el-image-aureo,
  .ddla-el-image-zafiro
) {
  position: relative;
  padding: 1px;
  overflow: hidden;
  clip-path: var(--ddla-bridge-shape);
  background: linear-gradient(135deg, rgba(var(--ddla-bridge-accent-rgb), 0.82), rgba(var(--ddla-bridge-accent-rgb), 0.20), rgba(var(--ddla-bridge-accent-rgb), 0.70));
  filter: drop-shadow(0 20px 46px rgba(0,0,0,0.40)) drop-shadow(0 0 18px rgba(var(--ddla-bridge-accent-rgb), 0.12));
}

.elementor-widget-image:is(
  .ddla-mystika-preset-image-aureo,
  .ddla-mystika-preset-image-zafiro,
  .ddla-el-image-aureo,
  .ddla-el-image-zafiro
) img {
  width: 100%;
  clip-path: var(--ddla-bridge-shape);
  filter: saturate(0.88) contrast(1.05);
}

/* Divider presets. */
.elementor-widget-divider:is(
  .ddla-mystika-preset-divider-aureo,
  .ddla-el-divider-aureo
) { --ddla-bridge-divider-rgb: 201, 168, 93; }

.elementor-widget-divider:is(
  .ddla-mystika-preset-divider-zafiro,
  .ddla-el-divider-zafiro
) { --ddla-bridge-divider-rgb: var(--ddla-blue-soft-rgb, 0,210,255); }

.elementor-widget-divider:is(
  .ddla-mystika-preset-divider-aureo,
  .ddla-mystika-preset-divider-zafiro,
  .ddla-el-divider-aureo,
  .ddla-el-divider-zafiro
) .elementor-divider-separator {
  width: min(100%, 360px);
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--ddla-bridge-divider-rgb), 0.42), rgba(var(--ddla-bridge-divider-rgb), 0.92), rgba(var(--ddla-bridge-divider-rgb), 0.42), transparent);
  box-shadow: 0 0 12px rgba(var(--ddla-bridge-divider-rgb), 0.20);
}

/* Custom widgets. */
.ddla-elementor-button-wrap {
  display: flex;
  width: 100%;
}

.elementor-widget-ddla-mystika-panel .ddla-panel,
.elementor-widget-ddla-mystika-card .ddla-card {
  width: 100%;
}

@media (max-width: 767px) {
  .elementor-widget-button:is(
    .ddla-mystika-preset-button-aureo,
    .ddla-mystika-preset-button-zafiro,
    .ddla-mystika-preset-button-outline-aureo,
    .ddla-mystika-preset-button-outline-zafiro,
    .ddla-el-button-aureo,
    .ddla-el-button-zafiro,
    .ddla-el-button-outline-aureo,
    .ddla-el-button-outline-zafiro
  ) .elementor-button,
  .ddla-elementor-button-wrap .ddla-button {
    min-width: min(100%, 260px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ddla-mystika-motion-dynamic::after,
  .ddla-mystika-motion-dynamic > .elementor-widget-container::after {
    animation: none !important;
  }
}

/* ==========================================================================\
   0.2.0 · Exact SVG chamfers
   ========================================================================== */

/* The previous masked border is deliberately disabled. The real outline is
   now an SVG path calculated from the rendered width and height. */
:is(
  .e-con,
  .elementor-section,
  .elementor-column
):is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-mystika-preset-void,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro,
  .ddla-el-void
)::before,
.elementor-widget:is(
  .ddla-mystika-preset-panel-aureo,
  .ddla-mystika-preset-panel-zafiro,
  .ddla-mystika-preset-card-aureo,
  .ddla-mystika-preset-card-zafiro,
  .ddla-mystika-preset-glass-aureo,
  .ddla-mystika-preset-glass-zafiro,
  .ddla-mystika-preset-void,
  .ddla-el-panel-aureo,
  .ddla-el-panel-zafiro,
  .ddla-el-card-aureo,
  .ddla-el-card-zafiro,
  .ddla-el-glass-aureo,
  .ddla-el-glass-zafiro,
  .ddla-el-void
) > .elementor-widget-container::before,
.elementor-widget-button:is(
  .ddla-mystika-preset-button-aureo,
  .ddla-mystika-preset-button-zafiro,
  .ddla-mystika-preset-button-outline-aureo,
  .ddla-mystika-preset-button-outline-zafiro,
  .ddla-el-button-aureo,
  .ddla-el-button-zafiro,
  .ddla-el-button-outline-aureo,
  .ddla-el-button-outline-zafiro
) .elementor-button::before {
  content: none !important;
}

/* Keep the restrained material light; dynamic movement belongs to the SVG. */
:is(
  .e-con,
  .elementor-section,
  .elementor-column
).ddla-mystika-motion-dynamic::after,
.elementor-widget.ddla-mystika-motion-dynamic > .elementor-widget-container::after {
  inset: 0;
  opacity: 0.46;
  background:
    linear-gradient(90deg, rgba(2, 5, 10, 0.14), transparent 18%, transparent 78%, rgba(2, 5, 10, 0.18)),
    linear-gradient(180deg, rgba(255,255,255,0.028), transparent 26%, rgba(0,0,0,0.13));
  animation: none;
}

.ddla-bridge-border-host,
.ddla-bridge-button-border-host {
  position: relative;
}

.ddla-bridge-border,
.ddla-bridge-button-border {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.ddla-bridge-border path,
.ddla-bridge-button-border path {
  fill: none;
  vector-effect: non-scaling-stroke;
  stroke-linejoin: miter;
}

.ddla-bridge-border__line {
  stroke: rgba(var(--ddla-bridge-accent-rgb, 201,168,93), var(--ddla-bridge-border-alpha, 0.58));
  stroke-width: 1;
  filter: drop-shadow(0 0 5px rgba(var(--ddla-bridge-accent-rgb, 201,168,93), 0.14));
}

.ddla-bridge-border__breath {
  opacity: 0;
  stroke: rgba(var(--ddla-bridge-accent-rgb, 201,168,93), 0.24);
  stroke-width: 1.15;
  filter: drop-shadow(0 0 4px rgba(var(--ddla-bridge-accent-rgb, 201,168,93), 0.16));
}

.ddla-bridge-border__beam {
  opacity: 0;
  stroke: var(--ddla-bridge-accent-light, #f4dfab);
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-dasharray: 72 928;
  stroke-dashoffset: 0;
  filter: drop-shadow(0 0 4px rgba(var(--ddla-bridge-accent-rgb, 201,168,93), 0.42))
    drop-shadow(0 0 12px rgba(var(--ddla-bridge-accent-rgb, 201,168,93), 0.20));
}

.ddla-bridge-border__spark {
  opacity: 0;
  stroke: #fff8dc;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-dasharray: 7 993;
  stroke-dashoffset: -12;
  filter: drop-shadow(0 0 5px rgba(255,248,220,0.74))
    drop-shadow(0 0 14px rgba(var(--ddla-bridge-accent-rgb, 201,168,93), 0.30));
}

.ddla-mystika-motion-dynamic .ddla-bridge-border__breath {
  opacity: 1;
  animation: ddla-bridge-breath 4.6s ease-in-out infinite;
}

.ddla-mystika-motion-dynamic .ddla-bridge-border__beam,
.ddla-mystika-motion-dynamic .ddla-bridge-border__spark {
  opacity: 1;
  animation: ddla-bridge-path-orbit var(--ddla-panel-loop-duration, 6.8s) linear infinite;
}

.ddla-mystika-motion-dynamic .ddla-bridge-border__spark {
  animation-name: ddla-bridge-path-orbit, ddla-bridge-spark-pulse;
  animation-duration: var(--ddla-panel-loop-duration, 6.8s), 1.7s;
  animation-timing-function: linear, ease-in-out;
  animation-iteration-count: infinite, infinite;
}

.ddla-bridge-border-host:not(.ddla-mystika-motion-dynamic):hover > .ddla-bridge-border .ddla-bridge-border__beam,
.elementor-widget:not(.ddla-mystika-motion-dynamic):hover > .elementor-widget-container > .ddla-bridge-border .ddla-bridge-border__beam {
  opacity: 1;
  animation: ddla-bridge-hover-orbit 1050ms cubic-bezier(.35,0,.2,1) 1;
}

.ddla-bridge-border-host:not(.ddla-mystika-motion-dynamic):hover > .ddla-bridge-border .ddla-bridge-border__spark,
.elementor-widget:not(.ddla-mystika-motion-dynamic):hover > .elementor-widget-container > .ddla-bridge-border .ddla-bridge-border__spark {
  opacity: 1;
  animation: ddla-bridge-hover-orbit 1050ms cubic-bezier(.35,0,.2,1) 1,
    ddla-bridge-spark-pulse 1050ms ease-in-out 1;
}

@keyframes ddla-bridge-path-orbit { to { stroke-dashoffset: -1000; } }
@keyframes ddla-bridge-hover-orbit { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -1000; } }
@keyframes ddla-bridge-breath { 0%,100% { opacity: .06; } 50% { opacity: .17; } }
@keyframes ddla-bridge-spark-pulse { 0%,100% { opacity: .46; } 50% { opacity: .9; } }

/* Native Elementor button borders also use an exact SVG path. */
.elementor-widget-button:is(
  .ddla-mystika-preset-button-aureo,
  .ddla-mystika-preset-button-zafiro,
  .ddla-mystika-preset-button-outline-aureo,
  .ddla-mystika-preset-button-outline-zafiro,
  .ddla-el-button-aureo,
  .ddla-el-button-zafiro,
  .ddla-el-button-outline-aureo,
  .ddla-el-button-outline-zafiro
) .elementor-button-content-wrapper {
  position: relative;
  z-index: 2;
}

.ddla-bridge-button-border {
  z-index: 1;
}

.ddla-bridge-button-border__line {
  stroke: rgba(var(--ddla-bridge-button-rgb, 201,168,93), 0.86);
  stroke-width: 1;
  filter: drop-shadow(0 0 5px rgba(var(--ddla-bridge-button-rgb, 201,168,93), 0.24));
}

.ddla-bridge-button-border__breath {
  opacity: 0;
  stroke: rgba(var(--ddla-bridge-button-rgb, 201,168,93), 0.24);
  stroke-width: 1.1;
}

.ddla-bridge-button-border__beam,
.ddla-bridge-button-border__spark {
  opacity: 0;
  stroke: var(--ddla-bridge-button-light, #f4dfab);
  stroke-linecap: round;
}

.ddla-bridge-button-border__beam {
  stroke-width: 1.35;
  stroke-dasharray: 80 920;
}

.ddla-bridge-button-border__spark {
  stroke-width: 2;
  stroke-dasharray: 7 993;
  stroke-dashoffset: -12;
}

.ddla-bridge-button-border-host:hover .ddla-bridge-button-border__beam,
.ddla-bridge-button-border-host:focus-visible .ddla-bridge-button-border__beam,
.ddla-mystika-motion-dynamic .ddla-bridge-button-border__beam {
  opacity: 1;
  animation: ddla-bridge-hover-orbit 1050ms cubic-bezier(.35,0,.2,1) 1;
}

.ddla-bridge-button-border-host:hover .ddla-bridge-button-border__spark,
.ddla-bridge-button-border-host:focus-visible .ddla-bridge-button-border__spark,
.ddla-mystika-motion-dynamic .ddla-bridge-button-border__spark {
  opacity: 1;
  animation: ddla-bridge-hover-orbit 1050ms cubic-bezier(.35,0,.2,1) 1,
    ddla-bridge-spark-pulse 1050ms ease-in-out 1;
}

/* Image frames no longer fake the chamfer with a one-pixel gradient. */
.elementor-widget-image:is(
  .ddla-mystika-preset-image-aureo,
  .ddla-mystika-preset-image-zafiro,
  .ddla-el-image-aureo,
  .ddla-el-image-zafiro
) .elementor-widget-container,
:is(.e-con, .elementor-section, .elementor-column):is(
  .ddla-mystika-preset-image-aureo,
  .ddla-mystika-preset-image-zafiro,
  .ddla-el-image-aureo,
  .ddla-el-image-zafiro
) {
  padding: 0;
  background: transparent;
}

/* ==========================================================================\
   0.2.0 · Mystika card layouts
   ========================================================================== */

.elementor-widget-ddla-mystika-card .ddla-elementor-card {
  width: 100%;
  --ddla-card-overlay-color: #030811;
  --ddla-card-overlay-opacity: 0.72;
  --ddla-card-image-opacity: 1;
  --ddla-card-horizontal-media: 42%;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card .ddla-card__surface {
  min-height: var(--ddla-card-min-height, 420px);
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card .ddla-card__image {
  min-height: 0;
  opacity: var(--ddla-card-image-opacity, 1);
  filter: none;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card .ddla-card__media::after {
  z-index: 2;
  opacity: 0;
  background: none;
  transition: opacity 240ms ease;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--overlay-solid .ddla-card__media::after {
  opacity: var(--ddla-card-overlay-opacity, .72);
  background: var(--ddla-card-overlay-color, #030811);
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--overlay-gradient .ddla-card__media::after {
  opacity: var(--ddla-card-overlay-opacity, .72);
  background: linear-gradient(180deg, transparent 5%, var(--ddla-card-overlay-color, #030811) 100%);
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--overlay-vignette .ddla-card__media::after {
  opacity: var(--ddla-card-overlay-opacity, .72);
  background: radial-gradient(circle at center, transparent 12%, var(--ddla-card-overlay-color, #030811) 100%);
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card:hover .ddla-card__image,
.elementor-widget-ddla-mystika-card .ddla-elementor-card:focus-within .ddla-card__image {
  opacity: var(--ddla-card-image-opacity, 1);
  filter: none;
  transform: none;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--zoom:hover .ddla-card__image,
.elementor-widget-ddla-mystika-card .ddla-elementor-card--zoom:focus-within .ddla-card__image {
  transform: scale(1.035);
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--align-start .ddla-card__body {
  justify-items: start;
  text-align: left;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--align-center .ddla-card__body {
  justify-items: center;
  margin-inline: auto;
  text-align: center;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--align-end .ddla-card__body {
  justify-items: end;
  margin-left: auto;
  text-align: right;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--badges-left .ddla-card__badges {
  right: auto;
  left: clamp(.85rem, 1.8vw, 1.15rem);
  justify-content: flex-start;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--cta-button .ddla-card__action {
  min-height: 2.4rem;
  margin-top: var(--ddla-space-sm, .75rem);
  padding: .62rem 1rem;
  border: 1px solid rgba(var(--ddla-card-accent-rgb, 201,168,93), .48);
  clip-path: polygon(7px 0, calc(100% - 7px) 0, 100% 7px, 100% calc(100% - 7px), calc(100% - 7px) 100%, 7px 100%, 0 calc(100% - 7px), 0 7px);
  background: rgba(3,8,17,.38);
}

/* Classic: image above content, without a mandatory gradient. */
.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-classic .ddla-card__surface {
  display: grid;
  grid-template-rows: auto 1fr;
}

/* Background: image fills the complete card and content floats independently. */
.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-background .ddla-card__surface {
  display: grid;
  grid-template: 1fr / 1fr;
  background: rgba(3,8,17,.14);
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-background .ddla-card__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-background .ddla-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-background .ddla-card__body {
  z-index: 4;
  width: 100%;
  align-self: end;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-background.ddla-elementor-card--vertical-top .ddla-card__body {
  align-self: start;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-background.ddla-elementor-card--vertical-center .ddla-card__body {
  align-self: center;
}

/* Horizontal variants. */
.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-left .ddla-card__surface,
.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-right .ddla-card__surface {
  display: grid;
  grid-template-columns: var(--ddla-card-horizontal-media, 42%) minmax(0, 1fr);
  grid-template-rows: 1fr;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-left .ddla-card__media,
.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-right .ddla-card__media {
  min-height: 100%;
  border-bottom: 0;
  border-right: 1px solid rgba(var(--ddla-card-accent-rgb, 201,168,93), .18);
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-left .ddla-card__image,
.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-right .ddla-card__image {
  width: 100%;
  height: 100%;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-right .ddla-card__media {
  grid-column: 2;
  grid-row: 1;
  border-right: 0;
  border-left: 1px solid rgba(var(--ddla-card-accent-rgb, 201,168,93), .18);
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-right .ddla-card__body {
  grid-column: 1;
  grid-row: 1;
}

/* Editorial: a quiet card that keeps the canonical border and material. */
.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-editorial {
  --ddla-card-min-height: 280px;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-editorial .ddla-card__surface {
  display: grid;
  grid-template-rows: 1fr;
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-editorial .ddla-card__body {
  align-self: center;
}

@media (max-width: 767px) {
  .elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-left .ddla-card__surface,
  .elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-right .ddla-card__surface {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  .elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-left .ddla-card__media,
  .elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-right .ddla-card__media {
    grid-column: 1;
    grid-row: 1;
    min-height: var(--ddla-card-media-height, 220px);
    border: 0;
    border-bottom: 1px solid rgba(var(--ddla-card-accent-rgb, 201,168,93), .18);
  }

  .elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-left .ddla-card__body,
  .elementor-widget-ddla-mystika-card .ddla-elementor-card--layout-horizontal-right .ddla-card__body {
    grid-column: 1;
    grid-row: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ddla-bridge-border path,
  .ddla-bridge-button-border path,
  .elementor-widget-ddla-mystika-card .ddla-card__image {
    animation: none !important;
    transition: none !important;
  }
}

.elementor-widget-ddla-mystika-card .ddla-elementor-card .ddla-card__excerpt p {
  margin: 0;
}

.elementor-widget-ddla-mystika-panel .ddla-elementor-panel {
  width: 100%;
}
