
/* =========================================================
   HEPALYSE PLUS II — Bottom Sticky CTA
   Theme: deep wine / red / gold / cream
   ========================================================= */
@keyframes hepari-shimmer {
  0% { transform:scale(1); box-shadow:0 0 0 0 rgba(243,45,56,.36),0 12px 28px rgba(93,5,14,.24); }
  50% { transform:scale(1.025); box-shadow:0 0 26px 10px rgba(243,45,56,0),0 16px 34px rgba(93,5,14,.30); }
  100% { transform:scale(1); box-shadow:0 0 0 0 rgba(243,45,56,0),0 12px 28px rgba(93,5,14,.24); }
}

#scroll-cta-hepari,
#scroll-cta-hepari * { box-sizing:border-box; }

#scroll-cta-hepari {
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:10000;
  transform:translateY(100%);
  transition:transform .7s cubic-bezier(.22,.61,.36,1);
  font-family:inherit;
}
#scroll-cta-hepari.is-visible { transform:translateY(0); }
#scroll-cta-hepari.is-hidden { transform:translateY(100%); }

#scroll-cta-hepari .hepari-cta-shell {
  position:relative;
  background:#fff;
  border-top:1px solid #eadfe0;
  box-shadow:0 -14px 38px -24px rgba(52,22,27,.28);
}

#scroll-cta-hepari .hepari-toggle-wrap {
  position:absolute;
  top:-25px; left:50%;
  transform:translateX(-50%);
}
#scroll-cta-hepari .hepari-toggle {
  width:68px; height:26px;
  display:flex; align-items:center; justify-content:center;
  padding:0;
  border:1px solid rgba(241,195,111,.38);
  border-bottom:0;
  border-radius:18px 18px 0 0;
  background:#fff;
  color:#8d1d28;
  cursor:pointer;
  box-shadow:0 -7px 18px rgba(0,0,0,.22);
  transition:height .2s ease,background .2s ease,color .2s ease;
}
#scroll-cta-hepari .hepari-toggle:hover { height:31px; background:#f8f3f3; color:#65121b; }
#scroll-cta-hepari .hepari-toggle svg { width:15px; height:15px; transition:transform .5s ease; }

#scroll-cta-hepari .hepari-close {
  position:absolute; top:13px; right:18px; z-index:4;
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(67,39,43,.55);
  cursor:pointer;
  transition:color .2s ease,transform .2s ease;
}
#scroll-cta-hepari .hepari-close:hover { color:#3b2024; transform:rotate(4deg); }
#scroll-cta-hepari .hepari-close svg { width:18px; height:18px; }

#scroll-cta-hepari .hepari-content {
  max-height:420px;
  overflow:hidden;
  transition:max-height .5s ease,padding .5s ease,opacity .35s ease;
  padding:15px 54px 17px;
  opacity:1;
}
#scroll-cta-hepari .hepari-inner {
  width:fit-content;
  max-width:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
}
#scroll-cta-hepari .hepari-product {
  flex:0 0 100px;
}
#scroll-cta-hepari .hepari-copy {
  flex:0 1 520px;
  width:520px;
  max-width:42vw;
}
#scroll-cta-hepari .hepari-action {
  flex:0 0 auto;
  margin-left:72px;
}
#scroll-cta-hepari .hepari-product {
  display:flex; align-items:center; justify-content:center;
  min-height:108px;
}
#scroll-cta-hepari .hepari-product img {
  display:block;
  width:112px;
  max-height:112px;
  object-fit:contain;
  filter:drop-shadow(0 16px 20px rgba(0,0,0,.34));
  transition:transform .25s ease;
}
#scroll-cta-hepari .hepari-product:hover img { transform:translateY(-3px) scale(1.035); }

#scroll-cta-hepari .hepari-copy { min-width:0; }
#scroll-cta-hepari .hepari-kicker {
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  margin-bottom:7px;
}
#scroll-cta-hepari .hepari-badge {
  display:inline-flex; align-items:center; min-height:24px;
  padding:0 9px;
  border-radius:999px;
  background:#f1c36f;
  color:#2b0207;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
#scroll-cta-hepari .hepari-kicker-text {
  color:#8d1d28;
  font-size:12px;
  font-weight:800;
}
#scroll-cta-hepari .hepari-title {
  margin:0;
  color:#2b171a;
  font-size:clamp(20px,2vw,27px);
  line-height:1.25;
  letter-spacing:-.035em;
  font-weight:900;
}
#scroll-cta-hepari .hepari-title strong { color:#ff5a43; }
#scroll-cta-hepari .hepari-desc {
  margin:5px 0 0;
  color:#796568;
  font-size:13px;
  font-weight:600;
  line-height:1.55;
}

#scroll-cta-hepari .hepari-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:190px;
  min-height:54px;
  padding:0 26px;
  border-radius:14px;
  background:linear-gradient(135deg,#f32d38,#ff5a43);
  color:#fff;
  text-decoration:none;
  font-size:16px;
  font-weight:900;
  white-space:nowrap;
  animation:hepari-shimmer 2.2s infinite;
  transition:background .2s ease,transform .2s ease;
}
#scroll-cta-hepari .hepari-action:hover { background:linear-gradient(135deg,#d91f2a,#f34835); transform:translateY(-2px); }
#scroll-cta-hepari .hepari-action:active { transform:scale(.97); }

#scroll-cta-hepari.is-collapsed .hepari-content {
  max-height:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  opacity:0;
}
#scroll-cta-hepari.is-collapsed .hepari-toggle svg { transform:rotate(180deg); }

@media (max-width:900px) {
  #scroll-cta-hepari .hepari-content { padding:15px 42px 16px; }
  #scroll-cta-hepari .hepari-inner { width:min(900px,100%); grid-template-columns:88px minmax(0,1fr) 170px; justify-content:center; gap:18px; }
  #scroll-cta-hepari .hepari-product img { width:88px; max-height:88px; }
  #scroll-cta-hepari .hepari-action { min-width:160px; padding:0 20px; font-size:14px; }
}
@media (max-width:700px) {
  #scroll-cta-hepari .hepari-close { top:8px; right:8px; }
  #scroll-cta-hepari .hepari-content { padding:12px 18px 13px; }
  #scroll-cta-hepari .hepari-inner {
    grid-template-columns:72px minmax(0,1fr);
    gap:12px 14px;
  }
  #scroll-cta-hepari .hepari-product { min-height:72px; }
  #scroll-cta-hepari .hepari-product img { width:70px; max-height:70px; }
  #scroll-cta-hepari .hepari-copy { padding-right:18px; }
  #scroll-cta-hepari .hepari-kicker { gap:6px; margin-bottom:4px; }
  #scroll-cta-hepari .hepari-badge { min-height:21px; padding:0 7px; font-size:9px; }
  #scroll-cta-hepari .hepari-kicker-text { font-size:10px; }
  #scroll-cta-hepari .hepari-title { font-size:17px; }
  #scroll-cta-hepari .hepari-desc { display:none; }
  #scroll-cta-hepari .hepari-action {
    grid-column:1 / -1;
    width:100%; min-width:0; min-height:46px;
    margin-top:1px;
    font-size:14px;
  }
}

/* Centered CTA cluster override */
@media (max-width: 1100px) {
  #scroll-cta-hepari .hepari-inner {
    gap:20px;
  }
  #scroll-cta-hepari .hepari-copy {
    width:430px;
    max-width:40vw;
  }
  #scroll-cta-hepari .hepari-product {
    flex-basis:88px;
  }
  #scroll-cta-hepari .hepari-product img {
    width:92px;
    max-height:96px;
  }
  #scroll-cta-hepari .hepari-action {
    min-width:178px;
    padding-left:20px;
    padding-right:20px;
  }
}

@media (max-width: 820px) {
  #scroll-cta-hepari .hepari-inner {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:14px 18px;
  }
  #scroll-cta-hepari .hepari-copy {
    flex:1 1 420px;
    width:auto;
    max-width:none;
  }
  #scroll-cta-hepari .hepari-action {
    flex:0 0 auto;
  }
}

@media (max-width: 640px) {
  #scroll-cta-hepari .hepari-inner {
    flex-direction:column;
    text-align:center;
    gap:12px;
  }
  #scroll-cta-hepari .hepari-product {
    flex:0 0 auto;
  }
  #scroll-cta-hepari .hepari-copy {
    flex:0 0 auto;
    width:100%;
    max-width:100%;
  }
  #scroll-cta-hepari .hepari-kicker {
    justify-content:center;
  }
  #scroll-cta-hepari .hepari-action {
    width:min(100%,320px);
  }
}

@media (max-width: 1100px) {
  #scroll-cta-hepari .hepari-action { margin-left:36px; }
}
@media (max-width: 820px) {
  #scroll-cta-hepari .hepari-action { margin-left:0; }
}



/* ===== COMPACT CENTERED CTA — reference-like spacing ===== */
@media (min-width: 821px) {
  #scroll-cta-hepari .hepari-content {
    padding: 18px 32px 20px !important;
  }
  #scroll-cta-hepari .hepari-inner {
    width: max-content !important;
    max-width: calc(100vw - 64px) !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    transform: none !important;
    grid-template-columns: none !important;
  }
  #scroll-cta-hepari .hepari-product {
    flex: 0 0 96px !important;
    width: 96px !important;
    min-width: 96px !important;
    min-height: 96px !important;
  }
  #scroll-cta-hepari .hepari-product img {
    width: 92px !important;
    max-height: 96px !important;
  }
  #scroll-cta-hepari .hepari-copy {
    flex: 0 0 390px !important;
    width: 390px !important;
    max-width: 390px !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  #scroll-cta-hepari .hepari-kicker {
    margin-bottom: 5px !important;
    gap: 7px !important;
  }
  #scroll-cta-hepari .hepari-title {
    font-size: 24px !important;
    line-height: 1.22 !important;
  }
  #scroll-cta-hepari .hepari-desc {
    margin-top: 4px !important;
    font-size: 12px !important;
  }
  #scroll-cta-hepari .hepari-action {
    flex: 0 0 205px !important;
    width: 205px !important;
    min-width: 205px !important;
    min-height: 54px !important;
    margin: 0 0 0 6px !important;
    padding: 0 22px !important;
  }
}
@media (min-width: 821px) and (max-width: 1050px) {
  #scroll-cta-hepari .hepari-inner { gap: 14px !important; }
  #scroll-cta-hepari .hepari-product {
    flex-basis: 82px !important;
    width: 82px !important;
    min-width: 82px !important;
  }
  #scroll-cta-hepari .hepari-product img {
    width: 80px !important;
    max-height: 84px !important;
  }
  #scroll-cta-hepari .hepari-copy {
    flex-basis: 360px !important;
    width: 360px !important;
    max-width: 360px !important;
  }
  #scroll-cta-hepari .hepari-title { font-size: 21px !important; }
  #scroll-cta-hepari .hepari-action {
    flex-basis: 185px !important;
    width: 185px !important;
    min-width: 185px !important;
    margin-left: 4px !important;
  }
}
@media (max-width: 820px) {
  #scroll-cta-hepari .hepari-inner { transform: none !important; }
  #scroll-cta-hepari .hepari-action { margin-left: 0 !important; }
}


/* ===== FINAL SIZE UP — keep compact spacing, increase overall presence ===== */
@media (min-width: 821px) {
  #scroll-cta-hepari .hepari-content {
    padding-top: 21px !important;
    padding-bottom: 23px !important;
  }
  #scroll-cta-hepari .hepari-inner {
    gap: 20px !important;
  }
  #scroll-cta-hepari .hepari-product {
    flex-basis: 112px !important;
    width: 112px !important;
    min-width: 112px !important;
    min-height: 112px !important;
  }
  #scroll-cta-hepari .hepari-product img {
    width: 108px !important;
    max-height: 114px !important;
  }
  #scroll-cta-hepari .hepari-copy {
    flex-basis: 430px !important;
    width: 430px !important;
    max-width: 430px !important;
  }
  #scroll-cta-hepari .hepari-badge {
    min-height: 26px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 10.5px !important;
  }
  #scroll-cta-hepari .hepari-kicker-text {
    font-size: 13px !important;
  }
  #scroll-cta-hepari .hepari-title {
    font-size: 27px !important;
    line-height: 1.22 !important;
  }
  #scroll-cta-hepari .hepari-desc {
    font-size: 13px !important;
    margin-top: 6px !important;
  }
  #scroll-cta-hepari .hepari-action {
    flex-basis: 220px !important;
    width: 220px !important;
    min-width: 220px !important;
    min-height: 60px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    font-size: 17px !important;
    border-radius: 15px !important;
  }
}

@media (min-width: 821px) and (max-width: 1050px) {
  #scroll-cta-hepari .hepari-content {
    padding-top: 19px !important;
    padding-bottom: 20px !important;
  }
  #scroll-cta-hepari .hepari-product {
    flex-basis: 96px !important;
    width: 96px !important;
    min-width: 96px !important;
  }
  #scroll-cta-hepari .hepari-product img {
    width: 92px !important;
    max-height: 98px !important;
  }
  #scroll-cta-hepari .hepari-copy {
    flex-basis: 390px !important;
    width: 390px !important;
    max-width: 390px !important;
  }
  #scroll-cta-hepari .hepari-title {
    font-size: 23px !important;
  }
  #scroll-cta-hepari .hepari-action {
    flex-basis: 195px !important;
    width: 195px !important;
    min-width: 195px !important;
    min-height: 56px !important;
    font-size: 16px !important;
  }
}

/* ===== FINAL PRODUCT IMAGE SIZE UP ONLY ===== */
@media (min-width: 821px) {
  #scroll-cta-hepari .hepari-product {
    flex-basis: 122px !important;
    width: 122px !important;
    min-width: 122px !important;
    min-height: 118px !important;
  }

  #scroll-cta-hepari .hepari-product img {
    width: 120px !important;
    max-width: 120px !important;
    max-height: 122px !important;
    object-fit: contain !important;
  }
}

@media (min-width: 821px) and (max-width: 1050px) {
  #scroll-cta-hepari .hepari-product {
    flex-basis: 106px !important;
    width: 106px !important;
    min-width: 106px !important;
  }

  #scroll-cta-hepari .hepari-product img {
    width: 104px !important;
    max-width: 104px !important;
    max-height: 108px !important;
  }
}

@media (max-width: 820px) {
  #scroll-cta-hepari .hepari-product img {
    width: 100px !important;
    max-width: 100px !important;
    max-height: 104px !important;
  }
}


/* ===== EXTRA LARGE PRODUCT IMAGE ===== */
@media (min-width: 821px) {
  #scroll-cta-hepari .hepari-product { flex-basis: 148px !important; width: 148px !important; min-width: 148px !important; min-height: 138px !important; }
  #scroll-cta-hepari .hepari-product img { width: 144px !important; max-width: 144px !important; max-height: 136px !important; object-fit: contain !important; }
}
@media (min-width: 821px) and (max-width: 1050px) {
  #scroll-cta-hepari .hepari-product { flex-basis: 126px !important; width: 126px !important; min-width: 126px !important; min-height: 118px !important; }
  #scroll-cta-hepari .hepari-product img { width: 122px !important; max-width: 122px !important; max-height: 116px !important; }
}
@media (max-width: 820px) {
  #scroll-cta-hepari .hepari-product { min-height: 108px !important; }
  #scroll-cta-hepari .hepari-product img { width: 112px !important; max-width: 112px !important; max-height: 110px !important; }
}


/* ===== SMOOTH ENTRY OVERRIDE V2 ===== */
#scroll-cta-hepari {
  transform: translate3d(0,112%,0) !important;
  opacity: 0 !important;
  pointer-events: none;
  transition:
    transform .85s cubic-bezier(.22,.61,.36,1),
    opacity .55s ease !important;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

#scroll-cta-hepari.is-visible {
  transform: translate3d(0,0,0) !important;
  opacity: 1 !important;
  pointer-events: auto;
}

#scroll-cta-hepari.is-hidden {
  transform: translate3d(0,112%,0) !important;
  opacity: 0 !important;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  #scroll-cta-hepari { transition:none !important; }
}
