/* =============================================================
 * ILC Academia — Front-end (course archive, course page, lesson player)
 * Branded design: cacao + auriu + crem
 * ============================================================= */

:root {
	--ilcf-bg:        #FBF6EE;          /* crem */
	--ilcf-surface:   #ffffff;
	--ilcf-border:    #e7e2d8;
	--ilcf-text:      #1f1a14;
	--ilcf-text-2:    #5b5347;
	--ilcf-muted:     #8a8275;
	--ilcf-primary:   #5C3A21;          /* cacao */
	--ilcf-primary-d: #3d2614;
	--ilcf-accent:    #C9A96E;          /* auriu */
	--ilcf-success:   #16a34a;
	--ilcf-success-bg:#dcfce7;
	--ilcf-danger:    #dc2626;
	--ilcf-radius:    14px;
	--ilcf-radius-sm: 10px;
	--ilcf-shadow:    0 1px 2px rgba(31,26,20,.04), 0 4px 12px -4px rgba(31,26,20,.08);
	--ilcf-shadow-lg: 0 10px 30px -8px rgba(31,26,20,.18);
}

.ilc-front {
	color: var(--ilcf-text);
	font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif;
	-webkit-font-smoothing: antialiased;
	line-height: 1.55;
}
.ilc-front *, .ilc-front *::before, .ilc-front *::after { box-sizing: border-box; }
.ilc-front__container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 32px 24px 64px;
}
.ilc-front__muted { color: var(--ilcf-muted); font-style: italic; }

.ilc-front__notice {
	background: var(--ilcf-bg);
	border: 1px solid var(--ilcf-border);
	border-left: 4px solid var(--ilcf-accent);
	padding: 14px 18px;
	border-radius: var(--ilcf-radius-sm);
	margin: 16px 0;
}
.ilc-front__notice--info { border-left-color: #3b82f6; background: #eff6ff; border-color: #dbeafe; }
.ilc-front__notice--success { border-left-color: #16a34a; background: #f0fdf4; border-color: #bbf7d0; color: #14532d; }
.ilc-front__notice--error { border-left-color: #dc2626; background: #fef2f2; border-color: #fecaca; color: #7f1d1d; }

.ilc-front__breadcrumb {
	font-size: 13px;
	color: var(--ilcf-muted);
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 12px;
	flex-wrap: wrap;
}
.ilc-front__breadcrumb a { color: var(--ilcf-text-2); text-decoration: none; }
.ilc-front__breadcrumb a:hover { color: var(--ilcf-primary); }

/* =============================================================
 * Buttons
 * ============================================================= */
.ilc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 20px;
	border-radius: 10px;
	border: 1px solid transparent;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none !important;
	cursor: pointer;
	transition: background .15s, color .15s, border-color .15s, transform .05s;
	line-height: 1.2;
}
.ilc-btn--block { display: flex; width: 100%; }
.ilc-btn--primary {
	background: var(--ilcf-primary);
	color: #fff !important;
	border-color: var(--ilcf-primary);
}
.ilc-btn--primary:hover { background: var(--ilcf-primary-d); border-color: var(--ilcf-primary-d); }
.ilc-btn--ghost {
	background: transparent;
	color: var(--ilcf-primary) !important;
	border-color: var(--ilcf-accent);
}
.ilc-btn--ghost:hover { background: var(--ilcf-bg); }
.ilc-btn--success {
	background: var(--ilcf-success);
	color: #fff !important;
	border-color: var(--ilcf-success);
}
.ilc-btn--success:hover { background: #15803d; border-color: #15803d; }
.ilc-btn:active { transform: translateY(1px); }
.ilc-btn .dashicons { width: 18px; height: 18px; font-size: 18px; }

/* =============================================================
 * Progress bar
 * ============================================================= */
.ilc-progress {
	position: relative;
	height: 10px;
	background: var(--ilcf-bg);
	border-radius: 999px;
	overflow: hidden;
	margin: 12px 0 8px;
}
.ilc-progress--slim { height: 6px; margin: 0; min-width: 160px; }
.ilc-progress__bar {
	position: absolute; inset: 0 auto 0 0;
	background: linear-gradient(90deg, var(--ilcf-accent) 0%, var(--ilcf-primary) 100%);
	border-radius: 999px;
	transition: width .3s ease;
}
.ilc-progress__label {
	position: absolute; right: 8px; top: -22px;
	font-size: 12px; font-weight: 600; color: var(--ilcf-text-2);
}
.ilc-progress--slim .ilc-progress__label { display: none; }

/* =============================================================
 * Archive — courses grid
 * ============================================================= */
.ilc-front--archive { background: var(--ilcf-bg); min-height: 60vh; }
.ilc-archive__header { text-align: center; margin: 0 0 40px; }
.ilc-archive__title {
	font-size: clamp(28px, 4vw, 42px);
	margin: 0 0 8px;
	color: var(--ilcf-primary);
	font-weight: 700;
	letter-spacing: -.02em;
}
.ilc-archive__desc { color: var(--ilcf-text-2); font-size: 16px; max-width: 640px; margin: 0 auto; }

.ilc-courses-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
}
.ilc-course-card {
	background: var(--ilcf-surface);
	border: 1px solid var(--ilcf-border);
	border-radius: var(--ilcf-radius);
	overflow: hidden;
	transition: transform .2s, box-shadow .2s, border-color .2s;
	box-shadow: var(--ilcf-shadow);
}
.ilc-course-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--ilcf-shadow-lg);
	border-color: var(--ilcf-accent);
}
.ilc-course-card__link {
	display: flex; flex-direction: column; height: 100%;
	text-decoration: none !important; color: inherit;
}
.ilc-course-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--ilcf-bg);
	overflow: hidden;
}
.ilc-course-card__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .3s;
}
.ilc-course-card:hover .ilc-course-card__media img { transform: scale(1.04); }
.ilc-course-card__media-placeholder {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	color: var(--ilcf-accent);
}
.ilc-course-card__media-placeholder .dashicons { font-size: 64px; width: 64px; height: 64px; }
.ilc-course-card__ribbon {
	position: absolute; top: 12px; right: 12px;
	background: var(--ilcf-success); color: #fff;
	font-size: 11px; font-weight: 700; text-transform: uppercase;
	padding: 4px 10px; border-radius: 999px; letter-spacing: .04em;
}
.ilc-course-card__body { padding: 18px 18px 8px; flex: 1; }
.ilc-course-card__title {
	font-size: 18px; font-weight: 600; line-height: 1.3;
	margin: 0 0 8px; color: var(--ilcf-text);
}
.ilc-course-card__excerpt {
	color: var(--ilcf-text-2); font-size: 14px; margin: 0 0 12px;
}
.ilc-course-card__meta {
	list-style: none; padding: 0; margin: 0;
	display: flex; gap: 14px; flex-wrap: wrap;
	color: var(--ilcf-text-2); font-size: 13px;
}
.ilc-course-card__meta li { display: inline-flex; align-items: center; gap: 4px; }
.ilc-course-card__meta .dashicons { font-size: 14px; width: 14px; height: 14px; color: var(--ilcf-accent); }

.ilc-course-card__footer {
	display: flex; align-items: center; justify-content: space-between;
	padding: 14px 18px; border-top: 1px solid var(--ilcf-border);
	background: #fdfbf7;
}
.ilc-course-card__price { font-weight: 700; font-size: 18px; color: var(--ilcf-primary); }
.ilc-course-card__price small { font-size: 12px; font-weight: 500; color: var(--ilcf-text-2); }
.ilc-course-card__price--free { color: var(--ilcf-success); }
.ilc-course-card__cta { font-size: 13px; font-weight: 600; color: var(--ilcf-text-2); }
.ilc-course-card:hover .ilc-course-card__cta { color: var(--ilcf-primary); }

.ilc-archive__pagination { margin-top: 40px; display: flex; justify-content: center; }
.ilc-archive__pagination .page-numbers {
	display: inline-block; padding: 8px 14px; margin: 0 2px;
	border-radius: 8px; text-decoration: none;
	color: var(--ilcf-text-2); border: 1px solid var(--ilcf-border);
	background: var(--ilcf-surface);
}
.ilc-archive__pagination .page-numbers.current,
.ilc-archive__pagination .page-numbers:hover {
	background: var(--ilcf-primary); color: #fff; border-color: var(--ilcf-primary);
}

/* =============================================================
 * Single course (hero + curriculum)
 * ============================================================= */
.ilc-front--course { background: var(--ilcf-bg); }

.ilc-course-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 32px;
	margin-bottom: 40px;
	align-items: start;
}
.ilc-course-hero__main { padding-top: 8px; }
.ilc-course-hero__title {
	font-size: clamp(28px, 4vw, 42px);
	margin: 4px 0 12px;
	color: var(--ilcf-primary);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.15;
}
.ilc-course-hero__lead {
	font-size: 17px; color: var(--ilcf-text-2); margin: 0 0 18px; line-height: 1.6;
}
.ilc-course-hero__meta {
	list-style: none; padding: 0; margin: 0;
	display: flex; gap: 18px; flex-wrap: wrap;
	color: var(--ilcf-text-2); font-size: 14px;
}
.ilc-course-hero__meta li { display: inline-flex; align-items: center; gap: 6px; }
.ilc-course-hero__meta .dashicons { color: var(--ilcf-accent); font-size: 16px; width: 16px; height: 16px; }

.ilc-course-hero__card {
	background: var(--ilcf-surface);
	border: 1px solid var(--ilcf-border);
	border-radius: var(--ilcf-radius);
	overflow: hidden;
	box-shadow: var(--ilcf-shadow-lg);
	position: sticky;
	top: 24px;
}
.ilc-course-hero__thumb img,
.ilc-course-hero__video {
	width: 100%;
	display: block;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: #000;
}
.ilc-course-hero__video iframe {
	width: 100%; height: 100%; border: 0; display: block;
}
.ilc-course-hero__price-row { padding: 18px 20px 6px; }
.ilc-course-hero__price {
	font-size: 28px; font-weight: 800; color: var(--ilcf-primary);
}
.ilc-course-hero__price small { font-size: 14px; font-weight: 500; color: var(--ilcf-text-2); }
.ilc-course-hero__price--free { color: var(--ilcf-success); }
.ilc-course-hero__cta {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 0 20px 20px;
}
.ilc-course-hero__cta .ilc-btn { width: 100%; box-sizing: border-box; }
.ilc-course-hero__enrolled-label {
	display: flex; align-items: center; gap: 6px;
	color: var(--ilcf-success); font-weight: 600; margin: 0 0 8px;
}
.ilc-course-hero__enrolled-label .dashicons { font-size: 18px; width: 18px; height: 18px; }

.ilc-course-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
}
.ilc-course-description {
	background: var(--ilcf-surface);
	border: 1px solid var(--ilcf-border);
	border-radius: var(--ilcf-radius);
	padding: 28px 32px;
	box-shadow: var(--ilcf-shadow);
}
.ilc-course-description h2 {
	margin: 0 0 16px;
	font-size: 22px;
	color: var(--ilcf-primary);
}

.ilc-curriculum-public {
	background: var(--ilcf-surface);
	border: 1px solid var(--ilcf-border);
	border-radius: var(--ilcf-radius);
	padding: 28px 32px;
	box-shadow: var(--ilcf-shadow);
	margin-top: 24px;
}
.ilc-curriculum-public h2 {
	margin: 0 0 20px;
	font-size: 22px;
	color: var(--ilcf-primary);
}

.ilc-section-pub {
	border: 1px solid var(--ilcf-border);
	border-radius: var(--ilcf-radius-sm);
	margin-bottom: 12px;
	overflow: hidden;
	background: #fff;
}
.ilc-section-pub__header {
	display: flex; justify-content: space-between; align-items: center;
	padding: 14px 18px;
	background: var(--ilcf-bg);
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}
.ilc-section-pub__header::-webkit-details-marker { display: none; }
.ilc-section-pub__header::before {
	content: '+';
	display: inline-flex; align-items: center; justify-content: center;
	width: 24px; height: 24px; margin-right: 12px;
	background: var(--ilcf-accent); color: #fff;
	border-radius: 6px; font-weight: 700;
	transition: transform .2s;
}
.ilc-section-pub[open] > .ilc-section-pub__header::before { content: '−'; }
.ilc-section-pub__title { flex: 1; }
.ilc-section-pub__count { font-size: 13px; color: var(--ilcf-text-2); font-weight: 500; }

.ilc-lesson-pub-list {
	list-style: none; padding: 0; margin: 0;
}
.ilc-lesson-pub {
	border-top: 1px solid var(--ilcf-border);
}
.ilc-lesson-pub a,
.ilc-lesson-pub__locked {
	display: flex; align-items: center; gap: 12px;
	padding: 12px 18px;
	color: var(--ilcf-text);
	text-decoration: none !important;
	transition: background .15s;
}
.ilc-lesson-pub a:hover { background: var(--ilcf-bg); }
.ilc-lesson-pub__icon { color: var(--ilcf-accent); font-size: 18px; width: 18px; height: 18px; }
.ilc-lesson-pub.is-done .ilc-lesson-pub__icon { color: var(--ilcf-success); }
.ilc-lesson-pub__title { flex: 1; font-size: 14px; }
.ilc-lesson-pub__badge {
	background: linear-gradient(135deg, #d1fae5, #a7f3d0);
	color: #065f46;
	font-size: 10px; font-weight: 700; text-transform: uppercase;
	padding: 2px 8px; border-radius: 999px; letter-spacing: .04em;
}
.ilc-lesson-pub__duration { color: var(--ilcf-muted); font-size: 12px; }
.ilc-lesson-pub__locked { color: var(--ilcf-muted); cursor: not-allowed; }
.ilc-lesson-pub__locked .ilc-lesson-pub__icon { color: var(--ilcf-muted); }

@media (max-width: 900px) {
	.ilc-course-hero { grid-template-columns: 1fr; }
	.ilc-course-hero__card { position: static; }
}

/* =============================================================
 * Lesson player (Udemy-like)
 * ============================================================= */
.ilc-player {
	background: #f8f6f1;
	min-height: 100vh;
	color: var(--ilcf-text);
}
.ilc-player__topbar {
	background: var(--ilcf-primary);
	color: #fff;
	display: flex; align-items: center; justify-content: space-between;
	padding: 12px 24px;
	gap: 16px;
}
.ilc-player__back {
	color: #fff !important;
	text-decoration: none !important;
	display: inline-flex; align-items: center; gap: 8px;
	font-weight: 600; font-size: 14px;
}
.ilc-player__back:hover { color: var(--ilcf-accent) !important; }
.ilc-player__progress { display: flex; align-items: center; gap: 12px; }
.ilc-player__progress .ilc-progress { background: rgba(255,255,255,.18); }
.ilc-player__progress-label { color: rgba(255,255,255,.85); font-size: 13px; font-weight: 600; }

.ilc-player__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 0;
}
.ilc-player__main {
	background: #fff;
	min-height: calc(100vh - 60px);
}
.ilc-player__video {
	/* Același max-width ca și conținutul — totul se aliniază */
	width: 100%;
	max-width: 900px;
	aspect-ratio: 16 / 9;
	background: #000;
	margin: 0 auto;
	display: block;
}
.ilc-player__video iframe,
.ilc-player__video video {
	width: 100%; height: 100%; border: 0; display: block;
}
.ilc-player__no-video {
	max-width: 900px;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	background: #1a1410;
	color: rgba(255,255,255,.7);
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 12px;
}
.ilc-player__no-video .dashicons { font-size: 48px; width: 48px; height: 48px; }

.ilc-player__locked {
	max-width: 900px;
	margin: 0 auto;
	padding: 80px 32px;
	text-align: center;
	color: var(--ilcf-text-2);
}
.ilc-player__locked .dashicons { font-size: 56px; width: 56px; height: 56px; color: var(--ilcf-accent); }
.ilc-player__locked h2 { color: var(--ilcf-primary); margin: 16px 0 8px; }

/* Audio, PDF, gallery, quiz — același max-width ca videoul */
.ilc-player__audio,
.ilc-player__pdf,
.ilc-player__gallery,
.ilc-player__quiz-stub {
	max-width: 900px;
	margin: 0 auto;
}
.ilc-player__audio {
	display: flex; align-items: center; gap: 20px;
	padding: 40px 32px;
	background: #f8f6f1;
}
.ilc-player__audio audio { flex: 1; }
.ilc-player__pdf { padding: 0; }
.ilc-player__pdf object { width: 100%; min-height: 540px; display: block; }
.ilc-player__pdf-download { margin: 12px 32px; }
.ilc-player__pdf-fallback { padding: 60px 32px; text-align: center; }
.ilc-player__gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 8px;
	padding: 24px 32px;
}
.ilc-gallery-item img { width: 100%; height: 160px; object-fit: cover; border-radius: var(--ilcf-radius-sm); display: block; }
.ilc-player__quiz-stub {
	padding: 60px 32px;
	text-align: center;
	color: var(--ilcf-text-2);
}
.ilc-player__quiz-stub .dashicons { font-size: 52px; width: 52px; height: 52px; color: var(--ilcf-accent); }

.ilc-player__content {
	padding: 28px 32px;
	max-width: 900px;
	margin: 0 auto;
}
.ilc-player__title-row {
	display: flex; justify-content: space-between; align-items: flex-start;
	gap: 20px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.ilc-player__title {
	margin: 0;
	font-size: 26px;
	color: var(--ilcf-primary);
	font-weight: 700;
	flex: 1;
	line-height: 1.25;
}
.ilc-lesson-complete[data-completed="1"] {
	background: var(--ilcf-success);
	border-color: var(--ilcf-success);
}
.ilc-player__notes {
	color: var(--ilcf-text-2);
	line-height: 1.7;
	margin-bottom: 32px;
}
.ilc-player__notes h2, .ilc-player__notes h3 { color: var(--ilcf-primary); }

.ilc-player__nav {
	display: flex; justify-content: space-between; gap: 12px;
	padding-top: 24px;
	border-top: 1px solid var(--ilcf-border);
}

/* Sidebar / syllabus */
.ilc-player__sidebar {
	background: #fdfbf7;
	border-left: 1px solid var(--ilcf-border);
	padding: 24px 20px;
	overflow-y: auto;
	max-height: calc(100vh - 60px);
	position: sticky;
	top: 60px;
}
.ilc-player__sidebar-title {
	font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
	color: var(--ilcf-primary);
	margin: 0 0 16px;
}
.ilc-syllabus-section {
	margin-bottom: 12px;
	border: 1px solid var(--ilcf-border);
	border-radius: var(--ilcf-radius-sm);
	background: #fff;
	overflow: hidden;
}
.ilc-syllabus-section summary {
	padding: 12px 14px;
	background: var(--ilcf-bg);
	font-weight: 600; font-size: 14px;
	cursor: pointer;
	list-style: none;
}
.ilc-syllabus-section summary::-webkit-details-marker { display: none; }
.ilc-syllabus-list {
	list-style: none; padding: 4px 0; margin: 0;
}
.ilc-syllabus-item a,
.ilc-syllabus-item__locked {
	display: flex; align-items: center; gap: 10px;
	padding: 10px 14px;
	font-size: 13px;
	color: var(--ilcf-text-2);
	text-decoration: none !important;
	transition: background .15s;
	border-left: 3px solid transparent;
}
.ilc-syllabus-item a:hover { background: var(--ilcf-bg); color: var(--ilcf-primary); }
.ilc-syllabus-item.is-current a {
	background: var(--ilcf-bg);
	color: var(--ilcf-primary);
	font-weight: 600;
	border-left-color: var(--ilcf-accent);
}
.ilc-syllabus-item.is-done .dashicons { color: var(--ilcf-success); }
.ilc-syllabus-item .dashicons { font-size: 16px; width: 16px; height: 16px; color: var(--ilcf-accent); flex-shrink: 0; }
.ilc-syllabus-item__title { flex: 1; }
.ilc-syllabus-item__badge {
	background: linear-gradient(135deg, #d1fae5, #a7f3d0); color: #065f46;
	font-size: 9px; font-weight: 700; text-transform: uppercase;
	padding: 2px 6px; border-radius: 999px; letter-spacing: .04em;
}
.ilc-syllabus-item__locked {
	color: var(--ilcf-muted);
	cursor: pointer;
	width: 100%;
	text-align: left;
	background: none;
	border: none;
	border-left: 3px solid transparent;
	font: inherit;
	appearance: none;
}
.ilc-syllabus-item__locked:hover {
	background: #fef3c7;
	color: #92400e;
}
.ilc-syllabus-item__locked:hover .dashicons { color: #92400e; }
.ilc-syllabus-item__locked .dashicons { color: var(--ilcf-muted); }

/* Buton „Lecția următoare" în stare blocată */
.ilc-btn--locked {
	opacity: .65;
	cursor: not-allowed;
	box-shadow: none !important;
}
.ilc-btn--locked:hover { opacity: .8; }

/* Pulsație pentru butonul „Marchează ca finalizată" când userul a fost notificat */
@keyframes ilcPulse {
	0%   { box-shadow: 0 0 0 0 rgba(201, 169, 110, .8); transform: scale(1); }
	50%  { box-shadow: 0 0 0 12px rgba(201, 169, 110, 0); transform: scale(1.04); }
	100% { box-shadow: 0 0 0 0 rgba(201, 169, 110, 0); transform: scale(1); }
}
.ilc-lesson-complete.is-pulse {
	animation: ilcPulse 1.1s ease-out 2;
}

/* =============================================================
 * Toast (notificare neintruzivă, ex: lecție blocată)
 * ============================================================= */
.ilc-toast {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 999999;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-width: 280px;
	max-width: 380px;
	padding: 14px 16px;
	background: var(--ilcf-primary);
	color: #fff;
	border-radius: 10px;
	border-left: 4px solid var(--ilcf-accent);
	box-shadow: 0 14px 32px rgba(60, 38, 20, .35);
	font-size: 14px;
	line-height: 1.4;
	transform: translate3d(0, 24px, 0);
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease, transform .25s ease;
}
.ilc-toast.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	pointer-events: auto;
}
.ilc-toast.is-leaving {
	opacity: 0;
	transform: translate3d(0, 16px, 0);
}
.ilc-toast .dashicons {
	flex-shrink: 0;
	color: var(--ilcf-accent);
	font-size: 22px;
	width: 22px;
	height: 22px;
	margin-top: 1px;
}
.ilc-toast__body { display: flex; flex-direction: column; gap: 2px; }
.ilc-toast__body strong { font-weight: 700; font-size: 14px; }
.ilc-toast__body span { font-size: 13px; opacity: .9; }
.ilc-toast__close {
	margin-left: 4px;
	background: transparent;
	border: none;
	color: #fff;
	opacity: .6;
	cursor: pointer;
	font-size: 18px;
	line-height: 1;
	padding: 0 4px;
}
.ilc-toast__close:hover { opacity: 1; }
@media (max-width: 600px) {
	.ilc-toast { right: 12px; left: 12px; bottom: 12px; max-width: none; }
}

@media (max-width: 1024px) {
	.ilc-player__layout { grid-template-columns: 1fr; }
	.ilc-player__sidebar { position: static; max-height: none; border-left: none; border-top: 1px solid var(--ilcf-border); }
}

/* =============================================================
 * My Courses dashboard
 * ============================================================= */
.ilc-mycourses { padding: 24px 0; }
.ilc-mycourses__header h2 {
	font-size: 24px;
	color: var(--ilcf-primary);
	margin: 0 0 24px;
	font-weight: 700;
}

/* =============================================================
 * Lesson types — front renderers (audio, pdf, gallery, quiz)
 * ============================================================= */
.ilc-player__video video {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
	background: #000;
}

.ilc-player__audio {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 32px;
	background: linear-gradient(135deg, #1a1410 0%, #2a1f17 100%);
	color: #fff;
}
.ilc-player__audio .dashicons {
	font-size: 36px;
	width: 36px;
	height: 36px;
	color: var(--ilcf-accent, #C9A96E);
}
.ilc-player__audio audio {
	flex: 1;
	min-width: 0;
}

.ilc-player__pdf {
	background: #1a1410;
	min-height: 600px;
	display: flex;
	flex-direction: column;
}
.ilc-player__pdf > object {
	width: 100%;
	flex: 1;
	min-height: 600px;
	border: 0;
	display: block;
	background: #2a2520;
}
.ilc-player__pdf-fallback {
	padding: 64px 32px;
	text-align: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
.ilc-player__pdf-fallback .dashicons {
	font-size: 56px;
	width: 56px;
	height: 56px;
	color: var(--ilcf-accent, #C9A96E);
}
.ilc-player__pdf-download {
	margin: 12px 16px;
	align-self: flex-start;
}

.ilc-player__gallery {
	padding: 24px;
	background: #fff;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
}
.ilc-player__gallery .ilc-gallery-item {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	background: #f5f1ea;
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
	aspect-ratio: 4 / 3;
	transition: transform .2s ease, box-shadow .2s ease;
}
.ilc-player__gallery .ilc-gallery-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0,0,0,.12);
}
.ilc-player__gallery .ilc-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ilc-player__quiz-stub {
	padding: 80px 32px;
	background: var(--ilcf-bg, #fbf6ee);
	text-align: center;
	color: var(--ilcf-text, #111);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.ilc-player__quiz-stub .dashicons {
	font-size: 56px;
	width: 56px;
	height: 56px;
	color: var(--ilcf-accent, #C9A96E);
	margin-bottom: 8px;
}
.ilc-player__quiz-stub h3 {
	margin: 0;
	color: var(--ilcf-primary, #5C3A21);
}

/* ===== Checkout (stil WooCommerce simplificat) ============================== */
.ilc-checkout__header {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px; flex-wrap: wrap; margin-bottom: 24px;
}
.ilc-checkout__header h1 { margin: 0; font-size: 28px; color: var(--ilcf-primary); }
.ilc-checkout__back {
	display: inline-flex; align-items: center; gap: 4px;
	font-size: 14px; color: var(--ilcf-text-2); text-decoration: none;
}
.ilc-checkout__back:hover { color: var(--ilcf-primary); }

.ilc-checkout__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
	gap: 28px;
	align-items: start;
}
@media (max-width: 860px) { .ilc-checkout__layout { grid-template-columns: 1fr; } }

.ilc-checkout__form {
	background: var(--ilcf-surface);
	border: 1px solid var(--ilcf-border);
	border-radius: var(--ilcf-radius);
	padding: 28px 32px;
	box-shadow: var(--ilcf-shadow);
}
.ilc-checkout__form h2 { margin: 0 0 16px; font-size: 20px; color: var(--ilcf-primary); }
.ilc-checkout__form h3 { margin: 24px 0 12px; font-size: 16px; color: var(--ilcf-primary); }
.ilc-checkout__login-hint {
	background: var(--ilcf-bg);
	border: 1px solid var(--ilcf-border);
	border-radius: var(--ilcf-radius-sm);
	padding: 10px 14px;
	margin-bottom: 18px;
	font-size: 14px;
}
.ilc-checkout__login-hint a { color: var(--ilcf-primary); font-weight: 600; }

.ilc-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.ilc-field label { font-size: 13px; font-weight: 600; color: var(--ilcf-text-2); }
.ilc-field input[type="text"],
.ilc-field input[type="email"],
.ilc-field input[type="tel"],
.ilc-field input[type="password"] {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--ilcf-border);
	border-radius: 8px;
	font-size: 14px;
	background: #fff;
	box-sizing: border-box;
}
.ilc-field input:focus { outline: 2px solid var(--ilcf-accent); outline-offset: 1px; border-color: var(--ilcf-accent); }
.ilc-field--error input { border-color: #dc2626; background: #fef2f2; }
.ilc-field__error { color: #dc2626; font-size: 12px; }

.ilc-field-group { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.ilc-radio, .ilc-checkbox {
	display: inline-flex; align-items: center; gap: 8px;
	cursor: pointer; font-size: 14px;
}
.ilc-radio input, .ilc-checkbox input { margin: 0; }

.ilc-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ilc-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
@media (max-width: 600px) {
	.ilc-grid-2, .ilc-grid-3 { grid-template-columns: 1fr; }
}

.ilc-checkout__summary { position: sticky; top: 24px; }
.ilc-checkout__summary-card {
	background: var(--ilcf-surface);
	border: 1px solid var(--ilcf-border);
	border-radius: var(--ilcf-radius);
	padding: 24px;
	box-shadow: var(--ilcf-shadow-lg);
}
.ilc-checkout__summary-card h2 { margin: 0 0 16px; font-size: 18px; color: var(--ilcf-primary); }
.ilc-checkout__thumb { margin: -24px -24px 16px; }
.ilc-checkout__thumb img { width: 100%; height: auto; display: block; aspect-ratio: 16 / 9; object-fit: cover; }
.ilc-checkout__line {
	display: flex; justify-content: space-between; gap: 12px;
	padding: 12px 0; border-bottom: 1px solid var(--ilcf-border);
	font-size: 14px;
}
.ilc-checkout__line-name { font-weight: 500; }
.ilc-checkout__line-price { white-space: nowrap; color: var(--ilcf-text-2); }
.ilc-checkout__total {
	display: flex; justify-content: space-between; align-items: baseline;
	padding: 16px 0;
	font-size: 16px;
}
.ilc-checkout__total strong { font-size: 22px; color: var(--ilcf-primary); }
.ilc-btn--lg { padding: 14px 20px; font-size: 15px; }
.ilc-checkout__safe {
	display: flex; align-items: center; gap: 6px;
	margin: 12px 0 0; font-size: 12px; color: var(--ilcf-text-2);
	justify-content: center;
}

/* ===== User menu (header) ===== */
.ilc-user-menu { position: relative; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.ilc-user-menu--guest { gap: 12px; }
.ilc-user-menu__link { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; padding: 8px 10px; border-radius: 8px; transition: background .15s; }
.ilc-user-menu__link:hover { background: rgba(0,0,0,.05); }
.ilc-user-menu__link--accent { background: var(--ilc-color-primary, #b48a5a); color: #fff; padding: 8px 14px; }
.ilc-user-menu__link--accent:hover { background: var(--ilc-color-primary-dark, #8f6a3f); color: #fff; }
.ilc-user-menu__trigger { display: inline-flex; align-items: center; gap: 8px; background: transparent; border: 1px solid rgba(0,0,0,.1); padding: 4px 10px 4px 4px; border-radius: 999px; cursor: pointer; color: inherit; font: inherit; }
.ilc-user-menu__trigger:hover { background: rgba(0,0,0,.04); }
.ilc-user-menu__avatar { width: 32px; height: 32px; border-radius: 50%; }
.ilc-user-menu__name { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ilc-user-menu__chevron { transition: transform .2s; opacity: .6; }
.ilc-user-menu[data-open="1"] .ilc-user-menu__chevron { transform: rotate(180deg); }
.ilc-user-menu__panel { position: absolute; top: calc(100% + 8px); right: 0; min-width: 240px; background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,.12); padding: 8px; z-index: 1000; }
.ilc-user-menu[data-align="left"] .ilc-user-menu__panel { left: 0; right: auto; }
.ilc-user-menu__panel[hidden] { display: none; }
.ilc-user-menu__panel-header { padding: 10px 12px 12px; border-bottom: 1px solid rgba(0,0,0,.06); display: flex; flex-direction: column; gap: 2px; }
.ilc-user-menu__email { font-size: 12px; opacity: .6; }
.ilc-user-menu__list { list-style: none; margin: 6px 0; padding: 0; }
.ilc-user-menu__list a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 8px; color: inherit; text-decoration: none; font-size: 14px; }
.ilc-user-menu__list a:hover { background: rgba(0,0,0,.05); }
.ilc-user-menu__logout { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-top: 1px solid rgba(0,0,0,.06); margin-top: 4px; color: #b13b3b; text-decoration: none; border-radius: 8px; font-size: 14px; }
.ilc-user-menu__logout:hover { background: rgba(177,59,59,.08); color: #b13b3b; }

/* ===== Account dashboard ===== */
.ilc-account { padding: 40px 0 80px; }
.ilc-account__header { display: flex; align-items: center; gap: 18px; margin-bottom: 32px; padding-bottom: 28px; border-bottom: 1px solid rgba(0,0,0,.08); }
.ilc-account__avatar-img { width: 64px; height: 64px; border-radius: 50%; }
.ilc-account__greeting { font-size: 1.6rem; font-weight: 700; margin: 0 0 4px; }
.ilc-account__email { font-size: 14px; opacity: .6; margin: 0; }

/* Tabs */
.ilc-account__tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 32px; border-bottom: 2px solid rgba(0,0,0,.07); }
.ilc-account__tab { display: inline-block; padding: 10px 18px; font-size: 14px; font-weight: 500; color: inherit; text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color .15s, border-color .15s; opacity: .7; }
.ilc-account__tab:hover { opacity: 1; color: var(--ilc-color-primary, #b48a5a); }
.ilc-account__tab--active { opacity: 1; color: var(--ilc-color-primary, #b48a5a); border-bottom-color: var(--ilc-color-primary, #b48a5a); }

/* Section titles */
.ilc-account__section-title { font-size: 1.1rem; font-weight: 600; margin: 28px 0 14px; }
.ilc-account__section-title:first-child { margin-top: 0; }

/* Course grid override for account (narrower) */
.ilc-courses-grid--account { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

/* Placeholder (diplome / no orders) */
.ilc-account__placeholder { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 60px 24px; gap: 12px; opacity: .7; }
.ilc-account__placeholder svg { opacity: .4; }
.ilc-account__placeholder h2 { font-size: 1.2rem; margin: 0; }
.ilc-account__placeholder p { font-size: 14px; max-width: 340px; margin: 0; }

/* Orders table */
.ilc-account__table-wrap { overflow-x: auto; }
.ilc-account__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ilc-account__table th, .ilc-account__table td { padding: 10px 12px; border-bottom: 1px solid rgba(0,0,0,.07); text-align: left; }
.ilc-account__table th { font-weight: 600; background: rgba(0,0,0,.02); font-size: 12px; text-transform: uppercase; letter-spacing: .5px; }
.ilc-account__table-id { opacity: .5; width: 48px; }

/* Status badges */
.ilc-status { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 500; }
.ilc-status--success { background: #e6f4ea; color: #1e6e38; }
.ilc-status--warning { background: #fff8e1; color: #8a6500; }
.ilc-status--error   { background: #fce8e6; color: #9e2000; }
.ilc-status--info    { background: #e8f0fe; color: #1a56db; }
.ilc-status--neutral { background: rgba(0,0,0,.06); color: inherit; }

/* Billing form in account */
.ilc-account__billing-form { max-width: 640px; }
.ilc-account__billing-info { font-size: 14px; opacity: .6; margin: -8px 0 20px; }
.ilc-account__billing-actions { margin-top: 24px; }

/* Mobile */
@media (max-width: 600px) {
	.ilc-account__tabs { gap: 0; }
	.ilc-account__tab { padding: 10px 12px; font-size: 13px; }
}

/* Stare curs finalizat (card single-course) */
.ilc-course-hero__enrolled-label--done { color: var(--ilc-color-primary, #b48a5a); font-weight: 700; font-size: 1.05rem; }
.ilc-progress__bar--done { background: var(--ilc-color-primary, #b48a5a); }

/* Diploma cards (account tab diplome) */
.ilc-account__diplomas { display: flex; flex-direction: column; gap: 16px; padding: 8px 0; }
.ilc-diploma-card {
	display: flex; align-items: center; gap: 20px;
	background: linear-gradient(135deg, #fdf8f0, #fff8ee);
	border: 1px solid #d4b483;
	border-radius: var(--ilcf-radius);
	padding: 20px 24px;
	flex-wrap: wrap;
}
.ilc-diploma-card__seal {
	width: 52px; height: 52px; border-radius: 50%;
	background: linear-gradient(135deg, #d4b483, #b48a5a);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.ilc-diploma-card__seal .dashicons { color: #fff; font-size: 26px; width: 26px; height: 26px; }
.ilc-diploma-card__info { flex: 1; min-width: 200px; }
.ilc-diploma-card__title { font-size: 16px; font-weight: 700; color: var(--ilcf-primary); margin: 0 0 4px; }
.ilc-diploma-card__meta { font-size: 13px; color: var(--ilcf-text-2); }
.ilc-diploma-card__code { font-family: 'Courier New', monospace; font-size: 12px; color: var(--ilcf-muted); }

/* =============================================================
 * Custom Login Page
 * ============================================================= */
.ilc-login-page {
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 16px 64px;
	background: var(--ilcf-bg);
}
.ilc-login-page__wrap {
	width: 100%;
	max-width: 440px;
}
.ilc-login-page__brand {
	text-align: center;
	margin-bottom: 28px;
}
.ilc-login-page__logo {
	width: 56px; height: 56px; object-fit: contain;
	margin: 0 auto 12px; display: block;
}
.ilc-login-page__site-name {
	font-size: 22px; font-weight: 700; color: var(--ilcf-primary);
	text-decoration: none; display: block; margin-bottom: 12px;
}
.ilc-login-page__title {
	font-size: 26px; font-weight: 700; color: var(--ilcf-primary);
	margin: 0 0 6px; line-height: 1.2;
}
.ilc-login-page__subtitle {
	font-size: 15px; color: var(--ilcf-text-2); margin: 0;
}
.ilc-login-page__card {
	background: #fff;
	border: 1px solid var(--ilcf-border);
	border-radius: var(--ilcf-radius);
	box-shadow: var(--ilcf-shadow-lg);
	padding: 36px 32px;
}
@media (max-width: 480px) {
	.ilc-login-page__card { padding: 24px 20px; }
}

/* Formular */
.ilc-login-form { display: flex; flex-direction: column; gap: 20px; }
.ilc-field { display: flex; flex-direction: column; gap: 6px; }
.ilc-field__label { font-size: 14px; font-weight: 600; color: var(--ilcf-primary); }
.ilc-field__label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.ilc-field__input {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--ilcf-border);
	border-radius: var(--ilcf-radius-sm);
	font-size: 15px;
	color: var(--ilcf-text);
	background: #fff;
	transition: border-color .15s, box-shadow .15s;
	outline: none;
}
.ilc-field__input:focus {
	border-color: var(--ilcf-accent);
	box-shadow: 0 0 0 3px rgba(201,169,110,.18);
}
.ilc-field__pw-wrap { position: relative; }
.ilc-field__pw-wrap .ilc-field__input { padding-right: 44px; }
.ilc-field__pw-toggle {
	position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
	background: none; border: none; cursor: pointer; padding: 4px;
	color: var(--ilcf-muted); line-height: 0;
}
.ilc-field__pw-toggle:hover { color: var(--ilcf-primary); }
.ilc-login-form__lost-pw {
	font-size: 13px; color: var(--ilcf-accent); text-decoration: none;
	white-space: nowrap;
}
.ilc-login-form__lost-pw:hover { text-decoration: underline; }
.ilc-login-form__remember {
	display: flex; align-items: center; gap: 8px;
	font-size: 14px; color: var(--ilcf-text-2); cursor: pointer;
}
.ilc-login-form__submit { margin-top: 4px; }
.ilc-login-page__back {
	text-align: center; margin-top: 20px; font-size: 14px;
}
.ilc-login-page__back a { color: var(--ilcf-text-2); text-decoration: none; }
.ilc-login-page__back a:hover { color: var(--ilcf-primary); }
