/* AH Pricing Toggle — everything scoped under .ahpt */
.ahpt {
	--ahpt-bg: #8a2a0a;
	--ahpt-dark: #1a1a1a;
	--ahpt-white: #fff;
	--ahpt-accent: #7dd8f7;
	--ahpt-muted-dark: #b9b9b9;
	--ahpt-muted-light: #5f5f5f;
	--ahpt-radius: 14px;
	--ahpt-gap: 40px;
	position: relative;
	width: 100%;
	max-width: 1180px;
	margin-inline: auto;
	font-family: inherit;
}
.ahpt *,
.ahpt *::before,
.ahpt *::after { box-sizing: border-box; }
.ahpt h2, .ahpt h3, .ahpt p, .ahpt ul { margin: 0; padding: 0; }

/* Optional built-in background: [ah_pricing background="yes"] */
.ahpt--bg {
	max-width: none;
	padding: 60px max(16px, calc((100% - 1180px) / 2));
	background-color: var(--ahpt-bg);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.08' stroke-width='28' stroke-linecap='round'%3E%3Cpath d='M20 160a70 70 0 0 1 140 0'/%3E%3Cpath d='M180 60a60 60 0 0 0 120 0'/%3E%3Cpath d='M170 290a55 55 0 0 1 110 0'/%3E%3C/g%3E%3C/svg%3E");
}

.ahpt-heading {
	color: var(--ahpt-white);
	text-align: center;
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 700;
	margin-bottom: 40px;
}

.ahpt-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	gap: var(--ahpt-gap);
}

.ahpt-card { border-radius: var(--ahpt-radius); padding: 36px 26px 40px; }
.ahpt-card--free { background: var(--ahpt-dark); color: var(--ahpt-white); border: 1px solid #000; }
.ahpt-card--premium { background: var(--ahpt-white); color: #111; }

.ahpt-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	min-height: 62px;
}
.ahpt-title { font-size: 32px; font-weight: 500; line-height: 1.2; color: inherit; }

.ahpt-badge {
	display: inline-block;
	background: var(--ahpt-accent);
	color: #111;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	padding: 6px 12px;
	border-radius: 6px;
}

/* Toggle */
.ahpt-toggle {
	position: relative;
	display: inline-flex;
	background: var(--ahpt-dark);
	border: 3px solid var(--ahpt-dark);
	border-radius: 12px;
}
.ahpt-thumb {
	position: absolute;
	top: 0; bottom: 0; left: 0;
	background: var(--ahpt-white);
	border-radius: 9px;
	transition: transform .35s cubic-bezier(.65,0,.35,1), width .35s cubic-bezier(.65,0,.35,1);
}
.ahpt-toggle:not(.is-ready) .ahpt-thumb { transition: none; }
.ahpt .ahpt-option {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	background: none;
	border: 0;
	border-radius: 9px;
	box-shadow: none;
	font: inherit;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
	text-transform: none;
	letter-spacing: normal;
	padding: 12px 16px;
	color: #d9d9d9;
	cursor: pointer;
	white-space: nowrap;
	transition: color .35s;
}
.ahpt .ahpt-option:hover,
.ahpt .ahpt-option:focus { background: none; color: #fff; }
.ahpt .ahpt-option[aria-checked="true"],
.ahpt .ahpt-option[aria-checked="true"]:hover { color: #111; }
.ahpt .ahpt-option:focus-visible { outline: 2px solid var(--ahpt-accent); outline-offset: 2px; }
.ahpt-option .ahpt-badge { font-size: 15px; padding: 5px 12px; }
.ahpt-option[aria-checked="false"] .ahpt-badge { display: none; }
.ahpt-option[aria-checked="true"] .ahpt-badge { animation: ahptBadgeIn .3s .15s both; }
@keyframes ahptBadgeIn { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: none; } }

/* Price */
.ahpt-price { display: flex; align-items: baseline; gap: 14px; margin: 18px 0 28px; }
.ahpt-amount {
	font-size: 72px;
	font-weight: 500;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	transition: opacity .2s, transform .2s;
}
.ahpt-amount.is-changing { opacity: 0; transform: translateY(-8px); }
.ahpt-currency { font-size: 30px; font-weight: 500; }
.ahpt-period { font-size: 18px; color: var(--ahpt-muted-light); }

/* Features */
.ahpt-features { list-style: none; display: grid; gap: 22px; }
.ahpt-features li { display: grid; grid-template-columns: 24px 1fr; gap: 16px; margin: 0; }
.ahpt-features li::before { content: none; }
.ahpt-features strong { display: block; font-size: 19px; font-weight: 600; margin-bottom: 8px; }
.ahpt-features p { font-size: 16px; line-height: 1.5; }
.ahpt-card--free .ahpt-features p { color: var(--ahpt-muted-dark); }
.ahpt-card--premium .ahpt-features p { color: var(--ahpt-muted-light); }

.ahpt-check {
	width: 20px; height: 20px;
	margin-top: 4px;
	border-radius: 5px;
	display: grid; place-items: center;
}
.ahpt-card--free .ahpt-check { background: var(--ahpt-white); color: var(--ahpt-dark); }
.ahpt-card--premium .ahpt-check { background: var(--ahpt-dark); color: var(--ahpt-white); }
.ahpt-check svg { width: 11px; height: 11px; }

@media (max-width: 480px) {
	.ahpt-title { font-size: 26px; }
	.ahpt .ahpt-option { font-size: 16px; padding: 10px 12px; gap: 8px; }
	.ahpt-option .ahpt-badge { font-size: 13px; padding: 4px 8px; }
	.ahpt-amount { font-size: 56px; }
}
@media (prefers-reduced-motion: reduce) {
	.ahpt-thumb, .ahpt-amount { transition: none; }
	.ahpt-option .ahpt-badge { animation: none; }
}
