/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: Kadence Theme is a lightweight yet full featured WordPress theme for creating beautiful fast loading and accessible websites, easier than ever. It features an easy to use drag and drop header and footer builder to build any type of header in minutes. It features a full library of gorgeous starter templates that are easy to modify with our intelligent global font and color controls. With extensive integration with the most popular 3rd party plugins, you can quickly build impressive ecommerce websites, course websites, business websites, and more.
Tags: translation-ready,two-columns,right-sidebar,left-sidebar,footer-widgets,blog,custom-logo,custom-background,custom-menu,rtl-language-support,editor-style,threaded-comments,custom-colors,featured-images,wide-blocks,full-width-template,theme-options,e-commerce
Version: 1.2.14.1777314602
Updated: 2026-04-27 20:30:02

*/

/* ========================================
   Mes Cours - Course Row Layout
   ======================================== */

:root
{
	--arpp-course-item-height: 110px;
	--arpp-course-item-border: 2px solid #e2e7ed;
	--arpp-stats-width: 150px;
	--arpp-font-arabic: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

	/* Animation timing */
	--arpp-animation-duration: 0.6s;
	--arpp-animation-easing: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ========================================
   Animations
   ======================================== */

/* Keyframes */
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes slideUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideInRight {
	from {
		opacity: 0;
		transform: translateX(30px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes scaleIn {
	from {
		opacity: 0;
		transform: scale(0.9);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes gentleBounce {
	0% {
		opacity: 0;
		transform: scale(0.8);
	}
	50% {
		transform: scale(1.05);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

/* Classes utilitaires d'animation - déclenchées par .is-visible */
.animate-fade-in.is-visible {
	animation: fadeIn var(--arpp-animation-duration) var(--arpp-animation-easing) forwards;
}

.animate-slide-up.is-visible {
	animation: slideUp var(--arpp-animation-duration) var(--arpp-animation-easing) forwards;
}

.animate-slide-down.is-visible {
	animation: slideDown var(--arpp-animation-duration) var(--arpp-animation-easing) forwards;
}

.animate-slide-in-right.is-visible {
	animation: slideInRight var(--arpp-animation-duration) var(--arpp-animation-easing) forwards;
}

.animate-scale-in.is-visible {
	animation: scaleIn var(--arpp-animation-duration) var(--arpp-animation-easing) forwards;
}

.animate-bounce.is-visible {
	animation: gentleBounce 0.8s var(--arpp-animation-easing) forwards;
}

/* Classes de délai */
.delay-1 {
	animation-delay: 0.1s;
}

.delay-2 {
	animation-delay: 0.2s;
}

.delay-3 {
	animation-delay: 0.3s;
}

.delay-4 {
	animation-delay: 0.4s;
}

.delay-5 {
	animation-delay: 0.5s;
}

/* État initial pour les animations (évite le flash) */
.animate-fade-in,
.animate-slide-up,
.animate-slide-down,
.animate-slide-in-right,
.animate-scale-in,
.animate-bounce {
	opacity: 0;
}

/* wrapper de la row qui détient notament la bordure */
/* Cibler uniquement les courses (modules) */
.learndash-wrapper .ld-item-list .ld-item-list-item.ld-item-list-item-course {
	border: var(--arpp-course-item-border);
}
/* row : Layout colonne sur mobile, 3 colonnes sur desktop */
/* Cibler uniquement les courses (modules), pas les lessons ni topics */
.ld-item-list-item-course .ld-item-list-item-preview {
	/* Reset padding du container */
	padding: 0 !important;
	margin: 0 !important;

	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

/* Mobile : Image 100% largeur x 110px hauteur */
.ld-item-list-item-course .ld-course-thumbnail {
	width: 100%;
	height: var(--arpp-course-item-height);
	flex-shrink: 0;
	line-height: 0;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.ld-item-list-item-course .ld-course-thumbnail a {
	display: block;
	width: 100%;
	height: 100%;
	line-height: 0;
	margin: 0;
	padding: 0;
}

.ld-item-list-item-course .ld-course-thumbnail img {
	width: 100%;
	height: var(--arpp-course-item-height);
	object-fit: cover;
	display: block;
}

.ld-item-list-item-course .ld-course-thumbnail svg {
	width: 100%;
	height: var(--arpp-course-item-height);
	display: block;
	vertical-align: top;
	margin: 0;
	padding: 0;
	position: relative;
}

/* Placeholder mobile/desktop visibility */
.ld-course-thumbnail-desktop {
	display: none;
}

.ld-course-thumbnail-mobile {
	display: block;
}

/* Desktop : Layout 3 colonnes - Image (110px) | Contenu (flex) | Détails (110px) */
@media (min-width: 768px) {
	.ld-item-list-item-course .ld-item-list-item-preview {
		flex-direction: row;
	}

	.ld-item-list-item-course .ld-course-thumbnail {
		width: var(--arpp-course-item-height);
		min-width: var(--arpp-course-item-height);
	}

	.ld-item-list-item-course .ld-course-thumbnail img,
	.ld-item-list-item-course .ld-course-thumbnail svg {
		width: var(--arpp-course-item-height);
	}

	/* Afficher version desktop, masquer version mobile */
	.ld-course-thumbnail-desktop {
		display: block;
	}

	.ld-course-thumbnail-mobile {
		display: none;
	}
}

/* Colonne 2 : Contenu (titre + badge) avec padding */
.ld-item-list-item-course .ld-item-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 20px;
	min-width: 0; /* Permet le text-overflow */
}

/* Mobile : Détails en bas, full width */
.ld-item-list-item-course .ld-item-details {
	width: 100%;
	padding: 12px;
	border-top: var(--arpp-course-item-border);
	flex-shrink: 0;
	align-items: center !important;
	justify-content: space-between !important;
	flex-direction: row;
	display: flex;
	gap: 12px;
	margin-left: 0px !important;
}

/* Mobile : Masquer le numéro de module */
.ld-item-list-item-course .ld-module-number {
	display: none;
}

/* Mobile : Bouton expand avec largeur adaptée */
.ld-item-list-item-course .ld-expand-button.ld-button-alternate.ld-mobile-only {
	width: fit-content;
}

/* Mobile : Pas de marge en bas pour la progress bar */
.ld-item-list-item-course .ld-progress {
	margin-bottom: 0px !important;
}

/* Desktop : Détails à droite - 110px */
@media (min-width: 768px) {
	.ld-item-list-item-course .ld-item-details {
		height: var(--arpp-course-item-height);
		width: var(--arpp-course-item-height);
		min-width: var(--arpp-course-item-height);
		padding: 0;
		border-top: none;
		border-left: var(--arpp-course-item-border);
		flex-direction: column;
		justify-content: center !important;
	}
}

.ld-item-list-item-course .ld-expand-button {
	margin-left: unset !important;
}

.ld-item-list-item-course .ld-item-list-actions {
	gap: 12px;
}
/* ========================================
   Mes Cours - Layout avec sidebar stats
   ======================================== */

/* Wrapper principal : column sur mobile, row sur desktop */
.arpp-mes-cours-body {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Mobile : ordre avec flex order */
#arpp-mes-cours-stats {
	order: 1;
	width: 100%;
	display: flex;
	gap: 0;
	flex-direction: row;
	flex-wrap: wrap;
}

.ld-section-heading {
	order: 2;
}

.ld-item-list.ld-course-list {
	order: 3;
	flex-grow: 2;
}

/* Desktop : row layout avec ordre réorganisé */
@media (min-width: 768px) {
	.arpp-mes-cours-body {
		flex-direction: row;
		flex-wrap: wrap;
	}

	/* Desktop : heading en haut, prend toute la largeur */
	.ld-section-heading {
		order: 1;
		width: 100%;
	}

	/* Desktop : liste à gauche */
	.ld-item-list.ld-course-list {
		order: 2;
	}

	/* Desktop : stats à droite */
	#arpp-mes-cours-stats {
		order: 3;
		--arpp-stats-width: 200px;
		flex-direction: column;
		flex-wrap: nowrap;
		height: fit-content;
		width: var(--arpp-stats-width);
		flex-shrink: 0;
		padding-top: 17px;
	}

	/* Citation redevient normale sur desktop */
	.arpp-citation-du-jour {
		flex: initial;
		border-right: none;
		border-bottom: 1px solid #e5e7eb;
	}

	.learndash-wrapper .ld-item-list .ld-item-search .ld-item-search-wrapper:before {
		right: -6px !important;
	}
	.arpp-stat-item {
		padding: 18px 12px;
	}

	.ld-progress {
	margin-bottom: 0px !important;
	}
}

/* Styling des items de stats */
.arpp-stat-item {
	flex: 1;
	padding: 12px;
	background: transparent;
	text-align: center;
	border-right: 1px solid #e5e7eb;
}

.arpp-stat-item:last-child {
	border-right: none;
}

/* Citation prend toute la largeur sur mobile */
.arpp-citation-du-jour {
	flex: 0 0 100%;
	border-right: none;
	border-bottom: 1px solid #e5e7eb;
}

/* Desktop : séparateurs horizontaux */
@media (min-width: 768px) {
	.arpp-stat-item {
		border-right: none;
		border-bottom: 1px solid #e5e7eb;
	}

	.arpp-stat-item:last-child {
		border-bottom: none;
	}
}
/* STYLE TRANSPARENT
.arpp-stat-item {
	flex: 1;
	padding: 12px;
	background: transparent;
	text-align: center;
	border-right: 1px solid #e5e7eb;
}

.arpp-stat-item:last-child {
	border-right: none;
}

 Desktop : séparateurs horizontaux
@media (min-width: 768px) {
	.arpp-stat-item {
		border-right: none;
		border-bottom: 1px solid #e5e7eb;
	}

	.arpp-stat-item:last-child {
		border-bottom: none;
	}
}
*/
/* Mot du jour */
.arpp-mot-du-jour {
	color: #333;
}

.arpp-mot-titre {
	font-size: 11px;
	font-weight: bold;
	margin-bottom: 8px;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.arpp-mot-arabe {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 4px;
	direction: rtl;
	font-family: var(--arpp-font-arabic);
	color: #FBB040;
}

.arpp-mot-francais {
	font-size: 14px;
	color: #333;
}

.ld-section-heading {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

/* Masquer le bouton "Expand All" sur mobile */
.ld-section-heading .ld-expand-button {
	display: none !important;
}

@media (min-width: 768px) {
	.ld-section-heading .ld-expand-button {
		display: inline-flex !important;
	}
}

.ld-item-list-item-course .ld-item-list-actions {
    display: flex;
}

.learndash-wrapper .ld-item-list {
    margin: 0 0 1em !important;
}
/* Citation du jour */
.arpp-citation-du-jour {
	/* Styles spécifiques si besoin */
}

.arpp-citation-titre {
	font-size: 11px;
	font-weight: bold;
	margin-bottom: 8px;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.arpp-citation-texte {
	font-size: 13px;
	line-height: 1.5;
	font-style: italic;
	margin-bottom: 8px;
	color: #333;
}

.arpp-citation-auteur {
	font-size: 11px;
	color: #666;
	text-align: right;
}

.ld-item-list-item-course .ld-status-icon {
	margin-top: unset !important;
}
/* ========================================
   Profile Header - Salutation arabe
   ======================================== */

/* Mobile : avatar à gauche, contenu à droite */
.arpp-profile-header {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	padding: 30px 0;
	margin-bottom: 20px;
	border-bottom: 1px solid #e5e7eb;
}

.arpp-profile-content {
	flex: 1;
	padding-right: 20px;
}

.arpp-greeting-line {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
	flex-direction: row-reverse;
}

.arpp-greeting-name {
	font-size: 22px;
	font-weight: 600;
	color: #333;
	order: 2;
}

.arpp-greeting-arabic {
	font-size: 22px;
	font-weight: 400;
	color: #333;
	direction: rtl;
	font-family: var(--arpp-font-arabic);
	order: 1;
}

.arpp-greeting-translation {
	font-size: 16px;
	color: #666;
	font-style: italic;
	text-align: right;
}

.arpp-greeting-name {
	font-size: 20px;
	font-weight: 600;
	color: #333;
	margin-bottom: 4px;
}

.arpp-greeting-translation {
	font-size: 16px;
	color: #666;
	font-style: italic;
}

.arpp-profile-avatar {
	position: relative;
	width: 80px;
	height: 80px;
	flex-shrink: 0;
	border-radius: 50%;
	overflow: hidden;
	cursor: pointer;
	transition: transform 0.2s ease;
}

.arpp-profile-avatar:hover {
	transform: scale(1.05);
}

.arpp-profile-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.arpp-avatar-edit-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.arpp-profile-avatar:hover .arpp-avatar-edit-overlay {
	opacity: 1;
}

.arpp-avatar-edit-overlay .dashicons {
	color: white;
	font-size: 28px;
	width: 28px;
	height: 28px;
}

/* Desktop : ordre normal (contenu à gauche, avatar à droite) */
@media (min-width: 768px) {
	.arpp-profile-header {
		flex-direction: row;
	}
}

/* ========================================
   Hover effects & Transitions
   ======================================== */

/* Hover smooth sur les cours */
.ld-item-list-item-course {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ld-item-list-item-course:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Avatar avec scale subtil au hover */
.arpp-profile-avatar img {
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.arpp-profile-avatar:hover img {
	transform: scale(1.05);
}

/* Préférence utilisateur : réduire les animations */
@media (prefers-reduced-motion: reduce) {
	.animate-fade-in,
	.animate-slide-up,
	.animate-slide-down,
	.animate-slide-in-right,
	.animate-scale-in,
	.animate-bounce {
		animation: none !important;
		opacity: 1 !important;
	}

	.ld-item-list-item-course:hover {
		transform: none;
	}

	.arpp-profile-avatar:hover img {
		transform: none;
	}
}
