.notifications .alert:has([data-v-notification-text]:empty){
  display:none!important;
}

.jd-site-footer,
.jd-site-footer *,
.jd-site-footer *::before,
.jd-site-footer *::after{box-sizing:border-box}
.jd-site-footer{
  position:relative;
  z-index:2;
  clear:both;
  width:calc(100% - clamp(16px,1.3vw,24px));
  margin:clamp(14px,1.2vw,20px) auto clamp(10px,1vw,16px);
  overflow:hidden;
  color:#eef4f8;
  background:linear-gradient(90deg,#03101a 0%,#061421 48%,#03101a 100%);
  border:1px solid rgba(22,157,255,.62);
  border-radius:clamp(12px,1vw,18px);
  box-shadow:0 12px 34px rgba(0,0,0,.30),0 0 20px rgba(22,157,255,.07)
}
.jd-site-footer__top{
  display:grid;
  grid-template-columns:auto auto minmax(80px,1fr) minmax(360px,auto);
  align-items:center;
  gap:clamp(20px,2.2vw,42px);
  min-height:clamp(54px,4vw,68px);
  padding:clamp(8px,.8vw,12px) clamp(22px,2.7vw,50px)
}
.jd-site-footer__brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#f5f0e8!important;
  text-decoration:none!important;
  white-space:nowrap
}
.jd-site-footer__brand img{
  display:block;
  width:clamp(28px,1.8vw,36px);
  height:clamp(28px,1.8vw,36px);
  object-fit:contain
}
.jd-site-footer__brand span{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(14px,.95vw,17px);
  font-weight:700;
  letter-spacing:-.02em
}
.jd-site-footer__motto{
  display:inline-flex;
  align-items:center;
  gap:clamp(20px,2vw,34px);
  color:rgba(188,206,220,.64);
  font-size:clamp(7px,.48vw,9px);
  font-weight:800;
  letter-spacing:.34em;
  text-transform:uppercase;
  white-space:nowrap
}
.jd-site-footer__line{
  position:relative;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(104,219,255,.12) 12%,rgba(104,219,255,.22) 50%,rgba(104,219,255,.12) 88%,transparent 100%)
}
.jd-site-footer__line::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:clamp(34px,3vw,50px);
  height:1px;
  transform:translate(-50%,-50%);
  background:#ee8a32;
  box-shadow:0 0 7px rgba(238,138,50,.28)
}
.jd-site-footer__services{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  min-width:0;
  gap:0;
  color:rgba(194,211,224,.70);
  font-size:clamp(7px,.48vw,9px);
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
  white-space:nowrap
}
.jd-site-footer__services span + span::before{
  content:"";
  display:inline-block;
  width:3px;
  height:3px;
  margin:0 clamp(11px,1vw,17px);
  border-radius:50%;
  background:rgba(104,219,255,.48);
  vertical-align:middle;
  transform:translateY(-1px)
}
.jd-site-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:clamp(9px,.75vw,12px) clamp(22px,2.7vw,50px) clamp(10px,.8vw,13px);
  border-top:1px solid rgba(104,219,255,.10);
  background:rgba(2,9,15,.22);
  color:rgba(175,192,205,.70);
  font-size:clamp(9px,.62vw,11px);
  line-height:1.4
}
.jd-site-footer__copyright{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 12px
}
.jd-site-footer__copyright strong{
  color:rgba(237,242,246,.92);
  font-weight:700
}
.jd-site-footer__legal{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  white-space:nowrap
}
.jd-site-footer__legal a{
  color:rgba(192,213,228,.82)!important;
  text-decoration:none!important
}
.jd-site-footer__legal a + a::before{
  content:"";
  display:inline-block;
  width:3px;
  height:3px;
  margin:0 14px;
  border-radius:50%;
  background:rgba(104,219,255,.38);
  vertical-align:middle;
  transform:translateY(-1px)
}
.jd-site-footer__legal a:hover,
.jd-site-footer__legal a:focus-visible{
  color:#68dbff!important;
  outline:none
}
/* Access/form pages: one shell surrounds main + footer. */
.jd-access-shell{
  position:relative;
  width:min(calc(100% - 12px),1536px);
  min-height:calc(100svh - 12px);
  margin:6px auto;
  overflow:hidden;
  border:1px solid rgba(22,157,255,.62);
  border-radius:22px;
  background:#03101a;
  box-shadow:0 20px 48px rgba(0,0,0,.36),0 0 22px rgba(22,157,255,.08);
}
body.jd-account-access .jd-access-shell,
body.jd-reset-page .jd-access-shell{
  background:url("/public/media/shells/Sign_In.webp") center/100% 100% no-repeat #03101a;
}
body.jd-order-tracking .jd-access-shell,
body.jd-return-page .jd-access-shell{
  background:url("/public/media/shells/Sites_listings.webp") center/100% 100% no-repeat #03101a;
}
.jd-access-shell > #site-content{
  position:relative;
  z-index:1;
  background:transparent!important;
}
.jd-access-shell > .jd-site-footer{
  position:relative;
  z-index:1;
  width:100%;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(104,219,255,.12)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.jd-access-shell > .jd-site-footer .jd-site-footer__bottom{
  background:transparent!important;
}
@media(max-width:720px){
  .jd-access-shell{
    width:calc(100% - 6px);
    min-height:calc(100svh - 6px);
    margin:3px auto;
    border-radius:18px;
  }
}

/* Dashboard/client pages: the shell itself surrounds main + footer.
   The inner wrapper only spaces content and never draws another visual container. */
body .jd-client-shell{
  padding:0!important;
}
body .jd-client-shell > #site-content{
  width:100%;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
body .jd-client-shell .jd-client-shell-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:58px 52px 34px!important;
  background:transparent!important;
}
body .jd-client-shell > .jd-site-footer{
  width:100%;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(104,219,255,.12)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body .jd-client-shell > .jd-site-footer .jd-site-footer__bottom{
  background:transparent!important;
}
@media(max-width:1050px){
  body .jd-client-shell .jd-client-shell-content{
    padding:40px 30px 26px!important;
  }
}
@media(max-width:720px){
  body .jd-client-shell .jd-client-shell-content{
    padding:22px 14px 20px!important;
  }
}

/* Image-stage access shells keep the footer inside the artwork. */
.jd-create-shell > .jd-site-footer,
.jd-login-image > .jd-site-footer{
  position:absolute!important;
  z-index:20;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  margin:0!important;
  background:linear-gradient(180deg,rgba(2,9,15,.30),rgba(2,9,15,.88))!important;
  border:0!important;
  border-top:1px solid rgba(104,219,255,.12)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.jd-create-shell > .jd-site-footer .jd-site-footer__top,
.jd-login-image > .jd-site-footer .jd-site-footer__top{
  min-height:48px;
  padding:6px 18px 4px;
}
.jd-create-shell > .jd-site-footer .jd-site-footer__bottom,
.jd-login-image > .jd-site-footer .jd-site-footer__bottom{
  min-height:38px;
  padding:5px 18px 7px;
  background:transparent!important;
}
.jd-create-shell > .jd-site-footer .jd-site-footer__brand img,
.jd-login-image > .jd-site-footer .jd-site-footer__brand img{
  width:30px;
  height:30px;
}
.jd-create-shell > .jd-site-footer .jd-site-footer__brand span,
.jd-login-image > .jd-site-footer .jd-site-footer__brand span{
  font-size:14px;
}
.jd-create-shell > .jd-site-footer .jd-site-footer__services,
.jd-login-image > .jd-site-footer .jd-site-footer__services,
.jd-create-shell > .jd-site-footer .jd-site-footer__copyright,
.jd-login-image > .jd-site-footer .jd-site-footer__copyright,
.jd-create-shell > .jd-site-footer .jd-site-footer__legal,
.jd-login-image > .jd-site-footer .jd-site-footer__legal{
  font-size:8px;
}
.jd-create-shell > .jd-site-footer .jd-site-footer__motto,
.jd-login-image > .jd-site-footer .jd-site-footer__motto{
  font-size:6px;
}
.jd-create-shell > .jd-site-footer .jd-site-footer__line,
.jd-login-image > .jd-site-footer .jd-site-footer__line{
  min-width:30px;
}
@media(min-width:721px){
  .jd-create-shell .jd-create-content{
    bottom:15%!important;
  }
}
.jd-login-image > .jd-login-overlay{
  padding-bottom:92px!important;
}
@media(max-width:720px){
  .jd-login-image > .jd-login-overlay{
    padding-bottom:100px!important;
  }
}

/* When the footer lives inside a page shell, it is part of that shell rather than a second container. */
.jd-shell-frame > .jd-site-footer,
.jd-frame > .jd-site-footer,
.home-hero > .jd-site-footer{
  width:100%;
  margin:0;
  background:transparent;
  border:0;
  border-top:1px solid rgba(104,219,255,.12);
  border-radius:0;
  box-shadow:none;
}
.jd-shell-frame > .jd-site-footer .jd-site-footer__bottom,
.jd-frame > .jd-site-footer .jd-site-footer__bottom,
.home-hero > .jd-site-footer .jd-site-footer__bottom{
  background:transparent;
}
.home-hero > .jd-site-footer{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:80;
}
.home-hero > .home-hero__inner{
  padding-bottom:clamp(104px,8vw,132px);
}

@media(max-width:1050px){
  .jd-site-footer__top{
    grid-template-columns:auto 1fr;
    grid-template-areas:"brand services" "motto motto" "line line";
    gap:10px 18px
  }
  .jd-site-footer__brand{grid-area:brand}
  .jd-site-footer__motto{grid-area:motto}
  .jd-site-footer__line{grid-area:line}
  .jd-site-footer__services{grid-area:services}
  .jd-site-footer__bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:8px
  }
  .jd-site-footer__legal{justify-content:flex-start}
}
@media(max-width:720px){
  .jd-site-footer{
    width:calc(100% - 8px);
    margin:8px auto 6px
  }
  .jd-site-footer__top{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:11px;
    padding:15px 18px
  }
  .jd-site-footer__services{
    flex-wrap:wrap;
    justify-content:flex-start;
    white-space:normal
  }
  .jd-site-footer__bottom{
    padding:12px 18px 15px
  }
  .jd-site-footer__legal{
    white-space:normal;
    flex-wrap:wrap
  }
}

/* Client-area composition: the artwork shell is the container.
   Internal sections use spacing/dividers, not additional boxes. */
.jd-client-shell .jd-dashboard-card,
.jd-client-shell .jd-dashboard-activity,
.jd-client-shell .jd-dashboard-feature,
.jd-client-shell .jd-address-list,
.jd-client-shell .jd-address-form,
.jd-client-shell .jd-order-detail-table,
.jd-client-shell .table-responsive,
.jd-client-shell .card,
.jd-client-shell .list-group,
.jd-client-shell .accordion-item{
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.jd-client-shell .jd-dashboard-card{
  border:0!important;
  border-top:1px solid rgba(104,219,255,.18)!important;
  padding-left:0!important;
  padding-right:0!important;
}
.jd-client-shell .jd-dashboard-card__icon{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
.jd-client-shell .jd-dashboard-activity,
.jd-client-shell .jd-dashboard-feature,
.jd-client-shell .jd-address-list,
.jd-client-shell .jd-address-form,
.jd-client-shell .jd-order-detail-table,
.jd-client-shell .table-responsive{
  border:0!important;
  border-top:1px solid rgba(104,219,255,.18)!important;
}
.jd-client-shell .jd-dashboard-activity{
  padding-left:0!important;
  padding-right:0!important;
}
.jd-client-shell .user-nav .nav-link,
.jd-client-shell .user-nav button.nav-link{
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.jd-client-shell .user-nav .nav-link:hover,
.jd-client-shell .user-nav .nav-link:focus-visible,
.jd-client-shell .user-nav li:first-child .nav-link{
  background:transparent!important;
  border-color:transparent!important;
  border-left:2px solid rgba(104,219,255,.72)!important;
}
.jd-client-shell .form-control,
.jd-client-shell .form-select,
.jd-client-shell textarea{
  box-shadow:none!important;
}

/* All shell footers follow the compact homepage footer layout. */
body.jd-shell-theme .jd-shell-frame > .jd-site-footer,
.jd-access-shell > .jd-site-footer,
.jd-client-shell > .jd-site-footer,
.jd-create-shell > .jd-site-footer,
.jd-login-image > .jd-site-footer{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  min-height:48px;
  padding:0 clamp(22px,3.3vw,62px)!important;
  color:rgba(180,199,214,.74)!important;
  background:linear-gradient(0deg,rgba(2,8,16,.97),rgba(2,8,16,.82))!important;
  border:0!important;
  border-top:1px solid rgba(98,216,255,.15)!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:10px;
  overflow:visible!important;
}
body.jd-shell-theme .jd-shell-frame > .jd-site-footer{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:auto!important;
  margin:auto clamp(34px,5.5vw,86px) clamp(22px,2.4vw,34px)!important;
}
.jd-access-shell > .jd-site-footer,
.jd-client-shell > .jd-site-footer{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:auto!important;
  margin:auto clamp(30px,4vw,64px) clamp(20px,2vw,30px)!important;
}
.jd-create-shell > .jd-site-footer,
.jd-login-image > .jd-site-footer{
  position:absolute!important;
  left:clamp(24px,4vw,60px)!important;
  right:clamp(24px,4vw,60px)!important;
  bottom:clamp(18px,2vw,30px)!important;
  width:auto!important;
  margin:0!important;
}
body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__top,
body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__bottom,
.jd-access-shell > .jd-site-footer .jd-site-footer__top,
.jd-access-shell > .jd-site-footer .jd-site-footer__bottom,
.jd-client-shell > .jd-site-footer .jd-site-footer__top,
.jd-client-shell > .jd-site-footer .jd-site-footer__bottom,
.jd-create-shell > .jd-site-footer .jd-site-footer__top,
.jd-create-shell > .jd-site-footer .jd-site-footer__bottom,
.jd-login-image > .jd-site-footer .jd-site-footer__top,
.jd-login-image > .jd-site-footer .jd-site-footer__bottom{
  display:contents!important;
}
body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__brand,
body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__motto,
body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__line,
.jd-access-shell > .jd-site-footer .jd-site-footer__brand,
.jd-access-shell > .jd-site-footer .jd-site-footer__motto,
.jd-access-shell > .jd-site-footer .jd-site-footer__line,
.jd-client-shell > .jd-site-footer .jd-site-footer__brand,
.jd-client-shell > .jd-site-footer .jd-site-footer__motto,
.jd-client-shell > .jd-site-footer .jd-site-footer__line,
.jd-create-shell > .jd-site-footer .jd-site-footer__brand,
.jd-create-shell > .jd-site-footer .jd-site-footer__motto,
.jd-create-shell > .jd-site-footer .jd-site-footer__line,
.jd-login-image > .jd-site-footer .jd-site-footer__brand,
.jd-login-image > .jd-site-footer .jd-site-footer__motto,
.jd-login-image > .jd-site-footer .jd-site-footer__line{
  display:none!important;
}
body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__copyright,
.jd-access-shell > .jd-site-footer .jd-site-footer__copyright,
.jd-client-shell > .jd-site-footer .jd-site-footer__copyright,
.jd-create-shell > .jd-site-footer .jd-site-footer__copyright,
.jd-login-image > .jd-site-footer .jd-site-footer__copyright{
  grid-column:1;
  grid-row:1;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 10px;
  min-width:0;
  white-space:nowrap;
}
body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__services,
.jd-access-shell > .jd-site-footer .jd-site-footer__services,
.jd-client-shell > .jd-site-footer .jd-site-footer__services,
.jd-create-shell > .jd-site-footer .jd-site-footer__services,
.jd-login-image > .jd-site-footer .jd-site-footer__services{
  grid-column:2;
  grid-row:1;
  display:flex!important;
  justify-content:center;
  gap:16px;
  min-width:0;
  color:rgba(180,199,214,.74)!important;
  font-size:9px!important;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}
body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__services span + span::before,
.jd-access-shell > .jd-site-footer .jd-site-footer__services span + span::before,
.jd-client-shell > .jd-site-footer .jd-site-footer__services span + span::before,
.jd-create-shell > .jd-site-footer .jd-site-footer__services span + span::before,
.jd-login-image > .jd-site-footer .jd-site-footer__services span + span::before{
  display:none!important;
  content:none!important;
}
body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__legal,
.jd-access-shell > .jd-site-footer .jd-site-footer__legal,
.jd-client-shell > .jd-site-footer .jd-site-footer__legal,
.jd-create-shell > .jd-site-footer .jd-site-footer__legal,
.jd-login-image > .jd-site-footer .jd-site-footer__legal{
  grid-column:3;
  grid-row:1;
  display:flex!important;
  justify-content:flex-end;
  gap:16px;
  white-space:nowrap;
}
body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__legal a + a::before,
.jd-access-shell > .jd-site-footer .jd-site-footer__legal a + a::before,
.jd-client-shell > .jd-site-footer .jd-site-footer__legal a + a::before,
.jd-create-shell > .jd-site-footer .jd-site-footer__legal a + a::before,
.jd-login-image > .jd-site-footer .jd-site-footer__legal a + a::before{
  display:none!important;
  content:none!important;
}

@media(max-width:720px){
  body.jd-shell-theme .jd-shell-frame > .jd-site-footer,
  .jd-access-shell > .jd-site-footer,
  .jd-client-shell > .jd-site-footer,
  .jd-create-shell > .jd-site-footer,
  .jd-login-image > .jd-site-footer{
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    padding:0 16px!important;
    font-size:8px;
  }
  body.jd-shell-theme .jd-shell-frame > .jd-site-footer{
    width:auto!important;
    margin:auto 22px 18px!important;
  }
  body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__services,
  .jd-access-shell > .jd-site-footer .jd-site-footer__services,
  .jd-client-shell > .jd-site-footer .jd-site-footer__services,
  .jd-create-shell > .jd-site-footer .jd-site-footer__services,
  .jd-login-image > .jd-site-footer .jd-site-footer__services{
    display:none!important;
  }
  body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__copyright,
  .jd-access-shell > .jd-site-footer .jd-site-footer__copyright,
  .jd-client-shell > .jd-site-footer .jd-site-footer__copyright,
  .jd-create-shell > .jd-site-footer .jd-site-footer__copyright,
  .jd-login-image > .jd-site-footer .jd-site-footer__copyright{
    grid-column:1;
    white-space:normal;
  }
  body.jd-shell-theme .jd-shell-frame > .jd-site-footer .jd-site-footer__legal,
  .jd-access-shell > .jd-site-footer .jd-site-footer__legal,
  .jd-client-shell > .jd-site-footer .jd-site-footer__legal,
  .jd-create-shell > .jd-site-footer .jd-site-footer__legal,
  .jd-login-image > .jd-site-footer .jd-site-footer__legal{
    grid-column:2;
    gap:10px;
  }
}

/* Every shell uses its artwork as the actual background. */
body .jd-client-shell,
.jd-access-shell,
.jd-create-shell,
.jd-login-image{
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-height:100svh!important;
  margin:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:106% 112%!important;
}
.jd-login-main,
.jd-create-main{
  width:100%!important;
  min-height:100svh!important;
  margin:0!important;
  padding:0!important;
}
.jd-create-shell{
  aspect-ratio:auto!important;
}
.jd-create-shell{
  background-image:none!important;
}
.jd-create-shell__art{
  display:block!important;
}
.jd-login-image{
  background-image:url("/public/media/Backgrounds/login.webp")!important;
}
.jd-login-image__art{
  display:none!important;
}
.jd-login-content::before,
.jd-create-content::before{
  content:none!important;
  display:none!important;
}

/* Text/content areas sit directly on the shell artwork. */
.jd-client-shell .jd-settings-panel,
.jd-client-shell .jd-dashboard-card,
.jd-client-shell .jd-dashboard-activity,
.jd-client-shell .jd-dashboard-feature,
.jd-client-shell .jd-address-list,
.jd-client-shell .jd-address-form,
.jd-client-shell .jd-order-detail-table,
.jd-client-shell .card,
.jd-client-shell .accordion-item,
.jd-client-shell .list-group-item,
.jd-create-shell .jd-create-panel{
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.jd-client-shell .jd-settings-panel,
.jd-client-shell .jd-dashboard-activity,
.jd-client-shell .jd-dashboard-feature,
.jd-client-shell .jd-address-list,
.jd-client-shell .jd-address-form,
.jd-client-shell .jd-order-detail-table{
  border-left:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-top:1px solid rgba(104,219,255,.16)!important;
}

/* Unified account-area artwork + simplified chrome */
body:has(.jd-client-shell),
body:has(.jd-access-shell),
body:has(.jd-create-shell),
body:has(.jd-login-image){
  background:
    linear-gradient(rgba(2,9,19,.08),rgba(2,9,19,.08)),
    url("/public/media/Backgrounds/login.webp") center/cover fixed no-repeat!important;
}

/* Standard account/dashboard shells use the shared mountain artwork. */
body .jd-client-shell,
body .jd-access-shell{
  background-image:url("/public/media/Backgrounds/login.webp")!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}

/* Signup keeps its VVVEb-editable artwork element visible. */
.jd-create-shell{
  background-image:none!important;
}
.jd-create-shell__art{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Login uses the same shared artwork. */
.jd-login-image{
  background-image:url("/public/media/Backgrounds/login.webp")!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}

/* Remove the normal site header/navigation and footer only from account pages. */
body:has(.jd-client-shell) > .navigation-1,
body:has(.jd-access-shell) > .navigation-1,
body:has(.jd-create-shell) > .navigation-1,
body:has(.jd-login-image) > .navigation-1,
body:has(.jd-client-shell) .jd-site-footer,
body:has(.jd-access-shell) .jd-site-footer,
body:has(.jd-create-shell) .jd-site-footer,
body:has(.jd-login-image) .jd-site-footer{
  display:none!important;
}

/* Login page: remove header controls/chrome, but keep the Jager's Design name + logo. */
body:has(.jd-login-image) .jd-site-header{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  min-height:0!important;
}
body:has(.jd-login-image) .jd-site-header__inner{
  display:block!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:18px 24px 8px!important;
}
body:has(.jd-login-image) .jd-login-header-nav,
body:has(.jd-login-image) .jd-login-header-login{
  display:none!important;
}
body:has(.jd-login-image) .jd-login-header-brand,
body:has(.jd-client-shell) .jd-client-brand,
body:has(.jd-create-shell) .jd-create-brand,
body:has(.jd-access-shell) .jd-reset-brand,
body:has(.jd-access-shell) .jd-return-brand,
body:has(.jd-access-shell) .jd-account-brand{
  position:relative;
  z-index:5;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Access-page headers: remove navigation chrome, preserve only branding where present. */
body:has(.jd-access-shell) .jd-reset-header{
  display:none!important;
}
body:has(.jd-access-shell) .jd-return-header{
  justify-content:flex-start!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body:has(.jd-access-shell) .jd-return-menu,
body:has(.jd-access-shell) .jd-return-signin{
  display:none!important;
}

/* Brand used by access pages that previously only had branding in the footer. */
.jd-account-brand{
  align-items:center;
  gap:12px;
  width:max-content;
  margin:24px 0 8px 28px;
  color:#fff3e6!important;
  text-decoration:none!important;
}
.jd-account-brand img{
  width:62px;
  height:62px;
  object-fit:contain;
}
.jd-account-brand span{
  font:500 clamp(28px,2.4vw,40px)/1 Georgia,"Times New Roman",serif;
  white-space:nowrap;
}

/* =========================================================
   SITE-WIDE JD VISUAL SYSTEM
   Same mountain artwork, brand-only header, no footer.
   ========================================================= */
html,
body{
  background-color:#020912!important;
  background-image:
    linear-gradient(rgba(2,9,18,.10),rgba(2,9,18,.10)),
    url("/public/media/Backgrounds/login.webp")!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-attachment:fixed!important;
}

/* Modern framed/public pages */
.jd-shell-frame{
  background-image:url("/public/media/Backgrounds/login.webp")!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}

/* Homepage hero uses the same artwork as the rest of the site. */
.home-hero__background::before{
  background-image:url("/public/media/Backgrounds/login.webp")!important;
}
.home-hero__background>img{
  content:url("/public/media/Backgrounds/login.webp")!important;
  left:0!important;
  width:100%!important;
  object-position:center center!important;
}

/* Remove every shared footer site-wide. */
.jd-site-footer{
  display:none!important;
}

/* New public header becomes brand-only. */
.jd-site-header{
  position:relative!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.jd-site-header__inner{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:18px 24px 8px!important;
}
.jd-site-header__menu,
.jd-site-header__cta,
.jd-sign-in-link{
  display:none!important;
}
.jd-site-header__brand{
  position:relative!important;
  z-index:5!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  visibility:visible!important;
  opacity:1!important;
}
.jd-site-header__brand img{
  display:block!important;
  width:54px!important;
  height:54px!important;
  object-fit:contain!important;
}
.jd-site-header__brand-name{
  display:inline-block!important;
  color:#fff3e7!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(24px,2vw,34px)!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* If a modern header exists, retire the old Bootstrap/Vvveb nav completely. */
body:has(.jd-site-header,.jd-brand-header) .navigation-1{
  display:none!important;
}

/* Legacy-only navigation: keep only the logo + Jager's Design name. */
body:not(:has(.jd-site-header,.jd-brand-header)):not(:has(.jd-client-shell)):not(:has(.jd-access-shell)):not(:has(.jd-create-shell)) .navigation-1{
  display:block!important;
  position:relative!important;
  width:auto!important;
  margin:0!important;
  padding:16px 22px 8px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body:not(:has(.jd-site-header,.jd-brand-header)):not(:has(.jd-client-shell)):not(:has(.jd-access-shell)):not(:has(.jd-create-shell)) .navigation-1 .navbar{
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(:has(.jd-site-header,.jd-brand-header)):not(:has(.jd-client-shell)):not(:has(.jd-access-shell)):not(:has(.jd-create-shell)) .navigation-1 .container,
body:not(:has(.jd-site-header,.jd-brand-header)):not(:has(.jd-client-shell)):not(:has(.jd-access-shell)):not(:has(.jd-create-shell)) .navigation-1 .container-fluid{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body:not(:has(.jd-site-header,.jd-brand-header)):not(:has(.jd-client-shell)):not(:has(.jd-access-shell)):not(:has(.jd-create-shell)) .navigation-1 .navbar-toggler,
body:not(:has(.jd-site-header,.jd-brand-header)):not(:has(.jd-client-shell)):not(:has(.jd-access-shell)):not(:has(.jd-create-shell)) .navigation-1 .navbar-collapse{
  display:none!important;
}
body:not(:has(.jd-site-header,.jd-brand-header)):not(:has(.jd-client-shell)):not(:has(.jd-access-shell)):not(:has(.jd-create-shell)) .navigation-1 .navbar-brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  color:#fff3e7!important;
  text-decoration:none!important;
}
body:not(:has(.jd-site-header,.jd-brand-header)):not(:has(.jd-client-shell)):not(:has(.jd-access-shell)):not(:has(.jd-create-shell)) .navigation-1 .navbar-brand img{
  display:none!important;
}
body:not(:has(.jd-site-header,.jd-brand-header)):not(:has(.jd-client-shell)):not(:has(.jd-access-shell)):not(:has(.jd-create-shell)) .navigation-1 .navbar-brand .logo-default{
  display:block!important;
  width:54px!important;
  height:54px!important;
  object-fit:contain!important;
}
body:not(:has(.jd-site-header,.jd-brand-header)):not(:has(.jd-client-shell)):not(:has(.jd-access-shell)):not(:has(.jd-create-shell)) .navigation-1 .navbar-brand::after{
  content:"Jager’s Design";
  color:#fff3e7;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(24px,2vw,34px);
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

/* Force every legacy Vvveb logo placeholder to the JD logo. */
img[src="demo/img/logo.png"],
img[src$="/demo/img/logo.png"],
.logo-default,
.logo-sticky,
.logo-default-dark,
.logo-default-dark-sticky,
[data-v-site-logo],
[data-v-site-logo-sticky],
[data-v-site-logo-dark],
[data-v-site-logo-dark-sticky]{
  content:url("/public/media/JD_Logo.webp")!important;
  object-fit:contain!important;
}

/* =========================================================
   ANIMATED JAGER'S DESIGN BRAND GRADIENT
   Reusable with class="gradient-text".
   ========================================================= */
/* One shared animation for the public site and Vvveb previews.
   Keep background-position free of !important: an important background
   shorthand resets/locks that property and prevents CSS keyframes moving it. */
@keyframes jdBrandGradientFlow{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

.gradient-text,
.jd-brand-name,
.jd-site-header__brand-name,
.home-hero__brand-name,
.jd-page-brand span,
.jd-create-brand__name,
.jd-login-brand__name,
.jd-login-header-brand span,
.jd-client-brand strong,
.jd-account-brand span,
.jd-reset-brand strong,
.jd-reset-brand span,
.jd-return-brand strong,
.jd-return-brand span,
.jd-site-footer__brand span,
body.jd-shell-about .jd-about-story__intro .jd-page-title span,
body.jd-shell-about .jd-about-signoff strong,
body:not(:has(.jd-site-header,.jd-brand-header)):not(:has(.jd-client-shell)):not(:has(.jd-access-shell)):not(:has(.jd-create-shell)) .navigation-1 .navbar-brand::after{
  display:inline-block;
  background-image:linear-gradient(
    90deg,
    #8b5cf6 0%,
    #ffa500 14%,
    #ffff00 28%,
    #00ff00 42%,
    #00ffff 57%,
    #0080ff 71%,
    #8000ff 86%,
    #8b5cf6 100%
  )!important;
  background-color:transparent!important;
  background-size:500% 100%!important;
  background-repeat:no-repeat!important;
  background-position:0% 50%;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  color:transparent!important;
  animation:jdBrandGradientFlow 8s ease-in-out infinite!important;
  animation-play-state:running!important;
}

/* =========================================================
   SITE-WIDE VVVeB IMAGE CORNERS
   Rounded content/media imagery, while brand/UI artwork stays clean.
   ========================================================= */
body img{
  border-radius:clamp(24px,2.4vw,38px)!important;
}

/* Brand marks, UI icons and full-bleed/background artwork should not be rounded. */
.jd-site-header__brand img,
.home-hero__brand img,
.jd-page-brand img,
.jd-create-brand img,
.jd-login-brand img,
.jd-login-header-brand img,
.jd-client-brand img,
.jd-account-brand img,
.jd-reset-brand img,
.jd-return-brand img,
.jd-site-footer__brand img,
.jd-sign-in-link img,
.home-hero__background>img,
.jd-create-shell__art,
.logo-default,
.logo-sticky,
.logo-default-dark,
.logo-default-dark-sticky,
[data-v-site-logo],
[data-v-site-logo-sticky],
[data-v-site-logo-dark],
[data-v-site-logo-dark-sticky],
img.jd-no-radius{
  border-radius:0!important;
}

/* Explicit helper for future VVVeB blocks that should keep sharp corners. */
.jd-no-radius,
.jd-no-radius img{
  border-radius:0!important;
}

@media(max-width:640px){
  html,body{background-attachment:scroll!important}
  .jd-site-header__inner{padding:14px 16px 6px!important}
  .jd-site-header__brand img{width:46px!important;height:46px!important}
  .jd-site-header__brand-name{font-size:24px!important}
}