/* Velara integrated site layer — Home, shared header and viewport */
:root{
  --velara-header-clearance:118px;
  --velara-font:Sylfaen,Georgia,"Times New Roman",serif;
  --velara-editorial-font:var(--velara-font);
  --velara-description-font:var(--velara-font);
  --velara-ui-font:var(--velara-font);
}
.velara-site,.velara-header{
  --velara-purple:#6e3bb8;
  --velara-purple-dark:#3e236e;
  --velara-muted:#756987;
  --velara-text:#30213f;
  --velara-border:rgba(110,59,184,.18);
  font-family:Inter,Arial,sans-serif;
  color:var(--velara-text)
}
.velara-site *,.velara-header *{box-sizing:border-box}
.velara-site a,.velara-header a{text-decoration:none}
.velara-site .elementor-widget,.velara-header .elementor-widget{margin-block-end:0}
.velara-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.velara-site{overflow-x:clip;overflow-y:visible}
.velara-btn .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 30px;border:1px solid transparent;border-radius:12px;
  background:linear-gradient(135deg,#7a42c8,#6330a9);color:#fff;
  font:700 14px/1 Inter,Arial,sans-serif;letter-spacing:.02em;
  box-shadow:0 16px 34px rgba(110,59,184,.28);
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease
}
.velara-btn .elementor-button:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 42px rgba(110,59,184,.34);
  filter:saturate(1.08)
}

/* Header */
.velara-header{
  position:absolute;inset:0 0 auto;z-index:60;width:100%;
  padding:28px 0;background:transparent
}
.admin-bar .velara-header{top:32px}
.velara-nav{position:relative}
.velara-logo{flex:0 0 auto}
.velara-logo-word .elementor-heading-title{
  color:var(--velara-purple-dark);
  font:400 28px/1 Georgia,serif;
  letter-spacing:.32em;text-transform:uppercase
}
.velara-logo-sub .elementor-heading-title{
  color:var(--velara-muted);
  font:400 9px/1.2 Arial,sans-serif;
  letter-spacing:.36em;text-transform:uppercase
}
.velara-nav-menu{position:relative}
.velara-nav-link{width:auto}
.velara-nav-link .elementor-button{
  padding:10px 9px;background:transparent!important;
  color:var(--velara-purple-dark)!important;border:0!important;
  box-shadow:none!important;font-size:14px;font-weight:700;white-space:nowrap
}
.velara-header-cta{flex:0 0 auto}
.velara-header-tools{width:auto}
.velara-cart-icon .elementor-icon{
  width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
  background:rgba(255,255,255,.42);border:1px solid rgba(110,59,184,.16);
  color:var(--velara-purple-dark);font-size:17px
}
.velara-menu-toggle{display:none}
.velara-menu-toggle-button{
  width:42px;height:42px;border:1px solid rgba(110,59,184,.18);
  border-radius:12px;background:rgba(255,255,255,.7);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:5px;cursor:pointer
}
.velara-menu-toggle-button span{
  display:block;width:18px;height:2px;
  background:var(--velara-purple-dark);transition:.25s
}

/* Home hero */
.velara-hero{
  position:relative;overflow-x:clip;overflow-y:visible;background-color:#fbf7ff
}
.velara-hero.velara-hero-split-bg{
  isolation:isolate;
  background-size:54% 100%!important;
  background-position:right top!important;
  background-repeat:no-repeat!important
}
.velara-hero.velara-hero-split-bg:before{
  content:"";position:absolute;top:0;right:0;bottom:0;left:32%;
  z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 58% 64% at 82% 12%,
      rgba(255,215,241,.74) 0%,rgba(255,215,241,.38) 42%,
      rgba(255,215,241,0) 74%),
    linear-gradient(90deg,
      rgba(249,239,255,0) 0%,rgba(248,228,255,.28) 24%,
      rgba(246,218,252,.43) 46%,rgba(244,205,244,.30) 66%,
      rgba(255,213,238,.15) 84%,rgba(255,255,255,.02) 100%)
}
.velara-hero.velara-hero-split-bg:after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    radial-gradient(ellipse 38% 132% at 39% 50%,
      #fbf7ff 0%,#fbf7ff 48%,rgba(251,247,255,.99) 58%,
      rgba(250,239,255,.94) 67%,rgba(248,225,254,.72) 76%,
      rgba(245,208,247,.34) 86%,rgba(255,255,255,0) 97%),
    linear-gradient(90deg,
      #fbf7ff 0%,rgba(251,247,255,1) 34%,
      rgba(251,247,255,.98) 41%,rgba(250,238,255,.88) 48%,
      rgba(248,223,253,.58) 56%,rgba(246,211,248,.24) 64%,
      rgba(255,255,255,0) 72%)
}
.velara-hero-decor{
  position:absolute!important;inset:0;z-index:3;pointer-events:none
}
.velara-page-progress{display:none!important}
.velara-oil-cursor{
  position:fixed;width:18px;height:24px;pointer-events:none;z-index:9998;
  opacity:.55;background:radial-gradient(circle at 35% 25%,#fff,#e9cfff 30%,#8a4ed3 78%);
  border-radius:60% 60% 65% 65%;transform:translate(-50%,-50%) rotate(45deg);
  filter:drop-shadow(0 0 12px rgba(138,78,211,.45))
}
.velara-particle-layer{position:absolute;inset:0;overflow:hidden}
.velara-particle{
  position:absolute;width:5px;height:5px;border-radius:50%;
  background:rgba(126,71,197,.35);
  box-shadow:0 0 14px rgba(126,71,197,.5);
  animation:velaraParticle var(--d) ease-in-out infinite;
  opacity:var(--o)
}
.velara-oil-drop{
  position:absolute;top:112px;left:50%;width:46px;height:66px;
  transform:translateX(-50%) rotate(45deg);
  border-radius:72% 48% 76% 44%;
  background:
    radial-gradient(circle at 30% 24%,rgba(255,255,255,.98),
      rgba(246,222,255,.72) 18%,transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.82),
      rgba(189,135,238,.56),rgba(103,58,170,.74));
  box-shadow:0 0 22px rgba(177,115,231,.42),0 22px 60px rgba(110,59,184,.25);
  animation:velaraDrop 4.8s ease-in-out infinite
}
.velara-oil-ripple{
  position:absolute;top:395px;left:50%;width:210px;height:54px;
  transform:translateX(-50%);border-radius:50%;
  border:1px solid rgba(110,59,184,.22);
  background:radial-gradient(ellipse at center,
    rgba(255,255,255,.8),rgba(201,163,242,.28),transparent 68%);
  animation:velaraRipple 4.8s ease-in-out infinite
}

/* Component-owned Home shell.
 * The Hero may fill a screen, but it is never capped to one.
 */
.velara-hero.velara-hero-split-bg{
  height:auto!important;
  min-height:100svh!important;
  max-height:none!important;
  padding:0!important;
  overflow:visible!important;
}

.velara-hero.velara-hero-split-bg
.velara-shell.velara-hero-grid{
  position:relative;
  z-index:4;
  display:flex!important;
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  height:auto!important;
  min-height:100svh!important;
  max-height:none!important;
  margin-inline:auto!important;
  padding:max(68px,var(--velara-header-clearance,118px)) 0 28px!important;
  gap:0!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

.velara-hero.velara-hero-split-bg
.velara-shell.velara-hero-grid > .elementor-element,
.velara-hero.velara-hero-split-bg
.velara-shell.velara-hero-grid > .e-con-inner{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  flex:0 1 auto!important;
  align-self:auto!important;
  margin:0!important;
  overflow:visible!important;
}

.admin-bar .velara-hero.velara-hero-split-bg
.velara-shell.velara-hero-grid{
  min-height:calc(100svh - 32px)!important;
}

@media(min-width:981px) and (max-height:720px){
  .velara-hero.velara-hero-split-bg
  .velara-shell.velara-hero-grid{
    padding-top:max(56px,var(--velara-header-clearance,112px))!important;
    padding-bottom:18px!important;
  }
}

/* Home is a single Finder surface. Theme/template footer shells are absent. */
body.vsf-home-page footer#site-footer,
body.vsf-home-page footer.site-footer,
body.vsf-home-page #colophon,
body.vsf-home-page .site-footer.dynamic-footer,
body.vsf-home-page > .site-footer,
body.vsf-home-page [data-elementor-type="footer"],
body.vsf-home-page .elementor-location-footer,
body.vsf-home-page .footer-width-fixer,
body.vsf-home-page .ekit-template-content-footer,
body.vsf-home-page .ekit-template-content-markup.ekit-template-content-footer,
body.vsf-home-page .velara-footer{
  display:none!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

@media(max-width:1180px){
  body.vsf-home-page,
  body.vsf-home-page #page,
  body.vsf-home-page .site,
  body.vsf-home-page .site-content,
  body.vsf-home-page .content-area,
  body.vsf-home-page main#content,
  body.vsf-home-page main.site-main,
  body.vsf-home-page .site-main,
  body.vsf-home-page article,
  body.vsf-home-page .entry-content,
  body.vsf-home-page .page-content,
  body.vsf-home-page [data-elementor-type="wp-page"],
  body.vsf-home-page [data-elementor-type="wp-post"]{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    min-block-size:0!important;
    max-height:none!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
    flex:0 0 auto!important;
    flex-grow:0!important;
    flex-basis:auto!important;
    align-self:auto!important;
    overflow-x:clip!important;
  }
}

@keyframes velaraDrop{
  0%,100%{transform:translateX(-50%) translateY(-16px) rotate(45deg)}
  50%{transform:translateX(-50%) translateY(34px) rotate(45deg) scale(.92)}
}
@keyframes velaraRipple{
  0%,100%{transform:translateX(-50%) scale(.86);opacity:.35}
  50%{transform:translateX(-50%) scale(1.25);opacity:.75}
}
@keyframes velaraParticle{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(18px,-38px,0)}
}

@media(prefers-reduced-motion:reduce){
  .velara-site *,.velara-site *:before,.velara-site *:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important
  }
}

/* =========================================================
   v1.4.1 — dynamic header clearance.
   The Home reserves the real rendered header height instead
   of relying on a fixed top padding.
   ========================================================= */
.velara-hero.velara-hero-split-bg{
  --velara-header-clearance:118px;
}

.velara-header{
  isolation:isolate;
}

.velara-header .velara-logo,
.velara-header .velara-logo-word,
.velara-header .velara-logo-sub{
  position:relative;
  z-index:2;
}

/*
 * Prevent Elementor widget margins or line boxes from extending
 * unpredictably beyond the visible logo group.
 */
.velara-header .velara-logo .elementor-widget,
.velara-header .velara-logo-word,
.velara-header .velara-logo-sub{
  margin:0!important;
}

@media(min-width:981px) and (hover:hover) and (pointer:fine){
  .velara-hero.velara-hero-split-bg
  .velara-shell.velara-hero-grid{
    transition:padding-top .22s ease;
  }
}

@media(prefers-reduced-motion:reduce){
  .velara-hero.velara-hero-split-bg
  .velara-shell.velara-hero-grid{
    transition:none!important;
  }
}

/* =========================================================
   v1.4.9 — Sylfaen as the single Velara site typeface.
   Only font-family is overridden. No layout metric is changed.
   ========================================================= */

body,
body *{
  font-family:var(--velara-font)!important;
}

button,
input,
select,
textarea,
option,
label{
  font-family:var(--velara-font)!important;
}

.elementor-widget-heading,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-button,
.elementor-widget-button .elementor-button,
.elementor-nav-menu,
.elementor-nav-menu a{
  font-family:var(--velara-font)!important;
}

/* Finder path kicker canonical treatment. Header slogan styles live in header.css. */
html body .vsf-app:not(.vsf-final-overlay) .vsf-path-kicker{
  display:block!important;
  margin:0 0 8px!important;
  padding:0!important;
  color:#7140a8!important;
  font-family:var(--velara-font)!important;
  font-size:10px!important;
  font-style:normal!important;
  font-weight:600!important;
  line-height:1.1!important;
  letter-spacing:.19em!important;
  text-decoration:none!important;
  text-shadow:none!important;
  text-transform:uppercase!important;
  -webkit-text-stroke:0!important;
}

.velara-site,
.velara-site *,
.velara-header,
.velara-header *,
.vsf-app,
.vsf-app *,
.vsf-shop,
.vsf-shop *,
.vsf-commerce-intro,
.vsf-commerce-intro *,
.vsf-commerce-scope,
.vsf-commerce-scope *,
.woocommerce,
.woocommerce *,
.woocommerce-page,
.woocommerce-page *,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-cart *,
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-checkout *{
  font-family:var(--velara-font)!important;
}

/* =========================================================
   v1.5.0 — refined type weight without changing the font family.
   ========================================================= */
.vsf-title,
.vsf-question,
.vsf-path-chooser h3,
.vsf-known-flow h3,
.vsf-shop h1,
.vsf-shop h2,
.vsf-shop h3,
.vsf-commerce-intro h1,
.vsf-commerce-scope h1,
.vsf-commerce-scope h2,
.vsf-commerce-scope h3{
  font-weight:400!important;
}

.vsf-app strong,
.vsf-shop strong,
.vsf-app button,
.vsf-shop button,
.vsf-shop a,
.vsf-commerce-scope button,
.vsf-commerce-scope a,
.velara-header .elementor-button{
  font-weight:500!important;
}

/* =========================================================
   v1.5.6 — global readability and contrast tokens.
   Font family and layout remain unchanged.
   ========================================================= */
:root{
  --velara-ink-strong:#351f50;
  --velara-ink:#4f405c;
  --velara-copy:#5a4a65;
  --velara-muted-readable:#695b76;
  --velara-accent-readable:#6e3bb8;
  --velara-accent-dark:#4c217e;
}

.velara-site,
.velara-header{
  --velara-text:var(--velara-ink-strong);
  --velara-muted:var(--velara-copy);
  --velara-purple-dark:var(--velara-ink-strong);
}

/* Header UI remains elegant but no longer miniature. */
.velara-header .velara-nav-link .elementor-button,
.velara-header .velara-btn .elementor-button{
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.15!important;
}

.velara-header .velara-logo-sub .elementor-heading-title{
  color:#5f5069!important;
  font-size:10.5px!important;
  font-weight:400!important;
}

.velara-header .velara-cart-icon .elementor-icon{
  color:#351f50!important;
}

/* =========================================================
   v1.5.7 — filled-surface foreground contract.
   Dark purple backgrounds always use white foreground content.
   ========================================================= */
.velara-header .velara-btn .elementor-button,
.velara-header .velara-nav-link .elementor-button{
  color:#fff!important;
}

.velara-header .velara-btn .elementor-button *,
.velara-header .velara-nav-link .elementor-button *{
  color:#fff!important;
  fill:#fff!important;
}

/* =========================================================
   v1.7.0 — component-owned responsive flow.
   No html/body scroll ownership and no body.home dependency.
   ========================================================= */
:root{
  --velara-safe-top:env(safe-area-inset-top,0px);
  --velara-safe-right:env(safe-area-inset-right,0px);
  --velara-safe-bottom:env(safe-area-inset-bottom,0px);
  --velara-safe-left:env(safe-area-inset-left,0px);
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

button,
a,
input,
select,
textarea,
[role="button"]{
  -webkit-tap-highlight-color:transparent;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"]{
  -webkit-appearance:none;
  appearance:none;
}

/*
 * These are the only elements allowed to own Home sizing.
 * Elementor page/body classes are intentionally irrelevant.
 */
.velara-site,
.velara-hero,
.velara-hero-grid,
.velara-hero-grid > .elementor-element,
.velara-hero-grid > .e-con-inner,
.velara-hero-grid .elementor-widget-velara_signature_finder,
.velara-hero-grid [data-widget_type^="velara_signature_finder"],
.velara-hero-grid
.elementor-widget-velara_signature_finder > .elementor-widget-container,
.velara-hero-grid
[data-widget_type^="velara_signature_finder"] > .elementor-widget-container{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

.velara-hero-grid > .elementor-element,
.velara-hero-grid > .e-con-inner,
.velara-hero-grid .elementor-widget-velara_signature_finder,
.velara-hero-grid [data-widget_type^="velara_signature_finder"],
.velara-hero-grid
.elementor-widget-velara_signature_finder > .elementor-widget-container,
.velara-hero-grid
[data-widget_type^="velara_signature_finder"] > .elementor-widget-container{
  min-height:0!important;
}

@media(max-width:980px){
  .velara-shell{
    width:min(calc(100% - 32px),1180px)!important;
  }

  .velara-header{
    padding:17px 0!important;
  }

  .velara-header .velara-shell{
    min-height:54px!important;
  }

  .velara-header-cta{
    display:flex!important;
  }

  .velara-menu-toggle{
    display:none!important;
  }

  .velara-nav-menu{
    display:flex!important;
    position:static!important;
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    flex-direction:row!important;
    align-items:center!important;
  }

  .velara-nav-link .elementor-button{
    width:auto!important;
    min-height:42px!important;
    justify-content:center!important;
    padding-inline:12px!important;
    font-size:12px!important;
  }

  .velara-btn .elementor-button{
    min-height:44px!important;
    padding-inline:17px!important;
    border-radius:11px!important;
    font-size:12px!important;
  }

  .velara-cart-icon .elementor-icon{
    width:40px!important;
    height:40px!important;
  }

  .velara-hero.velara-hero-split-bg{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:
      calc(var(--velara-header-clearance,128px) + 16px)
      0
      58px!important;
    overflow:visible!important;
    background-size:auto 38%!important;
    background-position:center bottom!important;
  }

  .velara-hero.velara-hero-split-bg
  .velara-shell.velara-hero-grid,
  .velara-hero.velara-hero-split-bg
  .velara-hero-grid{
    display:block!important;
    width:min(calc(100% - 32px),1180px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-inline:auto!important;
    padding:0!important;
    gap:0!important;
    overflow:visible!important;
  }

  .velara-hero.velara-hero-split-bg:before{
    top:58%!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
  }

  .velara-hero.velara-hero-split-bg:after{
    background:
      linear-gradient(
        180deg,
        #fbf7ff 0%,
        rgba(251,247,255,.99) 54%,
        rgba(249,234,255,.73) 65%,
        rgba(247,218,251,.28) 76%,
        rgba(255,255,255,0) 88%
      )!important;
  }
}

@media(max-width:782px){
  .admin-bar .velara-header{
    top:46px!important;
  }
}

@media(max-width:560px){
  .velara-shell,
  .velara-hero.velara-hero-split-bg
  .velara-shell.velara-hero-grid{
    width:min(calc(100% - 24px),1180px)!important;
  }

  .velara-header{
    padding:13px 0!important;
  }

  .velara-logo img{
    width:auto!important;
    max-width:min(126px,34vw)!important;
    height:auto!important;
  }

  .velara-hero.velara-hero-split-bg{
    padding-top:
      calc(var(--velara-header-clearance,112px) + 12px)!important;
    padding-bottom:48px!important;
    background-size:auto 30%!important;
  }

  .velara-oil-cursor{
    display:none!important;
  }
}

@media(hover:none){
  .velara-header a,
  .velara-header button,
  .velara-cart-icon .elementor-icon,
  .velara-btn .elementor-button,
  .velara-nav-link .elementor-button{
    min-width:44px!important;
    min-height:44px!important;
  }

  .velara-oil-cursor{
    display:none!important;
  }
}

/* iOS safe areas decorate the component; they never define page height. */
html.vsf-ios .velara-header{
  padding-top:max(13px,var(--velara-safe-top))!important;
  padding-right:max(12px,var(--velara-safe-right))!important;
  padding-bottom:13px!important;
  padding-left:max(12px,var(--velara-safe-left))!important;
}

@media(max-width:980px){
  html.vsf-ios .velara-hero.velara-hero-split-bg{
    padding-right:max(0px,var(--velara-safe-right))!important;
    padding-bottom:max(48px,calc(28px + var(--velara-safe-bottom)))!important;
    padding-left:max(0px,var(--velara-safe-left))!important;
  }
}

/* The final ritual is the only legitimate page lock. */
body.vsf-final-lock{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}

@media(max-width:874px) and (max-height:430px) and (orientation:landscape){
  .velara-hero.velara-hero-split-bg{
    padding-top:
      calc(var(--velara-header-clearance,104px) + 10px)!important;
    padding-bottom:34px!important;
  }
}

/* =========================================================
   v1.7.3 — responsive flow owned by the Velara component.
   Desktop keeps the immersive split hero. Tablet/mobile use
   normal document flow: no viewport lock, no absolute header.
   ========================================================= */
@media(max-width:1180px){
  .velara-site,
  .velara-site.elementor-element,
  .velara-site.e-con,
  .velara-hero,
  .velara-hero.elementor-element,
  .velara-hero.e-con,
  .velara-hero.velara-hero-split-bg{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
    contain:none!important;
    touch-action:pan-y!important;
  }

  .velara-header{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    z-index:60!important;
    width:100%!important;
  }

  .admin-bar .velara-header{
    top:auto!important;
  }

  .velara-hero.velara-hero-split-bg{
    padding:24px 0 52px!important;
    background-size:auto 34%!important;
    background-position:center bottom!important;
  }

  .velara-hero.velara-hero-split-bg
  .velara-shell.velara-hero-grid,
  .velara-hero.velara-hero-split-bg
  .velara-hero-grid,
  .velara-hero-grid > .elementor-element,
  .velara-hero-grid > .e-con-inner{
    display:block!important;
    width:min(calc(100% - 32px),1180px)!important;
    max-width:1180px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-inline:auto!important;
    padding:0!important;
    overflow:visible!important;
  }

  .velara-hero.velara-hero-split-bg:before{
    top:60%!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
  }

  .velara-hero.velara-hero-split-bg:after{
    background:
      linear-gradient(
        180deg,
        #fbf7ff 0%,
        rgba(251,247,255,.99) 54%,
        rgba(249,234,255,.73) 66%,
        rgba(247,218,251,.28) 78%,
        rgba(255,255,255,0) 90%
      )!important;
  }
}

@media(max-width:560px){
  .velara-hero.velara-hero-split-bg{
    padding:16px 0 42px!important;
    background-size:auto 25%!important;
  }

  .velara-hero.velara-hero-split-bg
  .velara-shell.velara-hero-grid,
  .velara-hero.velara-hero-split-bg
  .velara-hero-grid{
    width:min(calc(100% - 24px),1180px)!important;
  }
}

/* =========================================================
   v1.7.4 — exact desktop viewport, normal mobile document flow.
   ========================================================= */
@media(min-width:1181px){
  .velara-site.velara-hero.velara-hero-split-bg,
  .velara-hero.velara-hero-split-bg{
    height:100vh!important;
    height:100dvh!important;
    min-height:100vh!important;
    min-height:100dvh!important;
    max-height:100vh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
  }

  .admin-bar .velara-site.velara-hero.velara-hero-split-bg,
  .admin-bar .velara-hero.velara-hero-split-bg{
    height:calc(100vh - 32px)!important;
    height:calc(100dvh - 32px)!important;
    min-height:calc(100vh - 32px)!important;
    min-height:calc(100dvh - 32px)!important;
    max-height:calc(100vh - 32px)!important;
    max-height:calc(100dvh - 32px)!important;
  }

  .velara-hero.velara-hero-split-bg
  .velara-shell.velara-hero-grid{
    width:min(1180px,calc(100% - 40px))!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    padding-top:max(68px,var(--velara-header-clearance,118px))!important;
    padding-bottom:22px!important;
    overflow:hidden!important;
  }

  .velara-hero-grid .elementor-widget-velara_signature_finder,
  .velara-hero-grid [data-widget_type^="velara_signature_finder"],
  .velara-hero-grid [data-widget_type^="velara_signature_finder"] > .elementor-widget-container,
  .velara-hero-grid .elementor-widget-velara_signature_finder > .elementor-widget-container,
  .velara-hero-grid .vsf-app:not(.vsf-final-overlay){
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
  }

  .velara-hero-grid .vsf-app:not(.vsf-final-overlay){
    display:flex!important;
    align-items:center!important;
  }

  .velara-hero-grid .vsf-app:not(.vsf-final-overlay) .vsf-card{
    max-height:100%!important;
  }
}

@media(min-width:1181px) and (max-height:720px){
  .velara-hero.velara-hero-split-bg
  .velara-shell.velara-hero-grid{
    padding-top:max(82px,calc(var(--velara-header-clearance,112px) - 20px))!important;
    padding-bottom:12px!important;
  }

  .velara-hero-grid .vsf-app:not(.vsf-final-overlay) .vsf-card{
    row-gap:14px!important;
  }

  .velara-hero-grid .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    padding-top:16px!important;
    padding-bottom:16px!important;
  }
}

.vsf-mobile-cart-fallback{
  display:none;
}

@media(max-width:760px){
  .velara-header .vsf-mobile-cart-fallback{
    position:relative;
    z-index:3;
    display:inline-grid!important;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    min-width:42px!important;
    min-height:42px!important;
    margin-left:auto;
    border:1px solid rgba(110,59,184,.18);
    border-radius:50%;
    background:rgba(255,255,255,.82);
    color:var(--velara-purple-dark,#3e236e)!important;
    box-shadow:0 8px 20px rgba(74,35,112,.09);
    text-decoration:none!important;
  }

  .velara-header .vsf-mobile-cart-fallback svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .velara-header .vsf-mobile-cart-count{
    position:absolute;
    top:-4px;
    right:-4px;
    display:grid;
    place-items:center;
    min-width:18px;
    height:18px;
    padding:0 4px;
    border-radius:999px;
    background:#6e3bb8;
    color:#fff;
    font:600 10px/1 Inter,Arial,sans-serif;
  }
}

/* =========================================================
   v1.7.9 — mobile Home background continuity.
   The Elementor hero image now covers the complete mobile
   composition instead of shrinking into the lower bottle area.
   ========================================================= */
@media(max-width:760px){
  html body .velara-site.velara-hero.velara-hero-split-bg.vsf-mobile-home-flow,
  html body .velara-hero.velara-hero-split-bg{
    padding:12px 0 0!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }

  html body .velara-site.velara-hero.velara-hero-split-bg.vsf-mobile-home-flow:before,
  html body .velara-hero.velara-hero-split-bg:before{
    inset:0!important;
    background:
      radial-gradient(
        ellipse 82% 34% at 50% 13%,
        rgba(255,255,255,.12) 0%,
        rgba(249,229,255,.26) 48%,
        rgba(249,229,255,0) 100%
      )!important;
  }

  html body .velara-site.velara-hero.velara-hero-split-bg.vsf-mobile-home-flow:after,
  html body .velara-hero.velara-hero-split-bg:after{
    background:
      linear-gradient(
        180deg,
        rgba(251,247,255,.18) 0%,
        rgba(251,247,255,.38) 28%,
        rgba(251,247,255,.64) 55%,
        rgba(251,247,255,.78) 100%
      )!important;
  }
}

/* =========================================================
   v1.7.60 — one canonical Elementor footer on every Velara
   commerce surface.
   The Shop page's embedded copy is hidden; Shop, Cart,
   Checkout and Order Received all call the same saved
   Elementor footer template.
   ========================================================= */
body.vsf-shop-page
.elementor[data-elementor-type="wp-page"]
> .velara-footer{
  display:none!important;
}

body.vsf-shared-footer-surface footer#site-footer,
body.vsf-shared-footer-surface .site-footer.dynamic-footer,
body.vsf-shared-footer-surface > .site-footer,
body.vsf-shared-footer-surface .elementor-location-footer,
body.vsf-shared-footer-surface .ekit-template-content-footer,
body.vsf-shared-footer-surface
.ekit-template-content-markup.ekit-template-content-footer{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}


/* =========================================================
   v1.8.5 — saved fragrance profiles.
   Shared, scoped styles for Finder recovery and Shop saving.
   ========================================================= */
.vsf-profile-save-card,
.vsf-profile-retrieve,
.vsf-profile-saved-banner,
.vsf-profile-notice{
  box-sizing:border-box;
  font-family:var(--velara-ui-font,Sylfaen,Georgia,"Times New Roman",serif);
}
.vsf-profile-save-card *,
.vsf-profile-retrieve *,
.vsf-profile-saved-banner *{
  box-sizing:border-box;
}
.vsf-profile-save-card,
.vsf-profile-saved-banner{
  width:min(1120px,calc(100% - 40px));
  margin:20px auto 26px;
  padding:24px;
  border:1px solid rgba(110,59,184,.16);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(247,239,255,.86));
  box-shadow:0 18px 50px rgba(69,35,104,.08);
}
.vsf-profile-save-card{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);
  gap:28px;
  align-items:center;
}
.vsf-profile-save-card.is-inline-result{
  width:100%;
  margin:22px 0 0;
  grid-template-columns:1fr;
  padding:20px;
  border-radius:18px;
}
.vsf-profile-saved-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.vsf-profile-kicker{
  display:block;
  margin:0 0 8px;
  color:#7040ad;
  font:600 11px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.vsf-profile-save-copy h2,
.vsf-profile-saved-banner h2,
.vsf-profile-retrieve h4,
.vsf-profile-save-card.is-inline-result h4{
  margin:0;
  color:#30213f;
  font-family:var(--velara-editorial-font,Sylfaen,Georgia,serif);
  font-weight:400;
  line-height:1.15;
}
.vsf-profile-save-copy h2,
.vsf-profile-saved-banner h2{font-size:clamp(24px,3vw,36px)}
.vsf-profile-retrieve h4,
.vsf-profile-save-card.is-inline-result h4{font-size:22px}
.vsf-profile-save-copy p,
.vsf-profile-saved-banner p,
.vsf-profile-retrieve p,
.vsf-profile-save-card.is-inline-result p{
  margin:10px 0 0;
  color:#756987;
  font-size:15px;
  line-height:1.55;
}
.vsf-profile-save-card form>label:not(.vsf-profile-marketing-consent){
  display:block;
  margin:0 0 8px;
  color:#493a58;
  font:600 12px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.04em;
}
.vsf-profile-inline-form{
  display:flex;
  gap:10px;
  align-items:stretch;
}
.vsf-profile-inline-form input[type="email"]{
  flex:1 1 auto;
  min-width:0;
  min-height:50px;
  padding:0 16px;
  border:1px solid rgba(84,52,118,.2);
  border-radius:14px;
  background:#fff;
  color:#30213f;
  font:400 15px/1 Inter,Arial,sans-serif;
  box-shadow:none;
  outline:none;
}
.vsf-profile-inline-form input[type="email"]:focus{
  border-color:#8150bd;
  box-shadow:0 0 0 3px rgba(129,80,189,.12);
}
.vsf-profile-inline-form button{
  flex:0 0 auto;
  min-height:50px;
  padding:0 22px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,#7a42c8,#6330a9);
  color:#fff;
  font:700 13px/1 Inter,Arial,sans-serif;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(110,59,184,.22);
}
.vsf-profile-inline-form button:disabled{opacity:.62;cursor:wait}
.vsf-profile-marketing-consent{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:12px 0 0;
  color:#756987;
  font:400 12px/1.45 Inter,Arial,sans-serif;
  cursor:pointer;
}
.vsf-profile-marketing-consent input{
  width:15px;
  height:15px;
  margin:2px 0 0;
  accent-color:#6e3bb8;
}
.vsf-profile-status{
  min-height:19px;
  margin-top:10px;
  color:#685b74;
  font:500 12px/1.45 Inter,Arial,sans-serif;
}
[data-vsf-profile-state="success"] .vsf-profile-status{color:#3f7651}
[data-vsf-profile-state="error"] .vsf-profile-status{color:#a23f4b}
.vsf-profile-retrieve{
  margin:22px 0 2px;
  padding:18px;
  border:1px solid rgba(110,59,184,.14);
  border-radius:18px;
  background:rgba(255,255,255,.58);
}
.vsf-profile-retrieve .vsf-profile-inline-form{margin-top:14px}
.vsf-profile-notice{
  width:min(1120px,calc(100% - 40px));
  margin:16px auto;
  padding:14px 18px;
  border-radius:14px;
  font:500 13px/1.5 Inter,Arial,sans-serif;
}
.vsf-profile-notice.is-error{
  border:1px solid rgba(166,61,74,.24);
  background:#fff2f4;
  color:#8c3440;
}
.vsf-profile-notice.is-warning{
  width:auto;
  margin:0;
  border:1px solid rgba(156,104,38,.2);
  background:#fff8ea;
  color:#7b582d;
  max-width:420px;
}
@media(max-width:760px){
  .vsf-profile-save-card,
  .vsf-profile-saved-banner{
    width:min(100% - 24px,1120px);
    margin:14px auto 20px;
    padding:19px;
    border-radius:20px;
  }
  .vsf-profile-save-card{grid-template-columns:1fr;gap:18px}
  .vsf-profile-saved-banner{display:block}
  .vsf-profile-saved-banner .vsf-profile-notice{margin-top:16px}
  .vsf-profile-inline-form{flex-direction:column}
  .vsf-profile-inline-form button{width:100%}
  .vsf-profile-retrieve{padding:16px}
  .vsf-profile-notice{width:min(100% - 24px,1120px)}
}

/* =========================================================
   v1.8.16 — continuous Windows/high-DPI desktop composition.
   A desktop is identified by DPR + fine pointer/hover in JavaScript, then
   density is driven by the effective CSS viewport instead of a single
   resolution breakpoint. This keeps 125–350% display scaling predictable.
   ========================================================= */
html.vsf-scaled-desktop .velara-header{
  position:absolute!important;
  inset:var(--vsf-admin-bar-height,0px) 0 auto!important;
  width:100%!important;
  z-index:60!important;
}

html.vsf-scaled-desktop .velara-header .velara-logo img{
  display:block!important;
  width:auto!important;
  max-width:min(230px,27vw)!important;
  max-height:128px!important;
  object-fit:contain!important;
}

html.vsf-scaled-desktop[data-vsf-desktop-density="compact"] .velara-header{
  padding:18px 0!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="compact"] .velara-header .velara-logo img{
  max-height:108px!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="compact"] .velara-btn .elementor-button{
  min-height:42px!important;
  padding-inline:18px!important;
}

html.vsf-scaled-desktop[data-vsf-desktop-density="tight"] .velara-header{
  padding:11px 0!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="tight"] .velara-header .velara-logo img{
  max-height:82px!important;
  max-width:min(190px,23vw)!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="tight"] .velara-btn .elementor-button{
  min-height:38px!important;
  padding-inline:15px!important;
  font-size:11px!important;
}

html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .velara-header{
  padding:7px 0!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .velara-header .velara-logo img{
  max-height:62px!important;
  max-width:min(155px,21vw)!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .velara-btn .elementor-button{
  min-height:34px!important;
  padding-inline:12px!important;
  border-radius:9px!important;
  font-size:10px!important;
}

@media(max-width:1180px){
  html.vsf-scaled-desktop .velara-site,
  html.vsf-scaled-desktop .velara-site.elementor-element,
  html.vsf-scaled-desktop .velara-site.e-con,
  html.vsf-scaled-desktop .velara-hero,
  html.vsf-scaled-desktop .velara-hero.elementor-element,
  html.vsf-scaled-desktop .velara-hero.e-con,
  html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg,
  html.vsf-scaled-desktop .velara-hero.velara-hero-split-bg{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:calc(100dvh - var(--vsf-admin-bar-height,0px))!important;
    min-height:calc(100dvh - var(--vsf-admin-bar-height,0px))!important;
    max-height:calc(100dvh - var(--vsf-admin-bar-height,0px))!important;
    padding:0!important;
    overflow:hidden!important;
    contain:none!important;
    touch-action:auto!important;
    background-size:54% 100%!important;
    background-position:right top!important;
    background-repeat:no-repeat!important;
  }

  html.vsf-scaled-desktop .velara-hero.velara-hero-split-bg:before{
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:32%!important;
    background:
      radial-gradient(ellipse 58% 64% at 82% 12%,
        rgba(255,215,241,.74) 0%,rgba(255,215,241,.38) 42%,
        rgba(255,215,241,0) 74%),
      linear-gradient(90deg,
        rgba(249,239,255,0) 0%,rgba(248,228,255,.28) 24%,
        rgba(246,218,252,.43) 46%,rgba(244,205,244,.30) 66%,
        rgba(255,213,238,.15) 84%,rgba(255,255,255,.02) 100%)!important;
  }

  html.vsf-scaled-desktop .velara-hero.velara-hero-split-bg:after{
    background:
      radial-gradient(ellipse 38% 132% at 39% 50%,
        #fbf7ff 0%,#fbf7ff 48%,rgba(251,247,255,.99) 58%,
        rgba(250,239,255,.94) 67%,rgba(248,225,254,.72) 76%,
        rgba(245,208,247,.34) 86%,rgba(255,255,255,0) 97%),
      linear-gradient(90deg,
        #fbf7ff 0%,rgba(251,247,255,1) 34%,
        rgba(251,247,255,.98) 41%,rgba(250,238,255,.88) 48%,
        rgba(248,223,253,.58) 56%,rgba(246,211,248,.24) 64%,
        rgba(255,255,255,0) 72%)!important;
  }

  html.vsf-scaled-desktop .velara-hero.velara-hero-split-bg .velara-shell.velara-hero-grid,
  html.vsf-scaled-desktop .velara-hero.velara-hero-split-bg .velara-hero-grid,
  html.vsf-scaled-desktop .velara-hero-grid > .elementor-element,
  html.vsf-scaled-desktop .velara-hero-grid > .e-con-inner{
    position:relative!important;
    z-index:4!important;
    display:flex!important;
    width:min(1120px,calc(100% - 24px))!important;
    max-width:1120px!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin-inline:auto!important;
    padding:var(--velara-header-clearance,110px) 0 8px!important;
    overflow:hidden!important;
    align-items:stretch!important;
    justify-content:center!important;
  }

  html.vsf-scaled-desktop .velara-hero-grid .elementor-widget-velara_signature_finder,
  html.vsf-scaled-desktop .velara-hero-grid [data-widget_type^="velara_signature_finder"],
  html.vsf-scaled-desktop .velara-hero-grid [data-widget_type^="velara_signature_finder"] > .elementor-widget-container,
  html.vsf-scaled-desktop .velara-hero-grid .elementor-widget-velara_signature_finder > .elementor-widget-container,
  html.vsf-scaled-desktop .velara-hero-grid .vsf-app:not(.vsf-final-overlay){
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:visible!important;
  }

  html.vsf-scaled-desktop .velara-hero-grid .vsf-app:not(.vsf-final-overlay){
    display:flex!important;
    align-items:stretch!important;
  }
}
