/* Membership components deliberately reuse the Hub's existing colour,
   typography, spacing and motion tokens. */
.member-button{
  display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 12px;
  border:1px solid var(--gold);border-radius:var(--radius-pill);background:rgba(212,175,106,.10);
  color:var(--gold-bright);font-size:var(--fs-xs);font-weight:750;white-space:nowrap;
}
.member-button:hover{background:rgba(212,175,106,.18);transform:translateY(-1px)}
.member-button.is-pro{border-color:var(--green);color:var(--green);background:rgba(62,207,142,.10)}
.trh-pro-kicker{display:block;margin-bottom:8px;color:var(--blue);font-size:var(--fs-label);font-weight:800;letter-spacing:var(--tracking-label);text-transform:uppercase}
.trh-pro-badge{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:3px 8px;border:1px solid var(--gold);border-radius:var(--radius-pill);color:var(--gold-bright);font-family:var(--font-body);font-size:.62rem;font-weight:800;letter-spacing:.07em;vertical-align:middle}
.nav-pro-badge{display:inline-block;margin-left:7px;padding:1px 5px;border:1px solid var(--gold);border-radius:var(--radius-pill);color:var(--gold-bright);font-size:.55rem;font-weight:800;letter-spacing:.06em;vertical-align:1px}
html[data-membership="pro"] .nav-pro-badge{display:none}
.calc-tile.trh-pro-locked{background:linear-gradient(145deg,var(--card-bg),rgba(212,175,106,.035))}
.calc-tile.trh-pro-locked .ct-formula{filter:blur(5px);user-select:none;opacity:.5}
.calc-tile.trh-pro-locked .ct-go{color:var(--gold-bright)}
.trh-upgrade-card,.trh-locked-page{
  position:relative;overflow:hidden;border:1px solid var(--gold);border-radius:var(--radius-lg);
  background:linear-gradient(145deg,rgba(212,175,106,.10),var(--card-bg));box-shadow:var(--shadow);
}
.trh-upgrade-card{margin:var(--sp-7) 0;padding:clamp(24px,4vw,42px);text-align:center}
.trh-upgrade-card:before,.trh-locked-page:before{content:"";position:absolute;inset:auto -12% -55% 25%;height:220px;background:radial-gradient(circle,rgba(79,179,255,.13),transparent 68%);pointer-events:none}
.trh-upgrade-card h2{margin-bottom:10px}.trh-upgrade-card p{max-width:68ch;margin:0 auto 16px;color:var(--grey-200)}
.trh-upgrade-card small{display:block;margin-top:10px;color:var(--grey-400)}
.trh-lock-count{font-size:var(--fs-sm);font-weight:700;color:var(--gold-bright)!important}
.trh-locked-page{max-width:790px;margin:20px auto 70px;padding:clamp(32px,7vw,72px);text-align:center}
.trh-locked-page h1{font-size:clamp(2rem,4.2vw,3.2rem);margin:10px 0 16px}.trh-locked-page p{max-width:62ch;margin:0 auto 24px;color:var(--grey-200)}
.trh-locked-page .btn{margin:5px}.trh-lock-icon{font-size:2.4rem;margin-bottom:14px}
.trh-locked-item{border:1px dashed var(--card-border);border-radius:var(--radius);padding:18px;margin:12px 0;background:var(--card-bg);display:flex;align-items:center;justify-content:space-between;gap:14px}
.trh-locked-item h3{margin:0;font-size:var(--fs-h4)}.trh-locked-item p{margin:4px 0 0;color:var(--grey-400);font-size:var(--fs-sm)}
.trh-member-overlay{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(2,6,16,.78);backdrop-filter:blur(12px)}
.trh-member-overlay.show{display:flex}.trh-modal-open{overflow:hidden}
.trh-member-panel{position:relative;width:min(100%,540px);max-height:min(90vh,760px);overflow:auto;padding:clamp(24px,5vw,42px);border:1px solid var(--gold);border-radius:var(--radius-lg);background:linear-gradient(155deg,var(--navy-700),var(--navy-800));box-shadow:var(--shadow-pop);animation:cmdkIn .3s var(--ease-spring) both}
.trh-member-panel h2{margin:0 40px 8px 0;font-size:var(--fs-h2)}.trh-member-panel>div>p{color:var(--grey-200)}
.trh-member-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:1px solid var(--card-border);border-radius:50%;background:var(--card-bg);color:var(--white);font-size:1.4rem;line-height:1}
.trh-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:22px 0;padding:4px;border:1px solid var(--card-border);border-radius:var(--radius-xs);background:var(--card-bg)}
.trh-auth-tabs button{padding:9px;border:0;border-radius:5px;background:transparent;color:var(--grey-400);font-weight:700}.trh-auth-tabs button.active{background:var(--navy-500);color:var(--gold-bright)}
#membershipAuthForm label{margin:13px 0;color:var(--grey-200)}
#membershipAuthForm input{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1px solid var(--card-border);border-radius:var(--radius-xs);background:var(--navy-600);color:var(--white);font:inherit}
.trh-full{width:100%;justify-content:center;margin-top:8px}.trh-modal-foot,.trh-currency-note{font-size:var(--fs-xs);color:var(--grey-400)!important;text-align:center}
.trh-member-message{min-height:0;margin:12px 0!important;padding:0}.trh-member-message.error,.trh-member-message.success{padding:10px 12px;border-radius:var(--radius-xs);font-size:var(--fs-sm)}
.trh-member-message.error{border:1px solid rgba(242,84,91,.45);background:rgba(242,84,91,.10);color:var(--red)!important}.trh-member-message.success{border:1px solid rgba(62,207,142,.4);background:rgba(62,207,142,.09);color:var(--green)!important}
.trh-price{display:flex;align-items:baseline;justify-content:center;gap:7px;margin:22px 0}.trh-price strong{font-family:var(--font-head);font-size:3rem;line-height:1;color:var(--gold-bright)}.trh-price span{color:var(--grey-400)}
.trh-benefits{margin:0 0 22px;padding-left:22px;color:var(--grey-200)}.trh-benefits li{margin:8px 0}.trh-benefits li::marker{color:var(--green)}
.trh-member-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:18px}.trh-text-button{border:0;background:transparent;color:var(--blue);padding:6px;font:inherit;font-size:var(--fs-sm)}
.trh-account{margin:24px 0;border-top:1px solid var(--card-border)}.trh-account div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--card-border)}.trh-account dt{color:var(--grey-400)}.trh-account dd{margin:0;color:var(--white);font-weight:650;overflow-wrap:anywhere}
@media(max-width:1100px){.member-button span:last-child{display:none}.member-button{width:38px;height:38px;justify-content:center;padding:0}}
@media(max-width:520px){
  .trh-locked-item{align-items:flex-start;flex-direction:column}.trh-account div{grid-template-columns:1fr;gap:2px}.trh-member-panel{padding:24px}
  .site-header .header-bar{padding-left:10px;padding-right:10px;gap:7px;flex-wrap:nowrap}
  .site-header .header-actions{gap:6px}
  .site-header .brand{gap:7px;min-width:0}
  .site-header .brand-mark{width:34px;height:34px;flex:0 0 34px}
  .site-header .brand-text .name{font-size:.78rem;white-space:nowrap}
  .site-header .brand-text .tag{display:none}
  .site-header #themeToggle{display:none}
}
@media(prefers-reduced-motion:reduce){.trh-member-panel{animation:none}}
