/* Steward & Brighten: Log in button and client portal */

/* ---- header control (every page) ---- */
.sb-session{display:inline-flex;align-items:center;min-width:88px;justify-content:flex-end;}
.sb-session-ph{display:inline-block;width:88px;height:38px;border-radius:999px;background:var(--tint,#eceef1);}
.sb-menu .sb-btn.sb-login{gap:7px;padding:10px 16px;font-size:14px;color:var(--ink);background:transparent;border:1.5px solid var(--ink);}
.sb-menu .sb-btn.sb-login:hover{background:var(--ink);color:#fff;}
.sb-menu .sb-btn.sb-login.is-member{background:var(--tint,#eceef1);border-color:var(--rule-strong,#c3c8cf);}
.sb-menu .sb-btn.sb-login.is-member:hover{background:var(--ink);border-color:var(--ink);color:#fff;}
.sb-menu .sb-btn.sb-login svg{flex:none;}
@media (max-width:560px){
  .sb-menu{gap:8px;}
  .sb-menu .sb-btn.sb-login{padding:10px 12px;font-size:13px;}
  .sb-session{min-width:0;}
  .sb-session-ph{width:72px;height:36px;}
}
@media (max-width:430px){
  .sb-nav .sb-brand-text{display:none;}
}

/* ---- shared portal pieces ---- */
.pt-page{padding:56px 0 72px;}
.pt-loading{color:var(--muted);font-size:15px;padding:24px 0;}
.pt-lede{font-size:17px;color:var(--ink-soft);margin-top:12px;max-width:52ch;}
.pt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.pt-note{background:var(--tint);border-radius:14px;padding:18px 20px;font-size:15px;color:var(--ink-soft);}
.pt-note b{color:var(--ink);}

/* ---- login page ---- */
.lg-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:56px;align-items:start;}
.lg-points{margin-top:28px;display:grid;gap:14px;}
.lg-points li{display:flex;gap:12px;font-size:16px;color:var(--ink-soft);}
.lg-points svg{flex:none;margin-top:4px;color:var(--silver-dark);}
.lg-card{background:var(--card);border:1px solid var(--rule);border-radius:20px;padding:30px;box-shadow:0 30px 60px -40px rgba(22,35,63,.45);}
.lg-tabs[hidden]{display:none;}
.lg-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--tint);padding:5px;border-radius:12px;margin-bottom:22px;}
.lg-tab{font:600 14px/1 var(--sans);padding:11px 10px;border:0;border-radius:9px;background:transparent;color:var(--ink-soft);cursor:pointer;}
.lg-tab[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(22,35,63,.12);}
.lg-tab:focus-visible{outline:3px solid var(--silver);outline-offset:2px;}
.lg-form h2{font-family:var(--serif);font-weight:500;font-size:24px;}
.lg-form > p{font-size:15px;color:var(--ink-soft);margin-top:6px;}
.lg-form .sb-field{margin-top:16px;}
.lg-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.lg-form .sb-btn{width:100%;margin-top:22px;}
.lg-fine{font-size:13px;color:var(--muted);margin-top:14px;text-align:center;}
.lg-fine a{color:var(--ink-soft);}

/* ---- portal page ---- */
.pt-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 32px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--rule);}
.pt-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4.4vw,46px);line-height:1.08;letter-spacing:-.02em;}
.pt-meta{font-size:15px;color:var(--muted);margin-top:10px;}
.pt-head-actions{display:flex;gap:10px;flex-wrap:wrap;}
.pt-head-actions .sb-btn{padding:12px 18px;font-size:14px;}
.pt-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;margin-top:36px;align-items:start;}
.pt-tabs{display:grid;gap:6px;position:sticky;top:96px;}
.pt-tab{display:flex;align-items:center;gap:12px;text-align:left;font:500 15px/1.3 var(--sans);color:var(--ink-soft);background:transparent;border:1px solid transparent;border-radius:12px;padding:13px 14px;cursor:pointer;}
.pt-tab svg{flex:none;color:var(--silver-dark);}
.pt-tab:hover{background:var(--card);border-color:var(--rule);color:var(--ink);}
.pt-tab[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink);}
.pt-tab[aria-selected="true"] svg{color:var(--silver);}
.pt-tab:focus-visible{outline:3px solid var(--silver);outline-offset:2px;}
.pt-panel{background:var(--card);border:1px solid var(--rule);border-radius:20px;padding:34px;}
.pt-panel h2{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.15;}
.pt-panel > p{font-size:16px;color:var(--ink-soft);margin-top:8px;max-width:60ch;}
.pt-slot{margin-top:26px;}
.pt-info{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
.pt-info > div{border:1px solid var(--rule);border-radius:14px;padding:20px;}
.pt-info h3{font-size:17px;font-weight:600;}
.pt-info p{font-size:15px;color:var(--ink-soft);margin-top:6px;}
.pt-help-row{margin-top:24px;padding-top:20px;border-top:1px solid var(--rule);font-size:15px;color:var(--ink-soft);}

/* ---- forms rendered from Wix ---- */
.pt-form{display:grid;gap:18px;}
.pt-field{display:grid;gap:6px;}
.pt-label{font-size:14px;font-weight:600;color:var(--ink);}
.pt-req{color:var(--silver-dark);}
.pt-help{font-size:13.5px;color:var(--muted);}
.pt-err{font-size:13.5px;color:#a3262a;min-height:0;}
.pt-err:empty{display:none;}
.pt-textarea{min-height:120px;resize:vertical;line-height:1.5;}
.pt-choices{display:grid;gap:8px;}
.pt-choices.pt-grid{grid-template-columns:1fr 1fr;gap:8px 18px;}
.pt-choice{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink-soft);cursor:pointer;font-weight:400;}
.pt-choice input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink);flex:none;}
.pt-consent{background:var(--tint);border-radius:12px;padding:14px 16px;color:var(--ink);}
.pt-file{font:15px var(--sans);padding:14px;border:1.5px dashed var(--rule-strong);border-radius:12px;background:#fff;width:100%;}
[aria-invalid="true"].sb-input,[aria-invalid="true"].sb-select{border-color:#a3262a;}
.pt-actions{display:flex;gap:10px;justify-content:flex-start;flex-wrap:wrap;margin-top:4px;}
.pt-actions .sb-btn[disabled]{opacity:.6;cursor:progress;}
.pt-done{background:var(--tint);border-radius:14px;padding:22px;font-size:16px;color:var(--ink);}
.pt-done .sb-btn{margin-top:14px;padding:11px 16px;font-size:14px;}

/* ---- gate ---- */
.pt-gate-card{max-width:620px;margin:24px auto;text-align:center;background:var(--card);border:1px solid var(--rule);border-radius:20px;padding:44px 32px;}
.pt-gate-card .pt-lede{margin-left:auto;margin-right:auto;}
.pt-gate-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px;}

@media (max-width:900px){
  .lg-wrap{grid-template-columns:1fr;gap:32px;}
  .pt-body{grid-template-columns:1fr;gap:20px;}
  .pt-tabs{position:static;grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .pt-page{padding:36px 0 56px;}
  .lg-card{padding:22px 18px;}
  .lg-row{grid-template-columns:1fr;}
  .pt-panel{padding:22px 18px;}
  .pt-info,.pt-choices.pt-grid{grid-template-columns:1fr;}
  .pt-tab{padding:11px 12px;font-size:14px;}
  .pt-gate-card{padding:32px 20px;}
}