/* AIR Homoeo skin for PMPro pages (body.ah-pm) and the Tutor pricing box (body.ah-tp).
   Only appearance changes here. Forms, prices and payments stay with PMPro. */

body.ah-pm,
body.ah-tp {
	--ah-navy: #0f1f45;
	--ah-gold: #c9a23a;
	--ah-gold-light: #e3c77a;
	--ah-gold-deep: #9a7a1c;
	--ah-gold-grad: linear-gradient(135deg, #e8cc80 0%, #c9a23a 50%, #a8841f 100%);
	--ah-ink: #111827;
	--ah-muted: #4b5563;
	--ah-line: #e3e6ee;
	--ah-field: #d5dae6;
	--ah-soft: #f5f7fb;
	--ah-green: #1a7a4a;
	--ah-display: 'League Spartan', 'Inter', system-ui, sans-serif;
	--ah-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* Golden tokens also for pages without the AIR look switched on */
body {
	--ah-gold: #c9a23a;
	--ah-gold-light: #e3c77a;
	--ah-gold-deep: #9a7a1c;
	--ah-gold-grad: linear-gradient(135deg, #e8cc80 0%, #c9a23a 50%, #a8841f 100%);
}

/* Tell PMPro's own styles to use our colours */
body.ah-pm {
	--pmpro--color--base: #ffffff;
	--pmpro--color--contrast: var(--ah-ink);
	--pmpro--color--accent: var(--ah-navy);
	--pmpro--color--accent--variation: var(--ah-navy);
	--pmpro--color--border--variation: var(--ah-line);
}

/* ---------- Shared PMPro page styles ---------- */

body.ah-pm .pmpro {
	font-family: var(--ah-body) !important;
	color: var(--ah-ink) !important;
	max-width: 760px !important;
	margin: 0 auto !important;
}
body.ah-pm .pmpro * { box-sizing: border-box !important; }

body.ah-pm .pmpro .pmpro_section { margin: 0 0 28px !important; }

body.ah-pm .pmpro .pmpro_section_title,
body.ah-pm .pmpro h2 {
	font-family: var(--ah-display) !important;
	font-weight: 800 !important;
	font-size: 26px !important;
	line-height: 1.15 !important;
	color: var(--ah-navy) !important;
	margin: 0 0 14px !important;
	letter-spacing: -0.01em !important;
}

body.ah-pm .pmpro .pmpro_card {
	background: #fff !important;
	border: 1px solid var(--ah-line) !important;
	border-radius: 14px !important;
	box-shadow: 0 1px 2px rgba(15, 31, 69, .05), 0 8px 24px -16px rgba(15, 31, 69, .25) !important;
	padding: 0 !important;
	margin: 0 0 20px !important;
	overflow: hidden !important;
}
body.ah-pm .pmpro .pmpro_card_title,
body.ah-pm .pmpro .pmpro_form_legend,
body.ah-pm .pmpro .pmpro_form_heading {
	font-family: var(--ah-body) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--ah-navy) !important;
	margin: 0 !important;
	padding: 18px 24px 0 !important;
	border: 0 !important;
	background: none !important;
}
body.ah-pm .pmpro .pmpro_card_content { padding: 18px 24px 22px !important; }
body.ah-pm .pmpro .pmpro_card_actions {
	background: var(--ah-soft) !important;
	border-top: 1px solid var(--ah-line) !important;
	padding: 14px 24px !important;
	font-size: 14px !important;
	margin: 0 !important;
}
body.ah-pm .pmpro .pmpro_card_action_separator { color: var(--ah-field) !important; }

body.ah-pm .pmpro a {
	color: var(--ah-navy) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}
body.ah-pm .pmpro a:hover { text-decoration: underline !important; text-underline-offset: 3px !important; }

body.ah-pm .pmpro .pmpro_list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.ah-pm .pmpro .pmpro_list_item { padding: 6px 0 !important; font-size: 15px !important; border: 0 !important; }

/* Labels and fields */
body.ah-pm .pmpro label,
body.ah-pm .pmpro .pmpro_form_label {
	display: block;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--ah-ink) !important;
	margin: 0 0 6px !important;
}
body.ah-pm .pmpro input[type="text"],
body.ah-pm .pmpro input[type="email"],
body.ah-pm .pmpro input[type="password"],
body.ah-pm .pmpro input[type="tel"],
body.ah-pm .pmpro input[type="number"],
body.ah-pm .pmpro input[type="url"],
body.ah-pm .pmpro select,
body.ah-pm .pmpro textarea {
	width: 100% !important;
	min-height: 48px !important;
	padding: 10px 14px !important;
	font-family: var(--ah-body) !important;
	font-size: 16px !important;
	color: var(--ah-ink) !important;
	background: #fff !important;
	border: 1.5px solid var(--ah-field) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	outline: none !important;
	transition: border-color .15s ease, box-shadow .15s ease !important;
}
body.ah-pm .pmpro input:focus,
body.ah-pm .pmpro select:focus,
body.ah-pm .pmpro textarea:focus {
	border-color: var(--ah-navy) !important;
	box-shadow: 0 0 0 3px rgba(201, 162, 58, .35) !important;
}
body.ah-pm .pmpro input[type="checkbox"],
body.ah-pm .pmpro input[type="radio"] {
	accent-color: var(--ah-navy) !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 8px 0 0 !important;
	vertical-align: -3px !important;
}
body.ah-pm .pmpro .pmpro_form_field,
body.ah-pm .pmpro p.login-username,
body.ah-pm .pmpro p.login-password,
body.ah-pm .pmpro p.login-remember { margin: 0 0 16px !important; }

/* Buttons. Also undoes the theme's 72px button padding. */
body.ah-pm .pmpro input[type="submit"],
body.ah-pm .pmpro button[type="submit"],
body.ah-pm .pmpro .pmpro_btn:not(.pmpro_btn-plain),
body.ah-pm .pmpro a.pmpro_btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto;
	min-height: 50px !important;
	padding: 12px 26px !important;
	font-family: var(--ah-body) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	color: #fff !important;
	background: var(--ah-navy) !important;
	border: 0 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: filter .15s ease !important;
}
body.ah-pm .pmpro input[type="submit"]:hover,
body.ah-pm .pmpro button[type="submit"]:hover,
body.ah-pm .pmpro .pmpro_btn:not(.pmpro_btn-plain):hover { filter: brightness(1.15) !important; }
body.ah-pm .pmpro .pmpro_btn-plain {
	padding: 0 !important;
	min-height: 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--ah-navy) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}
body.ah-pm .pmpro :focus-visible {
	outline: 3px solid var(--ah-gold) !important;
	outline-offset: 2px !important;
}

/* Messages */
body.ah-pm .pmpro .pmpro_message {
	border-radius: 10px !important;
	padding: 12px 16px !important;
	font-size: 15px !important;
	border-width: 1px !important;
	box-shadow: none !important;
}

/* Tables (invoices, orders) */
body.ah-pm .pmpro table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 14px !important;
}
body.ah-pm .pmpro table th,
body.ah-pm .pmpro table td {
	padding: 10px 12px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ah-line) !important;
	text-align: left !important;
}
body.ah-pm .pmpro table th { color: var(--ah-muted) !important; font-weight: 600 !important; }

/* ---------- Login ---------- */

/* Hide the separate "LOGIN" heading above the form; the card has its own */
body.ah-pm-login .entry-content > .elementor > .elementor-top-section .elementor-widget-heading { display: none !important; }

body.ah-pm-login .pmpro { max-width: 440px !important; padding: 24px 0 !important; }
body.ah-pm-login .pmpro_login_wrap .pmpro_card_content { padding: 28px 28px 22px !important; }
body.ah-pm-login .ah-login-head { margin: 0 0 22px !important; }
body.ah-pm-login .ah-login-title {
	font-family: var(--ah-display) !important;
	font-weight: 800 !important;
	font-size: 28px !important;
	line-height: 1.1 !important;
	color: var(--ah-navy) !important;
	margin: 0 0 6px !important;
}
body.ah-pm-login .ah-login-sub { font-size: 15px !important; color: var(--ah-muted) !important; margin: 0 !important; }
body.ah-pm-login .pmpro p.login-password { position: relative !important; }
body.ah-pm-login .pmpro .pmpro_form_field-password-toggle {
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
}
body.ah-pm-login .pmpro p.login-remember label { display: inline-flex !important; align-items: center !important; font-weight: 500 !important; }
body.ah-pm-login .pmpro p.login-submit { margin: 4px 0 0 !important; }
body.ah-pm-login .pmpro p.login-submit input[type="submit"] { width: 100% !important; }
body.ah-pm-login .pmpro .pmpro_actions_nav { text-align: center !important; font-size: 14px !important; }
/* The PMPro card already has "Join Now"; hide the duplicate line added by the old login snippet */
body.ah-pm-login .pmpro .ah-login-signup { display: none !important; }
body.ah-pm-login .pmpro .ah-login-signup-unused {
	text-align: center !important;
	font-size: 15px !important;
	color: var(--ah-muted) !important;
	padding: 14px 24px 18px !important;
	border-top: 1px solid var(--ah-line) !important;
}

/* ---------- Account ---------- */

body.ah-pm-account .pmpro .pmpro_heading-with-avatar {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding-bottom: 4px !important;
}
body.ah-pm-account .pmpro .pmpro_heading-with-avatar img {
	width: 48px !important;
	height: 48px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	border: 2px solid var(--ah-gold) !important;
}
body.ah-pm-account #pmpro_account-membership-none .pmpro_card_content p { margin: 0 !important; font-size: 15px !important; }

/* Quick-link tiles */
body.ah-pm-account #pmpro_account-links .pmpro_card { background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.ah-pm-account #pmpro_account-links .pmpro_card_content { padding: 0 !important; }
body.ah-pm-account #pmpro_account-links .pmpro_list {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 12px !important;
}
body.ah-pm-account #pmpro_account-links .pmpro_list li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.ah-pm-account #pmpro_account-links .pmpro_list li::before { content: none !important; }
body.ah-pm-account #pmpro_account-links .pmpro_list li a {
	display: flex !important;
	align-items: center !important;
	min-height: 64px !important;
	padding: 14px 16px !important;
	background: #fff !important;
	border: 1px solid var(--ah-line) !important;
	border-left: 4px solid var(--ah-gold) !important;
	border-radius: 12px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--ah-navy) !important;
	text-decoration: none !important;
}
body.ah-pm-account #pmpro_account-links .pmpro_list li a:hover { background: var(--ah-soft) !important; }
body.ah-pm-account #pmpro_account-links:not(:has(li)) { display: none !important; }

/* ---------- Checkout ---------- */

body.ah-pm-checkout .pmpro .pmpro_btn-submit-checkout,
body.ah-pm-checkout .pmpro #pmpro_btn-submit {
	width: 100% !important;
	min-height: 56px !important;
	font-size: 17px !important;
	background: var(--ah-gold-grad, #c9a23a) !important;
	color: var(--ah-navy) !important;
}
body.ah-pm-checkout .pmpro #pmpro_level_cost,
body.ah-pm-checkout .pmpro .pmpro_level_cost_text { font-size: 15px !important; color: var(--ah-muted) !important; }
body.ah-pm-checkout .pmpro #pmpro_level_cost strong { color: var(--ah-navy) !important; }

/* Duration picker added by the Plan Manager (checkout) */
body .ah-co-plan {
	--ah-navy-l: #f1f4fb;
	margin: 18px 0 !important;
	padding: 18px !important;
	background: #fff !important;
	border: 1px solid var(--ah-line, #e3e6ee) !important;
	border-radius: 16px !important;
	box-shadow: 0 10px 30px -22px rgba(15,31,69,.45) !important;
	font-family: var(--ah-body, Inter, sans-serif) !important;
}
body .ah-co-plan .ah-co-title {
	margin: 0 0 12px !important;
	font-family: var(--ah-display, 'League Spartan', sans-serif) !important;
	font-weight: 800 !important;
	font-size: 20px !important;
	color: var(--ah-navy, #0f1f45) !important;
}
body .ah-co-plan .ah-co-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)) !important;
	gap: 10px !important;
}
body .ah-co-plan a.ah-co-opt {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	padding: 14px !important;
	background: #fff !important;
	border: 1.5px solid var(--ah-field, #d5dae6) !important;
	border-radius: 12px !important;
	color: var(--ah-ink, #111827) !important;
	text-decoration: none !important;
	line-height: 1.25 !important;
	transition: border-color .15s ease, background-color .15s ease !important;
}
body .ah-co-plan a.ah-co-opt:hover { border-color: var(--ah-navy, #0f1f45) !important; text-decoration: none !important; }
body .ah-co-plan a.ah-co-opt.is-active {
	background: var(--ah-navy-l) !important;
	border-color: var(--ah-navy, #0f1f45) !important;
	box-shadow: inset 0 0 0 1px var(--ah-navy, #0f1f45) !important;
}
body .ah-co-plan .ah-co-top { display: flex !important; align-items: center !important; gap: 8px !important; }
body .ah-co-plan .ah-co-radio {
	flex: 0 0 18px !important;
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	border: 2px solid var(--ah-field, #d5dae6) !important;
	background: #fff !important;
	box-sizing: border-box !important;
}
body .ah-co-plan a.ah-co-opt.is-active .ah-co-radio {
	border-color: var(--ah-navy, #0f1f45) !important;
	background: var(--ah-navy, #0f1f45) !important;
	box-shadow: inset 0 0 0 3px #fff !important;
}
body .ah-co-plan .ah-co-label { font-size: 14px !important; font-weight: 600 !important; color: var(--ah-navy, #0f1f45) !important; }
body .ah-co-plan .ah-co-best {
	position: absolute !important;
	top: -9px !important;
	right: 10px !important;
	padding: 2px 8px !important;
	font-size: 10.5px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	color: var(--ah-navy, #0f1f45) !important;
	background: var(--ah-gold-grad, #c9a23a) !important;
	border-radius: 999px !important;
}
body .ah-co-plan .ah-co-price {
	padding-left: 26px !important;
	font-family: var(--ah-display, 'League Spartan', sans-serif) !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--ah-navy, #0f1f45) !important;
}
body .ah-co-plan .ah-co-price s {
	margin-left: 6px !important;
	font-family: var(--ah-body, Inter, sans-serif) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--ah-muted, #4b5563) !important;
}
body .ah-co-plan .ah-co-pm { padding-left: 26px !important; font-size: 12.5px !important; font-weight: 600 !important; color: var(--ah-green, #1a7a4a) !important; }
body .ah-co-plan .ah-co-credit {
	margin: 14px 0 0 !important;
	padding: 10px 14px !important;
	background: #e8f7ef !important;
	border: 1px solid #b7e4c9 !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	color: #14532d !important;
}
body .ah-co-plan .ah-co-summary {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 6px 16px !important;
	margin: 14px 0 0 !important;
	padding: 12px 16px !important;
	background: var(--ah-navy, #0f1f45) !important;
	color: #fff !important;
	border-radius: 12px !important;
	font-size: 14px !important;
}
body .ah-co-plan .ah-co-pay strong {
	margin-left: 4px !important;
	font-family: var(--ah-display, 'League Spartan', sans-serif) !important;
	font-size: 20px !important;
	color: var(--ah-gold-light, #e3c77a) !important;
}
body .ah-co-plan .ah-co-valid { color: rgba(255,255,255,.8) !important; font-size: 13px !important; }
body .ah-co-plan .ah-co-features { margin: 12px 0 0 !important; font-size: 14px !important; }
body .ah-co-plan .ah-co-features summary { cursor: pointer !important; font-weight: 600 !important; color: var(--ah-navy, #0f1f45) !important; }
body .ah-co-plan .ah-co-features ul { margin: 10px 0 0 !important; padding: 0 0 0 20px !important; columns: 2 240px !important; column-gap: 24px !important; }
body .ah-co-plan .ah-co-features li { margin: 0 0 6px !important; break-inside: avoid !important; color: var(--ah-ink, #111827) !important; }
body .ah-co-conflict { margin: 16px 0 !important; }
/* The "You pay" bar replaces PMPro's price sentence (which says e.g. "expires after 305 Days") */
body.ah-pm-checkout .pmpro:has(.ah-co-plan) #pmpro_level_cost { display: none !important; }
@media (prefers-reduced-motion: reduce) { body .ah-co-plan a.ah-co-opt { transition: none !important; } }

/* ---------- Tutor LMS course pricing box ---------- */

body.ah-tp .tutor-pmpro-single-course-pricing { font-family: var(--ah-body) !important; }
body.ah-tp .tutor-pmpro-single-course-pricing > h3 {
	font-family: var(--ah-display) !important;
	font-weight: 800 !important;
	font-size: 22px !important;
	color: var(--ah-navy) !important;
}
body.ah-tp .tutor-pmpro-single-course-pricing label.tutor-pmpro-level-highlight {
	display: block !important;
	background: #fff !important;
	border: 2px solid var(--ah-line) !important;
	border-radius: 14px !important;
	padding: 18px !important;
	margin: 0 0 12px !important;
}
body.ah-tp .tutor-pmpro-single-course-pricing input[type="radio"]:checked + label.tutor-pmpro-level-highlight { border-color: var(--ah-navy) !important; }
body.ah-tp .tutor-pmpro-level-header .tutor-fs-5 {
	font-family: var(--ah-display) !important;
	font-weight: 800 !important;
	font-size: 22px !important;
	color: var(--ah-navy) !important;
}
body.ah-tp .tutor-pmpro-level-header .tutor-fs-4 {
	font-family: var(--ah-display) !important;
	font-weight: 800 !important;
	font-size: 28px !important;
	color: var(--ah-ink) !important;
	text-align: right !important;
	line-height: 1.1 !important;
}
body.ah-tp .ah-tp-orig {
	display: block !important;
	font-family: var(--ah-body) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--ah-muted) !important;
	text-decoration: line-through !important;
}
body.ah-tp .ah-tp-badge {
	display: inline-block !important;
	margin: 0 0 0 8px !important;
	padding: 3px 10px !important;
	background: var(--ah-gold-grad, #c9a23a) !important;
	color: var(--ah-navy) !important;
	font-family: var(--ah-body) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	border-radius: 999px !important;
	vertical-align: middle !important;
}
body.ah-tp .ah-tp-body { margin: 0 0 18px !important; color: var(--ah-ink) !important; }
body.ah-tp .ah-tp-tagline { font-size: 14px !important; color: var(--ah-muted) !important; margin: 0 0 4px !important; }
body.ah-tp .ah-tp-valid { font-size: 13px !important; color: var(--ah-muted) !important; margin: 0 0 14px !important; }
body.ah-tp .ah-tp-orig[hidden] { display: none !important; }
body.ah-tp .ah-tp-choose { font-size: 13px !important; font-weight: 600 !important; color: var(--ah-muted) !important; margin: 12px 0 8px !important; }
body.ah-tp .ah-tp-pills { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; margin: 0 0 12px !important; }
body.ah-tp .ah-tp-pill {
	position: relative !important;
	appearance: none !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 2px !important;
	margin: 0 !important;
	padding: 9px 11px !important;
	min-height: 0 !important;
	text-align: left !important;
	font-family: var(--ah-body) !important;
	line-height: 1.2 !important;
	background: #fff !important;
	border: 1.5px solid var(--ah-line) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	cursor: pointer !important;
}
body.ah-tp .ah-tp-pill-label { font-size: 12.5px !important; font-weight: 600 !important; color: var(--ah-muted) !important; }
body.ah-tp .ah-tp-pill-price { font-family: var(--ah-display) !important; font-size: 17px !important; font-weight: 800 !important; color: var(--ah-navy) !important; }
body.ah-tp .ah-tp-pill:hover { border-color: var(--ah-navy) !important; }
body.ah-tp .ah-tp-pill[aria-pressed="true"] { background: #f1f4fb !important; border-color: var(--ah-navy) !important; box-shadow: inset 0 0 0 1px var(--ah-navy) !important; }
body.ah-tp .ah-tp-pill[aria-pressed="true"] .ah-tp-pill-label { color: var(--ah-navy) !important; }
body.ah-tp .ah-tp-pill:focus-visible { outline: 3px solid var(--ah-gold) !important; outline-offset: 2px !important; }
body.ah-tp .ah-tp-best {
	position: absolute !important; top: -9px !important; right: 8px !important;
	padding: 2px 8px !important; font-size: 10.5px !important; font-weight: 700 !important; line-height: 1.4 !important;
	color: var(--ah-navy) !important; background: var(--ah-gold-grad, #c9a23a) !important; border-radius: 999px !important;
}
body.ah-tp .ah-tp-pm { font-size: 14px !important; font-weight: 600 !important; color: var(--ah-green) !important; margin: 4px 0 2px !important; }
body.ah-tp .ah-tp-pm[hidden], body.ah-tp .ah-tp-features[hidden] { display: none !important; }
body.ah-tp .ah-tp-features {
	list-style: none !important;
	margin: 16px 0 0 !important;
	padding: 14px 0 0 !important;
	border-top: 1px solid var(--ah-line) !important;
}
body.ah-tp .ah-tp-features li {
	position: relative !important;
	padding: 0 0 0 24px !important;
	margin: 0 0 9px !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
}
body.ah-tp .ah-tp-features li::before {
	content: "" !important;
	position: absolute !important;
	left: 2px !important;
	top: 5px !important;
	width: 10px !important;
	height: 6px !important;
	border-left: 2.2px solid var(--ah-green) !important;
	border-bottom: 2.2px solid var(--ah-green) !important;
	transform: rotate(-45deg) !important;
}
body.ah-tp .tutor-pmpro-single-course-pricing .tutor-btn-primary {
	text-decoration: none !important;
	background: var(--ah-gold-grad, #c9a23a) !important;
	border-color: var(--ah-gold) !important;
	color: var(--ah-navy) !important;
	font-weight: 700 !important;
	border-radius: 10px !important;
	padding: 14px 20px !important;
	box-shadow: none !important;
}
body.ah-tp .tutor-pmpro-single-course-pricing .tutor-btn-primary:hover { filter: brightness(1.05) !important; }

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
	body.ah-pm .pmpro .pmpro_section_title,
	body.ah-pm .pmpro h2 { font-size: 22px !important; }
	body.ah-pm .pmpro .pmpro_card_content { padding: 16px 18px 18px !important; }
	body.ah-pm .pmpro .pmpro_card_title,
	body.ah-pm .pmpro .pmpro_form_legend { padding: 16px 18px 0 !important; }
	body.ah-pm .pmpro .pmpro_card_actions { padding: 12px 18px !important; }
	body.ah-pm-login .pmpro_login_wrap .pmpro_card_content { padding: 22px 18px 18px !important; }
	body.ah-pm-account #pmpro_account-links .pmpro_list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (prefers-reduced-motion: reduce) {
	body.ah-pm .pmpro * { transition: none !important; }
}

/* ---------- Phones: checkout duration list as compact rows ---------- */
@media (max-width: 600px) {
	body .ah-co-plan { padding: 14px !important; margin: 14px 0 !important; }
	body .ah-co-plan .ah-co-title { font-size: 18px !important; }
	body .ah-co-plan .ah-co-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
	body .ah-co-plan a.ah-co-opt {
		display: grid !important;
		grid-template-columns: 1fr auto !important;
		align-items: center !important;
		column-gap: 12px !important;
		row-gap: 2px !important;
		padding: 12px 14px !important;
		min-height: 56px !important;
	}
	body .ah-co-plan .ah-co-top { grid-column: 1 !important; grid-row: 1 !important; }
	body .ah-co-plan .ah-co-price {
		grid-column: 2 !important;
		grid-row: 1 / span 2 !important;
		padding-left: 0 !important;
		text-align: right !important;
		font-size: 19px !important;
		line-height: 1.1 !important;
	}
	body .ah-co-plan .ah-co-price s { display: block !important; margin: 2px 0 0 !important; font-size: 12px !important; }
	body .ah-co-plan .ah-co-pm { grid-column: 1 !important; grid-row: 2 !important; font-size: 12px !important; }
	body .ah-co-plan .ah-co-summary { flex-direction: column !important; align-items: flex-start !important; }
	body .ah-co-plan .ah-co-features ul { columns: 1 !important; }
	body .ah-co-plan .ah-co-credit { font-size: 13px !important; }
}

/* Long feature lists on phones: first 5, then a button (course sidebar) */
body.ah-tp .ah-more-btn { display: none !important; }
@media (max-width: 600px) {
	body.ah-tp .ah-tp-features.is-long:not(.is-open) li:nth-child(n+6) { display: none !important; }
	body.ah-tp .ah-more-btn {
		display: block !important;
		width: 100% !important;
		margin: 4px 0 0 !important;
		padding: 10px !important;
		min-height: 44px !important;
		font-family: var(--ah-body) !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		color: var(--ah-navy) !important;
		background: var(--ah-soft) !important;
		border: 1px solid var(--ah-line) !important;
		border-radius: 10px !important;
		box-shadow: none !important;
		cursor: pointer !important;
	}
	body.ah-tp .ah-tp-pill { min-height: 48px !important; }
}

/* ---------- Checkout: coupon box, price breakdown, layout, pay button, phone bar ---------- */
.ah-co-hide { display: none !important; }
body.ah-pm .pmpro legend.pmpro_form_legend { padding: 0 !important; margin: 0 !important; border: 0 !important; width: 100% !important; }
body.ah-pm .pmpro .pmpro_card_content .pmpro_form_heading { padding: 0 0 14px !important; }

body .ah-co-plan .ah-co-coupon {
	margin: 14px 0 0 !important;
	padding: 12px 14px !important;
	background: var(--ah-soft, #f5f7fb) !important;
	border: 1px dashed var(--ah-field, #d5dae6) !important;
	border-radius: 12px !important;
}
body .ah-co-plan .ah-co-coupon label {
	display: block !important;
	margin: 0 0 8px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--ah-navy, #0f1f45) !important;
}
body .ah-co-plan .ah-co-coupon-row { display: flex !important; gap: 8px !important; }
body .ah-co-plan .ah-co-coupon input[type="text"] {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 8px 12px !important;
	font-size: 16px !important;
	font-family: ui-monospace, Menlo, Consolas, monospace !important;
	text-transform: uppercase !important;
	letter-spacing: .04em !important;
	background: #fff !important;
	border: 1.5px solid var(--ah-field, #d5dae6) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}
body .ah-co-plan .ah-co-coupon input[type="text"]:focus { border-color: var(--ah-navy, #0f1f45) !important; outline: 3px solid rgba(201,162,58,.35) !important; }
body .ah-co-plan button.ah-co-apply {
	flex: 0 0 auto !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 8px 18px !important;
	font-family: var(--ah-body, Inter, sans-serif) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #fff !important;
	background: var(--ah-navy, #0f1f45) !important;
	border: 0 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	cursor: pointer !important;
}
body .ah-co-plan button.ah-co-apply:disabled { opacity: .7 !important; }
body .ah-co-plan .ah-co-coupon.is-applied {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 10px !important;
	background: #e8f7ef !important;
	border: 1px solid #b7e4c9 !important;
	color: #14532d !important;
	font-size: 14px !important;
}
body .ah-co-plan .ah-co-coupon.is-applied a { color: #14532d !important; font-weight: 600 !important; text-decoration: underline !important; }

body .ah-co-plan .ah-co-break {
	margin: 14px 0 0 !important;
	padding: 14px 16px !important;
	background: var(--ah-navy, #0f1f45) !important;
	border-radius: 12px !important;
	color: #fff !important;
	font-size: 14px !important;
}
body .ah-co-plan .ah-co-line { display: flex !important; justify-content: space-between !important; align-items: baseline !important; gap: 12px !important; padding: 4px 0 !important; }
body .ah-co-plan .ah-co-line dt { margin: 0 !important; font-weight: 500 !important; color: rgba(255,255,255,.85) !important; }
body .ah-co-plan .ah-co-line dd { margin: 0 !important; font-weight: 700 !important; white-space: nowrap !important; color: #fff !important; }
body .ah-co-plan .ah-co-line dd s { font-weight: 400 !important; color: rgba(255,255,255,.55) !important; margin-right: 4px !important; }
body .ah-co-plan .ah-co-line.is-minus dd { color: #7fe0a9 !important; }
body .ah-co-plan .ah-co-line.is-total { margin-top: 6px !important; padding-top: 10px !important; border-top: 1px solid rgba(255,255,255,.18) !important; }
body .ah-co-plan .ah-co-line.is-total dt { color: #fff !important; font-weight: 700 !important; }
body .ah-co-plan .ah-co-line.is-total dd {
	font-family: var(--ah-display, 'League Spartan', sans-serif) !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	color: var(--ah-gold-light, #e3c77a) !important;
}
body .ah-co-plan > .ah-co-valid { margin: 8px 2px 0 !important; font-size: 13px !important; color: var(--ah-muted, #4b5563) !important; }

/* Pay button trust line */
.ah-co-trust {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 12px 0 0 !important;
	font-family: var(--ah-body, Inter, sans-serif) !important;
	font-size: 13px !important;
	color: var(--ah-muted, #4b5563) !important;
	text-align: center !important;
}
.ah-co-pay-methods { display: flex !important; gap: 6px !important; flex-wrap: wrap !important; justify-content: center !important; }
.ah-co-pay-pill {
	padding: 3px 10px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--ah-navy, #0f1f45) !important;
	background: #fff !important;
	border: 1px solid var(--ah-line, #e3e6ee) !important;
	border-radius: 999px !important;
}

/* Two columns on computers */
@media (min-width: 960px) {
	body.ah-co-wide .pmpro { max-width: 1140px !important; }
	.ah-co-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 420px !important;
		column-gap: 28px !important;
		align-items: start !important;
	}
	.ah-co-layout > * { grid-column: 1 !important; min-width: 0 !important; }
	.ah-co-layout > .ah-co-side {
		grid-column: 2 !important;
		grid-row: 1 / span 60 !important;
		position: sticky !important;
		top: 96px !important;
		max-height: calc(100vh - 116px) !important;
		overflow-y: auto !important;
	}
	/* The summary card itself: no extra frame, the AIR box is the card */
	body .pmpro .ah-co-side .pmpro_card,
	body.ah-pm .pmpro .ah-co-side .pmpro_card { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; overflow: visible !important; }
	body .pmpro .ah-co-side .pmpro_card_content,
	body.ah-pm .pmpro .ah-co-side .pmpro_card_content { padding: 0 !important; }
	.ah-co-side .ah-co-plan { margin: 0 !important; }
	/* Compact rows, same as phones */
	.ah-co-side .ah-co-plan { padding: 14px !important; margin: 14px 0 !important; }
	.ah-co-side .ah-co-plan .ah-co-title { font-size: 18px !important; }
	.ah-co-side .ah-co-plan .ah-co-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
	.ah-co-side .ah-co-plan a.ah-co-opt {
		display: grid !important;
		grid-template-columns: 1fr auto !important;
		align-items: center !important;
		column-gap: 12px !important;
		row-gap: 2px !important;
		padding: 12px 14px !important;
		min-height: 56px !important;
	}
	.ah-co-side .ah-co-plan .ah-co-top { grid-column: 1 !important; grid-row: 1 !important; }
	.ah-co-side .ah-co-plan .ah-co-price {
		grid-column: 2 !important;
		grid-row: 1 / span 2 !important;
		padding-left: 0 !important;
		text-align: right !important;
		font-size: 19px !important;
		line-height: 1.1 !important;
	}
	.ah-co-side .ah-co-plan .ah-co-price s { display: block !important; margin: 2px 0 0 !important; font-size: 12px !important; }
	.ah-co-side .ah-co-plan .ah-co-pm { grid-column: 1 !important; grid-row: 2 !important; font-size: 12px !important; }
}

/* Phone bottom bar */
.ah-co-bar { display: none !important; }
@media (max-width: 782px) {
	.ah-co-bar {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		z-index: 99990 !important;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
		background: #fff !important;
		border-top: 1px solid var(--ah-line, #e3e6ee) !important;
		box-shadow: 0 -8px 24px -12px rgba(15,31,69,.35) !important;
		font-family: var(--ah-body, Inter, sans-serif) !important;
		transition: transform .2s ease !important;
	}
	.ah-co-bar.is-hidden { transform: translateY(120%) !important; }
	.ah-co-bar-info { display: flex !important; flex-direction: column !important; min-width: 0 !important; }
	.ah-co-bar-total { font-family: var(--ah-display, 'League Spartan', sans-serif) !important; font-size: 22px !important; font-weight: 800 !important; color: var(--ah-navy, #0f1f45) !important; line-height: 1.1 !important; }
	.ah-co-bar-plan { font-size: 12px !important; color: var(--ah-muted, #4b5563) !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
	button.ah-co-bar-btn {
		flex: 0 0 auto !important;
		min-height: 48px !important;
		margin: 0 !important;
		padding: 10px 20px !important;
		font-family: var(--ah-body, Inter, sans-serif) !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		color: var(--ah-navy, #0f1f45) !important;
		background: var(--ah-gold-grad, #c9a23a) !important;
		border: 0 !important;
		border-radius: 12px !important;
		box-shadow: none !important;
		cursor: pointer !important;
	}
	body.ah-co-has-bar { padding-bottom: 84px !important; }
	body.ah-co-has-bar .wa__btn_popup { bottom: 96px !important; }
}
@media (prefers-reduced-motion: reduce) { .ah-co-bar { transition: none !important; } }

/* ---------- Thank-you page welcome panel ---------- */
.ah-ty {
	margin: 0 0 24px !important;
	padding: 28px 24px !important;
	text-align: center !important;
	background: linear-gradient(160deg, var(--ah-navy, #0f1f45) 0%, #1b3068 100%) !important;
	border-radius: 18px !important;
	color: #fff !important;
	font-family: var(--ah-body, Inter, sans-serif) !important;
}
.ah-ty-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 56px !important;
	height: 56px !important;
	margin: 0 0 12px !important;
	border-radius: 50% !important;
	background: var(--ah-gold-grad, #c9a23a) !important;
	color: var(--ah-navy, #0f1f45) !important;
}
body .ah-ty .ah-ty-title,
body.ah-pm .pmpro .ah-ty .ah-ty-title {
	margin: 0 0 8px !important;
	font-family: var(--ah-display, 'League Spartan', sans-serif) !important;
	font-size: 26px !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	color: #fff !important;
}
.ah-ty-plan { margin: 0 0 6px !important; font-size: 16px !important; color: rgba(255,255,255,.9) !important; }
.ah-ty-plan strong { color: var(--ah-gold-light, #e3c77a) !important; }
.ah-ty-plan span { font-size: 14px !important; color: rgba(255,255,255,.75) !important; }
.ah-ty-note { font-size: 14px !important; color: rgba(255,255,255,.85) !important; }
.ah-ty-start { margin: 18px 0 10px !important; font-size: 13px !important; font-weight: 600 !important; color: rgba(255,255,255,.75) !important; }
.ah-ty-links {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
	gap: 10px !important;
	max-width: 640px !important;
	margin: 0 auto !important;
}
body .ah-ty a.ah-ty-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 52px !important;
	padding: 10px 12px !important;
	background: #fff !important;
	border-radius: 12px !important;
	color: var(--ah-navy, #0f1f45) !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-decoration: none !important;
}
body .ah-ty a.ah-ty-link:hover { background: var(--ah-gold-grad, #c9a23a) !important; text-decoration: none !important; }
.ah-ty-help { margin: 16px 0 0 !important; font-size: 14px !important; color: rgba(255,255,255,.8) !important; }
body .ah-ty .ah-ty-help a { color: var(--ah-gold-light, #e3c77a) !important; font-weight: 700 !important; text-decoration: underline !important; }
@media (max-width: 600px) {
	.ah-ty { padding: 22px 16px !important; border-radius: 14px !important; }
	body .ah-ty .ah-ty-title, body.ah-pm .pmpro .ah-ty .ah-ty-title { font-size: 22px !important; }
	.ah-ty-links { grid-template-columns: 1fr 1fr !important; }
}

/* Below the two-column size, the PMPro card already frames the summary: drop the inner frame */
@media (max-width: 959px) {
	body .pmpro .pmpro_card_content > .ah-co-plan { border: 0 !important; box-shadow: none !important; padding: 0 !important; background: transparent !important; margin: 4px 0 0 !important; }
}

/* ---------- Terms of Service box (PMPro setting) ---------- */
body.ah-pm .pmpro #pmpro_license,
body.ah-pm .pmpro .pmpro_tos_content {
	max-height: 180px !important;
	overflow-y: auto !important;
	padding: 12px 14px !important;
	margin: 0 0 14px !important;
	background: var(--ah-soft) !important;
	border: 1px solid var(--ah-line) !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: var(--ah-muted) !important;
}
body.ah-pm .pmpro label[for="tos"],
body.ah-pm .pmpro .pmpro_form_label-inline {
	display: block !important;
	position: relative !important;
	padding: 1px 0 0 34px !important;
	min-height: 24px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	cursor: pointer !important;
}
body.ah-pm .pmpro label[for="tos"] input[type="checkbox"],
body.ah-pm .pmpro .pmpro_form_label-inline input[type="checkbox"] {
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
}
body.ah-pm .pmpro label[for="tos"] a { text-decoration: underline !important; }

/* ---------- File upload fields (passport photo) ---------- */
body.ah-pm .pmpro input[type="file"] {
	display: block !important;
	width: 100% !important;
	padding: 12px !important;
	font-size: 15px !important;
	background: var(--ah-soft) !important;
	border: 1.5px dashed var(--ah-field) !important;
	border-radius: 10px !important;
	cursor: pointer !important;
}
body.ah-pm .pmpro input[type="file"]::file-selector-button {
	margin-right: 12px !important;
	padding: 8px 14px !important;
	font-weight: 700 !important;
	color: #fff !important;
	background: var(--ah-navy) !important;
	border: 0 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
}
body.ah-pm .pmpro .pmpro_form_field-file img,
body.ah-pm .pmpro .pmpro_file_preview img { max-width: 120px !important; height: auto !important; border-radius: 8px !important; margin: 8px 0 !important; }

/* ---------- Photo prompts ---------- */
.ah-ty-photo {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px 16px !important;
	max-width: 640px !important;
	margin: 18px auto 0 !important;
	padding: 12px 16px !important;
	background: rgba(201,162,58,.14) !important;
	border: 1px solid rgba(201,162,58,.5) !important;
	border-radius: 12px !important;
}
.ah-ty-photo p { margin: 0 !important; font-size: 15px !important; color: #fff !important; }
body .ah-ty a.ah-ty-photo-btn,
body .ah-photo-banner a.ah-photo-btn {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 44px !important;
	padding: 8px 18px !important;
	font-weight: 700 !important;
	color: var(--ah-navy, #0f1f45) !important;
	background: var(--ah-gold-grad, #c9a23a) !important;
	border-radius: 10px !important;
	text-decoration: none !important;
}
.ah-photo-banner {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px 16px !important;
	margin: 0 0 20px !important;
	padding: 14px 16px !important;
	background: #fbf6ea !important;
	border: 1px solid #e6d3a0 !important;
	border-left: 4px solid var(--ah-gold, #c9a23a) !important;
	border-radius: 12px !important;
	font-family: var(--ah-body, Inter, sans-serif) !important;
}
.ah-photo-banner p { margin: 0 !important; font-size: 15px !important; color: var(--ah-ink, #111827) !important; }
@media (max-width: 600px) {
	.ah-ty-photo, .ah-photo-banner { flex-direction: column !important; align-items: stretch !important; text-align: center !important; }
	body .ah-ty a.ah-ty-photo-btn, body .ah-photo-banner a.ah-photo-btn { justify-content: center !important; }
}

/* ---------- Student dashboard (account page) ---------- */
.ah-dash { margin: 0 0 28px !important; font-family: var(--ah-body, Inter, sans-serif) !important; }
.ah-dash p { margin: 0 !important; }
.ah-dash .ah-dash-hi {
	margin: 0 0 14px !important;
	font-family: var(--ah-display, 'League Spartan', sans-serif) !important;
	font-size: 28px !important;
	font-weight: 800 !important;
	color: var(--ah-navy, #0f1f45) !important;
}
.ah-dash-plan {
	margin: 0 0 16px !important;
	padding: 20px 22px !important;
	background: linear-gradient(160deg, var(--ah-navy, #0f1f45) 0%, #1b3068 100%) !important;
	border-radius: 18px !important;
	color: #fff !important;
}
.ah-dash-plan.is-none { background: #fff !important; border: 1px solid var(--ah-line, #e3e6ee) !important; color: var(--ah-ink, #111827) !important; }
.ah-dash-plan-top { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: 16px !important; }
.ah-dash .ah-dash-label { font-size: 13px !important; color: rgba(255,255,255,.7) !important; }
.ah-dash .ah-dash-plan-name {
	margin: 2px 0 4px !important;
	font-family: var(--ah-display, 'League Spartan', sans-serif) !important;
	font-size: 30px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	color: var(--ah-gold-light, #e3c77a) !important;
}
.ah-dash-plan.is-none .ah-dash-plan-name { color: var(--ah-navy, #0f1f45) !important; font-size: 22px !important; }
.ah-dash .ah-dash-plan-name span { display: block !important; margin-top: 4px !important; font-family: var(--ah-body, Inter, sans-serif) !important; font-size: 15px !important; font-weight: 600 !important; color: #fff !important; }
.ah-dash .ah-dash-sub { font-size: 14px !important; color: rgba(255,255,255,.8) !important; }
.ah-dash-plan.is-none .ah-dash-sub { color: var(--ah-muted, #4b5563) !important; margin-bottom: 14px !important; }
.ah-dash-days { text-align: right !important; flex: 0 0 auto !important; }
.ah-dash-days-n { display: block !important; font-family: var(--ah-display, 'League Spartan', sans-serif) !important; font-size: 40px !important; font-weight: 800 !important; line-height: 1 !important; color: #fff !important; }
.ah-dash-days-l { font-size: 13px !important; color: rgba(255,255,255,.75) !important; }
.ah-dash-plan.is-soon .ah-dash-days-n { color: var(--ah-gold-light, #e3c77a) !important; }
.ah-dash-bar { height: 8px !important; margin: 16px 0 8px !important; background: rgba(255,255,255,.18) !important; border-radius: 999px !important; overflow: hidden !important; }
.ah-dash-bar span { display: block !important; height: 100% !important; background: var(--ah-gold-grad, #c9a23a) !important; border-radius: 999px !important; }
.ah-dash-actions { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; margin-top: 16px !important; }
body .ah-dash a.ah-dash-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 46px !important;
	padding: 10px 18px !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	color: #fff !important;
	background: rgba(255,255,255,.1) !important;
	border: 1px solid rgba(255,255,255,.3) !important;
	border-radius: 12px !important;
	text-decoration: none !important;
}
body .ah-dash a.ah-dash-btn.is-gold { color: var(--ah-navy, #0f1f45) !important; background: var(--ah-gold-grad, #c9a23a) !important; border-color: var(--ah-gold, #c9a23a) !important; }
.ah-dash .ah-dash-h { margin: 22px 0 10px !important; font-family: var(--ah-display, 'League Spartan', sans-serif) !important; font-size: 20px !important; font-weight: 800 !important; color: var(--ah-navy, #0f1f45) !important; }
.ah-dash-courses { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; gap: 12px !important; }
body .ah-dash a.ah-dash-course {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	padding: 16px !important;
	background: #fff !important;
	border: 1px solid var(--ah-line, #e3e6ee) !important;
	border-radius: 14px !important;
	text-decoration: none !important;
	color: var(--ah-ink, #111827) !important;
	transition: border-color .15s ease !important;
}
body .ah-dash a.ah-dash-course:hover { border-color: var(--ah-navy, #0f1f45) !important; text-decoration: none !important; }
.ah-dash-course-t { font-weight: 700 !important; font-size: 16px !important; color: var(--ah-navy, #0f1f45) !important; line-height: 1.3 !important; }
.ah-dash-cbar { height: 6px !important; background: var(--ah-soft, #f5f7fb) !important; border-radius: 999px !important; overflow: hidden !important; }
.ah-dash-cbar span { display: block !important; height: 100% !important; background: var(--ah-green, #1a7a4a) !important; }
.ah-dash-course-f { display: flex !important; justify-content: space-between !important; font-size: 13px !important; color: var(--ah-muted, #4b5563) !important; }
.ah-dash-go { font-weight: 700 !important; color: var(--ah-navy, #0f1f45) !important; }
@media (max-width: 600px) {
	.ah-dash .ah-dash-hi { font-size: 24px !important; }
	.ah-dash-plan { padding: 18px !important; border-radius: 14px !important; }
	.ah-dash .ah-dash-plan-name { font-size: 26px !important; }
	.ah-dash-days-n { font-size: 34px !important; }
	.ah-dash-actions { flex-direction: column !important; }
	body .ah-dash a.ah-dash-btn { width: 100% !important; box-sizing: border-box !important; }
	.ah-dash-courses { grid-template-columns: 1fr !important; }
}
@media (prefers-reduced-motion: reduce) { body .ah-dash a.ah-dash-course { transition: none !important; } }

/* ---------- Verify this device ---------- */
.ah-verify { display: flex !important; justify-content: center !important; padding: 40px 16px 60px !important; background: #edf2f7 !important; font-family: var(--ah-body, Inter, sans-serif) !important; }
.ah-verify-card { width: 100% !important; max-width: 460px !important; padding: 28px 24px !important; background: #fff !important; border: 1px solid #e3e6ee !important; border-radius: 18px !important; box-shadow: 0 16px 40px -24px rgba(15,31,69,.45) !important; color: #111827 !important; }
body .ah-verify-card h1 { margin: 0 0 8px !important; font-family: var(--ah-display, 'League Spartan', sans-serif) !important; font-size: 26px !important; font-weight: 800 !important; color: var(--ah-navy, #0f1f45) !important; }
.ah-verify-lead { margin: 0 0 16px !important; font-size: 15px !important; color: #4b5563 !important; line-height: 1.5 !important; }
.ah-verify-msg { margin: 0 0 14px !important; padding: 10px 12px !important; border-radius: 10px !important; font-size: 14px !important; }
.ah-verify-msg.is-error { background: #fdecea !important; color: #991b1b !important; }
.ah-verify-msg.is-ok { background: #e8f7ef !important; color: #14532d !important; }
.ah-verify-form label[for="ah-code"] { display: block !important; margin: 0 0 6px !important; font-weight: 600 !important; font-size: 14px !important; color: var(--ah-navy, #0f1f45) !important; }
body .ah-verify-form input#ah-code { display: block !important; width: 100% !important; box-sizing: border-box !important; min-height: 56px !important; padding: 10px 14px !important; font-size: 28px !important; font-weight: 700 !important; letter-spacing: 8px !important; text-align: center !important; border: 1.5px solid #d5dae6 !important; border-radius: 12px !important; }
body .ah-verify-form input#ah-code:focus { border-color: var(--ah-navy, #0f1f45) !important; outline: 3px solid rgba(201,162,58,.35) !important; }
.ah-verify-devices { margin: 18px 0 0 !important; padding: 0 !important; border: 0 !important; }
.ah-verify-devices legend { margin: 0 0 8px !important; font-weight: 600 !important; font-size: 14px !important; color: var(--ah-navy, #0f1f45) !important; }
.ah-verify-dev { display: flex !important; gap: 10px !important; align-items: flex-start !important; margin: 0 0 8px !important; padding: 12px !important; border: 1.5px solid #e3e6ee !important; border-radius: 12px !important; cursor: pointer !important; font-size: 15px !important; }
.ah-verify-dev:has(input:checked) { border-color: var(--ah-navy, #0f1f45) !important; background: #f1f4fb !important; }
.ah-verify-dev input { width: 20px !important; height: 20px !important; margin: 2px 0 0 !important; flex: 0 0 20px !important; }
.ah-verify-dev small { color: #4b5563 !important; }
body .ah-verify-card button.ah-verify-btn, body .ah-verify-card a.ah-verify-btn, body.ah-pm .ah-verify-card button.ah-verify-btn[type="submit"] { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-height: 50px !important; margin: 18px 0 0 !important; padding: 12px !important; font-size: 16px !important; font-weight: 700 !important; color: var(--ah-navy, #0f1f45) !important; background: var(--ah-gold-grad, #c9a23a) !important; border: 0 !important; border-radius: 12px !important; text-decoration: none !important; cursor: pointer !important; box-shadow: none !important; }
.ah-verify-resend { margin: 10px 0 0 !important; text-align: center !important; }
body .ah-verify-card button.ah-verify-link { padding: 8px !important; min-height: 44px !important; background: none !important; border: 0 !important; color: var(--ah-navy, #0f1f45) !important; font-weight: 600 !important; text-decoration: underline !important; cursor: pointer !important; font-size: 14px !important; box-shadow: none !important; }
.ah-verify-foot { margin: 16px 0 0 !important; font-size: 13px !important; color: #4b5563 !important; text-align: center !important; }

/* ---------- My devices (account dashboard) ---------- */
.ah-mydev { margin: 8px 0 0 !important; }
.ah-dash .ah-mydev-note { margin: 0 0 10px !important; font-size: 14px !important; color: var(--ah-muted, #4b5563) !important; }
.ah-mydev-row { display: flex !important; flex-wrap: wrap !important; justify-content: space-between !important; align-items: center !important; gap: 10px 16px !important; margin: 0 0 8px !important; padding: 12px 14px !important; background: #fff !important; border: 1px solid var(--ah-line, #e3e6ee) !important; border-radius: 12px !important; }
.ah-mydev-info { font-size: 15px !important; color: var(--ah-navy, #0f1f45) !important; }
.ah-mydev-info small { color: var(--ah-muted, #4b5563) !important; font-size: 13px !important; }
.ah-mydev-this { display: inline-block !important; margin-left: 6px !important; padding: 1px 8px !important; font-size: 11px !important; font-weight: 700 !important; color: #14532d !important; background: #e8f7ef !important; border-radius: 999px !important; }
.ah-mydev-actions { display: flex !important; flex-wrap: wrap !important; gap: 4px 14px !important; align-items: center !important; }
.ah-mydev-actions > form { margin: 0 !important; }
.ah-mydev-rename summary { cursor: pointer !important; list-style: none !important; min-height: 40px !important; display: inline-flex !important; align-items: center !important; font-size: 14px !important; font-weight: 600 !important; color: var(--ah-navy, #0f1f45) !important; text-decoration: underline !important; }
.ah-mydev-rename summary::-webkit-details-marker { display: none !important; }
.ah-mydev-rename form { display: flex !important; gap: 6px !important; margin: 6px 0 0 !important; }
body .pmpro .ah-mydev-actions input[type="text"], body .ah-mydev-actions input[type="text"] { min-height: 42px !important; width: 180px !important; padding: 6px 10px !important; font-size: 15px !important; border: 1.5px solid var(--ah-field, #d5dae6) !important; border-radius: 8px !important; }
body .pmpro .ah-mydev-actions button, body .ah-mydev-actions button,
body.ah-pm .pmpro .ah-mydev-actions button[type="submit"] {
	min-height: 40px !important;
	padding: 6px 4px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #b91c1c !important;
	background: none !important;
	border: 0 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	text-decoration: underline !important;
	cursor: pointer !important;
}
body .pmpro .ah-mydev-actions button.ah-mydev-save, body .ah-mydev-actions button.ah-mydev-save,
body.ah-pm .pmpro .ah-mydev-actions button.ah-mydev-save[type="submit"] {
	padding: 6px 14px !important;
	color: #fff !important;
	background: var(--ah-navy, #0f1f45) !important;
	text-decoration: none !important;
}
@media (max-width: 600px) {
	.ah-mydev-rename[open] { width: 100% !important; }
	.ah-mydev-rename form { width: 100% !important; }
	body .pmpro .ah-mydev-actions input[type="text"], body .ah-mydev-actions input[type="text"] { flex: 1 1 auto !important; width: auto !important; }
	.ah-verify { padding: 20px 12px 40px !important; }
}

/* ---------- Exam countdown and notices (dashboard) ---------- */
.ah-dash-top { display: flex !important; flex-wrap: wrap !important; justify-content: space-between !important; align-items: center !important; gap: 10px 16px !important; margin: 0 0 14px !important; }
.ah-dash-top .ah-dash-hi { margin: 0 !important; }
.ah-countdown { display: inline-flex !important; align-items: center !important; gap: 10px !important; padding: 8px 14px !important; background: #fff !important; border: 1px solid var(--ah-line, #e3e6ee) !important; border-left: 4px solid var(--ah-gold, #c9a23a) !important; border-radius: 12px !important; }
.ah-countdown-n { font-family: var(--ah-display, 'League Spartan', sans-serif) !important; font-size: 28px !important; font-weight: 800 !important; color: var(--ah-navy, #0f1f45) !important; line-height: 1 !important; }
.ah-countdown-l { display: flex !important; flex-direction: column !important; font-size: 14px !important; font-weight: 600 !important; color: var(--ah-navy, #0f1f45) !important; line-height: 1.2 !important; }
.ah-countdown-l small { font-size: 12px !important; font-weight: 400 !important; color: var(--ah-muted, #4b5563) !important; }
.ah-notices { margin: 0 0 16px !important; display: flex !important; flex-direction: column !important; gap: 10px !important; }
.ah-notice { display: flex !important; flex-wrap: wrap !important; justify-content: space-between !important; align-items: center !important; gap: 10px 16px !important; padding: 14px 16px !important; background: #fff !important; border: 1px solid var(--ah-line, #e3e6ee) !important; border-left: 4px solid var(--ah-navy, #0f1f45) !important; border-radius: 12px !important; }
.ah-notice.is-pinned { border-left-color: var(--ah-gold, #c9a23a) !important; background: #fdfaf2 !important; }
.ah-notice-text { flex: 1 1 260px !important; }
.ah-dash .ah-notice-title { margin: 0 !important; font-weight: 700 !important; font-size: 16px !important; color: var(--ah-navy, #0f1f45) !important; }
.ah-dash .ah-notice-body { margin: 4px 0 0 !important; font-size: 14px !important; color: var(--ah-ink, #111827) !important; }
.ah-notice-new { display: inline-block !important; padding: 1px 8px !important; font-size: 11px !important; font-weight: 700 !important; color: var(--ah-navy, #0f1f45) !important; background: var(--ah-gold-grad, #c9a23a) !important; border-radius: 999px !important; vertical-align: middle !important; }
.ah-notice-actions { display: flex !important; align-items: center !important; gap: 10px !important; }
.ah-notice-actions form { margin: 0 !important; }
body .ah-dash a.ah-notice-btn { display: inline-flex !important; align-items: center !important; min-height: 42px !important; padding: 8px 16px !important; font-weight: 700 !important; font-size: 14px !important; color: #fff !important; background: var(--ah-navy, #0f1f45) !important; border-radius: 10px !important; text-decoration: none !important; }
body .ah-dash button.ah-notice-hide, body.ah-pm .pmpro .ah-dash button.ah-notice-hide[type="submit"] { min-height: 42px !important; padding: 6px 8px !important; font-size: 13px !important; font-weight: 600 !important; color: var(--ah-muted, #4b5563) !important; background: none !important; border: 0 !important; box-shadow: none !important; text-decoration: underline !important; cursor: pointer !important; }
@media (max-width: 600px) {
	.ah-countdown { width: 100% !important; box-sizing: border-box !important; }
	.ah-notice-actions { width: 100% !important; justify-content: space-between !important; }
}

/* ---------- Add-on tick box (checkout summary) ---------- */
body .ah-co-plan a.ah-co-addon {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 14px 0 0 !important;
	padding: 12px 14px !important;
	background: #fdfaf2 !important;
	border: 1.5px dashed var(--ah-gold, #c9a23a) !important;
	border-radius: 12px !important;
	text-decoration: none !important;
	color: var(--ah-ink, #111827) !important;
	min-height: 56px !important;
}
body .ah-co-plan a.ah-co-addon.is-on { border-style: solid !important; background: #f8f1dc !important; }
.ah-co-addon-box { flex: 0 0 22px !important; width: 22px !important; height: 22px !important; border: 2px solid var(--ah-gold-deep, #a58530) !important; border-radius: 6px !important; background: #fff !important; position: relative !important; }
.ah-co-addon.is-on .ah-co-addon-box { background: var(--ah-navy, #0f1f45) !important; border-color: var(--ah-navy, #0f1f45) !important; }
.ah-co-addon.is-on .ah-co-addon-box::after { content: "" !important; position: absolute !important; left: 6px !important; top: 2px !important; width: 6px !important; height: 11px !important; border: solid #fff !important; border-width: 0 2.5px 2.5px 0 !important; transform: rotate(45deg) !important; }
.ah-co-addon-text { flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; font-size: 14px !important; line-height: 1.3 !important; }
.ah-co-addon-text strong { color: var(--ah-navy, #0f1f45) !important; font-size: 15px !important; }
.ah-co-addon-text span { color: var(--ah-muted, #4b5563) !important; font-size: 12px !important; }
.ah-co-addon-price { text-align: right !important; font-weight: 800 !important; color: var(--ah-navy, #0f1f45) !important; font-size: 16px !important; white-space: nowrap !important; }
.ah-co-addon-price s { display: block !important; font-weight: 400 !important; font-size: 12px !important; color: var(--ah-muted, #4b5563) !important; }

/* ---------- Gifts ---------- */
.ah-mui a.ah-mui-gift { display: block !important; margin: 10px 0 0 !important; text-align: center !important; font-size: 14px !important; font-weight: 600 !important; color: var(--ah-navy, #0f1f45) !important; text-decoration: underline !important; }
.ah-mui-card.is-featured a.ah-mui-gift { color: var(--ah-gold-light, #e3c77a) !important; }
.ah-co-gift-how { margin: 0 0 12px !important; font-size: 14px !important; color: var(--ah-muted, #4b5563) !important; }
.ah-co-gift-fields { display: flex !important; flex-direction: column !important; gap: 10px !important; }
.ah-co-gift-fields label { display: flex !important; flex-direction: column !important; gap: 4px !important; font-size: 14px !important; font-weight: 600 !important; color: var(--ah-navy, #0f1f45) !important; }
body .ah-co-gift-fields input, body .ah-co-gift-fields textarea { min-height: 44px !important; padding: 8px 12px !important; font-size: 16px !important; font-weight: 400 !important; border: 1.5px solid var(--ah-field, #d5dae6) !important; border-radius: 10px !important; box-sizing: border-box !important; width: 100% !important; }
.ah-gift-code { margin: 12px 0 !important; font-family: var(--ah-display, 'League Spartan', sans-serif) !important; font-size: 34px !important; font-weight: 800 !important; letter-spacing: 3px !important; color: var(--ah-gold-light, #e3c77a) !important; }
body .ah-ty input.ah-gift-link { width: 100% !important; max-width: 560px !important; min-height: 44px !important; padding: 8px 12px !important; font-size: 14px !important; border-radius: 10px !important; border: 0 !important; box-sizing: border-box !important; }
