.vhb-share-trigger{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;color:#ff8200!important;font:500 14px/1 Inter,Arial,sans-serif!important;text-decoration:none!important;white-space:nowrap!important;cursor:pointer!important;position:relative;z-index:3;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;min-width:0!important;width:auto!important;height:auto!important;text-transform:none!important;letter-spacing:0!important;text-shadow:none!important}.vhb-share-trigger svg{width:17px!important;height:17px!important;display:block!important;flex:0 0 17px!important;stroke:currentColor!important;fill:none!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;margin:0!important}.vhb-share-trigger>span{display:inline!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:inherit!important;font:inherit!important;line-height:inherit!important;text-transform:none!important;letter-spacing:inherit!important}.vhb-share-trigger:hover,.vhb-share-trigger:focus-visible{color:#ff8200!important;filter:brightness(1.09);outline:none;text-shadow:none!important}
.vhb-card-meta{width:100%!important;display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:14px!important}.vhb-card-meta>.vhb-share-trigger{margin-left:auto!important}.vhb-mobile-card-meta-row{margin-top:auto!important;display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:14px!important;width:100%!important}.vhb-mobile-card-meta-row>.vhb-share-trigger{margin-left:auto!important}.vhb-mobile-card-timestamp{margin:0!important}.vhb-archive-date-share{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:12px!important;width:100%!important;flex-basis:100%!important}.vhb-archive-date-share>.vhb-share-trigger{margin-left:auto!important}.vhb-article-date-share{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:16px!important;margin-top:12px!important}.vhb-article-date-share p{margin:0!important}.vhb-article-date-share .vhb-share-trigger{font-size:15px!important;margin-left:auto!important}
html body.home #vhb-app .vhb-home-story-card .vhb-card-meta,html body.home .vhb-home-story-card .vhb-card-meta,html body.home #vhb-app .vhb-home-story-card .vhb-mobile-card-meta-row,html body.home .vhb-home-story-card .vhb-mobile-card-meta-row{display:flex!important;flex-direction:row!important;align-items:baseline!important;justify-content:space-between!important;width:100%!important;gap:14px!important}html body.home #vhb-app .vhb-home-story-card .vhb-share-trigger,html body.home .vhb-home-story-card .vhb-share-trigger{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;margin:0 0 0 auto!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#ff8200!important;opacity:1!important;font-size:14px!important;font-weight:500!important;line-height:1!important;text-transform:none!important;letter-spacing:0!important;min-width:0!important;width:auto!important;height:auto!important}html body.home #vhb-app .vhb-home-story-card .vhb-share-trigger>span,html body.home .vhb-home-story-card .vhb-share-trigger>span{display:inline!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:inherit!important;font:inherit!important;line-height:inherit!important;text-transform:none!important;letter-spacing:inherit!important}html body.home #vhb-app .vhb-home-story-card .vhb-share-trigger svg,html body.home .vhb-home-story-card .vhb-share-trigger svg{width:17px!important;height:17px!important;flex:0 0 17px!important;margin:0!important}
.vhb-share-layer{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.72);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:22px}.vhb-share-layer[hidden]{display:none!important}.vhb-share-dialog{width:min(520px,100%);background:linear-gradient(180deg,#17191e,#0d0f13);border:1px solid rgba(255,130,0,.55);border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.62);overflow:hidden;color:#fff}.vhb-share-head{display:flex;justify-content:space-between;gap:18px;padding:20px 20px 15px;border-bottom:1px solid rgba(255,255,255,.09)}.vhb-share-head>div{min-width:0}.vhb-share-head span{display:block;color:#ff8200;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:850}.vhb-share-story-title{display:block;margin-top:7px;font-size:17px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vhb-share-close{appearance:none;border:1px solid rgba(255,255,255,.16);background:#0b0d10;color:#fff;border-radius:999px;width:34px;height:34px;font-size:22px;line-height:1;cursor:pointer}.vhb-share-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:16px}.vhb-share-action{appearance:none;display:flex;align-items:center;gap:9px;text-align:left;border:1px solid rgba(255,255,255,.11);background:#111318;color:#fff;border-radius:12px;padding:11px 12px;font:700 13px/1.2 Inter,Arial,sans-serif;cursor:pointer}.vhb-share-action:hover,.vhb-share-action:focus-visible{border-color:rgba(255,130,0,.7);background:#17191f;outline:none}.vhb-share-action b{display:grid;place-items:center;width:24px;height:24px;color:#ff8200;font-size:16px}.vhb-share-toast{position:fixed;left:50%;bottom:26px;z-index:1000000;transform:translate(-50%,18px);opacity:0;background:#17191e;color:#fff;border:1px solid rgba(255,130,0,.6);border-radius:999px;padding:10px 16px;font-weight:750;pointer-events:none;transition:.18s ease}.vhb-share-toast.is-visible{opacity:1;transform:translate(-50%,0)}body.vhb-share-open{overflow:hidden}
@media(max-width:680px){.vhb-share-layer{align-items:flex-end;padding:0}.vhb-share-dialog{width:100%;border-radius:20px 20px 0 0;border-bottom:0}.vhb-share-actions{grid-template-columns:1fr 1fr;padding-bottom:max(18px,env(safe-area-inset-bottom))}.vhb-share-trigger{font-size:14px!important}}


/* v0.2.113IPRt107 — Desktop Home Card share-row final alignment.
   Desktop/tablet-width only: mobile share presentation is intentionally untouched. */
@media (min-width:768px){
  html body.home #vhb-app .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta,
  html body.home .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta{
    display:flex!important;
    flex-direction:row!important;
    align-items:baseline!important;
    justify-content:space-between!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:14px 0 0!important;
    padding:12px 0 0!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
    border-radius:0!important;
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:visible!important;
    gap:12px!important;
  }
  html body.home #vhb-app .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta::before,
  html body.home #vhb-app .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta::after,
  html body.home .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta::before,
  html body.home .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta::after{
    content:none!important;
    display:none!important;
  }
  html body.home #vhb-app .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta-time,
  html body.home .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta-time{
    display:inline-block!important;
    flex:0 1 auto!important;
    margin:0!important;
    padding:0!important;
    line-height:1.2!important;
    vertical-align:baseline!important;
  }
  html body.home #vhb-app .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta > .vhb-share-trigger,
  html body.home .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta > .vhb-share-trigger{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:baseline!important;
    justify-content:flex-end!important;
    align-self:baseline!important;
    gap:4px!important;
    margin:0 0 0 auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    color:#ff8200!important;
    opacity:1!important;
    font-size:14px!important;
    font-weight:400!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    text-transform:none!important;
    vertical-align:baseline!important;
  }
  html body.home #vhb-app .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta > .vhb-share-trigger svg,
  html body.home .vhb-home-content-prototype .vhb-home-story-card .vhb-card-meta > .vhb-share-trigger svg{
    width:17px!important;
    height:17px!important;
    flex:0 0 17px!important;
    align-self:center!important;
    margin:0!important;
  }
}

/* v0.2.113IPRt108 — actual desktop universal-card footer alignment.
   The live desktop Home feed renders the dedicated mobile-card component inside
   .vhb-universal-home-feed, so this targets that real footer rather than the
   dormant legacy .vhb-card-meta branch. Phone/mobile rules remain untouched. */
@media (min-width:1101px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:18px!important;
    box-sizing:border-box!important;
    margin:14px 0 0!important;
    padding:12px 0 0!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
    border-radius:0!important;
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:visible!important;
    gap:12px!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row::before,
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row::after,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row::before,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row::after{
    content:none!important;
    display:none!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-timestamp,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-timestamp{
    display:inline-flex!important;
    align-items:center!important;
    flex:0 1 auto!important;
    min-height:18px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:rgba(255,255,255,.62)!important;
    font-size:14px!important;
    font-weight:400!important;
    line-height:18px!important;
    vertical-align:middle!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:flex-end!important;
    align-self:center!important;
    min-height:18px!important;
    gap:4px!important;
    margin:0 0 0 auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    color:#ff8200!important;
    opacity:1!important;
    font-size:14px!important;
    font-weight:400!important;
    line-height:18px!important;
    letter-spacing:0!important;
    text-transform:none!important;
    vertical-align:middle!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg{
    width:17px!important;
    height:17px!important;
    flex:0 0 17px!important;
    align-self:center!important;
    margin:0!important;
  }
}

/* v0.2.113IPRt111 — desktop Home Card Share label final optical alignment hotfix.
   Lower only the word "Share" by one additional pixel (4px total) so its
   optical center aligns with the existing share icon. The icon, date, footer
   geometry, tablet, and mobile remain untouched. */
@media (min-width:1101px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span{
    position:relative!important;
    top:4px!important;
  }
}


/* v0.2.113IPRt112 — tablet-only Home Card Share optical alignment hotfix.
   Desktop (min-width:1101px) and phone/mobile (max-width:680px) are frozen.
   On tablet widths, lower the share icon by 2px and the Share label by 4px
   to align the control optically with the existing date metadata. */
@media (min-width:681px) and (max-width:1100px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg{
    position:relative!important;
    top:2px!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span{
    position:relative!important;
    top:4px!important;
  }
}

/* v0.2.113IPRt113 — final tablet/mobile Home Card Share optical polish.
   Tablet: preserve the now-correct icon position and lower only the Share label
   by 2px more (6px total from its original position).
   Mobile: lower both icon and label by 1px and soften their visual weight while
   leaving desktop completely frozen. */
@media (min-width:681px) and (max-width:1100px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span{
    top:6px!important;
  }
}

@media (max-width:680px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger{
    font-weight:350!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span{
    position:relative!important;
    top:1px!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg{
    stroke-width:1.75!important;
  }
}

/* v0.2.113IPRt115 — tablet/mobile Share final positioning and luminance hotfix.
   Desktop remains frozen. Relative to t113, tablet lowers the icon 2px more
   and the label 4px more; mobile lowers both 2px more and softens the shared
   orange luminance by approximately 5% without changing hue or geometry. */
@media (min-width:681px) and (max-width:1100px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg{
    top:4px!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span{
    top:10px!important;
  }
}

@media (max-width:680px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger{
    color:#f27b00!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span{
    top:3px!important;
  }
}


/* v0.2.113IPRt116 — mobile Share correction and tablet footer-space trim.
   Baseline t115. Desktop remains frozen. Mobile lowers the icon and label by
   two additional pixels and makes the orange softening visibly perceptible.
   Tablet preserves the proven Share alignment while reducing only the excess
   bottom padding beneath the date/Share metadata row. */
@media (min-width:681px) and (max-width:1100px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-text,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-text{
    padding-bottom:8px!important;
  }
}

@media (max-width:680px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger{
    color:#e87400!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span{
    top:5px!important;
  }
}

/* v0.2.113IPRt117 — final mobile Share selector correction and tablet footer trim.
   Baseline t116. The previous phone rules targeted only the dedicated
   .vhb-mobile-card-meta-row branch. This final pass also targets the legacy/live
   .vhb-card-meta branch and moves the complete Share control as one unit, ensuring
   the icon and label visibly shift together on every phone Home Card renderer.
   Tablet keeps the proven Share alignment and trims five more pixels below the row. */
@media (min-width:681px) and (max-width:1100px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-text,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-text{
    padding-bottom:3px!important;
  }
}

@media (max-width:680px){
  html body.home #vhb-app .vhb-home-story-card .vhb-card-meta > .vhb-share-trigger,
  html body.home .vhb-home-story-card .vhb-card-meta > .vhb-share-trigger,
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger{
    color:#e87400!important;
    transform:translateY(2px)!important;
  }
}


/* v0.2.113IPRt118 — authoritative phone-renderer Share correction and tablet trim calibration.
   Baseline t117. Root cause: narrow phones render .vhb-mobile-editorial-feed,
   while t115-t117 targeted the hidden .vhb-universal-home-feed phone branch.
   This pass targets the live narrow-phone renderer directly. Tablet returns the
   text-panel bottom padding from the over-trimmed 3px experiment to the requested 5px. */
@media (min-width:701px) and (max-width:1100px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-text,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-text{
    padding-bottom:5px!important;
  }
}

@media (max-width:700px),
       (hover:none) and (pointer:coarse) and (orientation:landscape) and (max-height:560px) and (max-width:1100px){
  html body.home #vhb-app .vhb-mobile-editorial-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger,
  html body.home .vhb-mobile-editorial-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger{
    position:relative!important;
    top:2px!important;
    transform:none!important;
    color:#e87400!important;
  }
  html body.home #vhb-app .vhb-mobile-editorial-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home .vhb-mobile-editorial-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger svg,
  html body.home #vhb-app .vhb-mobile-editorial-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span,
  html body.home .vhb-mobile-editorial-feed .vhb-home-story-card .vhb-mobile-card-meta-row > .vhb-share-trigger > span{
    top:auto!important;
    color:inherit!important;
  }
}

/* v0.2.113IPRt119 — tablet footer trim authority and locked Share overlay surface.
   Baseline t118. Tablet uses the same live universal Home Card text panel that
   responded in t116; restore the full 681-1100px range and reduce its bottom
   padding from 8px to 5px. Share overlays now lock the document viewport while
   open, including iOS/touch scrolling, while preserving dialog accessibility. */
@media (min-width:681px) and (max-width:1100px){
  html body.home #vhb-app .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-text,
  html body.home .vhb-universal-home-feed .vhb-home-story-card .vhb-mobile-card-text{
    padding-bottom:5px!important;
  }
}

html.vhb-share-open,
body.vhb-share-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.vhb-share-open{
  position:fixed!important;
  left:0!important;
  right:0!important;
  width:100%!important;
}
.vhb-share-layer{
  overscroll-behavior:contain!important;
  touch-action:none!important;
}
.vhb-share-dialog{
  max-height:calc(100dvh - 44px);
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
@media(max-width:680px){
  .vhb-share-dialog{max-height:calc(100dvh - env(safe-area-inset-top));}
}

/* v0.2.113IPRt120 — mobile Share sheet viewport containment and true internal scrolling.
   On narrow phones the dialog is centered inside the *visual* viewport instead of
   being bottom-anchored beneath Safari chrome. The action grid owns overflow so the
   header remains visible, and touch scroll chaining into the page is blocked. */
@media (max-width:680px){
  .vhb-share-layer{
    top:var(--vhb-share-vv-top, 0px)!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    height:var(--vhb-share-vv-height, 100dvh)!important;
    min-height:0!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:max(14px, env(safe-area-inset-top)) 10px max(14px, env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
    touch-action:none!important;
  }
  .vhb-share-layer[hidden]{display:none!important;}
  .vhb-share-dialog{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-height:min(76dvh, calc(var(--vhb-share-vv-height, 100dvh) - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))!important;
    min-height:0!important;
    border-radius:20px!important;
    border-bottom:1px solid rgba(255,130,0,.55)!important;
    overflow:hidden!important;
    touch-action:pan-y!important;
  }
  .vhb-share-head{
    flex:0 0 auto!important;
  }
  .vhb-share-actions{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    padding-bottom:max(18px, env(safe-area-inset-bottom))!important;
  }
}
