/* PBP Join / Community Membership */
.pbp-join-wrap { max-width: 720px; margin: 0 auto; }
.pbp-join-hero { text-align: center; padding: 2.5rem 0 2rem; }
.pbp-join-pill {
	display: inline-block; padding: .3rem .9rem; border-radius: 999px;
	background: rgba(244,192,60,.12); border: 1px solid rgba(244,192,60,.3);
	color: #F4C03C; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
}
.pbp-join-hero h2 {
	font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 700; margin: 1rem 0 .5rem;
	color: #F6F4EF; line-height: 1.1;
}
.pbp-join-lead { font-size: 1.1rem; color: rgba(246,244,239,.7); margin: 0 0 1.5rem; }
.pbp-join-price { display: inline-flex; align-items: baseline; gap: .6rem; }
.pbp-join-amount {
	font-size: 3.2rem; font-weight: 800; color: #F4C03C;
	text-shadow: 0 0 40px rgba(244,192,60,.3);
}
.pbp-join-note { font-size: .85rem; color: rgba(246,244,239,.5); }

.pbp-join-includes {
	background: #111214; border: 1px solid rgba(244,192,60,.15); border-radius: 16px;
	padding: 2rem; margin-bottom: 2rem;
}
.pbp-join-includes h3 { color: #F4C03C; margin: 0 0 1.2rem; font-size: 1.1rem; }
.pbp-join-grid { display: grid; grid-template-columns: 1fr; gap: .5rem; }
@media (min-width: 600px) { .pbp-join-grid { grid-template-columns: 1fr 1fr; } }
.pbp-join-item {
	display: flex; align-items: center; gap: .5rem; font-size: .9rem; color: rgba(246,244,239,.85);
	padding: .3rem 0;
}
.pbp-join-item b { color: #F4C03C; }
.pbp-join-check { color: #F4C03C; font-weight: 700; flex: none; }
.pbp-join-disclaimer { font-size: .75rem; color: rgba(246,244,239,.35); margin-top: 1.2rem; }

.pbp-join-form {
	background: #111214; border: 1px solid rgba(244,192,60,.2); border-radius: 16px;
	padding: 2rem; display: grid; gap: 1rem;
}
.pbp-join-form h3 { color: #F4C03C; margin: 0 0 .5rem; font-size: 1.2rem; }
.pbp-join-field { display: grid; gap: .3rem; }
.pbp-join-field label {
	font-size: .78rem; text-transform: uppercase; letter-spacing: .06em;
	color: rgba(246,244,239,.6); font-weight: 600;
}
.pbp-join-field input {
	width: 100%; padding: .8rem 1rem; border-radius: 10px;
	border: 1px solid rgba(244,192,60,.2); background: #0A0A0E;
	color: #F6F4EF; font: inherit; font-size: .95rem; box-sizing: border-box;
}
.pbp-join-field input:focus { outline: none; border-color: #F4C03C; }
.pbp-join-btn {
	width: 100%; padding: 1rem; border: 0; border-radius: 999px; cursor: pointer;
	background: #F4C03C; color: #0A0A0E; font-weight: 700; font-size: 1rem;
	text-transform: uppercase; letter-spacing: .02em; transition: background .3s, transform .3s;
}
.pbp-join-btn:hover { background: #E79818; transform: translateY(-2px); }
.pbp-join-secure { font-size: .8rem; color: rgba(246,244,239,.4); text-align: center; margin: 0; }

.pbp-join-ok {
	padding: 1rem 1.2rem; border-radius: 10px; margin-bottom: 1.5rem;
	background: rgba(70,180,80,.12); border: 1px solid rgba(70,180,80,.4); color: #F6F4EF;
}
.pbp-join-err {
	padding: 1rem 1.2rem; border-radius: 10px; margin-bottom: 1.5rem;
	background: rgba(220,50,50,.12); border: 1px solid rgba(220,50,50,.4); color: #ffb0b0;
}

/* Soft-retry notice (v1.25.3): gentle amber, not red — the nonce expiring
   isn't the user's fault. */
.pbp-join-soft {
	background: rgba(255, 185, 0, .10) !important;
	border-color: rgba(255, 185, 0, .45) !important;
	color: #ffd966 !important;
}
