/* JSV 2.0.79 — shared website sponsor rail. Hidden on small screens; the mobile app has its own landing page. */
:root { --jsv-sponsor-rail-width: 276px; --jsv-sponsor-gap: 22px; }
.jsv-site-sponsor-rail { display:none; }
.jsv-site-sponsor-rail[hidden] { display:none!important; }
@media (min-width:1280px) {
  body:has(.jsv-site-sponsor-rail) { padding-right:0; }
  body:has(.jsv-site-sponsor-rail) > header.top,
  body:has(.jsv-site-sponsor-rail) > footer.site-footer { margin-right:0; }
  .jsv-site-sponsor-rail { display:block; position:fixed; z-index:40; inset:calc(var(--jsv-live-header-bottom,72px) + 18px) var(--jsv-sponsor-gap) 92px auto; width:var(--jsv-sponsor-rail-width); min-width:0; color:#fff; border-radius:22px; background:linear-gradient(180deg,#173e67 0%,#102d4d 100%); box-shadow:0 18px 42px rgba(9,31,53,.20); overflow:hidden; }
  .admin-bar .jsv-site-sponsor-rail { top:calc(var(--jsv-live-header-bottom,104px) + 18px); }
  .jsv-site-sponsor-rail-inner { display:flex; flex-direction:column; gap:16px; height:100%; min-height:0; padding:18px 14px 14px; box-sizing:border-box; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#8da6bf transparent; }
  .jsv-site-sponsor-rail-heading { display:flex; align-items:center; gap:10px; padding:2px 3px 4px; }
  .jsv-site-sponsor-rail-heading strong { display:block; color:#f1c84d; font-size:16px; line-height:1.25; }
  .jsv-site-sponsor-rail-heading small { display:block; margin-top:4px; color:#d9e8f4; font-size:11px; line-height:1.4; }
  .jsv-site-sponsor-mark { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border:1px solid #f1c84d; border-radius:50%; color:#f1c84d; font-size:18px; }
  .jsv-site-sponsor-slots { display:grid; gap:12px; min-width:0; }
  .jsv-site-sponsor-slot { display:grid; gap:7px; min-width:0; padding:12px; border:1px solid rgba(255,255,255,.18); border-radius:15px; background:rgba(255,255,255,.08); color:#fff; text-decoration:none; overflow-wrap:anywhere; transition:transform 160ms ease, background-color 160ms ease; }
  .jsv-site-sponsor-slot:hover { transform:translateY(-2px); background:rgba(255,255,255,.14); }
  .jsv-site-sponsor-slot-badge { width:max-content; padding:4px 7px; border-radius:999px; background:#f1c84d; color:#102d4d; font-size:9px; font-weight:900; letter-spacing:.08em; }
  .jsv-site-sponsor-slot strong { color:#fff; font-size:14px; line-height:1.3; }
  .jsv-site-sponsor-slot span:not(.jsv-site-sponsor-slot-badge) { color:#d9e8f4; font-size:12px; line-height:1.45; }
  .jsv-site-sponsor-slot b { color:#f1c84d; font-size:11px; }
  .jsv-site-sponsor-manage { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; min-height:44px; padding:9px 12px; border-radius:11px; background:#f1c84d; color:#102d4d; font-size:12px; font-weight:900; text-decoration:none; }
  :is(.jsv-page-content,.jsf-home-v2,.jsf-home-page,.jsf-context-shell,.jsf-network-shell,.jsf-groups-suite,.jsf-marketplace,.jsf-service-requests,.jsf-event-detail-page-shell,.business-view-layout,.business-owner-layout,.jsw-centre-layout) { max-width:min(1700px, calc(100vw - var(--jsv-sponsor-rail-width) - 74px)) !important; }
}
@media (max-width:1279px) { .jsv-site-sponsor-rail { display:none !important; } }
/* Edge/Chromium sticky-header correction when the WordPress admin bar is present.
 * The toolbar owns its height; the site header must not add a second phantom gap. */
@media (min-width:901px) {
  html body.admin-bar { --jsv-global-header-top:32px !important; --jsv-global-sticky-top:104px !important; }
  html body.admin-bar header.top.jsf-hybrid-top {
    top:32px !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
}
@media (prefers-reduced-motion:reduce) { .jsv-site-sponsor-slot { transition:none; } }
@media print { body:has(.jsv-site-sponsor-rail) { padding-right:0; } .jsv-site-sponsor-rail { display:none !important; } }

body:has(.jsf-gm-page.jsf-gm-chat) .jsv-site-sponsor-rail{display:none!important}
