﻿:root {
	--dcc-primary: #e31e24;
	--dcc-secondary: #0d5b3a;
	--dcc-accent: #f7941d;
	--dcc-bg: #fff7f3;
	--dcc-surface: #ffffff;
	--dcc-surface-soft: #f7fafc;
	--dcc-text: #122033;
	--dcc-muted: #5b6b80;
	--dcc-border: rgba(15, 23, 42, 0.12);
	--dcc-shadow-sm: 0 10px 24px rgba(8, 25, 47, 0.06);
	--dcc-shadow-md: 0 18px 42px rgba(8, 25, 47, 0.1);
	--dcc-shadow-lg: 0 26px 54px rgba(8, 25, 47, 0.16);
	--dcc-radius-sm: 12px;
	--dcc-radius-md: 18px;
	--dcc-radius-lg: 26px;
	--dcc-max: min(1200px, 92%);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--dcc-text);
	font-family: "Manrope", "Plus Jakarta Sans", "Segoe UI", sans-serif;
	line-height: 1.7;
	background:
		radial-gradient(circle at 7% -3%, rgba(227, 30, 36, 0.16), transparent 22%),
		radial-gradient(circle at 88% 7%, rgba(247, 148, 29, 0.16), transparent 28%),
		linear-gradient(160deg, #fff9f7 0%, #fff9f1 40%, #fff6ee 100%);
	text-rendering: optimizelegibility;
}

.dcc-layout-boxed #page {
	max-width: 1400px;
	margin: 0 auto;
	background: var(--dcc-surface);
	box-shadow: var(--dcc-shadow-lg);
}

a {
	color: var(--dcc-primary);
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: var(--dcc-secondary);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.85rem;
	color: var(--dcc-secondary);
	line-height: 1.2;
	letter-spacing: -0.02em;
	font-weight: 800;
}

p {
	margin: 0 0 1rem;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

ul,
ol {
	margin: 0;
	padding: 0;
}

.dcc-container {
	width: var(--dcc-max);
	margin: 0 auto;
}

.site-main {
	min-height: 45vh;
	padding-bottom: 3.2rem;
}

button,
.button,
input[type="submit"],
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.72rem 1.25rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--dcc-primary);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

button:hover,
.button:hover,
input[type="submit"]:hover,
.wp-element-button:hover {
	transform: translateY(-2px);
	background: var(--dcc-secondary);
	box-shadow: var(--dcc-shadow-sm);
	color: #fff;
}

.button-outline {
	background: transparent;
	border-color: rgba(227, 30, 36, 0.45);
	color: var(--dcc-primary);
}

.button-outline:hover {
	background: var(--dcc-secondary);
	border-color: transparent;
	color: #fff;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 150;
	background: rgba(255, 255, 255, 0.84);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(12, 27, 49, 0.1);
	transition: box-shadow 0.22s ease, background 0.22s ease;
}

.site-header.is-scrolled {
	box-shadow: 0 14px 26px rgba(8, 25, 47, 0.11);
	background: rgba(255, 255, 255, 0.92);
}

.header-inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 1.2rem;
	padding: 0.8rem 0;
}

.site-branding .custom-logo {
	max-height: 56px;
	width: auto;
}

.main-navigation .menu,
.main-navigation .page_item,
.main-navigation .page_item_has_children {
	list-style: none;
}

.main-navigation > div > ul,
.main-navigation .menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 0;
	margin: 0;
}

.main-navigation li {
	position: relative;
}

.main-navigation .children,
.main-navigation .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation a {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.55rem;
	border-radius: 999px;
	font-size: 0.96rem;
	font-weight: 700;
	color: var(--dcc-secondary);
}

.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation a:hover {
	background: rgba(227, 30, 36, 0.14);
	color: var(--dcc-primary);
}

.header-tools {
	display: flex;
	align-items: center;
	gap: 0.62rem;
}

.search-form {
	display: inline-flex;
	align-items: center;
	background: #fff;
	border: 1px solid var(--dcc-border);
	border-radius: 999px;
	padding: 0.24rem;
	min-width: 250px;
}

.search-form label {
	margin: 0;
	flex: 1;
}

.search-field {
	width: 100%;
	border: 0;
	background: transparent;
	padding: 0.48rem 0.72rem;
	font: inherit;
	min-width: 0;
}

.search-field:focus {
	outline: none;
}

.search-submit {
	padding: 0.46rem 0.9rem;
	box-shadow: none;
}

.cart-link,
.account-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.55rem 0.84rem;
	border-radius: 999px;
	font-weight: 700;
	white-space: nowrap;
}

.cart-link {
	background: #fff;
	color: var(--dcc-secondary);
	border: 1px solid var(--dcc-border);
}

.cart-link:hover {
	background: #f8fbff;
	color: var(--dcc-secondary);
}

.cart-link-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.1rem;
	height: 1.1rem;
}

.cart-link-icon svg {
	width: 1rem;
	height: 1rem;
	fill: currentcolor;
}

.cart-link-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	padding: 0 0.35rem;
	border-radius: 999px;
	background: var(--dcc-accent);
	color: #fff;
	font-size: 0.77rem;
	font-weight: 800;
}

.account-link {
	background: var(--dcc-secondary);
	color: #fff;
}

.account-link:hover {
	background: var(--dcc-primary);
	color: #fff;
}

.menu-toggle {
	display: none;
	align-items: center;
	gap: 0.6rem;
	padding: 0.45rem 0.78rem;
	border-radius: 999px;
	border: 1px solid var(--dcc-border);
	background: #fff;
	color: var(--dcc-secondary);
}

.menu-toggle-icon {
	position: relative;
	display: inline-block;
	width: 18px;
	height: 2px;
	background: currentcolor;
}

.menu-toggle-icon::before,
.menu-toggle-icon::after {
	content: "";
	position: absolute;
	left: 0;
	width: 18px;
	height: 2px;
	background: currentcolor;
}

.menu-toggle-icon::before {
	top: -5px;
}

.menu-toggle-icon::after {
	top: 5px;
}

.hero-section {
	padding: 3rem 0 1.8rem;
}

.hero-section--xl {
	padding-top: 3.6rem;
}

.hero-grid {
	display: grid;
	grid-template-columns: 1.3fr 0.7fr;
	gap: 1.2rem;
	align-items: stretch;
}

.hero-copy,
.hero-card {
	position: relative;
	overflow: hidden;
	background: var(--dcc-surface);
	border: 1px solid var(--dcc-border);
	border-radius: var(--dcc-radius-lg);
	padding: 2.1rem;
	box-shadow: var(--dcc-shadow-md);
}

.hero-copy::before,
.hero-card::before {
	content: "";
	position: absolute;
	inset: auto -20% -36% auto;
	width: 220px;
	height: 220px;
	background: radial-gradient(circle, rgba(227, 30, 36, 0.18), transparent 70%);
	pointer-events: none;
}

.eyebrow {
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 0.7rem;
	border-radius: 999px;
	background: rgba(227, 30, 36, 0.13);
	color: var(--dcc-primary);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	margin-bottom: 0.9rem;
}

.hero-copy h1 {
	font-size: clamp(2rem, 3.8vw, 3.2rem);
	max-width: 16ch;
}

.hero-copy p {
	max-width: 60ch;
	color: var(--dcc-muted);
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin: 1.45rem 0 1.2rem;
}

.hero-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	list-style: none;
}

.hero-stats li {
	min-width: 130px;
	padding: 0.65rem 0.75rem;
	background: var(--dcc-surface-soft);
	border: 1px solid var(--dcc-border);
	border-radius: var(--dcc-radius-sm);
}

.hero-stats strong {
	display: block;
	font-size: 1.25rem;
	color: var(--dcc-secondary);
}

.hero-stats span {
	font-size: 0.86rem;
	color: var(--dcc-muted);
}

.purchase-steps {
	list-style: none;
	display: grid;
	gap: 0.6rem;
	margin: 0 0 1rem;
}

.purchase-steps li {
	display: flex;
	gap: 0.5rem;
	padding: 0.76rem 0.85rem;
	border-radius: var(--dcc-radius-sm);
	background: var(--dcc-surface-soft);
	border: 1px solid var(--dcc-border);
	color: var(--dcc-muted);
}

.purchase-steps strong {
	color: var(--dcc-primary);
}

.hero-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-bottom: 1rem;
}

.hero-points {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.hero-points span {
	padding: 0.32rem 0.6rem;
	border-radius: 999px;
	font-size: 0.82rem;
	background: rgba(13, 91, 58, 0.10);
	color: var(--dcc-secondary);
}

.trust-strip {
	padding: 0.4rem 0 1.4rem;
}

.trust-strip-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.8rem;
	padding: 1.05rem 1.2rem;
	border-radius: var(--dcc-radius-md);
	background: #fff;
	border: 1px solid var(--dcc-border);
}

.trust-strip-inner p {
	font-weight: 700;
	margin: 0;
}

.trust-items {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.trust-items span {
	padding: 0.34rem 0.68rem;
	background: #f4f9ff;
	border-radius: 999px;
	border: 1px solid var(--dcc-border);
	font-size: 0.84rem;
	font-weight: 700;
}

.term-section,
.feature-section,
.course-section,
.learning-roadmap,
.instructor-highlight,
.testimonial-section,
.faq-section,
.blog-preview,
.final-cta {
	padding: 1.95rem 0 0.2rem;
}

.section-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	margin-bottom: 1rem;
}

.section-title a {
	font-size: 0.92rem;
	font-weight: 800;
}

.term-chip-grid,
.feature-grid,
.course-grid,
.post-grid,
.roadmap-grid,
.instructor-grid,
.testimonial-grid,
.footer-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.term-chip {
	display: flex;
	justify-content: space-between;
	gap: 0.8rem;
	padding: 0.95rem;
	border-radius: var(--dcc-radius-sm);
	border: 1px solid var(--dcc-border);
	background: #fff;
	box-shadow: var(--dcc-shadow-sm);
}

.term-chip-name {
	font-weight: 700;
	color: var(--dcc-secondary);
}

.term-chip-count {
	padding: 0.2rem 0.5rem;
	border-radius: 999px;
	font-size: 0.76rem;
	font-weight: 800;
	background: rgba(227, 30, 36, 0.14);
	color: var(--dcc-primary);
}

.feature-item,
.roadmap-card,
.instructor-card,
.testimonial-card,
.post-card,
.course-card,
.single-article,
.single-course-fallback,
.page-article,
.widget-area .widget,
.contact-details,
.contact-form-wrap,
.empty-state,
.dcc-tutor-fallback,
.faq-list details,
.tutor-card,
.tutor-course-card,
.woocommerce .cart-collaterals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .col2-set {
	background: #fff;
	border: 1px solid var(--dcc-border);
	border-radius: var(--dcc-radius-md);
	box-shadow: var(--dcc-shadow-sm);
}

.feature-item,
.roadmap-card,
.instructor-card,
.testimonial-card,
.contact-details,
.contact-form-wrap,
.faq-list details,
.empty-state,
.dcc-tutor-fallback {
	padding: 1.25rem;
}

.feature-item p,
.roadmap-card p,
.instructor-card p,
.testimonial-card p {
	color: var(--dcc-muted);
}

.course-card,
.post-card {
	overflow: hidden;
	transition: transform 0.24s ease, box-shadow 0.24s ease;
}

.course-card:hover,
.post-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--dcc-shadow-md);
}

.course-shortcode {
	padding: 1rem;
	background: #fff;
	border: 1px solid var(--dcc-border);
	border-radius: var(--dcc-radius-md);
	box-shadow: var(--dcc-shadow-sm);
}

.course-card-media img,
.post-card-media img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.course-card-content,
.post-card-content {
	padding: 1rem;
}

.course-card-content h3,
.post-card-content h2 {
	font-size: 1.08rem;
}

.course-card-content p,
.entry-summary {
	color: var(--dcc-muted);
}

.text-link {
	font-weight: 800;
	color: var(--dcc-primary);
}

.text-link:hover {
	color: var(--dcc-secondary);
}

.course-card-meta {
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
	font-size: 0.86rem;
	font-weight: 700;
	margin: 0.95rem 0 0.85rem;
}

.course-card-price {
	color: var(--dcc-secondary);
}

.course-card-students {
	color: var(--dcc-muted);
}

.course-card-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	flex-wrap: wrap;
}

.button-small {
	padding: 0.55rem 0.9rem;
	font-size: 0.86rem;
}

.instructor-avatar {
	margin-bottom: 0.7rem;
}

.instructor-avatar img {
	border-radius: 50%;
	border: 3px solid rgba(227, 30, 36, 0.2);
}

.testimonial-card {
	position: relative;
}

.testimonial-card::before {
	content: "\201C";
	position: absolute;
	top: 0.2rem;
	right: 0.7rem;
	font-size: 2.3rem;
	color: rgba(227, 30, 36, 0.2);
	font-weight: 800;
}

.testimonial-card h3 {
	font-size: 0.96rem;
	margin-bottom: 0;
}

.roadmap-card span {
	display: inline-flex;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(227, 30, 36, 0.14);
	color: var(--dcc-primary);
	font-weight: 800;
	margin-bottom: 0.8rem;
}

.faq-list {
	display: grid;
	gap: 0.8rem;
}

.faq-list summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--dcc-secondary);
	list-style: none;
}

.faq-list summary::-webkit-details-marker {
	display: none;
}

.faq-list p {
	margin-top: 0.75rem;
	color: var(--dcc-muted);
}

.final-cta {
	padding-bottom: 1.6rem;
}

.final-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.35rem;
	background: linear-gradient(120deg, rgba(227, 30, 36, 0.96), rgba(247, 148, 29, 0.96));
	border-radius: var(--dcc-radius-md);
	color: #fff;
}

.final-cta-inner h2,
.final-cta-inner p {
	color: #fff;
}

.final-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.dcc-page-header {
	padding: 2.4rem 0 1.1rem;
}

.dcc-page-header p {
	max-width: 68ch;
	color: var(--dcc-muted);
}

.content-with-sidebar {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
	gap: 1rem;
}

.single-article,
.page-article,
.single-course-fallback {
	padding: 1.3rem;
}

.entry-content {
	font-size: 1.03rem;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	margin-top: 1.7rem;
}

.entry-content blockquote {
	margin: 1.2rem 0;
	padding: 1rem 1.1rem;
	border-left: 4px solid var(--dcc-primary);
	background: var(--dcc-surface-soft);
	border-radius: 0 10px 10px 0;
	color: var(--dcc-secondary);
	font-weight: 600;
}

.entry-content code,
.entry-content pre {
	font-family: "Consolas", "SFMono-Regular", monospace;
}

.entry-content pre {
	overflow: auto;
	padding: 0.95rem;
	border-radius: 12px;
	background: #0c1323;
	color: #d8e4ff;
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;
	overflow: hidden;
	border-radius: 12px;
}

.entry-content th,
.entry-content td {
	padding: 0.6rem;
	border: 1px solid rgba(12, 27, 49, 0.08);
}

.entry-content th {
	background: #eef4ff;
	text-align: left;
}

.entry-meta {
	display: flex;
	gap: 0.7rem;
	flex-wrap: wrap;
	font-size: 0.84rem;
	color: var(--dcc-muted);
	margin-bottom: 0.85rem;
}

.single-thumbnail {
	margin-bottom: 1rem;
	overflow: hidden;
	border-radius: var(--dcc-radius-sm);
}

.comments-area {
	margin-top: 1rem;
	padding: 1rem;
	background: #fff;
	border: 1px solid var(--dcc-border);
	border-radius: var(--dcc-radius-md);
	box-shadow: var(--dcc-shadow-sm);
}

.comment-list {
	list-style: none;
}

.comment-list .comment {
	padding-bottom: 0.9rem;
	margin-bottom: 0.9rem;
	border-bottom: 1px dashed rgba(12, 27, 49, 0.17);
}

.widget-area {
	display: grid;
	gap: 1rem;
}

.widget-area .widget {
	padding: 1rem;
}

.widget-title {
	margin-bottom: 0.7rem;
	font-size: 1rem;
}

.contact-grid {
	display: grid;
	grid-template-columns: minmax(280px, 0.88fr) minmax(0, 1.12fr);
	gap: 1rem;
}

.contact-details ul {
	list-style: none;
	display: grid;
	gap: 0.75rem;
}

.error-404 {
	padding: 3.7rem 0;
	text-align: center;
}

.error-code {
	line-height: 1;
	font-size: clamp(4.2rem, 11vw, 8rem);
	font-weight: 900;
	color: rgba(227, 30, 36, 0.22);
	margin-bottom: 0.4rem;
}

.error-actions {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.site-footer {
	margin-top: 3.2rem;
	background: linear-gradient(170deg, #2d0910, #1a080b);
	color: #d8e2f0;
}

.footer-cta {
	background: linear-gradient(120deg, rgba(227, 30, 36, 0.96), rgba(247, 148, 29, 0.96));
	padding: 1.4rem 0;
}

.footer-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.footer-cta h2,
.footer-cta p {
	color: #fff;
}

.button-cta {
	background: #fff;
	color: var(--dcc-secondary);
}

.button-cta:hover {
	background: var(--dcc-accent);
}

.footer-main {
	padding: 2rem 0 1.35rem;
}

.footer-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.footer-col h3 {
	font-size: 1.02rem;
	color: #fff;
	margin-bottom: 0.75rem;
}

.footer-menu {
	list-style: none;
	display: grid;
	gap: 0.46rem;
}

.footer-col a {
	color: #d8e2f0;
}

.footer-col a:hover {
	color: #fff;
}

.footer-bottom {
	padding: 0.95rem 0;
	border-top: 1px solid rgba(216, 226, 240, 0.24);
}

.footer-bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.8rem;
}

.footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.footer-social a {
	padding: 0.24rem 0.62rem;
	border-radius: 999px;
	border: 1px solid rgba(216, 226, 240, 0.32);
}

.footer-social a:hover {
	background: var(--dcc-primary);
	border-color: transparent;
}

.dcc-tutor-banner {
	padding: 1rem 0 0.2rem;
}

.dcc-tutor-banner .dcc-container {
	padding: 0.95rem 1rem;
	background: rgba(227, 30, 36, 0.1);
	border: 1px solid var(--dcc-border);
	border-radius: var(--dcc-radius-sm);
}

.dcc-course-tip,
.dcc-learning-intro,
.dcc-quiz-intro {
	padding: 0.68rem 0.85rem;
	background: #f3f8ff;
	border: 1px solid var(--dcc-border);
	border-left: 3px solid var(--dcc-primary);
	border-radius: 10px;
	margin-bottom: 0.9rem;
}

.tutor-wrap,
.tutor-container,
.tutor-dashboard,
.tutor-dashboard-content-inner,
.woocommerce,
.woocommerce-page {
	font-family: inherit;
}

.tutor-wrap {
	padding-top: 0.8rem;
}

.tutor-btn,
.tutor-btn-primary,
.tutor-btn-outline,
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	border-radius: 999px;
	font-weight: 700;
}

.tutor-btn-primary,
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--dcc-primary);
	border-color: transparent;
	color: #fff;
}

.tutor-btn-primary:hover,
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--dcc-secondary);
}

.tutor-card,
.tutor-course-card,
.tutor-dashboard-left-menu,
.tutor-dashboard-content,
.tutor-quiz-wrap,
.tutor-single-page-top-bar,
.tutor-course-single-sidebar-wrapper,
.tutor-course-single-content-wrapper,
.tutor-lesson-content-area,
.woocommerce .woocommerce-cart-form,
.woocommerce .woocommerce-checkout-review-order-table,
.woocommerce .woocommerce-form-login,
.woocommerce .woocommerce-form-coupon {
	border-radius: var(--dcc-radius-md);
	border-color: var(--dcc-border);
	box-shadow: var(--dcc-shadow-sm);
}

.tutor-dashboard-left-menu {
	overflow: hidden;
}

.tutor-dashboard-left-menu .tutor-dashboard-menu-item.is-active a,
.tutor-dashboard-left-menu .tutor-dashboard-menu-item a:hover {
	background: rgba(227, 30, 36, 0.13);
	color: var(--dcc-primary);
}

.tutor-course-topic-item,
.tutor-course-topic-single-item,
.tutor-course-single-tab-item {
	border-radius: 10px;
}

.tutor-course-topic-single-item {
	border: 1px solid rgba(12, 27, 49, 0.09);
}

.tutor-course-single-tab-item.is-active {
	border-bottom-color: var(--dcc-primary);
}

.tutor-course-details-page .tutor-course-benefits-wrap {
	border-radius: var(--dcc-radius-sm);
}

.tutor-quiz-wrap {
	padding: 0.8rem;
}

.woocommerce .quantity .qty,
.woocommerce-checkout input,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
input,
textarea,
select {
	max-width: 100%;
	border: 1px solid rgba(12, 27, 49, 0.2);
	border-radius: 10px;
	padding: 0.55rem 0.7rem;
	font: inherit;
}

textarea {
	min-height: 120px;
}

.nav-links,
.pagination {
	display: flex;
	gap: 0.5rem;
	margin-top: 1.1rem;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(12, 27, 49, 0.16);
	font-weight: 700;
	color: var(--dcc-secondary);
}

.page-numbers.current,
.page-numbers:hover {
	background: var(--dcc-primary);
	border-color: transparent;
	color: #fff;
}

@keyframes dcc-rise {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.hero-copy,
.hero-card,
.feature-item,
.course-card,
.post-card,
.roadmap-card,
.testimonial-card,
.instructor-card {
	animation: dcc-rise 0.55s ease both;
}

.course-card:nth-child(2),
.post-card:nth-child(2),
.feature-item:nth-child(2),
.roadmap-card:nth-child(2),
.testimonial-card:nth-child(2),
.instructor-card:nth-child(2) {
	animation-delay: 0.06s;
}

.course-card:nth-child(3),
.post-card:nth-child(3),
.feature-item:nth-child(3),
.roadmap-card:nth-child(3),
.testimonial-card:nth-child(3),
.instructor-card:nth-child(3) {
	animation-delay: 0.12s;
}

@media (max-width: 1120px) {
	.header-inner {
		grid-template-columns: auto auto 1fr;
	}

	.menu-toggle {
		display: inline-flex;
	}

	.main-navigation {
		grid-column: 1 / -1;
		display: none;
	}

	.main-navigation.is-open {
		display: block;
	}

	.main-navigation > div > ul,
	.main-navigation .menu {
		align-items: flex-start;
		flex-direction: column;
		padding-top: 0.7rem;
	}

	.search-form {
		min-width: 210px;
	}

	.hero-grid,
	.term-chip-grid,
	.feature-grid,
	.course-grid,
	.post-grid,
	.roadmap-grid,
	.instructor-grid,
	.testimonial-grid,
	.content-with-sidebar,
	.contact-grid,
	.footer-grid {
		grid-template-columns: 1fr;
	}

	.final-cta-inner,
	.footer-cta-inner,
	.footer-bottom-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 760px) {
	.site-main {
		padding-bottom: 2.6rem;
	}

	.header-tools {
		grid-column: 1 / -1;
		flex-wrap: wrap;
	}

	.search-form {
		width: 100%;
		min-width: 0;
	}

	.cart-link-label {
		display: none;
	}

	.hero-copy,
	.hero-card {
		padding: 1.3rem;
	}

	.hero-stats li {
		flex: 1 1 calc(50% - 0.5rem);
		min-width: 0;
	}

	.section-title {
		flex-wrap: wrap;
	}

	.footer-main {
		padding-top: 1.45rem;
	}
}


/* Homepage v2 - conversion focused */
.home-hero {
	padding: 3.2rem 0 2rem;
	background:
		radial-gradient(circle at 14% 0%, rgba(227, 30, 36, 0.16), transparent 32%),
		radial-gradient(circle at 92% 10%, rgba(247, 148, 29, 0.2), transparent 36%),
		linear-gradient(155deg, rgba(255, 250, 248, 0.96), rgba(255, 246, 239, 0.92));
}

.home-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
	gap: 1.4rem;
	align-items: center;
}

.home-hero-copy {
	padding: 2rem;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(227, 30, 36, 0.14);
	box-shadow: var(--dcc-shadow-md);
}

.home-hero-copy h1 {
	font-size: clamp(2rem, 4vw, 3.1rem);
	max-width: 15ch;
	margin-bottom: 0.8rem;
}

.home-hero-copy p {
	color: var(--dcc-muted);
	max-width: 56ch;
}

.home-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin: 1.25rem 0;
}

.home-hero-points {
	list-style: none;
	display: grid;
	gap: 0.55rem;
}

.home-hero-points li {
	padding: 0.58rem 0.72rem;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(13, 91, 58, 0.15);
	font-weight: 600;
	font-size: 0.95rem;
}

.home-hero-media-wrap {
	position: relative;
}

.home-hero-media-wrap::before {
	content: "";
	position: absolute;
	inset: -18px -18px auto auto;
	width: 180px;
	height: 180px;
	background: radial-gradient(circle, rgba(247, 148, 29, 0.3), transparent 70%);
	filter: blur(2px);
	pointer-events: none;
}

.home-hero-media {
	overflow: hidden;
	border-radius: 24px;
	border: 1px solid rgba(227, 30, 36, 0.18);
	box-shadow: var(--dcc-shadow-lg);
	background: #fff;
}

.home-hero-media img {
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
}

.home-category,
.home-courses,
.home-benefits,
.home-process,
.home-final-cta {
	padding: 2.2rem 0;
}

.home-category {
	background: linear-gradient(180deg, rgba(255, 252, 251, 0.85), rgba(255, 247, 243, 0.7));
}

.home-category-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.9rem;
}

.home-category-card {
	display: grid;
	gap: 0.25rem;
	padding: 1rem;
	background: #fff;
	border: 1px solid rgba(13, 91, 58, 0.16);
	border-radius: 14px;
	box-shadow: var(--dcc-shadow-sm);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.home-category-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--dcc-shadow-md);
}

.home-category-name {
	font-weight: 800;
	color: var(--dcc-secondary);
}

.home-category-meta {
	font-size: 0.84rem;
	color: var(--dcc-muted);
}

.home-courses {
	background: linear-gradient(180deg, rgba(255, 246, 239, 0.58), rgba(255, 249, 246, 0.58));
}

.home-course-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.course-card-rating {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.65rem;
	font-size: 0.86rem;
}

.course-stars {
	letter-spacing: 0.08em;
	color: #f5a524;
	font-weight: 700;
}

.course-rating-value {
	font-weight: 800;
	color: var(--dcc-secondary);
}

.course-rating-count {
	color: var(--dcc-muted);
}

.course-rating-empty {
	color: var(--dcc-muted);
	font-weight: 600;
}

.home-benefits {
	background: linear-gradient(180deg, rgba(255, 252, 250, 0.92), rgba(255, 255, 255, 0.88));
}

.home-benefit-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.home-benefit-card {
	padding: 1.2rem;
	background: #fff;
	border: 1px solid rgba(227, 30, 36, 0.12);
	border-radius: 16px;
	box-shadow: var(--dcc-shadow-sm);
}

.home-benefit-card h3 {
	font-size: 1rem;
}

.home-benefit-card p {
	color: var(--dcc-muted);
	font-size: 0.95rem;
}

.home-process {
	background: linear-gradient(180deg, rgba(255, 247, 240, 0.78), rgba(255, 252, 248, 0.92));
}

.home-process-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.home-process-card {
	padding: 1.2rem;
	background: #fff;
	border: 1px solid rgba(13, 91, 58, 0.15);
	border-radius: 16px;
	box-shadow: var(--dcc-shadow-sm);
}

.step-index {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: 0.7rem;
	border-radius: 50%;
	font-size: 0.88rem;
	font-weight: 800;
	color: #fff;
	background: linear-gradient(135deg, var(--dcc-primary), var(--dcc-accent));
}

.home-process-card p {
	color: var(--dcc-muted);
}

.home-final-cta {
	padding-bottom: 2.4rem;
}

.home-final-cta-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 1.6rem;
	border-radius: 22px;
	background: linear-gradient(120deg, rgba(227, 30, 36, 0.96), rgba(247, 148, 29, 0.96));
	box-shadow: var(--dcc-shadow-md);
	color: #fff;
}

.home-final-cta-inner h2,
.home-final-cta-inner p {
	color: #fff;
	margin-bottom: 0.35rem;
}

.home-final-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.home-final-cta .button {
	background: #fff;
	color: #8f1217;
}

.home-final-cta .button:hover {
	background: rgba(255, 255, 255, 0.9);
}

.home-final-cta .button-outline {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, 0.55);
}

.home-final-cta .button-outline:hover {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.16);
}

@media (max-width: 1120px) {
	.home-hero-grid,
	.home-category-grid,
	.home-course-grid,
	.home-benefit-grid,
	.home-process-grid {
		grid-template-columns: 1fr;
	}

	.home-final-cta-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 760px) {
	.home-hero {
		padding-top: 2rem;
	}

	.home-hero-copy {
		padding: 1.2rem;
	}

	.home-hero-media img {
		min-height: 260px;
	}
}

/* =====================================
   Landing style copied from reference LP
   ===================================== */
.lp-home {
	font-family: "Montserrat", sans-serif;
}

.lp-home .narrow {
	width: min(1240px, 94vw);
	margin: 0 auto;
}

.lp-home .section {
	position: relative;
	padding: clamp(58px, 7.2vw, 102px) 0;
	border-top: 1px solid #edf1f7;
	border-bottom: 1px solid #edf1f7;
	background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
}

.lp-home .section-light {
	background: linear-gradient(180deg, rgba(227, 30, 36, 0.06), rgba(247, 148, 29, 0.06)), #fbfcff;
}

.lp-home .section-head {
	max-width: 980px;
	margin: 0 auto clamp(24px, 3vw, 38px);
	text-align: center;
}

.lp-home .section-head h2 {
	margin-top: 8px;
	font-size: clamp(1.44rem, 3.1vw, 2.5rem);
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.lp-home .section-head p {
	margin-top: 10px;
	font-size: 0.98rem;
	color: var(--dcc-muted);
	line-height: 1.68;
}

.lp-home .eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid rgba(227, 30, 36, 0.34);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 244, 238, 0.94));
	box-shadow: 0 8px 18px rgba(255, 83, 94, 0.1);
	font-size: 0.84rem;
	font-weight: 600;
	letter-spacing: 0.012em;
	color: #d12835;
}

.lp-home .eyebrow::before {
	content: "✦";
	font-size: 0.86rem;
	line-height: 1;
	color: #ff4a57;
}

.lp-home .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 0.95rem;
	font-weight: 700;
	cursor: pointer;
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background-color 0.28s ease;
}

.lp-home .btn:hover {
	transform: translateY(-2px);
}

.lp-home .btn-primary {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.18);
	background: linear-gradient(120deg, #ff3b48, #f42c3a);
	box-shadow: 0 12px 26px rgba(255, 69, 86, 0.3);
}

.lp-home .btn-primary:hover {
	box-shadow: 0 18px 34px rgba(255, 69, 86, 0.36);
	color: #fff;
}

.lp-home .btn-ghost {
	color: #d91f2b;
	border-color: rgba(231, 34, 43, 0.24);
	background: rgba(255, 255, 255, 0.92);
}

.lp-home .btn-ghost:hover {
	background: #fff;
	border-color: rgba(231, 34, 43, 0.32);
	color: #d91f2b;
}

.lp-home .lp-hero-section {
	background:
		radial-gradient(circle at 8% 2%, rgba(227, 30, 36, 0.17), transparent 36%),
		radial-gradient(circle at 88% 10%, rgba(247, 148, 29, 0.2), transparent 40%),
		linear-gradient(180deg, #fff7f4 0%, #fffefc 88%);
}

.lp-home .lp-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.07fr) minmax(300px, 0.93fr);
	gap: 1.15rem;
	align-items: center;
}

.lp-home .lp-hero-copy {
	padding: 2rem;
	border: 1px solid #e6ebf3;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 10px 24px rgba(22, 30, 48, 0.08);
}

.lp-home .lp-hero-copy h1 {
	margin-top: 0.9rem;
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.18;
}

.lp-home .lp-hero-lead {
	margin-top: 1rem;
	color: #636d82;
	font-size: 1rem;
	max-width: 56ch;
}

.lp-home .lp-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1.3rem;
}

.lp-home .lp-hero-meta {
	margin-top: 1.2rem;
	display: grid;
	gap: 0.55rem;
	list-style: none;
}

.lp-home .lp-hero-meta li {
	padding: 0.58rem 0.78rem;
	border-radius: 10px;
	border: 1px solid #e6ebf3;
	background: #ffffff;
	font-size: 0.92rem;
	font-weight: 600;
	color: #2a3142;
}

.lp-home .lp-hero-visual {
	display: grid;
	gap: 0.75rem;
}

.lp-home .lp-hero-image {
	overflow: hidden;
	border-radius: 22px;
	border: 1px solid #e6ebf3;
	box-shadow: 0 18px 40px rgba(22, 30, 48, 0.12);
}

.lp-home .lp-hero-image img {
	width: 100%;
	min-height: 360px;
	object-fit: cover;
}

.lp-home .lp-hero-mini-card {
	padding: 0.9rem 1rem;
	border-radius: 14px;
	border: 1px solid #f0d8cf;
	background: linear-gradient(120deg, #fff, #fff5ef);
	box-shadow: 0 10px 24px rgba(22, 30, 48, 0.08);
}

.lp-home .lp-hero-mini-card p {
	margin: 0;
	color: #636d82;
	font-size: 0.9rem;
}

.lp-home .lp-hero-mini-card strong {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.98rem;
	color: #1f2533;
}

.lp-home .lp-category-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.lp-home .lp-category-card {
	padding: 1.1rem;
	border: 1px solid #d8deea;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(22, 30, 48, 0.08);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.lp-home .lp-category-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 40px rgba(22, 30, 48, 0.12);
}

.lp-home .lp-category-card h3 {
	font-size: 1rem;
	margin: 0;
}

.lp-home .lp-category-card p {
	margin-top: 0.4rem;
	font-size: 0.9rem;
	color: #636d82;
}

.lp-home .lp-course-head {
	position: relative;
}

.lp-home .lp-all-courses-link {
	display: inline-flex;
	margin-top: 0.7rem;
	padding: 0.52rem 0.9rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(231, 34, 43, 0.24);
	font-size: 0.88rem;
	font-weight: 700;
	color: #d12835;
}

.lp-home .lp-course-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.lp-home .lp-course-grid .course-card {
	border-radius: 16px;
	border: 1px solid #d8deea;
	box-shadow: 0 10px 24px rgba(22, 30, 48, 0.08);
	background: #fff;
	overflow: hidden;
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.lp-home .lp-course-grid .course-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 40px rgba(22, 30, 48, 0.12);
}

.lp-home .lp-course-grid .course-card-media img {
	aspect-ratio: 16 / 10;
}

.lp-home .lp-course-grid .course-card-content {
	padding: 1rem;
	display: grid;
	gap: 0.75rem;
}

.lp-home .lp-course-grid .course-card-category {
	margin: 0;
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 0.3rem 0.72rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 700;
	color: #d12835;
	background: linear-gradient(120deg, rgba(227, 30, 36, 0.12), rgba(247, 148, 29, 0.15));
	border: 1px solid rgba(227, 30, 36, 0.2);
}

.lp-home .lp-course-grid .course-card-content h3 {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.42;
}

.lp-home .lp-course-grid .course-card-content h3 a {
	color: #1f2533;
}

.lp-home .lp-course-grid .course-card-content h3 a:hover {
	color: #d12835;
}

.lp-home .lp-course-grid .course-card-price-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.7rem 0.8rem;
	border-radius: 12px;
	background: linear-gradient(120deg, rgba(255, 243, 236, 0.95), rgba(255, 250, 245, 0.98));
	border: 1px solid #f2d7cc;
}

.lp-home .lp-course-grid .course-card-price-label {
	font-size: 0.74rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #8a6b64;
}

.lp-home .lp-course-grid .course-card-price {
	font-size: 1.24rem;
	line-height: 1.2;
	font-weight: 800;
	color: #c61f2c;
}

.lp-home .lp-course-grid .course-card-actions {
	margin-top: 0.1rem;
}

.lp-home .lp-course-grid .course-detail-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: 0 0.9rem;
	border-radius: 999px;
	font-size: 0.9rem;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(120deg, #ff3b48, #f42c3a);
	box-shadow: 0 12px 24px rgba(255, 69, 86, 0.26);
}

.lp-home .lp-course-grid .course-detail-btn:hover {
	color: #fff;
	transform: translateY(-1px);
}

.lp-home .lp-benefit-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.lp-home .lp-benefit-card {
	padding: 1.15rem;
	border: 1px solid #d8deea;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(22, 30, 48, 0.08);
}

.lp-home .lp-benefit-card h3 {
	font-size: 1rem;
	line-height: 1.42;
}

.lp-home .lp-benefit-card p {
	margin-top: 0.55rem;
	color: #636d82;
	font-size: 0.9rem;
}

.lp-home .lp-process-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.lp-home .lp-process-card {
	padding: 1.2rem;
	border: 1px solid #d8deea;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(22, 30, 48, 0.08);
}

.lp-home .lp-step {
	display: inline-flex;
	margin: 0;
	padding: 0.32rem 0.72rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #d12835;
	background: linear-gradient(120deg, rgba(227, 30, 36, 0.12), rgba(247, 148, 29, 0.15));
	border: 1px solid rgba(227, 30, 36, 0.22);
}

.lp-home .lp-process-card h3 {
	margin-top: 0.7rem;
	font-size: 1.05rem;
}

.lp-home .lp-process-card p:last-child {
	margin-top: 0.55rem;
	font-size: 0.92rem;
	color: #636d82;
}

.lp-home .lp-final-banner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 1.4rem;
	border-radius: 18px;
	background: linear-gradient(120deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 244, 0.96));
	border: 1px solid #f0d8cf;
	box-shadow: 0 18px 40px rgba(22, 30, 48, 0.12);
}

.lp-home .lp-final-banner h2 {
	margin-top: 0.8rem;
	font-size: clamp(1.4rem, 2.8vw, 2.1rem);
}

.lp-home .lp-final-banner p {
	margin-top: 0.4rem;
	color: #636d82;
}

.lp-home .lp-final-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

@media (max-width: 1120px) {
	.lp-home .lp-hero-grid,
	.lp-home .lp-category-grid,
	.lp-home .lp-course-grid,
	.lp-home .lp-benefit-grid,
	.lp-home .lp-process-grid {
		grid-template-columns: 1fr;
	}

	.lp-home .lp-final-banner {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 760px) {
	.lp-home .section {
		padding: 46px 0;
	}

	.lp-home .lp-hero-copy {
		padding: 1.2rem;
	}

	.lp-home .lp-hero-image img {
		min-height: 260px;
	}
}
