/* =====================================================================
   NSSA 2026 - Membership page (membership2026.asp)
   Loads after nx2026.css and uses its colours where they exist.
   ===================================================================== */
.mb-body{
	--mb-deep:var(--deep,#0b2545);--mb-ocean:var(--ocean,#0a6aa1);--mb-dim:var(--dim,#64748b);
	--mb-line:var(--line,#e2e8f0);--mb-white:var(--white,#fff);--mb-soft:#f5f8fb;
	--mb-red:#c0262d;--mb-red-bg:#fdecec;--mb-green:#1f8a4c;
}
.mb .nx-maincol{gap:16px;}
.mb .nx-hero2 h1{transition:color .3s;}

/* ---------- steps ---------- */
.mb-steps{list-style:none;margin:16px 0 0;padding:0;display:flex;gap:6px;flex-wrap:wrap;counter-reset:none;}
.mb-steps li{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--mb-soft);color:var(--mb-dim);font:700 12px Montserrat,Arial,sans-serif;letter-spacing:.03em;transition:background .25s,color .25s;}
.mb-steps li b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--mb-white);border:2px solid var(--mb-line);font-size:12px;transition:all .25s;}
.mb-steps li.on{background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--mb-deep);}
.mb-steps li.on b{border-color:var(--c);color:var(--c);}
.mb-steps li.done{color:var(--mb-deep);}
.mb-steps li.done b{background:var(--c);border-color:var(--c);color:#fff;font-size:0;}
.mb-steps li.done b::after{content:"\2713";font-size:13px;}

/* ---------- sections ---------- */
.mb-sec{padding:20px 22px 22px;overflow:visible;}
.mb-sec-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.mb-sec-h h2{margin:0;font:800 19px/1.2 Montserrat,Arial,sans-serif;color:var(--mb-deep);}
.mb-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font:800 14px Montserrat,Arial,sans-serif;flex:0 0 auto;transition:background .3s;}
.mb-hint{margin-left:auto;font-size:13px;color:var(--mb-dim);}
.mb-edit{margin-left:auto;font:700 12px Montserrat,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--mb-ocean);text-decoration:none;}
.mb-edit:hover{text-decoration:underline;}
.mb-fine{margin:14px 0 0;font-size:13px;color:var(--mb-dim);line-height:1.5;}
.mb-fine a,.mb-help-card a{color:var(--mb-ocean);font-weight:600;}

/* ---------- membership tiles ---------- */
.mb-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;border-radius:14px;}
.mb-tiles.is-bad{outline:2px solid var(--mb-red);outline-offset:6px;}
.mb-tile{position:relative;display:flex;flex-direction:column;border-radius:14px;background:var(--mb-white);border:2px solid var(--mb-line);cursor:pointer;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s;}
.mb-tile:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(15,23,42,.12);}
.mb-tile input{position:absolute;opacity:0;pointer-events:none;}
.mb-tile:has(input:checked){border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 25%,transparent),0 10px 24px rgba(15,23,42,.12);}
.mb-tile:has(input:focus-visible){outline:3px solid var(--mb-ocean);outline-offset:2px;}
.mb-tile-band{position:relative;display:block;padding:14px 14px 16px;color:#fff;
	background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 70%,#000));overflow:hidden;}
.mb-tile-band::before{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;
	border:14px solid rgba(255,255,255,.12);}
.mb-tile-band::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:10px;
	background:radial-gradient(circle at 10px -4px,transparent 10px,var(--mb-white) 11px) 0 0/20px 10px repeat-x;}
.mb-tile-k{display:block;font:800 10px Montserrat,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;opacity:.85;}
.mb-tile-n{display:block;margin-top:6px;font:900 24px/1 Montserrat,Arial,sans-serif;letter-spacing:-.01em;}
.mb-tile-y{display:block;margin-top:2px;font:700 14px Montserrat,Arial,sans-serif;opacity:.9;}
.mb-tile-check{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
	background:#fff;color:var(--c);font-weight:900;font-size:14px;transform:scale(0);transition:transform .2s cubic-bezier(.3,1.6,.6,1);}
.mb-tile:has(input:checked) .mb-tile-check{transform:scale(1);}
.mb-tile-body{display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px;flex:1;}
.mb-tile-l{font:700 10px Montserrat,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mb-dim);}
.mb-tile-c{display:flex;flex-wrap:wrap;gap:4px;}
.mb-tile-c i{font-style:normal;font-size:12px;font-weight:600;color:var(--mb-deep);background:var(--mb-soft);border-radius:6px;padding:3px 7px;}
.mb-tile-w{font-size:12px;font-weight:700;color:var(--mb-red);line-height:1.35;}
.mb-tile-p{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:8px;border-top:1px dashed var(--mb-line);}
.mb-tile-p b{font:800 22px Montserrat,Arial,sans-serif;color:var(--mb-deep);}
.mb-tile-p small{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mb-red);}

/* ---------- form fields ---------- */
.mb-warn{display:flex;gap:10px;background:var(--mb-red-bg);color:#7f1d1d;border-left:4px solid var(--mb-red);border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.5;margin-bottom:18px;}
.mb-warn::before{content:"!";flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--mb-red);color:#fff;font-weight:900;font-size:13px;}
.mb-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;}
.mb-f{display:flex;flex-direction:column;gap:6px;min-width:0;}
.mb-wide{grid-column:1/-1;}
.mb-f label,.mb-2 label{font:700 12px Montserrat,Arial,sans-serif;letter-spacing:.03em;color:var(--mb-deep);}
.mb-f label em{font-style:normal;font-weight:600;color:var(--mb-dim);margin-left:4px;}
.mb-f input,.mb-f select{width:100%;box-sizing:border-box;height:46px;padding:0 13px;border:1.5px solid #cbd5e1;border-radius:9px;background:var(--mb-white);
	font:500 16px Inter,Arial,sans-serif;color:#0f172a;transition:border-color .15s,box-shadow .15s;}
.mb-f select{appearance:none;-webkit-appearance:none;padding-right:34px;
	background:var(--mb-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 12px center;}
.mb-f input:focus,.mb-f select:focus{outline:none;border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 22%,transparent);}
.mb-3{display:grid;grid-template-columns:1.5fr 1fr 1.1fr;gap:8px;}
.mb-2{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;}
.mb-2 > div{display:flex;flex-direction:column;gap:6px;min-width:0;}
.mb-help{font-size:12px;color:var(--mb-dim);}
.is-bad input,.is-bad select,input.is-bad,select.is-bad{border-color:var(--mb-red) !important;background-color:#fff7f7 !important;}
.mb-err{font-size:13px;font-weight:600;color:var(--mb-red);}
.mb-err::before{content:"\26A0  ";}

/* ---------- waiver ---------- */
.mb-waiver{max-height:230px;overflow:auto;padding:14px 18px;border:1px solid var(--mb-line);border-radius:10px;background:var(--mb-soft);
	font-size:13px;line-height:1.6;color:#334155;}
.mb-waiver:focus{outline:2px solid var(--c);}
.mb-waiver h3{margin:0 0 6px;font:800 14px Montserrat,Arial,sans-serif;color:var(--mb-deep);}
.mb-waiver ol{padding-left:20px;margin:8px 0;}
.mb-waiver li{margin-bottom:6px;}
.mb-minor{margin-top:12px;padding:10px 14px;border-radius:8px;background:#fff8e1;border:1px solid #f3d27a;color:#6b4d00;font-size:14px;}
.mb-agree{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:14px 16px;border-radius:10px;border:2px solid var(--mb-line);cursor:pointer;font-size:14px;line-height:1.5;color:#1e293b;transition:border-color .15s,background .15s;}
.mb-agree input{flex:0 0 22px;width:22px;height:22px;margin:1px 0 0;accent-color:var(--c);cursor:pointer;}
.mb-agree:has(input:checked){border-color:var(--mb-green);background:#f0faf4;}
.mb-agree.is-bad{border-color:var(--mb-red);background:#fff7f7;}
.mb-agree + .mb-err{margin-top:8px;}

/* ---------- buttons ---------- */
.mb-go{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.mb-go b{display:block;font:800 16px Montserrat,Arial,sans-serif;color:var(--mb-deep);}
.mb-go span{font-size:13px;color:var(--mb-dim);}
.mb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px;border:0;border-radius:999px;
	background:var(--c);color:#fff;font:800 15px Montserrat,Arial,sans-serif;letter-spacing:.02em;cursor:pointer;text-decoration:none;
	box-shadow:0 6px 16px color-mix(in srgb,var(--c) 35%,transparent);transition:transform .15s,filter .15s,background .3s;}
.mb-btn:hover{transform:translateY(-1px);filter:brightness(1.08);}
.mb-btn:disabled{opacity:.6;cursor:wait;transform:none;}
.mb-btn.ghost{background:transparent;color:var(--mb-deep);border:2px solid var(--mb-line);box-shadow:none;}
.mb-btn.ghost:hover{border-color:var(--c);color:var(--c);}

.mb-missing{flex:1 1 100%;background:var(--mb-red-bg);border-left:4px solid var(--mb-red);border-radius:8px;padding:12px 16px;color:#7f1d1d;font-size:14px;}
.mb-missing ul{margin:6px 0 0;padding-left:18px;columns:2;column-gap:24px;}
.mb-missing a{color:#7f1d1d;font-weight:600;}
@media (max-width:640px){.mb-missing ul{columns:1;}}

/* ---------- error summary ---------- */
.mb-alert{background:var(--mb-red-bg);border:1px solid #f5b5b5;border-left:5px solid var(--mb-red);border-radius:10px;padding:14px 18px;color:#7f1d1d;scroll-margin-top:90px;}
.mb-alert ul{margin:6px 0 0;padding-left:18px;}
.mb-alert a{color:#7f1d1d;}

/* ---------- sidebar summary ---------- */
.mb-side{position:sticky;top:16px;}
.mb-sum-band{padding:16px 18px;color:#fff;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 70%,#000));transition:background .3s;}
.mb-sum-band b{display:block;margin-top:6px;font:800 18px/1.2 Montserrat,Arial,sans-serif;}
.mb-sum-body{padding:6px 18px 16px;}
.mb-sum-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--mb-line);font-size:13px;}
.mb-sum-row span{color:var(--mb-dim);flex:0 0 auto;}
.mb-sum-row b{text-align:right;color:var(--mb-deep);font-weight:600;}
.mb-sum-w{margin-top:10px;font-size:12px;font-weight:700;color:var(--mb-red);}
.mb-sum-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;}
.mb-sum-total span{font:700 12px Montserrat,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--mb-dim);}
.mb-sum-total b{font:900 30px Montserrat,Arial,sans-serif;color:var(--mb-deep);}
.mb-sum-nr{margin-top:4px;text-align:right;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mb-red);}
.mb-help-card{padding:16px 18px;}
.mb-help-card h3{margin:0 0 8px;font:800 14px Montserrat,Arial,sans-serif;color:var(--mb-deep);}
.mb-help-card ul{margin:0;padding-left:18px;font-size:13px;line-height:1.55;color:#334155;}
.mb-help-card li{margin-bottom:6px;}

/* ---------- pay step ---------- */
.mb-pay{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:22px;align-items:start;}
.mb-rv-hero{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:14px 16px;border-radius:12px;color:#fff;
	background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 70%,#000));}
.mb-rv-hero b{font:800 18px Montserrat,Arial,sans-serif;flex:1 1 auto;}
.mb-rv-k{width:100%;font:800 10px Montserrat,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:.85;}
.mb-rv-price{font:900 22px Montserrat,Arial,sans-serif;}
.mb-dl{margin:12px 0 0;}
.mb-dl > div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px 2px;border-bottom:1px solid var(--mb-line);font-size:15px;}
.mb-dl dt{font:700 11px Montserrat,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--mb-dim);padding-top:3px;}
.mb-dl dd{margin:0;font-weight:600;color:#0f172a;word-break:break-word;}
.mb-dl small{color:var(--mb-dim);font-weight:500;}
.mb-ok{color:var(--mb-green) !important;}
.mb-note{margin-top:12px;padding:10px 14px;border-radius:8px;background:#fff8e1;color:#6b4d00;font-weight:600;}
.mb-paybox{position:sticky;top:16px;padding:20px;border-radius:14px;background:var(--mb-soft);border:1px solid var(--mb-line);text-align:center;}
.mb-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;}
.mb-total span{font:700 12px Montserrat,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--mb-dim);}
.mb-total b{font:900 32px Montserrat,Arial,sans-serif;color:var(--mb-deep);}
.mb-paybtn{width:100%;min-height:54px;border:0;border-radius:999px;cursor:pointer;background:#ffc439;color:#111;
	font:800 17px Montserrat,Arial,sans-serif;box-shadow:0 6px 16px rgba(255,196,57,.45);transition:transform .15s,filter .15s;
	animation:mbPulse 2.6s ease-in-out infinite;}
.mb-paybtn:hover{transform:translateY(-1px);filter:brightness(1.04);}
.mb-paybtn:disabled{opacity:.6;cursor:wait;animation:none;}
@keyframes mbPulse{0%,100%{box-shadow:0 6px 16px rgba(255,196,57,.45),0 0 0 0 rgba(255,196,57,.5);}50%{box-shadow:0 6px 16px rgba(255,196,57,.45),0 0 0 10px rgba(255,196,57,0);}}
.mb-cards{margin:12px 0 0;font-size:13px;color:#334155;line-height:1.5;}
.mb-nr{margin:8px 0 0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mb-red);}
.mb-another{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.mb-another h2{margin:0 0 4px;font:800 16px Montserrat,Arial,sans-serif;color:var(--mb-deep);}
.mb-another p{margin:0;font-size:14px;color:var(--mb-dim);max-width:560px;}

.mb-ppimg{display:block;max-width:100%;height:auto;margin:4px auto 0;cursor:pointer;transition:transform .15s,filter .15s;}
.mb-ppimg:hover{transform:translateY(-2px);filter:brightness(1.05);}

.mb-go-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.mb-over-note{flex:1 1 100%;margin:6px 0 0;font-size:12px;color:var(--mb-dim);text-align:right;}
.mb-paybox .mb-over-note{text-align:center;}
.mb-paybox .mb-over{margin-top:14px;min-height:40px;padding:0 18px;font-size:13px;}
@media (max-width:640px){.mb-over-note{text-align:center;}.mb-go-btns{width:100%;flex-direction:column-reverse;}.mb-go-btns .mb-btn{width:100%;}}

/* ---------- phone bar ---------- */
.mb-bar{display:none;}

/* ---------- responsive ---------- */
@media (max-width:1000px){
	.mb-body .nx-page.mb{grid-template-columns:1fr;}
	.mb-side{position:static;order:-1;}
	.mb-side .mb-help-card{display:none;}
	.mb-sum{display:none;}
	.mb-pay{grid-template-columns:1fr;}
	.mb-paybox{position:static;}
	.mb-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:50;
		padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--mb-white);border-top:1px solid var(--mb-line);
		box-shadow:0 -6px 20px rgba(15,23,42,.1);transition:transform .25s;}
	.mb-bar.away{transform:translateY(110%);}
	.mb-bar span{display:block;font-size:12px;color:var(--mb-dim);}
	.mb-bar b{font:900 20px Montserrat,Arial,sans-serif;color:var(--mb-deep);}
	.mb-bar .mb-btn{min-height:46px;padding:0 20px;}
	.mb-body{padding-bottom:76px;}
}
@media (max-width:640px){
	.mb-sec{padding:16px;}
	.mb-grid{grid-template-columns:1fr;}
	.mb-tiles{grid-template-columns:1fr 1fr;gap:10px;}
	.mb-tile-n{font-size:19px;}
	.mb-tile-c i{font-size:11px;}
	.mb-hint{margin-left:42px;width:100%;}
	.mb-steps li span{display:none;}
	.mb-steps li{padding:6px;}
	.mb-steps li.on span{display:inline;padding-right:8px;}
	.mb-dl > div{grid-template-columns:1fr;gap:2px;}
	.mb-go .mb-btn,.mb-another .mb-btn{width:100%;}
}
@media (prefers-reduced-motion:reduce){
	.mb-tile,.mb-tile-check,.mb-btn,.mb-bar{transition:none;}
	.mb-paybtn{animation:none;}
}
