/* PBP Checkout — front-end (public) styling.
   Matches the brand aesthetic. Loaded only on pages with [pbp_checkout]. */
.pbp-checkout { max-width: 1000px; }
.pbp-checkout-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.4rem;
	align-items: stretch;
}
.pbp-checkout-card {
	display: flex; flex-direction: column; gap: .8rem;
	background: #0A0A0E; border: 1px solid rgba(246,244,239,.22);
	border-radius: 12px; padding: 1.6rem 1.4rem; position: relative;
}
.pbp-checkout-card--feat {
	border-color: #F4C03C;
	box-shadow: 0 18px 50px -20px rgba(244,192,60,.5);
	background: linear-gradient(180deg, rgba(244,192,60,.06), #0A0A0E);
}
.pbp-checkout-pill {
	align-self: flex-start;
	display: inline-block; padding: .2rem .7rem; border-radius: 999px;
	background: #F4C03C; color: #0A0A0E; font-size: .72rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .04em; margin-bottom: -.2rem;
}
.pbp-checkout-name {
	font-family: var(--f-display, Georgia, serif); font-size: 1.3rem; font-weight: 600; color: #F6F4EF;
}
.pbp-checkout-price {
	font-size: 1.9rem; font-weight: 700; color: #F4C03C; line-height: 1.1;
}
.pbp-checkout-price--gated {
	color: #F6F4EF; display: flex; flex-direction: column; gap: .15rem;
	font-size: 1.4rem;
}
.pbp-checkout-price--gated span { font-size: .8rem; font-weight: 400; color: rgba(246,244,239,.5); }
.pbp-checkout-incl { list-style: none; padding: 0; margin: .3rem 0; display: grid; gap: .4rem; }
.pbp-checkout-incl li {
	font-size: .9rem; color: rgba(246,244,239,.8); position: relative; padding-left: 1.3rem;
}
.pbp-checkout-incl li:before {
	content: '✓'; position: absolute; left: 0; color: #F4C03C; font-weight: 700;
}
.pbp-checkout-desc {
	font-size: .85rem; color: rgba(246,244,239,.6); margin: 0;
}
.pbp-checkout-btn {
	margin-top: auto; width: 100%; padding: .9rem; border: 0; border-radius: 999px; cursor: pointer;
	background: #F4C03C; color: #0A0A0E; font-weight: 700; font-size: .95rem;
	transition: transform .3s, box-shadow .3s;
}
.pbp-checkout-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -10px rgba(244,192,60,.7); }
.pbp-checkout-card--feat .pbp-checkout-btn { background: #F4C03C; }
.pbp-checkout-card:not(.pbp-checkout-card--feat) .pbp-checkout-btn {
	background: transparent; border: 1px solid #F4C03C; color: #F4C03C;
}
.pbp-checkout-foot {
	margin-top: 1.5rem; font-size: .82rem; color: rgba(246,244,239,.5); text-align: center;
}
.pbp-checkout-empty { color: rgba(246,244,239,.5); padding: 2rem 0; }

/* Success / error / demo banners (set by the submit handler redirects) */
.pbp-checkout-ok, .pbp-checkout-err, .pbp-checkout-demo {
	padding: 1.1rem 1.3rem; border-radius: 10px; margin-bottom: 1.5rem; font-size: .95rem; line-height: 1.5;
}
.pbp-checkout-ok    { background: rgba(70,180,80,.12);  border: 1px solid rgba(70,180,80,.4);  color: #F6F4EF; }
.pbp-checkout-err   { background: rgba(220,50,50,.12);  border: 1px solid rgba(220,50,50,.4);  color: #ffb0b0; }
.pbp-checkout-demo  { background: rgba(255,185,0,.12);  border: 1px solid rgba(255,185,0,.4);  color: #ffd966; }
.pbp-checkout-ok code, .pbp-checkout-err code, .pbp-checkout-demo code {
	background: rgba(0,0,0,.25); padding: .1rem .35rem; border-radius: 3px; font-size: .85em;
}

/* Buyer identity fields (v1.24.3) — required in-form because PaySwitch's
   webhook carries no customer object. */
.pbp-checkout-buyer{ display:flex; flex-direction:column; gap:.5rem; margin:.9rem 0 1rem; }
.pbp-checkout-buyer input{
  width:100%; padding:.62rem .8rem; font:inherit; font-size:.92rem; color:inherit;
  background:rgba(255,255,255,.05); border:1px solid rgba(244,192,60,.28);
  border-radius:8px; outline:none; transition:border-color .2s ease;
}
.pbp-checkout-buyer input:focus{ border-color:#F4C03C; }
.pbp-checkout-buyer input::placeholder{ color:rgba(246,244,239,.45); }
