/* WebVue Responsive Luxury Banner — all fonts inherit from the active theme. */
.wv-lrb,.wv-lrb *{box-sizing:border-box}
.wv-lrb{--wv-lrb-d-ratio:16 / 9;--wv-lrb-m-ratio:9 / 16;position:relative;display:block;width:100%;max-height:850px;aspect-ratio:var(--wv-lrb-d-ratio);overflow:hidden;isolation:isolate;border-radius:0!important;background:#e8dbcc;color:#21201e;font-family:inherit;}
.wv-lrb__picture,.wv-lrb__picture::after,.wv-lrb__image{position:absolute;inset:0;width:100%;height:100%;display:block}
.wv-lrb__image{object-fit:cover;object-position:center center;border:0;transition:transform 1.35s cubic-bezier(.2,.7,.3,1)}
.wv-lrb:hover .wv-lrb__image{transform:scale(1.018)}
.wv-lrb__picture::after{content:"";z-index:1;pointer-events:none;opacity:0;background:linear-gradient(90deg,rgba(255,250,242,.65) 0%,rgba(255,250,242,.18) 42%,rgba(255,250,242,0) 72%)}
.wv-lrb[data-overlay="soft"] .wv-lrb__picture::after{opacity:.65}
.wv-lrb[data-overlay="strong"] .wv-lrb__picture::after{opacity:1}
.wv-lrb[data-overlay="none"] .wv-lrb__picture::after{opacity:0}
.wv-lrb[data-text-theme="light"]{color:#fff}
.wv-lrb[data-text-theme="light"] .wv-lrb__picture::after{background:linear-gradient(90deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.24) 46%,transparent 78%)}
.wv-lrb__content{position:absolute;z-index:2;left:clamp(25px,6%,105px);bottom:clamp(35px,10%,105px);width:min(690px,68%);text-align:left;color:inherit;font-family:inherit;}
.wv-lrb__kicker{display:block;margin-bottom:15px;font-family:inherit;font-size:clamp(10px,.85vw,13px);font-weight:600;letter-spacing:.25em;text-transform:uppercase;line-height:1.5;color:inherit}
.wv-lrb .wv-lrb__heading{margin:0 0 18px;padding:0;border:0;font-family:inherit;font-size:clamp(32px,4.45vw,76px);font-weight:400;letter-spacing:-.035em;line-height:1.12;color:inherit;text-wrap:balance;}
.wv-lrb__description{max-width:460px;margin:0 0 25px;font-family:inherit;font-size:clamp(13px,1.12vw,17px);font-weight:400;line-height:1.7;color:inherit}
.wv-lrb__button,.wv-lrb__button:visited{display:inline-flex!important;align-items:center;justify-content:center;gap:30px;min-width:154px;min-height:52px;padding:15px 22px!important;border:1px solid #1e1d1b!important;border-radius:0!important;background:#1e1d1b!important;color:#fff!important;box-shadow:none!important;font-family:inherit!important;font-size:11px!important;font-weight:600!important;letter-spacing:.15em!important;line-height:1.3!important;text-transform:uppercase;text-decoration:none!important;text-align:center;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease!important;cursor:pointer}
.wv-lrb__button svg{width:17px;height:17px;flex:none;transition:transform .22s ease}
.wv-lrb__button:hover,.wv-lrb__button:focus-visible{background:#fff!important;color:#1e1d1b!important;border-color:#1e1d1b!important;transform:translateY(-2px)}
.wv-lrb__button:hover svg,.wv-lrb__button:focus-visible svg{transform:translateX(3px)}
.wv-lrb__button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.wv-lrb[data-text-theme="light"] .wv-lrb__button,.wv-lrb[data-text-theme="light"] .wv-lrb__button:visited{background:#fff!important;border-color:#fff!important;color:#171717!important}
.wv-lrb[data-text-theme="light"] .wv-lrb__button:hover,.wv-lrb[data-text-theme="light"] .wv-lrb__button:focus-visible{background:#171717!important;color:#fff!important;border-color:#fff!important}
@media(max-width:767px){
 .wv-lrb{aspect-ratio:var(--wv-lrb-m-ratio);max-height:none;min-height:0}
 .wv-lrb:hover .wv-lrb__image{transform:none}
 .wv-lrb__picture::after{background:linear-gradient(0deg,rgba(255,250,242,.66) 0%,rgba(255,250,242,.13) 29%,transparent 60%)}
 .wv-lrb[data-text-theme="light"] .wv-lrb__picture::after{background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.10) 47%,transparent 75%)}
 .wv-lrb__content{left:25px;right:25px;bottom:clamp(27px,6.6%,64px);width:auto;max-width:500px}
 .wv-lrb__kicker{font-size:10px;margin-bottom:12px;letter-spacing:.19em}
 .wv-lrb .wv-lrb__heading{font-size:clamp(28px,7.4vw,46px);line-height:1.15;margin-bottom:13px}
 .wv-lrb__description{font-size:13px;line-height:1.6;margin-bottom:20px;max-width:340px}
 .wv-lrb__button,.wv-lrb__button:visited{min-height:46px;min-width:140px;padding:12px 17px!important;gap:23px;font-size:10px!important}
 .wv-lrb__button svg{width:16px;height:16px}
}
@media(max-width:360px){.wv-lrb__content{left:18px;right:18px;bottom:22px}.wv-lrb .wv-lrb__heading{font-size:28px}}
@media(prefers-reduced-motion:reduce){.wv-lrb__image,.wv-lrb__button,.wv-lrb__button svg{transition:none!important}.wv-lrb:hover .wv-lrb__image,.wv-lrb__button:hover{transform:none!important}}

/* v1.1 — WooCommerce / Elementor / Woodmart normalization. Banner stays in the
   normal document flow and will never render behind product cards or carousels. */
.wv-lrb,
.elementor .wv-lrb,
.wd-content-layout .wv-lrb {
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  float:none!important;
  clear:both;
  border:0!important;
  border-radius:0!important;
  opacity:1!important;
  visibility:visible!important;
  vertical-align:top;
  z-index:0;
}
.wv-lrb > .wv-lrb__picture,
.wv-lrb > .wv-lrb__picture > .wv-lrb__image {
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}
.wv-lrb > .wv-lrb__picture > .wv-lrb__image {
  object-fit:cover!important;
  object-position:center!important;
}
.wv-lrb > .wv-lrb__content { position:absolute!important; z-index:2!important; }
.wv-lrb .wv-lrb__button { border-radius:0!important; }
@media(max-width:767px){
  /* A dedicated mobile slot is injected at the top of the homepage DOM to
     solve Elementor's desktop-first block order. */
  .wv-lrb-mobile-hero {
    display:block!important;
    position:relative!important;
    left:50%;
    transform:translateX(-50%);
    clear:both;
    width:100vw!important;
    max-width:100vw!important;
    min-width:0!important;
    margin:0 0 18px!important;
    padding:0!important;
    overflow:visible!important;
    border-radius:0!important;
  }
  .wv-lrb-mobile-hero > .wv-lrb {
    display:block!important;
    width:100%!important;
    max-height:none!important;
    aspect-ratio:var(--wv-lrb-m-ratio);
    overflow:hidden!important;
  }
  /* Prevent now-empty Elementor shortcode widgets from leaving gaps in
     the original location after their banner has been promoted. */
  .wv-lrb-mobile-origin-empty { display:none!important; }
}


/* v1.2.0 — independent vertical alignment for desktop and mobile.
   Defaults: bottom/bottom, matching the previous plugin design.
   Use data attributes instead of inline !important styles to prevent theme
   rules from changing content placement. These affect only this banner. */
@media (min-width: 768px) {
  .wv-lrb[data-desktop-position="top"] > .wv-lrb__content {
    top: clamp(35px, 10%, 105px) !important;
    bottom: auto !important;
    transform: none !important;
  }
  .wv-lrb[data-desktop-position="middle"] > .wv-lrb__content {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
  }
  .wv-lrb[data-desktop-position="bottom"] > .wv-lrb__content {
    top: auto !important;
    bottom: clamp(35px, 10%, 105px) !important;
    transform: none !important;
  }
}
@media (max-width: 767px) {
  .wv-lrb[data-mobile-position="top"] > .wv-lrb__content {
    top: clamp(27px, 6.6%, 64px) !important;
    bottom: auto !important;
    transform: none !important;
  }
  .wv-lrb[data-mobile-position="middle"] > .wv-lrb__content {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
  }
  .wv-lrb[data-mobile-position="bottom"] > .wv-lrb__content {
    top: auto !important;
    bottom: clamp(27px, 6.6%, 64px) !important;
    transform: none !important;
  }
}


/* v1.3.0 — optional compact mobile height, independent of desktop.
   A fixed height uses cover cropping rather than stretching the picture.
   Stronger selectors than Woodmart/Elementor height:auto overrides, and
   cover both normal shortcode placements and the mobile-first hero slot. */
@media (max-width: 767px) {
  .wv-lrb[data-mobile-height-mode="custom"],
  .elementor .wv-lrb[data-mobile-height-mode="custom"],
  .wd-content-layout .wv-lrb[data-mobile-height-mode="custom"],
  .wv-lrb-mobile-hero > .wv-lrb[data-mobile-height-mode="custom"] {
    aspect-ratio: auto !important;
    height: var(--wv-lrb-m-height) !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  .wv-lrb > .wv-lrb__picture > .wv-lrb__image {
    object-fit: cover !important;
    object-position: center var(--wv-lrb-m-focus, 50%) !important;
  }
}
