
:root{
  --sally-footer-plum:#3d0d2e;
  --sally-footer-berry:#a70f5f;
  --sally-footer-rose:#d7347f;
  --sally-footer-blush:#fff0f6;
  --sally-footer-soft:#fff8fb;
  --sally-footer-line:#f3bfd5;
  --sally-footer-muted:#8b637b;
  --sally-footer-gold:#d59b54;
  --sally-footer-shadow:0 24px 70px rgba(125,20,75,.13);
}

body.sally-footer-hide-theme-footer footer:not(.sally-footer-pro),
body.sally-footer-hide-theme-footer #colophon,
body.sally-footer-hide-theme-footer .site-footer,
body.sally-footer-hide-theme-footer .wp-block-template-part:has(footer:not(.sally-footer-pro)){
  display:none!important;
}

.sally-footer-pro,
.sally-footer-pro *{
  box-sizing:border-box;
}

.sally-footer-pro{
  margin-top:64px;
  padding:0 0 34px;
  background:
    radial-gradient(circle at 12% 12%, rgba(255,221,235,.85), transparent 30%),
    radial-gradient(circle at 92% 18%, rgba(246,183,212,.35), transparent 28%),
    linear-gradient(180deg, transparent 0%, #fff8fb 22%, #fff0f6 100%);
  color:var(--sally-footer-plum);
  position:relative;
  overflow:hidden;
}

.sally-footer-pro::before{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  right:-130px;
  top:110px;
  border-radius:50%;
  background:linear-gradient(135deg, rgba(245,106,164,.36), rgba(255,241,247,.15));
  pointer-events:none;
}

.sally-footer-shell{
  width:min(1500px, calc(100% - 44px));
  margin:0 auto;
  position:relative;
  z-index:1;
}

.sally-footer-newsletter{
  transform:translateY(-26px);
  margin-bottom:0;
  padding:34px 38px;
  border:1px solid var(--sally-footer-line);
  border-radius:34px;
  background:
    radial-gradient(circle at 82% 28%, rgba(255,188,216,.52), transparent 22%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,242,248,.92));
  box-shadow:var(--sally-footer-shadow);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,520px);
  align-items:center;
  gap:28px;
}

.sally-footer-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 15px;
  border-radius:999px;
  border:1px solid var(--sally-footer-line);
  background:#fff;
  color:var(--sally-footer-berry);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.sally-footer-kicker i{
  width:12px;
  height:12px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--sally-footer-rose),var(--sally-footer-gold));
  box-shadow:0 0 0 7px rgba(215,52,127,.12);
}

.sally-footer-newsletter h2{
  margin:18px 0 8px!important;
  color:var(--sally-footer-plum)!important;
  font-size:clamp(32px,4vw,56px)!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
  font-weight:950!important;
}

.sally-footer-newsletter p{
  margin:0!important;
  color:#7c4c68!important;
  font-size:16px!important;
  line-height:1.7!important;
}

.sally-footer-newsletter-form{
  display:flex;
  align-items:center;
  gap:10px;
  height:58px;
  border:1px solid var(--sally-footer-line);
  border-radius:999px;
  background:#fff;
  padding:7px 8px 7px 16px;
  box-shadow:0 16px 34px rgba(60,16,45,.07);
}

.sally-footer-mail-icon{
  width:26px;
  color:var(--sally-footer-rose);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.sally-footer-pro svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.sally-footer-newsletter-form input{
  flex:1;
  min-width:0;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--sally-footer-plum)!important;
  font-size:15px;
}

.sally-footer-newsletter-form input::placeholder{
  color:rgba(60,16,45,.48);
}

.sally-footer-newsletter-form button{
  height:44px;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--sally-footer-rose),var(--sally-footer-berry))!important;
  color:#fff!important;
  padding:0 22px!important;
  font-weight:950!important;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(167,15,95,.22);
}

.sally-footer-trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:0 0 30px;
}

.sally-footer-trust article{
  padding:20px;
  border:1px solid var(--sally-footer-line);
  border-radius:24px;
  background:rgba(255,255,255,.84);
  box-shadow:0 14px 36px rgba(125,20,75,.08);
  display:grid;
  gap:8px;
}

.sally-footer-trust span{
  width:44px;
  height:44px;
  border-radius:50%;
  color:var(--sally-footer-rose);
  background:var(--sally-footer-blush);
  border:1px solid var(--sally-footer-line);
  display:flex;
  align-items:center;
  justify-content:center;
}

.sally-footer-trust strong{
  font-size:16px;
  font-weight:950;
  color:var(--sally-footer-plum);
}

.sally-footer-trust small{
  color:#7c4c68;
  font-size:13px;
  line-height:1.55;
}

.sally-footer-main{
  padding:34px;
  border:1px solid var(--sally-footer-line);
  border-radius:34px;
  background:rgba(255,255,255,.78);
  box-shadow:var(--sally-footer-shadow);
  display:grid;
  grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(170px,1fr));
  gap:28px;
}

.sally-footer-logo{
  display:inline-flex;
  align-items:center;
  text-decoration:none!important;
  margin-bottom:16px;
}

.sally-footer-logo-img{
  max-height:82px;
  width:auto;
  display:block;
}

.sally-footer-logo-text{
  color:var(--sally-footer-plum);
  font-size:30px;
  font-weight:950;
  letter-spacing:-.04em;
}

.sally-footer-brand p,
.sally-footer-contact p{
  color:#7c4c68;
  line-height:1.7;
  margin:0 0 16px!important;
  max-width:360px;
}

.sally-footer-socials{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.sally-footer-socials a{
  min-height:38px;
  padding:9px 13px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--sally-footer-line);
  color:var(--sally-footer-berry)!important;
  font-weight:900;
  text-decoration:none!important;
  font-size:13px;
}

.sally-footer-col h3{
  margin:0 0 14px!important;
  color:var(--sally-footer-plum)!important;
  font-size:17px!important;
  font-weight:950!important;
  letter-spacing:-.01em;
}

.sally-footer-col ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:grid;
  gap:10px;
}

.sally-footer-col a{
  color:#73465f!important;
  text-decoration:none!important;
  font-weight:850;
  line-height:1.45;
}

.sally-footer-col a:hover{
  color:var(--sally-footer-berry)!important;
}

.sally-footer-contact-line{
  display:flex!important;
  align-items:center;
  gap:9px;
  margin-top:10px;
}

.sally-footer-contact-line span{
  width:34px;
  height:34px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--sally-footer-rose);
  background:var(--sally-footer-blush);
  border:1px solid var(--sally-footer-line);
}

.sally-footer-contact-line svg{
  width:17px;
  height:17px;
}

.sally-footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:18px;
  padding:18px 8px 0;
  color:#7c4c68;
  font-size:13px;
}

.sally-footer-bottom p{
  margin:0!important;
}

.sally-footer-bottom a{
  color:var(--sally-footer-berry)!important;
  font-weight:950;
  text-decoration:none!important;
}

@media (max-width:1100px){
  .sally-footer-newsletter{
    grid-template-columns:1fr;
  }

  .sally-footer-main{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .sally-footer-brand{
    grid-column:1 / -1;
  }
}

@media (max-width:760px){
  .sally-footer-shell{
    width:calc(100% - 24px);
  }

  .sally-footer-newsletter{
    padding:26px 18px;
    border-radius:28px;
  }

  .sally-footer-newsletter-form{
    height:auto;
    border-radius:24px;
    flex-direction:column;
    align-items:stretch;
    padding:14px;
  }

  .sally-footer-mail-icon{
    display:none;
  }

  .sally-footer-newsletter-form input{
    min-height:44px;
    text-align:center;
  }

  .sally-footer-newsletter-form button{
    width:100%;
  }

  .sally-footer-trust{
    grid-template-columns:1fr;
  }

  .sally-footer-main{
    grid-template-columns:1fr;
    padding:24px 18px;
    border-radius:28px;
  }

  .sally-footer-bottom{
    flex-direction:column;
    text-align:center;
  }
}



/* v1.0.1 - Remove trust badges and move newsletter to footer bottom */
.sally-footer-pro .sally-footer-trust{
  display:none!important;
}

.sally-footer-pro .sally-footer-newsletter{
  transform:none!important;
  margin:30px 0 0!important;
}

.sally-footer-pro .sally-footer-main + .sally-footer-newsletter{
  margin-top:30px!important;
}

/* Since newsletter is no longer floating at top, make footer spacing cleaner */
.sally-footer-pro{
  margin-top:54px;
  padding-top:34px;
}

@media (max-width:760px){
  .sally-footer-pro .sally-footer-newsletter{
    margin-top:22px!important;
  }
}



/* v1.0.5 SAFE RECOVERY
   Important: this version does NOT hide the theme footer, CreativeThemes strip,
   or any page wrapper. It only renders Sally Footer Pro safely. */

body.sally-footer-pro-active .sally-footer-pro,
body.sally-footer-pro-active footer.sally-footer-pro{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

/* Neutralize hide classes left by previous cached versions */
body.sally-footer-pro-active .sally-hide-theme-copyright-strip{
  display:revert!important;
  height:auto!important;
  min-height:initial!important;
  max-height:none!important;
  margin:revert!important;
  padding:revert!important;
  overflow:visible!important;
  visibility:visible!important;
}

/* Do not hide default theme footer in this recovery version */
body.sally-footer-hide-theme-footer footer:not(.sally-footer-pro),
body.sally-footer-hide-theme-footer #colophon,
body.sally-footer-hide-theme-footer .site-footer,
body.sally-footer-hide-theme-footer .ct-footer,
body.sally-footer-hide-theme-footer .footer-bottom,
body.sally-footer-hide-theme-footer .ct-footer-copyright{
  display:revert!important;
  visibility:visible!important;
  height:auto!important;
  min-height:initial!important;
  max-height:none!important;
  overflow:visible!important;
}



/* ==========================================================
   v1.0.6 CSS-only hide for CreativeThemes / Blocksy copyright strip
   Safe: no JavaScript, no global wrapper hiding.
   ========================================================== */

/* Blocksy / CreativeThemes default footer copyright row */
body.sally-footer-pro-active .ct-footer .ct-footer-copyright,
body.sally-footer-pro-active footer.ct-footer .ct-footer-copyright,
body.sally-footer-pro-active .ct-footer [data-row="bottom"],
body.sally-footer-pro-active footer.ct-footer [data-row="bottom"],
body.sally-footer-pro-active #footer.ct-footer [data-row="bottom"],
body.sally-footer-pro-active .site-footer .ct-footer-copyright,
body.sally-footer-pro-active footer.site-footer .site-info,
body.sally-footer-pro-active #colophon .site-info{
  display:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* In case the copyright strip is a Blocksy row wrapper */
body.sally-footer-pro-active .ct-footer [data-row*="copyright"],
body.sally-footer-pro-active footer.ct-footer [data-row*="copyright"]{
  display:none!important;
}

/* Safety: never hide our custom footer */
body.sally-footer-pro-active .sally-footer-pro,
body.sally-footer-pro-active footer.sally-footer-pro,
body.sally-footer-pro-active .sally-footer-pro *{
  visibility:visible;
}

body.sally-footer-pro-active footer.sally-footer-pro{
  display:block!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}


/* ==========================================================
   v1.0.7 - Remove Beauty updates/newsletter and Shop column layout
   ========================================================== */
.sally-footer-pro .sally-footer-newsletter{
  display:none!important;
}

.sally-footer-pro .sally-footer-main{
  grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(170px,1fr));
  align-items:start;
}

.sally-footer-pro .sally-footer-brand p,
.sally-footer-pro .sally-footer-contact p{
  max-width:420px;
}

@media (max-width:1100px){
  .sally-footer-pro .sally-footer-main{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
  }

  .sally-footer-pro .sally-footer-brand{
    grid-column:1 / -1;
  }
}

@media (max-width:760px){
  .sally-footer-pro{
    margin-top:38px;
    padding:26px 0 28px;
  }

  .sally-footer-pro .sally-footer-shell{
    width:calc(100% - 22px);
  }

  .sally-footer-pro .sally-footer-main{
    grid-template-columns:1fr!important;
    gap:24px;
    padding:26px 18px;
    border-radius:28px;
    text-align:center;
  }

  .sally-footer-pro .sally-footer-logo{
    justify-content:center;
    margin-left:auto;
    margin-right:auto;
  }

  .sally-footer-pro .sally-footer-brand p,
  .sally-footer-pro .sally-footer-contact p{
    max-width:none;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .sally-footer-pro .sally-footer-socials{
    justify-content:center;
  }

  .sally-footer-pro .sally-footer-col ul{
    justify-items:center;
    gap:12px;
  }

  .sally-footer-pro .sally-footer-contact-line{
    justify-content:center;
  }

  .sally-footer-pro .sally-footer-bottom{
    padding-top:16px;
    flex-direction:column;
    text-align:center;
    gap:8px;
  }
}

@media (max-width:420px){
  .sally-footer-pro .sally-footer-main{
    padding:22px 14px;
    border-radius:24px;
  }

  .sally-footer-pro .sally-footer-logo-text{
    font-size:26px;
  }

  .sally-footer-pro .sally-footer-col h3{
    font-size:16px!important;
  }
}


/* ==========================================================
   v1.0.8 - Mobile footer layout: brand centered, links side-by-side, help centered
   ========================================================== */

.sally-footer-pro .sally-footer-support-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 16px;
  margin:2px 0 10px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--sally-footer-rose),var(--sally-footer-berry));
  color:#fff!important;
  text-decoration:none!important;
  font-weight:950;
  font-size:13px;
  box-shadow:0 12px 26px rgba(167,15,95,.18);
}

.sally-footer-pro .sally-footer-support-link:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 32px rgba(167,15,95,.22);
}

@media (max-width:760px){
  .sally-footer-pro .sally-footer-main{
    grid-template-columns:1fr 1fr!important;
    text-align:initial;
    align-items:start;
  }

  .sally-footer-pro .sally-footer-brand{
    grid-column:1 / -1;
    text-align:center;
  }

  .sally-footer-pro .sally-footer-brand p{
    text-align:center;
  }

  .sally-footer-pro .sally-footer-brand + .sally-footer-col,
  .sally-footer-pro .sally-footer-brand + .sally-footer-col + .sally-footer-col{
    grid-column:auto;
    text-align:left;
    justify-self:stretch;
  }

  .sally-footer-pro .sally-footer-brand + .sally-footer-col h3,
  .sally-footer-pro .sally-footer-brand + .sally-footer-col + .sally-footer-col h3{
    text-align:left;
  }

  .sally-footer-pro .sally-footer-brand + .sally-footer-col ul,
  .sally-footer-pro .sally-footer-brand + .sally-footer-col + .sally-footer-col ul{
    justify-items:start;
    text-align:left;
  }

  .sally-footer-pro .sally-footer-contact{
    grid-column:1 / -1;
    text-align:center;
    justify-self:center;
    width:100%;
  }

  .sally-footer-pro .sally-footer-contact h3,
  .sally-footer-pro .sally-footer-contact p{
    text-align:center;
  }

  .sally-footer-pro .sally-footer-contact-line{
    justify-content:center;
  }

  .sally-footer-pro .sally-footer-support-link{
    margin-left:auto;
    margin-right:auto;
  }
}

@media (max-width:420px){
  .sally-footer-pro .sally-footer-main{
    grid-template-columns:1fr 1fr!important;
    column-gap:18px;
    row-gap:24px;
  }

  .sally-footer-pro .sally-footer-col h3{
    font-size:15px!important;
  }

  .sally-footer-pro .sally-footer-col a{
    font-size:13px;
  }
}

@media (max-width:340px){
  .sally-footer-pro .sally-footer-main{
    grid-template-columns:1fr!important;
  }

  .sally-footer-pro .sally-footer-brand + .sally-footer-col,
  .sally-footer-pro .sally-footer-brand + .sally-footer-col + .sally-footer-col{
    text-align:center;
  }

  .sally-footer-pro .sally-footer-brand + .sally-footer-col h3,
  .sally-footer-pro .sally-footer-brand + .sally-footer-col + .sally-footer-col h3{
    text-align:center;
  }

  .sally-footer-pro .sally-footer-brand + .sally-footer-col ul,
  .sally-footer-pro .sally-footer-brand + .sally-footer-col + .sally-footer-col ul{
    justify-items:center;
    text-align:center;
  }
}


/* ==========================================================
   v1.1.0 - Clean compact footer layout: Logo | Policies | Need help
   ========================================================== */

.sally-footer-pro.sally-footer-compact-layout .sally-footer-main{
  grid-template-columns:minmax(240px,1.1fr) minmax(180px,.9fr) minmax(220px,.9fr)!important;
  align-items:start;
}

.sally-footer-pro.sally-footer-compact-layout .sally-footer-brand{
  grid-column:auto!important;
}

.sally-footer-pro.sally-footer-compact-layout .sally-footer-logo{
  margin-bottom:0!important;
}

.sally-footer-pro.sally-footer-compact-layout .sally-footer-logo-img{
  max-height:92px;
}

.sally-footer-pro.sally-footer-compact-layout .sally-footer-policies a{
  color:var(--sally-footer-policies-text,#73465f)!important;
}

.sally-footer-pro.sally-footer-compact-layout .sally-footer-policies a:hover{
  color:var(--sally-footer-berry)!important;
}

.sally-footer-pro.sally-footer-compact-layout .sally-footer-contact p,
.sally-footer-pro.sally-footer-compact-layout .sally-footer-contact-line{
  display:none!important;
}

.sally-footer-pro.sally-footer-compact-layout .sally-footer-support-link{
  margin-top:0!important;
}

@media (max-width:760px){
  .sally-footer-pro.sally-footer-compact-layout .sally-footer-main{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }

  .sally-footer-pro.sally-footer-compact-layout .sally-footer-brand,
  .sally-footer-pro.sally-footer-compact-layout .sally-footer-policies,
  .sally-footer-pro.sally-footer-compact-layout .sally-footer-contact{
    grid-column:auto!important;
    text-align:center!important;
    justify-self:center!important;
    width:100%;
  }

  .sally-footer-pro.sally-footer-compact-layout .sally-footer-policies h3,
  .sally-footer-pro.sally-footer-compact-layout .sally-footer-policies ul{
    text-align:center!important;
    justify-items:center!important;
  }
}


/* ==========================================================
   v1.1.1 - Need help text as button + mobile policies inline
   ========================================================== */

.sally-footer-pro.sally-footer-compact-layout .sally-footer-need-help-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  width:auto!important;
}

.sally-footer-pro.sally-footer-compact-layout .sally-footer-contact h3{
  display:none!important;
}

@media (max-width:760px){
  .sally-footer-pro.sally-footer-compact-layout .sally-footer-contact{
    text-align:center!important;
    justify-self:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }

  .sally-footer-pro.sally-footer-compact-layout .sally-footer-need-help-button{
    margin-left:auto!important;
    margin-right:auto!important;
    align-self:center!important;
  }

  .sally-footer-pro.sally-footer-compact-layout .sally-footer-policies ul{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px 14px!important;
    text-align:center!important;
  }

  .sally-footer-pro.sally-footer-compact-layout .sally-footer-policies li{
    display:inline-flex!important;
    margin:0!important;
  }

  .sally-footer-pro.sally-footer-compact-layout .sally-footer-policies a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    font-size:13px!important;
  }
}


/* ==========================================================
   v1.1.3 - Need help always clickable + remove true bottom gap
   ========================================================== */

body.sally-footer-pro-active,
body.sally-footer-pro-active #page,
body.sally-footer-pro-active .site,
body.sally-footer-pro-active .site-content,
body.sally-footer-pro-active .site-main,
body.sally-footer-pro-active main,
body.sally-footer-pro-active .ct-container-full,
body.sally-footer-pro-active .ct-drawer-canvas,
body.sally-footer-pro-active .wp-site-blocks{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout,
body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-shell{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-main{
  margin-bottom:0!important;
}

body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-contact{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-height:0!important;
}

body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-need-help-button,
body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout a.sally-footer-need-help-button{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  min-width:126px!important;
  padding:11px 18px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--sally-footer-rose),var(--sally-footer-berry))!important;
  border:1px solid var(--sally-footer-rose)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  font-weight:950!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:nowrap!important;
  position:relative!important;
  z-index:5!important;
}

/* Collapse default/theme footer or empty blocks that sit after the custom footer and create the large space. */
body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout ~ footer,
body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout ~ .site-footer,
body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout ~ .ct-footer,
body.sally-footer-pro-active footer:not(.sally-footer-pro),
body.sally-footer-pro-active #colophon,
body.sally-footer-pro-active .site-footer:not(.sally-footer-pro),
body.sally-footer-pro-active .ct-footer,
body.sally-footer-pro-active .footer-bottom,
body.sally-footer-pro-active .ct-footer-copyright,
body.sally-footer-pro-active .wp-block-template-part:has(footer:not(.sally-footer-pro)){
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout + *:empty{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

@media (max-width:760px){
  body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-contact{
    align-items:center!important;
    text-align:center!important;
    width:100%!important;
  }

  body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-need-help-button{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* ==========================================================
   v1.1.6 - Tight footer section, no decorative space under card
   Screenshot fix: the visible gap is the Sally footer visual background/pseudo layer, not normal margin.
   ========================================================== */

html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout,
html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout{
  padding-bottom:0!important;
  margin-bottom:0!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 12% 12%, rgba(255,221,235,.85), transparent 30%),
    linear-gradient(180deg, transparent 0%, var(--sally-footer-blush) 100%)!important;
}

html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout::before,
html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout::before{
  display:none!important;
  content:none!important;
}

html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-shell,
html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-main{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

/* The white card itself should define the end of the footer section. */
html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-main{
  display:grid!important;
  overflow:hidden!important;
}

/* Stronger direct next-section cleanup, only after Sally footer. */
html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout + section:empty,
html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout + div:empty,
html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout + .wp-block-spacer,
html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout + .elementor-spacer,
html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout + .ct-footer,
html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout + .site-footer,
html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout + footer{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

html body.sally-footer-pro-active .sally-footer-after-hidden-by-js{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

@media (max-width:760px){
  html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout,
  html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout{
    padding-bottom:0!important;
    margin-bottom:0!important;
  }
}


/* ==========================================================
   v1.1.9 - Real visible spacer element under footer
   ========================================================== */

html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout,
html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout{
  padding-bottom:0!important;
  margin-bottom:0!important;
}

html body.sally-footer-pro-active .sally-footer-bottom-spacer{
  display:block!important;
  width:100%!important;
  height:var(--sally-footer-bottom-space,0px)!important;
  min-height:var(--sally-footer-bottom-space,0px)!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  clear:both!important;
  background:transparent!important;
  pointer-events:none!important;
}

@media (max-width:760px){
  html body.sally-footer-pro-active .sally-footer-bottom-spacer{
    height:var(--sally-footer-bottom-space-mobile,var(--sally-footer-bottom-space,0px))!important;
    min-height:var(--sally-footer-bottom-space-mobile,var(--sally-footer-bottom-space,0px))!important;
  }
}


/* ==========================================================
   v1.2.0 - Bottom space inside Sally footer background
   This is a real block inside the footer, so it is not affected by hidden next sections.
   ========================================================== */

html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout .sally-footer-inner-bottom-space{
  display:block!important;
  width:100%!important;
  height:var(--sally-footer-bottom-space,0px)!important;
  min-height:var(--sally-footer-bottom-space,0px)!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  clear:both!important;
  background:transparent!important;
  pointer-events:none!important;
  flex:0 0 auto!important;
}

html body.sally-footer-pro-active .sally-footer-bottom-spacer{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

@media (max-width:760px){
  html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout .sally-footer-inner-bottom-space{
    height:var(--sally-footer-bottom-space-mobile,var(--sally-footer-bottom-space,0px))!important;
    min-height:var(--sally-footer-bottom-space-mobile,var(--sally-footer-bottom-space,0px))!important;
  }
}


/* ==========================================================
   v1.2.1 - Footer bottom space as real padding-bottom on the footer section
   ========================================================== */

html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout,
html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout{
  padding-bottom:var(--sally-footer-bottom-space,0px)!important;
  margin-bottom:0!important;
  overflow:hidden!important;
}

html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout .sally-footer-inner-bottom-space{
  display:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
}

@media (max-width:760px){
  html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout,
  html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout{
    padding-bottom:var(--sally-footer-bottom-space-mobile,var(--sally-footer-bottom-space,0px))!important;
  }
}


/* ==========================================================
   v1.2.2 - Real padding-bottom inside the white footer card
   Keeps the outside pink footer space unchanged.
   ========================================================== */

html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout .sally-footer-main,
html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-main{
  padding-top:34px!important;
  padding-right:34px!important;
  padding-left:34px!important;
  padding-bottom:calc(34px + var(--sally-footer-card-padding-bottom,0px))!important;
}

@media (max-width:760px){
  html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout .sally-footer-main,
  html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-main{
    padding-top:24px!important;
    padding-right:18px!important;
    padding-left:18px!important;
    padding-bottom:calc(24px + var(--sally-footer-card-padding-bottom-mobile,var(--sally-footer-card-padding-bottom,0px)))!important;
  }
}

@media (max-width:420px){
  html body.sally-footer-pro-active footer.sally-footer-pro.sally-footer-compact-layout .sally-footer-main,
  html body.sally-footer-pro-active .sally-footer-pro.sally-footer-compact-layout .sally-footer-main{
    padding-top:22px!important;
    padding-right:14px!important;
    padding-left:14px!important;
    padding-bottom:calc(22px + var(--sally-footer-card-padding-bottom-mobile,var(--sally-footer-card-padding-bottom,0px)))!important;
  }
}


/* ==========================================================
   v1.2.3 - Tax registration number line
   ========================================================== */
.sally-footer-pro .sally-footer-tax-registration{
  width:100%;
  margin:10px auto 0!important;
  padding:8px 10px 10px!important;
  text-align:center!important;
  color:#8b637b!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.5!important;
  letter-spacing:0!important;
}

.sally-footer-pro .sally-footer-tax-registration span{
  font:inherit!important;
  color:inherit!important;
}

@media (max-width:760px){
  .sally-footer-pro .sally-footer-tax-registration{
    margin-top:8px!important;
    padding:7px 8px 9px!important;
    font-size:10px!important;
  }
}
