:root {
	--bg: #f7f6f1;
	--surface: #ffffff;
	--ink: #16171c;
	--ink-2: #282a32;
	--ink-cover: #1c1e26;
	--muted: #6b6f79;
	--muted-2: #9a9da6;
	--line: #e9e6de;
	--accent: #ff751f;
	--accent-d: #e85f0a;
	--accent-soft: #ffeee0;
	--gold: #f5a623;
	--green: #12a150;
	--green-soft: #e4f6ec;
	--fd: "Bricolage Grotesque", "Manrope", system-ui, sans-serif;
	--f: "Manrope", system-ui, -apple-system, sans-serif;
	--wrap: 1200px;
	--ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--sh: 0 12px 34px -14px rgba(22, 23, 28, 0.22);
	--sh-lg: 0 34px 66px -26px rgba(22, 23, 28, 0.34);
	--brush: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6.5 C 28 2.5, 70 2.5, 118 4.5' stroke='%23FF751F' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html {
	scroll-behavior: smooth;
}
body {
	font-family: var(--f);
	background: var(--bg);
	color: var(--ink);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
.site-main {
	flex: 1 0 auto;
}
body > footer {
	flex-shrink: 0;
}
a {
	color: inherit;
	text-decoration: none;
}
h1,
h2 {
	font-family: var(--fd);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.08;
}
h3 {
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.2;
}
::selection {
	background: var(--accent);
	color: #fff;
}
:focus-visible {
	outline: 2.5px solid var(--accent);
	outline-offset: 3px;
	border-radius: 4px;
}
.wrap {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 0 22px;
}

/* Scoped so it beats WooCommerce's `.woocommerce-page img { height: auto }`,
 * which would otherwise collapse the intrinsic-less SVG logo to 0×0. */
.brand-logo .logo-svg,
.foot-brand .logo-svg {
	width: auto;
	display: block;
}
.brand-logo .logo-svg {
	height: 42px;
}
.foot-brand .logo-svg {
	height: 31px;
}
.eyebrow {
	display: inline-block;
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--accent-d);
	text-transform: uppercase;
	padding-bottom: 11px;
	background: var(--brush) left bottom/100% 7px no-repeat;
}
.pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12.5px;
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 100px;
}
.pill-soft {
	background: var(--accent-soft);
	color: var(--accent-d);
}
.stars {
	color: var(--gold);
	letter-spacing: 1px;
	font-size: 13px;
}

.btn {
	font-family: var(--f);
	font-size: 15px;
	font-weight: 700;
	padding: 13px 22px;
	border-radius: 12px;
	cursor: pointer;
	border: 1.5px solid transparent;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	transition:
		transform 0.18s var(--ease),
		box-shadow 0.2s,
		background 0.2s,
		border-color 0.2s,
		color 0.2s;
	white-space: nowrap;
}
.btn-primary {
	background: var(--accent);
	color: #fff;
	box-shadow: 0 8px 20px -8px rgba(255, 117, 31, 0.65);
}
.btn-primary:hover {
	background: var(--accent-d);
	transform: translateY(-2px);
	box-shadow: 0 14px 26px -8px rgba(255, 117, 31, 0.6);
}
.btn-ink {
	background: var(--ink);
	color: #fff;
}
.btn-ink:hover {
	background: var(--ink-2);
	transform: translateY(-2px);
}
.btn-ghost {
	background: #fff;
	color: var(--ink);
	border-color: var(--line);
}
.btn-ghost:hover {
	border-color: var(--accent);
	color: var(--accent-d);
}
.btn-sm {
	padding: 10px 16px;
	font-size: 14px;
	border-radius: 10px;
}
.btn-lg {
	padding: 15px 26px;
	font-size: 16px;
}

/* HEADER */
header {
	position: sticky;
	top: 0;
	z-index: 70;
	background: rgba(247, 246, 241, 0.85);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--line);
}
.nav {
	display: flex;
	align-items: center;
	gap: 26px;
	height: 72px;
}
.brand-logo {
	display: flex;
	align-items: center;
}
.nav-links {
	display: flex;
	gap: 24px;
	margin-left: 6px;
}
.nav-links a {
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ink-2);
	transition: color 0.2s;
}
.nav-links a:hover {
	color: var(--accent-d);
}
.nav-search {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 9px;
	background: #fff;
	border: 1.5px solid var(--line);
	border-radius: 11px;
	padding: 9px 13px;
	width: 220px;
	transition:
		border-color 0.2s,
		box-shadow 0.2s;
}
.nav-search:focus-within {
	border-color: var(--accent);
	box-shadow: 0 0 0 4px var(--accent-soft);
}
.nav-search input {
	border: none;
	outline: none;
	font-family: var(--f);
	font-size: 14px;
	width: 100%;
	background: transparent;
	color: var(--ink);
}
.nav-search svg {
	color: var(--muted-2);
	flex: none;
}
.nav-actions {
	display: flex;
	align-items: center;
	gap: 12px;
}
.login {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--ink-2);
}
.login:hover {
	color: var(--accent-d);
}
.cart-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 0 15px;
	border-radius: 12px;
	border: 1.5px solid var(--line);
	color: var(--ink-2);
	font-size: 14.5px;
	font-weight: 700;
	flex: none;
	transition:
		border-color 0.2s var(--ease),
		color 0.2s var(--ease);
}
.cart-link:hover {
	border-color: var(--accent);
	color: var(--accent-d);
}
.cart-link svg {
	flex: none;
}
.cart-count {
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 100px;
	background: var(--accent);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.cart-count[hidden] {
	display: none;
}
.menu-btn {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--ink);
	padding: 4px;
}

.drawer {
	position: fixed;
	inset: 0;
	z-index: 80;
	background: rgba(22, 23, 28, 0.5);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s;
}
.drawer.open {
	opacity: 1;
	pointer-events: auto;
}
.drawer-panel {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	width: min(320px, 84vw);
	background: #fff;
	transform: translateX(100%);
	transition: transform 0.3s var(--ease);
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.drawer.open .drawer-panel {
	transform: none;
}
.drawer-panel .x {
	align-self: flex-end;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--ink);
	padding: 4px;
	margin-bottom: 8px;
}
.drawer-panel a {
	font-size: 16px;
	font-weight: 700;
	padding: 13px 12px;
	border-radius: 10px;
	color: var(--ink-2);
}
.drawer-panel a:hover {
	background: var(--bg);
}
.drawer-panel .btn {
	margin-top: 12px;
	justify-content: center;
}

/* HERO */
.hero {
	padding: 58px 0 74px;
	position: relative;
}
.hero-grid {
	display: grid;
	grid-template-columns: 1.04fr 0.96fr;
	gap: 52px;
	align-items: center;
}
.hero h1 {
	font-size: clamp(2.5rem, 5vw, 4rem);
	margin: 20px 0;
}
.hero h1 .mark {
	position: relative;
	white-space: nowrap;
	color: var(--accent);
	font-style: italic;
	font-weight: 500;
}
.hero h1 .mark .brush {
	position: absolute;
	left: -1%;
	right: -1%;
	bottom: -12px;
	width: 102%;
	height: 16px;
	color: var(--accent);
}
.hero-sub {
	font-size: 1.13rem;
	color: var(--muted);
	max-width: 42ch;
	margin-bottom: 28px;
}
.hero-cta {
	display: flex;
	gap: 13px;
	flex-wrap: wrap;
	margin-bottom: 26px;
}
.assure {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 13px;
	font-weight: 600;
	color: var(--ink-2);
}
.assure span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.assure svg {
	color: var(--green);
	flex: none;
}

/* hero stage */
.stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 440px;
}
.float {
	position: absolute;
	background: #fff;
	border-radius: 18px;
	box-shadow: var(--sh-lg);
	border: 1px solid var(--line);
}
.player {
	width: 100%;
	max-width: 430px;
	left: 0;
	top: 24px;
	overflow: hidden;
}
.player .screen {
	height: 190px;
	background: linear-gradient(135deg, #20222b, #33363f);
	position: relative;
	display: grid;
	place-items: center;
}
.player .screen::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(
		120% 90% at 82% 8%,
		rgba(255, 117, 31, 0.35),
		transparent 55%
	);
}
.play-btn {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--accent);
	display: grid;
	place-items: center;
	box-shadow: 0 12px 26px -8px rgba(255, 117, 31, 0.75);
	position: relative;
	z-index: 2;
}
.play-btn svg {
	color: #fff;
	margin-left: 3px;
}
.player .live {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	backdrop-filter: blur(6px);
	font-size: 11.5px;
	font-weight: 700;
	padding: 5px 11px;
	border-radius: 100px;
	display: flex;
	align-items: center;
	gap: 6px;
}
.player .live .dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #38e08a;
	box-shadow: 0 0 0 4px rgba(56, 224, 138, 0.3);
}
.player .body {
	padding: 16px 18px;
}
.player .cat {
	font-size: 11.5px;
	font-weight: 800;
	color: var(--accent-d);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.player .ttl {
	font-size: 16.5px;
	font-weight: 800;
	margin: 5px 0 12px;
}
.prog {
	height: 7px;
	border-radius: 100px;
	background: var(--line);
	overflow: hidden;
}
.prog i {
	display: block;
	height: 100%;
	width: 64%;
	background: linear-gradient(90deg, var(--accent), #ff9d4d);
	border-radius: 100px;
}
.player .meta {
	display: flex;
	justify-content: space-between;
	font-size: 12.5px;
	color: var(--muted);
	margin-top: 9px;
	font-weight: 600;
}
.card-quiz {
	width: 214px;
	right: -6px;
	top: 0;
	padding: 15px 16px;
	z-index: 3;
}
.card-quiz .top {
	display: flex;
	align-items: center;
	gap: 10px;
}
.card-quiz .ic {
	width: 38px;
	height: 38px;
	border-radius: 11px;
	background: var(--green-soft);
	display: grid;
	place-items: center;
	color: var(--green);
	flex: none;
}
.card-quiz .lbl {
	font-size: 12px;
	color: var(--muted);
	font-weight: 600;
}
.card-quiz .val {
	font-size: 17px;
	font-weight: 800;
}
.card-quiz .bar {
	display: flex;
	gap: 4px;
	margin-top: 12px;
}
.card-quiz .bar span {
	height: 6px;
	flex: 1;
	border-radius: 3px;
	background: var(--line);
}
.card-quiz .bar span.on {
	background: var(--green);
}
.card-pdf {
	width: 230px;
	right: 12px;
	bottom: 6px;
	padding: 14px 16px;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 12px;
}
.card-pdf .ic {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: var(--accent-soft);
	display: grid;
	place-items: center;
	color: var(--accent);
	flex: none;
}
.card-pdf .t {
	font-size: 14px;
	font-weight: 800;
}
.card-pdf .s {
	font-size: 12px;
	color: var(--muted);
	font-weight: 600;
}
.blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(8px);
	z-index: -1;
}

/* hero roadmap */
.roadmap {
	position: relative;
	width: 100%;
	max-width: 400px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 20px;
	box-shadow: var(--sh-lg);
	padding: 22px 24px 24px;
	z-index: 2;
}
.rm-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}
.rm-eyebrow {
	font-size: 11.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--accent-d);
}
.rm-pct {
	font-size: 12px;
	font-weight: 700;
	color: var(--muted);
	background: var(--bg);
	border: 1px solid var(--line);
	padding: 3px 11px;
	border-radius: 100px;
}
.rm-path {
	list-style: none;
	position: relative;
	padding-left: 40px;
}
.rm-path::before {
	content: "";
	position: absolute;
	left: 15px;
	top: 18px;
	bottom: 18px;
	width: 2px;
	background: var(--line);
}
.rm-node {
	position: relative;
	padding: 10px 0;
}
.rm-node b {
	display: block;
	font-size: 14.5px;
	font-weight: 800;
	color: var(--ink);
}
.rm-node small {
	display: block;
	font-size: 12px;
	color: var(--muted);
	font-weight: 600;
	margin-top: 1px;
}
.rm-dot {
	position: absolute;
	left: -40px;
	top: 8px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--line);
	display: grid;
	place-items: center;
	color: var(--muted-2);
}
.rm-node.done .rm-dot {
	background: var(--green-soft);
	border-color: var(--green);
	color: var(--green);
}
.rm-node.current .rm-dot {
	background: var(--accent);
	border-color: var(--accent);
	box-shadow: 0 0 0 5px var(--accent-soft);
}
.rm-node.current b {
	color: var(--accent-d);
}
.rm-node.goal {
	background: linear-gradient(120deg, #20222b, #33363f);
	border-radius: 14px;
	padding: 13px 15px;
	margin: 0 0 8px -8px;
}
.rm-node.goal b {
	color: #fff;
}
.rm-node.goal small {
	color: rgba(255, 255, 255, 0.72);
}
.rm-node.goal .rm-dot {
	left: -32px;
	top: 50%;
	transform: translateY(-50%);
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
}

/* strip */
.strip {
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	background: #fff;
}
.strip .wrap {
	display: flex;
	align-items: center;
	gap: 12px 38px;
	flex-wrap: wrap;
	padding-top: 22px;
	padding-bottom: 22px;
	justify-content: center;
}
.strip .lbl {
	font-size: 13px;
	font-weight: 700;
	color: var(--muted-2);
}
.strip .item {
	font-size: 15px;
	font-weight: 800;
	color: var(--ink-2);
	opacity: 0.85;
}
button.item {
	font-family: inherit;
	background: none;
	border: 0;
	padding: 4px 2px;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	transition:
		color 0.18s var(--ease),
		opacity 0.18s var(--ease),
		border-color 0.18s var(--ease);
}
button.item:hover {
	opacity: 1;
	color: var(--accent-d);
}
button.item.active {
	opacity: 1;
	color: var(--accent-d);
	border-bottom-color: var(--accent);
}
button.item.disabled {
	opacity: 0.4;
	cursor: default;
}
button.item.disabled:hover {
	color: var(--ink-2);
}

/* SECTIONS */
.section {
	padding: 82px 0;
}
.head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 30px;
	flex-wrap: wrap;
}
.head .l {
	max-width: 620px;
}
.head h2 {
	font-size: clamp(1.8rem, 3.3vw, 2.65rem);
	margin: 14px 0 8px;
}
.head p {
	color: var(--muted);
	font-size: 1.05rem;
}
.center {
	text-align: center;
	margin: 0 auto 40px;
	max-width: 640px;
}
.center h2 {
	font-size: clamp(1.8rem, 3.3vw, 2.65rem);
	margin: 14px 0 8px;
}
.center p {
	color: var(--muted);
	font-size: 1.05rem;
}

/* STEPS */
.steps {
	background: #fff;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.steps-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.step {
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 28px 24px;
	position: relative;
}
.step .no {
	font-family: var(--fd);
	font-size: 15px;
	font-weight: 600;
	color: var(--accent-d);
	font-variant-numeric: tabular-nums;
}
.step .si {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #fff;
	border: 1px solid var(--line);
	display: grid;
	place-items: center;
	color: var(--ink);
	margin: 14px 0 16px;
}
.step h3 {
	font-size: 18px;
	margin-bottom: 8px;
}
.step p {
	font-size: 14.5px;
	color: var(--muted);
}

/* COURSES */
.filters {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}
.chip {
	font-family: var(--f);
	font-size: 14px;
	font-weight: 700;
	padding: 9px 16px;
	border-radius: 100px;
	background: #fff;
	border: 1.5px solid var(--line);
	color: var(--ink-2);
	cursor: pointer;
	transition: all 0.2s var(--ease);
}
.chip:hover {
	border-color: var(--accent);
	color: var(--accent-d);
}
.chip.active {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}
.grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}
.course {
	position: relative;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 18px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition:
		transform 0.22s var(--ease),
		box-shadow 0.22s;
	cursor: pointer;
}
.course:hover {
	transform: translateY(-5px);
	box-shadow: var(--sh);
}
.cover {
	height: 150px;
	position: relative;
	display: flex;
	align-items: flex-end;
	padding: 14px;
	overflow: hidden;
	background: linear-gradient(150deg, #1c1e26, #2e313d);
}
a.cover {
	text-decoration: none;
	color: inherit;
	/* Above the card's stretched link (::after, z-index 5) so a click on the
	   image is handled by this single link — no first-click/second-click race. */
	z-index: 6;
}
.cover::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(
		85% 80% at 84% 16%,
		rgba(255, 117, 31, 0.4),
		transparent 55%
	);
}
.cover::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--accent);
}
.cover .glyph {
	position: absolute;
	right: -6px;
	top: -20px;
	font-family: var(--fd);
	font-size: 118px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.13);
	line-height: 1;
}
.cover .tag {
	position: relative;
	z-index: 2;
	background: rgba(255, 255, 255, 0.95);
	color: var(--ink);
	font-size: 11.5px;
	font-weight: 800;
	padding: 5px 11px;
	border-radius: 100px;
}
.cover.flag {
	background: linear-gradient(135deg, #ff751f, #ff9c48);
}
.cover.flag::before {
	background: radial-gradient(
		85% 80% at 84% 16%,
		rgba(255, 255, 255, 0.32),
		transparent 55%
	);
}
.cover.flag::after {
	background: rgba(255, 255, 255, 0.5);
}
.cover.flag .glyph {
	color: rgba(255, 255, 255, 0.22);
}
.badge {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	font-size: 11px;
	font-weight: 800;
	padding: 5px 10px;
	border-radius: 100px;
	color: #fff;
}
.badge.best {
	background: #fff;
	color: var(--accent-d);
}
.badge.pop {
	background: var(--accent);
}
.badge.new {
	background: var(--green);
}
.c-body {
	padding: 16px 17px 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.c-body h3 {
	font-size: 16.5px;
	line-height: 1.28;
	margin-bottom: 10px;
}
.c-inst {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}
.c-inst .a {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	flex: none;
}
.c-inst span {
	font-size: 13px;
	color: var(--muted);
	font-weight: 600;
}
.c-meta {
	display: flex;
	gap: 13px;
	font-size: 12.5px;
	color: var(--muted);
	font-weight: 600;
	margin-bottom: 12px;
	flex-wrap: wrap;
}
.c-meta .m {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.c-meta svg {
	color: var(--muted-2);
	flex: none;
}
.c-rate {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	margin-bottom: 14px;
}
.c-rate b {
	font-weight: 800;
}
.c-rate .cnt {
	color: var(--muted);
	font-weight: 600;
}
.c-foot {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 14px;
	border-top: 1px solid var(--line);
}
.price {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}
.price .now,
.price .single {
	font-size: 19px;
	font-weight: 800;
}
.price .old {
	font-size: 13px;
	color: var(--muted-2);
	text-decoration: line-through;
	font-weight: 600;
}
.a1 {
	background: #ff751f;
}
.a2 {
	background: #3b4252;
}
.a3 {
	background: #e85f0a;
}
.a4 {
	background: #2e313d;
}
.a5 {
	background: #12a150;
}

/* PRICING */
.pricing {
	background: #fff;
	border-top: 1px solid var(--line);
}
.plan-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr 1fr;
	gap: 22px;
	align-items: stretch;
}
.plan {
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: 20px;
	padding: 28px 26px;
	display: flex;
	flex-direction: column;
	position: relative;
}
.plan.hot {
	background: var(--ink);
	color: #fff;
	border-color: var(--ink);
}
.plan .pk {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--accent-d);
	margin-bottom: 12px;
}
.plan.hot .pk {
	color: var(--accent);
}
.plan h3 {
	font-family: var(--fd);
	font-weight: 600;
	font-size: 1.5rem;
	letter-spacing: -0.01em;
	margin-bottom: 6px;
}
.plan .desc {
	font-size: 14px;
	color: var(--muted);
	margin-bottom: 18px;
}
.plan.hot .desc {
	color: #c7c4c0;
}
.plan .amt {
	display: flex;
	align-items: baseline;
	gap: 9px;
	margin-bottom: 4px;
}
.plan .amt .n {
	font-family: var(--fd);
	font-size: 2.1rem;
	font-weight: 600;
}
.plan .amt .o {
	font-size: 1rem;
	color: var(--muted-2);
	text-decoration: line-through;
	font-weight: 600;
}
.plan .rng {
	font-size: 12.5px;
	color: var(--muted);
	font-weight: 600;
	margin-bottom: 20px;
}
.plan.hot .rng {
	color: #a7a4a0;
}
.plan ul {
	list-style: none;
	display: grid;
	gap: 11px;
	margin-bottom: 14px;
	flex: 1;
}
.plan li {
	font-size: 14px;
	display: flex;
	gap: 10px;
	color: var(--ink-2);
}
.plan.hot li {
	color: #dcdad6;
}
.plan li svg {
	color: var(--accent);
	flex: none;
	margin-top: 2px;
}
.plan .btn {
	width: 100%;
	justify-content: center;
}
.plan .assure-mini {
	font-size: 12px;
	color: var(--muted);
	margin-top: 12px;
	text-align: center;
}
.plan.hot .assure-mini {
	color: #a7a4a0;
}
.stamp {
	position: absolute;
	top: -13px;
	right: 22px;
	transform: rotate(-5deg);
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: #fff;
	background: var(--accent);
	padding: 7px 12px;
	border-radius: 8px;
	box-shadow: 0 8px 18px -8px rgba(255, 117, 31, 0.75);
	border: 1.5px solid rgba(255, 255, 255, 0.35);
}

/* CURRICULUM */
.acc {
	display: grid;
	gap: 12px;
	max-width: 820px;
	margin: 0 auto;
}
.ai {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 14px;
	overflow: hidden;
}
.ai > button {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--f);
	text-align: left;
}
.ai .num {
	font-family: var(--fd);
	font-size: 14px;
	font-weight: 600;
	color: var(--accent-d);
	font-variant-numeric: tabular-nums;
	flex: none;
}
.ai .t {
	font-size: 16px;
	font-weight: 800;
	color: var(--ink);
	flex: 1;
}
.ai .mt {
	font-size: 12.5px;
	color: var(--muted);
	font-weight: 700;
}
.ai .cx {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--bg);
	display: grid;
	place-items: center;
	color: var(--ink);
	flex: none;
	transition:
		transform 0.25s,
		background 0.2s,
		color 0.2s;
}
.ai.open .cx {
	transform: rotate(45deg);
	background: var(--accent);
	color: #fff;
}
.ai .panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s var(--ease);
}
.ai .pin {
	padding: 0 20px 18px 56px;
	display: grid;
	gap: 9px;
}
.ai .pin .row {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--ink-2);
}
.ai .pin .row svg {
	color: var(--muted-2);
	flex: none;
}
.ai .pin .qz {
	font-size: 11px;
	font-weight: 800;
	color: var(--green);
	background: var(--green-soft);
	padding: 3px 9px;
	border-radius: 100px;
	margin-left: auto;
}

/* FEATURES */
.feat-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.feat {
	padding: 26px 22px;
	border-radius: 16px;
	background: #fff;
	border: 1px solid var(--line);
	transition: transform 0.2s var(--ease);
}
.feat:hover {
	transform: translateY(-4px);
}
.feat .fic {
	width: 48px;
	height: 48px;
	border-radius: 13px;
	display: grid;
	place-items: center;
	color: #fff;
	margin-bottom: 16px;
}
.feat h3 {
	font-size: 17px;
	margin-bottom: 7px;
}
.feat p {
	font-size: 14px;
	color: var(--muted);
}

/* STATS */
.stats {
	background: var(--ink);
	color: #fff;
	border-radius: 24px;
	padding: 44px 30px;
	position: relative;
	overflow: hidden;
}
.stats::before {
	content: "";
	position: absolute;
	right: -70px;
	top: -70px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: radial-gradient(
		circle,
		rgba(255, 117, 31, 0.22),
		transparent 65%
	);
}
.stats::after {
	content: "";
	position: absolute;
	left: -40px;
	bottom: -90px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: radial-gradient(
		circle,
		rgba(255, 117, 31, 0.12),
		transparent 65%
	);
}
.stats-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	text-align: center;
}
.stats .n {
	font-family: var(--fd);
	font-size: clamp(2.1rem, 4vw, 3rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #fff;
}
.stats .n em {
	font-style: normal;
	color: var(--accent);
}
.stats .l {
	font-size: 14px;
	opacity: 0.72;
	font-weight: 600;
	margin-top: 2px;
}
.stats .sep {
	position: absolute;
	top: 12%;
	bottom: 12%;
	width: 1px;
	background: rgba(255, 255, 255, 0.14);
}

/* INSTRUCTORS */
.teach-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}
.teach {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 26px;
	transition:
		transform 0.2s var(--ease),
		box-shadow 0.2s;
}
.teach:hover {
	transform: translateY(-4px);
	box-shadow: var(--sh);
}
.teach .row {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 16px;
}
.teach .ph {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	display: grid;
	place-items: center;
	color: #fff;
	font-family: var(--fd);
	font-size: 22px;
	font-weight: 600;
	flex: none;
}
.teach .nm {
	font-family: var(--fd);
	font-weight: 600;
	font-size: 18px;
	letter-spacing: -0.01em;
}
.teach .rl {
	font-size: 13px;
	color: var(--accent-d);
	font-weight: 700;
}
.teach p {
	font-size: 14px;
	color: var(--muted);
	margin-bottom: 14px;
}
.teach .tags {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.teach .tags span {
	font-size: 12px;
	font-weight: 700;
	background: var(--accent-soft);
	color: var(--accent-d);
	padding: 5px 10px;
	border-radius: 100px;
}

/* VOICES */
.voices {
	background: #fff;
	border-top: 1px solid var(--line);
}
.v-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.v {
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.v .stars {
	font-size: 15px;
}
.v .q {
	font-family: var(--fd);
	font-size: 16px;
	line-height: 1.45;
	color: var(--ink);
	font-weight: 500;
}
.v .who {
	margin-top: auto;
	display: flex;
	align-items: center;
	gap: 12px;
}
.v .who .a {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #fff;
	font-weight: 800;
	font-size: 14px;
	flex: none;
}
.v .who .nm {
	font-size: 14px;
	font-weight: 800;
}
.v .who .ex {
	font-size: 12.5px;
	color: var(--green);
	font-weight: 700;
}

/* FAQ */
.faq {
	display: grid;
	gap: 12px;
	max-width: 820px;
	margin: 0 auto;
}
.fq {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 14px;
	overflow: hidden;
}
.fq > button {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--f);
	text-align: left;
	font-size: 16px;
	font-weight: 700;
	color: var(--ink);
}
.fq .cx {
	margin-left: auto;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--bg);
	display: grid;
	place-items: center;
	flex: none;
	transition:
		transform 0.25s,
		background 0.2s,
		color 0.2s;
}
.fq.open .cx {
	transform: rotate(45deg);
	background: var(--accent);
	color: #fff;
}
.fq .panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s var(--ease);
}
.fq .pin {
	padding: 0 20px 18px;
	font-size: 14.5px;
	color: var(--muted);
	line-height: 1.6;
}

/* FINAL CTA */
.cta-band {
	background: var(--ink);
	color: #fff;
	border-radius: 26px;
	padding: 58px 40px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.cta-band::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(
		70% 120% at 50% 0%,
		rgba(255, 117, 31, 0.3),
		transparent 55%
	);
}
.cta-band .in {
	position: relative;
	max-width: 620px;
	margin: 0 auto;
}
.cta-band h2 {
	font-size: clamp(2rem, 4.2vw, 3.1rem);
	margin-bottom: 14px;
}
.cta-band h2 em {
	font-style: italic;
	color: var(--accent);
	font-weight: 500;
}
.cta-band p {
	color: #c7c4c0;
	font-size: 1.1rem;
	margin-bottom: 28px;
}

/* FOOTER */
footer {
	background: #fff;
	border-top: 1px solid var(--line);
	padding: 52px 0 26px;
}
.foot-top {
	display: grid;
	grid-template-columns: 1.7fr 1fr 1fr 1fr;
	gap: 30px;
	padding-bottom: 34px;
	border-bottom: 1px solid var(--line);
}
.foot-brand p {
	font-size: 13.5px;
	color: var(--muted);
	max-width: 34ch;
	margin-top: 14px;
	line-height: 1.6;
}
.foot-col h4 {
	font-size: 13px;
	font-weight: 800;
	margin-bottom: 14px;
}
.foot-col a {
	display: block;
	font-size: 14px;
	color: var(--muted);
	padding: 5px 0;
	transition: color 0.2s;
}
.foot-col a:hover {
	color: var(--accent-d);
}
.foot-bot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 22px;
	font-size: 13px;
	color: var(--muted-2);
	flex-wrap: wrap;
	gap: 10px;
}

.reveal {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity 0.6s var(--ease),
		transform 0.6s var(--ease);
}
.reveal.in {
	opacity: 1;
	transform: none;
}

@media (max-width: 980px) {
	.nav-links,
	.nav-search {
		display: none;
	}
	.menu-btn {
		display: grid;
		margin-left: auto;
	}
	.hero-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.stage {
		min-height: 0;
		margin-top: 8px;
	}
	.grid,
	.v-grid,
	.teach-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.feat-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.steps-grid {
		grid-template-columns: 1fr;
	}
	.plan-grid {
		grid-template-columns: 1fr;
		max-width: 460px;
		margin: 0 auto;
	}
	.stats-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px 24px;
	}
	.stats .sep {
		display: none;
	}
	.foot-top {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.section {
		padding: 58px 0;
	}
	.grid,
	.v-grid,
	.teach-grid,
	.feat-grid {
		grid-template-columns: 1fr;
	}
	.hero-cta .btn {
		flex: 1;
		justify-content: center;
	}
	.stage {
		min-height: 0;
	}
	.card-quiz {
		right: 0;
		scale: 0.92;
	}
	.card-pdf {
		right: 0;
	}
	.foot-top {
		grid-template-columns: 1fr 1fr;
	}
	.cta-band,
	.stats {
		padding-left: 24px;
		padding-right: 24px;
	}
	.ai .pin {
		padding-left: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		animation: none !important;
		transition: none !important;
	}
	.reveal {
		opacity: 1;
		transform: none;
	}
}

/* INNER PAGES */
.page-hero {
	padding: 54px 0 10px;
}
.page-hero h1 {
	font-size: clamp(2rem, 4vw, 3rem);
	margin: 14px 0 8px;
}
.page-hero p {
	color: var(--muted);
	font-size: 1.05rem;
	max-width: 620px;
	margin: 0 auto;
}
.book .cover {
	height: 140px;
}

/* CONTACT */
.contact-grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 28px;
	align-items: start;
}
.contact-info {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 28px 26px;
}
.contact-info h3 {
	font-size: 18px;
	margin-bottom: 18px;
}
.contact-info ul {
	list-style: none;
	display: grid;
	gap: 16px;
}
.contact-info li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 14.5px;
	color: var(--ink-2);
	font-weight: 600;
	line-height: 1.5;
}
.contact-info li strong {
	color: var(--ink);
}
.contact-info .ci-lead {
	margin: -6px 0 18px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--muted);
}
.contact-info .ci-note {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--line);
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--muted);
	font-weight: 500;
}
.contact-info .ci-ic {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--accent-soft);
	color: var(--accent-d);
	display: grid;
	place-items: center;
	flex: none;
}
.contact-info a:hover {
	color: var(--accent-d);
}
.contact-form {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 28px 26px;
	display: grid;
	gap: 16px;
}
.contact-form .field {
	display: grid;
	gap: 7px;
}
.contact-form label {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--ink-2);
}
.contact-form input,
.contact-form textarea {
	font-family: var(--f);
	font-size: 15px;
	color: var(--ink);
	background: var(--bg);
	border: 1.5px solid var(--line);
	border-radius: 12px;
	padding: 12px 14px;
	width: 100%;
	transition:
		border-color 0.2s,
		box-shadow 0.2s;
}
.contact-form textarea {
	resize: vertical;
	min-height: 128px;
}
.contact-form input:focus,
.contact-form textarea:focus {
	outline: none;
	border-color: var(--accent);
	box-shadow: 0 0 0 4px var(--accent-soft);
}
.contact-form .btn {
	justify-self: start;
}
.notice {
	border-radius: 14px;
	padding: 15px 18px;
	font-size: 14.5px;
	font-weight: 600;
	margin-bottom: 24px;
	border: 1px solid var(--line);
}
.notice-ok {
	background: var(--green-soft);
	color: var(--green);
	border-color: transparent;
}
.notice-err {
	background: var(--accent-soft);
	color: var(--accent-d);
	border-color: transparent;
}

@media (max-width: 780px) {
	.contact-grid {
		grid-template-columns: 1fr;
	}
}

/* CLICKABLE CARDS (stretched link) */
.course .card-link::after {
	content: "";
	position: absolute;
	inset: 0;
	/* Above the cover badge (3) and tag (2) so the whole card is clickable. */
	z-index: 5;
}

/* DETAIL PAGES */
.back-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 700;
	color: var(--muted);
	margin-bottom: 22px;
}
.back-link:hover {
	color: var(--accent-d);
}
.detail-grid {
	display: grid;
	grid-template-columns: 1.4fr 0.9fr;
	gap: 36px;
	align-items: start;
}
.detail-body h1 {
	font-size: clamp(1.8rem, 3.4vw, 2.6rem);
	margin: 12px 0 16px;
}
.detail-body .c-inst {
	margin-bottom: 14px;
}
.detail-body .c-meta {
	margin-bottom: 20px;
	font-size: 13.5px;
}
.detail-desc {
	color: var(--muted);
	font-size: 1.05rem;
	margin-bottom: 26px;
	max-width: 60ch;
}
.detail-sub {
	font-size: 18px;
	margin-bottom: 14px;
}
.detail-list {
	list-style: none;
	display: grid;
	gap: 12px;
}
.detail-list li {
	display: flex;
	gap: 10px;
	font-size: 15px;
	color: var(--ink-2);
}
.detail-list li svg {
	color: var(--accent);
	flex: none;
	margin-top: 2px;
}
.detail-buy {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 20px;
	overflow: hidden;
	position: sticky;
	top: 92px;
	box-shadow: var(--sh);
}
.detail-cover {
	height: 180px;
}
.detail-buy .buy-body {
	padding: 22px;
	display: grid;
	gap: 12px;
}
.detail-buy .price .now,
.detail-buy .price .single {
	font-size: 26px;
	font-weight: 800;
}
.detail-buy .btn {
	width: 100%;
	justify-content: center;
}
.detail-buy .assure-mini {
	font-size: 12px;
	color: var(--muted);
	text-align: center;
	margin-top: 4px;
}

@media (max-width: 820px) {
	.detail-grid {
		grid-template-columns: 1fr;
	}
	.detail-buy {
		position: static;
	}
}

/* WOOCOMMERCE — MY ACCOUNT / LOGIN */
.woocommerce-account .woocommerce {
	max-width: 1000px;
	margin: 0 auto;
}
.woocommerce-account .woocommerce .u-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: start;
}
/* Woo's clearfix pseudo-elements would otherwise become stray grid items. */
.woocommerce-account .woocommerce .u-columns::before,
.woocommerce-account .woocommerce .u-columns::after {
	display: none;
}
.woocommerce-account .woocommerce .u-columns .u-column1,
.woocommerce-account .woocommerce .u-columns .u-column2 {
	width: auto;
	max-width: none;
	float: none;
	margin: 0;
}
.woocommerce-account .woocommerce h2 {
	font-family: var(--fd);
	font-weight: 600;
	font-size: 1.5rem;
	letter-spacing: -0.01em;
	margin-bottom: 16px;
}
.woocommerce-account .woocommerce form.woocommerce-form-login,
.woocommerce-account .woocommerce form.woocommerce-form-register,
.woocommerce-account .woocommerce form.edit-account,
.woocommerce-account .woocommerce form.woocommerce-EditAccountForm {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 18px;
	box-shadow: var(--sh);
	padding: 28px 26px;
}
.woocommerce-account .woocommerce .woocommerce-form-row label,
.woocommerce-account .woocommerce .form-row label {
	font-size: 14px;
	font-weight: 700;
	color: var(--ink-2);
	margin-bottom: 6px;
	display: block;
}
.woocommerce-account .woocommerce .input-text,
.woocommerce-account .woocommerce input[type="text"],
.woocommerce-account .woocommerce input[type="email"],
.woocommerce-account .woocommerce input[type="password"] {
	font-family: var(--f);
	font-size: 15px;
	color: var(--ink);
	background: var(--bg);
	border: 1.5px solid var(--line);
	border-radius: 12px;
	padding: 11px 13px;
	width: 100%;
	box-sizing: border-box;
	transition:
		border-color 0.2s,
		box-shadow 0.2s;
}
.woocommerce-account .woocommerce .input-text:focus,
.woocommerce-account .woocommerce input[type="text"]:focus,
.woocommerce-account .woocommerce input[type="email"]:focus,
.woocommerce-account .woocommerce input[type="password"]:focus {
	outline: none;
	border-color: var(--accent);
	box-shadow: 0 0 0 4px var(--accent-soft);
}
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce input.button,
.woocommerce-account .woocommerce a.button {
	font-family: var(--f);
	font-size: 15px;
	font-weight: 700;
	background: var(--accent);
	color: #fff;
	border: none;
	border-radius: 12px;
	padding: 12px 22px;
	box-shadow: 0 8px 20px -8px rgb(255 117 31 / 65%);
	transition:
		background 0.2s,
		transform 0.18s,
		box-shadow 0.2s;
}
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce input.button:hover,
.woocommerce-account .woocommerce a.button:hover {
	background: var(--accent-d);
	transform: translateY(-1px);
}
.woocommerce-account .woocommerce .woocommerce-form-login__rememberme {
	font-weight: 600;
	color: var(--muted);
}
.woocommerce-account .woocommerce .lost_password a,
.woocommerce-account .woocommerce .woocommerce-LostPassword a {
	color: var(--muted);
	font-weight: 600;
}
.woocommerce-account .woocommerce .lost_password a:hover,
.woocommerce-account .woocommerce .woocommerce-LostPassword a:hover {
	color: var(--accent-d);
}

/* Logged-in dashboard */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	display: grid;
	gap: 4px;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 10px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 11px 14px;
	border-radius: 10px;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--ink-2);
	transition:
		background 0.2s,
		color 0.2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--bg);
	color: var(--accent-d);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--ink);
	color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 26px;
}
.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--accent-d);
	font-weight: 600;
}

@media (max-width: 720px) {
	.woocommerce-account .woocommerce .u-columns {
		grid-template-columns: 1fr;
	}
}

/* ENTERPRISE AUTH (account login / register) */
.auth {
	padding: 48px 0 72px;
}
.auth-shell {
	max-width: 1060px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.04fr 1fr;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 28px;
	overflow: hidden;
	box-shadow:
		0 1px 0 rgb(255 255 255 / 60%) inset,
		0 40px 80px -32px rgb(22 23 28 / 40%),
		0 12px 30px -18px rgb(22 23 28 / 30%);
}
.auth-brand {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: #fff;
	padding: 48px 44px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 26px;
	background:
		radial-gradient(
			120% 90% at 88% 6%,
			rgb(255 117 31 / 34%),
			transparent 52%
		),
		radial-gradient(
			90% 70% at 0% 100%,
			rgb(255 117 31 / 12%),
			transparent 55%
		),
		linear-gradient(160deg, #23262f 0%, #1a1c24 46%, #131419 100%);
}
.auth-brand::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(
		rgb(255 255 255 / 6%) 1px,
		transparent 1px
	);
	background-size: 22px 22px;
	mask-image: linear-gradient(180deg, #000 0%, transparent 70%);
	pointer-events: none;
}
.auth-brand > * {
	position: relative;
}
.auth-eyebrow {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #ffb680;
	background: rgb(255 117 31 / 12%);
	border: 1px solid rgb(255 117 31 / 26%);
	padding: 6px 13px;
	border-radius: 100px;
}
.auth-headline {
	font-family: var(--fd);
	font-weight: 600;
	font-size: clamp(1.7rem, 2.6vw, 2.3rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 12px 0;
	color: #fff;
}
.auth-headline em {
	font-style: italic;
	color: var(--accent);
}
.auth-lead {
	color: #c7c4c0;
	font-size: 1rem;
	max-width: 38ch;
}
.auth-benefits {
	list-style: none;
	display: grid;
	gap: 13px;
	margin: 0;
	padding: 0;
}
.auth-benefits li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14.5px;
	font-weight: 600;
	color: #e4e2de;
}
.auth-benefits li svg {
	width: 28px;
	height: 28px;
	padding: 6px;
	box-sizing: border-box;
	border-radius: 9px;
	background: rgb(255 117 31 / 15%);
	color: var(--accent);
	flex: none;
}
.auth-quote {
	margin: 4px 0 0;
	padding: 20px;
	border-radius: 16px;
	background: rgb(255 255 255 / 6%);
	border: 1px solid rgb(255 255 255 / 12%);
	backdrop-filter: blur(6px);
}
.auth-quote-stars {
	color: var(--gold);
	letter-spacing: 2px;
	font-size: 13px;
}
.auth-quote blockquote {
	margin: 10px 0 16px;
	font-family: var(--fd);
	font-weight: 500;
	font-size: 1.02rem;
	line-height: 1.5;
	color: #fff;
}
.auth-quote figcaption {
	display: flex;
	align-items: center;
	gap: 12px;
}
.auth-quote-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	flex: none;
	font-size: 13px;
	font-weight: 800;
	color: #fff;
	background: linear-gradient(135deg, var(--accent), #ff9d4d);
}
.auth-quote-meta {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}
.auth-quote-meta b {
	font-size: 14px;
	color: #fff;
}
.auth-quote-meta small {
	font-size: 12.5px;
	color: #12d97e;
	font-weight: 600;
}
.auth-trust {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding-top: 4px;
	font-size: 12.5px;
	font-weight: 600;
	color: #a7a4a0;
}
.auth-trust .stars {
	color: var(--gold);
	font-size: 13px;
}
.auth-forms {
	padding: 46px 42px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
}
.auth-head .auth-title {
	font-family: var(--fd);
	font-weight: 600;
	font-size: 1.7rem;
	letter-spacing: -0.01em;
	margin-bottom: 6px;
	color: var(--ink);
}
.auth-head .auth-subtitle {
	font-size: 14.5px;
	color: var(--muted);
}
.auth-switch {
	font-size: 14px;
	color: var(--muted);
	padding-top: 18px;
	margin-top: 6px;
	border-top: 1px solid var(--line);
}
.auth-link {
	font-family: var(--f);
	font-size: 14px;
	font-weight: 700;
	color: var(--accent-d);
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}
.auth-link:hover {
	text-decoration: underline;
}
/* Login / register text swap. */
.auth-forms .a-register {
	display: none;
}
.auth-forms.show-register .a-login {
	display: none;
}
.auth-forms.show-register .a-register {
	display: inline;
}

/* WooCommerce output inside the auth panel */
.woocommerce-account .auth-body .woocommerce {
	max-width: none;
	margin: 0;
}
.woocommerce-account .auth-body .woocommerce .u-columns {
	display: block;
}
.woocommerce-account .auth-body .u-column2 {
	display: none;
}
.auth-forms.show-register .u-column1 {
	display: none;
}
.auth-forms.show-register .u-column2 {
	display: block;
}
.woocommerce-account .auth-body .woocommerce h2 {
	display: none;
}
.woocommerce-account .auth-body .woocommerce form.woocommerce-form-login,
.woocommerce-account .auth-body .woocommerce form.woocommerce-form-register {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
}
.woocommerce-account .auth-body .woocommerce .form-row {
	margin-bottom: 16px;
}
.auth-body .woocommerce-LostPassword {
	margin-top: 14px;
	margin-bottom: 0;
}
.auth-body .woocommerce-privacy-policy-text p {
	font-size: 12.5px;
	color: var(--muted);
	margin-bottom: 16px;
}

/* Elite form polish */
.woocommerce-account .auth-body .woocommerce .input-text {
	background: #fff;
	border-color: #e6e2d9;
	border-radius: 12px;
	padding: 13px 15px;
	font-size: 15px;
	box-shadow: 0 1px 2px rgb(22 23 28 / 4%);
}
.woocommerce-account .auth-body .woocommerce .password-input {
	position: relative;
	display: block;
}
.woocommerce-account .auth-body .woocommerce .password-input .input-text {
	padding-right: 46px;
}
.auth-body .show-password-input {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--muted-2);
	cursor: pointer;
}
.auth-body .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	margin-bottom: 14px;
	font-size: 14px;
}
.auth-body .woocommerce-form-login__rememberme input {
	appearance: none;
	width: 18px;
	height: 18px;
	margin: 0 9px 0 0;
	border: 1.5px solid #d9d4c9;
	border-radius: 5px;
	cursor: pointer;
	transition:
		background 0.15s,
		border-color 0.15s;
}
.auth-body .woocommerce-form-login__rememberme input:checked {
	border-color: var(--accent);
	background: var(--accent)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")
		center / 12px no-repeat;
}
.woocommerce-account .auth-body .woocommerce button.button {
	width: 100%;
	justify-content: center;
	text-align: center;
	margin-top: 4px;
	padding: 14px 22px;
	font-size: 15px;
	letter-spacing: 0.01em;
	background: linear-gradient(180deg, #ff8a3d, var(--accent));
	box-shadow:
		0 10px 22px -8px rgb(255 117 31 / 60%),
		0 1px 0 rgb(255 255 255 / 30%) inset;
}
.woocommerce-account .auth-body .woocommerce button.button:hover {
	background: linear-gradient(180deg, var(--accent), var(--accent-d));
	transform: translateY(-2px);
	box-shadow: 0 16px 30px -10px rgb(255 117 31 / 62%);
}

/* Free-trial form (custom, non-Woo) */
.auth-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.auth-form .field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.pw-field {
	position: relative;
}
.auth-form .pw-field input {
	padding-right: 46px;
}
.pw-toggle {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: none;
	border-radius: 8px;
	background: none;
	color: var(--muted-2);
	cursor: pointer;
	transition: color 0.2s;
}
.pw-toggle:hover {
	color: var(--accent-d);
}
.pw-toggle .pw-eye-off {
	display: none;
}
.pw-toggle.showing .pw-eye {
	display: none;
}
.pw-toggle.showing .pw-eye-off {
	display: block;
}
.auth-form label {
	font-size: 14px;
	font-weight: 700;
	color: var(--ink-2);
}
.auth-form input[type="text"],
.auth-form input[type="email"],
.auth-form input[type="password"] {
	font-family: var(--f);
	font-size: 15px;
	color: var(--ink);
	background: #fff;
	border: 1.5px solid #e6e2d9;
	border-radius: 12px;
	padding: 13px 15px;
	width: 100%;
	box-shadow: 0 1px 2px rgb(22 23 28 / 4%);
	transition:
		border-color 0.2s,
		box-shadow 0.2s;
}
.auth-form input:focus {
	outline: none;
	border-color: var(--accent);
	box-shadow: 0 0 0 4px var(--accent-soft);
}
.auth-form .field small {
	font-size: 12.5px;
	color: var(--muted);
}
.auth-consent {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin-top: 2px;
	padding: 13px 15px;
	font-size: 13.5px;
	color: var(--muted);
	line-height: 1.5;
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: 12px;
	cursor: pointer;
}
.auth-consent input {
	appearance: none;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	flex: none;
	border: 1.5px solid #d9d4c9;
	border-radius: 5px;
	cursor: pointer;
	transition:
		background 0.15s,
		border-color 0.15s;
}
.auth-consent input:checked {
	border-color: var(--accent);
	background: var(--accent)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")
		center / 12px no-repeat;
}
.auth-submit {
	width: 100%;
	justify-content: center;
	margin-top: 6px;
	padding: 15px 22px;
	font-size: 15.5px;
	background: linear-gradient(180deg, #ff8a3d, var(--accent));
	box-shadow:
		0 10px 22px -8px rgb(255 117 31 / 60%),
		0 1px 0 rgb(255 255 255 / 30%) inset;
}
.auth-submit:hover {
	background: linear-gradient(180deg, var(--accent), var(--accent-d));
}

@media (max-width: 860px) {
	.auth-shell {
		grid-template-columns: 1fr;
	}
	.auth-brand {
		padding: 34px 28px;
		gap: 20px;
	}
	.auth-forms {
		padding: 30px 24px;
	}
}

/* WooCommerce product cards (Kurslar page) */
.product-card .cover {
	height: auto;
	aspect-ratio: 4 / 3;
}
.product-card .cover.has-img {
	padding: 0;
	background: #20222b;
}
.product-card .cover.has-img img {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
.product-card .cover.has-img::before {
	z-index: 1;
	background: linear-gradient(
		180deg,
		rgb(20 22 30 / 10%),
		rgb(20 22 30 / 70%)
	);
}
.product-card .cover.has-img::after {
	display: none;
}
.product-card .cover .tag,
.product-card .cover .badge {
	z-index: 2;
}
/* Year tag sits flush in the cover's bottom-left corner (no gap). */
.course .cover .tag {
	position: absolute;
	left: 0;
	bottom: 0;
	margin: 0;
	border-radius: 0 8px 0 0;
}
.product-card .c-body h3 {
	font-size: 16px;
	line-height: 1.3;
	margin-bottom: 14px;
}
.product-card .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
	line-height: 1.2;
}
.product-card .price ins {
	text-decoration: none;
}
.product-card .price .woocommerce-Price-amount {
	font-size: 18px;
	font-weight: 800;
	color: var(--ink);
}
.product-card .price del .woocommerce-Price-amount {
	font-size: 13px;
	font-weight: 600;
	color: var(--muted-2);
	text-decoration: line-through;
}
.product-card .price .woocommerce-price-suffix {
	display: none;
}

/* WOOCOMMERCE — shop & single product */
.woo-page {
	padding-bottom: 44px;
}
.woo-page .product .product_title {
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	margin-bottom: 12px;
}
.woo-page .product .price,
.woo-page .product p.price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 18px;
	color: var(--ink);
	font-size: 1.5rem;
	font-weight: 800;
}
.woo-page .product .price del {
	color: var(--muted-2);
	font-weight: 600;
	font-size: 1rem;
}
.woo-page .product .price ins {
	text-decoration: none;
}
.woo-page .product .price .woocommerce-price-suffix {
	font-size: 12px;
	font-weight: 600;
	color: var(--muted);
}
.woo-page .woocommerce-product-details__short-description {
	color: var(--muted);
	margin-bottom: 22px;
}
.woo-page a.button,
.woo-page button.button,
.woo-page input.button,
.woo-page .single_add_to_cart_button {
	font-family: var(--f);
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(180deg, #ff8a3d, var(--accent));
	border: none;
	border-radius: 12px;
	padding: 13px 26px;
	box-shadow: 0 10px 22px -8px rgb(255 117 31 / 55%);
	transition:
		transform 0.18s,
		box-shadow 0.2s,
		background 0.2s;
}
.woo-page a.button:hover,
.woo-page button.button:hover,
.woo-page input.button:hover,
.woo-page .single_add_to_cart_button:hover {
	background: linear-gradient(180deg, var(--accent), var(--accent-d));
	transform: translateY(-2px);
}
.woo-page .quantity input.qty {
	border: 1.5px solid var(--line);
	border-radius: 10px;
	padding: 10px 8px;
	font-family: var(--f);
}
.woo-page .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
	padding: 0;
	border: none;
}
.woo-page .woocommerce-tabs ul.tabs::before {
	display: none;
}
.woo-page .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 100px;
}
.woo-page .woocommerce-tabs ul.tabs li::before,
.woo-page .woocommerce-tabs ul.tabs li::after {
	display: none;
}
.woo-page .woocommerce-tabs ul.tabs li a {
	padding: 9px 18px;
	color: var(--ink-2);
	font-weight: 700;
}
.woo-page .woocommerce-tabs ul.tabs li.active {
	background: var(--ink);
	border-color: var(--ink);
}
.woo-page .woocommerce-tabs ul.tabs li.active a {
	color: #fff;
}
.woo-page .woocommerce-Tabs-panel h2 {
	font-size: 1.4rem;
	margin-bottom: 14px;
}
.woo-page ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.woo-page ul.products::before,
.woo-page ul.products::after {
	display: none;
}
.woo-page ul.products li.product {
	width: auto;
	margin: 0;
	float: none;
	position: relative;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 14px;
	transition:
		transform 0.22s var(--ease),
		box-shadow 0.22s;
}
.woo-page ul.products li.product:hover {
	transform: translateY(-5px);
	box-shadow: var(--sh);
}
.woo-page ul.products li.product img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 10px;
	margin-bottom: 12px;
}
.woo-page ul.products li.product .onsale {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 2;
	margin: 0;
	min-width: 0;
	min-height: 0;
	padding: 4px 10px;
	border-radius: 100px;
	background: var(--accent);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.5;
}
.woo-page ul.products li.product .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 12px;
	padding: 9px 16px;
	border-radius: 10px;
	background: var(--ink);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s;
}
.woo-page ul.products li.product .button:hover {
	background: var(--accent);
}
.woo-page ul.products li.product .woocommerce-loop-product__title {
	padding: 0 0 8px;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.3;
}
.woo-page ul.products li.product .price {
	font-size: 15px;
	color: var(--ink);
}
.woo-page .related > h2,
.woo-page .upsells > h2 {
	font-family: var(--fd);
	font-weight: 600;
	font-size: 1.6rem;
	margin: 40px 0 20px;
}

@media (max-width: 900px) {
	.woo-page ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.woo-page ul.products {
		grid-template-columns: 1fr;
	}
}

/* LearnDash course detail */
.course-hero {
	padding: 40px 0 6px;
}
.course-hero h1 {
	margin-top: 14px;
	font-size: clamp(1.7rem, 3.4vw, 2.6rem);
}
.ld-course .learndash-wrapper .ld-expand-button {
	background-color: var(--accent);
	border-color: var(--accent);
}
.ld-course .learndash-wrapper .ld-expand-button:hover {
	background-color: var(--accent-d);
	border-color: var(--accent-d);
}

/* Elite single product detail */
.woo-page .woocommerce-breadcrumb {
	margin-bottom: 20px;
	font-size: 13px;
	color: var(--muted-2);
}
.woo-page .woocommerce-breadcrumb a {
	color: var(--muted);
	font-weight: 600;
}
.woo-page .woocommerce-breadcrumb a:hover {
	color: var(--accent-d);
}
.woo-page .product-top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 44px;
	margin-bottom: 12px;
}
.woo-page .product-top .woocommerce-product-gallery {
	width: calc(50% - 22px);
	margin: 0;
	float: none;
	position: relative;
}
.woo-page .product-top .woocommerce-product-gallery img {
	border-radius: 16px;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.woo-page .product-top .summary {
	width: calc(50% - 22px);
	margin: 0;
	float: none;
	position: sticky;
	top: 92px;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 20px;
	padding: 28px 26px;
	box-shadow: var(--sh);
}
.woo-page .summary .product_title {
	font-size: clamp(1.35rem, 2.4vw, 1.8rem);
	margin-bottom: 12px;
}
.pd-inst {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 700;
	color: var(--ink-2);
}
.pd-ava {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--accent);
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 12px;
	font-weight: 800;
	flex: none;
}
.pd-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}
.pd-meta li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--muted);
}
.pd-meta li svg {
	color: var(--muted-2);
	flex: none;
}
.pd-includes {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--line);
}
.pd-includes-title {
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.pd-includes ul {
	display: grid;
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}
.pd-includes li {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 14px;
	color: var(--ink-2);
}
.pd-includes li svg {
	color: var(--accent);
	flex: none;
	margin-top: 1px;
}
.pd-trust {
	margin-top: 14px;
	font-size: 12.5px;
	color: var(--muted);
}
.woo-page .summary form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 0 0 4px;
}
/* Tabs as pills (higher specificity than WC defaults) */
.woo-page div.product .woocommerce-tabs {
	margin-top: 48px;
}
.woo-page div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
	border: none !important;
}
.woo-page div.product .woocommerce-tabs ul.tabs::before,
.woo-page div.product .woocommerce-tabs ul.tabs::after {
	display: none !important;
	border: 0 !important;
}
.woo-page div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 100px;
}
.woo-page div.product .woocommerce-tabs ul.tabs li::before,
.woo-page div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}
.woo-page div.product .woocommerce-tabs ul.tabs li a {
	padding: 9px 18px;
	color: var(--ink-2);
	font-weight: 700;
}
.woo-page div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--ink);
	border-color: var(--ink);
}
.woo-page div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff;
}
.woo-page .woocommerce-Tabs-panel img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}

/* Sale flash on the gallery */
.woo-page .product-top .onsale {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	margin: 0;
	min-width: 0;
	min-height: 0;
	padding: 5px 12px;
	border-radius: 100px;
	background: var(--accent);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.5;
}

/* Price */
.woo-page .summary .price {
	display: flex;
	flex-flow: row wrap;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 16px;
	color: var(--ink);
	font-size: 26px;
	font-weight: 800;
	line-height: 1.1;
}
.woo-page .summary .price del {
	opacity: 1;
	font-size: 16px;
	font-weight: 600;
	color: var(--muted-2);
}
.woo-page .summary .price ins {
	text-decoration: none;
	color: var(--accent-d);
}

/* Stock */
.woo-page .summary .stock {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 700;
}
.woo-page .summary .stock.in-stock {
	color: var(--green);
}
.woo-page .summary .stock.out-of-stock {
	color: var(--accent-d);
}

/* Quantity + add-to-cart */
.woo-page .summary .quantity .qty {
	width: 76px;
	min-height: 50px;
	padding: 10px 12px;
	border: 1.5px solid var(--line);
	border-radius: 12px;
	font-family: var(--f);
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	color: var(--ink);
	background: #fff;
}
.woo-page .summary .single_add_to_cart_button {
	flex: 1 1 200px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 13px 22px;
	border: 0;
	border-radius: 12px;
	background: var(--accent);
	color: #fff;
	font-family: var(--f);
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
	transition:
		background 0.2s,
		transform 0.18s var(--ease);
}
.woo-page .summary .single_add_to_cart_button:hover {
	background: var(--accent-d);
	transform: translateY(-1px);
}

/* Product meta */
.woo-page .summary .product_meta {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--line);
	font-size: 13px;
	color: var(--muted);
}
.woo-page .summary .product_meta > span {
	display: block;
	margin-bottom: 4px;
}
.woo-page .summary .product_meta a {
	color: var(--ink-2);
	font-weight: 600;
}
.woo-page .summary .product_meta a:hover {
	color: var(--accent-d);
}

@media (max-width: 820px) {
	.woo-page .product-top {
		gap: 24px;
	}
	.woo-page .product-top .woocommerce-product-gallery,
	.woo-page .product-top .summary {
		width: 100%;
	}
	.woo-page .product-top .summary {
		position: static;
	}
}

/* WooCommerce checkout */
/* ===== Classic cart page ===== */
.woocommerce-cart .entry-content {
	max-width: 1080px;
	margin: 0 auto;
}
.woocommerce-cart table.shop_table {
	margin-bottom: 26px;
	border: 1px solid var(--line);
	border-radius: 16px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--surface);
}
.woocommerce-cart table.shop_table th {
	padding: 14px 16px;
	background: var(--bg);
	font-size: 12.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--ink-2);
	border: 0;
}
.woocommerce-cart table.shop_table td {
	padding: 16px;
	border-top: 1px solid var(--line);
	vertical-align: middle;
}
.woocommerce-cart table.shop_table td.product-thumbnail img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 10px;
}
.woocommerce-cart table.shop_table td.product-name a {
	color: var(--ink);
	font-weight: 700;
}
.woocommerce-cart table.shop_table td.product-name a:hover {
	color: var(--accent-d);
}
.woocommerce-cart .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--bg);
	color: var(--muted) !important;
	font-size: 18px;
	line-height: 1;
	transition:
		background 0.2s,
		color 0.2s;
}
.woocommerce-cart .product-remove a.remove:hover {
	background: var(--accent-soft);
	color: var(--accent-d) !important;
}
.woocommerce-cart .quantity .qty {
	width: 74px;
	min-height: 44px;
	padding: 8px 10px;
	border: 1.5px solid var(--line);
	border-radius: 10px;
	font-family: var(--f);
	font-weight: 700;
	text-align: center;
}
.woocommerce-cart td.actions .coupon .input-text {
	min-height: 44px;
	margin-right: 8px;
	padding: 10px 12px;
	border: 1.5px solid var(--line);
	border-radius: 10px;
}
.woocommerce-cart td.actions .button {
	min-height: 44px;
	padding: 11px 18px;
	border: 0;
	border-radius: 10px;
	background: var(--ink);
	color: #fff;
	font-weight: 700;
}
.woocommerce-cart td.actions .button:hover {
	background: var(--accent);
}
.woocommerce-cart .cart-collaterals {
	display: flex;
	justify-content: flex-end;
}
.woocommerce-cart .cart_totals {
	width: 100%;
	max-width: 420px;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 24px;
}
.woocommerce-cart .cart_totals h2 {
	font-size: 1.15rem;
	margin-bottom: 14px;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	padding: 10px 0;
	border-top: 1px solid var(--line);
	font-size: 14.5px;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	margin-top: 8px;
	padding: 15px 22px;
	border: 0;
	border-radius: 12px;
	/* WooCommerce sets its default purple with high specificity. */
	background: linear-gradient(180deg, #ff8a3d, var(--accent)) !important;
	color: #fff !important;
	font-family: var(--f);
	font-size: 15.5px;
	font-weight: 800;
	text-align: center;
	box-shadow: 0 10px 22px -8px rgb(255 117 31 / 55%);
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	background: linear-gradient(180deg, var(--accent), var(--accent-d)) !important;
}
.woocommerce-cart .cart-empty {
	border-top-color: var(--accent);
	border-radius: 10px;
}
.woocommerce-cart .return-to-shop .button {
	display: inline-flex;
	padding: 13px 22px;
	border-radius: 12px;
	background: var(--accent);
	color: #fff;
	font-weight: 700;
}
.woocommerce-cart .return-to-shop .button:hover {
	background: var(--accent-d);
}

.woocommerce-checkout form.checkout .form-row label {
	font-size: 14px;
	font-weight: 600;
	color: var(--ink-2);
}
.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout textarea,
.woocommerce-checkout form.checkout select {
	border: 1.5px solid var(--line);
	border-radius: 10px;
	padding: 11px 13px;
	min-height: 46px;
	font-family: var(--f);
	font-size: 15px;
	box-sizing: border-box;
}
.woocommerce-checkout form.checkout .input-text:focus,
.woocommerce-checkout form.checkout textarea:focus,
.woocommerce-checkout form.checkout select:focus {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px var(--accent-soft);
	outline: none;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	border: 1px solid var(--line);
	border-radius: 14px;
	overflow: hidden;
}
.woocommerce-checkout #payment {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
}
.woocommerce-checkout #place_order {
	width: 100%;
	padding: 15px 22px;
	border: none;
	border-radius: 12px;
	/* WooCommerce sets its default purple with high specificity. */
	background: linear-gradient(180deg, #ff8a3d, var(--accent)) !important;
	color: #fff !important;
	font-family: var(--f);
	font-size: 15.5px;
	font-weight: 700;
	box-shadow: 0 10px 22px -8px rgb(255 117 31 / 55%);
	transition:
		background 0.2s,
		transform 0.18s;
}
.woocommerce-checkout #place_order:hover {
	background: linear-gradient(
		180deg,
		var(--accent),
		var(--accent-d)
	) !important;
	transform: translateY(-1px);
}
/* ===== WooCommerce notices (added-to-cart etc.) ===== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin: 0 0 24px;
	padding: 15px 18px;
	/* !important defeats WooCommerce's own full/top borders on these notices. */
	border: 1px solid var(--line) !important;
	border-left-width: 4px !important;
	border-radius: 12px !important;
	background: var(--surface);
	box-shadow: var(--sh);
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ink-2);
	list-style: none;
}
.woocommerce-message {
	border-left-color: var(--green) !important;
}
.woocommerce-info {
	border-left-color: var(--accent) !important;
}
.woocommerce-error {
	border-left-color: #e0483d !important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	position: static;
	top: auto;
	left: auto;
	margin: 0;
	font-size: 18px;
	flex: none;
}
.woocommerce-message::before {
	color: var(--green);
}
.woocommerce-info::before {
	color: var(--accent-d);
}
.woocommerce-error::before {
	color: #e0483d;
}
.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button {
	float: none;
	margin: 0 0 0 auto;
	padding: 9px 16px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--ink) !important;
	color: #fff !important;
	font-size: 13.5px;
	font-weight: 700;
}
.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
.woocommerce-error a.button:hover {
	background: var(--accent) !important;
}

/* ===== Stripe-style elite checkout ===== */
.woocommerce-checkout .entry-content {
	max-width: 1080px;
	margin: 0 auto;
}
.hukukup-checkout .co-grid {
	display: grid;
	grid-template-columns: 1.45fr 1fr;
	gap: 40px;
	align-items: start;
}
.hukukup-checkout .co-heading,
.hukukup-checkout .woocommerce-billing-fields > h3,
.hukukup-checkout .woocommerce-shipping-fields h3,
.hukukup-checkout .woocommerce-additional-fields > h3 {
	font-family: var(--fd);
	font-weight: 600;
	font-size: 1.15rem;
	letter-spacing: -0.01em;
	margin: 0 0 16px;
	color: var(--ink);
}
/* Left column cards */
.hukukup-checkout .woocommerce-billing-fields,
.hukukup-checkout .woocommerce-shipping-fields,
.hukukup-checkout .woocommerce-additional-fields,
.hukukup-checkout .co-payment {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 18px;
}
.hukukup-checkout .woocommerce-additional-fields {
	margin-bottom: 18px;
}
/* Virtual courses need no shipping — hide the empty shipping card WooCommerce
   still outputs, so it doesn't show as a blank box. */
.hukukup-checkout .woocommerce-shipping-fields:not(:has(*)) {
	display: none;
}
/* Fields */
.hukukup-checkout .form-row {
	margin: 0 0 14px;
	padding: 0;
}
.hukukup-checkout .form-row label {
	display: block;
	margin-bottom: 6px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink-2);
}
.hukukup-checkout .form-row .required {
	color: var(--accent-d);
	text-decoration: none;
}
.hukukup-checkout .input-text,
.hukukup-checkout select,
.hukukup-checkout textarea,
.hukukup-checkout .select2-selection {
	width: 100%;
	box-sizing: border-box;
	border: 1.5px solid var(--line) !important;
	border-radius: 10px !important;
	background: var(--bg);
	font-family: var(--f);
	font-size: 15px;
	color: var(--ink);
}
.hukukup-checkout .input-text,
.hukukup-checkout textarea {
	padding: 12px 14px;
}
.hukukup-checkout .select2-container .select2-selection--single {
	height: 46px;
	display: flex;
	align-items: center;
	padding: 0 6px;
}
.hukukup-checkout select {
	height: 46px;
	padding: 0 12px;
}
.hukukup-checkout .input-text:focus,
.hukukup-checkout textarea:focus,
.hukukup-checkout select:focus {
	border-color: var(--accent) !important;
	box-shadow: 0 0 0 3px var(--accent-soft);
	outline: none;
}
.hukukup-checkout .form-row-first,
.hukukup-checkout .form-row-last {
	width: calc(50% - 7px);
	float: none;
	display: inline-block;
	vertical-align: top;
}
.hukukup-checkout .form-row-first {
	margin-right: 12px;
}
/* Shipping toggle */
.hukukup-checkout .woocommerce-shipping-fields h3 label {
	font-family: var(--fd);
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--ink);
	cursor: pointer;
}
/* Order summary (right, sticky) */
.hukukup-checkout .co-aside {
	position: sticky;
	top: 92px;
}
.hukukup-checkout .co-summary {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 24px 22px;
	box-shadow: var(--sh);
}
.hukukup-checkout .co-summary .shop_table {
	width: 100%;
	margin: 0;
	border: none;
	border-radius: 0;
}
.hukukup-checkout .co-summary .shop_table td,
.hukukup-checkout .co-summary .shop_table th {
	border: none;
	padding: 12px 0;
	background: none;
	vertical-align: top;
}
.hukukup-checkout .co-summary tbody .product-name {
	width: 100%;
}
.hukukup-checkout .co-summary tbody .product-total {
	padding-left: 12px;
	white-space: nowrap;
}
.hukukup-checkout .co-summary tbody tr:not(:last-child) td {
	border-bottom: 1px solid var(--line);
}
.hukukup-checkout .co-item {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}
.hukukup-checkout .co-item-info {
	flex: 1;
	min-width: 0;
}
.hukukup-checkout .co-thumb {
	position: relative;
	width: 54px;
	height: 54px;
	flex: none;
}
.hukukup-checkout .co-thumb img {
	width: 54px;
	height: 54px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid var(--line);
}
.hukukup-checkout .co-qty {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	display: grid;
	place-items: center;
	border-radius: 100px;
	background: var(--ink);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}
.hukukup-checkout .co-item-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ink);
}
.hukukup-checkout .co-summary .product-total,
.hukukup-checkout .co-summary tfoot td {
	text-align: right;
	font-weight: 700;
	font-size: 13.5px;
}
/* Shipping row: full-width, wrapping message (not clipped in the price column). */
.hukukup-checkout .co-summary tfoot tr.shipping th,
.hukukup-checkout .co-summary tfoot tr.shipping td {
	display: block;
	width: 100%;
	padding: 4px 0;
	text-align: left;
	white-space: normal;
	font-weight: 600;
	font-size: 13px;
}
.hukukup-checkout .co-summary tfoot tr.shipping th {
	color: var(--muted);
	padding-top: 12px;
}
.hukukup-checkout .co-summary tfoot tr.shipping .woocommerce-shipping-destination,
.hukukup-checkout .co-summary tfoot tr.shipping td {
	color: var(--muted);
	font-weight: 500;
}
.hukukup-checkout .co-summary tfoot th {
	text-align: left;
	font-weight: 600;
	color: var(--muted);
}
.hukukup-checkout .co-summary tfoot .order-total th {
	font-family: var(--fd);
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--ink);
	padding-top: 15px;
}
.hukukup-checkout .co-summary tfoot .order-total td {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--ink);
	padding-top: 15px;
}
.hukukup-checkout .co-summary tfoot .order-total th,
.hukukup-checkout .co-summary tfoot .order-total td {
	border-top: 1.5px solid var(--line);
}
.hukukup-checkout .co-summary .order-total .includes_tax,
.hukukup-checkout .co-summary tfoot small {
	font-size: 11.5px;
	font-weight: 600;
	color: var(--muted);
}
/* Payment box */
.hukukup-checkout .co-payment #payment {
	background: none;
	border: none;
	padding: 0;
	border-radius: 0;
}
.hukukup-checkout .co-payment ul.payment_methods {
	margin: 0 0 18px;
	padding: 6px;
	border: 1px solid var(--line);
	border-radius: 12px;
	list-style: none;
	background: var(--bg);
}
.hukukup-checkout .co-payment ul.payment_methods li {
	margin: 0;
	padding: 13px 14px;
	border-radius: 9px;
	list-style: none;
}
.hukukup-checkout .co-payment ul.payment_methods li:hover {
	background: var(--surface);
}
.hukukup-checkout .co-payment .payment_box {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: 14px 16px;
	margin: 4px 0 0;
	font-size: 13.5px;
	color: var(--muted);
}
.hukukup-checkout .co-payment .payment_box::before {
	display: none;
}
.hukukup-checkout .woocommerce-terms-and-conditions-wrapper {
	margin: 4px 0 18px;
	font-size: 13px;
}
.hukukup-checkout .place-order {
	padding: 0;
	margin: 0;
}

@media (max-width: 900px) {
	.hukukup-checkout .co-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.hukukup-checkout .co-aside {
		position: static;
		order: -1;
	}
}
