/* JSV 2.0.100 — responsive registration, profile rails, social links, composer quick tools. */
:root{--jsv-new-ink:#102e4b;--jsv-new-blue:#d9efff;--jsv-new-gold:#d5a12e;--jsv-new-line:#d8e3eb}
/* Membership chooser: never overwrite membership names, prices or entitlements. */
.jsf-registration-journey #jsf-cycle-label{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;font-size:13px;font-weight:800;color:var(--jsv-new-ink)}
.jsf-registration-journey #jsf-membership-cycle{width:min(220px,100%);margin:0;min-width:130px}
.jsf-registration-journey #jsf-plan-choices.jsf-registration-plans{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;max-height:none!important;height:auto!important;overflow:visible!important;scrollbar-width:auto!important;align-items:stretch!important;margin:18px 0!important}
.jsf-registration-journey .jsf-registration-plan{position:relative;display:flex!important;flex-direction:column;min-width:0;padding:16px 13px!important;border:1px solid var(--jsv-new-line)!important;border-radius:15px!important;background:#fffdf8!important;box-shadow:0 5px 15px rgba(11,39,64,.06);transition:border-color .15s,box-shadow .15s}
.jsf-registration-journey .jsf-registration-plan:has(input:checked),.jsf-registration-journey .jsf-registration-plan.is-selected{border:2px solid #cd961e!important;background:#fffaf0!important;box-shadow:0 8px 24px rgba(182,136,32,.13)!important}
.jsf-registration-journey .jsf-registration-plan>label,.jsf-registration-journey .jsf-registration-plan>div{display:flex!important;flex-wrap:wrap;gap:5px!important;align-items:center!important;flex-direction:column!important;text-align:center;width:100%}
.jsf-registration-journey .jsf-registration-plan>label>div,.jsf-registration-journey .jsf-registration-plan>div>div{width:100%;min-width:0}
.jsf-registration-journey .jsf-registration-plan input[type=radio]{position:absolute;top:12px;right:12px;flex:none;accent-color:#b6811a;width:18px;height:18px;margin:0!important;cursor:pointer}
.jsf-registration-journey .jsf-plan-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e8f2fb;color:#12395b;font-size:24px;margin:0 auto 6px}
.jsf-registration-journey .jsf-registration-plan b{font-size:17px!important;line-height:1.25;color:#102c4c}
.jsf-registration-journey .jsf-registration-plan .jsf-plan-price{font-family:Georgia,serif;font-size:21px!important;font-weight:800;color:#103150!important;margin-top:8px}
.jsf-registration-journey .jsf-registration-plan small{display:block;font-size:10px!important;line-height:1.55!important;color:#5a6e80;margin-top:8px}
.jsf-registration-journey .jsf-registration-plan .jsf-plan-feature-list{margin:12px 0 0!important;list-style:none;padding:0!important;display:grid;gap:9px;font-size:11px;line-height:1.45;flex:1}
.jsf-registration-journey .jsf-registration-plan .jsf-plan-feature-list li{position:relative;padding-left:19px;overflow-wrap:anywhere}
.jsf-registration-journey .jsf-registration-plan .jsf-plan-feature-list li:before{content:'✓';position:absolute;left:0;top:0;color:#b37b12;font-weight:900}
.jsf-registration-journey .jsf-registration-plan .jsf-plan-more{margin-top:12px;border-top:1px solid #e7dfcc;padding-top:10px;font-size:11px}
.jsf-registration-journey .jsf-registration-plan .jsf-plan-more summary{cursor:pointer;color:#1e628c;font-weight:800;min-height:32px;line-height:1.4}
.jsf-registration-journey .jsf-registration-plan .jsf-plan-more ul{max-height:160px;overflow:auto;overflow-wrap:anywhere;padding-left:19px;font-size:11px;line-height:1.5}
.jsf-registration-journey #jsf-plan-summary{border:1px solid #bed9eb!important;border-radius:10px!important;background:#edf6fd!important;margin:14px 0!important;padding:12px 14px!important}
.jsf-registration-journey #jsf-register-submit{width:100%!important;min-height:48px!important;background:#d9aa38!important;border-color:#c7972b!important;color:#112d45!important;font-size:14px!important;font-weight:900!important;border-radius:10px!important}
/* Keep the four step layout wide but never allow a single plan to push it sideways. */
.jsf-registration-journey .jsf-reg-card,.jsf-registration-journey .jsf-auth-step{min-width:0!important}
@media(max-width:1170px){.jsf-registration-journey #jsf-plan-choices.jsf-registration-plans{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.jsf-registration-journey #jsf-plan-choices.jsf-registration-plans{grid-template-columns:1fr!important;gap:10px!important}.jsf-registration-journey .jsf-registration-plan{padding:14px!important}.jsf-registration-journey .jsf-plan-card-icon{width:40px;height:40px;margin:0 auto}.jsf-registration-journey .jsf-registration-plan .jsf-plan-feature-list{gap:7px}.jsf-registration-journey #jsf-register-submit{min-height:46px!important}}
/* Fix tiny-wrap labels in the blue Account rail without changing page privacy routing. */
@media(min-width:981px){
 body .shell.jsf-account-shell .account-settings-grid{grid-template-columns:minmax(225px,244px) minmax(0,1fr)!important;gap:18px!important;max-width:100%!important}
 body .shell.jsf-account-shell .account-settings-grid>.jsf-settings-rail{width:100%!important;min-width:225px!important;max-width:244px!important;box-sizing:border-box!important;overflow:hidden!important}
 body .shell.jsf-account-shell .jsf-settings-rail-links>a{display:grid!important;grid-template-columns:22px minmax(148px,1fr) 12px!important;padding:0 11px!important;column-gap:9px!important;width:100%!important;box-sizing:border-box!important}
 body .shell.jsf-account-shell .jsf-settings-rail-links>a b{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;font-size:12px!important;line-height:1.28!important}
}
@media(max-width:980px){body .shell.jsf-account-shell .account-settings-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important}body .shell.jsf-account-shell .jsf-settings-rail{width:100%!important;max-width:100%!important;min-width:0!important}.jsf-settings-rail-links>a b{word-break:normal!important;overflow-wrap:normal!important;white-space:nowrap!important}}
/* Social profile editor */
.jsa-social-editor{display:block!important;margin:16px 0 0;padding:18px;border:1px solid #d8e5ee;border-radius:15px;background:#fbfdff;max-width:100%;min-width:0}
.jsa-social-editor>header{margin-bottom:13px}.jsa-social-editor h3{margin:0 0 5px!important;font-size:19px!important}.jsa-social-editor p{margin:0;color:#537087;font-size:12px;line-height:1.6}
.jsa-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jsa-social-grid>label{display:grid;gap:5px;min-width:0;font-size:12px;font-weight:800;color:#163b5c}.jsa-social-grid>label>input{margin:0!important;box-sizing:border-box;width:100%;min-width:0;min-height:42px;font-size:13px}
.jsa-social-more{margin:15px 0}.jsa-social-more>summary{cursor:pointer;padding:9px 12px;border:1px solid #c8dbe8;border-radius:9px;background:#eff7fc;color:#124269;font-size:12px;font-weight:800}.jsa-social-more[open]>.jsa-social-grid{margin-top:12px}
.jsa-social-visibility{display:grid!important;gap:7px;max-width:360px;font-size:12px;font-weight:800}.jsa-social-visibility select{width:100%}.jsa-social-error{padding:12px 14px;border:1px solid #c57e75;border-radius:10px;background:#fff0ed;color:#842515;font-weight:700}
.jsa-social-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.jsa-social-pills a,.jsa-social-add{display:inline-flex;align-items:center;min-height:30px;padding:4px 9px;border:1px solid #cbdfed;border-radius:999px;background:#eef7fe;color:#164d76!important;font-size:11px;font-weight:800;white-space:nowrap;text-decoration:none}.jsa-social-pills a:hover,.jsa-social-add:hover{background:#d5ecfa;border-color:#83b9d8}.jsd-social-section{padding:16px}
@media(max-width:700px){.jsa-social-grid{grid-template-columns:1fr}.jsa-social-editor{padding:12px}}
/* Quick links: one compact row rather than two broad independent buttons. */
.jsf-xp-main>.jsf-xp-quicktools{display:flex!important;flex-wrap:wrap;align-items:center;gap:7px;min-height:44px;max-width:100%;overflow:visible;margin:0!important}
.jsf-xp-quicktools>.jsf-xp-quicktool,.jsf-xp-quicktool-more>summary{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border:1px solid #c4daea;border-radius:9px;background:#e2f3ff;color:#104b75!important;text-decoration:none!important;font-size:11px!important;font-weight:800!important;line-height:1.3;white-space:nowrap;cursor:pointer}
.jsf-xp-quicktools>.jsf-xp-quicktool-centre{background:#5b9fcb!important;border-color:#508fbb!important;color:#2c2c2c!important}
.jsf-xp-quicktool-more{position:relative}.jsf-xp-quicktool-more>summary{list-style:none}.jsf-xp-quicktool-more>summary::-webkit-details-marker{display:none}.jsf-xp-quicktool-more>div{position:absolute;right:0;top:40px;z-index:20;min-width:180px;padding:7px;border:1px solid #c8dce7;background:white;border-radius:10px;box-shadow:0 12px 35px #08283c22}.jsf-xp-quicktool-more a{display:block;padding:9px 10px;color:#174965!important;font-size:12px;text-decoration:none}.jsf-xp-quicktool-more a:hover{background:#edf6fc}
@media(max-width:700px){.jsf-xp-main>.jsf-xp-quicktools{gap:6px}.jsf-xp-quicktools>.jsf-xp-quicktool,.jsf-xp-quicktool-more>summary{white-space:normal;text-align:center;min-height:34px;font-size:10px!important;padding:6px 8px}}
/* Searchable feeling/activity dropdown. */
.jsf-xp-composer-tools{position:relative!important}.jsf-xp-feeling-picker{position:relative;min-width:0;width:100%;grid-column:4!important;align-self:center}
.jsf-xp-feeling-picker .jsf-xp-feeling-trigger{width:100%!important;display:flex!important;align-items:center;justify-content:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 8px!important;min-height:38px!important;border-radius:9px!important}
.jsf-xp-feeling-dropdown[hidden],.jsf-xp-feeling-dropdown [hidden]{display:none!important}
.jsf-xp-feeling-dropdown{position:absolute;top:calc(100% + 5px);left:0;z-index:100001;width:295px;max-width:calc(100vw - 26px);max-height:min(440px,70vh);overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid #c4d7e3;border-radius:13px;background:#fffdf8;box-shadow:0 18px 38px rgba(9,31,49,.23);color:#143351}
.jsf-xp-feeling-dropdown>label{display:grid;gap:5px;font-size:11px;font-weight:800}.jsf-xp-feeling-dropdown input[type=search]{width:100%;min-height:38px;padding:6px 10px;font-size:13px!important;border:1px solid #b9d4e5;border-radius:8px}
.jsf-xp-feeling-dropdown h4{margin:13px 0 6px;font-size:12px;font-weight:900;color:#1b5278}.jsf-xp-feeling-list{display:grid;gap:3px}.jsf-xp-feeling-list button{width:100%!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;min-height:33px!important;padding:5px 8px!important;border:0!important;border-radius:7px!important;text-align:left!important;background:transparent!important;color:#173b5a!important;font-size:12px!important;font-weight:700!important;cursor:pointer!important}
.jsf-xp-feeling-list button:hover,.jsf-xp-feeling-list button[aria-selected=true]{background:#e3f2fd!important;color:#174568!important}.jsf-xp-feeling-clear{width:100%;margin-top:10px;min-height:33px;border:1px solid #c9d8e2;border-radius:7px;background:#fff;color:#16486b;font-size:12px;cursor:pointer}
@media(min-width:901px) and (max-width:1380px){.jsf-xp-feeling-picker{grid-column:4!important;grid-row:1!important}.jsf-xp-feeling-picker .jsf-xp-feeling-trigger{font-size:10px!important}}
@media(max-width:900px){.jsf-xp-feeling-picker{grid-column:1/-1!important;grid-row:auto!important}.jsf-xp-feeling-dropdown{left:0;top:calc(100% + 6px);max-width:calc(100vw - 24px)}}
/* Desktop profile: reserve BOTH blue rails and keep the feed in the true remaining workspace. */
@media(min-width:1051px){
 body.jsf-exact-profile-page{--xp-panel-open:200px!important;--xp-panel-gap:22px!important}
 body.jsf-exact-profile-page:not(.jsf-xp-panel-collapsed) .jsf-exact-profile-hub{width:calc(100vw - var(--xp-panel-open) - 38px)!important;max-width:1560px!important;margin-left:calc(var(--xp-panel-open) + 18px)!important;margin-right:0!important;grid-template-columns:minmax(165px,205px) minmax(0,1fr) minmax(230px,280px)!important;gap:12px!important}
 body.jsf-exact-profile-page .jsf-exact-profile-hub>*{min-width:0!important;max-width:100%;box-sizing:border-box!important}
 body.jsf-exact-profile-page .jsf-xp-main{min-width:0!important;max-width:100%!important}
 body.jsf-exact-profile-page .jsf-xp-right{width:auto!important;min-width:0!important;max-width:100%!important}
}
@media(min-width:1280px){
 body.jsf-exact-profile-page:has(.jsv-site-sponsor-rail):not(.jsf-xp-panel-collapsed) .jsf-exact-profile-hub{width:calc(100vw - var(--xp-panel-open) - var(--jsv-sponsor-rail-width,276px) - var(--jsv-sponsor-gap,22px) - 52px)!important;max-width:1480px!important;margin-left:calc(var(--xp-panel-open) + 20px)!important;margin-right:0!important}
 body.jsf-xp-panel-collapsed.jsf-exact-profile-page:has(.jsv-site-sponsor-rail) .jsf-exact-profile-hub{width:calc(100vw - var(--xp-panel-mini,40px) - var(--jsv-sponsor-rail-width,276px) - var(--jsv-sponsor-gap,22px) - 62px)!important;max-width:1480px!important;margin-left:calc(var(--xp-panel-mini,40px) + 26px)!important;margin-right:0!important;grid-template-columns:minmax(165px,205px) minmax(0,1fr) minmax(230px,280px)!important;gap:12px!important}
}
@media(min-width:1280px) and (max-width:1480px){
 body.jsf-exact-profile-page:has(.jsv-site-sponsor-rail) .jsf-exact-profile-hub{grid-template-columns:minmax(160px,200px) minmax(0,1fr)!important}
 body.jsf-exact-profile-page:has(.jsv-site-sponsor-rail) .jsf-xp-right{display:none!important}
}
@media(min-width:1051px) and (max-width:1279px){body.jsf-exact-profile-page:not(.jsf-xp-panel-collapsed) .jsf-exact-profile-hub{grid-template-columns:minmax(155px,195px) minmax(0,1fr) minmax(205px,250px)!important}}
/* The pre-existing desktop composer had a six-column fixed-width grid. With a
   sponsor rail that grid cannot fit; let only the composer controls wrap. */
body.jsf-exact-profile-page .jsf-xp-composer{overflow:visible!important}
body.jsf-exact-profile-page .jsf-xp-composer-tools{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;overflow:visible!important;min-width:0!important}
body.jsf-exact-profile-page .jsf-xp-composer-tools>a,
body.jsf-exact-profile-page .jsf-xp-composer-tools>label,
body.jsf-exact-profile-page .jsf-xp-composer-tools>button[type=button]{width:auto!important;min-width:0!important;max-width:100%!important;min-height:35px!important;padding:6px 7px!important;flex:0 1 auto!important;white-space:nowrap!important;font-size:11px!important}
body.jsf-exact-profile-page .jsf-xp-composer-tools .jsf-xp-feeling-picker{width:auto!important;flex:1 1 140px!important;max-width:210px!important;min-width:120px!important;grid-column:auto!important;grid-row:auto!important}
body.jsf-exact-profile-page .jsf-xp-composer-tools select{width:auto!important;min-width:100px!important;max-width:145px!important;flex:0 1 125px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important}
body.jsf-exact-profile-page .jsf-xp-composer-tools .jsf-xp-post-btn{width:auto!important;min-width:105px!important;max-width:none!important;flex:0 0 auto!important;min-height:38px!important;grid-column:auto!important;grid-row:auto!important;margin:0!important}
body.jsf-exact-profile-page .jsf-xp-composer-tools .jsf-xp-poll-fields{flex:1 1 100%!important;width:100%!important;max-width:100%!important}
@media(max-width:680px){body.jsf-exact-profile-page .jsf-xp-composer-tools .jsf-xp-feeling-picker{max-width:none!important;flex:1 1 160px!important}body.jsf-exact-profile-page .jsf-xp-composer-tools .jsf-xp-post-btn{flex:1 1 100%!important}}

/* 2.0.101: Existing Affiliate and Workspaces plugin links share a compact row. */
.jsf-xp-main>.jsa-profile-extras{display:flex!important;align-items:center;flex-wrap:wrap;gap:7px;min-width:0;max-width:100%;margin:7px 0 13px!important}
.jsa-profile-extras>.jsar-button,.jsa-profile-extras>.jsa-centre-workspace-shortcut{flex:0 1 auto;min-width:0!important;margin:0!important}
.jsa-profile-extras>.jsar-button,.jsa-profile-extras>.jsa-centre-workspace-shortcut>a{display:inline-flex!important;align-items:center!important;justify-content:center!important;max-width:100%!important;min-height:35px!important;padding:7px 10px!important;border:1px solid #aecfe5!important;border-radius:9px!important;background:#e5f2fc!important;color:#104a70!important;box-shadow:none!important;font-size:11px!important;line-height:1.35!important;font-weight:800!important;text-decoration:none!important;white-space:normal!important}
.jsa-profile-extras>.jsa-centre-workspace-shortcut>a{background:#bfe0f5!important;border-color:#83b7dc!important}
.jsa-profile-extras>.jsf-xp-quicktool-more{flex:0 1 auto!important;margin:0!important}
.jsa-profile-extras>*:not(.jsar-button):not(.jsa-centre-workspace-shortcut):not(.jsf-xp-quicktool-more){flex:1 0 100%!important;width:100%;max-width:100%}
@media(max-width:680px){.jsa-profile-extras>.jsar-button,.jsa-profile-extras>.jsa-centre-workspace-shortcut{flex:1 1 140px!important}.jsa-profile-extras>.jsa-centre-workspace-shortcut>a{width:100%!important}}
