/* =========================================================================
   Prices Block V2 — all rules scoped under .prices-block-v2.
   Per-block CSS (loaded via enqueue_assets only when the block is present).
   3-tier pricing: centered header + 3-col grid; accented "popular" middle tier.
   Tokens: green #028d40 (hover #02713a), graphite #343a40, muted #777,
   border #e6e6e6, ink #474747. Section bg comes from the global .light-bg (#f9fdfc).
   ========================================================================= */
.prices-block-v2 .pbv2-container { padding-top: 80px; padding-bottom: 80px; }

/* Header (centered) */
.prices-block-v2 .pbv2-head { text-align: center; max-width: 720px; margin: 0 auto 50px; }
.prices-block-v2 .pbv2-eyebrow { display: inline-block; color: #028d40; font-size: 12px;
	font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 14px; }
.prices-block-v2 .pbv2-title { font-family: Rubik, sans-serif; font-size: 32px; line-height: 1.2;
	font-weight: 500; color: #343a40; margin: 0; }

/* Grid: wider, raised middle column; side cards vertically centered against it */
.prices-block-v2 .pbv2-grid { display: grid; grid-template-columns: 1fr 1.12fr 1fr; gap: 24px;
	align-items: center; max-width: 1080px; margin: 0 auto; }

/* Side (default) card */
.prices-block-v2 .pbv2-card { position: relative; display: flex; flex-direction: column;
	background: #fff; border: 1px solid #e6e6e6; border-radius: .35rem; padding: 32px 28px; }
.prices-block-v2 .pbv2-card__name { font-size: 14px; font-weight: 700; text-transform: uppercase;
	letter-spacing: .06em; color: #777; margin: 0 0 14px; }
.prices-block-v2 .pbv2-price { display: flex; align-items: baseline; gap: 6px; margin-bottom: 6px; }
.prices-block-v2 .pbv2-price__prefix { font-size: 16px; color: #777; }
.prices-block-v2 .pbv2-price__amount { font-family: Rubik, sans-serif; font-size: 38px;
	line-height: 1; font-weight: 500; color: #343a40; }
.prices-block-v2 .pbv2-price__currency { font-size: 18px; color: #343a40; }
.prices-block-v2 .pbv2-card__subtitle { font-size: 14px; line-height: 1.5; color: #777; margin: 0 0 20px; }

/* Features (flex:1 pushes the button to the card bottom) */
.prices-block-v2 .pbv2-features { list-style: none; margin: 0 0 24px; padding: 0; display: flex;
	flex-direction: column; gap: 11px; flex: 1 0 auto; }
.prices-block-v2 .pbv2-features li { display: flex; align-items: flex-start; gap: 10px;
	font-size: 14.5px; line-height: 1.45; color: #474747; }
.prices-block-v2 .pbv2-features li i { color: #028d40; font-size: 13px; line-height: 1; margin-top: 3px;
	flex: 0 0 auto; }

/* Button base + OUTLINE variant (default cards) */
.prices-block-v2 .pbv2-btn { display: inline-flex; align-items: center; justify-content: center;
	width: 100%; text-align: center; text-decoration: none; border-radius: .25rem; font-weight: 600;
	line-height: 1.2; cursor: pointer;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease; }
.prices-block-v2 .pbv2-btn:focus-visible { outline: 2px solid #028d40; outline-offset: 2px; }
.prices-block-v2 .pbv2-btn--outline { background: #fff; color: #028d40; border: 1px solid #028d40;
	padding: 13px 20px; font-size: 15px; }
.prices-block-v2 .pbv2-btn--outline:hover,
.prices-block-v2 .pbv2-btn--outline:focus { background: #028d40; color: #fff; }

/* Popular (featured) card */
.prices-block-v2 .pbv2-card--pop { border: 2px solid #028d40; border-radius: .45rem;
	padding: 44px 34px; z-index: 2;
	box-shadow: 0 22px 50px -12px rgba(2, 141, 64, .28), 0 8px 22px rgba(15, 23, 42, .10); }
.prices-block-v2 .pbv2-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
	background: #028d40; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .07em;
	text-transform: uppercase; padding: 6px 16px; border-radius: .25rem; white-space: nowrap;
	box-shadow: 0 6px 16px rgba(2, 141, 64, .32); }
.prices-block-v2 .pbv2-card--pop .pbv2-card__name { color: #028d40; font-size: 16px; }
.prices-block-v2 .pbv2-card--pop .pbv2-price__amount { font-size: 46px; }
.prices-block-v2 .pbv2-card--pop .pbv2-price__currency { font-size: 20px; }
.prices-block-v2 .pbv2-card--pop .pbv2-features { gap: 13px; }
.prices-block-v2 .pbv2-card--pop .pbv2-features li { font-size: 15px; }

/* SOLID variant (featured card) */
.prices-block-v2 .pbv2-btn--solid { background: #028d40; color: #fff; border: 1px solid #028d40;
	padding: 15px 20px; font-size: 15.5px; }
.prices-block-v2 .pbv2-btn--solid:hover,
.prices-block-v2 .pbv2-btn--solid:focus { background: #02713a; border-color: #02713a; color: #fff;
	box-shadow: 0 10px 24px rgba(2, 141, 64, .30); }

/* Footer note */
.prices-block-v2 .pbv2-note { text-align: center; font-size: 13.5px; color: #777; margin: 28px 0 0; }

/* Responsive — single column at the theme lg breakpoint; popular loses its size emphasis */
@media (max-width: 991.98px) {
	.prices-block-v2 .pbv2-container { padding-top: 56px; padding-bottom: 56px; }
	.prices-block-v2 .pbv2-head { margin-bottom: 36px; }
	.prices-block-v2 .pbv2-title { font-size: 28px; }
	.prices-block-v2 .pbv2-grid { grid-template-columns: 1fr; max-width: 480px; gap: 30px; }
	.prices-block-v2 .pbv2-card--pop { padding: 36px 28px; box-shadow: 0 12px 30px rgba(2, 141, 64, .18); }
}
@media (max-width: 575.98px) {
	.prices-block-v2 .pbv2-title { font-size: 24px; }
	.prices-block-v2 .pbv2-card { padding: 28px 22px; }
	.prices-block-v2 .pbv2-card--pop { padding: 32px 24px; }
	.prices-block-v2 .pbv2-price__amount { font-size: 34px; }
	.prices-block-v2 .pbv2-card--pop .pbv2-price__amount { font-size: 40px; }
}
