:root{
  --vauu-purple:#6B35FF;
  --vauu-purple-dark:#20146A;
  --vauu-orange:#FF6B2C;
  --vauu-soft:#F4EDFF;
  --vauu-border:rgba(107,53,255,.16);
  --vauu-shadow:0 18px 45px rgba(32,20,106,.10);
}

.vauu-gallery{
  width:100%;
  max-width:var(--vauu-gallery-max-width,640px);
  margin:0 auto;
}
.vauu-gallery__stage{
  position:relative;
  width:100%;
  min-height:360px;
  border-radius:0;
  background:#fff;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  contain:layout paint;
}
.vauu-gallery--1-1 .vauu-gallery__stage{aspect-ratio:1/1;}
.vauu-gallery--4-5 .vauu-gallery__stage{aspect-ratio:4/5;}
.vauu-gallery--3-4 .vauu-gallery__stage{aspect-ratio:3/4;}
.vauu-gallery--16-9 .vauu-gallery__stage{aspect-ratio:16/9;}
.vauu-gallery__slide{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  will-change:opacity;
}
.vauu-gallery__slide.is-active{
  opacity:1;
  pointer-events:auto;
}
.vauu-gallery__slide img{
  width:100%;
  height:100%;
  object-fit:var(--vauu-gallery-fit,contain);
  display:block;
}
.vauu-gallery__arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:34px;
  height:34px;
  border:1px solid rgba(32,20,106,.08);
  border-radius:999px;
  background:rgba(255,255,255,.48);
  color:rgba(17,17,17,.66);
  font-size:24px;
  line-height:1;
  cursor:pointer;
  opacity:.56;
  box-shadow:0 5px 16px rgba(0,0,0,.04);
  backdrop-filter:blur(3px);
  transition:opacity .18s ease,background .18s ease,transform .18s ease;
}
.vauu-gallery__arrow:hover{background:rgba(255,255,255,.82);opacity:.92;transform:translateY(-50%) scale(1.04);}
.vauu-gallery__arrow--prev{left:10px;}
.vauu-gallery__arrow--next{right:10px;}
.vauu-gallery__nav-cursor{
  position:absolute;
  z-index:6;
  width:48px;
  height:48px;
  border-radius:999px;
  background:#6B35FF;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
  font-weight:700;
  line-height:1;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-50%) scale(.88);
  box-shadow:0 10px 26px rgba(107,53,255,.28);
  transition:opacity .12s ease,transform .12s ease;
}
.vauu-gallery__stage.is-cursor-active{cursor:none;}
.vauu-gallery__stage.is-cursor-active .vauu-gallery__nav-cursor{opacity:1;transform:translate(-50%,-50%) scale(1);}
@media (hover:none),(pointer:coarse){
  .vauu-gallery__nav-cursor{display:none!important;}
  .vauu-gallery__stage{cursor:auto!important;}
}
.vauu-gallery__dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:14px;
}
.vauu-gallery__dot{
  width:7px;
  height:7px;
  border:0;
  border-radius:99px;
  background:rgba(32,20,106,.22);
  cursor:pointer;
  padding:0;
}
.vauu-gallery__dot.is-active{background:#20146A; transform:scale(1.2);}

.vauu-dose{
  --vd-bg:#fff;
  background:var(--vd-bg);
  border:1px solid var(--vauu-border);
  border-radius:22px;
  padding:24px;
  box-shadow:var(--vauu-shadow);
  color:var(--vauu-purple-dark);
  max-width:420px;
  font-family:inherit;
}
.vauu-dose--standalone{background:#fff;}
.vauu-dose--product{background:#fff; box-shadow:none; max-width:100%; padding:18px;}
.vauu-dose__head span{
  display:block;
  color:var(--vauu-orange);
  font-size:28px;
  font-weight:700;
  line-height:1;
  margin-bottom:2px;
}
.vauu-dose__head h3{
  margin:0 0 12px;
  color:var(--vauu-purple);
  font-size:22px;
  line-height:1.1;
  font-weight:800;
}
.vauu-dose__head p{
  margin:0 0 18px;
  color:rgba(32,20,106,.72);
  font-size:14px;
}
.vauu-dose__control label{
  display:block;
  font-size:13px;
  color:rgba(32,20,106,.68);
  margin-bottom:8px;
}
.vauu-dose__control strong{
  display:block;
  color:var(--vauu-purple);
  font-size:21px;
  margin-bottom:8px;
}
.vauu-dose input[type=range]{
  width:100%;
  accent-color:var(--vauu-purple);
}
.vauu-dose__range-labels{
  display:flex;
  justify-content:space-between;
  font-size:11px;
  color:rgba(32,20,106,.55);
  margin-top:2px;
}
.vauu-dose__result{
  display:grid;
  grid-template-columns:minmax(110px,.9fr) 1.1fr;
  gap:14px;
  margin:20px 0 16px;
  align-items:center;
}
.vauu-dose__metric strong{
  display:block;
  color:var(--vauu-purple);
  font-size:21px;
  line-height:1.05;
}
.vauu-dose__metric small{
  display:block;
  margin-top:5px;
  color:rgba(32,20,106,.62);
  font-weight:700;
}
.vauu-dose__result p{
  margin:0;
  font-size:13px;
  color:rgba(32,20,106,.68);
  line-height:1.45;
}
.vauu-dose__recommendation{
  border:1px solid var(--vauu-border);
  background:var(--vauu-soft);
  border-radius:18px;
  padding:14px;
}
.vauu-dose__recommendation span{
  display:block;
  font-size:12px;
  color:rgba(32,20,106,.62);
  margin-bottom:3px;
}
.vauu-dose__recommendation strong{
  display:block;
  font-size:17px;
  color:var(--vauu-purple-dark);
}
.vauu-dose__recommendation small{
  display:block;
  margin-top:4px;
  color:rgba(32,20,106,.66);
}
.vauu-dose__apply{
  margin-top:12px;
  border:0;
  border-radius:999px;
  background:var(--vauu-purple);
  color:#fff;
  padding:10px 16px;
  font-weight:800;
  cursor:pointer;
}
.vauu-dose__apply:hover{filter:brightness(.96);}
.vauu-dose__apply.is-done{background:#20146A;}

.vauu-gift-fields{
  margin:18px 0;
  padding:18px;
  background:#F4EDFF;
  border:1px solid var(--vauu-border);
  border-radius:18px;
}
.vauu-gift-fields h3{margin:0 0 14px;color:var(--vauu-purple-dark);}
.vauu-gift-fields__row{margin:0 0 12px;}
.vauu-gift-fields__row:last-child{margin-bottom:0;}
.vauu-gift-fields label{display:block;font-weight:800;margin-bottom:6px;color:var(--vauu-purple-dark);}
.vauu-gift-fields input,
.vauu-gift-fields textarea{width:100%;border:1px solid rgba(107,53,255,.18);border-radius:12px;padding:10px 12px;background:#fff;}
.vauu-gift-fields small{display:block;margin-top:5px;color:rgba(32,20,106,.62);}
.vauu-gift-order-codes{margin-top:6px;color:var(--vauu-purple-dark);}

@media (max-width: 767px){
  .vauu-gallery__stage{min-height:280px;}
  .vauu-gallery__arrow{width:32px;height:32px;font-size:22px;opacity:.45;}
  .vauu-dose{padding:18px;border-radius:20px;}
  .vauu-dose__result{grid-template-columns:1fr;gap:8px;}
}

/* VAUU Gift Card 1.3 */
.vauu-gift-fields{
  margin:22px 0;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
}
.vauu-gift-fields h3{font-size:30px;line-height:1.1;margin:28px 0 20px;color:#111;}
.vauu-gift-amounts{margin:0 0 22px;}
.vauu-gift-amounts>label{display:block;margin:0 0 10px;font-weight:700;color:#20146A;}
.vauu-gift-amounts__buttons{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.vauu-gift-amount-pill{display:inline-flex;margin:0;cursor:pointer;}
.vauu-gift-amount-pill input{position:absolute;opacity:0;pointer-events:none;}
.vauu-gift-amount-pill span{display:inline-flex;align-items:center;justify-content:center;min-width:82px;min-height:56px;padding:12px 18px;border:1px solid #e0d8ff;border-radius:12px;background:#fff;color:#20146A;font-weight:800;transition:all .15s ease;}
.vauu-gift-amount-pill input:checked+span,.vauu-gift-amount-pill.is-active span{background:#000;color:#fff;border-color:#000;}
.vauu-gift-fields__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.vauu-gift-fields__row{margin:0 0 18px;}
.vauu-gift-fields label{font-weight:700;margin-bottom:8px;color:#20146A;}
.vauu-gift-fields input[type=text],.vauu-gift-fields input[type=email],.vauu-gift-fields textarea{width:100%;border:0;border-bottom:1px solid #e6e1f4;border-radius:0;padding:12px 0;background:transparent;color:#111;box-shadow:none;}
.vauu-gift-fields textarea{min-height:120px;resize:vertical;}
.vauu-gift-delivery{display:grid;gap:10px;margin:10px 0 20px;padding:14px 16px;border-radius:16px;background:#F4EDFF;color:#20146A;}
.vauu-gift-delivery label{display:flex;align-items:center;gap:9px;margin:0;font-size:14px;cursor:pointer;}
.vauu-gift-delivery input{width:auto!important;}
.vauu-gift-order-codes{margin-top:6px;color:#20146A;}
@media(max-width:767px){.vauu-gift-fields__grid{grid-template-columns:1fr}.vauu-gift-fields h3{font-size:24px}.vauu-gift-amount-pill span{min-height:48px;min-width:76px}}


/* VAUU Gift Card layout fix 1.3.1 */
.single-product form.cart.vauu-gift-cart-form,
.single-product form.cart:has(.vauu-gift-fields){
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
.single-product form.cart.vauu-gift-cart-form .vauu-gift-fields,
.single-product form.cart:has(.vauu-gift-fields) .vauu-gift-fields{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  clear:both!important;
}
.vauu-gift-purchase-row{
  display:flex!important;
  align-items:stretch!important;
  gap:12px!important;
  width:100%!important;
  margin:16px 0 0!important;
  clear:both!important;
}
.vauu-gift-cart-form .quantity,
.single-product form.cart:has(.vauu-gift-fields) .quantity{
  float:none!important;
  flex:0 0 118px!important;
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
  height:56px!important;
  min-height:56px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:1px solid #e6e1f4!important;
}
.vauu-gift-cart-form .quantity input.qty,
.single-product form.cart:has(.vauu-gift-fields) .quantity input.qty{
  height:54px!important;
  min-height:54px!important;
  width:46px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center!important;
}
.vauu-gift-cart-form .single_add_to_cart_button,
.single-product form.cart:has(.vauu-gift-fields) .single_add_to_cart_button{
  float:none!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  margin:0!important;
  padding:0 28px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch!important;
  line-height:1!important;
}
.vauu-gift-cart-form .single_add_to_cart_button:before,
.single-product form.cart:has(.vauu-gift-fields) .single_add_to_cart_button:before{
  line-height:1!important;
}
@media(max-width:767px){
  .vauu-gift-purchase-row{gap:8px!important;}
  .vauu-gift-cart-form .quantity,
  .single-product form.cart:has(.vauu-gift-fields) .quantity{
    flex:0 0 104px!important;
    width:104px!important;
    min-width:104px!important;
  }
  .vauu-gift-cart-form .single_add_to_cart_button,
  .single-product form.cart:has(.vauu-gift-fields) .single_add_to_cart_button{
    padding:0 18px!important;
  }
}

/* VAUU 1.3.3: smoother variation image switches, less perceived layout jump. */
.vauu-gallery.is-switching .vauu-gallery__slide{transition:opacity .28s ease;}
.single-product .vauu-gallery__stage{overflow:hidden;}
.single-product .vauu-gallery__slide img{max-width:100%;max-height:100%;}


/* VAUU 1.3.4: prevent BOS4W frequency dropdown from jumping open on variation refresh. */
.bos4w-display-wrap.vauu-bos-one-time-selected .vauu-bos-frequency-row,
.bos4w-display-options.vauu-bos-one-time-selected .vauu-bos-frequency-row,
.bos4w-display-dropdown.vauu-bos-one-time-selected .vauu-bos-frequency-row,
.bos4w-wrap.vauu-bos-one-time-selected .vauu-bos-frequency-row,
.bos4w-widget.vauu-bos-one-time-selected .vauu-bos-frequency-row,
.bos4w-display-wrap.vauu-bos-one-time-selected .vauu-bos-frequency-select,
.bos4w-display-options.vauu-bos-one-time-selected .vauu-bos-frequency-select,
.bos4w-display-dropdown.vauu-bos-one-time-selected .vauu-bos-frequency-select,
.bos4w-wrap.vauu-bos-one-time-selected .vauu-bos-frequency-select,
.bos4w-widget.vauu-bos-one-time-selected .vauu-bos-frequency-select{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
