/* Panthers Members — uses the TBS Panthers theme tokens, with fallbacks for any theme. */
.pm-card, .pm-lock, .pm-locked { --pm-n: var(--tbsp-ink, var(--tbsp-ink, #051F52)); --pm-g: var(--tbsp-accent, #EEC058); --pm-m: var(--tbsp-muted, #4E5C78); --pm-line: rgba(var(--tbsp-ink-rgb, 5, 31, 82), .14); --pm-fd: var(--tbsp-font-display, "Barlow Condensed", "Arial Narrow", sans-serif); }
.pm-card { max-width: 640px; margin: clamp(24px, 4vw, 56px) auto; background: #fff; box-shadow: 0 0 0 1px rgba(var(--tbsp-ink-rgb, 5, 31, 82), .06), 0 30px 60px -30px rgba(var(--tbsp-ink-rgb, 5, 31, 82), .45); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%); }
.pm-card__head { position: relative; display: flex; align-items: center; gap: 18px; padding: 26px clamp(22px, 4vw, 40px); background: var(--pm-n); color: #fff; overflow: hidden; }
.pm-card__head::before { content: ""; position: absolute; inset: 0; background: radial-gradient(90% 120% at 100% 0, rgba(238, 192, 88, .2), transparent 60%), repeating-linear-gradient(115deg, transparent 0 60px, rgba(255, 255, 255, .03) 60px 61px); pointer-events: none; }
.pm-card__head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--pm-g); }
.pm-card__head > * { position: relative; }
.pm-card__badge { width: 58px; height: 58px; border-radius: 50%; object-fit: contain; flex-shrink: 0; filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .35)); }
.pm-card__title { margin: 0; font-family: var(--pm-fd); font-weight: 800; text-transform: uppercase; font-size: clamp(28px, 4vw, 40px); line-height: .95; color: #fff; }
.pm-card__sub { margin: 6px 0 0; color: var(--tbsp-muted-on-dark, #B8C4DA); font-size: 15px; }
.pm-card__body { padding: clamp(22px, 4vw, 38px) clamp(22px, 4vw, 40px) clamp(28px, 4vw, 42px); }
.pm-form { margin: 0; }
.pm-field { margin: 0 0 16px; }
.pm-field label { display: block; margin-bottom: 6px; font-family: var(--pm-fd); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 14px; color: var(--pm-n); }
.pm-field input[type=text], .pm-field input[type=email], .pm-field input[type=tel], .pm-field input[type=password] {
	width: 100%; box-sizing: border-box; height: 50px; padding: 0 14px; border: 1.5px solid var(--pm-line); border-radius: 0; background: #F7F5F1; color: var(--pm-n); font: inherit; font-size: 16px; transition: border-color .2s, background .2s, box-shadow .2s;
}
.pm-field input:focus { outline: 0; border-color: var(--pm-n); background: #fff; box-shadow: 0 0 0 3px rgba(238, 192, 88, .55); }
.pm-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.pm-upload input[type=file] { display: block; width: 100%; box-sizing: border-box; padding: 14px; border: 1.5px dashed rgba(var(--tbsp-ink-rgb, 5, 31, 82), .3); background: #F7F5F1; font-size: 15px; cursor: pointer; }
.pm-upload input[type=file]::file-selector-button { margin-right: 14px; padding: 9px 16px; border: 0; background: var(--pm-n); color: #fff; font-family: var(--pm-fd); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; cursor: pointer; }
.pm-upload small { display: block; margin-top: 6px; color: var(--pm-m); font-size: 13px; }
.pm-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin: 4px 0 20px; }
.pm-check { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; color: var(--pm-n); line-height: 1.4; cursor: pointer; }
.pm-check input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--pm-n); flex-shrink: 0; }
.pm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 0 30px; border: 0; cursor: pointer; background: var(--pm-g); color: var(--pm-n) !important; text-decoration: none !important; font-family: var(--pm-fd); font-weight: 800; text-transform: uppercase; letter-spacing: .12em; font-size: 16px; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%); transition: background .25s, color .25s; }
.pm-form .pm-btn { width: 100%; }
.pm-btn svg { width: 18px; height: 18px; transition: transform .3s; }
.pm-btn:hover, .pm-btn:focus-visible { background: var(--pm-n); color: var(--pm-g) !important; }
.pm-btn:hover svg { transform: translateX(4px); }
.pm-link { color: var(--pm-n); font-weight: 600; text-decoration: underline; text-decoration-color: var(--pm-g); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.pm-link:hover { color: var(--tbsp-accent-text, #7D5E12); }
.pm-alt { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--pm-line); text-align: center; color: var(--pm-m); font-size: 15px; }
.pm-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin: 0; }
.pm-notice { margin: 0 0 20px; padding: 14px 16px; border-left: 4px solid; font-size: 15px; line-height: 1.5; }
.pm-notice--ok { border-color: #1f7a4d; background: #E8F4EC; color: #14432c; }
.pm-notice--err { border-color: #b0303a; background: #FBEBEC; color: #6d1a21; }
.pm-notice a { color: inherit; font-weight: 700; }
.pm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.pm-facts { list-style: none; margin: 0 0 26px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--pm-line); border: 1px solid var(--pm-line); }
.pm-facts li { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; background: #fff; min-width: 0; }
.pm-facts span { font-family: var(--pm-fd); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--pm-m); }
.pm-facts b { font-size: 15px; color: var(--pm-n); overflow-wrap: anywhere; }
.pm-status--approved { color: #1f7a4d !important; }
.pm-status--pending { color: #b26a00 !important; }
.pm-status--blocked { color: #b0303a !important; }
.pm-more { margin: 4px 0 18px; border: 1px solid var(--pm-line); padding: 0 14px; }
.pm-more summary { cursor: pointer; padding: 12px 0; font-family: var(--pm-fd); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--pm-n); }
.pm-more[open] { padding-bottom: 4px; }
@media (max-width: 560px) { .pm-two, .pm-facts { grid-template-columns: 1fr; } .pm-card { margin-inline: 0; } .pm-card__badge { width: 46px; height: 46px; } }

/* Members-only content box */
.pm-teaser { font-size: 1.1em; line-height: 1.7; color: var(--pm-m); -webkit-mask-image: linear-gradient(180deg, #000 40%, transparent 100%); mask-image: linear-gradient(180deg, #000 40%, transparent 100%); }
.pm-lock { max-width: 560px; margin: 28px auto 12px; padding: 34px clamp(20px, 4vw, 38px) 30px; text-align: center; background: #fff; border-top: 5px solid var(--pm-g); box-shadow: 0 0 0 1px rgba(var(--tbsp-ink-rgb, 5, 31, 82), .08), 0 26px 50px -28px rgba(var(--tbsp-ink-rgb, 5, 31, 82), .45); }
.pm-lock__icon { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 12px; background: var(--pm-n); color: var(--pm-g); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%); }
.pm-lock__icon svg { width: 30px; height: 30px; }
.pm-lock__title { margin: 0 0 6px; font-family: var(--pm-fd); font-weight: 800; text-transform: uppercase; font-size: 30px; line-height: 1; color: var(--pm-n); }
.pm-lock__text { margin: 0 0 22px; color: var(--pm-m); }
.pm-lock .pm-form { text-align: left; }

/* 🔒 badge on story cards */
.pm-locked { position: relative; }
.pm-locked::before {
	content: "🔒 Members"; position: absolute; z-index: 8; top: 12px; left: 50%; transform: translateX(-50%); white-space: nowrap; pointer-events: none;
	padding: 5px 11px 4px; background: rgba(var(--tbsp-ink-rgb, 5, 31, 82), .88); color: #fff; font-family: var(--pm-fd); font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
	backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); box-shadow: 0 6px 14px rgba(0, 0, 0, .2);
}
.pm-locked--open::before { content: "🔓 Members"; background: rgba(31, 122, 77, .9); }
body.single .pm-locked::before, body.page .pm-locked::before, .tbsp-headlines .pm-locked::before, .tbsp-list .pm-locked::before { display: none; }

/* Log in with the Panthers App */
.pm-sent { display: flex; gap: 14px; align-items: flex-start; margin: 0 0 18px; padding: 14px 16px; background: rgba(238, 192, 88, .14); border: 1px solid rgba(238, 192, 88, .6); }
.pm-sent p { margin: 0; font-size: 15px; line-height: 1.55; }
.pm-sent__ico { flex: none; display: grid; place-items: center; width: 40px; height: 40px; background: var(--pm-n); color: var(--pm-g); }
.pm-sent__ico svg { width: 22px; height: 22px; }
.pm-code { font-family: var(--pm-fd) !important; font-weight: 800 !important; font-size: 34px !important; letter-spacing: .4em !important; text-align: center; }
.pm-who { list-style: none; margin: 18px 0 0; padding: 14px 16px; background: rgba(var(--tbsp-ink-rgb, 5, 31, 82), .04); display: grid; gap: 6px; font-size: 14px; color: var(--pm-m); }
.pm-who li { position: relative; padding-left: 22px; }
.pm-who li::before { content: ""; position: absolute; left: 0; top: .45em; width: 12px; height: 7px; border-left: 2.5px solid var(--pm-g); border-bottom: 2.5px solid var(--pm-g); transform: rotate(-45deg); }
.pm-alt--small { font-size: 13px; }
.pm-hint { font-size: 14px; color: var(--pm-m); }
