.souve-overlay-root{position:fixed;inset:0;z-index:auto;pointer-events:none}
.souve-overlay{position:fixed;top:var(--souve-overlay-vv-top,0);left:var(--souve-overlay-vv-left,0);width:var(--souve-overlay-vv-width,100vw);height:var(--souve-overlay-vv-height,100dvh);box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:calc(var(--souve-overlay-edge-gap,0px) + env(safe-area-inset-top,0px)) calc(var(--souve-overlay-edge-gap,0px) + env(safe-area-inset-right,0px)) calc(var(--souve-overlay-edge-gap,0px) + env(safe-area-inset-bottom,0px)) calc(var(--souve-overlay-edge-gap,0px) + env(safe-area-inset-left,0px));pointer-events:none;visibility:hidden}
.souve-overlay[data-safe-area="0"]{padding:var(--souve-overlay-edge-gap,0px)}
.souve-overlay[data-state="opening"],.souve-overlay[data-state="open"],.souve-overlay[data-state="closing"]{visibility:visible}
.souve-overlay__backdrop{position:absolute;inset:0;background:var(--souve-overlay-backdrop,rgba(0,0,0,.46));opacity:0;pointer-events:auto;backdrop-filter:blur(var(--souve-overlay-backdrop-blur,0px)) brightness(var(--souve-overlay-backdrop-brightness,1)) saturate(var(--souve-overlay-backdrop-saturate,1));-webkit-backdrop-filter:blur(var(--souve-overlay-backdrop-blur,0px)) brightness(var(--souve-overlay-backdrop-brightness,1)) saturate(var(--souve-overlay-backdrop-saturate,1));transition:opacity var(--souve-overlay-duration,.22s) var(--souve-overlay-easing,ease) var(--souve-overlay-delay,0ms)}
.souve-overlay[data-backdrop="none"] .souve-overlay__backdrop{display:none}
.souve-overlay[data-backdrop="full"]:not([data-interactive-reserve="1"]) .souve-overlay__backdrop{position:fixed;top:var(--souve-overlay-full-vv-top,0);left:var(--souve-overlay-full-vv-left,0);width:var(--souve-overlay-full-vv-width,100vw);height:var(--souve-overlay-full-vv-height,100dvh);inset:auto}
.souve-overlay[data-state="open"] .souve-overlay__backdrop{opacity:var(--souve-overlay-backdrop-opacity,1)}
.souve-overlay__surface{position:relative;left:var(--souve-overlay-offset-x,0px);top:var(--souve-overlay-offset-y,0px);z-index:1;box-sizing:border-box;width:var(--souve-overlay-width,auto);height:var(--souve-overlay-height,auto);min-width:var(--souve-overlay-min-width,0);min-height:var(--souve-overlay-min-height,0);max-width:var(--souve-overlay-max-width,min(92vw,720px));max-height:var(--souve-overlay-max-height,min(92dvh,900px));margin:var(--souve-overlay-margin,0);background:var(--souve-overlay-surface,#fff);color:var(--souve-overlay-color,inherit);border-style:var(--souve-overlay-border-style,solid);border-color:var(--souve-overlay-border-color,transparent);border-width:var(--souve-overlay-border-width,0);border-radius:var(--souve-overlay-radius,0);box-shadow:var(--souve-overlay-shadow,0 18px 70px rgba(0,0,0,.22));backdrop-filter:var(--souve-overlay-surface-filter,none);-webkit-backdrop-filter:var(--souve-overlay-surface-filter,none);overflow:visible;pointer-events:auto;outline:none;opacity:0;transform:none;transform-origin:var(--souve-overlay-transform-origin,center center);transition:transform var(--souve-overlay-duration,.22s) var(--souve-overlay-easing,ease) var(--souve-overlay-delay,0ms),opacity var(--souve-overlay-duration,.22s) var(--souve-overlay-easing,ease) var(--souve-overlay-delay,0ms)}
.souve-overlay__body{position:relative;z-index:1;box-sizing:border-box;width:100%;height:100%;max-height:inherit;padding:var(--souve-overlay-padding,0);overflow-x:var(--souve-overlay-overflow-x,hidden);overflow-y:var(--souve-overlay-overflow-y,auto);overscroll-behavior:var(--souve-overlay-overscroll,contain);scrollbar-width:var(--souve-overlay-scrollbar,auto);-webkit-overflow-scrolling:touch;background:inherit;border-radius:inherit}
.souve-overlay[data-animation="none"] .souve-overlay__surface{opacity:var(--souve-overlay-surface-opacity,1);transform:none!important;transition:none!important}
.souve-overlay[data-animation="fade"] .souve-overlay__surface{transform:none}
.souve-overlay[data-animation="scale"] .souve-overlay__surface,.souve-overlay[data-animation="fade-scale"] .souve-overlay__surface{transform:scale(var(--souve-overlay-scale,.965))}
.souve-overlay[data-animation="slide"] .souve-overlay__surface{transform:translate3d(0,var(--souve-overlay-distance,12px),0)}
.souve-overlay[data-state="open"] .souve-overlay__surface{opacity:var(--souve-overlay-surface-opacity,1);transform:translate3d(0,0,0)}
.souve-overlay[data-state="opening"] .souve-overlay__surface,.souve-overlay[data-state="closing"] .souve-overlay__surface{will-change:transform,opacity}
.souve-overlay[data-state="opening"] .souve-overlay__backdrop,.souve-overlay[data-state="closing"] .souve-overlay__backdrop{will-change:opacity}
.souve-overlay__close{position:absolute;z-index:4;width:var(--souve-overlay-close-size,40px);height:var(--souve-overlay-close-size,40px);display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--souve-overlay-close-radius,999px);background:var(--souve-overlay-close-bg,transparent);color:var(--souve-overlay-close-color,inherit);font:inherit;font-size:var(--souve-overlay-close-icon-size,28px);line-height:1;cursor:pointer;transition:color .15s ease,background-color .15s ease}
.souve-overlay__close:hover,.souve-overlay__close:focus-visible{color:var(--souve-overlay-close-hover-color,inherit);background:var(--souve-overlay-close-hover-bg,rgba(0,0,0,.06))}
.souve-overlay__close--inside-top-right{top:var(--souve-overlay-close-offset-y,10px);right:var(--souve-overlay-close-offset-x,10px)}
.souve-overlay__close--inside-top-left{top:var(--souve-overlay-close-offset-y,10px);left:var(--souve-overlay-close-offset-x,10px)}
.souve-overlay__close--outside-top-right{top:calc(0px - var(--souve-overlay-close-size,40px) - var(--souve-overlay-close-offset-y,10px));right:var(--souve-overlay-close-offset-x,0px)}
.souve-overlay__close--outside-top-left{top:calc(0px - var(--souve-overlay-close-size,40px) - var(--souve-overlay-close-offset-y,10px));left:var(--souve-overlay-close-offset-x,0px)}
.souve-overlay__drag-handle{display:block;width:max(var(--souve-overlay-drag-width,36px),44px);height:var(--souve-overlay-drag-hit-height,24px);padding:0;margin:0 auto;border:0;background:transparent;color:var(--souve-overlay-drag-color,currentColor);cursor:grab;touch-action:none}
.souve-overlay__drag-handle:before{content:"";display:block;width:var(--souve-overlay-drag-width,36px);height:var(--souve-overlay-drag-height,4px);margin:calc((var(--souve-overlay-drag-hit-height,24px) - var(--souve-overlay-drag-height,4px))/2) auto;border-radius:var(--souve-overlay-drag-radius,4px);background:currentColor;opacity:var(--souve-overlay-drag-opacity,.28)}
.souve-overlay__surface.is-dragging{transition:none!important}
.souve-overlay__arrow{position:absolute;z-index:0;display:none;width:calc(var(--souve-overlay-arrow-size,10px) + var(--souve-overlay-arrow-size,10px));height:calc(var(--souve-overlay-arrow-size,10px) + var(--souve-overlay-arrow-size,10px));box-sizing:border-box;background:var(--souve-overlay-arrow-color,#fff);border:var(--souve-overlay-arrow-border-width,0px) solid var(--souve-overlay-arrow-border-color,transparent);transform:rotate(45deg);pointer-events:none}
.souve-overlay--popover .souve-overlay__arrow{display:var(--souve-overlay-arrow-display,none)}
.souve-overlay--popover .souve-overlay__surface[data-placement^="bottom"] .souve-overlay__arrow{top:calc(0px - var(--souve-overlay-arrow-size,10px));left:clamp(var(--souve-overlay-arrow-size,10px),calc(var(--souve-overlay-arrow-x,50%) - var(--souve-overlay-arrow-size,10px)),calc(100% - var(--souve-overlay-arrow-size,10px) - var(--souve-overlay-arrow-size,10px) - var(--souve-overlay-arrow-size,10px)))}
.souve-overlay--popover .souve-overlay__surface[data-placement^="top"] .souve-overlay__arrow{bottom:calc(0px - var(--souve-overlay-arrow-size,10px));left:clamp(var(--souve-overlay-arrow-size,10px),calc(var(--souve-overlay-arrow-x,50%) - var(--souve-overlay-arrow-size,10px)),calc(100% - var(--souve-overlay-arrow-size,10px) - var(--souve-overlay-arrow-size,10px) - var(--souve-overlay-arrow-size,10px)))}
.souve-overlay--popover .souve-overlay__surface[data-placement^="right"] .souve-overlay__arrow{left:calc(0px - var(--souve-overlay-arrow-size,10px));top:clamp(var(--souve-overlay-arrow-size,10px),calc(var(--souve-overlay-arrow-y,50%) - var(--souve-overlay-arrow-size,10px)),calc(100% - var(--souve-overlay-arrow-size,10px) - var(--souve-overlay-arrow-size,10px) - var(--souve-overlay-arrow-size,10px)))}
.souve-overlay--popover .souve-overlay__surface[data-placement^="left"] .souve-overlay__arrow{right:calc(0px - var(--souve-overlay-arrow-size,10px));top:clamp(var(--souve-overlay-arrow-size,10px),calc(var(--souve-overlay-arrow-y,50%) - var(--souve-overlay-arrow-size,10px)),calc(100% - var(--souve-overlay-arrow-size,10px) - var(--souve-overlay-arrow-size,10px) - var(--souve-overlay-arrow-size,10px)))}
.souve-overlay--fullscreen .souve-overlay__surface,.souve-overlay--viewport-panel .souve-overlay__surface{width:100%;height:100%;max-width:none;max-height:none;border-radius:var(--souve-overlay-radius,0)}
.souve-overlay--drawer[data-side="right"]{justify-content:flex-end}.souve-overlay--drawer[data-side="left"]{justify-content:flex-start}
.souve-overlay--drawer[data-side="top"]{align-items:flex-start}.souve-overlay--drawer[data-side="bottom"]{align-items:flex-end}
.souve-overlay--drawer[data-animation="slide"][data-side="right"] .souve-overlay__surface{transform:translate3d(100%,0,0)}
.souve-overlay--drawer[data-animation="slide"][data-side="left"] .souve-overlay__surface{transform:translate3d(-100%,0,0)}
.souve-overlay--drawer[data-animation="slide"][data-side="top"] .souve-overlay__surface{transform:translate3d(0,-100%,0)}
.souve-overlay--drawer[data-animation="slide"][data-side="bottom"] .souve-overlay__surface{transform:translate3d(0,100%,0)}
.souve-overlay--drawer[data-state="open"] .souve-overlay__surface{transform:translate3d(0,0,0)}
.souve-overlay--bottom-sheet{align-items:flex-end}
.souve-overlay--bottom-sheet .souve-overlay__surface{max-height:var(--souve-overlay-max-height,90dvh);border-radius:var(--souve-overlay-radius,18px 18px 0 0)}
.souve-overlay--bottom-sheet[data-animation="slide"] .souve-overlay__surface{transform:translate3d(0,100%,0)}
.souve-overlay--bottom-sheet[data-state="open"] .souve-overlay__surface{transform:translate3d(0,0,0)}
.souve-overlay--popover{display:block;padding:0;pointer-events:none}
.souve-overlay--popover .souve-overlay__surface{position:absolute;left:0;top:0;width:var(--souve-overlay-width,max-content);height:auto;max-width:var(--souve-overlay-max-width,min(92vw,520px));max-height:var(--souve-overlay-max-height,min(80dvh,720px))}
.souve-overlay--popover[data-backdrop="none"]{background:transparent}
.souve-overlay__reserved-blocker{position:fixed;z-index:3;pointer-events:auto;background:transparent}
.souve-overlay__reserved-blocker--bottom{left:0;right:0;bottom:0;height:var(--souve-overlay-reserved-size)}.souve-overlay__reserved-blocker--top{left:0;right:0;top:0;height:var(--souve-overlay-reserved-size)}
.souve-overlay__reserved-blocker--left{top:0;bottom:0;left:0;width:var(--souve-overlay-reserved-size)}.souve-overlay__reserved-blocker--right{top:0;bottom:0;right:0;width:var(--souve-overlay-reserved-size)}
.souve-overlay__error{padding:32px;text-align:center}
@media(prefers-reduced-motion:reduce){.souve-overlay__surface,.souve-overlay__backdrop{transition:none!important;animation:none!important}}
.souve-overlay__sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Elementor nested authoring preview only. Front-end uses the same canonical runtime as Global Overlays. */
.souve-elementor-offcanvas-editor{position:fixed;inset:0;width:100vw;height:100vh;z-index:2147483630;box-sizing:border-box;display:flex;justify-content:var(--souve-overlay-editor-justify,flex-end);align-items:var(--souve-overlay-editor-align,center);overflow:hidden;pointer-events:none;isolation:isolate}
.souve-elementor-offcanvas-editor.is-editing-open{opacity:1;visibility:visible}
.souve-elementor-offcanvas-editor.is-editing-closed{opacity:0;visibility:hidden;pointer-events:none}
.souve-elementor-offcanvas-editor.is-editing-closed *{pointer-events:none!important}
.souve-elementor-offcanvas-editor__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.32);backdrop-filter:blur(var(--souve-overlay-editor-backdrop-blur,0px)) brightness(var(--souve-overlay-editor-backdrop-brightness,1)) saturate(var(--souve-overlay-editor-backdrop-saturate,1));pointer-events:none}
.souve-elementor-offcanvas-editor__surface{position:relative;z-index:2;box-sizing:border-box;width:min(420px,90vw);min-height:180px;background:#fff;color:inherit;box-shadow:0 18px 70px rgba(0,0,0,.18);backdrop-filter:blur(var(--souve-overlay-editor-surface-blur,0px)) brightness(var(--souve-overlay-editor-surface-brightness,1)) saturate(var(--souve-overlay-editor-surface-saturate,1));pointer-events:auto;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px)}
.souve-elementor-offcanvas-editor__surface>.souve-elementor-offcanvas__content{position:relative;min-height:180px;padding:0}
.souve-elementor-offcanvas-editor__content-label{position:absolute;top:7px;left:8px;z-index:7;padding:3px 7px;border-radius:5px;background:rgba(20,24,31,.72);color:#fff;font:500 10px/1.2 Arial,sans-serif;letter-spacing:.01em;pointer-events:none;opacity:.72}
.souve-elementor-offcanvas-editor__marker{display:none;align-items:center;gap:7px;width:max-content;max-width:100%;min-height:34px;padding:7px 10px;border:1px dashed rgba(127,127,127,.45);border-radius:6px;background:rgba(127,127,127,.06);color:rgba(80,80,80,.9);font-size:11px;line-height:1;cursor:default}
.souve-elementor-offcanvas-editor.is-editing-closed + .souve-elementor-offcanvas-editor__marker{display:flex}
.souve-elementor-offcanvas-editor.is-editing-open + .souve-elementor-offcanvas-editor__marker{display:none}
.souve-elementor-offcanvas-editor__marker i{font-size:14px}
.souve-elementor-offcanvas-editor__anchor{position:absolute;left:50%;top:50%;width:52px;height:30px;transform:translate(-50%,-50%);border:1px dashed rgba(90,90,90,.7);border-radius:8px;background:rgba(127,127,127,.08);z-index:1;pointer-events:none}.souve-elementor-offcanvas-editor__anchor:after{content:"Anchor";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:9px;line-height:1;color:#666}
.souve-elementor-offcanvas-editor.is-preview-type-fullscreen .souve-elementor-offcanvas-editor__surface{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;border-radius:0!important;margin:0!important}.souve-elementor-offcanvas-editor.is-preview-type-bottom-sheet{align-items:flex-end!important}.souve-elementor-offcanvas-editor.is-preview-type-popover{overflow:visible}.souve-elementor-offcanvas-editor.is-preview-type-popover .souve-elementor-offcanvas-editor__backdrop{opacity:.12}.souve-elementor-offcanvas-editor.is-preview-type-popover .souve-elementor-offcanvas-editor__surface{z-index:3}
.souve-elementor-offcanvas-editor__drag-handle{display:block;position:absolute;z-index:8;width:var(--souve-overlay-editor-drag-hit,24px);height:var(--souve-overlay-editor-drag-hit,24px);padding:0!important;margin:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;appearance:none!important;pointer-events:none!important;font-size:0!important;line-height:0!important;min-width:0!important;min-height:0!important}.souve-elementor-offcanvas-editor__drag-handle:before{content:"";display:block;width:var(--souve-overlay-editor-drag-width,36px);height:var(--souve-overlay-editor-drag-height,4px);margin:auto;border-radius:var(--souve-overlay-editor-drag-radius,999px);background:var(--souve-overlay-editor-drag-color,#9ca3af);opacity:var(--souve-overlay-editor-drag-opacity,.5)}.souve-elementor-offcanvas-editor__drag-handle[hidden]{display:none}.souve-elementor-offcanvas-editor__drag-handle.is-position-top{top:6px;left:50%;transform:translateX(-50%)}.souve-elementor-offcanvas-editor__drag-handle.is-position-bottom{bottom:6px;left:50%;transform:translateX(-50%)}.souve-elementor-offcanvas-editor__drag-handle.is-position-left,.souve-elementor-offcanvas-editor__drag-handle.is-position-right{top:50%;width:var(--souve-overlay-editor-drag-hit,24px);height:max(var(--souve-overlay-editor-drag-width,36px),44px);transform:translateY(-50%)}.souve-elementor-offcanvas-editor__drag-handle.is-position-left{left:6px}.souve-elementor-offcanvas-editor__drag-handle.is-position-right{right:6px}.souve-elementor-offcanvas-editor__drag-handle.is-position-left:before,.souve-elementor-offcanvas-editor__drag-handle.is-position-right:before{width:var(--souve-overlay-editor-drag-height,4px);height:var(--souve-overlay-editor-drag-width,36px)}
body.elementor-editor-active .elementor-widget-souve_offcanvas{--kit-widget-spacing:0px}

.souve-overlay--popover .souve-overlay__surface[data-placement="center"] .souve-overlay__arrow{display:none}
.souve-elementor-offcanvas-editor__close{position:absolute;z-index:9;width:var(--souve-overlay-editor-close-size,40px);height:var(--souve-overlay-editor-close-size,40px);display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--souve-overlay-editor-close-radius,999px);background:var(--souve-overlay-editor-close-bg,transparent);color:var(--souve-overlay-editor-close-color,inherit);font:inherit;font-size:var(--souve-overlay-editor-close-icon-size,28px);line-height:1;pointer-events:none}.souve-elementor-offcanvas-editor__close.is-position-inside-top-right{top:var(--souve-overlay-editor-close-offset-y,10px);right:var(--souve-overlay-editor-close-offset-x,10px)}.souve-elementor-offcanvas-editor__close.is-position-inside-top-left{top:var(--souve-overlay-editor-close-offset-y,10px);left:var(--souve-overlay-editor-close-offset-x,10px)}.souve-elementor-offcanvas-editor__close.is-position-outside-top-right{top:calc(0px - var(--souve-overlay-editor-close-size,40px) - var(--souve-overlay-editor-close-offset-y,10px));right:var(--souve-overlay-editor-close-offset-x,0px)}.souve-elementor-offcanvas-editor__close.is-position-outside-top-left{top:calc(0px - var(--souve-overlay-editor-close-size,40px) - var(--souve-overlay-editor-close-offset-y,10px));left:var(--souve-overlay-editor-close-offset-x,0px)}
.souve-elementor-offcanvas-editor__close[hidden]{display:none}

.souve-overlay-debug{position:fixed;right:12px;bottom:12px;z-index:2147483640;width:min(420px,calc(100vw - 24px));max-height:70vh;overflow:auto;padding:10px;border:1px solid rgba(127,127,127,.35);border-radius:10px;background:#111827;color:#f9fafb;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:0 14px 48px rgba(0,0,0,.32)}.souve-overlay-debug>summary{cursor:pointer;font:600 12px/1.4 system-ui,sans-serif}.souve-overlay-debug select{width:100%;margin:10px 0 8px;padding:6px;background:#fff;color:#111;border-radius:6px}.souve-overlay-debug pre{margin:0;white-space:pre-wrap;word-break:break-word}

/* SOUVE DARK OVERLAY NATIVE — runtime defaults only; per-overlay authored CSS variables remain authoritative. */
html[data-souve-theme="dark"] .souve-overlay{
  --souve-overlay-surface:var(--souve-bg-surface-raised);
  --souve-overlay-color:var(--souve-text-primary);
  --souve-overlay-border-color:var(--souve-border);
  --souve-overlay-arrow-color:var(--souve-bg-surface-raised);
  --souve-overlay-arrow-border-color:var(--souve-border);
  --souve-overlay-close-color:var(--souve-icon-primary);
  --souve-overlay-close-hover-color:var(--souve-text-primary);
  --souve-overlay-close-hover-bg:var(--souve-bg-surface-sunken);
  --souve-overlay-drag-color:var(--souve-icon-secondary);
}
html[data-souve-theme="dark"] .souve-overlay__surface{background:var(--souve-overlay-surface);color:var(--souve-overlay-color);border-color:var(--souve-overlay-border-color)}
html[data-souve-theme="dark"] .souve-overlay__arrow{background:var(--souve-overlay-arrow-color);border-color:var(--souve-overlay-arrow-border-color)}
