.nfne-payment-portal {
	--nfne-payment-ink: #071827;
	--nfne-payment-gold: #d79a2b;
	--nfne-payment-gold-text: #966000;
	--nfne-payment-ivory: #f7f4ee;
	--nfne-payment-border: rgba(7, 24, 39, .12);
	--nfne-payment-muted: #627184;
	display: grid;
	width: min(1180px, 100%);
	margin-inline: auto;
	gap: clamp(1.25rem, 2.4vw, 2.25rem);
}

.nfne-payment-portal__intro { max-width: 780px; }
.nfne-payment-portal__intro h2 { margin-top: .5rem; }
.nfne-payment-portal__intro > p:last-child { color: var(--nfne-payment-muted); font-size: clamp(1.05rem, 1rem + .2vw, 1.22rem); }
.nfne-payment-portal__eyebrow { margin: 0; color: var(--nfne-payment-gold-text); font-size: .76rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }

.nfne-payment-steps,
.nfne-payment-options {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(.8rem, 1.4vw, 1.15rem);
}

.nfne-payment-step,
.nfne-payment-option {
	border: 1px solid var(--nfne-payment-border);
	border-radius: 13px;
	padding: clamp(1.15rem, 2vw, 1.65rem);
	background: #fff;
	box-shadow: 0 10px 28px rgba(7, 24, 39, .05);
}

.nfne-payment-step > span { color: var(--nfne-payment-gold-text); font-family: Georgia, serif; font-size: 1.55rem; }
.nfne-payment-step h3 { margin: .65rem 0 .4rem; font-size: 1.28rem; }
.nfne-payment-step p,
.nfne-payment-option p { margin-bottom: 0; color: var(--nfne-payment-muted); }

.nfne-payment-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nfne-payment-option { border-top: 4px solid var(--nfne-payment-gold); }
.nfne-payment-option .nfne-payment-option__name { margin-top: 0; color: var(--nfne-payment-ink); font-family: "NFNE Carlito", "Carlito", sans-serif; font-size: 1.38rem; font-weight: 700; }

.nfne-payment-disclosure {
	border-left: 4px solid var(--nfne-payment-gold);
	border-radius: 0 12px 12px 0;
	padding: clamp(1.15rem, 2vw, 1.65rem);
	background: var(--nfne-payment-ivory);
}
.nfne-payment-disclosure h3 { margin-top: 0; }
.nfne-payment-disclosure li { margin: .45rem 0; }

.nfne-payment-support {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem 2rem;
	border-radius: 14px;
	padding: clamp(1.25rem, 2.4vw, 2rem);
	background: var(--nfne-payment-ink);
	color: #dfe7ec;
}
.nfne-payment-support h3 { margin: .45rem 0; color: #fff; }
.nfne-payment-support p { max-width: 64ch; }
.nfne-payment-support .nfne-payment-portal__eyebrow { color: #e7ba63; }
.nfne-payment-support .wp-element-button { display: inline-block; white-space: nowrap; background: var(--nfne-payment-gold); color: var(--nfne-payment-ink); font-weight: 750; text-decoration: none; }

body.nfne-invoice-payment-checkout .woocommerce {
	width: min(1080px, calc(100% - 2rem));
	margin: clamp(2rem, 4vw, 4rem) auto;
}
body.nfne-invoice-payment-checkout .woocommerce form,
body.nfne-invoice-payment-checkout .woocommerce .woocommerce-order {
	border: 1px solid var(--nfne-payment-border, rgba(7, 24, 39, .12));
	border-radius: 14px;
	padding: clamp(1.15rem, 2.5vw, 2rem);
	background: #fff;
	box-shadow: 0 14px 38px rgba(7, 24, 39, .07);
}
body.nfne-invoice-payment-checkout .woocommerce table { border-collapse: collapse; }
body.nfne-invoice-payment-checkout .woocommerce table th,
body.nfne-invoice-payment-checkout .woocommerce table td { padding: .9rem; }
body.nfne-invoice-payment-checkout .woocommerce input,
body.nfne-invoice-payment-checkout .woocommerce select,
body.nfne-invoice-payment-checkout .woocommerce textarea { border-radius: 9px; }
body.nfne-invoice-payment-checkout .woocommerce #place_order { min-height: 48px; border-radius: 9px; background: #d79a2b; color: #071827; font-weight: 750; }

@media (max-width: 782px) {
	.nfne-payment-steps { grid-template-columns: 1fr; }
	.nfne-payment-support { display: grid; }
}

@media (max-width: 620px) {
	.nfne-payment-options { grid-template-columns: 1fr; }
	.nfne-payment-support .wp-element-button { white-space: normal; text-align: center; }
}
