/* ===========================================================================
   eSoucoulou — Tutor LMS plugin overrides
   These rules retarget default Tutor LMS classes to the eSoucoulou design.
   =========================================================================== */

/* Buttons */
.tutor-btn,
.tutor-btn-primary,
button.tutor-btn-primary,
a.tutor-btn-primary {
	background-color: var(--eso-primary) !important;
	border-color: var(--eso-primary) !important;
	color: #fff !important;
	border-radius: var(--eso-radius-md) !important;
	font-family: var(--eso-font-body) !important;
	font-weight: 600 !important;
	transition: all var(--eso-t-fast) !important;
}
.tutor-btn-primary:hover,
button.tutor-btn-primary:hover,
a.tutor-btn-primary:hover {
	background-color: var(--eso-primary-dark) !important;
	border-color: var(--eso-primary-dark) !important;
	transform: translateY(-1px);
}
.tutor-btn-secondary,
.tutor-btn-outline-primary {
	background-color: transparent !important;
	color: var(--eso-primary-dark) !important;
	border-color: var(--eso-primary) !important;
	border-radius: var(--eso-radius-md) !important;
}
.tutor-btn-secondary:hover,
.tutor-btn-outline-primary:hover {
	background-color: var(--eso-primary) !important;
	color: #fff !important;
}

/* Accent colors */
.tutor-color-primary,
.tutor-text-primary,
.tutor-link-primary,
a.tutor-link-primary {
	color: var(--eso-primary-dark) !important;
}
.tutor-bg-primary { background-color: var(--eso-primary) !important; }

/* Course cards */
.tutor-course,
.tutor-course-loop,
.tutor-courses-loop .tutor-course-loop-content {
	border-radius: var(--eso-radius-lg) !important;
	overflow: hidden !important;
	border: 1px solid var(--eso-gray-200) !important;
	transition: all var(--eso-t-base) !important;
}
.tutor-course:hover,
.tutor-course-loop:hover {
	transform: translateY(-3px);
	box-shadow: var(--eso-shadow-lg) !important;
	border-color: var(--eso-primary-light) !important;
}
.tutor-course .tutor-course-name,
.tutor-course-loop .tutor-course-name {
	font-family: var(--eso-font-display) !important;
	font-weight: 700 !important;
	color: var(--eso-black) !important;
}
.tutor-course .tutor-course-name a:hover { color: var(--eso-primary) !important; }

/* Course price */
.tutor-course-price,
.tutor-course-loop-price {
	color: var(--eso-primary-dark) !important;
	font-weight: 800 !important;
	font-family: var(--eso-font-display) !important;
}

/* Star rating */
.tutor-ratings .tutor-rating-stars,
.tutor-star-rating-group { color: var(--eso-gold) !important; }

/* Progress bars */
.tutor-progress-bar,
.tutor-progress-filled {
	background-color: var(--eso-primary) !important;
}
.tutor-progress { background-color: var(--eso-gray-100) !important; }

/* Tabs */
.tutor-nav-tabs .tutor-nav-link.is-active,
.tutor-nav .tutor-nav-link.is-active {
	color: var(--eso-primary-dark) !important;
	border-bottom-color: var(--eso-primary) !important;
}

/* Form inputs (used in instructor signup, course builder) */
.tutor-form-control,
.tutor-form input,
.tutor-form textarea,
.tutor-form select {
	border-radius: var(--eso-radius-md) !important;
	border-color: var(--eso-gray-200) !important;
	font-family: var(--eso-font-body) !important;
	transition: border-color var(--eso-t-fast), box-shadow var(--eso-t-fast) !important;
}
.tutor-form-control:focus,
.tutor-form input:focus,
.tutor-form textarea:focus,
.tutor-form select:focus {
	border-color: var(--eso-primary) !important;
	box-shadow: 0 0 0 3px rgba(26, 175, 26, 0.15) !important;
	outline: none !important;
}

/* Sidebar/buybox */
.tutor-course-details-sidebar,
.tutor-course-sidebar {
	border-radius: var(--eso-radius-lg) !important;
	border: 1px solid var(--eso-gray-200) !important;
	box-shadow: var(--eso-shadow-md) !important;
}

/* Instructor dashboard */
.tutor-dashboard,
.tutor-dashboard-content {
	font-family: var(--eso-font-body) !important;
}
.tutor-dashboard-menu-item.is-active,
.tutor-dashboard-menu a.active {
	background-color: rgba(26, 175, 26, 0.08) !important;
	color: var(--eso-primary-dark) !important;
	border-left: 3px solid var(--eso-primary) !important;
}

/* Quiz */
.tutor-quiz-question {
	background: #fff !important;
	border-radius: var(--eso-radius-lg) !important;
	border: 1px solid var(--eso-gray-200) !important;
	padding: 24px !important;
}
.tutor-quiz-question .tutor-quiz-answer.is-correct {
	background: rgba(26, 175, 26, 0.1) !important;
	border-color: var(--eso-primary) !important;
}

/* Certificates */
.tutor-certificate-card {
	border-radius: var(--eso-radius-lg) !important;
	border: 1px solid var(--eso-gold) !important;
	background: linear-gradient(135deg, #fff 0%, rgba(212, 160, 23, 0.05) 100%) !important;
}

/* Empty states */
.tutor-empty,
.tutor-no-content {
	background: var(--eso-gray-50) !important;
	border-radius: var(--eso-radius-lg) !important;
	color: var(--eso-gray-600) !important;
}

/* Badges */
.tutor-badge,
.tutor-badge-success { background-color: var(--eso-primary) !important; color: #fff !important; }
.tutor-badge-warning { background-color: var(--eso-gold) !important; color: var(--eso-black) !important; }
.tutor-badge-danger  { background-color: #d63638 !important; color: #fff !important; }

/* Pagination */
.tutor-pagination .page-numbers.current {
	background-color: var(--eso-primary) !important;
	border-color: var(--eso-primary) !important;
	color: #fff !important;
}

/* ============================================================
   v1.4 — Heavy Tutor LMS skinning to match eSoucoulou brand
   Dashboard, lesson player, course sidebar, certificates
   ============================================================ */

/* ===== TUTOR LMS DASHBOARD ===== */

/* Container & background */
.tutor-dashboard,
.tutor-dashboard-wrap,
body.tutor-dashboard {
	background: #f9fafb !important;
	font-family: 'Plus Jakarta Sans', 'Outfit', system-ui, sans-serif !important;
}

/* Sidebar */
.tutor-dashboard-menu,
.tutor-dashboard-left-menu {
	background: #ffffff !important;
	border-right: 1px solid #e5e7eb !important;
	border-radius: 16px;
	padding: 8px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.tutor-dashboard-menu a,
.tutor-dashboard-menu li a,
.tutor-dashboard-left-menu a {
	color: #374151 !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	font-weight: 500 !important;
	transition: all 0.18s ease !important;
}
.tutor-dashboard-menu a:hover,
.tutor-dashboard-left-menu a:hover {
	background: #f0fdf4 !important;
	color: #128a12 !important;
}
.tutor-dashboard-menu .active a,
.tutor-dashboard-menu li.active a,
.tutor-dashboard-menu .tutor-dashboard-menu-item.active a,
.tutor-dashboard-left-menu .active a {
	background: linear-gradient(135deg, #1aaf1a, #128a12) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(26,175,26,0.25);
}

/* Dashboard cards */
.tutor-card,
.tutor-dashboard-card,
.tutor-dashboard-content-inner > div,
.tutor-card-info {
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 14px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.03) !important;
	padding: 20px !important;
}

/* Stats blocks */
.tutor-dashboard-info-card {
	border-radius: 14px !important;
	border: 1px solid #e5e7eb !important;
	background: #fff !important;
}
.tutor-dashboard-info-card .tutor-icon-bg-circle,
.tutor-dashboard-info-card .tutor-icon {
	background: rgba(26,175,26,0.08) !important;
	color: #128a12 !important;
}
.tutor-dashboard-info-card-value,
.tutor-dashboard-info-card-number,
.tutor-fs-3,
.tutor-fs-4 {
	color: #0a0a0a !important;
	font-weight: 700 !important;
}

/* Page titles */
.tutor-dashboard-content h1,
.tutor-dashboard-content h2,
.tutor-dashboard-content .tutor-fs-1,
.tutor-dashboard-content .tutor-fs-2 {
	font-family: 'Outfit', system-ui, sans-serif !important;
	color: #0a0a0a !important;
	font-weight: 800 !important;
}

/* ===== TUTOR LMS COURSE PLAYER / LESSON PAGE ===== */

/* Body */
body.single-lesson,
body.single-courses,
body.tutor-lesson-template {
	background: #f9fafb !important;
}

/* Top progress bar */
.tutor-course-topbar,
.tutor-single-course-header,
.tutor-course-progress-bar {
	background: linear-gradient(135deg, #1aaf1a, #128a12) !important;
	color: #ffffff !important;
}
.tutor-course-topbar a,
.tutor-course-topbar span,
.tutor-single-course-header * {
	color: #ffffff !important;
}

/* Lesson sidebar (Contenu du cours) */
.tutor-course-content-list,
.tutor-course-spotlight-wrap,
.tutor-course-topic-summary-wrap,
.tutor-course-content-sidebar {
	background: #ffffff !important;
	border-right: 1px solid #e5e7eb !important;
	border-radius: 0 !important;
}
.tutor-course-content-list h2,
.tutor-course-content-list h3,
.tutor-course-content-list .tutor-course-topic-title,
.tutor-course-spotlight-wrap h2,
.tutor-course-spotlight-wrap h3 {
	font-family: 'Outfit', system-ui, sans-serif !important;
	color: #0a0a0a !important;
}

/* Lesson list items */
.tutor-course-content-list li,
.tutor-course-spotlight-list li,
.tutor-course-topic-summary li,
.tutor-course-topic-item {
	border-radius: 8px !important;
	transition: background 0.18s !important;
}
.tutor-course-content-list li a,
.tutor-course-spotlight-list li a {
	color: #374151 !important;
	padding: 10px 12px !important;
	border-radius: 8px !important;
}
.tutor-course-content-list li a:hover,
.tutor-course-spotlight-list li a:hover {
	background: #f0fdf4 !important;
	color: #128a12 !important;
}

/* Active lesson */
.tutor-course-content-list li.active,
.tutor-course-spotlight-list li.active,
.tutor-course-topic-summary li.active,
.tutor-course-content-list .is-active,
.tutor-course-content-list-item.is-active {
	background: linear-gradient(135deg, rgba(26,175,26,0.10), rgba(26,175,26,0.04)) !important;
	border-left: 4px solid #1aaf1a !important;
}
.tutor-course-content-list li.active a,
.tutor-course-content-list li.active span {
	color: #128a12 !important;
	font-weight: 600 !important;
}

/* Lesson content area */
.tutor-course-content-area,
.tutor-lesson-content,
.tutor-course-content-body,
.tutor-course-content-area-inner {
	background: #ffffff !important;
	padding: 32px !important;
	border-radius: 16px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

/* Lesson title */
.tutor-course-content-area h1,
.tutor-lesson-content h1,
.tutor-lesson-content h2:first-of-type {
	font-family: 'Outfit', system-ui, sans-serif !important;
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
	font-weight: 800 !important;
	color: #0a0a0a !important;
	line-height: 1.2 !important;
	margin-top: 0 !important;
}

/* Lesson body text */
.tutor-lesson-content p,
.tutor-course-content-area p {
	font-size: 1.0625rem !important;
	line-height: 1.75 !important;
	color: #1f2937 !important;
}
.tutor-lesson-content h2,
.tutor-course-content-area h2 {
	font-family: 'Outfit', system-ui, sans-serif !important;
	font-size: 1.5rem !important;
	margin-top: 1.8em !important;
}
.tutor-lesson-content h3,
.tutor-course-content-area h3 {
	font-family: 'Outfit', system-ui, sans-serif !important;
	font-size: 1.25rem !important;
	margin-top: 1.5em !important;
}
.tutor-lesson-content ul,
.tutor-lesson-content ol {
	padding-left: 1.5em;
}
.tutor-lesson-content li {
	margin: 0.4em 0;
	line-height: 1.65;
}

/* Mark as complete button */
.tutor-course-complete-btn,
.tutor-mark-as-completed,
button.tutor-mark-as-completed {
	background: linear-gradient(135deg, #1aaf1a, #128a12) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 12px 24px !important;
	font-weight: 600 !important;
	box-shadow: 0 4px 12px rgba(26,175,26,0.25) !important;
}
.tutor-course-complete-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(26,175,26,0.30) !important;
}

/* Quiz UI */
.tutor-quiz-wrapper,
.tutor-quiz-attempt-info,
.tutor-quiz-question {
	background: #ffffff !important;
	border-radius: 14px !important;
	padding: 24px !important;
	border: 1px solid #e5e7eb !important;
}
.tutor-quiz-question-title {
	font-family: 'Outfit', system-ui, sans-serif !important;
	font-size: 1.125rem !important;
	color: #0a0a0a !important;
}
.tutor-quiz-question-answers li,
.tutor-quiz-attempt-answer-list li {
	padding: 12px 16px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 10px !important;
	margin-bottom: 8px !important;
	transition: all 0.18s !important;
	cursor: pointer !important;
}
.tutor-quiz-question-answers li:hover {
	border-color: #1aaf1a !important;
	background: #f0fdf4 !important;
}

/* Tutor LMS course archive card */
.tutor-course,
.tutor-course-list-card,
.tutor-courses-loop > article,
.tutor-courses-loop-item {
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	transition: all 0.18s !important;
}
.tutor-course:hover,
.tutor-course-list-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 12px 28px rgba(0,0,0,0.08) !important;
	border-color: #b8e6c1 !important;
}
.tutor-course-name a,
.tutor-course-title a {
	color: #0a0a0a !important;
	font-family: 'Outfit', system-ui, sans-serif !important;
	font-weight: 700 !important;
}

/* Tutor course price badge */
.tutor-course-price,
.tutor-price {
	color: #128a12 !important;
	font-weight: 700 !important;
}

/* Tutor secondary buttons */
.tutor-btn-secondary,
.tutor-btn-outline {
	background: transparent !important;
	color: #128a12 !important;
	border: 1.5px solid #128a12 !important;
}
.tutor-btn-secondary:hover,
.tutor-btn-outline:hover {
	background: #128a12 !important;
	color: #ffffff !important;
}

/* "Take Note" button on lesson — keep visible */
.tutor-take-note-btn,
.tutor-course-take-note-btn {
	background: rgba(26,175,26,0.10) !important;
	color: #128a12 !important;
	border: 1px solid rgba(26,175,26,0.20) !important;
}

/* ============================================================
   v1.5 — Tutor LMS Registration & Login frontend pages
   ============================================================ */

/* The frontend Tutor LMS registration page (image 1 from feedback) */
body.tutor-registration-template,
body.page-template-template-registration,
.tutor-login-area,
.tutor-registration-area,
.tutor-student-registration-form,
.tutor-registration-form-wrapper,
.tutor-login-form-wrapper,
form.tutor-registration-form,
form.tutor-login-form,
form#tutor-registration-form,
form#tutor-login-form {
	max-width: 480px !important;
	margin: 0 auto !important;
	padding: 32px 28px !important;
	background: #ffffff !important;
	border-radius: 18px !important;
	box-shadow: 0 12px 32px rgba(26,175,26,0.08) !important;
	border: 1px solid #e5e7eb !important;
}

/* Make sure page hero/title block looks like our brand */
.page-template-default .entry-header,
.tutor-page-wrapper > .entry-header,
.tutor-registration-area + .entry-header {
	background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%) !important;
}

/* Field labels */
.tutor-registration-area label,
.tutor-login-area label,
.tutor-form-group label,
form.tutor-registration-form label,
form.tutor-login-form label {
	display: block !important;
	font-weight: 600 !important;
	color: #374151 !important;
	margin-bottom: 6px !important;
	font-size: 0.875rem !important;
}

/* Inputs */
.tutor-registration-area input[type="text"],
.tutor-registration-area input[type="email"],
.tutor-registration-area input[type="password"],
.tutor-login-area input[type="text"],
.tutor-login-area input[type="email"],
.tutor-login-area input[type="password"],
form.tutor-registration-form input,
form.tutor-login-form input,
.tutor-form-control,
input.tutor-form-control {
	width: 100% !important;
	padding: 11px 14px !important;
	border: 1.5px solid #e5e7eb !important;
	border-radius: 10px !important;
	background: #f9fafb !important;
	font-size: 1rem !important;
	transition: all 0.18s !important;
	margin-bottom: 16px !important;
}
.tutor-registration-area input:focus,
.tutor-login-area input:focus,
form.tutor-registration-form input:focus,
form.tutor-login-form input:focus,
input.tutor-form-control:focus {
	border-color: #1aaf1a !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(26,175,26,0.10) !important;
	outline: none !important;
}

/* Submit button */
.tutor-registration-area button[type="submit"],
.tutor-registration-area input[type="submit"],
.tutor-login-area button[type="submit"],
.tutor-login-area input[type="submit"],
form.tutor-registration-form button[type="submit"],
form.tutor-login-form button[type="submit"],
button.tutor-btn-primary[type="submit"] {
	width: 100% !important;
	background: linear-gradient(135deg, #1aaf1a, #128a12) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 12px 24px !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	cursor: pointer !important;
	box-shadow: 0 4px 12px rgba(26,175,26,0.25) !important;
	transition: all 0.18s !important;
}
.tutor-registration-area button[type="submit"]:hover,
.tutor-registration-area input[type="submit"]:hover,
.tutor-login-area button[type="submit"]:hover,
.tutor-login-area input[type="submit"]:hover,
form.tutor-registration-form button[type="submit"]:hover,
form.tutor-login-form button[type="submit"]:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(26,175,26,0.30) !important;
}

/* "Salut bon retour" login intro / "Vous n'avez pas de compte" link */
.tutor-registration-form-wrapper h1,
.tutor-login-form-wrapper h1,
.tutor-page-title,
.tutor-form-heading {
	font-family: 'Outfit', system-ui, sans-serif !important;
	font-size: 1.75rem !important;
	font-weight: 800 !important;
	color: #0a0a0a !important;
	margin: 0 0 24px !important;
	text-align: center;
}

/* "Forgot password" / "Already have an account?" links */
.tutor-login-area a,
.tutor-registration-area a,
.tutor-form-link,
a.tutor-link {
	color: #128a12 !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}
.tutor-login-area a:hover,
.tutor-registration-area a:hover {
	text-decoration: underline !important;
}

/* Checkboxes */
.tutor-registration-area input[type="checkbox"],
.tutor-login-area input[type="checkbox"] {
	accent-color: #1aaf1a !important;
	width: 18px !important;
	height: 18px !important;
	margin-right: 6px !important;
}

/* ============================================================
   v1.7 — Fix blank pages on Tutor LMS Pro features (bundles, etc.)
   The bundle creator and other Pro features load dynamic content.
   Our overrides must NOT hide their content.
   ============================================================ */

/* Force visibility on all Tutor LMS dashboard pages — fights any "display:none" */
body.tutor-dashboard-page,
body[class*="tutor-dashboard"],
body[class*="tutor-page"],
.tutor-dashboard-content,
.tutor-dashboard-content-inner,
.tutor-page-wrapper,
.tutor-page-content,
.tutor-bundle-builder-wrap,
.tutor-course-bundle-builder,
.tutor-bundle-edit-wrap {
	min-height: 60vh !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Tutor LMS modal builder iframe (course bundle creator embeds in an iframe) */
.tutor-modal-wrap,
.tutor-builder-wrap,
.tutor-iframe-wrap,
iframe.tutor-builder-iframe {
	min-height: 80vh !important;
	width: 100% !important;
	display: block !important;
	border: none !important;
	background: #fff !important;
}

/* Reset the heavy lesson-content card styling on bundle/builder pages — they need full width */
body[class*="bundle-builder"] .tutor-course-content-area,
body[class*="bundle"] .tutor-course-content-area,
body[class*="course-builder"] .tutor-course-content-area {
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* Course chapter "objectives" card style (used by AI-generated chapter summaries) */
.eso-chapter-objectives {
	background: #f0fdf4;
	border-left: 4px solid #1aaf1a;
	padding: 14px 18px;
	border-radius: 8px;
	margin: 12px 0;
}
.eso-chapter-objectives ul { margin: 8px 0 0; padding-left: 20px; }
.eso-chapter-objectives li { margin: 4px 0; }

.eso-chapter-discussion {
	background: #fef9e7;
	border-left: 4px solid #d4a017;
	padding: 14px 18px;
	border-radius: 8px;
	margin: 16px 0;
}

/* ============================================================
   v1.8 — BuddyPress signup page skin
   ============================================================ */

/* Page wrapper background */
body.bp-signup,
body.buddypress.signup,
.buddypress-wrap.bp-dir-hori-nav,
body.page-template-default.buddypress {
	background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 50%, #f0fdf4 100%) !important;
}

/* Signup form container */
.buddypress-wrap .signup-form,
.bp-signup form#signup_form,
#signup_form,
.signup-form {
	max-width: 720px !important;
	margin: 32px auto !important;
	padding: 40px 36px !important;
	background: #ffffff !important;
	border-radius: 18px !important;
	box-shadow: 0 12px 32px rgba(26,175,26,0.08) !important;
	border: 1px solid #e5e7eb !important;
}

/* Page title */
.buddypress-wrap .signup h1,
.signup-page h1,
body.bp-signup h1.entry-title {
	font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif !important;
	font-size: 2rem !important;
	font-weight: 800 !important;
	color: #0a0a0a !important;
	margin-bottom: 12px !important;
	text-align: center;
}

/* Section headings inside form */
.signup-form h2,
.signup-form h3,
.signup-form h4,
#signup_form h2,
#signup_form h3 {
	font-family: 'Outfit', system-ui, sans-serif !important;
	font-size: 1.125rem !important;
	color: #128a12 !important;
	font-weight: 700 !important;
	margin: 24px 0 12px !important;
	padding-bottom: 8px;
	border-bottom: 2px solid #b8e6c1;
}

/* Field labels */
.signup-form label,
#signup_form label,
.buddypress-wrap label {
	display: block !important;
	font-weight: 600 !important;
	color: #374151 !important;
	margin-bottom: 6px !important;
	font-size: 0.9rem !important;
}
.signup-form .description,
#signup_form .description {
	font-size: 0.8125rem !important;
	color: #6b7280 !important;
	margin-top: 4px !important;
	font-style: italic;
}

/* Inputs */
.signup-form input[type="text"],
.signup-form input[type="email"],
.signup-form input[type="password"],
.signup-form input[type="url"],
.signup-form textarea,
.signup-form select,
#signup_form input[type="text"],
#signup_form input[type="email"],
#signup_form input[type="password"],
#signup_form input[type="url"],
#signup_form textarea,
#signup_form select,
.buddypress-wrap input[type="text"],
.buddypress-wrap input[type="email"],
.buddypress-wrap input[type="password"] {
	width: 100% !important;
	padding: 11px 14px !important;
	border: 1.5px solid #e5e7eb !important;
	border-radius: 10px !important;
	background: #f9fafb !important;
	font-size: 1rem !important;
	transition: all 0.18s !important;
	margin-bottom: 18px !important;
	font-family: inherit !important;
}
.signup-form input:focus,
.signup-form textarea:focus,
#signup_form input:focus,
.buddypress-wrap input:focus {
	border-color: #1aaf1a !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(26,175,26,0.10) !important;
	outline: none !important;
}

/* Password strength meter */
.signup-form .password-strength-meter,
#signup_form .pass-strength-result {
	border-radius: 6px !important;
	margin-top: -10px !important;
	margin-bottom: 14px !important;
}

/* Submit button — "Terminer l'inscription" */
.signup-form input[type="submit"],
#signup_form input[type="submit"],
.signup-form button[type="submit"],
#signup_form button[type="submit"],
.signup-form .submit input,
.buddypress-wrap button[type="submit"] {
	width: 100% !important;
	background: linear-gradient(135deg, #1aaf1a, #128a12) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 14px 28px !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	cursor: pointer !important;
	box-shadow: 0 4px 12px rgba(26,175,26,0.25) !important;
	transition: all 0.18s !important;
	margin-top: 8px !important;
}
.signup-form input[type="submit"]:hover,
#signup_form input[type="submit"]:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 8px 20px rgba(26,175,26,0.30) !important;
}
.signup-form input[type="submit"]:disabled,
#signup_form input[type="submit"]:disabled {
	background: #cccccc !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	opacity: 0.6 !important;
}

/* BP info/notice boxes */
.signup-form .bp-feedback,
.signup-form .info,
#signup_form .info,
.bp-feedback.bp-messages.info {
	background: #f0fdf4 !important;
	border-left: 4px solid #1aaf1a !important;
	border-radius: 8px !important;
	padding: 14px 18px !important;
	color: #166534 !important;
	font-size: 0.9rem !important;
	margin: 16px 0 !important;
}

/* Error boxes */
.signup-form .bp-feedback.error,
#signup_form .error {
	background: #fef2f2 !important;
	border-left-color: #dc2626 !important;
	color: #991b1b !important;
}

/* Required field marker */
.signup-form .required-field-message,
.required {
	color: #dc2626 !important;
}

/* Profile field input fields with red border (invalid state) */
.signup-form input[aria-invalid="true"],
.signup-form input.error {
	border-color: #dc2626 !important;
	background: #fef2f2 !important;
}

/* Visibility level dropdown */
.signup-form .field-visibility-settings select {
	margin-bottom: 8px !important;
}

/* ============================================================
   v1.9 — Instructor dashboard: prominent "Nouveau cours" button
   + hide ambiguous left-side floating widgets
   ============================================================ */

/* "+ Nouveau cours" / "+ New Course" button on instructor dashboard My Courses page */
.tutor-dashboard-page-create-course-btn,
.tutor-create-course-btn,
.tutor-dashboard-header .tutor-btn-primary,
.tutor-dashboard-my-courses-area .tutor-btn-primary,
a.tutor-create-new-course,
a[href*="create-course"],
a[href*="new-course"] {
	background: linear-gradient(135deg, #1aaf1a, #128a12) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 12px 28px !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	box-shadow: 0 4px 12px rgba(26,175,26,0.30) !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	transition: all 0.18s !important;
}
.tutor-dashboard-page-create-course-btn:hover,
a[href*="create-course"]:hover,
a[href*="new-course"]:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 20px rgba(26,175,26,0.40) !important;
}

/* New Bundle button — secondary outline style */
a[href*="create-bundle"],
.tutor-create-bundle-btn,
.tutor-new-bundle-btn {
	background: transparent !important;
	color: #128a12 !important;
	border: 1.5px solid #128a12 !important;
	border-radius: 999px !important;
	padding: 10px 22px !important;
	font-weight: 600 !important;
	margin-right: 8px !important;
}
a[href*="create-bundle"]:hover {
	background: #128a12 !important;
	color: #ffffff !important;
}

/* Dashboard header layout: title left, actions right */
.tutor-dashboard-header,
.tutor-my-courses-header,
.tutor-dashboard-content > h1 + div,
.tutor-dashboard-content-inner > .tutor-dashboard-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin-bottom: 20px !important;
}

/* ===== Hide common third-party floating widgets on bottom-left =====
   These are typically inserted by accessibility/cookie/feedback plugins.
   The user does not want them. They can re-enable from plugin settings. */

/* Hostinger Reach widget */
body > #hostinger-easy-website-icons,
body > #hostinger-reach,
body > .hostinger-reach-widget,
body > div[id^="hostinger-"][style*="fixed"],
/* UserWay accessibility */
body > .uw-bottom-left,
body > [class*="userway"][class*="bottom-left"],
body > [id*="userway"][style*="left"],
/* Generic accessibility helpers */
body > .accessibility-helper-toggle,
body > .a11y-helper-toggle,
body > [class*="accessibility"][style*="left:"],
/* CookieYes / cookie consent floating button */
body > .cli-modal-content + .cli-modal-content,
body > .cky-revisit-bottom-left,
body > .cookie-notice-toggle.bottom-left {
	display: none !important;
}

/* Aggressive fallback: hide ANY unknown black/dark floating element at bottom-left
   that's not from our theme (we use prefix .eso-*). Only on screen widths > 480px so we
   don't interfere with mobile-specific UI. */
@media (min-width: 481px) {
	body > div:not([class^="eso-"]):not([id^="eso-"]):not([class*="whatsapp"]):not([class*="chat"])[style*="position: fixed"][style*="bottom"][style*="left"][style*="background-color: rgb(0"],
	body > div:not([class^="eso-"]):not([id^="eso-"])[style*="position:fixed"][style*="left:"]:has(>svg[fill="#000"]) {
		display: none !important;
	}
}

/* ============================================================
   v1.10 — Boutons "Progression du cours" lisibles + masquage Start Assignment
   ============================================================ */

/* "Commencer à apprendre" / "Continuer à apprendre" — bouton principal du sidebar Progression du cours */
.tutor-course-start-btn,
.tutor-course-continue-btn,
a.tutor-course-continue,
a[href*="lesson"][class*="tutor-btn"],
.tutor-course-sidebar .tutor-btn-primary,
.tutor-single-course .tutor-btn-primary,
.tutor-course-content-area .tutor-btn-primary:first-of-type {
	background: linear-gradient(135deg, #1aaf1a, #128a12) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 13px 28px !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	box-shadow: 0 4px 14px rgba(26,175,26,0.30) !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: 100% !important;
	transition: all 0.18s !important;
	text-shadow: none !important;
}
.tutor-course-start-btn:hover,
.tutor-course-continue-btn:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 8px 20px rgba(26,175,26,0.40) !important;
}

/* "Cours terminé" — bouton outline secondaire (visible mais discret) */
.tutor-course-complete-btn,
.tutor-mark-course-complete,
button[name="complete_course"],
.tutor-btn-outline-primary[class*="complete"] {
	background: #ffffff !important;
	color: #128a12 !important;
	border: 2px solid #128a12 !important;
	border-radius: 999px !important;
	padding: 12px 26px !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	width: 100% !important;
	margin-top: 10px !important;
	transition: all 0.18s !important;
}
.tutor-course-complete-btn:hover {
	background: #128a12 !important;
	color: #ffffff !important;
}

/* "Voir mon attestation" — disabled state quand non-100% : gris translucide */
.tutor-course-certificate-btn:not(.tutor-certificate-ready),
.tutor-view-certificate-btn:not(.tutor-certificate-ready),
a[href*="generate_tutor_certificate"]:not(.tutor-certificate-ready),
.tutor-course-sidebar .tutor-btn[class*="certificate"]:not(.tutor-certificate-ready) {
	background: #f3f4f6 !important;
	color: #9ca3af !important;
	border: 2px dashed #d1d5db !important;
	border-radius: 999px !important;
	padding: 12px 26px !important;
	font-weight: 600 !important;
	width: 100% !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative;
}
.tutor-course-certificate-btn:not(.tutor-certificate-ready)::after,
.tutor-view-certificate-btn:not(.tutor-certificate-ready)::after {
	content: "Disponible après 100% complétion";
	display: block;
	font-size: 0.7rem;
	font-weight: 500;
	color: #9ca3af;
	margin-top: 2px;
}

/* "Voir mon attestation" — état actif quand 100% complété : or */
.tutor-course-certificate-btn.tutor-certificate-ready,
.tutor-view-certificate-btn.tutor-certificate-ready,
a[href*="generate_tutor_certificate"].tutor-certificate-ready {
	background: linear-gradient(135deg, #d4a017, #a37a0d) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 13px 28px !important;
	font-weight: 700 !important;
	box-shadow: 0 4px 14px rgba(212,160,23,0.35) !important;
	width: 100% !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
}

/* ============================================================
   v1.10 — Masquer "Start Assignment" (le user veut soumissions par email)
   ============================================================ */
.tutor-start-assignment-btn,
button[name="start_assignment"],
button[name="start_assignment_btn"],
.tutor-assignment-start-button,
button.tutor-btn[name*="start_assignment"],
input[type="submit"][value*="Start Assignment"],
input[type="submit"][value*="Démarrer le devoir"] {
	display: none !important;
}

/* Ajouter visuellement la consigne d'envoi par email au-dessus du devoir
   (via ::before sur le container du devoir) */
.tutor-assignment-single-wrap::before,
.tutor-single-assignment-area::before {
	content: "Soumission par email — Envoyez votre travail à pratiques@esoucoulou.com avec votre nom, le titre du cours et le numéro du chapitre en objet. Vous recevrez un feedback personnalisé sous 5 jours ouvrés.";
	display: block;
	background: linear-gradient(135deg, #1aaf1a, #128a12);
	color: #ffffff;
	padding: 18px 22px;
	border-radius: 12px;
	margin: 16px 0 20px;
	font-size: 0.95rem;
	line-height: 1.6;
	font-weight: 500;
	box-shadow: 0 4px 14px rgba(26,175,26,0.20);
}

/* ============================================================
   v1.10 — Login modal: "Vous n'avez pas de compte ?" link lisible
   ============================================================ */
.tutor-login-form a[href*="register"],
.tutor-login-form-wrap a[href*="register"],
.bp-login-form a[href*="register"],
.tutor-modal-content a[href*="register"],
.tutor-modal-content a[href*="sign-up"],
.tutor-modal-content a[href*="creer-un-compte"],
.tutor-modal-content a[href*="inscription"],
.tutor-login-modal a:not(.tutor-btn-primary):not(.tutor-btn) {
	color: #128a12 !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	background: transparent !important;
	display: inline-block !important;
	margin-top: 12px !important;
	font-size: 0.95rem !important;
}
.tutor-login-form a[href*="register"]:hover,
.tutor-modal-content a[href*="register"]:hover {
	color: #1aaf1a !important;
	text-decoration: underline !important;
}

/* ============================================================
   v1.10 — Hide BuddyPress avatar upload section on signup
   ============================================================ */
#avatar-crop-section,
#avatar-upload-section,
.bp-signup-avatar-section,
.signup-form .upload-input,
.signup-form #avatar-upload,
.signup-form .change-avatar,
.signup-form button#change-avatar,
.signup-form .bp-uploader-progress,
.signup-form input[type="file"][name*="avatar"],
.signup-form input[type="file"][id*="avatar"] {
	display: none !important;
}

/* If the upload icon is visible elsewhere on signup (in case it's a SVG inline), hide it */
.signup-form > .file-input-wrap,
.signup-form svg.upload-icon,
.signup-form .upload-icon-wrap {
	display: none !important;
}
