<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/* ==============================================
  Fonts declarations
  ==============================================
*/

@font-face {
    font-family: 'PinarBold';
    font-display: swap;
    src: url("../fonts/Pinar-FD-Bold.woff2") format("woff");
}

@font-face {
	font-family: 'PinarRegular';
	font-display: swap;
	src: url("../fonts/Pinar-FD-Regular.woff2") format("woff");
}


.icon {
  /*
   * Set the display to inline-block.
   * This allows us to set width and height, while keeping the icon inline with text.
  */
  display: inline-block;

  /*
   * CRITICAL: Set width and height relative to the font size (1em).
   * This makes the SVG icon scale with the text, just like Font Awesome's font icons.
   * For example, if font-size is 16px, the icon will be 16x16 pixels.
  */
  width: 1.3em;
  height: 1.3em;

  /*
   * Use currentColor to make the icon inherit the color of its parent text.
   * If a button's text is blue, the icon will also be blue.
  */
  fill: currentColor;

  /*
   * Align the icon vertically with the surrounding text.
   * You might need to adjust this value slightly (e.g., -0.15em) depending on your font.
  */
  vertical-align: middle;
}

/* ==============================================
  SVG Spinner Animation
  ============================================== */
@keyframes icon-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.icon-spinner {
  animation: icon-spin 2s infinite linear;
}

/* ==============================================
  CSS Variables (Color Palette &amp; Base Styles)
  ==============================================
*/
:root {
    --primary-color: #0052ff;
    --primary-hover-color: #0056b3;
    --secondary-color: #2c3e50;
    --success-color: #28a745;
    --success-hover-color: #218838;
    --error-color: #dc3545;
	--error-bg-color: #fdf3f4;
    --warning-color: #ffa502;
    --info-color: #3498db;
    
    --light-gray-color: #f8f9fa;
    --medium-gray-color: #e9ecef;
    --border-color: #ced4da;
    --dark-gray-color: #495057; /* MODIFIED: Made it darker for better readability */
    --text-color: black; /* MODIFIED: Changed to near-black for better readability */
    --text-color-light: #ecf0f1;
    --text-color-muted: #95a5a6;
	--text-color-primary: #212529;
	--text-color-secondary: #6c757d;

    --body-bg-color: #f4f7f6;
    --component-bg-color: #ffffff;

    --border-radius: 8px;
    --box-shadow: 0 4px 25px rgba(0, 0, 0, 0.1);
    --transition-speed: 0.3s;
	
	--border-color: #e9ecef;
	--shimmer-base-color: #e9ecef;
	--shimmer-highlight-color: #f8f9fa;
	--base-border-radius: 12px; /* Softer radius */
	--base-box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
}


/* ==============================================
  Modern CSS Reset
  ==============================================
*/

/* 1. Use a more intuitive box-sizing model. */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* 2. Remove default margin and padding */
* {
	margin: 0;
	padding: 0;
}

/* 3. Allow percentage-based heights in the application */
html,
body {
	height: 100%;
}

/* 4. Set core body defaults */
body {
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	direction: rtl;
	font-family: 'PinarRegular', sans-serif !important;
	background-color: var(--body-bg-color);
	color: var(--text-color);
}

/* 5. Set core font styles */
h1, h2, h3, h4, h5, h6 {
    font-family: 'PinarBold', sans-serif;
}

input, textarea, button, select {
    font-family: PinarRegular, sans-serif;
}

/* 6. Basic link styling */
a {
    color: var(--primary-color);
    text-decoration: none;
    transition: color var(--transition-speed);
}
a:hover {
    color: var(--primary-hover-color);
}

/* ==============================================
  Unified Container
  ==============================================
*/
.container {
    max-width: 1400px; /* MODIFIED: Changed from 1200px to 1400px */
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 25px;
    padding-left: 25px;
}

/* ==============================================
  SHARED COMPONENTS (MOVED FROM AUTH.CSS)
  ==============================================
*/

/* --- General purpose button styling --- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border: 1px solid transparent;
    border-radius: var(--border-radius);
    font-size: 16px;
    cursor: pointer;
    text-align: center;
    transition: all var(--transition-speed) ease;
    white-space: nowrap;
    height: 50px; /* Standard height for form buttons */
	gap: 10px;
}

.btn-primary {
    background-color: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
}
.btn-primary:hover {
    background-color: var(--primary-hover-color);
    border-color: var(--primary-hover-color);
    box-shadow: 0 4px 15px rgba(0, 123, 255, 0.2);
    color: #fff;
}

/* NEW: Secondary button style */
.btn-secondary {
    background-color: var(--light-gray-color);
    color: var(--dark-gray-color);
    border-color: var(--medium-gray-color);
    font-weight: 600;
}
.btn-secondary:hover {
    background-color: var(--medium-gray-color);
    border-color: #d3d9df;
    color: var(--text-color);
}


.btn-google {
    background-color: #fff;
    color: var(--text-color);
    border: 1px solid #ddd;
}
.btn-google:hover {
    background-color: var(--light-gray-color);
}
.btn-google .fab {
    margin-left: 10px;
    font-size: 20px;
}

.btn-link {
    background: none;
    border: none;
    color: var(--primary-color);
    font-weight: 600;
    padding: 5px;
    width: auto;
    height: auto;
    font-size: 14px;
    display: inline-block;
}

.btn-lg{
	padding-top: 35px;
	padding-bottom: 35px;
	padding-left: 40px;
	padding-right: 40px;
}

/* --- General Form Elements --- */
.form-group {
    margin-bottom: 20px;
    position: relative;
}

.form-group label{
	margin-bottom: 10px;
	display: inline-block;
}

.form-row {
    display: flex;
    gap: 15px;
}
.form-row .form-group {
    flex: 1;
}
.form-label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 14px;
    color: #555;
}
.input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}
.form-control {
    width: 100%;
    height: 50px;
    padding: 0 20px;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background-color: var(--component-bg-color); 
    font-size: 16px;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.form-control:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 5px 3px rgba(0, 123, 255, 0.1);
}
.form-control.is-invalid {
    border-color: var(--error-color) !important;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.2) !important;
}
.form-control[dir="ltr"] {
    text-align: left;
}
textarea.form-control{
	padding: 10px;
	resize: none;
	min-height: 160px;
}

/* =================================================================== */
/* NEW: Custom styling for select elements with the .form-control class */
/* =================================================================== */
select.form-control {
    /* Reset appearance to hide the default browser arrow */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    /* Add a custom arrow icon (SVG) as a background image */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    
    /* Position the arrow on the left side, vertically centered. */
    /* The 20px value creates space from the left edge. */
    background-position: left 10px center;

    /* Adjust left padding to ensure text doesn't overlap the new arrow. */
    /* The original .form-control has 20px left/right padding. We increase the left one. */
    padding-left: 50px;
}

.error-message {
    color: var(--error-color);
    font-size: 13px;
    margin-top: 5px;
    display: none;
}

/* --- Password Specifics (General) --- */
.password-toggle {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: var(--dark-gray-color);
}
.form-control.with-toggle {
    padding-left: 45px;
}
.password-strength-container {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
}
.password-strength-bar {
    flex-grow: 1;
    display: flex;
    height: 5px;
    border-radius: 5px;
    overflow: hidden;
    background-color: var(--medium-gray-color);
}
.strength-segment {
    height: 100%;
    width: 0;
    transition: width 0.3s ease, background-color 0.3s ease;
}
.strength-segment.weak { background-color: var(--error-color); }
.strength-segment.medium { background-color: var(--warning-color); }
.strength-segment.strong { background-color: var(--success-color); }
.strength-text {
    font-size: 12px;
    font-weight: 600;
    flex-shrink: 0;
}
.strength-text.weak { color: var(--error-color); }
.strength-text.medium { color: var(--warning-color); }
.strength-text.strong { color: var(--success-color); }


/* --- Separator --- */
.separator {
    display: flex;
    align-items: center;
    text-align: center;
    color: var(--dark-gray-color);
    margin: 20px 0;
    font-size: 13px;
}
.separator::before, .separator::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid var(--medium-gray-color);
}
.separator:not(:empty)::before { margin-left: .25em; }
.separator:not(:empty)::after { margin-right: .25em; }


/* --- Unified Spinner --- */
.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-top-color: var(--primary-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin { 
    0% { transform: rotate(0deg); } 
    100% { transform: rotate(360deg); } 
}

/* --- Badge Component --- */
.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    vertical-align: middle;
}

.badge i {
    margin-left: 5px;
}

/* Color Variations */
.badge-primary { background-color: var(--primary-color); color: #fff; }
.badge-success { background-color: var(--success-color); color: #fff; }
.badge-danger { background-color: var(--error-color); color: #fff; }
.badge-warning { background-color: var(--warning-color); color: var(--text-color); }
.badge-info { background-color: var(--info-color); color: #fff; }
.badge-secondary { background-color: var(--medium-gray-color); color: var(--dark-gray-color); }


/* ==============================================
  Course Card Component Styles
  ============================================== */
.course-card {
	background-color: var(--component-bg-color);
	border-radius: var(--border-radius);
	border: 1px solid var(--medium-gray-color);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all var(--transition-speed) ease;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.course-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--box-shadow);
}

/* --- Image Section --- */
.card-image-container {
	position: relative;
	display: block; /* To make it clickable */
}

.card-image {
	width: 100%;
	object-fit: cover;
	display: block;
}

.discount-badge {
	position: absolute;
	top: 15px;
	left: 15px;
	background-color: var(--error-color);
	color: #fff;
	padding: 4px 12px;
	border-radius: 20px;
	font-size: 14px;
	font-weight: 700;
	box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* --- Body Section --- */
.course-card .card-body {
	padding: 20px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	min-height: 180px; /* Adjust as needed to accommodate 2 lines of title + other content */
}

.course-card .course-title {
	font-size: 17px;
	line-height: 1.7;
	color: var(--text-color);
	margin-bottom: 15px;
	/* Set a fixed height and use text overflow for consistency */
	height: 58px; /* 17px * 1.7 * 2 lines */
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	flex-grow: 1; /* Allow title to take available space */
}

.course-card .card-text { /* For masonry layout where I added an extra paragraph */
	flex-grow: 1;
}

.course-card .instructor-name {
	font-size: 14px;
	font-weight: 600;
	color: var(--dark-gray-color);
	margin-bottom: 15px;
}
.course-card .instructor-name:hover {
	color: var(--primary-color);
}

.course-card .rating-section {
	display: flex;
	align-items: center;
	margin-top: auto; /* Pushes it to the bottom of the card-body */
	color: var(--dark-gray-color);
	font-size: 14px;
}

.course-card .stars {
	color: var(--warning-color);
	margin-left: 8px;
	direction: ltr; /* To keep stars left-to-right */
}
.course-card .stars .fa-star-half-alt {
	transform: scaleX(-1); /* Correctly orient the half star in RTL */
}

.course-card .rating-value {
	font-weight: 700;
	color: var(--text-color);
	margin-left: 5px;
}

/* --- Footer Section (UPDATED) --- */
.course-card .card-footer {
	padding: 15px;
	border-top: 1px solid var(--medium-gray-color);
	background-color: var(--component-bg-color);
}

.course-card .footer-inner-box {
	/* Dashed border removed */
	padding: 15px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.course-card .price-details {
	/* UPDATED: Aligned to the left as it's now on the left side */
	text-align: left;
}

.course-card .price-final {
	font-family: 'PinarBold', sans-serif;
	font-size: 22px;
	color: var(--success-color);
	line-height: 1.2;
}
	.course-card .price-final span {
		font-family: 'PinarRegular', sans-serif;
		font-size: 14px;
		margin-right: 4px;
	}

.course-card .price-original {
	font-size: 15px;
	/* UPDATED: Color changed to red */
	color: var(--error-color);
	text-decoration: line-through;
}

.timer-section {
        align-items: center;
        color: var(--primary-hover-color);
        font-size: 12px;
        font-weight: 600;
		margin-bottom: 10px;
}
.timer-section svg {
        margin-right: 8px;
        font-size: 14px;
}

/* UPDATED: Handle alignment when only price exists */
.course-card .footer-inner-box .price-details:only-child {
	margin-right: auto;
	margin-left: 0;
	text-align: left;
}

/* NEW: Styles for the free course badge */
.course-card .free-course-badge {
	width: 100%;
	text-align: center;
	font-family: 'PinarBold', sans-serif;
	font-size: 24px;
	color: var(--success-color);
}

/* Unified countdown styling without boxed digits */
.timer-section .tosinso-countdown,
.special-offer-box .timer-part .tosinso-countdown {
        display: inline;
}
.timer-section .countdown-block,
.special-offer-box .timer-part .countdown-block {
        display: inline;
        background-color: transparent;
        border: none;
        padding: 0;
        min-width: auto;
}
.timer-section .countdown-value,
.special-offer-box .timer-part .countdown-value {
        font-family: inherit;
        font-size: inherit;
        font-weight: inherit;
        color: inherit;
}
.timer-section .countdown-label,
.special-offer-box .timer-part .countdown-label {
        display: none;
}
.timer-section .countdown-separator,
.special-offer-box .timer-part .countdown-separator {
        display: inline;
        font-size: inherit;
        font-weight: inherit;
        color: inherit;
        padding: 0 1px;
        padding-bottom: 0;
}
/* Show only hours, minutes and seconds */
.timer-section .countdown-block:first-child,
.timer-section .countdown-block:first-child + .countdown-separator,
.special-offer-box .timer-part .countdown-block:first-child,
.special-offer-box .timer-part .countdown-block:first-child + .countdown-separator {
        display: none;
}

/* --- NEW: List/Row Display Mode --- */
.course-list-display {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.course-list-item {
	position: relative; /* For discount badge positioning */
	display: flex;
	gap: 20px;
	background-color: var(--component-bg-color);
	border: 1px solid var(--medium-gray-color);
	border-radius: var(--border-radius);
	padding: 15px 20px;
	transition: all 0.3s ease;
}
.course-list-item:hover {
	box-shadow: var(--box-shadow);
	transform: translateY(-3px);
}
.course-list-item__image-container { /* New container for image and badge */
	position: relative;
	flex-shrink: 0;
	width: 150px;
	height: 90px;
	border-radius: var(--border-radius);
	overflow: hidden;
}
.course-list-item__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.course-list-item__discount-badge { /* New style for list item badge */
	position: absolute;
	top: 8px;
	left: 8px;
	background-color: var(--error-color);
	color: #fff;
	padding: 3px 8px;
	border-radius: 15px;
	font-size: 12px;
	font-weight: 700;
	z-index: 1;
}
.course-list-item__details {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}
.course-list-item__title {
	font-size: 1.1rem;
	font-weight: 600;
	margin-bottom: 8px;
	color: var(--text-color);
}
.course-list-item__description { /* New style for short description */
	font-size: 0.9rem;
	color: var(--dark-gray-color);
	line-height: 1.5;
	margin-bottom: 10px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2; /* Limit to 2 lines */
	-webkit-box-orient: vertical;
}
.course-list-item__meta {
	display: flex;
	align-items: center;
	gap: 15px;
	font-size: 13px;
	color: var(--dark-gray-color);
	margin-bottom: 10px; /* Space below meta */
}
.course-list-item__meta i {
	margin-left: 5px;
	color: var(--primary-color);
}
.course-list-item__timer-section { /* New style for list item timer */
        margin-top: 10px;
}
.course-list-item__timer-section i {
        margin-left: 8px;
        font-size: 16px;
}
.course-list-item__actions {
	flex-shrink: 0;
	text-align: left;
}
.course-list-item__price-final {
	font-family: 'PinarBold', sans-serif;
	font-size: 1.3rem;
	color: var(--success-color);
	white-space: nowrap;
	margin-bottom: 8px;
}
.course-list-item__price-original {
	font-size: 0.9rem;
	color: var(--error-color);
	text-decoration: line-through;
	white-space: nowrap;
}
.course-list-item__btn {
	height: auto;
	padding: 8px 15px;
	font-size: 14px;
	margin-top: 10px;
}



/* --- NEW: Featured Block Mode --- */
.featured-course-block {
	display: flex;
	flex-direction: column;
	background: linear-gradient(135deg, #1A73E8 0%, #34A853 100%);
	color: #fff;
	border-radius: var(--border-radius);
	overflow: hidden;
	box-shadow: var(--box-shadow);
	text-align: center;
	position: relative; /* For discount badge positioning */
}
.featured-course-block__image-container { /* New container for image and badge */
	position: relative;
	width: 100%;
	height: 250px;
	overflow: hidden;
}
.featured-course-block__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.featured-course-block__discount-badge { /* New style for featured block badge */
	position: absolute;
	top: 20px;
	left: 20px;
	background-color: var(--error-color);
	color: #fff;
	padding: 8px 18px;
	border-radius: 25px;
	font-size: 1.1rem;
	font-weight: 700;
	z-index: 1;
}
.featured-course-block__content {
	padding: 30px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.featured-course-block__title {
	font-family: 'PinarBold', sans-serif;
	font-size: 2rem;
	margin-bottom: 15px;
	color: #fff;
}
.featured-course-block__description {
	font-size: 1.1rem;
	line-height: 1.8;
	opacity: 0.9;
	margin-bottom: 25px;
	max-width: 800px;
}
.featured-course-block__timer-section { /* New style for featured block timer */
        display: flex;
        align-items: center;
        color: #fff;
        font-size: 0.9rem;
        font-weight: 600;
        margin-top: 20px;
}
.featured-course-block__timer-section i {
        margin-left: 10px;
        font-size: 1.2rem;
}
.featured-course-block__btn {
	background-color: #F9AB00;
	color: var(--text-color);
	border-color: #F9AB00;
	font-weight: 700;
	padding: 12px 25px;
	height: auto;
}
.featured-course-block__btn:hover {
	background-color: #ffc107;
	border-color: #ffc107;
}

/* --- NEW: Compact List Mode --- */
.course-compact-list {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.course-compact-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: var(--light-gray-color);
	border: 1px solid var(--medium-gray-color);
	border-radius: var(--border-radius);
	padding: 10px 15px;
	font-size: 14px;
}
.course-compact-item__title {
	font-weight: 600;
	color: var(--text-color);
}
.course-compact-item__price {
	font-weight: 700;
	color: var(--success-color);
	white-space: nowrap;
}
.course-compact-item__original-price { /* New style for original price in compact list */
	font-size: 0.8rem;
	color: var(--error-color);
	text-decoration: line-through;
	margin-left: 5px;
}

/* --- NEW: Timeline/Roadmap Mode (Adapted from about-us.html) --- */
.course-timeline-container {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
}
.course-timeline-container::after {
	content: '';
	position: absolute;
	width: 5px;
	background: linear-gradient(to bottom, var(--primary-color), var(--success-color));
	top: 0;
	bottom: 0;
	left: 50%;
	margin-left: -2.5px;
	z-index: 1;
}
.course-timeline-item {
	padding: 20px 0;
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
}
.course-timeline-item.item-left { justify-content: flex-start; }
.course-timeline-item.item-right { justify-content: flex-end; }

.course-timeline-item__icon {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: #fff;
	border: 3px solid var(--primary-color);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: var(--primary-color);
}
.course-timeline-item.is-completed .course-timeline-item__icon {
	border-color: var(--success-color);
	background-color: var(--success-color);
	color: #fff;
}
.course-timeline-item.is-current .course-timeline-item__icon {
	border-color: var(--primary-color);
	background-color: var(--primary-color);
	color: #fff;
}

.course-timeline-content {
	width: calc(50% - 55px);
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: 0 4px 15px rgba(0,0,0,0.07);
	display: flex;
	overflow: hidden;
	border-right: 4px solid var(--primary-color); /* Default border */
	transition: transform 0.3s ease, box-shadow 0.3s ease; /* Added hover transition */
}
.course-timeline-content:hover { /* Added hover effect */
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}
.course-timeline-item.item-right .course-timeline-content {
	flex-direction: row-reverse;
	border-right: none;
	border-left: 4px solid var(--primary-color);
}
.course-timeline-item.is-completed .course-timeline-content {
	border-right-color: var(--success-color);
	border-left-color: var(--success-color);
}

.timeline-card-text {
	padding: 20px;
	flex-grow: 1;
}
.timeline-card-text h4 {
	font-family: 'PinarBold', sans-serif;
	font-size: 1.2rem;
	margin-bottom: 10px;
	color: var(--text-color);
}
.timeline-card-text h4 a { /* New style for title link */
	color: var(--text-color);
	text-decoration: none;
	transition: color 0.2s;
}
.timeline-card-text h4 a:hover {
	color: var(--primary-color);
}
.timeline-card-text p {
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--dark-gray-color);
	margin-bottom: 10px; /* Space below description */
}
.timeline-card-image {
	width: 120px;
	height: auto;
	object-fit: cover;
	flex-shrink: 0;
	border-radius: var(--border-radius);
	margin: 10px;
}
.timeline-card__discount-badge { /* New style for timeline badge */
	display: inline-block;
	background-color: var(--error-color);
	color: #fff;
	padding: 2px 6px;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 700;
	margin-right: 10px;
}
.timeline-card__timer-section { /* New style for timeline timer */
	display: flex;
	align-items: center;
	color: var(--primary-hover-color);
	font-size: 13px;
	font-weight: 600;
	margin-top: 5px;
}
.timeline-card__timer-section i {
	margin-left: 5px;
	font-size: 14px;
}

/* --- NEW: Masonry Layout Mode (using flexbox for simplicity) --- */
.course-masonry-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px; /* Gap between cards */
	align-items: flex-start; /* Important for masonry effect */
}
.course-masonry-grid .course-card {
	flex: 1 1 calc(33.333% - 20px); /* 3 cards per row with gap */
	max-width: calc(33.333% - 20px);
	box-sizing: border-box; /* Include padding and border in element's total width and height */
}
/* Responsive adjustments for masonry */
@media (max-width: 992px) {
	.course-masonry-grid .course-card {
		flex: 1 1 calc(50% - 20px); /* 2 cards per row on medium screens */
		max-width: calc(50% - 20px);
	}
}
@media (max-width: 768px) {
	.course-masonry-grid .course-card {
		flex: 1 1 100%; /* 1 card per row on small screens */
		max-width: 100%;
	}
}

/* Responsive for Timeline */
@media (max-width: 992px) {
	.course-timeline-container::after {
		left: 25px;
		margin-left: 0;
	}
	.course-timeline-item {
		padding: 10px 0;
		padding-left: 70px;
		width: 100%;
		align-items: flex-start;
	}
	.course-timeline-item::before {
		left: 25px;
		width: 45px;
		margin-left: 0;
	}
	.course-timeline-item.item-left::before { right: auto; }
	.course-timeline-item.item-right::before { left: 25px; margin-left: 0; }

	.course-timeline-item__icon {
		left: 25px;
		top: 20px;
		transform: translateX(-50%);
	}
	.course-timeline-content {
		width: 100%;
		margin: 0 !important;
		border-left: 4px solid var(--primary-color);
		border-right: none !important;
		flex-direction: column; /* Stack image above text on mobile */
	}
	.course-timeline-item.is-completed .course-timeline-content {
		border-left-color: var(--success-color);
	}
	.course-timeline-item.item-right .course-timeline-content {
		flex-direction: column; /* Ensure column direction for right items too */
	}
	.timeline-card-image { /* Adjust image for mobile stacking */
		width: 100%;
		height: auto;
		margin: 0 0 10px 0; /* Add bottom margin when stacked */
	}
}
/* Responsive for List */
@media (max-width: 768px) {
	.course-list-item {
		flex-direction: column;
		align-items: flex-start;
	}
	.course-list-item__image-container { /* Adjust image container for responsiveness */
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
		margin-bottom: 15px;
	}
	.course-list-item__image {
		width: 100%;
		height: auto;
	}
	.course-list-item__details {
		width: 100%;
	}
	.course-list-item__actions {
		width: 100%;
		text-align: center;
		margin-top: 15px;
		align-items: center;
	}
	.course-list-item__price-final,
	.course-list-item__price-original {
		text-align: center;
		width: 100%;
	}
	.course-list-item__discount-badge { /* Adjust badge position for smaller screens */
		top: 15px;
		left: 15px;
	}
}


/* Hide the "days" block and its separator as it's not needed for end-of-day countdown */
.course-card .timer-section .countdown-block:first-child,
.course-card .timer-section .countdown-block:first-child + .countdown-separator {
	display: none;
}

/* Scroll Animation Placeholders */
.scroll-animate {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.scroll-animate.visible { opacity: 1; transform: translateY(0); }
.scroll-animate.fade-in { transform: translateY(0); }
.scroll-animate.slide-in-left { transform: translateX(100px); }
.scroll-animate.slide-in-right { transform: translateX(-100px); }
.scroll-animate.slide-in-left.visible, .scroll-animate.slide-in-right.visible { transform: translateX(0); }
.scroll-animate.zoom-in { transform: scale(0.9); }
.scroll-animate.zoom-in.visible { transform: scale(1); }

/* ==============================================
   Placeholder Component Styles
   ============================================== */

/* Base shimmer animation */
.placeholder-shimmer {
	animation: shimmer 1.8s infinite linear;
	background: linear-gradient(to right, 
				var(--shimmer-base-color) 8%, 
				var(--shimmer-highlight-color) 20%, 
				var(--shimmer-base-color) 33%);
	background-size: 1200px 100%;
}

@keyframes shimmer {
	0% { background-position: -600px 0; }
	100% { background-position: 600px 0; }
}

/* Text Placeholders */
.placeholder-line {
	height: 16px;
	margin-bottom: 10px;
	border-radius: 4px;
	background-color: var(--shimmer-base-color);
}
.placeholder-line:last-child { margin-bottom: 0; }
.placeholder-line.w-25 { width: 25%; }
.placeholder-line.w-50 { width: 50%; }
.placeholder-line.w-75 { width: 75%; }
.placeholder-line.w-full { width: 100%; }
.placeholder-line.h-24 { height: 24px; }
.placeholder-line.h-32 { height: 32px; }

/* Image &amp; Avatar Placeholders */
.placeholder-media {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--shimmer-base-color);
	color: #bdc3c7;
	overflow: hidden;
}
.placeholder-media i { font-size: 3rem; }
.placeholder-image { border-radius: var(--base-border-radius); }
.placeholder-image.aspect-ratio-16-9 { aspect-ratio: 16 / 9; }
.placeholder-image.aspect-ratio-4-3 { aspect-ratio: 4 / 3; }
.placeholder-image.aspect-ratio-1-1 { aspect-ratio: 1 / 1; }
.placeholder-image-fullwidth { width: 100%; height: 350px; border-radius: 0; }
.placeholder-avatar { width: 60px; height: 60px; border-radius: 50%; }
.placeholder-avatar i { font-size: 2rem; }

/* Card Placeholder */
.placeholder-card {
	background-color: var(--component-bg-color);
	border: 1px solid var(--border-color);
	border-radius: var(--base-border-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.placeholder-card .image-wrapper { height: 180px; background-color: var(--shimmer-base-color); }
.placeholder-card .content-wrapper { padding: 20px; display: flex; flex-direction: column; gap: 15px; flex-grow: 1; }
.placeholder-card .footer-wrapper { padding: 20px; border-top: 1px solid var(--border-color); display: flex; justify-content: space-between; align-items: center; }
.placeholder-card .avatar-line-group { display: flex; align-items: center; gap: 15px; margin-top: 10px; }
.placeholder-card .avatar-line-group .placeholder-avatar { width: 40px; height: 40px; }
.placeholder-card .avatar-line-group .placeholder-line { width: 70%; margin-bottom: 0; }

/* NEW: Table Placeholder */
.placeholder-table { width: 100%; border-collapse: separate; border-spacing: 0 10px; }
.placeholder-table td { padding: 15px; }
.placeholder-table .placeholder-row { background-color: var(--component-bg-color); border: 1px solid var(--border-color); border-radius: var(--base-border-radius); }

.tox .tox-tbtn,
.tox .tox-mbtn,
.tox .tox-collection__item-label,
.tox .tox-toolbar,
.tox .tox-menubar,
.tox .tox-dialog__title,
.tox .tox-label,
.tox .tox-button,
.tox .tox-tab,
.tox .tox-textfield,
.tox .tox-textarea,
.tox .tox-listbox__select-label,
.tox-dialog-wrap .tox-dialog__body-content {
	font-family: 'PinarRegular', sans-serif !important;
}

.mce-content-body{
	background-color: white;
	padding: 20px;
}

/* NEW: Add vertical spacing for labels inside TinyMCE modals */
.tox .tox-form__group &gt; .tox-label {
	margin-bottom: 8px !important;
	display: block;
}

/* Empty State Placeholder */
.empty-state {
	text-align: center;
	padding: 60px 30px;
	background-color: #fcfdff;
	border: 1px dashed #dbe2f1;
	border-radius: var(--base-border-radius);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 15px;
}
.empty-state .icon { font-size: 4rem; color: var(--primary-color, #0052ff); opacity: 0.7; line-height: 1; }
.empty-state .message { font-size: 1.2rem; font-weight: 600; color: var(--text-color-primary); margin: 10px 0 0 0; }
.empty-state .description { font-size: 1rem; color: var(--text-color-secondary); max-width: 450px; line-height: 1.6; margin-bottom: 15px; }
.empty-state .btn { height: auto; padding: 12px 24px; font-size: 1rem; }

/* NEW: Error State Placeholder */
.error-state {
	text-align: center;
	padding: 60px 30px;
	background-color: var(--error-bg-color);
	border: 1px dashed var(--error-color);
	border-radius: var(--base-border-radius);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 15px;
}
.error-state .icon { font-size: 4rem; color: var(--error-color); opacity: 0.8; line-height: 1; }
.error-state .message { font-size: 1.2rem; font-weight: 600; color: var(--text-color-primary); margin: 10px 0 0 0; }
.error-state .description { font-size: 1rem; color: var(--text-color-secondary); max-width: 450px; line-height: 1.6; margin-bottom: 15px; }
.error-state .btn-danger { background-color: var(--error-color); color: #fff; border-color: var(--error-color); }
.error-state .btn-danger:hover { opacity: 0.9; }

/* Responsive Adjustments */
@media (max-width: 768px) {
	.page-header h1 { font-size: 2rem; }
	.page-header p { font-size: 1rem; }
	.demo-panel-header { padding: 20px; }
	.demo-panel-body { padding: 20px; }
	.demo-grid { grid-template-columns: 1fr; }
}

.breadcrumb {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
}

.breadcrumb-item {
	display: flex;
	align-items: center;
}

	.breadcrumb-item a {
		color: var(--dark-gray-color);
		text-decoration: none;
		transition: color 0.2s ease;
		display: flex;
		align-items: center;
		gap: 8px;
	}

		.breadcrumb-item a:hover {
			color: var(--primary-color);
		}

	.breadcrumb-item.active {
		color: var(--text-color);
		font-weight: 600;
	}

	.breadcrumb-item .icon {
		font-size: 1.1em;
	}

	.breadcrumb-item:not(:last-child)::after {
		content: '/'; /* Font Awesome chevron-left */
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		margin: 0 12px;
		color: var(--dark-gray-color);
		
	}

.comments-section h3 {
    font-family: 'PinarBold', sans-serif;
    font-size: 1.8rem;
    margin-bottom: 30px;
}

.comment-form textarea {
    height: 120px;
    padding: 10px;
}

.comment-list .comment-item {
    display: flex;
    gap: 15px;
    margin-top: 30px;
}

.comment-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.comment-content {
    flex-grow: 1;
    background-color: var(--light-gray-color);
    border-radius: var(--border-radius);
    padding: 15px;
}

.comment-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.comment-author-wrapper {
    display: flex;
    align-items: center;
}

.comment-author {
    font-weight: 700;
}

.comment-time {
    font-size: 13px;
    color: var(--dark-gray-color);
}

.comment-body p {
    font-size: 1rem;
    line-height: 1.7;
    margin: 0;
}

.comment-item.reply {
    margin-right: 40px;
}

.comment-item.reply .comment-avatar {
    width: 40px;
    height: 40px;
}

.comment-replies {
    margin-top: 20px;
}

.reply-button {
    margin-top: 10px;
}

.reply-form {
    margin-top: 15px;
}

@media (max-width: 576px) {
    .comment-list .comment-item {
        display: block;
        margin-top: 20px;
    }
    .comment-list .comment-item .comment-avatar {
        display: none;
    }
    .comment-item.reply {
        margin-right: 0;
    }
    .comment-list .comment-content {
        margin: 0 5px;
    }
}

.reply-form textarea {
    height: 80px;
    padding: 10px;
}

.comment-badge {
    margin-right: 8px;
}

.comments-load-more {
    text-align: center;
    margin-top: 20px;
}

#beta_box {
    position: fixed;
    bottom: 20px;
    left: 20px;
    background-color: red;
    color: white;
    width: 150px;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.2);
    z-index: 10;

    font-size: 0.8em;
}

#beta_box p {
    margin: 0;
    padding: 0;
}</pre></body></html>