:root{
	--apal-dark:#10131a;
	--apal-accent:#ff5a36;
	--apal-line:#e3e6eb;
	--apal-muted:#66707c;
	--apal-ok:#18794e;
	--apal-ok-bg:#edf8f2;
	--apal-err:#a12b2b;
	--apal-err-bg:#fff0f0;
}
.apal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.apal-card,.apal-course-row,.apal-order-row,.apal-lesson,.apal-quiz,.apal-checkout{
	background:#fff;border:1px solid var(--apal-line);border-radius:16px;overflow:hidden
}
.apal-card-media img{width:100%;aspect-ratio:16/9;object-fit:cover}
.apal-card-body,.apal-lesson,.apal-quiz,.apal-checkout-main{padding:22px}
.apal-card h3{margin:.25rem 0 .75rem}
.apal-card h3 a{color:var(--apal-dark);text-decoration:none}
.apal-card p{color:var(--apal-muted)}
.apal-kicker{display:inline-block;color:var(--apal-accent);font-size:11px;font-weight:800;letter-spacing:.12em}
.apal-card-footer,.apal-lesson-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.apal-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:0;border-radius:10px;padding:0 14px;background:var(--apal-dark);color:#fff;font-weight:700;text-decoration:none;cursor:pointer}
.apal-button:disabled{opacity:.55;cursor:not-allowed}
.apal-owned{font-size:13px;font-weight:700;color:var(--apal-ok)}
.apal-warning{font-size:12px;color:#8b5e00}
.apal-my-courses,.apal-orders{display:grid;gap:14px}
.apal-course-row,.apal-order-row{padding:18px}
.apal-course-row>div:first-child,.apal-order-row>div:first-child{display:flex;justify-content:space-between;gap:12px}
.apal-progress{height:10px;background:#eceef1;border-radius:999px;overflow:hidden;margin:12px 0}
.apal-progress i{display:block;height:100%;background:var(--apal-accent)}
.apal-status,.apal-quiz-result{color:var(--apal-muted);font-size:14px}
.apal-question{border:1px solid var(--apal-line);border-radius:12px;padding:16px;margin:0 0 14px}
.apal-question legend{font-weight:800;padding:0 6px}
.apal-question label{display:flex;gap:8px;margin:10px 0}
.apal-quiz-result{margin-top:16px;font-weight:700}
.apal-notice{padding:14px 16px;border-radius:12px;background:#f4f5f7;margin-bottom:16px}
.apal-notice.apal-success{background:var(--apal-ok-bg);color:var(--apal-ok)}
.apal-notice.apal-error{background:var(--apal-err-bg);color:var(--apal-err)}
.apal-checkout form{display:grid;gap:14px}
.apal-checkout input[type="text"]{min-height:44px;border:1px solid var(--apal-line);border-radius:10px;padding:0 12px}
.apal-payment-box{border:1px solid var(--apal-line);border-radius:12px;padding:16px}
.apal-payment-box p{margin:.4rem 0;color:var(--apal-muted)}
@media(max-width:900px){.apal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
	.apal-grid{grid-template-columns:1fr}
	.apal-card-footer,.apal-lesson-actions{align-items:flex-start;flex-direction:column}
}

.apal-stripe-form{display:grid;gap:14px}
.apal-stripe-button{background:#635bff}
.apal-stripe-button:hover,.apal-stripe-button:focus{background:#5149e8}
.apal-payment-divider{display:flex;align-items:center;gap:12px;color:var(--apal-muted);margin:4px 0}
.apal-payment-divider::before,.apal-payment-divider::after{content:"";height:1px;background:var(--apal-line);flex:1}

/* 0.2.2 — AP Academy frontend foundation */
.apal-page-intro{
	max-width:900px;
	margin:0 auto 42px;
	padding:36px 0 12px;
}
.apal-page-intro h1,
.apal-demo-hero h1{
	font-size:clamp(42px,6vw,78px);
	line-height:1.02;
	letter-spacing:-.055em;
	margin:.2em 0;
	color:#15171a;
}
.apal-page-intro p,
.apal-demo-hero p{
	font-size:18px;
	color:#636a74;
}
.apal-demo-hero{
	display:grid;
	grid-template-columns:1.15fr .85fr;
	gap:42px;
	align-items:center;
	padding:64px 0 76px;
}
.apal-demo-hero-copy{
	padding:24px 0;
}
.apal-demo-hero-panel{
	background:var(--apa-card-accent,#15171a);
	color:var(--apa-on-card,#fff);
	border-radius:24px;
	padding:28px;
	box-shadow:0 24px 60px rgba(18,20,24,.16);
}
.apal-demo-small{
	display:block;
	font-size:11px;
	letter-spacing:.13em;
	font-weight:800;
	color:color-mix(in srgb,var(--apa-on-card,#fff) 70%,transparent);
	margin-bottom:18px;
}
.apal-demo-goals{
	display:grid;
	gap:10px;
}
.apal-demo-goals div{
	background:var(--apa-card-accent-dark,#22262d);
	border:1px solid color-mix(in srgb,var(--apa-on-card,#fff) 16%,transparent);
	border-radius:12px;
	padding:15px 16px;
	font-weight:700;
}
.apal-demo-actions{
	display:flex;
	gap:10px;
	margin-top:26px;
}
.apal-demo-section{
	padding:58px 0;
}
.apal-demo-section>h2{
	font-size:clamp(34px,4vw,50px);
	margin:.2em 0 .8em;
	letter-spacing:-.04em;
}
.apal-demo-paths{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:16px;
}
.apal-demo-paths>div{
	background:#fff;
	border:1px solid var(--apal-line);
	border-radius:18px;
	padding:22px;
	min-height:145px;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	transition:transform .18s ease,box-shadow .18s ease;
}
.apal-demo-paths>div:hover{
	transform:translateY(-3px);
	box-shadow:0 18px 45px rgba(16,19,26,.08);
}
.apal-demo-paths strong{
	font-size:20px;
}
.apal-demo-paths span{
	color:var(--apal-muted);
	font-size:13px;
	margin-top:5px;
}
.apal-demo-dark{
	background:var(--apa-card-accent,#15171a);
	color:var(--apa-on-card,#fff);
	border-radius:24px;
	padding:38px;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:30px;
	align-items:center;
	margin-bottom:60px;
}
.apal-demo-dark h2{
	font-size:38px;
	margin:.2em 0;
}
.apal-demo-dark p{
	color:color-mix(in srgb,var(--apa-on-card,#fff) 75%,transparent);
	margin:0;
}
.apal-grid{
	gap:22px;
}
.apal-card{
	border-radius:18px;
	box-shadow:0 8px 24px rgba(16,19,26,.045);
	transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.apal-card:hover{
	transform:translateY(-3px);
	box-shadow:0 18px 46px rgba(16,19,26,.085);
	border-color:#d7d9dd;
}
.apal-card-body{
	padding:22px;
}
.apal-card h3{
	font-size:21px;
	line-height:1.18;
}
.apal-card-footer strong{
	font-size:20px;
}
.apal-course-hero-copy{
	background:linear-gradient(135deg,#fff4ef,#ffffff);
	border:1px solid #f2ded6;
	border-radius:22px;
	padding:34px;
	margin-bottom:24px;
}
.apal-course-hero-copy h2{
	font-size:clamp(34px,5vw,56px);
	letter-spacing:-.045em;
	margin:.2em 0;
}
.apal-lead{
	font-size:18px;
	color:var(--apal-muted);
	max-width:780px;
}
.apal-learning-box{
	border:1px solid var(--apal-line);
	border-radius:18px;
	background:#fff;
	padding:24px;
	margin:24px 0;
}
.apal-learning-box ul{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px 28px;
}
.apal-gateway{
	display:grid;
	gap:14px;
}
.apal-paypal-button{
	background:#0070ba;
}
.apal-paypal-button:hover,
.apal-paypal-button:focus{
	background:#005ea6;
}
@media(max-width:800px){
	.apal-demo-hero,
	.apal-demo-dark{
		grid-template-columns:1fr;
	}
	.apal-demo-paths,
	.apal-learning-box ul{
		grid-template-columns:1fr;
	}
}


/* 0.4.3 cart / protected content fallback styles for non-Theme-Engine installs */
.apal-add-cart-form{margin:0}
.apal-cart,.apal-checkout-cart{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.apal-cart-item{display:grid;grid-template-columns:120px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #ddd}
.apal-cart-thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:#f1f1f1}
.apal-cart-thumb img{width:100%;height:100%;object-fit:cover}
.apal-cart-summary,.apal-checkout-payment{border:1px solid #ddd;padding:20px;background:#fff}
.apal-cart-total,.apal-checkout-total,.apal-checkout-items>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eee}
.apal-resource{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid #ddd;margin:8px 0}
.apal-resource>div:first-child{display:grid;gap:3px}
.apal-resource-actions{display:flex;gap:8px;flex-wrap:wrap}
.apal-lesson-video video{display:block;width:100%;aspect-ratio:16/9;background:#111}
.apal-media-security{font-size:12px;color:#666}
.apal-button-primary{background:var(--apal-brand,#ff630f)!important;color:#fff!important}
.apal-button-ghost{background:#fff!important;color:#222!important;border:1px solid #ccc!important}
@media(max-width:800px){.apal-cart,.apal-checkout-cart{grid-template-columns:1fr}.apal-cart-item{grid-template-columns:90px minmax(0,1fr)}.apal-cart-price,.apal-cart-item form{grid-column:2}.apal-resource{grid-template-columns:1fr}}


/* 0.4.5 — Progress & Resume */
.apal-resume-hero{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	margin:0 0 26px;
	padding:24px;
	border:1px solid var(--apal-border,#ddd);
	border-left:4px solid var(--apal-brand,#ff630f);
	background:var(--apal-surface,#fff);
}
.apal-resume-hero h2{margin:4px 0 6px;font-size:clamp(24px,3vw,36px)}
.apal-resume-hero p{margin:0;color:#646970}
.apal-course-row__copy{display:flex;flex-direction:column;gap:3px}
.apal-course-row__copy small{color:#646970}
@media(max-width:680px){
	.apal-resume-hero{align-items:flex-start;flex-direction:column}
	.apal-resume-hero .apal-button{width:100%}
}

.apal-course-access-wait{
	display:grid;
	grid-template-columns:22px minmax(0,1fr);
	gap:3px 8px;
	align-items:start;
	padding:12px;
	border:1px solid var(--apal-border,#ddd);
	border-left:3px solid var(--apal-brand,#ff630f);
	background:var(--apal-surface,#fff);
}
.apal-course-access-wait .dashicons{grid-row:1/3;color:var(--apal-brand,#ff630f)}
.apal-course-access-wait strong{font-size:12px}
.apal-course-access-wait small{color:#646970;line-height:1.4}

/* 0.4.6.2 — Checkout UI fallback for non Theme Engine installs */
.apal-checkout.apal-checkout-cart{
	background:transparent;border:0;border-radius:0;overflow:visible;
	grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:24px
}
.apal-checkout-main,.apal-checkout-payment{border:1px solid var(--apal-line);background:#fff;border-radius:2px}
.apal-checkout-main{padding:24px}
.apal-checkout-section-head{display:grid;gap:5px;padding-bottom:18px}
.apal-checkout-section-head h2{margin:0;font-size:32px;line-height:1.1}
.apal-checkout-section-head p,.apal-checkout-payment__head p{margin:0;color:var(--apal-muted);font-size:13px}
.apal-checkout-course{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--apal-line)}
.apal-checkout-course__media{width:90px;aspect-ratio:16/9;overflow:hidden;background:#f4f5f7;border:1px solid var(--apal-line)}
.apal-checkout-course__image{display:block;width:100%;height:100%;object-fit:cover}
.apal-checkout-course__placeholder{display:grid;place-items:center;width:100%;height:100%;font-weight:800;color:var(--apal-muted)}
.apal-checkout-course__copy{display:grid;gap:4px;min-width:0}.apal-checkout-course__copy>strong{font-size:17px}.apal-checkout-course__meta{font-size:11px;color:var(--apal-muted)}
.apal-checkout-course__price{white-space:nowrap}
.apal-checkout-totals{margin-top:15px;padding:15px;background:#f7f7f8;border:1px solid var(--apal-line)}
.apal-checkout-subtotal{display:flex;justify-content:space-between;align-items:baseline;gap:18px}.apal-checkout-subtotal strong{font-size:24px}
.apal-checkout-note{margin:9px 0 0;padding-top:9px;border-top:1px solid var(--apal-line);color:var(--apal-muted);font-size:11px}
.apal-checkout-payment{padding:22px}.apal-checkout-payment__head{display:grid;gap:5px;padding-bottom:15px;border-bottom:1px solid var(--apal-line)}
.apal-checkout-payment__head h3{margin:0;font-size:23px}.apal-checkout-method{padding:15px 0!important;border-top:0!important;border-bottom:1px solid var(--apal-line)!important}
.apal-checkout-method:last-of-type{border-bottom:0!important}.apal-checkout-method .apal-payment-box{border-radius:2px;background:#f7f7f8}
.apal-checkout-coupon{display:grid;gap:5px;font-size:12px;font-weight:700}.apal-checkout-coupon input{border-radius:2px!important}
.apal-checkout-method>.apal-button{width:100%;border-radius:2px}.apal-checkout-security{display:grid;grid-template-columns:18px minmax(0,1fr);gap:7px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--apal-line);color:var(--apal-muted);font-size:10px;line-height:1.45}
.apal-checkout-security span{display:grid;place-items:center;width:16px;height:16px;background:var(--apal-accent);color:#fff;font-size:10px}
@media(max-width:800px){.apal-checkout.apal-checkout-cart{grid-template-columns:1fr}.apal-checkout-course{grid-template-columns:78px minmax(0,1fr)}.apal-checkout-course__media{width:78px}.apal-checkout-course__price{grid-column:2}}
