/*
Theme Name: EDU LMS Theme
Theme URI: https://example.com
Author: EDU Team
Description: Легка авторська тема для платформи дистанційного навчання. Створена спеціально під плагін EDU LMS.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: edu-lms-theme
*/

:root {
	--edu-primary: #0891b2;
	--edu-primary-dark: #0e7490;
	--edu-teal: #0a7a99;
	--edu-dark: #0f172a;
	--edu-dark-2: #1e293b;
	--edu-text: #1e293b;
	--edu-muted: #64748b;
	--edu-bg: #f0f9fb;
	--edu-border: #dbeafe;
	--edu-radius: 12px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--edu-text);
	background: var(--edu-teal);
	line-height: 1.6;
}

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

a {
	color: var(--edu-primary);
}

.edu-container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}

/* White content card over the turquoise body background */
.edu-front-card {
	background: #fff;
	max-width: 1240px;
	margin: 0 auto 28px;
	border-radius: 0 0 18px 18px;
	overflow: hidden;
	box-shadow: 0 18px 50px rgba(7,59,74,.28);
}

/* ===== Header ===== */
.edu-site-header {
	background: #d9eef4;
	max-width: 1240px;
	margin: 20px auto 0;
	border-radius: 18px 18px 0 0;
	position: relative;
	z-index: 100;
}

.edu-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px;
	gap: 24px;
	position: relative;
}

.edu-header-org {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--edu-teal);
	letter-spacing: .5px;
	white-space: nowrap;
}

.edu-site-branding {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
}

.edu-logo-img {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	box-shadow: 0 2px 8px rgba(15,23,42,.15);
}

.edu-branding-text {
	display: flex;
	flex-direction: column;
}

.edu-site-title {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--edu-dark);
	text-decoration: none;
	line-height: 1.25;
}

.edu-site-description {
	font-size: .8rem;
	color: var(--edu-muted);
	margin: 0;
	font-weight: 600;
}

.edu-header-actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

/* Dropdown menu (top right) */
.edu-nav-dropdown-wrap {
	position: relative;
}

.edu-nav-dropdown-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: #fff;
	border: 1px solid var(--edu-border);
	border-radius: 8px;
	font-weight: 600;
	font-size: .95rem;
	color: var(--edu-text);
	cursor: pointer;
	transition: all .15s ease;
}

.edu-nav-dropdown-toggle:hover {
	border-color: var(--edu-primary);
	color: var(--edu-primary);
	background: #eff6ff;
}

.edu-nav-dropdown {
	position: absolute;
	right: 0;
	top: calc(100% + 10px);
	width: 340px;
	max-height: 70vh;
	overflow-y: auto;
	background: #fff;
	border: 1px solid var(--edu-border);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(15,23,42,.15);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: all .18s ease;
	z-index: 200;
}

.edu-nav-dropdown.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.edu-nav-dropdown ul {
	list-style: none;
	margin: 0;
	padding: 8px;
}

.edu-nav-dropdown li {
	border-bottom: 1px solid #f1f5f9;
}

.edu-nav-dropdown li:last-child {
	border-bottom: none;
}

.edu-nav-dropdown a {
	display: block;
	padding: 12px 14px;
	color: var(--edu-text);
	text-decoration: none;
	font-weight: 500;
	font-size: .9rem;
	line-height: 1.4;
	border-radius: 8px;
	transition: all .12s ease;
}

.edu-nav-dropdown a:hover,
.edu-nav-dropdown .current-menu-item > a {
	background: #eff6ff;
	color: var(--edu-primary);
}

/* Перемикач мови у випадаючому меню */
.edu-menu-langs {
	display: flex;
	gap: 8px;
	justify-content: center;
	padding: 10px 14px;
}
.edu-menu-langs .edu-lang-opt {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 12px;
	font-weight: 600;
	font-size: .85rem;
}
.edu-menu-langs .edu-lang-opt img {
	width: 24px;
	height: auto;
	border-radius: 3px;
	box-shadow: 0 0 0 1px rgba(15,23,42,.12);
	display: inline-block;
}
.edu-menu-langs .edu-lang-opt.is-active {
	background: rgba(10,122,153,.12);
	color: var(--edu-teal);
	pointer-events: none;
}

.edu-header-account {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 18px;
	background: var(--edu-primary);
	color: #fff;
	border-radius: 8px;
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s ease;
}

.edu-header-account:hover {
	background: var(--edu-primary-dark);
	color: #fff;
}

/* ===== Hero ===== */
.edu-hero {
	background: linear-gradient(135deg, var(--edu-dark) 0%, #1e3a8a 100%);
	color: #fff;
	padding: 72px 24px;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.edu-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 20% 20%, rgba(255,255,255,.08) 0, transparent 40%),
		radial-gradient(circle at 80% 80%, rgba(124,58,237,.25) 0, transparent 45%);
	pointer-events: none;
}

.edu-hero-inner {
	position: relative;
	max-width: 760px;
	margin: 0 auto;
}

.edu-hero-badge {
	display: inline-block;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.25);
	padding: 6px 16px;
	border-radius: 30px;
	font-size: .82rem;
	font-weight: 600;
	margin-bottom: 20px;
	letter-spacing: .02em;
}

.edu-hero h1 {
	font-size: 2.6rem;
	line-height: 1.2;
	margin: 0 0 18px;
	font-weight: 800;
}

.edu-hero p.edu-hero-subtitle {
	font-size: 1.15rem;
	color: rgba(255,255,255,.85);
	margin: 0 0 32px;
}

.edu-hero-actions {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}

.edu-btn-hero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 30px;
	border-radius: 10px;
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
	transition: all .15s ease;
}

.edu-btn-hero-primary {
	background: #fff;
	color: var(--edu-dark);
}

.edu-btn-hero-primary:hover {
	background: #e2e8f0;
	color: var(--edu-dark);
}

.edu-btn-hero-ghost {
	background: transparent;
	border: 1px solid rgba(255,255,255,.4);
	color: #fff;
}

.edu-btn-hero-ghost:hover {
	background: rgba(255,255,255,.1);
	color: #fff;
}

.edu-hero-stats {
	display: flex;
	justify-content: center;
	gap: 48px;
	margin-top: 48px;
	flex-wrap: wrap;
}

.edu-hero-stat {
	text-align: center;
}

.edu-hero-stat-num {
	font-size: 1.8rem;
	font-weight: 800;
	display: block;
}

.edu-hero-stat-label {
	font-size: .85rem;
	color: rgba(255,255,255,.7);
}

/* ===== Content sections ===== */
.edu-section {
	padding: 56px 24px;
	background: #fff;
}

.edu-section-header {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 40px;
}

.edu-section-header h2 {
	font-size: 1.35rem;
	margin: 0 0 12px;
	color: var(--edu-dark);
}

.edu-section-header p {
	color: var(--edu-muted);
	font-size: 1.05rem;
	margin: 0;
}

.edu-page-content {
	max-width: 1240px;
	margin: 0 auto 28px;
	padding: 40px;
	background: #fff;
	border-radius: 0 0 18px 18px;
	box-shadow: 0 18px 50px rgba(7,59,74,.28);
}

.edu-page-content h1.edu-page-title {
	font-size: 2.1rem;
	margin-bottom: 24px;
	color: var(--edu-dark);
}

.edu-single-content {
	max-width: 1240px;
	margin: 0 auto 28px;
	padding: 40px 40px 64px;
	background: #fff;
	border-radius: 0 0 18px 18px;
	box-shadow: 0 18px 50px rgba(7,59,74,.28);
}

.edu-single-content .edu-breadcrumb {
	font-size: .88rem;
	color: var(--edu-muted);
	margin-bottom: 16px;
}

.edu-single-content .edu-breadcrumb a {
	color: var(--edu-muted);
	text-decoration: none;
}

.edu-single-content .edu-breadcrumb a:hover {
	color: var(--edu-primary);
}

.edu-single-content h1.edu-single-title {
	font-size: 2.1rem;
	margin: 0 0 12px;
	color: var(--edu-dark);
}

.edu-single-excerpt {
	font-size: 1.05rem;
	color: var(--edu-muted);
	margin-bottom: 24px;
}

.edu-section-title {
	font-size: 1.4rem;
	margin: 40px 0 16px;
	color: var(--edu-dark);
	border-left: 4px solid var(--edu-primary);
	padding-left: 12px;
}

/* Why us / features */
.edu-features-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 24px;
	max-width: 1000px;
	margin: 0 auto;
}

.edu-feature-card {
	text-align: center;
	padding: 28px 20px;
	border: 1px solid var(--edu-border);
	border-radius: var(--edu-radius);
	background: var(--edu-bg);
}

.edu-feature-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #eff6ff;
	color: var(--edu-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
	font-size: 24px;
}

.edu-feature-card h3 {
	font-size: 1.05rem;
	margin: 0 0 8px;
	color: var(--edu-dark);
}

.edu-feature-card p {
	color: var(--edu-muted);
	font-size: .92rem;
	margin: 0;
}

/* ===== Footer ===== */
.edu-site-footer {
	background: var(--edu-teal);
	color: rgba(255,255,255,.85);
	padding: 48px 24px 24px;
	margin-top: 40px;
}

.edu-footer-inner {
	max-width: 1180px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: 32px;
}

.edu-footer-col h4 {
	color: #fff;
	font-size: 1rem;
	margin: 0 0 16px;
}

.edu-footer-col p,
.edu-footer-col a {
	color: rgba(255,255,255,.85);
	text-decoration: none;
	font-size: .92rem;
}

.edu-footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.edu-footer-col ul li {
	margin-bottom: 10px;
}

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

.edu-footer-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.edu-footer-brand .edu-logo-icon {
	width: 32px;
	height: 32px;
	font-size: 15px;
}

.edu-footer-brand span {
	color: #fff;
	font-weight: 700;
}

.edu-footer-bottom {
	max-width: 1180px;
	margin: 32px auto 0;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,.12);
	font-size: .85rem;
	text-align: center;
	color: rgba(255,255,255,.5);
}

/* Responsive */
@media (max-width: 782px) {
	.edu-header-inner {
		padding: 10px 12px;
		gap: 10px;
	}
	.edu-site-title {
		font-size: .95rem;
	}
	.edu-logo-img {
		width: 48px;
		height: 48px;
	}
	.edu-header-org {
		position: static;
		transform: none;
		flex: 1;
		text-align: center;
		font-size: 1rem;
	}
	.edu-section-header h2 {
		font-size: 1.05rem;
	}
	.edu-nav-dropdown-wrap {
		position: static;
	}
	.edu-nav-dropdown {
		left: 12px;
		right: 12px;
		top: 100%;
		width: auto;
		max-height: calc(100vh - 140px);
	}
	.edu-hero h1 {
		font-size: 1.9rem;
	}
	.edu-hero-stats {
		gap: 24px;
	}
	.edu-footer-inner {
		grid-template-columns: 1fr;
	}
	.edu-site-header {
		margin: 10px 8px 0;
		border-radius: 14px 14px 0 0;
	}
	.edu-front-card {
		margin: 0 8px 10px;
		border-radius: 0 0 14px 14px;
	}
	.edu-front-card > .edu-section:first-of-type {
		padding-right: 6px;
		padding-left: 6px;
	}
	.edu-front-card > .edu-section:first-of-type .edu-container {
		padding: 0;
	}
	.edu-slider {
		border-radius: 10px;
	}
	.edu-page-content,
	.edu-single-content {
		margin: 0 8px 10px;
		padding: 28px 18px;
		border-radius: 0 0 14px 14px;
	}
}

/* ===== Photo slider (homepage) ===== */
.edu-slider {
	position: relative;
	max-width: 1160px;
	margin: 0 auto;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 12px 40px rgba(15,23,42,.18);
	background: #fff;
}

.edu-slider-slide a {
	display: block;
	height: 100%;
}

.edu-slider-track {
	display: flex;
	transition: transform .5s ease;
}

.edu-slider-slide {
	min-width: 100%;
	aspect-ratio: 16/10;
}

.edu-slider-slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.edu-slider-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: none;
	background: rgba(255,255,255,.85);
	color: var(--edu-dark);
	font-size: 1.4rem;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s ease;
	z-index: 3;
}

.edu-slider-btn:hover {
	background: #fff;
}

.edu-slider-btn.prev { left: 14px; }
.edu-slider-btn.next { right: 14px; }

.edu-slider-dots {
	position: absolute;
	bottom: 14px;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	gap: 8px;
	z-index: 3;
}

.edu-slider-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: none;
	background: rgba(255,255,255,.5);
	cursor: pointer;
	padding: 0;
	transition: background .15s ease;
}

.edu-slider-dot.is-active {
	background: #fff;
}

/* ===== Callback request form ===== */
.edu-callback-section {
	padding: 64px 24px;
	background: var(--edu-teal);
}

.edu-callback-inner {
	max-width: 560px;
	margin: 0 auto;
}

.edu-callback-title {
	font-size: 1.7rem;
	font-weight: 600;
	color: #fff;
	text-align: center;
	line-height: 1.35;
	margin: 0 0 28px;
}

.edu-callback-form {
	background: #fff;
	border-radius: 16px;
	padding: 28px;
	box-shadow: 0 14px 40px rgba(7,59,74,.25);
}

.edu-callback-form label {
	display: block;
	font-size: .95rem;
	font-weight: 500;
	color: var(--edu-dark);
	margin-bottom: 6px;
}

.edu-callback-form input,
.edu-callback-form textarea {
	width: 100%;
	padding: 11px 13px;
	border: 1px solid #94a3b8;
	border-radius: 4px;
	font-size: .95rem;
	margin-bottom: 18px;
	font-family: inherit;
}

.edu-callback-form input:focus,
.edu-callback-form textarea:focus {
	outline: none;
	border-color: var(--edu-primary);
	box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}

.edu-callback-form textarea {
	resize: vertical;
	min-height: 90px;
}

.edu-callback-form .edu-callback-submit {
	display: block;
	width: 60%;
	max-width: 280px;
	margin: 24px auto 0;
	padding: 14px;
	background: #2e7d32;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-weight: 700;
	font-size: 1.05rem;
	cursor: pointer;
	transition: background .15s ease;
}

.edu-callback-form .edu-callback-submit:hover {
	background: #1b5e20;
}

.edu-callback-result {
	margin-top: 12px;
}

.edu-callback-cta {
	text-align: center;
}

.edu-btn-cta {
	display: inline-block;
	padding: 15px 44px;
	background: #fff !important;
	color: var(--edu-primary-dark) !important;
	border-radius: 8px;
	font-weight: 700;
	font-size: 1.1rem;
	text-decoration: none;
	box-shadow: 0 6px 18px rgba(0,0,0,.22);
	transition: background .15s ease, transform .15s ease;
}

.edu-btn-cta:hover {
	background: #f0f9fb;
	transform: translateY(-1px);
	color: var(--edu-primary-dark);
}

/* About-course section */
.edu-about-course {
	padding: 64px 24px;
	background: var(--edu-bg);
}

.edu-about-grid {
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}

.edu-about-single {
	max-width: 860px;
	margin: 0 auto;
}

.edu-about-single h2 {
	font-size: 1.9rem;
	margin: 0 0 18px;
	color: var(--edu-dark);
}

.edu-about-single p {
	color: var(--edu-text);
	font-size: 1.02rem;
	line-height: 1.75;
}

.edu-about-grid h2 {
	font-size: 1.9rem;
	margin: 0 0 18px;
	color: var(--edu-dark);
}

.edu-about-grid p {
	color: var(--edu-text);
	font-size: 1.02rem;
	line-height: 1.75;
}

.edu-about-highlight {
	background: #eff6ff;
	border-left: 4px solid var(--edu-primary);
	padding: 16px 20px;
	border-radius: 0 10px 10px 0;
	font-weight: 600;
	color: var(--edu-dark) !important;
	margin: 20px 0;
}

.edu-result-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.edu-result-list li {
	position: relative;
	padding: 10px 0 10px 34px;
	border-bottom: 1px solid var(--edu-border);
	font-size: .95rem;
	line-height: 1.5;
}

.edu-result-list li:last-child {
	border-bottom: none;
}

.edu-result-list li::before {
	content: "✓";
	position: absolute;
	left: 4px;
	top: 10px;
	width: 22px;
	height: 22px;
	background: #dcfce7;
	color: #16a34a;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: .8rem;
}

.edu-result-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--edu-dark);
	margin-bottom: 14px;
}

/* ===== Organizers ===== */
.edu-organizers {
	padding: 64px 24px;
	background: #fff;
}

.edu-organizers-grid {
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.edu-organizer-card {
	background: var(--edu-bg);
	border: 1px solid var(--edu-border);
	border-radius: 12px;
	padding: 24px;
}

.edu-organizer-card h3 {
	margin: 0 0 6px;
	font-size: 1.2rem;
	color: var(--edu-dark);
}

.edu-organizer-role {
	font-weight: 600;
	color: var(--edu-primary);
	font-size: .9rem;
	margin: 0 0 10px;
}

.edu-organizer-card p {
	font-size: .92rem;
	color: var(--edu-text);
	margin: 0 0 8px;
}

.edu-organizer-edrpou {
	color: #64748b;
	font-size: .85rem;
}

.edu-organizer-card a {
	font-size: .9rem;
	font-weight: 600;
}

/* ===== Advantages ===== */
.edu-advantages {
	padding: 64px 24px;
	background: var(--edu-bg);
}

.edu-advantages-grid {
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.edu-advantage-card {
	background: #fff;
	border: 1px solid var(--edu-border);
	border-left: 4px solid var(--edu-primary);
	border-radius: 12px;
	padding: 20px;
}

.edu-advantage-card h3 {
	margin: 0 0 8px;
	font-size: 1.05rem;
	color: var(--edu-dark);
}

.edu-advantage-card p {
	margin: 0;
	font-size: .92rem;
	color: var(--edu-text);
	line-height: 1.6;
}

/* ===== News ===== */
.edu-news {
	padding: 64px 24px;
	background: #fff;
}

.edu-news-grid {
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.edu-news-card {
	background: var(--edu-bg);
	border: 1px solid var(--edu-border);
	border-radius: 12px;
	padding: 22px;
	display: flex;
	flex-direction: column;
}

.edu-news-date {
	font-size: .8rem;
	color: var(--edu-muted);
	margin-bottom: 6px;
}

.edu-news-card h3 {
	margin: 0 0 8px;
	font-size: 1.05rem;
	color: var(--edu-dark);
}

.edu-news-excerpt {
	margin: 0;
	font-size: .92rem;
	color: var(--edu-text);
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.edu-news-more {
	display: inline-block;
	align-self: flex-start;
	margin-top: 14px;
	padding: 8px 18px;
	background: var(--edu-primary);
	color: #fff;
	border-radius: 8px;
	font-size: .85rem;
	font-weight: 600;
	text-decoration: none;
}

.edu-news-more:hover {
	background: var(--edu-teal);
	color: #fff;
}

.edu-news-empty {
	text-align: center;
	color: var(--edu-muted);
}

/* ===== About page images ===== */
.edu-about-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: center;
	margin: 24px 0;
}

.edu-about-imgs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.edu-about-imgs img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 6px 20px rgba(15,23,42,.12);
}

/* ===== Footer social ===== */
.edu-footer-social a {
	font-weight: 600;
}

/* Диски в кінці опису курсу */
.edu-discs {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 24px;
}
.edu-discs img {
	max-width: min(46%, 340px);
	height: auto;
	border-radius: 12px;
}

@media (max-width: 900px) {
	.edu-about-grid,
	.edu-organizers-grid,
	.edu-advantages-grid,
	.edu-news-grid,
	.edu-about-row {
		grid-template-columns: 1fr;
	}
	.edu-slider-slide {
		aspect-ratio: 16/10;
	}
	/* На сторінці кабінету h1 дублює заголовок блоку — на мобільному ховаємо */
	.edu-page-cabinet .edu-page-title {
		display: none;
	}
}
