@charset "UTF-8";
/*=====================================================
 TABLE OF CONTENTS
=======================================================
  DEFAULT
  01. Variables
  02. Mixins
  03. Fonts
  04. Typography

  COMMON
  05. General
  06. Header
  07. Footer
  08. Slider
  09. Video Modal

  SHORTCODE
  10. Layouts
  11. Sections
  12. Components
  13. Hero
  14. About
  15. Team
  16. Testimonial
  17. Post
  18. Contact / Career
  19. Accordian
  20. Course
  21. Partner
  22. Event
  23. Shop
  24. Admin / Dashboard
=======================================================*/
/*=====================================================
 01. All Variables
=======================================================*/
:root {
  /* Base */
  --white-color: #ffffff;
  --black-color: #14171a;
  /* Brand */
  --accent-color: #4e3ec9;
  --primary-color: #6c5ce7;
  --secondary-color: #7d7d7d;
  /* Grays */
  --gray-color: #fafafa;
  --gray2-color: #a7a7a7;
  --gray3-color: #e9e7fb;
  --gray4-color: #fff8f1;
  --gray5-color: #fdfaf4;
  --gray6-color: #f8f5fd;
  --gray7-color: #f1f7fe;
  --gray8-color: #eef9f6;
  --gray9-color: #f6f7ff;
  --gray10-color: #f3f4f6;
  /* Status */
  --error-color: #d32f2f;
  --success-color: #10b981;
  --success-soft-color: #f0fdf4;
  --warning-color: #f59e0b;
  --info-color: #3b82f6;
  /* Border */
  --border-color: #eae9e7;
}

/*=================================================
  02. Mixins — Responsive breakpoints
===================================================*/
/*=====================================================
  03. Fonts
 =======================================================*/
:root {
  --primary-font: "Source Sans Pro", sans-serif;
  --secondary-font: "Open Sans", sans-serif;
}

/*============================================
  Source Sans Pro (Primary)
 ==============================================*/
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/source-sans-pro/SourceSansPro-Light.ttf") format("truetype");
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/source-sans-pro/SourceSansPro-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/source-sans-pro/SourceSansPro-Semibold.ttf") format("truetype");
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/source-sans-pro/SourceSansPro-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/source-sans-pro/SourceSansPro-Black.ttf") format("truetype");
}
/*============================================
  Open Sans (Secondary)
 ==============================================*/
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/Open_Sans/static/OpenSans-Light.ttf") format("truetype");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Open_Sans/static/OpenSans-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/Open_Sans/static/OpenSans-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/Open_Sans/static/OpenSans-SemiBold.ttf") format("truetype");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/Open_Sans/static/OpenSans-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/Open_Sans/static/OpenSans-ExtraBold.ttf") format("truetype");
}
/*===============================================================
  04. Typography
=================================================================*/
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body,
html {
  color: var(--secondary-color);
  font-family: var(--secondary-font);
  font-size: 16px;
  line-height: 1.625em;
  font-weight: 400;
  overflow-x: clip;
  background-color: var(--web-wash);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
body::-webkit-scrollbar,
html::-webkit-scrollbar {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  color: var(--black-color);
  padding: 0;
  margin: 0 0 20px 0;
  font-weight: 700;
  line-height: 1.2em;
  font-family: var(--primary-font);
}

h1 {
  font-size: clamp(34px, 6vw, 64px);
  line-height: 1.17em;
}

h2 {
  font-size: clamp(26px, 4vw, 32px);
  line-height: 1.5em;
}

h3 {
  font-size: clamp(22px, 3vw, 24px);
  line-height: 1.25em;
}

h4 {
  font-size: clamp(18px, 2.4vw, 20px);
  line-height: 1.2em;
}

h5 {
  font-size: 18px;
  line-height: 1.56em;
}

h6 {
  font-size: 16px;
  line-height: 1.625em;
}

p {
  margin-bottom: 15px;
}

ul {
  margin: 0 0 25px 0;
  padding-left: 20px;
  list-style: square outside none;
}

ol {
  padding-left: 20px;
  margin-bottom: 25px;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 15px;
  font-style: italic;
  font-size: 20px;
  line-height: 1.6em;
  margin: 0;
}

address {
  margin: 0 0 15px;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
  border-radius: inherit;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s ease;
}

button {
  color: inherit;
  border: 0;
  outline: 0;
  padding: 0;
  background-color: transparent;
  transition: all 0.3s ease;
  cursor: pointer;
}

a:hover {
  text-decoration: none;
  color: inherit;
}

table {
  width: 100%;
  margin-bottom: 25px;
}
table th {
  font-weight: 600;
  color: var(--secondary);
}
table td,
table th {
  border-top: 1px solid var(--border);
  padding: 11px 10px;
}

dl {
  margin-bottom: 25px;
}
dl dt {
  font-weight: 600;
}

b,
strong {
  font-weight: bold;
}

small {
  font-size: 16px;
  font-weight: 400;
}

pre {
  color: var(--secondary);
  border: 1px solid var(--border);
  font-size: 18px;
  padding: 25px;
  border-radius: 5px;
}

kbd {
  font-size: 100%;
  background-color: var(--secondary);
  border-radius: 5px;
}

input,
textarea {
  color: var(--primary);
  transition: all 0.4s ease;
}

label {
  margin-bottom: 8px;
}

/*=================================================================
  05. General
===================================================================*/
.cs_fs_12 {
  font-size: 12px;
  line-height: 1.25em;
}

.cs_fs_14 {
  font-size: 14px;
  line-height: 1.5em;
}

.cs_fs_16 {
  font-size: 16px;
  line-height: 1.625em;
}

.cs_fs_18 {
  font-size: 18px;
  line-height: 1.56em;
}

.cs_fs_20 {
  font-size: clamp(18px, 2.1vw, 20px);
  line-height: 1.2em;
}

.cs_fs_24 {
  font-size: clamp(20px, 2.1vw, 24px);
  line-height: 1.25em;
}

.cs_fs_28 {
  font-size: clamp(24px, 3vw, 28px);
  line-height: 1.36em;
}

.cs_fs_32 {
  font-size: clamp(30px, 5vw, 32px);
  line-height: 1.25em;
}

.cs_fs_48 {
  font-size: clamp(30px, 5.2vw, 48px);
  line-height: 1.25em;
}

.cs_fs_64 {
  font-size: clamp(30px, 5.2vw, 64px);
  line-height: 1.172em;
}

.cs_fs_90 {
  font-size: clamp(32px, 6vw, 90px);
  line-height: 1.11em;
}

/*=====================================
  Classess for Fonts Weight
=======================================*/
.cs_light {
  font-weight: 300;
}

.cs_normal {
  font-weight: 400;
}

.cs_medium {
  font-weight: 500;
}

.cs_semibold {
  font-weight: 600;
}

.cs_bold {
  font-weight: 700;
}

.cs_extrabold {
  font-weight: 800;
}

.cs_black {
  font-weight: 900;
}

/*=====================================
  Classess for Fonts Color
=======================================*/
.cs_accent_color {
  color: var(--accent-color);
}

.cs_primary_color {
  color: var(--primary-color);
}

.cs_border_color {
  color: var(--border-color);
}

.cs_secondary_color {
  color: var(--secondary-color);
}

.cs_gray_color {
  color: var(--gray-color);
}

.cs_gray2_color {
  color: var(--gray2-color);
}

.cs_gray3_color {
  color: var(--gray3-color);
}

.cs_gray4_color {
  color: var(--gray4-color);
}

.cs_gray5_color {
  color: var(--gray5-color);
}

.cs_gray6_color {
  color: var(--gray6-color);
}

.cs_gray7_color {
  color: var(--gray7-color);
}

.cs_white_color {
  color: var(--white-color);
}

.cs_black_color {
  color: var(--black-color);
}

/*=====================================
  Classess for Fonts Family
=======================================*/
.cs_primary_font {
  font-family: var(--primary-font);
}

.cs_secondary_font {
  font-family: var(--secondary-font);
}

/*=============================================
  Classess for Background Size & Colors
===============================================*/
.cs_accent_bg {
  background-color: var(--accent-color);
}

.cs_primary_bg {
  background-color: var(--primary-color);
}

.cs_body_bg {
  background-color: var(--secondary-color);
}

.cs_success_bg {
  background-color: var(--success-color);
}

.cs_warning_bg {
  background-color: var(--warning-color);
}

.cs_error_bg {
  background-color: var(--error-color);
}

.cs_info_bg {
  background-color: var(--info-color);
}

.cs_white_bg {
  background-color: var(--white-color);
}

.cs_gray_bg {
  background-color: var(--gray-color);
}

.cs_gray2_bg {
  background-color: var(--gray2-color);
}

.cs_gray3_bg {
  background-color: var(--gray3-color);
}

.cs_gray4_bg {
  background-color: var(--gray4-color);
}

.cs_gray5_bg {
  background-color: var(--gray5-color);
}

.cs_gray6_bg {
  background-color: var(--gray6-color);
}

.cs_gray7_bg {
  background-color: var(--gray7-color);
}

.cs_gray8_bg {
  background-color: var(--gray8-color);
}

.cs_gray9_bg {
  background-color: var(--gray9-color);
}

.cs_gray10_bg {
  background-color: var(--gray10-color);
}

.cs_border_bg {
  background-color: var(--border-color);
}

.cs_black_bg {
  background-color: var(--black-color);
}

.cs_bg_filed {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.cs_bg_fixed {
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

/*=============================================
  Classess for Border Radius
===============================================*/
.cs_radius_3 {
  border-radius: 3px;
}

.cs_radius_5 {
  border-radius: 5px;
}

.cs_radius_10 {
  border-radius: 10px;
}

.cs_radius_15 {
  border-radius: 15px;
}

.cs_radius_20 {
  border-radius: 20px;
}

.cs_radius_30 {
  border-radius: 30px;
}

.cs_radius_50 {
  border-radius: 50px;
}

.rounded-circle {
  border-radius: 100%;
}

@media (max-width: 991px) {
  .cs_radius_15,
  .cs_radius_20,
  .cs_radius_30 {
    border-radius: 10px;
  }
}
/*=============================================
  Classes for Utility Components
===============================================*/
.cs_mp_0 {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cs_center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cs_no_scroll {
  overflow: hidden;
}

.cs_center_column {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.cs_section_padding {
  padding: 64px 0;
}
@media (max-width: 991px) {
  .cs_section_padding {
    padding: 50px 0;
  }
}

/*=============================================
  Bootstrap Classess
===============================================*/
@media (min-width: 1400px) {
  .container {
    max-width: 1344px;
  }
  .container-fluid {
    max-width: 1844px;
    padding: 0 12px !important;
  }
}
.cs_gap_y_40 {
  gap: 40px 0;
}
@media (max-width: 991px) {
  .cs_gap_y_40 {
    gap: 30px 0;
  }
}

.cs_gap_y_48 {
  gap: 48px 0;
}
@media (max-width: 991px) {
  .cs_gap_y_48 {
    gap: 30px 0;
  }
}

.cs_gap_y_30 {
  gap: 30px 0;
}

.cs_gap_y_24 {
  gap: 24px 0;
}

.cs_gap_y_16 {
  gap: 16px 0;
}

/*===========================================================
  Responsive For Common Component & Hide Elements
=============================================================*/
.nice-select .option.focus,
.nice-select .option.selected.focus,
.nice-select .option:hover {
  color: var(--primary-color);
  background-color: var(--border-color);
}

/*===========================================================
  Responsive For Common Component & Hide Elements
=============================================================*/
/*=======================================================
  06. Header
=========================================================*/
.cs_site_header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background-color: var(--white-color);
  transition: box-shadow 0.4s ease, background-color 0.4s ease;
}
.cs_site_header.cs_sticky_active {
  background-color: var(--white-color);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--accent-color) 10%, transparent);
}
.cs_site_header.cs_sticky_active .cs_main_header_in {
  height: 80px;
}
.cs_site_header .cs_main_header_in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  height: 100px;
  transition: all 0.4s ease;
}
.cs_site_header .cs_main_header_left {
  display: flex;
  align-items: center;
  gap: 15px;
  flex: 1 1 auto;
  min-width: 0;
}
.cs_site_header .cs_site_branding {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.cs_site_header .cs_site_branding img {
  height: 44px;
  width: auto;
}
@media (max-width: 575px) {
  .cs_site_header .cs_site_branding img {
    height: 38px;
  }
}
.cs_site_header .cs_explore {
  position: relative;
  flex-shrink: 0;
  margin-left: auto;
}
.cs_site_header .cs_explore:hover .cs_explore_dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.cs_site_header .cs_explore:hover .cs_explore_btn i {
  transform: rotate(180deg);
}
.cs_site_header .cs_explore_btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 15px 0;
  white-space: nowrap;
}
.cs_site_header .cs_explore_btn i {
  transition: transform 0.3s ease;
}
.cs_site_header .cs_explore_btn:hover {
  color: var(--primary-color);
}
.cs_site_header .cs_explore_dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 16px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px);
  transition: all 0.3s ease;
  z-index: 5;
}
.cs_site_header .cs_explore_dropdown li a {
  display: block;
  padding: 8px 16px;
}
.cs_site_header .cs_explore_dropdown li a:hover {
  color: var(--primary-color);
  background-color: var(--gray6-color);
}
.cs_site_header .cs_header_search {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1 auto;
  max-width: 535px;
  min-width: 0;
  height: 55px;
  padding: 0 14px;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  border-radius: 3px;
  transition: border-color 0.3s ease;
}
.cs_site_header .cs_header_search:focus-within {
  border-color: var(--primary-color);
}
.cs_site_header .cs_header_search .cs_header_search_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cs_site_header .cs_header_search input {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--black-color);
}
.cs_site_header .cs_main_header_right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.cs_site_header .cs_nav_list {
  display: flex;
  align-items: center;
}
.cs_site_header .cs_nav_list > li {
  position: relative;
}
.cs_site_header .cs_nav_list > li > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 15px 10px;
  white-space: nowrap;
}
.cs_site_header .cs_nav_list > li.menu-item-has-children > a::after {
  content: "\ea4e";
  font-family: "remixicon";
  font-size: 16px;
  line-height: 1;
}
.cs_site_header .cs_nav_list > li:hover > a,
.cs_site_header .cs_nav_list > li > a.active {
  color: var(--primary-color);
}
.cs_site_header .cs_nav_list ul {
  position: absolute;
  top: 100%;
  left: 0;
  list-style: none;
  margin: 0;
  padding: 16px 0;
  min-width: 230px;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  border-radius: 10px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px);
  transition: all 0.3s ease;
  z-index: 5;
}
.cs_site_header .cs_nav_list ul li a {
  display: block;
  padding: 8px 16px;
  white-space: nowrap;
}
.cs_site_header .cs_nav_list ul li a:hover {
  color: var(--primary-color);
  background-color: var(--gray6-color);
}
.cs_site_header .cs_nav_list > li.menu-item-has-children:hover > ul {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.cs_site_header {
  /* Hamburger + close (mobile) — hidden on desktop */
}
.cs_site_header .cs_menu_toggle,
.cs_site_header .cs_close_nav,
.cs_site_header .cs_nav_list_header,
.cs_site_header .cs_mobile_only,
.cs_site_header .cs_menu_dropdown_toggle {
  display: none;
}
.cs_site_header .cs_header_actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.cs_site_header .cs_header_icon_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border: 1px solid var(--border-color);
  border-radius: 3px;
  color: var(--black-color);
  background-color: var(--white-color);
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.cs_site_header .cs_header_icon_btn:hover {
  color: var(--primary-color);
  border-color: var(--primary-color);
}
.cs_site_header .cs_cart_btn {
  color: var(--primary-color);
  border-color: var(--border-color);
  background-color: var(--gray3-color);
}
.cs_site_header .cs_cart_btn:hover {
  background-color: var(--primary-color);
  color: var(--white-color);
  border-color: var(--primary-color);
}
.cs_site_header .cs_language {
  position: relative;
  flex-shrink: 0;
}
.cs_site_header .cs_language_dropdown {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  display: none;
  min-width: 170px;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 16px 0;
  z-index: 5;
}
.cs_site_header .cs_language_dropdown li button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 8px 16px;
}
.cs_site_header .cs_language_dropdown li button:hover {
  color: var(--primary-color);
  background-color: var(--gray6-color);
}
.cs_site_header .cs_sidenav_overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(20, 23, 26, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
  z-index: 105;
}
.cs_site_header .cs_sidenav_overlay.active {
  opacity: 1;
  visibility: visible;
}
.cs_site_header {
  /*=======================================================
    Responsive — collapse to mobile navigation
  =========================================================*/
}
@media (max-width: 1399px) {
  .cs_site_header .cs_main_header_in {
    gap: 10px;
  }
  .cs_site_header .cs_main_header_left {
    gap: 24px;
  }
  .cs_site_header .cs_explore.cs_desktop_inline {
    display: none;
  }
}
@media (max-width: 1199px) {
  .cs_site_header.cs_sticky_active {
    box-shadow: 0 16px 30px rgba(0, 3, 0, 0.1);
  }
  .cs_site_header.cs_sticky_active .cs_main_header_in {
    height: 70px;
  }
  .cs_site_header .cs_main_header_in {
    height: 80px;
  }
  .cs_site_header .cs_header_search.cs_desktop_inline {
    display: none;
  }
  .cs_site_header .cs_nav {
    order: 2;
  }
  .cs_site_header .cs_header_actions {
    order: 1;
    gap: 8px;
  }
  .cs_site_header .cs_header_icon_btn {
    width: 40px;
    height: 40px;
  }
  .cs_site_header .cs_login_btn {
    padding: 8px 16px;
  }
  .cs_site_header .cs_login_btn .cs_user_icon {
    line-height: 1em;
  }
  .cs_site_header .cs_main_header_right {
    gap: 8px;
  }
  .cs_site_header {
    /* Hamburger button */
  }
  .cs_site_header .cs_menu_toggle {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 24px;
    cursor: pointer;
    order: 3;
  }
  .cs_site_header .cs_menu_toggle span,
  .cs_site_header .cs_menu_toggle span::before,
  .cs_site_header .cs_menu_toggle span::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 2px;
    background-color: var(--black-color);
    transition: all 0.3s ease-in-out;
  }
  .cs_site_header .cs_menu_toggle span {
    top: 50%;
    transform: translateY(-50%);
  }
  .cs_site_header .cs_menu_toggle span::before {
    top: -8px;
    transform: translateX(4px);
  }
  .cs_site_header .cs_menu_toggle span::after {
    top: 8px;
    transform: translateX(4px);
  }
  .cs_site_header .cs_menu_toggle.active span {
    background-color: transparent;
  }
  .cs_site_header .cs_menu_toggle.active span::before {
    top: 0;
    transform: translateX(0) rotate(45deg);
  }
  .cs_site_header .cs_menu_toggle.active span::after {
    top: 0;
    transform: translateX(0) rotate(-45deg);
  }
  .cs_site_header {
    /* Off-canvas panel */
  }
  .cs_site_header .cs_nav_list_wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: min(100%, 360px);
    height: 100%;
    padding: 20px 15px 40px;
    transform: translateX(-100%);
    transition: transform 0.4s ease;
    z-index: 1020;
    color: var(--black-color);
    background-color: var(--white-color);
    box-shadow: 0px 4px 10px 0px rgba(20, 23, 26, 0.08);
  }
  .cs_site_header .cs_nav_list_wrapper.active {
    transform: translateX(0);
  }
  .cs_site_header .cs_nav_list_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
  .cs_site_header .cs_close_nav {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    flex-shrink: 0;
  }
  .cs_site_header .cs_close_nav::before, .cs_site_header .cs_close_nav::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 20px;
    height: 2px;
    background-color: var(--black-color);
  }
  .cs_site_header .cs_close_nav::before {
    transform: rotate(45deg);
  }
  .cs_site_header .cs_close_nav::after {
    transform: rotate(-45deg);
  }
  .cs_site_header .cs_header_search.cs_mobile_only {
    display: flex;
    width: 100%;
    margin-bottom: 16px;
  }
  .cs_site_header .cs_nav .cs_nav_list {
    display: block;
    height: 100%;
    overflow-y: auto;
  }
  .cs_site_header .cs_nav .cs_nav_list > li > a {
    padding: 12px 0;
  }
  .cs_site_header .cs_nav .cs_nav_list > li.menu-item-has-children > a::after {
    content: none;
  }
  .cs_site_header .cs_nav .cs_nav_list ul {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    min-width: 0;
    padding: 0;
    display: none;
    transition: none;
  }
  .cs_site_header .cs_nav .cs_nav_list ul li a {
    padding: 8px;
  }
  .cs_site_header .cs_menu_dropdown_toggle {
    position: absolute;
    height: 30px;
    width: 100%;
    top: 0;
    left: 0px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 24px 16px;
    cursor: pointer;
    z-index: 3;
  }
  .cs_site_header .cs_menu_dropdown_toggle::before, .cs_site_header .cs_menu_dropdown_toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 10px;
    height: 2px;
    background-color: currentColor;
    transition: transform 0.3s ease;
  }
  .cs_site_header .cs_menu_dropdown_toggle::after {
    transform: rotate(90deg);
  }
  .cs_site_header .cs_menu_dropdown_toggle.active::after {
    transform: rotate(0);
  }
}
@media (max-width: 991px) {
  .cs_site_header .cs_main_header_in {
    height: 70px;
  }
}
@media (max-width: 767px) {
  .cs_site_header .cs_header_search {
    height: 42px;
  }
}
@media (max-width: 480px) {
  .cs_site_header .cs_menu_toggle {
    height: 12px;
  }
  .cs_site_header .cs_menu_toggle span::before,
  .cs_site_header .cs_menu_toggle span::after {
    transform: translateX(0px);
  }
  .cs_site_header .cs_site_branding img {
    height: 36px;
  }
  .cs_site_header .cs_header_actions {
    gap: 6px;
  }
  .cs_site_header .cs_login_btn .cs_login_text {
    display: none;
  }
  .cs_site_header .cs_header_icon_btn,
  .cs_site_header .cs_login_btn {
    width: 32px;
    height: 32px;
  }
  .cs_site_header .cs_header_icon_btn i,
  .cs_site_header .cs_login_btn i {
    font-size: 14px;
    line-height: 1em;
  }
}

/*=====================================================
 07. Footer
=======================================================*/
.cs_footer_style_1 {
  padding: 64px 0 28px;
  color: var(--border-color);
}
.cs_footer_style_1 .cs_footer_row {
  display: flex;
  gap: 30px;
  justify-content: space-between;
}
.cs_footer_style_1 .cs_footer_widget_title {
  margin: 0 0 24px;
}
.cs_footer_style_1 .cs_footer_about {
  flex: 1 1 300px;
  max-width: 312px;
}
.cs_footer_style_1 .cs_footer_logo {
  display: inline-block;
  margin-bottom: 20px;
}
.cs_footer_style_1 .cs_footer_logo img {
  height: 50px;
  width: auto;
}
.cs_footer_style_1 .cs_footer_about_text {
  margin: 0 0 30px;
}
.cs_footer_style_1 .cs_app_btns {
  display: flex;
  gap: 8px;
}
.cs_footer_style_1 .cs_app_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 50px;
  font-size: 24px;
  color: var(--white-color);
  border-radius: 5px;
  border: 1px solid var(--primary-color);
  background-color: rgba(108, 92, 231, 0.2);
  transition: all 0.3s ease;
}
.cs_footer_style_1 .cs_app_btn:hover {
  background-color: var(--primary-color);
}
.cs_footer_style_1 .cs_footer_menu {
  flex: 0 0 auto;
}
.cs_footer_style_1 .cs_footer_links {
  display: flex;
  gap: 12px;
  flex-direction: column;
}
.cs_footer_style_1 .cs_footer_links a {
  position: relative;
  display: inline-block;
  padding-left: 18px;
  transition: color 0.3s ease;
}
.cs_footer_style_1 .cs_footer_links a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: currentColor;
}
.cs_footer_style_1 .cs_footer_links a:hover {
  color: var(--primary-color);
}
.cs_footer_style_1 .cs_footer_newsletter {
  flex: 1 1 380px;
  max-width: 424px;
}
.cs_footer_style_1 .cs_newsletter_box {
  padding: 24px;
  border: 1px solid var(--primary-color);
  background-color: rgba(108, 92, 231, 0.1);
}
.cs_footer_style_1 .cs_newsletter_title {
  margin: 0 0 8px;
}
.cs_footer_style_1 .cs_newsletter_text {
  margin: 0 0 10px;
}
.cs_footer_style_1 .cs_newsletter_form {
  display: flex;
  gap: 8px;
  flex-direction: column;
  border-radius: 5px;
  position: relative;
  background-color: var(--white-color);
}
.cs_footer_style_1 .cs_newsletter_form input {
  width: 100%;
  padding: 14px 16px;
  border: none;
  outline: none;
  background: transparent;
  color: var(--black-color);
}
.cs_footer_style_1 .cs_newsletter_form .cs_primary_btn {
  padding: 7px 15px;
  position: absolute;
  top: 7px;
  right: 7px;
  bottom: 7px;
}
.cs_footer_style_1 .cs_footer_social {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.cs_footer_style_1 .cs_footer_social_links {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_footer_style_1 .cs_footer_social_links a:hover {
  color: var(--primary-color);
}
.cs_footer_style_1 .cs_footer_bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  margin-top: 64px;
  padding-top: 24px;
  border-top: 1px solid rgba(234, 233, 231, 0.1);
}
.cs_footer_style_1 .cs_footer_copyright a {
  color: var(--primary-color);
  text-decoration: underline;
}
.cs_footer_style_1 .cs_footer_copyright a:hover {
  text-decoration: none;
}
.cs_footer_style_1 .cs_footer_bottom_links {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cs_footer_style_1 .cs_footer_bottom_links a:hover {
  color: var(--primary-color);
}
.cs_footer_style_1 .cs_footer_divider {
  color: rgba(234, 233, 231, 0.1);
}
@media (max-width: 1199px) {
  .cs_footer_style_1 .cs_footer_about {
    flex: 1 1 280px;
    max-width: 280px;
  }
  .cs_footer_style_1 .cs_footer_newsletter {
    flex: 1 1 350px;
    max-width: 350px;
  }
  .cs_footer_style_1 .cs_newsletter_box {
    padding: 16px;
  }
}
@media (max-width: 991px) {
  .cs_footer_style_1 {
    padding: 50px 0 24px;
  }
  .cs_footer_style_1 .cs_footer_row {
    flex-wrap: wrap;
  }
  .cs_footer_style_1 .cs_footer_newsletter {
    flex-basis: 100%;
    max-width: 100%;
  }
  .cs_footer_style_1 .cs_footer_bottom {
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  .cs_footer_style_1 .cs_footer_row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .cs_footer_style_1 .cs_footer_newsletter,
  .cs_footer_style_1 .cs_footer_about {
    grid-column: 1/-1;
    max-width: 100%;
  }
  .cs_footer_style_1 .cs_newsletter_form input {
    padding: 11px 12px;
  }
  .cs_footer_style_1 .cs_newsletter_form .cs_primary_btn {
    top: 2px;
    right: 2px;
    bottom: 2px;
  }
  .cs_footer_style_1 .cs_footer_bottom {
    margin-top: 30px;
  }
  .cs_footer_style_1 .cs_footer_widget_title {
    margin-bottom: 20px;
  }
  .cs_footer_style_1 .cs_footer_about_text {
    margin-bottom: 20px;
  }
  .cs_footer_style_1 .cs_footer_links {
    gap: 8px;
  }
}
@media (max-width: 575px) {
  .cs_footer_style_1 .cs_footer_row {
    gap: 30px;
  }
  .cs_footer_style_1 .cs_footer_menu {
    flex: 1 0 40%;
  }
}
@media (max-width: 480px) {
  .cs_footer_style_1 .cs_newsletter_form {
    display: grid;
    gap: 6px;
    background-color: transparent;
  }
  .cs_footer_style_1 .cs_newsletter_form input {
    padding: 9px 12px;
    border-radius: 3px;
    background-color: var(--white-color);
  }
  .cs_footer_style_1 .cs_newsletter_form .cs_primary_btn {
    position: initial;
    padding: 10px 12px;
  }
}

/*====================================================
 08. Slider
======================================================*/
.swiper .swiper-slide {
  width: auto;
  height: auto;
}

.cs_post_slider .swiper-wrapper {
  padding-bottom: 88px;
}
@media (max-width: 991px) {
  .cs_post_slider .swiper-wrapper {
    padding-bottom: 70px;
  }
}
@media (max-width: 767px) {
  .cs_post_slider .swiper-wrapper {
    padding-bottom: 0;
  }
}

/*==================================================
  Slider Navigation
====================================================*/
.cs_arrows_style_1 {
  width: calc(100% + 50px);
  max-width: calc(100vw - 24px);
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.cs_slider_arrow {
  z-index: 2;
  width: 50px;
  height: 50px;
  font-size: 16px;
  line-height: 1;
  color: var(--black-color);
  pointer-events: all;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  border-radius: 50%;
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.cs_slider_arrow:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
  border-color: var(--white-color);
}
.cs_slider_arrow.swiper-button-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.cs_demo_arrows {
  width: calc(100% + 136px);
}
.cs_demo_arrows .cs_demo_arrow {
  width: 44px;
  height: 44px;
  font-size: 16px;
  pointer-events: all;
  border: 1px solid var(--border-color);
  transition: all 0.3s ease;
}
.cs_demo_arrows .cs_demo_arrow.slider-prev, .cs_demo_arrows .cs_demo_arrow.slider-next {
  color: var(--primary-color);
  background-color: var(--white-color);
}
.cs_demo_arrows .cs_demo_arrow:hover.slider-prev, .cs_demo_arrows .cs_demo_arrow:hover.slider-next {
  color: var(--white-color);
  background-color: var(--primary-color);
}

.cs_demo_slider_wrap {
  position: relative;
  margin: 64px 0 16px;
}

/*================================================
  Swiper Pagination
==================================================*/
.swiper-pagination.cs_style_1 {
  position: static;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  margin-top: 32px;
}
.swiper-pagination.cs_style_1 .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 !important;
  opacity: 1;
  border-radius: 4px;
  background-color: color-mix(in srgb, var(--primary-color) 20%, transparent);
  transition: width 0.3s ease, background-color 0.3s ease;
}
.swiper-pagination.cs_style_1 .swiper-pagination-bullet-active {
  width: 24px;
  background-color: var(--primary-color);
}

/*================================================================
  09. Video Modal
==================================================================*/
.cs_video_popup {
  position: fixed;
  z-index: 1000;
  top: 0;
  width: 100%;
  height: 100%;
  left: -100%;
  transition-delay: 0.3s;
}

.cs_video_popup.active {
  left: 0;
  transition-delay: 0s;
  left: 0;
}

.cs_video_popup-overlay {
  position: absolute;
  left: 0;
  right: 0;
  background: #000;
  transition: all 0.4s ease-out;
  opacity: 0;
}

.cs_video_popup.active .cs_video_popup-overlay {
  opacity: 0.8;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.cs_video_popup-content {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  font-size: 0;
  text-align: center;
  transition: all 0.4s ease-out;
  transform: translateY(100px);
  opacity: 0;
  visibility: hidden;
  padding: 15px;
}

.cs_video_popup.active .cs_video_popup-content {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.cs_video_popup-content:after {
  content: "";
  display: inline-block;
  height: calc(100% + 1px);
  vertical-align: middle;
}

.cs_video_popup_container {
  display: inline-block;
  position: relative;
  text-align: left;
  background: var(--white-color);
  max-width: 1380px;
  width: 100%;
  vertical-align: middle;
}

.cs_video_popup_container .embed-responsive {
  width: 100%;
}

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
  height: 100%;
}

.embed-responsive-16by9::before {
  display: block;
  content: "";
  padding-top: 56.25%;
}

.embed-responsive iframe,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.cs_video_popup_close {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background: #d90d0d;
  cursor: pointer;
  transition: all 0.4s ease-in-out;
}

.cs_video_popup iframe {
  width: 100%;
  height: 100%;
  position: absolute;
}

.cs_video_popup_close:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: var(--white-color);
  margin-left: -10px;
  transform: rotate(-45deg);
  transition: all 0.4s ease-in-out;
}

.cs_video_popup_close:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: var(--white-color);
  margin-left: -10px;
  transform: rotate(45deg);
  transition: all 0.4s ease-in-out;
}

.cs_video_popup_close:hover:before,
.cs_video_popup_close:hover:after {
  background: #000;
}

.cs_video_popup-layer {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
}

.cs_video_popup-align {
  overflow: hidden;
}

/*End Video Popup*/
/*=======================================================
  10. Layouts
=========================================================*/
.cs_grid_col_3 {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1199px) {
  .cs_grid_col_3 {
    gap: 16px 12px;
  }
}
@media (max-width: 991px) {
  .cs_grid_col_3.cs_pricing {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media (max-width: 767px) {
  .cs_grid_col_3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .cs_grid_col_3.cs_pricing {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media (max-width: 374px) {
  .cs_grid_col_3 {
    grid-template-columns: repeat(1, 1fr);
  }
}

/*=======================================================
  Gallery Page
=========================================================*/
.cs_gallery_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: 250px 226px 200px 251px 250px;
}
.cs_gallery_grid .cs_gallery_item {
  display: block;
  overflow: hidden;
  border: 1px solid var(--border-color);
}
.cs_gallery_grid .cs_gallery_item img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.cs_gallery_grid .cs_gallery_item:hover img {
  transform: scale(1.03);
}
.cs_gallery_grid .cs_gallery_item_1 {
  grid-column: 1/3;
  grid-row: 1/3;
}
.cs_gallery_grid .cs_gallery_item_2 {
  grid-column: 3;
  grid-row: 1;
}
.cs_gallery_grid .cs_gallery_item_3 {
  grid-column: 4;
  grid-row: 1;
}
.cs_gallery_grid .cs_gallery_item_4 {
  grid-column: 3/5;
  grid-row: 2/4;
}
.cs_gallery_grid .cs_gallery_item_5 {
  grid-column: 1;
  grid-row: 3/5;
}
.cs_gallery_grid .cs_gallery_item_6 {
  grid-column: 2;
  grid-row: 3/5;
}
.cs_gallery_grid .cs_gallery_item_7 {
  grid-column: 3;
  grid-row: 4;
}
.cs_gallery_grid .cs_gallery_item_8 {
  grid-column: 4;
  grid-row: 4;
}
.cs_gallery_grid .cs_gallery_item_9 {
  grid-column: 1;
  grid-row: 5;
}
.cs_gallery_grid .cs_gallery_item_10 {
  grid-column: 2/4;
  grid-row: 5;
}
.cs_gallery_grid .cs_gallery_item_11 {
  grid-column: 4;
  grid-row: 5;
}
@media (max-width: 991px) {
  .cs_gallery_grid {
    gap: 16px;
    grid-auto-rows: 280px;
    grid-template-rows: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .cs_gallery_grid .cs_gallery_item {
    grid-column: auto;
    grid-row: auto;
  }
  .cs_gallery_grid .cs_gallery_item_1,
  .cs_gallery_grid .cs_gallery_item_4 {
    grid-column: span 2;
  }
  .cs_gallery_grid .cs_gallery_item_10 {
    order: 1;
    grid-column: 1/-1;
  }
}

/*=========================================
  Lightgallery plugin style
===========================================*/
.lg-outer .lg-sub-html {
  display: none;
}
.lg-outer .lg-thumb-outer {
  display: flex;
  justify-content: center;
  background-color: transparent;
}
.lg-outer .lg-thumb-item.active {
  border-color: var(--primary-color);
}

/*=======================================================
  Zoom Class Page
=========================================================*/
.cs_zoom_class_content {
  width: min(100%, 872px);
}
.cs_zoom_class_content .cs_zoom_class_intro {
  margin-bottom: 30px;
}
.cs_zoom_class_content .cs_zoom_class_intro h2 {
  margin-bottom: 8px;
}
.cs_zoom_class_content .cs_zoom_meta {
  display: grid;
  gap: 16px;
  margin-bottom: 64px;
  grid-template-columns: repeat(4, 1fr);
}
.cs_zoom_class_content .cs_zoom_meta .cs_meta_item {
  padding: 10px;
  display: flex;
  gap: 12px;
  align-items: center;
  background: linear-gradient(110deg, var(--gray6-color), var(--gray9-color));
}
.cs_zoom_class_content .cs_zoom_meta .cs_meta_icon {
  height: 50px;
  width: 50px;
  font-size: 20px;
  border-radius: 50%;
  background: var(--white-color);
  color: var(--primary-color);
}
.cs_zoom_class_content .cs_zoom_meta small {
  display: block;
}
.cs_zoom_class_content .cs_zoom_meta strong {
  font-size: 20px;
  font-weight: 600;
  color: var(--primary-color);
}
.cs_zoom_class_content .cs_zoom_meta small {
  font-size: 11px;
  white-space: nowrap;
}
.cs_zoom_class_content .cs_zoom_stage {
  margin-bottom: 32px;
  padding: 32px 50px 60px;
  text-align: center;
  color: var(--white-color);
}
.cs_zoom_class_content .cs_zoom_live {
  align-items: center;
  background: var(--accent-color);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50px;
  display: inline-flex;
  gap: 8px;
  padding: 5px 12px;
}
.cs_zoom_class_content .cs_zoom_live i {
  background: #28dc87;
  border-radius: 50%;
  height: 10px;
  width: 10px;
}
.cs_zoom_class_content .cs_zoom_live b {
  font-weight: 400;
  opacity: 0.65;
}
.cs_zoom_class_content .cs_zoom_participants {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 24px 0;
}
.cs_zoom_class_content .cs_zoom_participants > div,
.cs_zoom_class_content .cs_zoom_participants strong,
.cs_zoom_class_content .cs_zoom_participants span {
  display: block;
}
.cs_zoom_class_content .cs_zoom_participants img {
  height: 100px;
  width: 100px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  margin-bottom: 8px;
}
.cs_zoom_class_content .cs_zoom_participants strong {
  font-size: clamp(18px, 4vw, 20px);
  font-weight: 600;
  line-height: 1.2em;
}
.cs_zoom_class_content .cs_zoom_participants span {
  color: var(--gray3-color);
}
.cs_zoom_class_content .cs_zoom_controls {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}
.cs_zoom_class_content .cs_zoom_controls button,
.cs_zoom_class_content .cs_zoom_controls a {
  border: 0;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  border-radius: 50px;
  padding: 6px 12px;
}
.cs_zoom_class_content .cs_zoom_controls button {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_zoom_class_content .cs_zoom_controls button:hover {
  color: var(--primary-color);
  background-color: var(--white-color);
}
.cs_zoom_class_content .cs_zoom_controls a {
  background: var(--white-color);
  color: var(--secondary-color);
}
.cs_zoom_class_content .cs_zoom_controls a i {
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
  transition: color 0.2s ease;
}
.cs_zoom_class_content .cs_zoom_controls a:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_zoom_class_content .cs_zoom_controls a:hover i {
  color: var(--white-color);
}
.cs_zoom_class_content .cs_zoom_learning h2,
.cs_zoom_class_content .cs_zoom_sessions h2 {
  margin-bottom: 18px;
}
.cs_zoom_class_content .cs_zoom_learning .cs_learning_list,
.cs_zoom_class_content .cs_zoom_sessions .cs_learning_list {
  display: grid;
  gap: 8px;
}
.cs_zoom_class_content .cs_zoom_learning .cs_learning_list li,
.cs_zoom_class_content .cs_zoom_sessions .cs_learning_list li {
  position: relative;
  padding-left: 32px;
}
.cs_zoom_class_content .cs_zoom_learning .cs_learning_list li img,
.cs_zoom_class_content .cs_zoom_sessions .cs_learning_list li img {
  position: absolute;
  left: 0;
  top: 5px;
}
.cs_zoom_class_content .cs_zoom_learning .cs_event_schedule,
.cs_zoom_class_content .cs_zoom_sessions .cs_event_schedule {
  display: grid;
  gap: 18px;
}
.cs_zoom_class_content .cs_zoom_learning .cs_event_schedule li,
.cs_zoom_class_content .cs_zoom_sessions .cs_event_schedule li {
  display: grid;
  gap: 15px;
  grid-template-columns: auto 1fr;
  align-items: start;
}
.cs_zoom_class_content .cs_zoom_learning .cs_event_schedule strong,
.cs_zoom_class_content .cs_zoom_sessions .cs_event_schedule strong {
  font-weight: 500;
  color: var(--black-color);
}
.cs_zoom_class_content .cs_zoom_learning .cs_event_schedule time,
.cs_zoom_class_content .cs_zoom_sessions .cs_event_schedule time {
  width: -moz-max-content;
  width: max-content;
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 7px 10px;
  font-size: 12px;
  line-height: 1em;
  border-radius: 50px;
  color: var(--primary-color);
  background: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_zoom_class_content .cs_zoom_learning {
  margin-bottom: 32px;
}
.cs_zoom_class_content .cs_zoom_learning i {
  color: var(--primary-color);
}
.cs_zoom_class_content .cs_zoom_sessions time {
  border-radius: 50px;
  flex: 0 0 74px;
  font-size: 12px;
  padding: 5px 10px;
  text-align: center;
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 15%, transparent);
}
@media (max-width: 1199px) {
  .cs_zoom_class_content .cs_zoom_meta {
    margin-bottom: 24px;
    grid-template-columns: repeat(2, 1fr);
  }
  .cs_zoom_class_content .cs_zoom_stage {
    padding: 32px 20px 60px;
  }
}
@media (max-width: 991px) {
  .cs_zoom_class_content .cs_zoom_stage {
    padding: 32px 15px 40px;
  }
}
@media (max-width: 767px) {
  .cs_zoom_class_content .cs_zoom_participants {
    gap: 24px 16px;
    grid-template-columns: repeat(2, 1fr);
  }
  .cs_zoom_class_content .cs_zoom_participants > div:last-child {
    grid-column: 1/-1;
  }
  .cs_zoom_class_content .cs_zoom_participants img {
    height: 75px;
    width: 75px;
  }
}
@media (max-width: 480px) {
  .cs_zoom_class_content .cs_zoom_meta {
    grid-template-columns: 1fr;
  }
  .cs_zoom_class_content .cs_zoom_participants {
    grid-template-columns: 1fr;
  }
}

.cs_zoom_sidebar {
  width: min(100%, 312px);
}
.cs_zoom_sidebar .cs_zoom_instructor {
  padding: 16px;
  text-align: center;
  border: 1px solid var(--border-color);
}
.cs_zoom_sidebar .cs_instructor_intro {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.cs_zoom_sidebar .cs_instructor_img {
  height: 100px;
  width: 100px;
  margin-bottom: 8px;
}
.cs_zoom_sidebar .cs_instructor_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_zoom_sidebar .cs_zoom_social {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin: 20px 0;
}
.cs_zoom_sidebar .cs_zoom_social a {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--black-color);
  background-color: var(--gray10-color);
}
.cs_zoom_sidebar .cs_zoom_social a:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_zoom_sidebar .cs_zoom_link {
  padding: 16px 12px;
  border-radius: 10px;
  border: 1px dashed var(--primary-color);
  background: linear-gradient(110deg, var(--gray6-color), var(--gray9-color));
}
.cs_zoom_sidebar .cs_zoom_link span,
.cs_zoom_sidebar .cs_zoom_link a,
.cs_zoom_sidebar .cs_zoom_link small {
  display: block;
  font-size: 12px;
  line-height: 1.25em;
}
.cs_zoom_sidebar .cs_zoom_link a {
  margin: 6px 0 8px;
  line-height: 1em;
  overflow-wrap: anywhere;
  color: var(--primary-color);
}
.cs_zoom_sidebar .cs_zoom_link a:hover {
  text-decoration: underline;
}
.cs_zoom_sidebar .cs_primary_btn {
  margin: 16px 0 24px;
}
.cs_zoom_sidebar .cs_primary_btn i {
  font-size: 16px;
  line-height: 1.5em;
}
.cs_zoom_sidebar .cs_zoom_details {
  text-align: left;
}
.cs_zoom_sidebar .cs_zoom_details h3 {
  margin-bottom: 8px;
}
.cs_zoom_sidebar .cs_zoom_details .cs_zoom_details_list {
  display: grid;
  gap: 8px;
}
.cs_zoom_sidebar .cs_zoom_details .cs_zoom_details_list li {
  display: flex;
  justify-content: space-between;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-color);
}
.cs_zoom_sidebar .cs_zoom_details .cs_zoom_details_list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
@media (max-width: 991px) {
  .cs_zoom_sidebar {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .cs_zoom_sidebar .cs_instructor_img {
    height: 75px;
    width: 75px;
  }
}

.cs_grid_col_4 {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1399px) {
  .cs_grid_col_4 {
    gap: 20px 16px;
  }
}
@media (max-width: 1199px) {
  .cs_grid_col_4 {
    gap: 16px 12px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 991px) {
  .cs_grid_col_4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .cs_grid_col_4 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.cs_funfact_wrapper {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1199px) {
  .cs_funfact_wrapper {
    gap: 16px;
  }
}
@media (max-width: 991px) {
  .cs_funfact_wrapper {
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 374px) {
  .cs_funfact_wrapper {
    grid-template-columns: repeat(1, 1fr);
  }
}

@media (max-width: 1199px) {
  .cs_top_instructors_section .cs_grid_col_4,
  .cs_mentor_section .cs_grid_col_4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 991px) {
  .cs_top_instructors_section .cs_grid_col_4,
  .cs_mentor_section .cs_grid_col_4 {
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .cs_top_instructors_section .cs_grid_col_4,
  .cs_mentor_section .cs_grid_col_4 {
    grid-template-columns: repeat(1, 1fr);
  }
}

/*=======================================================
  Community Page
=========================================================*/
.cs_community_section .cs_section_heading_style_1 {
  margin-bottom: 56px;
}
.cs_community_section .cs_section_heading_style_1 .cs_section_title {
  margin-bottom: 24px;
}
.cs_community_section .cs_community_stats span,
.cs_community_section .cs_discussion_actions span {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  border-radius: 50px;
  border: 1px solid var(--border-color);
}
.cs_community_section .cs_community_stats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 32px;
}
.cs_community_section .cs_community_stats span {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 4px 10px;
}
.cs_community_section .cs_community_stats i {
  line-height: 1em;
  color: var(--primary-color);
}
.cs_community_section .cs_community_grid {
  display: grid;
  gap: 24px;
  justify-content: center;
  grid-template-columns: 312px minmax(0, 648px) 312px;
}
.cs_community_section .cs_community_topics,
.cs_community_section .cs_active_members,
.cs_community_section .cs_discussion_card {
  border: 1px solid var(--border-color);
}
.cs_community_section .cs_community_topics {
  align-self: start;
  overflow: hidden;
  padding: 20px 16px 0;
}
.cs_community_section .cs_community_topics h3 {
  margin-bottom: 12px;
}
.cs_community_section .cs_community_topics nav {
  display: grid;
  gap: 2px;
}
.cs_community_section .cs_community_topics nav button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--secondary-color);
  display: flex;
  gap: 14px;
  padding: 7px 0;
  text-align: left;
  transition: color 0.3s ease;
  width: 100%;
}
.cs_community_section .cs_community_topics nav button.active,
.cs_community_section .cs_community_topics nav button:hover,
.cs_community_section .cs_community_topics nav button:focus-visible,
.cs_community_section .cs_community_topics nav i,
.cs_community_section .cs_community_topics .cs_new_topic i {
  color: var(--primary-color);
}
.cs_community_section .cs_new_topic {
  margin: 16px -16px 0;
  padding: 18px 16px;
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  border-top: 1px solid var(--border-color);
}
.cs_community_section .cs_new_topic span {
  transform: translateX(-14px);
  transition: transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.cs_community_section .cs_new_topic:hover {
  color: var(--primary-color);
}
.cs_community_section .cs_new_topic:hover span {
  transform: translateX(0);
}
.cs_community_section .cs_discussions {
  display: grid;
  gap: 24px;
}
.cs_community_section .cs_discussions h3 {
  margin: -7px 0 0;
}
.cs_community_section .cs_discussions h3 span {
  color: var(--primary-color);
}
.cs_community_section .cs_discussion_empty {
  border-radius: 10px;
  display: none;
  padding: 24px 16px;
  text-align: center;
  background: var(--gray10-color);
}
.cs_community_section .cs_community_publish {
  padding: 24px;
  display: grid;
  gap: 16px;
  align-items: center;
  border-radius: 10px;
  background: var(--gray10-color);
  grid-template-columns: 50px 1fr auto;
}
.cs_community_section .cs_community_publish input {
  outline: 0;
  border-radius: 5px;
  height: 50px;
  padding: 10px 16px;
  width: 100%;
  border: 1px solid transparent;
}
.cs_community_section .cs_community_publish input:focus {
  border-color: var(--primary-color);
}
.cs_community_section .cs_publish_avatar {
  width: 50px;
  height: 50px;
  font-size: 24px;
  border-radius: 50%;
  color: var(--black-color);
  background: var(--white-color);
}
.cs_community_section .cs_discussion_card {
  border-radius: 10px;
  padding: 16px;
}
.cs_community_section .cs_discussion_card .cs_discussion_text {
  margin: 14px 0 24px;
}
.cs_community_section .cs_discussion_card:last-child {
  margin-bottom: 0;
}
.cs_community_section .cs_discussion_author {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.cs_community_section .cs_discussion_author img {
  width: 50px;
  height: 50px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.cs_community_section .cs_discussion_author h3 {
  margin: 0;
  font-family: var(--secondary-font);
}
.cs_community_section .cs_discussion_author small {
  font-size: 14px;
  margin-left: 8px;
  color: var(--secondary-color);
}
.cs_community_section .cs_discussion_author p {
  font-size: 12px;
  line-height: 1.25em;
  color: var(--primary-color);
}
.cs_community_section .cs_discussion_actions {
  display: flex;
  gap: 8px;
}
.cs_community_section .cs_discussion_actions span {
  padding: 4px 10px;
}
.cs_community_section .cs_discussion_actions i {
  color: var(--primary-color);
}
.cs_community_section .cs_active_members {
  padding: 16px;
}
.cs_community_section .cs_active_members h3 {
  margin-bottom: 16px;
}
.cs_community_section .cs_active_members ul {
  display: grid;
  gap: 8px;
}
.cs_community_section .cs_active_members li {
  align-items: center;
  display: flex;
  gap: 12px;
  position: relative;
}
.cs_community_section .cs_active_members li img {
  height: 50px;
  width: 50px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.cs_community_section .cs_active_members li i {
  width: 12px;
  height: 12px;
  left: 38px;
  position: absolute;
  top: 0;
  background: #10b981;
  border-radius: 50%;
  border: 2px solid var(--white-color);
}
.cs_community_section .cs_active_members > a {
  font-size: 14px;
  line-height: 1.5em;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
  padding: 5px 10px;
  border-radius: 50px;
  color: var(--primary-color);
  background: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_community_section .cs_active_members > a:hover {
  color: var(--white-color);
  background: color-mix(in srgb, var(--primary-color) 100%, transparent);
}
.cs_community_section .cs_community_meetup {
  margin-top: 24px;
  padding: 16px;
  background: linear-gradient(110deg, var(--gray6-color), var(--gray9-color));
}
.cs_community_section .cs_community_meetup h3 {
  margin-bottom: 16px;
}
.cs_community_section .cs_community_meetup p {
  display: flex;
  align-items: center;
}
.cs_community_section .cs_community_meetup p span {
  display: inline-block;
  width: 1px;
  height: 1em;
  margin: 0 14px;
  opacity: 0.3;
  background-color: var(--primary-color);
}
.cs_community_section .cs_community_meetup button {
  font-size: 14px;
  padding: 4px 10px;
  line-height: 1.5em;
  border-radius: 50px;
  color: var(--primary-color);
  border: 1px solid var(--primary-color);
  background: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_community_section .cs_community_meetup button:active, .cs_community_section .cs_community_meetup button:hover {
  color: var(--white-color);
  background: color-mix(in srgb, var(--primary-color) 100%, transparent);
}
@media (max-width: 1199px) {
  .cs_community_section .cs_section_heading_style_1 {
    margin-bottom: 32px;
  }
  .cs_community_section .cs_section_heading_style_1 .cs_section_title {
    margin-bottom: 8px;
  }
  .cs_community_section .cs_section_heading_style_1 .cs_community_stats {
    margin-top: 24px;
  }
  .cs_community_section .cs_community_grid {
    grid-template-columns: 1fr 1fr;
  }
  .cs_community_section .cs_discussions {
    order: -1;
    grid-column: 1/-1;
  }
}
@media (max-width: 767px) {
  .cs_community_section .cs_community_grid {
    gap: 24px;
    grid-template-columns: 1fr;
  }
  .cs_community_section .cs_community_publish {
    padding: 16px;
    grid-template-columns: 50px 1fr;
  }
  .cs_community_section .cs_community_publish .cs_primary_btn {
    grid-column: 1/-1;
  }
  .cs_community_section .cs_discussions {
    order: 1;
  }
}

/*====================================================
 11. Sections
======================================================*/
/*===================================================
 Join Section
=====================================================*/
.cs_join_section {
  position: relative;
}
.cs_join_section::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(112.14deg, var(--white-color) 0%, var(--gray5-color) 100%);
}

/*====================================================
 Categories
======================================================*/
.cs_categories_section .cs_section_heading_style_2 {
  margin-bottom: 24px;
}
@media (max-width: 575px) {
  .cs_categories_section .cs_section_heading_style_2 {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px;
  }
}

/*===================================================
 Funfacts
=====================================================*/
@media (max-width: 1199px) {
  .cs_funfact_section .cs_grid_col_4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .cs_funfact_section .cs_grid_col_4 {
    grid-template-columns: repeat(1, 1fr);
  }
}

/*===================================================
 404 Error
=====================================================*/
.cs_error_section {
  padding: 150px 0 64px;
}
.cs_error_section .cs_error_thumb {
  width: min(100%, 960px);
  margin-bottom: 24px;
}
.cs_error_section .cs_error_thumb img {
  width: 100%;
  border-radius: 0;
}
.cs_error_section .cs_error_title {
  margin-bottom: 4px;
}
.cs_error_section .cs_error_subtitle {
  margin-bottom: 32px;
}

/*===================================================
 Category Highlights
=====================================================*/
.cs_category_highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}
.cs_category_highlights li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 15px;
  color: var(--secondary-color);
  border: 1px solid var(--primary-color);
  border-radius: 50px;
}
.cs_category_highlights li i {
  color: var(--primary-color);
}
@media (max-width: 991px) {
  .cs_category_highlights {
    gap: 12px;
    margin-top: 24px;
  }
}

/*===================================================
 Demo Section
=====================================================*/
.cs_demo_video {
  padding: 32px 30px 16px;
  border: 1px solid var(--border-color);
}
.cs_demo_video .cs_demo_player {
  position: relative;
  overflow: hidden;
}
.cs_demo_video .cs_demo_player video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 350px;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.44, 0.35, 0.55, 0.65);
  transform: scaleX(-1);
}
.cs_demo_video .cs_demo_live {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 5px 10px;
  border-radius: 50px;
  background-color: color-mix(in srgb, var(--black-color) 50%, transparent);
}
.cs_demo_video .cs_demo_live > img {
  flex-shrink: 0;
  width: 15px;
  height: 15px;
}
.cs_demo_video .cs_demo_stats {
  width: calc(100% - 24px);
  max-width: 544px;
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 9px 20px;
  border: 1px solid var(--border-color);
  background-image: linear-gradient(99deg, var(--white-color) 0%, var(--gray5-color) 100%);
}
.cs_demo_video .cs_demo_stats::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 48px;
  background-color: color-mix(in srgb, var(--primary-color) 20%, transparent);
  transform: translate(-50%, -50%);
}
.cs_demo_video .cs_demo_stats > li {
  flex-shrink: 0;
  display: flex;
  gap: 16px;
  align-items: center;
}
.cs_demo_video .cs_demo_stats > li > img {
  flex-shrink: 0;
  width: 50px;
}
.cs_demo_video .cs_demo_stats strong {
  display: block;
  line-height: 1.5em;
}
.cs_demo_video .cs_demo_controls {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.cs_demo_video .cs_demo_control {
  width: 50px;
  height: 50px;
  font-size: 16px;
  border: none;
  border-radius: 50%;
  color: var(--black-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
  transition: all 0.3s ease;
}
.cs_demo_video .cs_demo_control:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_demo_video .cs_demo_control_end {
  color: var(--white-color);
  background-color: var(--error-color);
}
.cs_demo_video .cs_demo_control_end:hover {
  background-color: var(--error-color);
}
@media (max-width: 1199px) {
  .cs_demo_video {
    padding: 12px 12px 24px;
  }
  .cs_demo_video .cs_demo_stats {
    padding: 9px 12px;
  }
  .cs_demo_video .cs_demo_stats::before {
    display: none;
  }
  .cs_demo_video .cs_demo_stats > li {
    gap: 12px;
  }
  .cs_demo_video .cs_demo_stats > li > img {
    width: 45px;
  }
}
@media (max-width: 480px) {
  .cs_demo_video .cs_demo_stats {
    gap: 12px;
    flex-wrap: wrap;
  }
}

.cs_demo_content .cs_demo_text {
  margin-top: 16px;
}
.cs_demo_content .cs_demo_features {
  margin-top: 24px;
}
.cs_demo_content .cs_grid_col_2 {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, 1fr);
}
.cs_demo_content .cs_demo_feature {
  display: flex;
  gap: 24px;
  align-items: center;
  padding: 12px 14px;
  background-image: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_demo_content .cs_demo_feature .cs_demo_feature_icon {
  flex-shrink: 0;
  width: 75px;
  height: 75px;
  padding: 13px;
}
.cs_demo_content .cs_demo_feature .cs_demo_feature_icon > img {
  border-radius: 0;
}
.cs_demo_content .cs_demo_feature .cs_demo_feature_title {
  margin-bottom: 8px;
}
.cs_demo_content .cs_demo_btns {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 32px;
}
@media (max-width: 1199px) {
  .cs_demo_content .cs_demo_features {
    gap: 16px;
  }
  .cs_demo_content .cs_demo_feature {
    gap: 15px;
    padding: 12px;
    align-items: start;
  }
  .cs_demo_content .cs_demo_feature .cs_demo_feature_icon {
    width: 60px;
    height: 60px;
  }
}
@media (max-width: 480px) {
  .cs_demo_content .cs_demo_features {
    gap: 12px;
    grid-template-columns: 1fr;
  }
}

/*=========================================================
 CTA Style Home V2
===========================================================*/
.cs_cta_section {
  background-color: var(--gray10-color);
}
.cs_cta_section .cs_partners_wrap {
  margin-top: 64px;
  border-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_cta_section .cs_cta_content {
  max-width: 720px;
  margin-inline: auto;
}
.cs_cta_section .cs_cta_text {
  margin-top: 8px;
}
.cs_cta_section .cs_cta_btns {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 32px;
}
.cs_cta_section .cs_cta_btns .cs_primary_btn {
  padding: 13px 18px;
}

/*===================================================
 Instructor Work Process
=====================================================*/
.cs_work_process_section {
  background: linear-gradient(99deg, #fffffe 0%, #fdfaf4 100%);
}

.cs_work_process_steps {
  display: grid;
  gap: 24px;
  position: relative;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--border-color);
}
@media (max-width: 1199px) {
  .cs_work_process_steps {
    gap: 16px 12px;
  }
}
@media (max-width: 991px) {
  .cs_work_process_steps {
    gap: 30px 16px;
    border-top: 0;
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .cs_work_process_steps {
    grid-template-columns: 1fr;
  }
}

.cs_work_step_1 {
  position: relative;
  padding-top: 85px;
}
.cs_work_step_1 .cs_work_step_number {
  position: absolute;
  z-index: 1;
  top: 20px;
  left: 50%;
  width: 50px;
  height: 50px;
  line-height: 1em;
  border-radius: 50%;
  color: var(--primary-color);
  transform: translateX(-50%);
  font-family: var(--primary-font);
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.cs_work_step_1 .cs_work_step_number::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 1px);
  left: 50%;
  width: 1px;
  height: 20px;
  background-color: var(--border-color);
}
.cs_work_step_1 .cs_work_step_card {
  height: 100%;
  overflow: hidden;
  border-radius: 20px;
  padding: 19px 23px 23px;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  transition: border-color 0.4s ease, box-shadow 0.4s ease;
}
.cs_work_step_1.active .cs_work_step_number {
  color: var(--white-color);
  background-color: var(--accent-color);
  border-color: var(--accent-color);
}
.cs_work_step_1.active .cs_work_step_card {
  border-color: var(--primary-color);
  box-shadow: 0 20px 40px rgba(78, 62, 201, 0.1);
}
.cs_work_step_1.completed .cs_work_step_number {
  color: var(--white-color);
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}
.cs_work_step_1 .cs_work_step_title {
  margin-bottom: 13px;
}
.cs_work_step_1 .cs_work_step_text {
  margin-bottom: 24px;
}
.cs_work_step_1 .cs_work_step_thumb img {
  max-height: 200px;
  border-radius: 0;
}
@media (max-width: 1199px) {
  .cs_work_step_1 .cs_work_step_card {
    padding: 19px 15px 23px;
  }
}
@media (max-width: 991px) {
  .cs_work_step_1 {
    padding-top: 80px;
  }
  .cs_work_step_1::before {
    content: "";
    width: calc(100% + 8px);
    height: 1px;
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--border-color);
  }
  .cs_work_step_1:nth-child(even)::before {
    left: -8px;
  }
}
@media (max-width: 480px) {
  .cs_work_step_1::before {
    width: 100%;
  }
  .cs_work_step_1:nth-child(even)::before {
    left: 0;
  }
}

/*===================================================
 Instructor Intro Section
=====================================================*/
.cs_instructor_intro_section .cs_instructor_intro_media {
  position: relative;
  padding: 36px 0 0 20%;
}
.cs_instructor_intro_section .cs_instructor_intro_media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_instructor_intro_section .cs_instructor_intro_main {
  position: relative;
}
.cs_instructor_intro_section .cs_instructor_intro_main::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -42px;
  width: min(100%, 312px);
  height: min(100%, 174px);
  border-radius: 312px;
  transform: translateX(-50%);
  clip-path: ellipse(50% 45% at 50% 50%);
  background: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_instructor_intro_section .cs_instructor_intro_main > img {
  position: relative;
  z-index: 1;
}
.cs_instructor_intro_section .cs_instructor_intro_small {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  padding-right: 65%;
}
.cs_instructor_intro_section .cs_instructor_intro_note {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 2;
  width: 275px;
  padding: 28px 24px;
  text-align: center;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
}
.cs_instructor_intro_section .cs_instructor_intro_note img {
  width: 45px;
  height: 50px;
  position: absolute;
  left: -10px;
  top: -20px;
}
.cs_instructor_intro_section .cs_instructor_intro_content {
  padding-left: 110px;
  display: flex;
  align-items: start;
  flex-direction: column;
}
.cs_instructor_intro_section .cs_instructor_intro_content h2 {
  margin-bottom: 16px;
}
.cs_instructor_intro_section .cs_instructor_intro_content > p {
  margin-bottom: 24px;
}
.cs_instructor_intro_section .cs_instructor_intro_stats {
  width: 100%;
  display: grid;
  gap: 24px;
  margin-bottom: 32px;
  grid-template-columns: 1.1fr 1fr 1.2fr;
}
.cs_instructor_intro_section .cs_instructor_intro_stats > div {
  display: flex;
  flex-direction: column;
}
.cs_instructor_intro_section .cs_instructor_intro_stats strong {
  color: var(--primary-color);
  display: flex;
  align-items: center;
}
.cs_instructor_intro_section .cs_instructor_intro_stats strong .odometer {
  font-family: inherit;
}
.cs_instructor_intro_section .cs_instructor_cta {
  display: inline-flex;
}
@media (max-width: 1399px) {
  .cs_instructor_intro_section .cs_instructor_intro_content {
    padding-left: 60px;
  }
}
@media (max-width: 1199px) {
  .cs_instructor_intro_section .cs_instructor_intro_content {
    padding-left: 0;
  }
  .cs_instructor_intro_section .cs_instructor_intro_media {
    padding: 24px 0 0 4%;
  }
  .cs_instructor_intro_section .cs_instructor_intro_main::before {
    top: -30px;
  }
}
@media (max-width: 991px) {
  .cs_instructor_intro_section .cs_instructor_intro_media {
    padding: 24px 0 0 0%;
  }
  .cs_instructor_intro_section .cs_instructor_intro_stats {
    margin-bottom: 24px;
  }
  .cs_instructor_intro_section .cs_instructor_intro_small {
    left: 12px;
    padding-right: 70%;
  }
  .cs_instructor_intro_section .cs_instructor_intro_note {
    width: min(100%, 270px);
    right: 12px;
    bottom: 12px;
  }
}

/*===================================================
 Instructor Advantage Section
=====================================================*/
@media (max-width: 1199px) {
  .cs_instructor_advantages_section .cs_grid_col_4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 991px) {
  .cs_instructor_advantages_section .cs_grid_col_4 {
    gap: 24px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .cs_instructor_advantages_section .cs_grid_col_4 {
    grid-template-columns: 1fr;
  }
  .cs_instructor_advantages_section .cs_iconbox_style_2 {
    width: 100%;
  }
}

.cs_instructor_benefits_content {
  width: min(100%, 720px);
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
.cs_instructor_benefits_content h2 {
  margin-bottom: 16px;
}

.cs_instructor_benefits {
  display: grid;
  gap: 10px;
  margin-bottom: 32px;
}
.cs_instructor_benefits li {
  position: relative;
  padding-left: 32px;
}
.cs_instructor_benefits li img {
  position: absolute;
  top: 5px;
  left: 0;
}
.cs_instructor_benefits li strong {
  color: var(--black-color);
}

/*===================================================
 Apply Teach Section
=====================================================*/
.cs_apply_teach_section {
  overflow: hidden;
  color: var(--white-color);
  background-color: var(--primary-color);
  background-image: linear-gradient(105deg, var(--accent-color), var(--primary-color));
}
.cs_apply_teach_section .cs_apply_teach_media {
  position: relative;
  height: 100%;
  width: 114%;
  margin-left: -22%;
}
.cs_apply_teach_section .cs_apply_teach_media::before, .cs_apply_teach_section .cs_apply_teach_media::after {
  content: "";
  position: absolute;
  bottom: 0;
  aspect-ratio: 1;
  border-radius: 50%;
}
.cs_apply_teach_section .cs_apply_teach_media::before {
  width: 72%;
  z-index: 1;
  right: 8%;
  background: linear-gradient(180deg, var(--warning-color) 0%, #5141cc 74.52%);
}
.cs_apply_teach_section .cs_apply_teach_media::after {
  width: 78%;
  z-index: 0;
  right: 4%;
  background: var(--accent-color);
}
.cs_apply_teach_section .cs_apply_teach_media img {
  position: absolute;
  right: 0;
  bottom: -1px;
  z-index: 1;
  width: 100%;
  -o-object-position: bottom;
     object-position: bottom;
  border-radius: 0;
}
.cs_apply_teach_section .cs_apply_teach_content {
  padding: 85px 0 64px;
}
@media (max-width: 1600px) {
  .cs_apply_teach_section .cs_apply_teach_media {
    width: 105%;
    margin-left: -5%;
  }
}
@media (max-width: 1199px) {
  .cs_apply_teach_section .cs_apply_teach_media {
    display: none;
  }
  .cs_apply_teach_section .cs_apply_teach_content {
    padding: 64px 0;
  }
}
@media (max-width: 991px) {
  .cs_apply_teach_section .cs_apply_teach_content {
    padding: 50px 0;
  }
}

.cs_apply_teach_form {
  display: grid;
  gap: 16px 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_apply_teach_form .cs_apply_teach_field {
  display: grid;
  gap: 4px;
}
.cs_apply_teach_form label {
  margin-bottom: 0;
}
.cs_apply_teach_form .cs_form_field,
.cs_apply_teach_form .nice-select {
  color: var(--white-color);
  background: color-mix(in srgb, var(--primary-color) 60%, transparent);
  border-color: color-mix(in srgb, var(--white-color) 65%, transparent);
}
.cs_apply_teach_form .cs_form_field::-moz-placeholder {
  color: color-mix(in srgb, var(--white-color) 65%, transparent);
}
.cs_apply_teach_form .cs_form_field::placeholder {
  color: color-mix(in srgb, var(--white-color) 65%, transparent);
}
.cs_apply_teach_form .cs_form_field:focus {
  border-color: var(--white-color);
}
.cs_apply_teach_form option {
  color: var(--black-color);
}
.cs_apply_teach_form option:disabled {
  opacity: 0.65;
}
.cs_apply_teach_form .nice-select {
  border-color: color-mix(in srgb, var(--white-color) 60%, transparent);
  background: color-mix(in srgb, var(--white-color) 6%, transparent);
}
.cs_apply_teach_form .nice-select::after {
  border-color: var(--white-color);
}
.cs_apply_teach_form .nice-select .list {
  color: var(--black-color);
}
.cs_apply_teach_form .cs_apply_teach_message {
  grid-column: 1/-1;
}
.cs_apply_teach_form .cs_primary_btn {
  width: -moz-max-content;
  width: max-content;
  margin-top: 8px;
  font: inherit;
  font-weight: 600;
  padding: 12px 24px;
  color: var(--black-color);
  background-color: var(--white-color);
}
.cs_apply_teach_form .cs_primary_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
@media (max-width: 991px) {
  .cs_apply_teach_form {
    gap: 16px;
  }
}
@media (max-width: 767px) {
  .cs_apply_teach_form .cs_primary_btn {
    padding: 9px 16px;
  }
}
@media (max-width: 480px) {
  .cs_apply_teach_form {
    grid-template-columns: 1fr;
  }
}

/*=======================================================
  Help Center Page
=========================================================*/
.cs_help_search_section .cs_help_search_content {
  margin: 0 auto;
  max-width: 696px;
}
.cs_help_search_section .cs_help_search_form {
  display: grid;
  margin: 24px 0 16px;
  align-items: center;
  border-radius: 3px;
  padding: 7px 7px 7px 15px;
  grid-template-columns: 16px 1fr auto;
  border: 1px solid var(--primary-color);
}
.cs_help_search_section .cs_help_search_form input {
  border: 0;
  height: 46px;
  outline: 0;
  width: 100%;
  margin-left: 16px;
}
.cs_help_search_section .cs_help_search_form > i {
  color: var(--black-color);
}
.cs_help_search_section .cs_help_popular {
  align-items: center;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}
.cs_help_search_section .cs_help_popular a {
  font-size: 12px;
  line-height: 1.25em;
  padding: 5px 10px;
  border-radius: 50px;
  border-radius: 50px;
  color: var(--primary-color);
  background: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_help_search_section .cs_help_popular a:hover {
  color: var(--white-color);
  background: var(--primary-color);
}
@media (max-width: 480px) {
  .cs_help_search_section .cs_help_search_form {
    padding: 10px;
    gap: 16px 10px;
    grid-template-columns: 16px 1fr;
  }
  .cs_help_search_section .cs_help_search_form input {
    width: 100%;
    height: 44px;
    margin-left: 0;
  }
  .cs_help_search_section .cs_help_search_form .cs_primary_btn {
    grid-column: 1/-1;
  }
}

/*=================================================
  Category Grid
===================================================*/
.cs_help_categories_section .cs_iconbox_style_2 {
  width: 100%;
}
.cs_help_categories_section .cs_iconbox_style_2 .cs_iconbox_btn {
  overflow: hidden;
  display: inline-block;
  text-shadow: 0px 20px 0px currentColor;
  transition: text-shadow 0.2s cubic-bezier(0.45, 0.5, 0.55, 0.75);
}
.cs_help_categories_section .cs_iconbox_style_2 .cs_iconbox_btn:hover {
  color: var(--accent-color);
  text-shadow: 0px 0px 0px currentColor;
}
@media (max-width: 991px) {
  .cs_help_categories_section .cs_iconbox_style_2 .cs_iconbox_title {
    margin-bottom: 8px;
  }
}

/*=================================================
  Article Help Section
===================================================*/
.cs_help_articles_section {
  background: linear-gradient(178deg, #fdfaf4 2.08%, #fffffe 61.23%);
}
.cs_help_articles_section .cs_iconbox_style_2 {
  width: 100%;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.cs_help_articles_section .cs_iconbox_style_2 .cs_iconbox_icon {
  width: 100px;
  height: 100px;
  padding: 24px;
  background: color-mix(in srgb, var(--primary-color) 15%, transparent);
}
.cs_help_articles_section .cs_iconbox_style_2 .cs_iconbox_title {
  margin-bottom: 4px;
}
.cs_help_articles_section .cs_iconbox_style_2 p {
  margin-bottom: 16px;
}
.cs_help_articles_section .cs_iconbox_style_2 > a {
  font-size: 12px;
  padding: 4px 10px;
  line-height: 1.25em;
  border-radius: 50px;
  margin-top: auto;
  display: inline-block;
  color: var(--primary-color);
  border: 1px solid var(--primary-color);
  background: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_help_articles_section .cs_iconbox_style_2 > a:hover {
  color: var(--white-color);
  background: var(--primary-color);
}
@media (max-width: 1199px) {
  .cs_help_articles_section .cs_iconbox_style_2 {
    padding: 24px 15px;
  }
  .cs_help_articles_section .cs_iconbox_style_2 .cs_iconbox_icon {
    width: 75px;
    height: 75px;
    padding: 16px;
  }
  .cs_help_articles_section .cs_iconbox_style_2 p {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .cs_help_articles_section .cs_iconbox_style_2 .cs_iconbox_icon {
    width: 60px;
    height: 60px;
    padding: 12px;
  }
}

.cs_help_article {
  width: 100%;
  height: 100%;
  display: flex;
  gap: 20px;
  padding: 12px;
  border-radius: 10px;
  background: var(--white-color);
  border: 1px solid var(--primary-color);
}
.cs_help_article > div {
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.cs_help_article > span {
  flex: none;
  width: 75px;
  height: 75px;
  padding: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: linear-gradient(283deg, var(--gray6-color), var(--gray9-color));
}
.cs_help_article img {
  height: 100%;
  width: 100%;
  border-radius: 0;
}
.cs_help_article h3 {
  font-size: 18px;
  margin-bottom: 5px;
  transition: color 0.2s ease;
}
.cs_help_article p {
  font-size: 14px;
  margin: 0;
}
.cs_help_article:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_help_article:hover h3 {
  color: var(--white-color);
}
@media (max-width: 1199px) {
  .cs_help_article > div {
    justify-content: start;
  }
}
@media (max-width: 767px) {
  .cs_help_article {
    gap: 16px;
  }
  .cs_help_article > span {
    width: 60px;
    height: 60px;
  }
}

/*====================================================
  Grid Layouts
======================================================*/
.cs_help_category_grid {
  display: grid;
  gap: 32px 40px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cs_help_articles_grid {
  display: grid;
  gap: 24px;
  margin-bottom: 64px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cs_help_support_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/*====================================================
 Responsive Grid Layouts
======================================================*/
@media (max-width: 1199px) {
  .cs_help_support_grid,
  .cs_help_articles_grid {
    gap: 16px;
  }
  .cs_help_category_grid {
    gap: 24px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 991px) {
  .cs_help_support_grid,
  .cs_help_category_grid,
  .cs_help_articles_grid {
    grid-template-columns: 1fr 1fr;
  }
  .cs_help_articles_grid {
    margin-bottom: 50px;
  }
}
@media (max-width: 767px) {
  .cs_help_articles_grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .cs_help_support_grid,
  .cs_help_category_grid {
    grid-template-columns: 1fr;
  }
}
/*====================================================
  AI Tutor Section
======================================================*/
.cs_ai_tutor_section .cs_ai_tutor_intro {
  position: relative;
  display: flex;
  min-height: 176px;
  align-items: center;
  overflow: hidden;
  padding: 30px 176px 30px 32px;
  border-radius: 20px;
  border-radius: 20px;
  background: lightgray 0% 0%/48px 48px repeat, linear-gradient(180deg, #6c5ce7 0%, rgba(78, 62, 201, 0.9) 50%);
}
.cs_ai_tutor_section .cs_ai_tutor_intro .cs_ai_tutor_intro_content {
  width: min(100%, 720px);
}
.cs_ai_tutor_section .cs_ai_tutor_intro h2 {
  margin-bottom: 4px;
}
.cs_ai_tutor_section .cs_ai_tutor_intro p {
  margin-bottom: 16px;
  color: var(--gray3-color);
}
.cs_ai_tutor_section .cs_ai_tutor_intro .cs_ai_online {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  line-height: 1.25em;
  padding: 5px 10px;
  border-radius: 50px;
  background: var(--success-color);
  color: var(--white-color);
}
.cs_ai_tutor_section .cs_ai_tutor_intro .cs_ai_online i {
  font-size: 16px;
  line-height: 1em;
}
.cs_ai_tutor_section .cs_ai_tutor_intro .cs_ai_desk {
  position: absolute;
  z-index: 1;
  right: 33px;
  bottom: 0;
  width: 173px;
  height: 154px;
  -o-object-fit: contain;
     object-fit: contain;
}
.cs_ai_tutor_section .cs_ai_tutor_grid {
  display: grid;
  gap: 24px;
  align-items: start;
  margin-top: 32px;
  justify-content: space-between;
  grid-template-columns: 1.5fr 1fr;
}
.cs_ai_tutor_section .cs_ai_tutor_grid[hidden] {
  display: none;
}
.cs_ai_tutor_section .cs_ai_chat {
  width: min(100%, 760px);
  overflow: hidden;
  border-radius: 20px;
  background: #f3f4f6;
}
.cs_ai_tutor_section .cs_ai_chat_head {
  padding: 24px;
  position: relative;
  display: flex;
  gap: 24px;
  align-items: center;
  border-radius: 20px 20px 0 0;
  background: lightgray 0% 0%/47px 47px repeat, linear-gradient(90deg, #4e3ec9 0%, #6c5ce7 100%);
}
.cs_ai_tutor_section .cs_ai_bot_avatar {
  z-index: 1;
  width: 100px;
  height: 100px;
  flex: none;
  padding: 24px;
}
.cs_ai_tutor_section .cs_ai_bot_avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0;
}
.cs_ai_tutor_section .cs_ai_messages {
  padding: 24px;
}
.cs_ai_tutor_section .cs_ai_message_row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 16px;
}
.cs_ai_tutor_section .cs_ai_message_row.cs_from_user {
  justify-content: flex-end;
}
.cs_ai_tutor_section .cs_ai_message_icon {
  width: 50px;
  height: 50px;
  flex: none;
  padding: 12px;
  border-radius: 50%;
  background: var(--white-color);
}
.cs_ai_tutor_section .cs_ai_message_icon img {
  border-radius: 0;
}
.cs_ai_tutor_section .cs_ai_message_icon.cs_user {
  font-size: 24px;
  color: var(--white-color);
  background: var(--primary-color);
}
.cs_ai_tutor_section .cs_ai_bubble {
  padding: 16px;
  border-radius: 10px;
  background: var(--white-color);
  border: 1px solid var(--border-color);
}
.cs_ai_tutor_section .cs_ai_bubble p {
  margin: 0;
}
.cs_ai_tutor_section .cs_ai_bubble time {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.25em;
}
.cs_ai_tutor_section .cs_from_user .cs_ai_bubble {
  width: 64%;
  color: var(--white-color);
  border-radius: 5px 50px 0 5px;
  background: var(--primary-color);
  border-color: var(--primary-color);
}
.cs_ai_tutor_section .cs_from_user .cs_ai_bubble time {
  color: var(--gray3-color);
}
.cs_ai_tutor_section .cs_ai_prompt {
  display: flex;
  gap: 8px;
  padding: 0 24px 24px;
}
.cs_ai_tutor_section .cs_ai_prompt input {
  width: 100%;
  height: 50px;
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: 5px;
  outline: none;
}
.cs_ai_tutor_section .cs_ai_prompt input:focus {
  border-color: var(--primary-color);
}
.cs_ai_tutor_section .cs_ai_prompt .cs_primary_btn {
  flex: none;
}
.cs_ai_tutor_section .cs_ai_tools {
  width: min(100%, 424px);
  display: grid;
  gap: 16px;
  margin-left: auto;
}
.cs_ai_tutor_section .cs_ai_tool {
  display: flex;
  min-height: 107px;
  align-items: center;
  gap: 22px;
  padding: 15px 24px 15px 13px;
  background: var(--white-color);
  border: 1px solid var(--border-color);
  transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s;
}
.cs_ai_tutor_section .cs_ai_tool:hover {
  transform: translateY(-2px);
  border-color: var(--primary-color);
  box-shadow: 0 12px 30px rgba(78, 62, 201, 0.1);
}
.cs_ai_tutor_section .cs_ai_tool .cs_ai_tool_icon {
  width: 75px;
  height: 75px;
  flex: none;
  padding: 13px;
  background: linear-gradient(135deg, var(--gray6-color), var(--gray9-color));
}
.cs_ai_tutor_section .cs_ai_tool .cs_ai_tool_icon img {
  border-radius: 0;
}
.cs_ai_tutor_section .cs_ai_tool h3 {
  margin-bottom: 8px;
  line-height: 1.2;
  font-size: clamp(18px, 2.1vw, 20px);
}
.cs_ai_tutor_section .cs_ai_tool p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}
.cs_ai_tutor_section .cs_ai_summary_grid {
  display: grid;
  gap: 24px;
  margin-top: 32px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_ai_tutor_section .cs_ai_summary_panel {
  display: flex;
  height: 100%;
  flex-direction: column;
  padding: 24px;
}
.cs_ai_tutor_section .cs_ai_summary_panel > h3,
.cs_ai_tutor_section .cs_ai_summary_panel .cs_ai_summary_heading {
  margin-bottom: 24px;
  font-size: 20px;
  line-height: 1.2em;
}
.cs_ai_tutor_section .cs_ai_summary_panel .cs_ai_summary_heading h3 {
  margin-bottom: 0;
}
.cs_ai_tutor_section .cs_ai_summary_heading {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}
.cs_ai_tutor_section .cs_ai_processed {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.25em;
  border-radius: 50px;
  color: var(--success-color);
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid var(--success-color);
}
.cs_ai_tutor_section textarea,
.cs_ai_tutor_section .cs_ai_summary_result {
  width: 100%;
  height: 302px;
  padding: 16px;
  font: inherit;
  outline: none;
  border-radius: 10px;
  background: var(--white-color);
  border: 1px solid transparent;
}
.cs_ai_tutor_section textarea {
  resize: none;
}
.cs_ai_tutor_section textarea:focus {
  border-color: var(--primary-color);
}
.cs_ai_tutor_section .cs_ai_summary_result {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.cs_ai_tutor_section .cs_ai_summary_result h4 {
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 500;
}
.cs_ai_tutor_section .cs_ai_summary_result h4 i {
  font-size: 16px;
  margin-right: 6px;
  color: var(--error-color);
}
.cs_ai_tutor_section .cs_ai_summary_result p {
  margin-bottom: 24px;
}
.cs_ai_tutor_section .cs_ai_summary_result .cs_ai_key_points_title {
  margin-top: auto;
}
.cs_ai_tutor_section .cs_ai_summary_result .cs_ai_key_points_title i {
  color: var(--warning-color);
}
.cs_ai_tutor_section .cs_ai_key_points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cs_ai_tutor_section .cs_ai_key_points span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.25em;
  border-radius: 50px;
  background: linear-gradient(135deg, var(--gray6-color), var(--gray9-color));
}
.cs_ai_tutor_section .cs_ai_summary_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}
.cs_ai_tutor_section .cs_ai_summary_actions.cs_ai_summary_actions_end {
  justify-content: flex-end;
}
.cs_ai_tutor_section .cs_ai_summary_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  padding: 6px 15px;
  font-weight: 600;
  border-radius: 5px;
  background: var(--white-color);
  border: 1px solid var(--primary-color);
}
.cs_ai_tutor_section .cs_ai_summary_btn i {
  color: var(--primary-color);
  transition: all 0.2s ease;
}
.cs_ai_tutor_section .cs_ai_summary_btn.cs_ai_summary_btn_primary {
  color: var(--white-color);
  border-radius: 3px;
  background: var(--primary-color);
}
.cs_ai_tutor_section .cs_ai_summary_btn.cs_ai_summary_btn_primary i {
  color: inherit;
}
.cs_ai_tutor_section .cs_ai_summary_btn.cs_ai_summary_btn_primary:hover {
  background-color: var(--accent-color);
}
.cs_ai_tutor_section .cs_ai_summary_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_ai_tutor_section .cs_ai_summary_btn:hover i {
  color: var(--white-color);
}
.cs_ai_tutor_section .cs_ai_file_input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
@media (max-width: 1199px) {
  .cs_ai_tutor_section .cs_ai_summary_grid {
    gap: 16px;
    grid-template-columns: 1.2fr 1fr;
  }
  .cs_ai_tutor_section .cs_ai_summary_panel {
    padding: 16px 16px 20px;
  }
}
@media (max-width: 991px) {
  .cs_ai_tutor_section .cs_ai_summary_grid,
  .cs_ai_tutor_section .cs_ai_tutor_grid {
    grid-template-columns: 1fr;
  }
  .cs_ai_tutor_section .cs_ai_chat,
  .cs_ai_tutor_section .cs_ai_tools {
    width: 100%;
  }
  .cs_ai_tutor_section .cs_ai_messages {
    padding: 24px 12px;
  }
}
@media (max-width: 767px) {
  .cs_ai_tutor_section .cs_ai_summary_btn {
    padding: 6px 12px;
  }
}
@media (max-width: 575px) {
  .cs_ai_tutor_section .cs_ai_tutor_intro {
    padding: 20px 15px 24px;
  }
  .cs_ai_tutor_section .cs_ai_desk {
    display: none;
  }
  .cs_ai_tutor_section textarea,
  .cs_ai_tutor_section .cs_ai_summary_result {
    height: 280px;
  }
}
@media (max-width: 480px) {
  .cs_ai_tutor_section .cs_ai_summary_btn {
    flex: 1 1 auto;
  }
}
@media (max-width: 374px) {
  .cs_ai_tutor_section .cs_ai_message_row {
    flex-direction: column;
  }
  .cs_ai_tutor_section .cs_ai_message_row.cs_from_user {
    flex-direction: column-reverse;
  }
  .cs_ai_tutor_section .cs_ai_message_row.cs_from_user .cs_ai_bubble {
    width: 100%;
    border-radius: 5px;
  }
}

/*====================================================
  Quiz Generation Section
======================================================*/
.cs_quiz_generation_section .cs_quiz_grid {
  display: grid;
  gap: 24px;
  align-items: start;
  grid-template-columns: 424px minmax(0, 1fr);
}
.cs_quiz_generation_section .cs_quiz_config,
.cs_quiz_generation_section .cs_quiz_preview {
  padding: 16px;
  border: 1px solid var(--border-color);
}
.cs_quiz_generation_section .cs_quiz_panel_title {
  margin-bottom: 16px;
}
.cs_quiz_generation_section .cs_quiz_field {
  margin-bottom: 16px;
}
.cs_quiz_generation_section .cs_quiz_field label {
  display: block;
  margin-bottom: 8px;
}
.cs_quiz_generation_section .nice-select {
  font-size: 14px;
  line-height: 1.5em;
  border-radius: 5px;
}
.cs_quiz_generation_section .cs_quiz_range_field {
  margin-bottom: 24px;
}
.cs_quiz_generation_section .cs_quiz_range {
  display: flex;
  gap: 8px;
  align-items: center;
}
.cs_quiz_generation_section .cs_quiz_range input[type=range] {
  flex: 1 1 auto;
  min-width: 0;
  height: 5px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 50px;
  background: linear-gradient(90deg, var(--gray6-color) 0%, var(--gray3-color) 100%);
}
.cs_quiz_generation_section .cs_quiz_range input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  width: 16px;
  height: 16px;
  cursor: pointer;
  border-radius: 50%;
  background: var(--primary-color);
}
.cs_quiz_generation_section .cs_quiz_range input[type=range]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  cursor: pointer;
  border: 0;
  border-radius: 50%;
  background: var(--primary-color);
}
.cs_quiz_generation_section .cs_quiz_range_value {
  flex: none;
  padding: 5px 20px;
  text-align: center;
  border-radius: 50px;
  border: 1px solid var(--primary-color);
  background: linear-gradient(283deg, var(--gray6-color), var(--gray9-color));
}
.cs_quiz_generation_section .cs_quiz_preview_head {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.cs_quiz_generation_section .cs_quiz_meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  border-radius: 50px;
  background-color: var(--gray10-color);
  border: 1px solid var(--border-color);
}
.cs_quiz_generation_section .cs_quiz_meta i {
  color: var(--primary-color);
}
.cs_quiz_generation_section .cs_quiz_badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 4px 10px;
  border-radius: 50px;
  border: 1px solid var(--primary-color);
  background: linear-gradient(283deg, var(--gray6-color), var(--gray9-color));
}
.cs_quiz_generation_section .cs_quiz_meta i,
.cs_quiz_generation_section .cs_quiz_badge i {
  font-size: 16px;
  line-height: 1em;
}
.cs_quiz_generation_section .cs_quiz_list {
  display: grid;
  gap: 16px;
}
.cs_quiz_generation_section .cs_quiz_card {
  padding: 16px;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
}
.cs_quiz_generation_section .cs_quiz_question {
  margin: 8px 0;
}
.cs_quiz_generation_section .cs_quiz_options {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}
.cs_quiz_generation_section .cs_quiz_option {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 0;
  cursor: pointer;
  padding: 4px 10px;
  background-color: var(--white-color);
  border: 1px solid var(--gray10-color);
  transition: border-color 0.25s, background-color 0.25s;
}
.cs_quiz_generation_section .cs_quiz_option:hover {
  border-color: var(--primary-color);
}
.cs_quiz_generation_section .cs_quiz_option input[type=radio] {
  width: 16px;
  height: 16px;
  flex: none;
  margin: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 50%;
  background-color: var(--white-color);
  border: 1px solid var(--primary-color);
}
.cs_quiz_generation_section .cs_quiz_option input[type=radio]:checked {
  background-color: var(--primary-color);
  box-shadow: inset 0 0 0 3px var(--white-color);
}
.cs_quiz_generation_section .cs_quiz_option:has(input[type=radio]:checked) {
  border-color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 5%, transparent);
}
@media (max-width: 1199px) {
  .cs_quiz_generation_section .cs_quiz_grid {
    gap: 16px;
    grid-template-columns: 312px minmax(0, 1fr);
  }
}
@media (min-width: 991px) {
  .cs_quiz_generation_section .cs_quiz_config {
    position: sticky;
    top: 100px;
  }
}
@media (max-width: 991px) {
  .cs_quiz_generation_section .cs_quiz_grid {
    gap: 24px;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  .cs_quiz_generation_section .cs_quiz_config,
  .cs_quiz_generation_section .cs_quiz_card {
    padding: 15px 12px;
  }
  .cs_quiz_generation_section .cs_quiz_preview_head {
    gap: 8px;
    align-items: flex-start;
    flex-direction: column;
  }
  .cs_quiz_generation_section .cs_quiz_option {
    align-items: flex-start;
  }
  .cs_quiz_generation_section .cs_quiz_option input[type=radio] {
    margin-top: 3px;
  }
}
@media (max-width: 575px) {
  .cs_quiz_generation_section .cs_quiz_preview {
    padding: 0;
    border: 0;
  }
}

/*====================================================
  Code Assistant Section
======================================================*/
.cs_code_assistant_section .cs_code_assistant_grid {
  display: grid;
  gap: 24px;
  align-items: start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_code_assistant_section .cs_code_assistant_head {
  display: flex;
  gap: 24px;
  align-items: center;
  padding: 24px;
  border-radius: 20px 20px 0 0;
}
.cs_code_assistant_section .cs_code_assistant_avatar {
  width: 100px;
  height: 100px;
  flex: none;
  padding: 25px;
  border-radius: 50%;
}
.cs_code_assistant_section .cs_code_assistant_avatar img {
  border-radius: 0;
}
.cs_code_assistant_section .cs_code_assistant_body {
  padding: 24px;
  border-radius: 0 0 10px 10px;
  background-color: var(--gray10-color);
}
.cs_code_assistant_section .cs_code_editor,
.cs_code_assistant_section .cs_code_response {
  padding: 16px;
}
.cs_code_assistant_section .cs_code_editor_head,
.cs_code_assistant_section .cs_code_response_head {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-color);
}
.cs_code_assistant_section .cs_code_file,
.cs_code_assistant_section .cs_code_status,
.cs_code_assistant_section .cs_code_response_type {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cs_code_assistant_section .cs_code_file i,
.cs_code_assistant_section .cs_code_status i,
.cs_code_assistant_section .cs_code_response_type i {
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
}
.cs_code_assistant_section .cs_code_status_dot {
  width: 15px;
  height: 15px;
  flex: none;
  border-radius: 50%;
  background-color: var(--success-color);
}
.cs_code_assistant_section .cs_code_snippet {
  margin: 0;
  padding: 16px 0 8px;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--primary-color) 40%, transparent) transparent;
  font: inherit;
  -moz-tab-size: 2;
    -o-tab-size: 2;
       tab-size: 2;
  border: 0;
  border-radius: 0;
}
.cs_code_assistant_section .cs_code_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
}
.cs_code_assistant_section .cs_code_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  padding: 6px 15px;
  font-weight: 600;
  border-radius: 5px;
  color: var(--black-color);
  background-color: var(--white-color);
  border: 1px solid var(--primary-color);
  transition: color 0.25s, background-color 0.25s;
}
.cs_code_assistant_section .cs_code_btn i {
  color: var(--primary-color);
  transition: color 0.25s;
}
.cs_code_assistant_section .cs_code_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_code_assistant_section .cs_code_btn:hover i {
  color: inherit;
}
.cs_code_assistant_section .cs_code_btn.cs_primary_btn {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_code_assistant_section .cs_code_btn.cs_primary_btn i {
  color: inherit;
}
.cs_code_assistant_section .cs_code_btn.cs_primary_btn:hover {
  background-color: var(--accent-color);
  border-color: var(--accent-color);
}
.cs_code_assistant_section .cs_code_response p {
  margin-top: 16px;
}
.cs_code_assistant_section .cs_code_response_badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  line-height: 1.25em;
  border-radius: 50px;
  background: linear-gradient(283deg, var(--gray6-color), var(--gray9-color));
}
.cs_code_assistant_section .cs_code_response_badge i {
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
}
.cs_code_assistant_section .cs_code_assistant_aside {
  display: grid;
  gap: 24px;
  align-content: start;
}
.cs_code_assistant_section .cs_code_capabilities,
.cs_code_assistant_section .cs_code_langs {
  padding: 24px;
  border: 1px solid var(--border-color);
}
.cs_code_assistant_section .cs_code_capability_list {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}
.cs_code_assistant_section .cs_code_capability_list li {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_code_assistant_section .cs_code_capability_list i {
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
}
.cs_code_assistant_section .cs_code_lang_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.cs_code_assistant_section .cs_code_lang_list li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 15px;
  color: var(--black-color);
  border-radius: 50px;
  background: linear-gradient(135deg, var(--gray6-color), var(--gray9-color));
}
.cs_code_assistant_section .cs_code_lang_list i {
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
}
.cs_code_assistant_section .cs_code_tools {
  display: grid;
  gap: 24px;
  margin-top: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_code_assistant_section .cs_code_tool {
  display: flex;
  gap: 4px;
  align-items: center;
  flex-direction: column;
  padding: 12px;
  text-align: center;
  border: 1px solid var(--primary-color);
  background: linear-gradient(283deg, var(--gray6-color), var(--gray9-color));
  transition: box-shadow 0.25s, transform 0.25s;
}
.cs_code_assistant_section .cs_code_tool:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--accent-color) 10%, transparent);
}
.cs_code_assistant_section .cs_code_tool img {
  width: 48px;
  border-radius: 0;
}
@media (max-width: 1199px) {
  .cs_code_assistant_section .cs_code_assistant_head {
    gap: 16px;
    padding: 20px;
  }
  .cs_code_assistant_section .cs_code_assistant_body,
  .cs_code_assistant_section .cs_code_capabilities,
  .cs_code_assistant_section .cs_code_langs {
    padding: 16px;
  }
  .cs_code_assistant_section .cs_code_tools {
    gap: 12px;
  }
}
@media (max-width: 991px) {
  .cs_code_assistant_section .cs_code_assistant_grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  .cs_code_assistant_section .cs_code_assistant_head {
    padding: 16px;
    align-items: start;
  }
  .cs_code_assistant_section .cs_code_assistant_avatar {
    width: 60px;
    height: 60px;
    padding: 13px;
  }
  .cs_code_assistant_section .cs_code_actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 575px) {
  .cs_code_assistant_section .cs_code_assistant_head,
  .cs_code_assistant_section .cs_code_assistant_body,
  .cs_code_assistant_section .cs_code_capabilities,
  .cs_code_assistant_section .cs_code_langs {
    padding: 15px 12px;
  }
  .cs_code_assistant_section .cs_code_editor,
  .cs_code_assistant_section .cs_code_response {
    padding: 12px;
  }
  .cs_code_assistant_section .cs_code_editor_head,
  .cs_code_assistant_section .cs_code_response_head {
    gap: 8px;
    padding-bottom: 12px;
  }
  .cs_code_assistant_section .cs_code_lang_list li {
    padding: 8px 12px;
  }
}
@media (max-width: 480px) {
  .cs_code_assistant_section .cs_code_btn {
    flex: none;
  }
  .cs_code_assistant_section .cs_code_tools {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 380px) {
  .cs_code_assistant_section .cs_code_actions {
    grid-template-columns: 1fr;
  }
}

/*====================================================
  Auto Grading Section
======================================================*/
.cs_auto_grading_section .cs_section_heading_style_1 {
  margin-bottom: 32px;
}
.cs_auto_grading_section .cs_auto_grading_grid {
  display: grid;
  gap: 24px;
  align-items: start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_auto_grading_section .cs_auto_grading_col {
  display: grid;
  gap: 24px;
  align-content: start;
}
.cs_auto_grading_section .cs_grading_panel,
.cs_auto_grading_section .cs_grading_card {
  padding: 24px;
}
.cs_auto_grading_section .cs_grading_card {
  border: 1px solid var(--border-color);
}
.cs_auto_grading_section .cs_grading_panel_title {
  margin-bottom: 16px;
}
.cs_auto_grading_section .cs_grading_form .cs_grading_panel_title {
  margin-bottom: 24px;
}
.cs_auto_grading_section .cs_grading_editor {
  padding: 16px;
}
.cs_auto_grading_section .cs_grading_editor textarea {
  display: block;
  width: 100%;
  height: 321px;
  padding: 0 0 16px;
  font: inherit;
  resize: none;
  outline: none;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--border-color);
}
.cs_auto_grading_section .cs_grading_editor_foot {
  margin-top: 8px;
}
.cs_auto_grading_section .cs_grading_attach {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 5px 16px;
  font-weight: 600;
  color: var(--black-color);
  border-radius: 5px;
  background: linear-gradient(283deg, var(--gray6-color), var(--gray9-color));
}
.cs_auto_grading_section .cs_grading_attach i {
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
}
.cs_auto_grading_section .cs_grading_file_input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.cs_auto_grading_section .cs_grading_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 24px;
  justify-content: space-between;
}
.cs_auto_grading_section .cs_grading_actions_end {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cs_auto_grading_section .cs_grading_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  padding: 6px 15px;
  font-weight: 600;
  border-radius: 5px;
  color: var(--black-color);
  background-color: var(--white-color);
  border: 1px solid var(--primary-color);
  transition: color 0.25s, background-color 0.25s;
}
.cs_auto_grading_section .cs_grading_btn i {
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
  transition: color 0.25s;
}
.cs_auto_grading_section .cs_grading_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_auto_grading_section .cs_grading_btn:hover i {
  color: inherit;
}
.cs_auto_grading_section .cs_grading_btn.cs_primary_btn {
  padding: 7px 15px;
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_auto_grading_section .cs_grading_btn.cs_primary_btn i {
  color: inherit;
}
.cs_auto_grading_section .cs_grading_btn.cs_primary_btn:hover {
  background-color: var(--accent-color);
}
.cs_auto_grading_section .cs_grading_panel_head {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 16px;
  justify-content: space-between;
}
.cs_auto_grading_section .cs_grading_score {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  border-radius: 50px;
}
.cs_auto_grading_section .cs_grading_score > span {
  display: inline-flex;
  align-items: center;
}
.cs_auto_grading_section .cs_grading_score i {
  font-size: 16px;
  line-height: 1em;
}
.cs_auto_grading_section .cs_grading_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.cs_auto_grading_section .cs_grading_chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 4px 10px;
  line-height: 1.25em;
  border-radius: 50px;
  background-color: var(--white-color);
  border: 1px solid var(--primary-color);
}
.cs_auto_grading_section .cs_grading_chip i {
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
}
.cs_auto_grading_section .cs_grading_feedback {
  padding: 16px;
}
.cs_auto_grading_section .cs_grading_stats {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_auto_grading_section .cs_grading_stat {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 20px;
  text-align: center;
  background: linear-gradient(283deg, var(--gray6-color), var(--gray9-color));
}
.cs_auto_grading_section .cs_grading_stat_number {
  line-height: 1.25em;
}
.cs_auto_grading_section .cs_grading_stat_icon {
  width: 25px;
  height: 25px;
  margin-bottom: 8px;
  border-radius: 0;
}
.cs_auto_grading_section .cs_grading_recent {
  display: grid;
  gap: 6px;
}
.cs_auto_grading_section .cs_grading_recent li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px dashed var(--border-color);
}
.cs_auto_grading_section .cs_grading_avatar {
  width: 35px;
  height: 35px;
  flex: none;
  border-radius: 50%;
}
.cs_auto_grading_section .cs_grading_avatar i {
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
}
.cs_auto_grading_section .cs_grading_student {
  margin-right: auto;
}
.cs_auto_grading_section .cs_grading_grade {
  flex: none;
  padding: 4px 10px;
  line-height: 1.25em;
  border-radius: 50px;
  color: var(--success-color);
  border: 1px solid var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_auto_grading_section .cs_grading_grade.cs_grading_grade_low {
  color: var(--error-color);
  border-color: var(--error-color);
  background-color: color-mix(in srgb, var(--error-color) 10%, transparent);
}
.cs_auto_grading_section .cs_grading_tip {
  margin-bottom: 8px;
}
.cs_auto_grading_section .cs_grading_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cs_auto_grading_section .cs_grading_tags span {
  padding: 5px 10px;
  line-height: 1.25em;
  border-radius: 50px;
  background: linear-gradient(135deg, var(--gray6-color), var(--gray9-color));
}
@media (max-width: 1199px) {
  .cs_auto_grading_section .cs_grading_panel,
  .cs_auto_grading_section .cs_grading_card {
    padding: 16px 16px 20px;
  }
  .cs_auto_grading_section .cs_grading_stats {
    gap: 16px;
  }
}
@media (max-width: 991px) {
  .cs_auto_grading_section .cs_auto_grading_grid {
    grid-template-columns: 1fr;
  }
  .cs_auto_grading_section .cs_grading_panel_title {
    margin-bottom: 16px;
  }
  .cs_auto_grading_section .cs_grading_form .cs_grading_panel_title {
    margin-bottom: 16px;
  }
  .cs_auto_grading_section .cs_grading_panel,
  .cs_auto_grading_section .cs_grading_card {
    padding: 16px 12px 20px;
  }
}
@media (max-width: 575px) {
  .cs_auto_grading_section .cs_grading_editor {
    padding: 12px;
  }
  .cs_auto_grading_section .cs_grading_editor textarea {
    height: 280px;
  }
  .cs_auto_grading_section .cs_grading_feedback {
    padding: 12px;
  }
  .cs_auto_grading_section .cs_grading_stat {
    padding: 16px 12px;
  }
}
@media (max-width: 480px) {
  .cs_auto_grading_section .cs_grading_actions_end {
    width: 100%;
  }
  .cs_auto_grading_section .cs_grading_btn {
    flex: 1 1 auto;
  }
}
@media (max-width: 380px) {
  .cs_auto_grading_section .cs_grading_stats {
    gap: 8px;
    grid-template-columns: 1fr;
  }
}

/*===================================================
 12. Components
=====================================================*/
/*===================================================
 Button Components
=====================================================*/
.cs_primary_btn, .cs_secondary_btn {
  padding: 13px 18px;
  display: flex;
  gap: 10px;
  font-weight: 600;
  line-height: 1.5em;
  color: var(--white-color);
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  background-color: var(--primary-color);
}
.cs_primary_btn.cs_small_btn, .cs_small_btn.cs_secondary_btn {
  padding: 12px 15px;
}
.cs_primary_btn:hover, .cs_secondary_btn:hover {
  color: var(--white-color);
  background-color: var(--accent-color);
}
@media (max-width: 767px) {
  .cs_primary_btn, .cs_secondary_btn {
    padding: 10px 16px;
  }
}

.cs_secondary_btn {
  padding: 12px 18px;
  color: var(--black-color);
  background-color: transparent;
  border: 1px solid var(--primary-color);
}
.cs_secondary_btn:hover {
  border-color: transparent;
  color: var(--accent-color);
}

.cs_text_btn {
  display: inline-flex;
  gap: 10px;
  padding: 13px 18px;
  align-items: center;
  font-weight: 600;
  text-wrap: nowrap;
  color: var(--black-color);
}
.cs_text_btn:hover {
  color: var(--primary-color);
}
.cs_text_btn:hover .cs_btn_text {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .cs_text_btn {
    padding: 10px 15px;
  }
}

.cs_scrollup_btn {
  width: 50px;
  height: 50px;
  font-size: 24px;
  border-radius: 50%;
  position: fixed;
  right: 16px;
  bottom: 30px;
  opacity: 0;
  transform: translateY(100px) scale(0);
  color: var(--white-color);
  border: 2px solid var(--primary-color);
  background-color: var(--accent-color);
  transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 0.3s ease-in;
}
.cs_scrollup_btn:hover {
  color: var(--accent-color);
  border-color: var(--accent-color);
  background-color: var(--white-color);
}
.cs_scrollup_btn.show {
  opacity: 1;
  z-index: 1000;
  transform: translateY(0px) scale(1);
}

/*===================================================
 Form Fields
=====================================================*/
form .cs_form_label {
  display: block;
  margin-bottom: 4px;
  color: var(--black-color);
}
form .cs_form_field,
form .nice-select {
  display: block;
  width: 100%;
  height: 50px;
  padding: 10px 16px;
  outline: none;
  color: var(--black-color);
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  transition: border-color 0.3s ease;
}
form .cs_form_field {
  resize: none;
}
form .cs_form_field::-moz-placeholder {
  color: var(--secondary-color);
}
form .cs_form_field::placeholder {
  color: var(--secondary-color);
}
form .cs_form_field:focus {
  border-color: var(--primary-color);
}
form .cs_form_field::-webkit-datetime-edit {
  color: var(--secondary-color);
}
form .cs_form_field:focus::-webkit-datetime-edit {
  color: var(--black-color);
}
form .cs_form_field::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.45;
}
form textarea.cs_form_field {
  height: auto;
}
form .nice-select {
  float: none;
  display: flex;
  align-items: center;
  padding-right: 42px;
  font-size: 16px;
  line-height: 1.625em;
  color: var(--secondary-color);
}
form .nice-select::after {
  right: 16px;
  width: 7px;
  height: 7px;
  border-color: var(--secondary-color);
}
form .nice-select.open, form .nice-select:active, form .nice-select:focus, form .nice-select:hover {
  border-color: var(--primary-color);
}
form .nice-select .current {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
form .nice-select .list {
  width: 100%;
  max-height: 220px;
  margin-top: 4px;
  overflow-y: auto;
  border-radius: 5px;
  scrollbar-width: thin;
  min-width: -moz-max-content;
  min-width: max-content;
}
form .nice-select .option {
  min-height: auto;
  padding: 8px 16px;
  font-size: 16px;
  line-height: 1.625em;
  color: var(--black-color);
}
@media (max-width: 767px) {
  form .cs_form_field,
  form .nice-select {
    height: 44px;
  }
  form textarea.cs_form_field {
    height: auto;
  }
}

/* Hide input arrow: Chrome, Safari, Edge, Opera */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Hide input arrow: Firefox */
input[type=number] {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}

/*=============================================
 Pagination
===============================================*/
.cs_pagination {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}
.cs_pagination .cs_pagination_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.cs_pagination li:first-child .cs_pagination_btn,
.cs_pagination li:last-child .cs_pagination_btn {
  color: var(--black-color);
}
.cs_pagination li:first-child .cs_pagination_btn:hover,
.cs_pagination li:last-child .cs_pagination_btn:hover {
  color: var(--white-color);
}
.cs_pagination .cs_pagination_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 3px;
  color: var(--secondary-color);
  background-color: var(--gray6-color);
}
.cs_pagination .cs_pagination_btn:hover, .cs_pagination .cs_pagination_btn.active {
  color: var(--white-color);
  background-color: var(--primary-color);
}

/*=============================================
 Rating Component
===============================================*/
.cs_rating {
  max-width: 84px;
  height: 16px;
  position: relative;
  font-size: 16px;
  line-height: 1em;
  letter-spacing: 1px;
  overflow: hidden;
  color: var(--warning-color);
}
.cs_rating::before {
  content: "\f18b\f18b\f18b\f18b\f18b";
  font-family: "remixicon";
  position: absolute;
  top: 0;
  left: 0;
}
.cs_rating .cs_rating_percentage {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  color: var(--warning-color);
}
.cs_rating .cs_rating_percentage::before {
  content: "\f186\f186\f186\f186\f186";
  font-family: "remixicon";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}

/*===================================================
 Section Headings
=====================================================*/
.cs_section_heading_style_1 .cs_section_label,
.cs_section_heading_style_2 .cs_section_label {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 5px 10px;
  line-height: 1.5em;
  border-radius: 50px;
  background: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_section_heading_style_1 .cs_text_btn,
.cs_section_heading_style_2 .cs_text_btn {
  padding: 0;
}
@media (max-width: 991px) {
  .cs_section_heading_style_1 br,
  .cs_section_heading_style_2 br {
    display: none;
  }
}

.cs_section_heading_style_2 {
  display: flex;
  gap: 16px 30px;
  align-items: flex-end;
  justify-content: space-between;
}
.cs_section_heading_style_2.cs_type_1 {
  align-items: center;
}
@media (max-width: 991px) {
  .cs_section_heading_style_2 {
    flex-direction: column;
    align-items: start;
  }
  .cs_section_heading_style_2.cs_type_1 {
    align-items: start;
  }
}

/*===================================================
 Icon Box
=====================================================*/
.cs_iconbox_style_1 {
  width: min(100%, 410px);
  display: flex;
  gap: 24px;
}
.cs_iconbox_style_1 .cs_iconbox_icon {
  flex-shrink: 0;
  width: 75px;
  height: 75px;
  padding: 13px;
}
.cs_iconbox_style_1 .cs_iconbox_icon img {
  border-radius: 0;
}
.cs_iconbox_style_1:hover .cs_iconbox_icon img {
  animation: bubbleUp 0.6s cubic-bezier(0.47, 0.25, 0.25, 0.75);
}
.cs_iconbox_style_1 .cs_iconbox_title {
  margin-bottom: 15px;
}
@media (max-width: 1199px) {
  .cs_iconbox_style_1 {
    gap: 16px;
  }
  .cs_iconbox_style_1 .cs_iconbox_icon {
    width: 60px;
    height: 60px;
    padding: 10px;
  }
  .cs_iconbox_style_1 .cs_iconbox_title {
    margin-bottom: 12px;
  }
}
@media (max-width: 767px) {
  .cs_iconbox_style_1 {
    width: 100%;
  }
}

.cs_iconbox_style_2 {
  width: min(100%, 312px);
}
.cs_iconbox_style_2 .cs_iconbox_icon {
  width: 75px;
  height: 75px;
  padding: 17px;
  margin-bottom: 16px;
  background: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_iconbox_style_2 img {
  width: 100%;
  height: 100%;
  border-radius: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_iconbox_style_2 .cs_iconbox_title {
  margin-bottom: 16px;
}
.cs_iconbox_style_2:hover img {
  animation: zoomFocus 0.3s forwards cubic-bezier(0.39, 0.55, 0.65, 1.5);
}
@media (max-width: 991px) {
  .cs_iconbox_style_2 .cs_iconbox_title {
    margin-bottom: 8px;
  }
  .cs_iconbox_style_2 .cs_iconbox_icon {
    width: 60px;
    height: 60px;
    padding: 12px;
    margin-bottom: 12px;
  }
}

/*===================================================
 Category Card 1
=====================================================*/
.cs_category_card_1 {
  padding: 23px 16px;
  position: relative;
  background: linear-gradient(90deg, var(--gray6-color) 0%, var(--gray3-color) 100%);
}
.cs_category_card_1 .cs_category_info {
  position: relative;
  z-index: 2;
}
.cs_category_card_1 .cs_category_title {
  margin-bottom: 5px;
}
.cs_category_card_1 .cs_category_media {
  width: 66px;
  height: 66px;
  position: absolute;
  top: 18px;
  right: 16px;
  bottom: 18px;
}
.cs_category_card_1 .cs_category_wheel {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.cs_category_card_1 .cs_category_wheel img {
  width: 100%;
  height: 100%;
}
.cs_category_card_1 .cs_category_icon {
  position: relative;
  z-index: 1;
}
.cs_category_card_1 .cs_category_icon img {
  width: 50px;
  height: 50px;
  -o-object-fit: contain;
     object-fit: contain;
}
.cs_category_card_1:hover .cs_category_title {
  color: var(--primary-color);
}

/*===================================================
 Promo Banner 1
=====================================================*/
.cs_promo_banner_1 {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 64px;
  overflow: hidden;
  background: linear-gradient(109.29deg, var(--primary-color) 0%, var(--accent-color) 100%);
}
.cs_promo_banner_1 .cs_promo_pattern {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.cs_promo_banner_1 {
  /* Left column */
}
.cs_promo_banner_1 .cs_promo_content {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  width: calc(50% - 136px);
}
.cs_promo_banner_1 .cs_promo_badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  padding: 5px 10px;
  border-radius: 50px;
  color: var(--white-color);
  background-color: rgba(255, 255, 255, 0.15);
}
.cs_promo_banner_1 .cs_promo_title {
  margin-bottom: 32px;
  font-size: 32px;
  line-height: 1.1875em;
}
.cs_promo_banner_1 .cs_promo_testimonial {
  display: flex;
  flex-direction: column;
  padding: 16px;
  background-color: var(--accent-color);
}
.cs_promo_banner_1 .cs_promo_testimonial .cs_promo_quote {
  width: 50px;
  height: 50px;
}
.cs_promo_banner_1 .cs_promo_testimonial .cs_promo_quote img {
  width: 100%;
  height: 100%;
}
.cs_promo_banner_1 .cs_promo_testimonial blockquote {
  margin-bottom: 7px;
  font-size: 20px;
  line-height: 1.5em;
  font-weight: 500;
  color: var(--gray3-color);
  font-family: var(--secondary-font);
}
.cs_promo_banner_1 .cs_promo_testimonial .cs_author_name {
  font-size: 18px;
  font-weight: 500;
}
.cs_promo_banner_1 {
  /* Center media */
}
.cs_promo_banner_1 .cs_promo_media {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  align-self: stretch;
  min-width: 0;
}
.cs_promo_banner_1 .cs_promo_shape {
  position: absolute;
  top: 28%;
  left: 50%;
  z-index: 0;
  width: 228px;
  height: 224px;
  transform: translate(-50%, -50%);
}
.cs_promo_banner_1 .cs_promo_shape img {
  width: 100%;
  height: 100%;
  animation: halfRotation 20s linear infinite;
}
.cs_promo_banner_1 .cs_promo_person {
  position: absolute;
  bottom: -64px;
  left: 50%;
  z-index: 1;
  width: 250px;
  height: auto;
  transform: translateX(-50%);
}
.cs_promo_banner_1 {
  /* Right column */
}
.cs_promo_banner_1 .cs_promo_features {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: calc(50% - 136px);
  max-width: 450px;
}
.cs_promo_banner_1 .cs_promo_feature {
  display: flex;
  gap: 24px;
}
.cs_promo_banner_1 .cs_promo_feature .cs_promo_feature_icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
}
.cs_promo_banner_1 .cs_promo_feature .cs_promo_feature_icon img {
  width: 100%;
  height: 100%;
}
.cs_promo_banner_1 .cs_promo_feature .cs_promo_feature_title {
  margin-bottom: 8px;
}
.cs_promo_banner_1 .cs_promo_feature:hover .cs_promo_feature_icon img {
  animation: bubbleUp 0.6s cubic-bezier(0.47, 0.25, 0.25, 0.75);
}
@media (max-width: 1399px) {
  .cs_promo_banner_1 {
    padding: 64px 30px;
  }
}
@media (max-width: 1199px) {
  .cs_promo_banner_1 {
    padding: 64px 20px;
  }
  .cs_promo_banner_1 .cs_promo_feature {
    gap: 16px;
  }
  .cs_promo_banner_1 .cs_promo_testimonial blockquote,
  .cs_promo_banner_1 .cs_promo_testimonial .cs_author_name {
    font-size: 16px;
  }
}
@media (max-width: 991px) {
  .cs_promo_banner_1 {
    flex-direction: column;
    gap: 30px;
    padding: 50px 20px;
  }
  .cs_promo_banner_1 .cs_promo_content,
  .cs_promo_banner_1 .cs_promo_features {
    width: 100%;
    max-width: 100%;
  }
  .cs_promo_banner_1 .cs_promo_media {
    order: 2;
    align-self: stretch;
    min-height: auto;
    display: flex;
    justify-content: center;
  }
  .cs_promo_banner_1 .cs_promo_person {
    position: initial;
    left: initial;
    transform: translateX(0);
    margin-bottom: -50px;
  }
}
@media (max-width: 575px) {
  .cs_promo_banner_1 {
    padding: 50px 15px;
  }
}

/*===================================================
 Funfact Card
=====================================================*/
.cs_funfact_style_1 {
  padding: 24px;
  gap: 8px;
}
.cs_funfact_style_1 .cs_funfact_icon {
  width: 100px;
  height: 100px;
  padding: 25px;
  background-color: color-mix(in srgb, var(--primary-color) 15%, transparent);
}
.cs_funfact_style_1 .cs_funfact_icon img {
  width: 100%;
  height: 100%;
  border-radius: 0;
}
.cs_funfact_style_1 .cs_funfact_number {
  display: flex;
  align-items: center;
}
.cs_funfact_style_1 .cs_funfact_number .odometer {
  font-family: inherit;
}
.cs_funfact_style_1:hover .cs_funfact_icon img {
  animation: bubbleUp 0.6s cubic-bezier(0.47, 0.25, 0.25, 0.75);
}
@media (max-width: 1199px) {
  .cs_funfact_style_1 {
    padding: 20px 12px 24px;
  }
  .cs_funfact_style_1 .cs_funfact_icon {
    width: 70px;
    height: 70px;
    padding: 15px;
  }
}
@media (max-width: 767px) {
  .cs_funfact_style_1 .cs_funfact_icon {
    width: 60px;
    height: 60px;
  }
}

/*===================================================
  Pricing Cards & Billing Toggle
=====================================================*/
.cs_pricing_card_1 {
  position: relative;
  height: 100%;
  padding: 24px;
  border: 1px solid var(--border-color);
  box-shadow: 0px 2px 8px 0px color-mix(in srgb, var(--primary-color) 6%, transparent);
  transition: all 0.4s ease;
}
.cs_pricing_card_1 .cs_pricing_title {
  margin-bottom: 8px;
}
.cs_pricing_card_1 .cs_pricing_subtitle {
  margin-bottom: 0;
}
.cs_pricing_card_1 .cs_pricing_price {
  margin-bottom: 8px;
}
.cs_pricing_card_1 .cs_pricing_currency {
  color: var(--black-color);
}
.cs_pricing_card_1 .cs_primary_btn, .cs_pricing_card_1 .cs_secondary_btn {
  padding: 13px 18px;
}
.cs_pricing_card_1 .cs_primary_btn .cs_btn_text, .cs_pricing_card_1 .cs_secondary_btn .cs_btn_text {
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color 0.3s ease;
}
.cs_pricing_card_1 .cs_primary_btn:hover, .cs_pricing_card_1 .cs_secondary_btn:hover {
  background-color: var(--primary-color);
}
.cs_pricing_card_1 .cs_primary_btn:hover .cs_btn_text, .cs_pricing_card_1 .cs_secondary_btn:hover .cs_btn_text {
  text-decoration-color: var(--white-color);
}
.cs_pricing_card_1 .cs_pricing_features {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--border-color);
}
.cs_pricing_card_1 .cs_pricing_features li {
  padding-left: 28px;
  position: relative;
}
.cs_pricing_card_1 .cs_pricing_features li + li {
  margin-top: 10px;
}
.cs_pricing_card_1 .cs_pricing_check {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 2px;
  background-color: color-mix(in srgb, var(--primary-color) 20%, transparent);
}
.cs_pricing_card_1 .cs_pricing_check i {
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
}
.cs_pricing_card_1 .cs_pricing_badge {
  position: absolute;
  top: 16px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 14px;
  border-radius: 100px;
  background-color: var(--primary-color);
}
.cs_pricing_card_1 .cs_pricing_badge i {
  font-size: 12px;
  line-height: 1em;
}
.cs_pricing_card_1.cs_pricing_card_featured {
  border-color: var(--accent-color);
  box-shadow: none;
}
.cs_pricing_card_1.cs_pricing_card_featured .cs_pricing_title {
  color: var(--white-color);
}
.cs_pricing_card_1.cs_pricing_card_featured .cs_pricing_subtitle,
.cs_pricing_card_1.cs_pricing_card_featured .cs_pricing_currency,
.cs_pricing_card_1.cs_pricing_card_featured .cs_pricing_note_text,
.cs_pricing_card_1.cs_pricing_card_featured .cs_pricing_features {
  color: var(--gray3-color);
}
.cs_pricing_card_1.cs_pricing_card_featured .cs_pricing_features {
  border-color: color-mix(in srgb, var(--border-color) 20%, transparent);
}
.cs_pricing_card_1.cs_pricing_card_featured .cs_pricing_check {
  background-color: color-mix(in srgb, var(--white-color) 20%, transparent);
}
.cs_pricing_card_1.cs_pricing_card_featured .cs_pricing_check i {
  color: var(--white-color);
}
.cs_pricing_card_1:hover {
  border-color: var(--accent-color);
}
@media (max-width: 1199px) {
  .cs_pricing_card_1 {
    padding: 20px 16px;
  }
}
@media (max-width: 767px) {
  .cs_pricing_card_1 {
    padding: 16px 12px;
  }
}

.cs_billing_toggle {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 6px 6px 8px;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  box-shadow: 0px 2px 8px 0px color-mix(in srgb, var(--primary-color) 6%, transparent);
}
.cs_billing_toggle .cs_billing_option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 20px;
  border-radius: 8px;
  background-color: transparent;
  transition: all 0.3s ease;
}
.cs_billing_toggle .cs_billing_option.active {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_billing_toggle .cs_billing_save {
  padding: 3px 5px;
  border-radius: 4px;
  color: var(--success-color);
  background-color: var(--success-soft-color);
}
@media (max-width: 480px) {
  .cs_billing_toggle .cs_billing_option {
    padding: 8px 14px;
  }
}

/*===================================================
  Preloader
=====================================================*/
.cs_preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--black-color);
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.cs_preloader.cs_loaded {
  opacity: 0;
  visibility: hidden;
}
.cs_preloader .cs_preloader_in {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.cs_preloader .cs_preloader_spinner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
}
.cs_preloader .cs_preloader_spinner img {
  width: 42px;
}
.cs_preloader .cs_preloader_spinner::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 3px solid color-mix(in srgb, var(--primary-color) 20%, transparent);
  border-top-color: var(--primary-color);
  border-radius: 50%;
  animation: cs_preloader_spin 0.8s linear infinite;
}
@media (max-width: 575px) {
  .cs_preloader .cs_preloader_spinner {
    width: 78px;
    height: 78px;
  }
  .cs_preloader .cs_preloader_spinner img {
    width: 34px;
  }
}
.cs_preloader .cs_preloader_text {
  letter-spacing: 0.02em;
}

/*===================================================
 Progress Bar
=====================================================*/
.cs_progress {
  display: block;
  overflow: hidden;
  height: 10px;
  background-color: var(--gray3-color);
}

.cs_progress_in {
  display: block;
  width: 0;
  height: 100%;
  background-color: var(--cs-bar-color, var(--primary-color));
}

/*===================================================
  Animations
=====================================================*/
@keyframes bubbleUp {
  50% {
    transform: translateY(4px);
  }
}
@keyframes halfRotation {
  50% {
    transform: rotate(360deg);
  }
}
@keyframes zoomFocus {
  50% {
    transform: scale(1.15);
  }
}
@property --cs-pie-progress {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 25%;
}
@keyframes cs_pie_sweep {
  to {
    --cs-pie-progress: 125%;
  }
}
@keyframes cs_preloader_spin {
  to {
    transform: rotate(360deg);
  }
}
/*====================================================
 13. Hero
======================================================*/
.cs_hero_style_1 {
  height: 100vh;
  max-height: 1080px;
  padding-top: 100px;
}
.cs_hero_style_1 .container-fluid {
  height: 100%;
}
.cs_hero_style_1 .cs_hero_content {
  height: 100%;
  padding: 120px 0;
}
.cs_hero_style_1 .cs_hero_text {
  width: min(65%, 905px);
  margin: 0 auto;
  position: relative;
  z-index: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cs_hero_style_1 .cs_hero_pill {
  display: inline-block;
  padding: 5px 16px;
  border-radius: 50px;
  margin-bottom: 13px;
  background-color: rgba(108, 92, 231, 0.1);
}
.cs_hero_style_1 .cs_hero_title {
  color: var(--black-color);
  margin-bottom: 16px;
}
.cs_hero_style_1 .cs_hero_title span {
  color: var(--primary-color);
}
.cs_hero_style_1 .cs_hero_subtitle {
  max-width: 680px;
  margin-bottom: 32px;
}
.cs_hero_style_1 .cs_hero_btns {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  align-items: center;
  justify-content: center;
  margin-bottom: 64px;
}
.cs_hero_style_1 .cs_hero_features {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.cs_hero_style_1 .cs_hero_features li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  border-radius: 50px;
  font-size: 14px;
  background-color: rgba(255, 255, 255, 0.5);
}
.cs_hero_style_1 .cs_hero_features li i {
  color: var(--primary-color);
}
.cs_hero_style_1 .cs_hero_shape {
  position: absolute;
}
.cs_hero_style_1 .cs_hero_shape img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_hero_style_1 .cs_hero_shape_1 {
  left: 0;
  top: 25%;
  width: 100%;
  padding-right: 82%;
  pointer-events: none;
}
.cs_hero_style_1 .cs_hero_shape_2 {
  left: 0;
  bottom: 100px;
  width: 100%;
  padding: 5% 76% 0 5%;
  pointer-events: none;
}
.cs_hero_style_1 .cs_hero_shape_2 img {
  box-shadow: 0 24px 60px rgba(20, 23, 26, 0.12);
}
.cs_hero_style_1 .cs_hero_shape_3 {
  right: 0;
  top: 35%;
  width: 100%;
  padding-left: 86%;
  pointer-events: none;
}
.cs_hero_style_1 .cs_hero_shape_4 {
  right: 0;
  bottom: 20px;
  width: 100%;
  padding: 10% 5% 0 75%;
}
.cs_hero_style_1 .cs_hero_card {
  position: absolute;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 15px 30px;
  border-radius: 50px;
  background-color: var(--white-color);
  box-shadow: 0 20px 50px rgba(20, 23, 26, 0.12);
}
.cs_hero_style_1 .cs_hero_card_icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
}
.cs_hero_style_1 .cs_hero_card_icon img {
  width: 100%;
  height: 100%;
}
.cs_hero_style_1 .cs_hero_card_left {
  left: 20%;
  bottom: 140px;
  animation: slideHorizontally 16s linear infinite;
  background: linear-gradient(90deg, var(--white-color), var(--gray7-color));
}
.cs_hero_style_1 .cs_hero_card_right {
  right: 3%;
  bottom: 150px;
}
.cs_hero_style_1 {
  /*=====================================
    Responsive tweaks
  =======================================*/
}
@media (max-width: 1399px) {
  .cs_hero_style_1 {
    height: auto;
    max-height: -moz-min-content;
    max-height: min-content;
  }
  .cs_hero_style_1 .cs_hero_content {
    padding: 60px 0 120px;
  }
  .cs_hero_style_1 .cs_hero_shape_2 {
    padding: 5% 78% 0 3%;
  }
}
@media (max-width: 1199px) {
  .cs_hero_style_1 .cs_hero_content {
    padding: 80px 0;
  }
  .cs_hero_style_1 .cs_hero_text {
    width: 100%;
  }
  .cs_hero_style_1 .cs_hero_shapes {
    display: none;
  }
}
@media (max-width: 991px) {
  .cs_hero_style_1 {
    padding-top: 70px;
  }
}
@media (max-width: 767px) {
  .cs_hero_style_1 .cs_hero_content {
    padding: 40px 0 50px;
  }
  .cs_hero_style_1 .cs_hero_btns {
    gap: 12px 8px;
    margin-bottom: 24px;
  }
  .cs_hero_style_1 .cs_hero_features li {
    background-color: var(--gray3-color);
  }
}
@media (max-width: 374px) {
  .cs_hero_style_1 .cs_hero_btns {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .cs_hero_style_1 .cs_primary_btn,
  .cs_hero_style_1 .cs_text_btn {
    width: 100%;
    justify-content: center;
  }
  .cs_hero_style_1 .cs_text_btn {
    border-radius: 5px;
    background-color: var(--gray3-color);
  }
}

@keyframes slideHorizontally {
  50% {
    transform: translateX(-80%);
  }
}
/*===================================================
 Hero Style 2 — Live Class
=====================================================*/
.cs_hero_style_2 {
  width: 100%;
  height: 100vh;
  max-height: 1080px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-top: 100px;
}
.cs_hero_style_2 .cs_hero_content {
  height: calc(100vh - 100px);
  max-height: 100%;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}
.cs_hero_style_2 .cs_hero_text_wrap {
  width: min(60%, 590px);
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
}
.cs_hero_style_2 .cs_hero_text {
  width: min(100%, 590px);
  height: 100%;
  max-height: 550px;
  display: grid;
  gap: 30px;
}
.cs_hero_style_2 .cs_hero_pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  margin-bottom: 8px;
  border-radius: 50px;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_hero_style_2 .cs_hero_pill i {
  font-size: 16px;
  line-height: 1em;
}
.cs_hero_style_2 .cs_hero_title {
  margin-bottom: 8px;
  font-size: clamp(34px, 5vw, 64px);
}
.cs_hero_style_2 .cs_hero_title span {
  color: var(--primary-color);
}
.cs_hero_style_2 .cs_hero_subtitle {
  margin-bottom: 32px;
}
.cs_hero_style_2 .cs_hero_btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.cs_hero_style_2 .cs_hero_stats {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
}
.cs_hero_style_2 .cs_hero_stat {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_hero_style_2 .cs_hero_stat_icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_hero_style_2 .cs_hero_stat_icon img {
  width: 24px;
  height: 24px;
  border-radius: 0;
}
.cs_hero_style_2 .cs_hero_stat_text {
  display: flex;
  flex-direction: column;
}
.cs_hero_style_2 {
  /*=====================================
    Media stage 
  =======================================*/
}
.cs_hero_style_2 .cs_hero_media {
  width: min(50%, 797px);
  position: relative;
  z-index: 1;
  padding: 7% 0 7% 124px;
  height: calc(100vh - 100px);
  max-height: 100%;
}
.cs_hero_style_2 .cs_hero_instructor {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  height: 100%;
  padding: 0 36%;
  display: flex;
  align-items: end;
  justify-content: center;
  transform: translateX(-50%);
}
.cs_hero_style_2 .cs_hero_live_card {
  width: min(100%, 674px);
  padding: 32px 32px 24px;
  position: relative;
  margin-left: auto;
  background-color: var(--white-color);
  box-shadow: 0 20px 50px color-mix(in srgb, var(--black-color) 8%, transparent);
}
.cs_hero_style_2 .cs_hero_live_thumb {
  position: relative;
  overflow: hidden;
}
.cs_hero_style_2 .cs_hero_live_thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_hero_style_2 .cs_hero_live_thumb video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_hero_style_2 .cs_hero_live_thumb video.cs_video_missing {
  display: none;
}
.cs_hero_style_2 .cs_hero_live_thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(180deg, color-mix(in srgb, var(--black-color) 0%, transparent) 80%, color-mix(in srgb, var(--black-color) 90%, transparent) 100%);
}
.cs_hero_style_2 .cs_hero_live_badge {
  position: absolute;
  z-index: 2;
  left: 2.62%;
  top: 2.62%;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  border-radius: 50px;
  background-color: color-mix(in srgb, var(--black-color) 50%, transparent);
}
.cs_hero_style_2 .cs_hero_live_badge img {
  width: 15px;
  height: 15px;
}
.cs_hero_style_2 .cs_hero_live_title {
  position: absolute;
  z-index: 2;
  left: 3.93%;
  right: 3.93%;
  bottom: 4%;
  margin-bottom: 0;
}
.cs_hero_style_2 .cs_hero_live_controls {
  display: flex;
  justify-content: center;
  gap: 1.315%;
  margin-top: 3.93%;
}
.cs_hero_style_2 .cs_hero_live_controls button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  font-size: 16;
  line-height: 1;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
  transition: all 0.3s ease;
}
.cs_hero_style_2 .cs_hero_live_controls button:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_hero_style_2 .cs_hero_live_controls .cs_hero_control_end {
  color: var(--white-color);
  background-color: var(--error-color);
}
.cs_hero_style_2 .cs_hero_live_controls .cs_hero_control_end:hover {
  background-color: color-mix(in srgb, var(--error-color) 85%, var(--black-color));
}
.cs_hero_style_2 .cs_hero_brand {
  position: absolute;
  z-index: 3;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-color: var(--white-color);
  box-shadow: 0 20px 50px color-mix(in srgb, var(--black-color) 10%, transparent);
}
.cs_hero_style_2 .cs_hero_brand img {
  width: 50%;
  height: 50%;
  border-radius: 0;
}
.cs_hero_style_2 .cs_hero_brand_1 {
  top: -40px;
  right: 24px;
}
.cs_hero_style_2 .cs_hero_brand_2 {
  left: -124px;
  top: 20%;
}
.cs_hero_style_2 .cs_hero_brand_3 {
  left: 15%;
  bottom: -124px;
}
.cs_hero_style_2 .cs_hero_card {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: -60px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 15px 30px;
  white-space: nowrap;
  border-radius: 50px;
  transform: rotate(-10deg);
  background-image: linear-gradient(90deg, var(--white-color), var(--gray3-color));
  box-shadow: 0 20px 50px color-mix(in srgb, var(--black-color) 10%, transparent);
}
.cs_hero_style_2 .cs_hero_card_icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
}
.cs_hero_style_2 .cs_hero_card_icon img {
  width: 100%;
  height: 100%;
}
.cs_hero_style_2 {
  /*=====================================
    Responsive tweaks
  =======================================*/
}
@media (max-width: 1700px) {
  .cs_hero_style_2 .cs_hero_instructor {
    padding: 0 32%;
  }
}
@media (max-width: 1600px) {
  .cs_hero_style_2 .cs_hero_instructor {
    padding: 0 34%;
  }
}
@media (max-width: 1500px) {
  .cs_hero_style_2 .cs_hero_instructor {
    padding: 0 32.3%;
  }
}
@media (max-width: 1399px) {
  .cs_hero_style_2 {
    height: auto;
    padding: 70px 0 80px;
  }
  .cs_hero_style_2 .cs_hero_text {
    height: auto;
    max-height: -moz-max-content;
    max-height: max-content;
  }
  .cs_hero_style_2 .cs_hero_instructor {
    padding: 0 34.5%;
  }
  .cs_hero_style_2 .cs_hero_content,
  .cs_hero_style_2 .cs_hero_media {
    height: auto;
  }
  .cs_hero_style_2 .cs_hero_live_card {
    padding: 16px 16px 24px;
  }
  .cs_hero_style_2 .cs_hero_brand {
    width: 80px;
    height: 80px;
  }
  .cs_hero_style_2 .cs_hero_brand_2 {
    left: -30px;
    top: 25%;
  }
  .cs_hero_style_2 .cs_hero_brand_3 {
    left: -16px;
    bottom: -24px;
  }
  .cs_hero_style_2 .cs_hero_card {
    bottom: -70px;
  }
}
@media (max-width: 1199px) {
  .cs_hero_style_2 {
    max-height: -moz-min-content;
    max-height: min-content;
    padding: 120px 0 100px;
  }
  .cs_hero_style_2 .cs_hero_media {
    padding: 0;
  }
  .cs_hero_style_2 .cs_hero_card {
    bottom: initial;
    top: calc(100% - 10px);
    transform: rotate(0);
  }
  .cs_hero_style_2 .cs_hero_brand_2,
  .cs_hero_style_2 .cs_hero_brand_3 {
    display: none;
  }
}
@media (max-width: 991px) {
  .cs_hero_style_2 .cs_hero_content {
    gap: 40px;
    flex-direction: column;
    align-items: center;
  }
  .cs_hero_style_2 .cs_hero_text_wrap,
  .cs_hero_style_2 .cs_hero_text,
  .cs_hero_style_2 .cs_hero_heading,
  .cs_hero_style_2 .cs_hero_live_card {
    width: 100%;
  }
  .cs_hero_style_2 .cs_hero_text_wrap {
    display: flex;
    justify-content: center;
  }
  .cs_hero_style_2 .cs_hero_text,
  .cs_hero_style_2 .cs_hero_heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .cs_hero_style_2 .cs_hero_text {
    gap: 24px;
    max-width: 600px;
  }
  .cs_hero_style_2 .cs_hero_title,
  .cs_hero_style_2 .cs_hero_subtitle {
    text-align: center;
  }
  .cs_hero_style_2 .cs_hero_subtitle {
    margin-bottom: 24px;
  }
  .cs_hero_style_2 .cs_hero_btns {
    justify-content: center;
  }
  .cs_hero_style_2 .cs_hero_instructor {
    display: none;
  }
  .cs_hero_style_2 .cs_hero_media {
    width: 100%;
    padding: 0;
  }
  .cs_hero_style_2 .cs_hero_live_card {
    padding: 16px;
  }
  .cs_hero_style_2 .cs_hero_brand {
    width: 60px;
    height: 60px;
  }
  .cs_hero_style_2 .cs_hero_brand_2 {
    left: -30px;
    top: 25%;
  }
  .cs_hero_style_2 .cs_hero_brand_3 {
    left: -16px;
    bottom: -24px;
  }
  .cs_hero_style_2 .cs_hero_card {
    bottom: -70px;
  }
}
@media (max-width: 575px) {
  .cs_hero_style_2 .cs_hero_live_controls button {
    width: 32px;
    height: 32px;
    font-size: 12px;
  }
}

/*===================================================
 Page Header
=====================================================*/
.cs_page_header {
  display: flex;
  align-items: center;
  min-height: 400px;
  padding: 80px 0 0;
}
.cs_page_header .cs_page_header_title {
  margin-bottom: 8px;
}
.cs_page_header .cs_breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px 12px;
  color: var(--secondary-color);
}
.cs_page_header .cs_breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.cs_page_header .cs_breadcrumb li + li::before {
  content: "/";
}
.cs_page_header .cs_breadcrumb a:hover {
  color: var(--primary-color);
}
@media (max-width: 991px) {
  .cs_page_header {
    min-height: auto;
    padding: 120px 0 70px;
  }
}

/*====================================================
 14. About
======================================================*/
/*=========================================================
 About Info - Media Collage
===========================================================*/
.cs_about_collage {
  position: relative;
  width: min(100%, 536px);
  padding: 36px 0 50px 21%;
}
.cs_about_collage .cs_about_shape,
.cs_about_collage .cs_about_experience {
  position: absolute;
}
.cs_about_collage img {
  display: block;
  width: 100%;
  height: 100%;
}
.cs_about_collage .cs_about_thumb img {
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_about_collage .cs_about_thumb_1 {
  position: relative;
  z-index: 1;
}
.cs_about_collage .cs_about_thumb_1::before {
  content: "";
  width: 40px;
  height: 40px;
  position: absolute;
  left: -3px;
  bottom: -3px;
  z-index: 2;
  border-radius: 0 120px 0 0;
  background-color: var(--accent-color);
  border-left: 3px solid var(--white-color);
  border-bottom: 3px solid var(--white-color);
}
.cs_about_collage .cs_about_thumb_1 .cs_about_shape_2 {
  bottom: -43px;
  left: -43px;
  z-index: 1;
  overflow: hidden;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: var(--primary-color);
}
.cs_about_collage .cs_about_thumb_1 .cs_about_shape_2::before {
  --cs-pie-progress: 25%;
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-image: conic-gradient(from 0deg, var(--accent-color) 0 var(--cs-pie-progress), var(--primary-color) var(--cs-pie-progress) 100%);
  animation: cs_pie_sweep 5s linear infinite;
}
.cs_about_collage .cs_about_thumb_2 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  padding-right: 58%;
}
.cs_about_collage .cs_about_shape_1 {
  top: 0;
  right: 0;
  z-index: 0;
}
.cs_about_collage .cs_about_shape_4 {
  top: -30px;
  left: -10px;
  z-index: 5;
}
.cs_about_collage .cs_about_shape_5 {
  top: 5px;
  right: 5px;
  z-index: 5;
}
.cs_about_collage .cs_about_experience {
  right: 24px;
  bottom: 0;
  z-index: 4;
  padding: 20px 15px;
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
}
.cs_about_collage.cs_type_1 {
  padding: 36px 0 58px 40px;
}
.cs_about_collage.cs_type_1 .cs_about_experience {
  right: initial;
  bottom: initial;
  top: 24px;
  left: 0;
}
.cs_about_collage.cs_type_1 .cs_about_thumb_2 {
  top: initial;
  left: initial;
  right: 24px;
  bottom: 0;
  padding-right: 0;
  padding-left: 58%;
}
@media (max-width: 991px) {
  .cs_about_collage {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .cs_about_collage .cs_about_experience {
    width: 42%;
    height: 26%;
  }
  .cs_about_collage .cs_about_experience h3 {
    font-size: 24px;
  }
  .cs_about_collage .cs_about_experience span {
    font-size: 12px;
  }
  .cs_about_collage .cs_about_shape_4 {
    left: 62%;
  }
  .cs_about_collage .cs_about_shape_5 {
    left: 80%;
  }
}

@media (min-width: 992px) {
  .cs_live_class_section .cs_courses_grid_2 {
    padding-top: 64px;
  }
  .cs_live_class_section .cs_live_class_intro {
    position: sticky;
    top: 100px;
  }
}
/*=========================================================
 About Info - Content
===========================================================*/
.cs_about_content {
  width: min(100%, 648px);
  margin-left: auto;
}
.cs_about_content .cs_about_title {
  margin-bottom: 8px;
}
.cs_about_content .cs_about_intro {
  margin-bottom: 24px;
}
.cs_about_content .cs_section_pill {
  display: inline-flex;
  padding: 5px 10px;
  margin-bottom: 16px;
  border-radius: 50px;
  background-image: linear-gradient(-65.32deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_about_content .cs_about_text {
  margin-bottom: 24px;
}
.cs_about_content .cs_about_text p + p {
  margin-top: 10px;
}
@media (max-width: 991px) {
  .cs_about_content .cs_grid_col_3 {
    gap: 12px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 575px) {
  .cs_about_content .cs_grid_col_3 {
    grid-template-columns: 1fr 1fr;
  }
  .cs_about_content .cs_grid_col_3 .cs_about_stat:last-child {
    grid-column: 1/-1;
  }
}

.cs_about_stat {
  display: flex;
  align-items: center;
  padding: 20px;
  background-image: linear-gradient(-65.32deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
@media (max-width: 991px) {
  .cs_about_stat {
    padding: 16px;
  }
}

/*=========================================================
 Core Feature Panel
===========================================================*/
.cs_core_feature_section {
  position: relative;
  z-index: 1;
}

.cs_core_feature_panel {
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding: 64px 112px;
  background-color: var(--primary-color);
  background-image: linear-gradient(180deg, var(--primary-color) 0%, color-mix(in srgb, var(--accent-color) 90%, transparent) 50%);
}
.cs_core_feature_panel .cs_iconbox_style_2 {
  width: 100%;
}
.cs_core_feature_panel .cs_iconbox_style_2 .cs_iconbox_icon {
  padding: 13px;
  background-color: var(--white-color);
}
.cs_core_feature_panel .cs_iconbox_style_2 .cs_iconbox_subtitle {
  color: var(--gray3-color);
}
@media (max-width: 1399px) {
  .cs_core_feature_panel {
    padding: 64px 60px;
  }
}
@media (max-width: 1199px) {
  .cs_core_feature_panel {
    padding: 50px 24px;
  }
}
@media (max-width: 991px) {
  .cs_core_feature_panel {
    padding: 40px 24px;
  }
}
@media (max-width: 767px) {
  .cs_core_feature_panel .cs_grid_col_3 {
    gap: 24px;
    grid-template-columns: repeat(1, 1fr);
  }
}
@media (max-width: 575px) {
  .cs_core_feature_panel {
    padding: 32px 16px;
  }
}

/*=========================================================
 Why Choose Us
===========================================================*/
.cs_why_choose_section {
  position: relative;
  z-index: 0;
}
.cs_why_choose_section::before {
  content: "";
  position: absolute;
  top: -203px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-image: linear-gradient(-69.63deg, var(--about-tile-start-color) 0%, var(--about-tile-end-color) 100%);
}
.cs_why_choose_section .cs_section_heading_style_1 {
  margin-bottom: 24px;
}
@media (max-width: 991px) {
  .cs_why_choose_section::before {
    top: -120px;
  }
}

.cs_why_card_wrap {
  display: grid;
  gap: 16px 14px;
  grid-template-columns: repeat(2, 1fr);
}
.cs_why_card_wrap .cs_why_card {
  width: 100%;
  padding: 24px;
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
}
.cs_why_card_wrap .cs_why_card .cs_why_card_title {
  margin-bottom: 8px;
}
@media (max-width: 1199px) {
  .cs_why_card_wrap .cs_why_card {
    padding: 16px 12px 20px;
  }
}
@media (max-width: 480px) {
  .cs_why_card_wrap {
    grid-template-columns: 1fr;
  }
}

/*=====================================================
 Live Mentorship Card
=====================================================*/
.cs_why_mentorship .cs_why_card_text {
  margin-bottom: 16px;
}
.cs_why_mentorship .cs_benefit_heading {
  margin-bottom: 8px;
}
.cs_why_mentorship .cs_benefit_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.cs_why_mentorship .cs_benefit_list > li {
  border-radius: 50px;
  position: relative;
  padding: 5px 10px 5px 36px;
  border: 1px solid var(--primary-color);
}
.cs_why_mentorship .cs_benefit_list > li > i {
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
  position: absolute;
  left: 10px;
  top: 8px;
}
.cs_why_mentorship .cs_why_mentorship_thumb {
  display: block;
  overflow: hidden;
  aspect-ratio: 600/220;
}
.cs_why_mentorship .cs_why_mentorship_thumb > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.cs_why_mentorship .cs_why_mentorship_thumb:hover > img {
  transform: scale(1.05);
}

/*=========================================================
 What's Included In The Live Course
===========================================================*/
.cs_why_included {
  margin-top: 32px;
}
.cs_why_included .cs_why_included_title {
  margin-bottom: 30px;
  line-height: 1.25em;
}
.cs_why_included .cs_why_included_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 8px;
}
.cs_why_included .cs_why_included_list > li {
  position: relative;
  padding-left: 32px;
}
.cs_why_included .cs_why_included_list img {
  height: 16px;
  width: 16px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media (max-width: 991px) {
  .cs_why_included {
    margin-top: 24px;
  }
  .cs_why_included .cs_why_included_title {
    margin-bottom: 16px;
  }
}
@media (max-width: 575px) {
  .cs_why_included .cs_why_included_list {
    grid-template-columns: 1fr;
  }
}

/*=====================================================
 Stat Cards
=====================================================*/
.cs_why_stat {
  display: flex;
  gap: 24px;
  align-items: center;
  margin-top: 16px;
}
.cs_why_stat .cs_why_stat_icon {
  flex-shrink: 0;
  width: 75px;
  height: 75px;
  padding: 13px;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_why_stat .cs_why_stat_icon > img {
  width: 100%;
  height: 100%;
}
.cs_why_stat:hover .cs_why_stat_icon > img {
  animation: bubbleUp 0.6s cubic-bezier(0.47, 0.25, 0.25, 0.75);
}
@media (max-width: 1199px) {
  .cs_why_stat {
    gap: 16px;
  }
  .cs_why_stat .cs_why_stat_icon {
    width: 64px;
    height: 64px;
    padding: 10px;
  }
}

/*=====================================================
 Learn Anywhere Card
=====================================================*/
.cs_why_learn {
  padding: 24px;
  overflow: hidden;
  padding-bottom: 0;
  border: 1px solid var(--border-color);
}
.cs_why_learn .cs_learn_art {
  position: relative;
  margin: 16px -24px 0;
  aspect-ratio: 650/301;
}
.cs_why_learn .cs_learn_art > span {
  position: absolute;
}
.cs_why_learn .cs_learn_art img {
  display: block;
  width: 100%;
}
.cs_why_learn .cs_learn_art .cs_learn_art_path {
  top: 9.73%;
  left: 10.26%;
  width: 77.5%;
}
.cs_why_learn .cs_learn_art .cs_learn_art_arrow {
  top: 75.63%;
  left: 76.34%;
  width: 0.95%;
}
.cs_why_learn .cs_learn_art .cs_learn_art_main {
  top: 17.34%;
  left: 26.85%;
  width: 38.73%;
}
.cs_why_learn .cs_learn_art .cs_learn_art_device_1 {
  top: 24.15%;
  left: 18.28%;
  width: 13.57%;
}
.cs_why_learn .cs_learn_art .cs_learn_art_device_2 {
  top: 16.29%;
  left: 75.62%;
  width: 10.09%;
}
.cs_why_learn .cs_learn_art .cs_learn_art_device_3 {
  top: 68%;
  left: 15%;
  width: 60px;
}
.cs_why_learn .cs_learn_art .cs_learn_art_device_4 {
  top: 0;
  left: 43%;
  width: 8.9%;
}
.cs_why_learn .cs_learn_art .cs_learn_art_device_5 {
  top: 65.3%;
  left: 86.4%;
  width: 12.46%;
}
@media (max-width: 1199px) {
  .cs_why_learn .cs_learn_art {
    margin: 16px -20px 0;
  }
}
@media (max-width: 767px) {
  .cs_why_learn .cs_learn_art {
    margin: 16px -16px 0;
  }
}
@media (max-width: 1199px) {
  .cs_why_learn {
    padding: 16px 12px 0;
  }
  .cs_why_learn .cs_learn_art {
    margin: 16px -12px 0;
  }
}

/*=====================================================
 Become Part Of Our Story
=====================================================*/
.cs_about_cta {
  margin-top: 40px;
}
.cs_about_cta .cs_cta_text {
  margin-bottom: 32px;
}
@media (max-width: 991px) {
  .cs_about_cta {
    margin-top: 32px;
  }
}

/*=========================================================
 Terms of Service
===========================================================*/
.cs_terms_section .cs_section_pill {
  margin-bottom: 16px;
}
.cs_terms_section .cs_section_pill img {
  width: 16px;
  height: 16px;
}
.cs_terms_section h2 {
  margin-bottom: 8px;
}
.cs_terms_section p {
  margin-bottom: 8px;
}
.cs_terms_section p:last-child {
  margin-bottom: 0;
}
.cs_terms_section a {
  color: var(--primary-color);
  transition: color 0.3s ease;
}
.cs_terms_section a:hover {
  color: var(--accent-color);
  text-decoration: underline;
}
.cs_terms_section .cs_terms_block,
.cs_terms_section .cs_terms_grid {
  margin-bottom: 32px;
}
.cs_terms_section .cs_terms_block:last-child,
.cs_terms_section .cs_terms_grid:last-child {
  margin-bottom: 0;
}
.cs_terms_section .cs_terms_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, 1fr);
}
.cs_terms_section .cs_terms_card {
  padding: 24px;
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
}
.cs_terms_section .cs_terms_card > *:last-child {
  margin-bottom: 0;
}
.cs_terms_section .cs_terms_list {
  margin-bottom: 16px;
  padding-left: 24px;
  list-style: disc outside none;
}
.cs_terms_section .cs_terms_list li + li {
  margin-top: 10px;
}
.cs_terms_section .cs_terms_label {
  font-family: var(--primary-font);
  font-size: 20px;
  font-weight: 600;
  line-height: 24px;
  color: var(--black-color);
}
.cs_terms_section .cs_terms_note {
  margin-top: 16px;
  padding: 16px;
  background-image: linear-gradient(180deg, var(--gray9-color) 0%, var(--gray6-color) 100%);
}
.cs_terms_section .cs_terms_note p:last-child {
  margin-bottom: 0;
}
.cs_terms_section .cs_terms_note a {
  color: var(--info-color);
}
.cs_terms_section .cs_terms_note a:hover {
  color: var(--primary-color);
}
.cs_terms_section .cs_terms_note_warm {
  background-image: none;
  background-color: var(--gray4-color);
}
.cs_terms_section .cs_terms_contact a {
  color: inherit;
}
.cs_terms_section .cs_terms_contact a:hover {
  color: var(--primary-color);
}
@media (max-width: 991px) {
  .cs_terms_section .cs_terms_grid {
    gap: 16px;
    grid-template-columns: 1fr;
  }
  .cs_terms_section .cs_terms_card {
    padding: 16px 15px 24px;
  }
}

/*=========================================================
 Privacy Policy
===========================================================*/
.cs_privacy_policy_section .cs_section_pill {
  margin-bottom: 16px;
}
.cs_privacy_policy_section .cs_section_pill img {
  width: 16px;
  height: 16px;
}
.cs_privacy_policy_section h2 {
  margin-bottom: 8px;
}
.cs_privacy_policy_section p {
  margin-bottom: 10px;
}
.cs_privacy_policy_section p:last-child {
  margin-bottom: 0;
}
.cs_privacy_policy_section a {
  color: var(--primary-color);
}
.cs_privacy_policy_section a:hover {
  color: var(--accent-color);
  text-decoration: underline;
}
.cs_privacy_policy_section .cs_privacy_block {
  margin-bottom: 32px;
}
.cs_privacy_policy_section .cs_privacy_block > *:last-child {
  margin-bottom: 0;
}
.cs_privacy_policy_section .cs_privacy_block:last-child {
  margin-bottom: 0;
}
.cs_privacy_policy_section .cs_privacy_intro {
  margin-bottom: 16px;
}
.cs_privacy_policy_section .cs_privacy_label {
  font-weight: 600;
  line-height: 1.2em;
  color: var(--black-color);
  font-family: var(--primary-font);
  font-size: clamp(17px, 2.1vw, 20px);
}

/*====================================================
 15. Team
======================================================*/
/*===================================================
 Instructor Style 1
=====================================================*/
.cs_instructor_style_1 {
  width: 100%;
  height: 100%;
  text-align: center;
  padding: 16px;
  position: relative;
  border: 1px solid var(--border-color);
  transition: box-shadow 0.3s ease;
}
.cs_instructor_style_1 .cs_instructor_thumbnail {
  display: block;
  position: relative;
  overflow: hidden;
  margin-bottom: 17px;
}
.cs_instructor_style_1 .cs_instructor_thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s cubic-bezier(0.44, 0.35, 0.55, 0.65);
}
.cs_instructor_style_1 .cs_instructor_social {
  position: absolute;
  left: 0;
  bottom: 16px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 10px 20px;
  background-color: var(--primary-color);
  border-radius: 0 50px 50px 0;
  transform: translateX(-100%);
  transition: transform 0.4s cubic-bezier(0.2, 0.3, 0.36, 0.65);
}
.cs_instructor_style_1 .cs_instructor_social a {
  display: inline-block;
  line-height: 1;
  color: var(--white-color);
  opacity: 0.5;
  transition: opacity 0.3s ease-in;
}
.cs_instructor_style_1 .cs_instructor_social a:hover {
  opacity: 1;
}
.cs_instructor_style_1 .cs_instructor_body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.cs_instructor_style_1 .cs_instructor_name {
  margin-bottom: 0;
}
.cs_instructor_style_1 .cs_instructor_name a {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 1px;
  transition: color 0.3s ease, background-size 0.4s ease;
}
.cs_instructor_style_1 .cs_instructor_name a:hover {
  color: var(--accent-color);
  background-size: 100% 1px;
}
.cs_instructor_style_1 .cs_instructor_designation {
  display: inline-block;
  color: var(--primary-color);
  padding: 6px 16px;
  border-radius: 50px;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_instructor_style_1 .cs_instructor_stats {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.cs_instructor_style_1 .cs_instructor_stats li {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cs_instructor_style_1 .cs_instructor_stats li + li {
  border-left: 1px solid var(--border-color);
}
.cs_instructor_style_1 .cs_instructor_stats .cs_stat_value {
  color: var(--primary-color);
  line-height: 1.2;
}
.cs_instructor_style_1:hover {
  box-shadow: 0 18px 40px rgba(108, 92, 231, 0.18);
}
.cs_instructor_style_1:hover .cs_instructor_thumbnail img {
  transform: scale(1.03);
}
.cs_instructor_style_1:hover .cs_instructor_social {
  transform: translateY(0);
}
@media (max-width: 1199px) {
  .cs_instructor_style_1 {
    padding: 12px 12px 16px;
  }
}

/*===================================================
 Join Banner Style 1
=====================================================*/
.cs_join_banner_1 {
  position: relative;
  z-index: 0;
  height: 100%;
  padding: 37px 32px 32px;
  overflow: hidden;
}
.cs_join_banner_1.cs_type_1 {
  background: linear-gradient(258deg, #4512a3 0%, #1f2368 100%);
}
.cs_join_banner_1 {
  /* Decorative disc behind the person */
}
.cs_join_banner_1 .cs_join_shape {
  position: absolute;
  z-index: 0;
  right: -10.5%;
  bottom: -20%;
  width: clamp(150px, 45%, 290px);
  aspect-ratio: 1;
  border-radius: 100%;
  pointer-events: none;
}
.cs_join_banner_1 .cs_join_person {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  width: 100%;
  padding-left: 65.5%;
}
.cs_join_banner_1 .cs_join_content {
  position: relative;
  z-index: 3;
  width: min(100%, 392px);
}
.cs_join_banner_1 .cs_join_title {
  margin-bottom: 5px;
}
.cs_join_banner_1 .cs_join_subtitle {
  margin-bottom: 21px;
}
.cs_join_banner_1 .cs_join_features {
  width: 72%;
  display: flex;
  gap: 10px;
  flex-direction: column;
}
.cs_join_banner_1 .cs_join_features li {
  padding-left: 36px;
  color: var(--gray3-color);
  position: relative;
}
.cs_join_banner_1 .cs_join_features i {
  color: var(--success-color);
  position: absolute;
  left: 10px;
}
.cs_join_banner_1 .cs_join_btn {
  position: absolute;
  z-index: 4;
  right: 17%;
  bottom: 32px;
  line-height: 1em;
  color: var(--black-color);
  background-color: var(--white-color);
  font-family: var(--secondary-font);
}
.cs_join_banner_1 .cs_join_btn i {
  display: block;
  line-height: 1;
}
.cs_join_banner_1 .cs_join_btn:hover {
  color: var(--white-color);
  background-color: var(--accent-color);
}
@media (max-width: 1199px) {
  .cs_join_banner_1 {
    padding: 30px 20px 36px;
  }
  .cs_join_banner_1 .cs_join_features li {
    padding-left: 24px;
  }
  .cs_join_banner_1 .cs_join_features i {
    left: 0;
  }
  .cs_join_banner_1 .cs_join_btn {
    right: 15px;
    bottom: 20px;
  }
}
@media (max-width: 767px) {
  .cs_join_banner_1 {
    padding: 30px 15px 36px;
  }
  .cs_join_banner_1 .cs_join_features {
    width: 100%;
  }
  .cs_join_banner_1 .cs_join_shape {
    display: none;
  }
  .cs_join_banner_1 .cs_join_btn {
    position: static;
    width: -moz-max-content;
    width: max-content;
    margin-top: 24px;
  }
}

/*===================================================
 Instructor Details
=====================================================*/
.cs_instructor_details .cs_instructor_profile {
  margin-bottom: 64px;
}
.cs_instructor_details .cs_instructor_profile_media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_instructor_details .cs_instructor_profile_content {
  width: min(100%, 648px);
  height: 100%;
  margin-left: auto;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}
.cs_instructor_details .cs_instructor_designation {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 50px;
  background: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_instructor_details .cs_instructor_metrics {
  width: 100%;
  display: grid;
  gap: 16px;
  max-width: 600px;
  margin: 24px 0;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
}
.cs_instructor_details .cs_instructor_metrics li {
  display: flex;
  flex-direction: column;
  padding: 16px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--primary-color) 7%, transparent);
}
.cs_instructor_details .cs_instructor_follow {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_instructor_details .cs_instructor_follow strong {
  font-weight: 600;
  color: var(--black-color);
}
.cs_instructor_details .cs_social_btns_style_1 {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_instructor_details .cs_social_btns_style_1 a {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--black-color);
  background: var(--gray10-color);
}
.cs_instructor_details .cs_social_btns_style_1 a:hover {
  color: var(--white-color);
  background: var(--accent-color);
}
.cs_instructor_details .cs_instructor_about .cs_about_text {
  margin-bottom: 32px;
}
.cs_instructor_details .cs_instructor_about .cs_iconbox_style_2 {
  width: 100%;
}
@media (max-width: 991px) {
  .cs_instructor_details .cs_instructor_profile {
    margin-bottom: 50px;
  }
  .cs_instructor_details .cs_instructor_profile_content {
    width: 100%;
  }
  .cs_instructor_details .cs_social_btns_style_1 a {
    width: 40px;
    height: 40px;
  }
}
@media (max-width: 480px) {
  .cs_instructor_details .cs_instructor_metrics {
    gap: 10px;
    grid-template-columns: 1fr 1fr;
  }
  .cs_instructor_details .cs_instructor_metrics li:last-child {
    grid-column: 1/-1;
  }
}

.cs_instructor_cta {
  text-align: center;
}
.cs_instructor_cta .cs_instructor_cta_actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-bottom: 72px;
}
.cs_instructor_cta .cs_instructor_partners {
  text-align: left;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}

@media (max-width: 991px) {
  .cs_instructor_profile {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}
@media (max-width: 767px) {
  .cs_instructor_profile {
    grid-template-columns: 1fr;
  }
  .cs_instructor_profile .cs_instructor_profile_media {
    max-width: 520px;
  }
}
@media (max-width: 575px) {
  .cs_instructor_metrics {
    grid-template-columns: 1fr;
  }
  .cs_instructor_cta .cs_instructor_cta_actions {
    flex-direction: column;
    margin-bottom: 48px;
  }
}
/*====================================================
 16. Testimonial
======================================================*/
.cs_testimonial_section {
  background: linear-gradient(180deg, #f8f5fd 0%, #f6f7ff 100%);
}
.cs_testimonial_section.cs_white_bg {
  background: var(--white-color);
}

.cs_testimonial_heading {
  align-items: center;
}

.cs_testimonial_trust {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  border-radius: 50px;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_testimonial_trust .cs_rating {
  width: 84px;
}

/*===================================================
 Testimonial Layout
=====================================================*/
.cs_testimonial_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  align-items: start;
}
@media (max-width: 991px) {
  .cs_testimonial_wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/*===================================================
 Video Review (left column)
=====================================================*/
.cs_video_review {
  position: sticky;
  top: 100px;
}
@media (max-width: 991px) {
  .cs_video_review {
    position: static;
    top: auto;
  }
}
.cs_video_review .cs_video_review_media {
  position: relative;
  overflow: hidden;
}
.cs_video_review .cs_video_review_media img,
.cs_video_review .cs_video_review_media video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.4s cubic-bezier(0.44, 0.35, 0.55, 0.65);
}
.cs_video_review .cs_video_review_media:hover img, .cs_video_review .cs_video_review_media:hover video {
  transform: scale(1.04);
}
.cs_video_review .cs_video_review_footer {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.cs_video_review .cs_video_review_person {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cs_video_review .cs_avatar_name {
  margin-bottom: 5px;
}
.cs_video_review .cs_rating {
  width: 84px;
}

/*===================================================
 Review List (right column)
=====================================================*/
.cs_review_list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.cs_review_card {
  padding: 24px;
  border: 1px solid var(--border-color);
  background: linear-gradient(112.89deg, #ffffff 0%, #f6f7ff 100%);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.cs_review_card .cs_review_card_head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.cs_review_card .cs_review_avatar {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  overflow: hidden;
}
.cs_review_card .cs_review_avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.cs_review_card .cs_avatar_name {
  margin-bottom: 5px;
}
.cs_review_card .cs_rating {
  width: 84px;
}
.cs_review_card .cs_review_person {
  flex: 1;
  display: flex;
  gap: 10px 24px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.cs_review_card .cs_review_text {
  font-size: 20px;
  line-height: 1.5em;
}
@media (max-width: 767px) {
  .cs_review_card {
    padding: 16px 12px;
  }
  .cs_review_card .cs_review_text {
    font-size: 16px;
  }
}
@media (max-width: 575px) {
  .cs_review_card .cs_review_card_head {
    flex-wrap: wrap;
  }
  .cs_review_card .cs_review_person {
    gap: 6px 24px;
  }
  .cs_review_card .cs_avatar_name {
    margin-bottom: 0;
  }
  .cs_review_card .cs_review_avatar {
    width: 80px;
    height: 80px;
  }
}

.cs_testimonial_style_1 {
  height: 100%;
  padding: 24px;
  background-image: linear-gradient(-76.47deg, var(--gray6-color) 0%, var(--gray8-color) 100%);
  background-image: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_testimonial_style_1 .cs_testimonial_author {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
}
.cs_testimonial_style_1 .cs_testimonial_avatar {
  flex-shrink: 0;
  display: block;
  width: 75px;
  height: 75px;
}
.cs_testimonial_style_1 .cs_testimonial_avatar > img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_testimonial_style_1 .cs_rating {
  display: block;
  margin-bottom: 8px;
}
.cs_testimonial_style_1 .cs_testimonial_text {
  color: var(--black-color);
}
@media (max-width: 767px) {
  .cs_testimonial_style_1 {
    padding: 24px 15px;
  }
  .cs_testimonial_style_1 .cs_testimonial_avatar {
    width: 60px;
    height: 60px;
  }
}

.cs_testimonial_panel {
  background-color: var(--primary-color);
  background-image: linear-gradient(180deg, var(--primary-color) 0%, color-mix(in srgb, var(--accent-color) 90%, transparent) 50%);
  position: relative;
  overflow: hidden;
  padding: 88px 112px 0 88px;
}
.cs_testimonial_panel .cs_section_heading_style_2 .cs_section_label {
  background-color: var(--white-color);
}
.cs_testimonial_panel .cs_arrows_style_1 {
  gap: 10px;
  width: -moz-max-content;
  width: max-content;
  position: initial;
  pointer-events: all;
  transform: translate(0);
}
.cs_testimonial_panel .cs_arrows_style_1 .cs_demo_arrow {
  color: var(--white-color);
  border-color: var(--border-color);
  background-color: var(--primary-color);
}
.cs_testimonial_panel .cs_arrows_style_1 .cs_demo_arrow:hover {
  color: var(--primary-color);
  background-color: var(--white-color);
}
.cs_testimonial_panel .cs_testimonial_trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
  margin-top: 32px;
  padding: 0 0 50px;
}
.cs_testimonial_panel .cs_testimonial_trust > li {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid var(--accent-color);
  border-radius: 50px;
  background-color: color-mix(in srgb, var(--white-color) 10%, transparent);
}
.cs_testimonial_panel .cs_testimonial_trust > li > img {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
.cs_testimonial_panel .cs_testimonial_art {
  position: relative;
  margin-left: -8px;
  width: min(100%, 435px);
  aspect-ratio: 1/1;
}
.cs_testimonial_panel .cs_testimonial_art_outer,
.cs_testimonial_panel .cs_testimonial_art_inner,
.cs_testimonial_panel .cs_testimonial_art_img {
  position: absolute;
  bottom: 0;
}
.cs_testimonial_panel .cs_testimonial_art_img {
  left: 7%;
  width: 87%;
  height: 92%;
  overflow: hidden;
}
.cs_testimonial_panel .cs_testimonial_art_img > img {
  width: 100%;
}
.cs_testimonial_panel .cs_testimonial_art_outer {
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: var(--accent-color);
}
.cs_testimonial_panel .cs_testimonial_art_inner {
  left: 6%;
  width: 89%;
  height: 89%;
  border-radius: 50%;
  background: linear-gradient(180deg, #f59e0b 0%, #5141cc 74.52%);
}
@media (max-width: 1399px) {
  .cs_testimonial_panel {
    padding: 64px 40px 0 40px;
  }
}
@media (max-width: 1199px) {
  .cs_testimonial_panel .cs_testimonial_trust {
    margin-top: 24px;
  }
}
@media (max-width: 991px) {
  .cs_testimonial_panel {
    padding: 40px 20px 50px;
  }
  .cs_testimonial_panel .cs_testimonial_trust {
    padding: 0;
  }
  .cs_testimonial_panel .cs_testimonial_art {
    display: none;
  }
}

/*===================================================
 Testimonial CTA Banner
=====================================================*/
.cs_testimonial_cta {
  overflow: hidden;
  display: grid;
  padding: 32px;
  gap: 24px;
  grid-template-columns: 1fr 1.1fr;
  background-color: var(--primary-color);
  background-image: linear-gradient(90deg, var(--primary-color) 0%, var(--accent-color) 100%);
}
.cs_testimonial_cta .cs_testimonial_cta_text,
.cs_testimonial_cta .cs_testimonial_cta_stats {
  position: relative;
  z-index: 2;
}
.cs_testimonial_cta .cs_testimonial_cta_stats {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.cs_testimonial_cta .cs_testimonial_cta_stats > li {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1199px) {
  .cs_testimonial_cta {
    gap: 24px;
    padding: 24px;
  }
}
@media (max-width: 991px) {
  .cs_testimonial_cta {
    gap: 30px;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  .cs_testimonial_cta .cs_testimonial_cta_stats {
    display: grid;
    gap: 16px 24px;
    grid-template-columns: 1fr 1.3fr;
  }
}

/*===============================================
  17. Post
=================================================*/
/*===============================================
  Post Cards
=================================================*/
.cs_post_style_1 {
  position: relative;
  height: 100%;
  padding: 24px 24px 161px;
  border: 1px solid var(--border-color);
  box-shadow: 0px 2px 8px 0px color-mix(in srgb, var(--primary-color) 6%, transparent);
}
.cs_post_style_1 .cs_post_category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  padding: 5px 10px;
  border-radius: 50px;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_post_style_1 .cs_post_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin-bottom: 16px;
}
.cs_post_style_1 .cs_post_meta li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.cs_post_style_1 .cs_post_meta i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_post_style_1 .cs_post_avatar {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_post_style_1 .cs_post_avatar img {
  width: 30px;
}
.cs_post_style_1 .cs_post_title {
  margin-bottom: 8px;
}
.cs_post_style_1 .cs_post_title a:hover {
  color: var(--primary-color);
}
.cs_post_style_1 .cs_post_subtitle {
  margin-bottom: 32px;
}
.cs_post_style_1 .cs_primary_btn {
  display: inline-flex;
  position: relative;
  z-index: 2;
  padding: 13px 18px;
}
.cs_post_style_1 .cs_primary_btn .cs_btn_text {
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color 0.3s ease;
}
.cs_post_style_1 .cs_primary_btn:hover .cs_btn_text {
  text-decoration-color: var(--white-color);
}
.cs_post_style_1 .cs_post_thumbnail {
  display: block;
  position: absolute;
  right: 0;
  bottom: -87px;
  z-index: 2;
  overflow: hidden;
  width: 65.6%;
  aspect-ratio: 424/300;
  border-radius: 20px 0 20px 20px;
}
.cs_post_style_1 .cs_post_thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.cs_post_style_1 .cs_post_thumbnail:hover img {
  transform: scale(1.05);
}
.cs_post_style_1 .cs_post_shape {
  position: absolute;
  left: 24px;
  bottom: -22px;
  z-index: 0;
  pointer-events: none;
  max-width: 155px;
}
.cs_post_style_1 .cs_post_shape img {
  width: 100%;
}
@media (max-width: 1199px) {
  .cs_post_style_1 {
    padding: 20px 20px 130px;
  }
  .cs_post_style_1 .cs_post_thumbnail {
    width: 60%;
    bottom: -70px;
    aspect-ratio: 316/290;
  }
  .cs_post_style_1 .cs_post_shape {
    left: 20px;
  }
  .cs_post_style_1 .cs_post_shape img {
    height: 110px;
  }
}
@media (max-width: 767px) {
  .cs_post_style_1 {
    padding: 16px 16px 20px;
  }
  .cs_post_style_1 .cs_post_subtitle {
    margin-bottom: 24px;
  }
  .cs_post_style_1 .cs_post_thumbnail {
    position: static;
    width: 100%;
    margin: 24px 0;
    border-radius: 10px;
  }
  .cs_post_style_1 .cs_post_shape {
    display: none;
  }
}

.cs_post_style_2 {
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  box-shadow: 0 2px 8px 0 rgba(108, 92, 231, 0.06);
  transition: transform 0.4s ease, box-shadow 0.4s ease-in-out;
}
.cs_post_style_2 .cs_post_thumb {
  display: block;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.cs_post_style_2 .cs_post_thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.cs_post_style_2 .cs_post_category {
  padding: 5px 10px;
  border-radius: 50px;
  font-size: 14px;
  line-height: 1.5em;
  position: absolute;
  left: 16px;
  top: 16px;
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_post_style_2 .cs_post_content {
  padding: 16px 24px 24px;
}
.cs_post_style_2 .cs_post_meta_list {
  display: flex;
  gap: 8px 24px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 8px;
}
.cs_post_style_2 .cs_post_meta_list li {
  display: flex;
  gap: 10px;
  align-items: center;
}
.cs_post_style_2 .cs_post_meta_list li i {
  color: var(--primary-color);
}
.cs_post_style_2 .cs_post_meta_list .cs_meta_icon {
  width: 50px;
  height: 50px;
  padding: 13px;
}
.cs_post_style_2 .cs_post_title {
  margin-bottom: 15px;
}
.cs_post_style_2 .cs_post_title a:hover {
  color: var(--primary-color);
}
.cs_post_style_2:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--accent-color) 10%, transparent);
}
.cs_post_style_2:hover .cs_post_thumb img {
  transform: scale(1.03);
}
@media (max-width: 1199px) {
  .cs_post_style_2 .cs_post_meta_list .cs_meta_icon {
    width: 40px;
    height: 40px;
    padding: 10px;
  }
  .cs_post_style_2 .cs_post_content {
    padding: 16px 12px 20px;
  }
}
@media (max-width: 340px) {
  .cs_post_style_2 .cs_post_meta_list .cs_meta_icon {
    width: 20px;
    height: -moz-max-content;
    height: max-content;
    padding: 0;
    background-color: transparent;
  }
}

.cs_post_style_3 {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--border-color);
  transition: transform 0.4s ease, box-shadow 0.4s ease-in-out;
}
.cs_post_style_3 .cs_post_thumb {
  display: block;
  position: relative;
  overflow: hidden;
  width: min(100%, 424px);
  height: 100%;
}
.cs_post_style_3 .cs_post_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.cs_post_style_3 .cs_post_category {
  position: absolute;
  left: 16px;
  top: 16px;
  padding: 5px 10px;
  border-radius: 50px;
}
.cs_post_style_3 .cs_post_content {
  flex-grow: 1;
  padding: 24px 24px 24px 0;
}
.cs_post_style_3 .cs_post_meta_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 24px;
  margin-bottom: 8px;
}
.cs_post_style_3 .cs_post_meta_list li {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_post_style_3 .cs_post_meta_list i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_post_style_3 .cs_post_meta_list .cs_meta_icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
}
.cs_post_style_3 .cs_post_meta_list .cs_meta_icon img {
  width: 30px;
  height: 24px;
}
.cs_post_style_3 .cs_post_title {
  margin-bottom: 16px;
}
.cs_post_style_3 .cs_post_title a:hover {
  color: var(--primary-color);
}
.cs_post_style_3 .cs_post_subtitle {
  margin-bottom: 32px;
}
.cs_post_style_3 .cs_text_btn {
  padding: 0;
}
.cs_post_style_3:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--accent-color) 10%, transparent);
}
.cs_post_style_3:hover .cs_post_thumb img {
  transform: scale(1.03);
}
@media (max-width: 1199px) {
  .cs_post_style_3 {
    gap: 16px;
  }
  .cs_post_style_3 .cs_post_content {
    padding: 16px 12px 20px 0;
  }
  .cs_post_style_3 .cs_post_meta_list {
    gap: 8px 16px;
  }
  .cs_post_style_3 .cs_post_meta_list .cs_meta_icon {
    width: 40px;
    height: 40px;
    padding: 10px;
  }
  .cs_post_style_3 .cs_post_title {
    margin-bottom: 8px;
  }
  .cs_post_style_3 .cs_post_subtitle {
    margin-bottom: 16px;
  }
}
@media (max-width: 767px) {
  .cs_post_style_3 {
    grid-template-columns: 1fr;
  }
  .cs_post_style_3 .cs_post_thumb {
    width: 100%;
  }
  .cs_post_style_3 .cs_post_content {
    padding: 0 12px 20px;
  }
}

.cs_latest_post {
  margin-top: 64px;
}
.cs_latest_post .cs_section_heading_style_1 {
  margin-bottom: 32px;
}

.cs_post_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1199px) {
  .cs_post_grid {
    gap: 16px;
  }
}
@media (max-width: 991px) {
  .cs_post_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .cs_post_grid {
    grid-template-columns: 1fr;
  }
}

/*===============================================
  Blog Standard Layout
=================================================*/
.cs_post_list {
  display: grid;
  gap: 24px;
}
@media (max-width: 1199px) {
  .cs_post_list {
    gap: 16px;
  }
}

.cs_blog_main .cs_pagination {
  justify-content: flex-start;
}

/*===============================================
  Blog Sidebar
=================================================*/
.cs_blog_sidebar {
  width: min(100%, 312px);
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.cs_blog_sidebar .cs_blog_widget {
  padding: 24px;
  border: 1px solid var(--border-color);
}
.cs_blog_sidebar .cs_widget_search {
  position: relative;
  display: flex;
  align-items: center;
  height: 54px;
  border: 1px solid var(--border-color);
}
.cs_blog_sidebar .cs_widget_search input {
  width: 100%;
  height: 100%;
  padding: 0 15px;
  border: 0;
  outline: none;
  color: var(--black-color);
  background-color: transparent;
}
.cs_blog_sidebar .cs_widget_search button {
  display: flex;
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  align-items: center;
  justify-content: center;
  width: 65px;
  padding: 0;
  font-size: 16px;
  line-height: 1;
  border: 0;
  border-radius: 2px;
  color: var(--white-color);
  background-color: var(--primary-color);
  transition: background-color 0.3s ease;
}
.cs_blog_sidebar .cs_widget_search button:hover {
  background-color: var(--accent-color);
}
.cs_blog_sidebar .cs_widget_block {
  margin-top: 24px;
}
.cs_blog_sidebar .cs_widget_block + .cs_widget_block {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--border-color);
}
.cs_blog_sidebar .cs_widget_title {
  margin-bottom: 16px;
}
.cs_blog_sidebar .cs_widget_categories {
  display: grid;
  gap: 8px;
}
.cs_blog_sidebar .cs_widget_categories a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  line-height: 1.5em;
}
.cs_blog_sidebar .cs_widget_categories a:hover {
  color: var(--primary-color);
}
.cs_blog_sidebar .cs_widget_posts {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.cs_blog_sidebar .cs_widget_posts li {
  display: flex;
  align-items: center;
  gap: 20px;
}
.cs_blog_sidebar .cs_widget_posts .cs_widget_post_thumb {
  display: block;
  flex-shrink: 0;
  overflow: hidden;
  width: 60px;
  height: 60px;
}
.cs_blog_sidebar .cs_widget_posts .cs_widget_post_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.cs_blog_sidebar .cs_widget_posts .cs_widget_post_thumb:hover img {
  transform: scale(1.05);
}
.cs_blog_sidebar .cs_widget_posts .cs_widget_post_title {
  margin-bottom: 4px;
  font-size: 14px;
  line-height: 18px;
}
.cs_blog_sidebar .cs_widget_posts .cs_widget_post_title a:hover {
  color: var(--primary-color);
}
.cs_blog_sidebar .cs_widget_posts .cs_widget_post_date {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--secondary-color);
}
.cs_blog_sidebar .cs_widget_posts .cs_widget_post_date i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_blog_sidebar .cs_widget_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.cs_blog_sidebar .cs_widget_tags a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  background-color: var(--gray10-color);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_blog_sidebar .cs_widget_tags a:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_blog_sidebar .cs_blog_cta {
  padding: 32px 24px;
  text-align: center;
  border: 1px solid var(--primary-color);
  background: linear-gradient(135deg, var(--gray6-color), var(--gray9-color));
}
.cs_blog_sidebar .cs_blog_cta .cs_blog_cta_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin: 0 auto 12px;
}
.cs_blog_sidebar .cs_blog_cta .cs_blog_cta_icon img {
  width: 43px;
  height: 48px;
  border-radius: 0;
}
.cs_blog_sidebar .cs_blog_cta .cs_blog_cta_title {
  margin-bottom: 4px;
}
.cs_blog_sidebar .cs_blog_cta .cs_blog_cta_subtitle {
  margin-bottom: 24px;
}
.cs_blog_sidebar .cs_blog_cta .cs_primary_btn {
  display: inline-flex;
  line-height: 1em;
  padding: 10px 15px;
}
@media (max-width: 991px) {
  .cs_blog_sidebar {
    width: 100%;
    gap: 16px;
  }
  .cs_blog_sidebar .cs_blog_widget {
    padding: 24px 15px;
  }
  .cs_blog_sidebar .cs_widget_title {
    margin-bottom: 12px;
  }
  .cs_blog_sidebar .cs_widget_block {
    margin-top: 20px;
  }
  .cs_blog_sidebar .cs_widget_block + .cs_widget_block {
    margin-top: 20px;
    padding-top: 16px;
  }
  .cs_blog_sidebar .cs_widget_posts {
    gap: 12px;
  }
  .cs_blog_sidebar .cs_widget_posts li {
    gap: 16px;
  }
  .cs_blog_sidebar .cs_blog_cta {
    padding: 24px 15px;
  }
}

/*===============================================
  Post Details
=================================================*/
.cs_post_details > *:last-child {
  margin-bottom: 0;
}
.cs_post_details .cs_post_details_banner {
  display: block;
  position: relative;
}
.cs_post_details .cs_post_details_banner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_post_details .cs_post_details_category {
  position: absolute;
  left: 16px;
  top: 16px;
  padding: 5px 10px;
  border-radius: 50px;
}
.cs_post_details .cs_post_details_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin: 24px 0 8px;
}
.cs_post_details .cs_post_details_meta li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 0;
}
.cs_post_details .cs_post_details_meta i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_post_details .cs_post_details_meta .cs_meta_icon {
  width: 50px;
  height: 50px;
  padding: 13px;
}
.cs_post_details .cs_post_details_meta .cs_meta_icon img {
  border-radius: 0;
  position: relative;
}
.cs_post_details article {
  margin-bottom: 32px;
}
.cs_post_details article:last-child {
  margin-bottom: 0;
}
.cs_post_details h2 {
  font-weight: 600;
  line-height: 1.25em;
  margin-bottom: 16px;
  color: var(--black-color);
  font-family: var(--primary-font);
  font-size: clamp(30px, 4vw, 32px);
}
.cs_post_details h3 {
  font-weight: 600;
  margin-bottom: 16px;
  line-height: 1.25em;
  color: var(--black-color);
  font-family: var(--primary-font);
  font-size: clamp(20px, 4vw, 24px);
}
.cs_post_details p {
  margin-bottom: 16px;
}
.cs_post_details p:last-child {
  margin-bottom: 0;
}
.cs_post_details article ul {
  display: grid;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  margin-bottom: 16px;
}
.cs_post_details article ul li {
  position: relative;
  padding-left: 32px;
}
.cs_post_details article ul img {
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 5px;
}
.cs_post_details article ul strong {
  font-size: 18px;
  line-height: 28px;
  font-weight: 500;
  color: var(--black-color);
}
.cs_post_details .cs_post_details_gallery {
  display: grid;
  grid-template-columns: 536fr 312fr;
  gap: 24px;
  margin-bottom: 32px;
}
.cs_post_details .cs_gallery_item {
  display: block;
  overflow: hidden;
}
.cs_post_details .cs_gallery_item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.cs_post_details .cs_gallery_item:hover img {
  transform: scale(1.05);
}
.cs_post_details .cs_post_details_footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin-top: 32px;
}
.cs_post_details .cs_post_details_tags,
.cs_post_details .cs_post_details_share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.cs_post_details .cs_post_details_tags a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  color: var(--secondary-color);
  background-color: var(--gray10-color);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_post_details .cs_post_details_tags a:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_post_details .cs_post_details_share_btns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
}
.cs_post_details .cs_post_details_share_btns a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  font-size: 16px;
  line-height: 1;
  border-radius: 50%;
  color: var(--black-color);
  background-color: var(--gray10-color);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_post_details .cs_post_details_share_btns a:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
@media (max-width: 991px) {
  .cs_post_details .cs_post_details_gallery {
    gap: 16px;
    margin-bottom: 16px;
  }
  .cs_post_details p {
    margin-bottom: 10px;
  }
  .cs_post_details article {
    margin-bottom: 20px;
  }
  .cs_post_details article ul li {
    padding-left: 26px;
  }
}
@media (max-width: 767px) {
  .cs_post_details .cs_post_details_meta {
    margin-top: 16px;
  }
  .cs_post_details h2,
  .cs_post_details h3,
  .cs_post_details h4 {
    margin-bottom: 8px;
  }
  .cs_post_details .cs_post_details_gallery {
    gap: 12px;
  }
  .cs_post_details .cs_post_details_footer {
    margin-top: 24px;
  }
  .cs_post_details .cs_post_details_share_btns a {
    width: 40px;
    height: 40px;
  }
}

/*===============================================
  Post Comment Form
=================================================*/
.cs_post_comment_form {
  margin-top: 64px;
}
.cs_post_comment_form .cs_comment_form_title {
  margin-bottom: 4px;
}
.cs_post_comment_form .cs_comment_form_subtitle {
  margin-bottom: 24px;
}
.cs_post_comment_form .cs_primary_btn {
  display: inline-flex;
  margin-top: 24px;
}
@media (max-width: 767px) {
  .cs_post_comment_form {
    margin-top: 40px;
  }
  .cs_post_comment_form .cs_comment_form_subtitle {
    margin-bottom: 16px;
  }
  .cs_post_comment_form .cs_primary_btn {
    margin-top: 16px;
  }
}

/*==============================================================
  18. Contact / Career
================================================================*/
.cs_career_values {
  display: grid;
  gap: 24px;
  margin-bottom: 64px;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 991px) {
  .cs_career_values {
    gap: 24px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .cs_career_values {
    margin-bottom: 40px;
  }
}
@media (max-width: 480px) {
  .cs_career_values {
    gap: 20px;
    grid-template-columns: repeat(1, 1fr);
  }
  .cs_career_values .cs_iconbox_style_2 {
    width: 100%;
  }
}

.cs_career_banner {
  min-height: 500px;
  display: flex;
  align-items: flex-end;
  position: relative;
  margin-bottom: 64px;
  padding: 32px;
}
.cs_career_banner::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: linear-gradient(180deg, rgba(20, 23, 26, 0) 61.33%, #14171a 100%);
}
.cs_career_banner h2 {
  position: relative;
  z-index: 1;
  margin: 0;
}
@media (max-width: 767px) {
  .cs_career_banner {
    margin-bottom: 40px;
    min-height: 390px;
  }
}
@media (max-width: 575px) {
  .cs_career_banner {
    min-height: 300px;
    padding: 24px 16px;
  }
}

.cs_job_list {
  display: grid;
  gap: 16px;
  width: min(100%, 872px);
}

.cs_job_card {
  min-height: 148px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 24px 20px;
  border: 1px solid var(--border-color);
  background: linear-gradient(134deg, var(--white-color), #fdfaf4);
}
.cs_job_card .cs_job_title {
  margin-bottom: 8px;
}
.cs_job_card .cs_job_subtitle {
  margin-bottom: 16px;
}
.cs_job_card .cs_job_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--primary-color);
}
.cs_job_card .cs_job_meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 50px;
  background: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_job_card .cs_primary_btn {
  border-radius: 3px;
  text-wrap: nowrap;
  color: var(--black-color);
  background-color: transparent;
  border: 1px solid var(--primary-color);
}
.cs_job_card .cs_primary_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
@media (max-width: 767px) {
  .cs_job_card {
    padding: 16px 12px;
  }
  .cs_job_card .cs_primary_btn {
    padding: 9px 16px;
  }
}
@media (max-width: 575px) {
  .cs_job_card {
    align-items: flex-start;
    flex-direction: column;
  }
}

.cs_career_form {
  width: min(100%, 312px);
  padding: 24px;
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
}
.cs_career_form h2 {
  margin-bottom: 10px;
}
.cs_career_form p {
  margin-bottom: 18px;
}
.cs_career_form .cs_form_field,
.cs_career_form .nice-select {
  margin-bottom: 10px;
}
.cs_career_form .nice-select {
  font-size: 14px;
  line-height: 1.5em;
}
.cs_career_form .nice-select .current {
  color: var(--black-color);
}
.cs_career_form .cs_resume_upload {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 10px;
  padding: 16px;
  cursor: pointer;
  border-radius: 3px;
  text-align: center;
  color: var(--primary-color);
  border: 1px dashed var(--primary-color);
}
.cs_career_form .cs_resume_upload input {
  display: none;
}
.cs_career_form .cs_resume_upload i {
  font-size: 24px;
}
.cs_career_form .cs_resume_upload small {
  display: block;
  margin-top: 2px;
  color: var(--secondary-color);
}
.cs_career_form .cs_primary_btn {
  width: 100%;
}
@media (max-width: 991px) {
  .cs_career_form {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .cs_career_form {
    padding: 16px 12px;
  }
}

/*===================================================
 Career Details
=====================================================*/
.cs_career_details_section .cs_career_details_content {
  width: min(100%, 872px);
}
.cs_career_details_section .cs_career_details_title {
  margin-bottom: 6px;
}
.cs_career_details_section .cs_career_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}
.cs_career_details_section .cs_career_tags li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  border: 1px solid var(--border-color);
  border-radius: 50px;
  color: var(--primary-color);
  background-color: var(--white-color);
}
.cs_career_details_section .cs_career_tags i {
  line-height: 1;
}
.cs_career_details_section .cs_career_tags .cs_career_tag_soft {
  border-color: transparent;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_career_details_section .cs_career_stats {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  justify-content: space-between;
}
.cs_career_details_section .cs_career_stats h3 {
  margin-bottom: 0;
}
.cs_career_details_section .cs_career_details_block {
  margin-top: 32px;
}
.cs_career_details_section .cs_career_details_block h3 {
  margin-bottom: 8px;
}
.cs_career_details_section .cs_career_details_list {
  display: grid;
  gap: 8px;
}
.cs_career_details_section .cs_career_details_list li {
  position: relative;
  padding-left: 32px;
}
.cs_career_details_section .cs_career_details_list img {
  position: absolute;
  top: 5px;
  left: 0;
}
.cs_career_details_section .cs_career_details_list strong {
  font-size: 18px;
  line-height: 28px;
  font-weight: 500;
  color: var(--black-color);
}
@media (max-width: 767px) {
  .cs_career_details_section .cs_career_stats {
    gap: 16px 40px;
    justify-content: flex-start;
  }
  .cs_career_details_section .cs_career_details_block {
    margin-top: 24px;
  }
  .cs_career_details_section .cs_career_details_list li {
    padding-left: 26px;
  }
}

.cs_contact_form {
  display: grid;
  gap: 16px 24px;
  grid-template-columns: 1fr 1fr;
}
.cs_contact_form .cs_form_input.cs_full {
  grid-column: 1/-1;
}
.cs_contact_form .cs_primary_btn {
  margin-top: 8px;
}
.cs_contact_form .cs_page_link:hover {
  color: var(--accent-color);
  text-decoration: underline;
}
@media (max-width: 1199px) {
  .cs_contact_form {
    gap: 16px;
  }
}
@media (max-width: 575px) {
  .cs_contact_form {
    grid-template-columns: 1fr;
  }
}

.cs_contact_info {
  width: min(100%, 312px);
  padding: 16px;
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
}
@media (max-width: 991px) {
  .cs_contact_info {
    width: 100%;
  }
}

.cs_contact_info_item:not(:last-child) {
  margin-bottom: 16px;
}
.cs_contact_info_item h3 {
  margin-bottom: 8px;
}
.cs_contact_info_item a:hover {
  color: var(--primary-color);
}

.cs_contact_social {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 8px;
}
.cs_contact_social a {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--gray10-color);
  color: var(--black-color);
  line-height: 1;
}
.cs_contact_social a:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
@media (max-width: 767px) {
  .cs_contact_social a {
    width: 40px;
    height: 40px;
  }
}

.cs_contact_map {
  height: 600px;
  line-height: 0;
  filter: brightness(110%) grayscale(0.9);
}
.cs_contact_map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
@media (max-width: 991px) {
  .cs_contact_map {
    height: 400px;
  }
}
@media (max-width: 575px) {
  .cs_contact_map {
    height: 300px;
  }
}

/*===================================================
 Signup / Account
=====================================================*/
.cs_signup_section .cs_section_heading {
  margin-bottom: 24px;
}
.cs_signup_section .cs_tab {
  display: none;
}
.cs_signup_section .cs_tab.active {
  display: block;
}

.cs_auth_tab_links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-bottom: 32px;
}
.cs_auth_tab_links li.active .cs_secondary_btn {
  color: var(--white-color);
  border-color: transparent;
  background-color: var(--primary-color);
}
.cs_auth_tab_links .cs_secondary_btn:hover {
  color: var(--white-color);
  border-color: var(--primary-color);
  background-color: var(--primary-color);
}

.cs_auth_grid {
  display: grid;
  gap: 40px;
  align-items: start;
  justify-content: space-between;
  grid-template-columns: 424px minmax(0, 648px);
}
@media (max-width: 1199px) {
  .cs_auth_grid {
    gap: 32px;
    grid-template-columns: 380px minmax(0, 1fr);
  }
}
@media (max-width: 991px) {
  .cs_auth_grid {
    gap: 30px;
    justify-content: stretch;
    grid-template-columns: minmax(0, 1fr);
  }
}

.cs_auth_aside {
  position: relative;
  width: min(100%, 524px);
  margin: 0 auto;
  padding-right: 100px;
}
.cs_auth_aside .cs_auth_shape {
  position: absolute;
  top: 64px;
  right: 0;
}
.cs_auth_aside .cs_auth_shape img {
  animation: halfRotation 20s linear infinite;
}
.cs_auth_aside .cs_auth_card {
  position: relative;
  z-index: 1;
  padding: 24px;
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
}
.cs_auth_aside .cs_auth_card .cs_auth_card_thumb {
  overflow: hidden;
  margin-bottom: 24px;
}
.cs_auth_aside .cs_auth_card .cs_auth_card_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_auth_aside .cs_auth_card .cs_auth_card_title {
  margin-bottom: 4px;
}
.cs_auth_aside .cs_auth_card .cs_auth_card_subtitle {
  margin-bottom: 16px;
}
@media (max-width: 991px) {
  .cs_auth_aside {
    width: 100%;
    padding-right: 0;
  }
  .cs_auth_aside .cs_auth_shape {
    display: none;
  }
  .cs_auth_aside .cs_auth_card {
    padding: 16px 16px 24px;
  }
  .cs_auth_aside .cs_auth_card .cs_auth_card_thumb {
    margin-bottom: 16px;
  }
}

.cs_auth_feature_list {
  display: grid;
  gap: 3px;
}
.cs_auth_feature_list li {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 5px 0;
  color: var(--secondary-color);
}
.cs_auth_feature_list img {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

.cs_auth_pill {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 24px auto 0;
  padding: 5px 10px;
  background-color: var(--gray3-color);
}
.cs_auth_pill i {
  line-height: 1;
}

.cs_auth_form_title {
  margin-bottom: 4px;
}

/* The checkbox itself is hidden; the label paints the box and the tick */
.cs_auth_agree .cs_auth_agree_input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.cs_auth_agree .cs_auth_agree_label {
  position: relative;
  display: block;
  margin-bottom: 0;
  padding-left: 24px;
  cursor: pointer;
}
.cs_auth_agree .cs_auth_agree_label::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 15px;
  height: 15px;
  border-radius: 2px;
  border: 1px solid var(--border-color);
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.cs_auth_agree .cs_auth_agree_label::after {
  position: absolute;
  content: "";
  left: 6px;
  top: 2px;
  width: 4px;
  height: 8px;
  opacity: 0;
  border: solid var(--white-color);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  transition: opacity 0.3s ease;
}
.cs_auth_agree .cs_auth_agree_label a {
  color: var(--primary-color);
}
.cs_auth_agree .cs_auth_agree_label a:hover {
  text-decoration: underline;
}
.cs_auth_agree .cs_auth_agree_input:checked + .cs_auth_agree_label::before {
  border-color: var(--primary-color);
  background-color: var(--primary-color);
}
.cs_auth_agree .cs_auth_agree_input:checked + .cs_auth_agree_label::after {
  opacity: 1;
}
.cs_auth_agree .cs_auth_agree_input:focus-visible + .cs_auth_agree_label::before {
  border-color: var(--primary-color);
}

/*====================================================
 19. Accordian
======================================================*/
/*===================================================
 FAQ Section
=====================================================*/
.cs_faq_section {
  background: linear-gradient(112.14deg, var(--white-color) 0%, var(--gray5-color) 100%);
}

.cs_faq_wrap {
  display: flex;
  align-items: flex-start;
  gap: 136px;
}
@media (max-width: 1399px) {
  .cs_faq_wrap {
    gap: 80px;
  }
}
@media (max-width: 1199px) {
  .cs_faq_wrap {
    gap: 50px;
  }
}
@media (max-width: 991px) {
  .cs_faq_wrap {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
}

.cs_faq_media {
  position: relative;
  z-index: 0;
  flex-shrink: 0;
  width: min(100%, 424px);
}
@media (max-width: 991px) {
  .cs_faq_media {
    width: 100%;
  }
}

/* Decorative asterisk tucked behind the help card */
.cs_faq_shape {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 56%;
  width: 66%;
  transform: translateY(-50%);
  pointer-events: none;
}
.cs_faq_shape img {
  display: block;
  width: 100%;
  animation: halfRotation 20s linear infinite;
}

/*===================================================
 Help Card
=====================================================*/
.cs_help_card {
  position: relative;
  z-index: 1;
  padding: 24px;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
}
.cs_help_card .cs_help_thumbnail {
  display: block;
  overflow: hidden;
  margin-bottom: 24px;
}
.cs_help_card .cs_help_thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s cubic-bezier(0.44, 0.35, 0.55, 0.65);
}
.cs_help_card .cs_help_title {
  margin-bottom: 8px;
}
.cs_help_card .cs_help_text {
  margin-bottom: 16px;
}
.cs_help_card .cs_help_mail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 5px 10px;
  border-radius: 50px;
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_help_card .cs_help_mail i {
  flex-shrink: 0;
  font-size: 16px;
  line-height: 1;
}
.cs_help_card .cs_help_mail:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_help_card:hover .cs_help_thumbnail img {
  transform: scale(1.03);
}
@media (max-width: 1199px) {
  .cs_help_card .cs_help_thumbnail {
    height: 180px;
  }
}

/*===================================================
 Accordian Style 1
=====================================================*/
.cs_accordians_style_1 {
  flex: 1;
  min-width: 0;
  display: flex;
  gap: 24px;
  flex-direction: column;
}
@media (max-width: 991px) {
  .cs_accordians_style_1 {
    width: 100%;
  }
}

.cs_accordian .cs_accordian_head {
  padding: 0 30px 8px 0;
  cursor: pointer;
  position: relative;
}
.cs_accordian .cs_accordian_toggle {
  position: absolute;
  right: 0;
  top: 4px;
  font-size: 20px;
  line-height: 1em;
  color: var(--primary-color);
  transition: transform 0.4s ease;
}
.cs_accordian.active .cs_accordian_head {
  pointer-events: none;
}
.cs_accordian.active .cs_accordian_title {
  color: var(--primary-color);
}
.cs_accordian.active .cs_accordian_toggle {
  transform: rotate(45deg);
}

/*====================================================
 20. Course
======================================================*/
@media (max-width: 575px) {
  .cs_course_section .cs_section_heading_style_2 {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px;
  }
}

/*===================================================
 Course Listing Toolbar
=====================================================*/
.cs_course_toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin-bottom: 24px;
}
.cs_course_toolbar .cs_toolbar_left {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_course_toolbar .cs_course_result {
  margin-bottom: 0;
}
.cs_course_toolbar {
  /* Off-canvas trigger — mobile/tablet only */
}
.cs_course_toolbar .cs_filter_toggle {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  line-height: 1;
  color: var(--white-color);
  border: 0;
  background-color: var(--primary-color);
  transition: background-color 0.3s ease;
}
.cs_course_toolbar .cs_filter_toggle i {
  font-size: 18px;
  line-height: 1;
}
.cs_course_toolbar .cs_filter_toggle:hover {
  background-color: var(--accent-color);
}
.cs_course_toolbar .cs_course_sort {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_course_toolbar .cs_sort_label {
  flex-shrink: 0;
}
.cs_course_toolbar .nice-select {
  width: 171px;
  color: var(--black-color);
}
.cs_course_toolbar .nice-select .option {
  line-height: 38px;
  min-height: 38px;
}
@media (max-width: 1199px) {
  .cs_course_toolbar .nice-select {
    height: 42px;
  }
}
@media (max-width: 991px) {
  .cs_course_toolbar .cs_filter_toggle {
    display: inline-flex;
  }
}
@media (max-width: 575px) {
  .cs_course_toolbar .cs_toolbar_left {
    flex-wrap: wrap;
    gap: 12px;
  }
  .cs_course_toolbar .cs_course_sort {
    width: 100%;
  }
  .cs_course_toolbar .nice-select {
    flex: 1 1 auto;
    width: auto;
  }
}

/*===================================================
 Course Style
=====================================================*/
.cs_course_style_1, .cs_course_style_2 {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  padding: 16px;
  border: 1px solid var(--border-color);
}
.cs_course_style_1 .cs_course_thumbnail, .cs_course_style_2 .cs_course_thumbnail {
  display: block;
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
}
.cs_course_style_1 .cs_course_thumbnail img, .cs_course_style_2 .cs_course_thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.cs_course_style_1 .cs_course_badge, .cs_course_style_2 .cs_course_badge {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 5px 10px;
  border-radius: 50px;
}
.cs_course_style_1 .cs_course_body, .cs_course_style_2 .cs_course_body {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.cs_course_style_1 .cs_course_title, .cs_course_style_2 .cs_course_title {
  margin-bottom: 8px;
}
.cs_course_style_1 .cs_course_title a:hover, .cs_course_style_2 .cs_course_title a:hover {
  color: var(--primary-color);
}
.cs_course_style_1 .cs_course_meta, .cs_course_style_2 .cs_course_meta {
  display: flex;
  align-items: center;
  gap: 8px 28px;
  flex-wrap: wrap;
  margin-bottom: 13px;
}
.cs_course_style_1 .cs_course_rating, .cs_course_style_2 .cs_course_rating {
  display: flex;
  gap: 10px;
  align-items: center;
}
.cs_course_style_1 .cs_course_rating i, .cs_course_style_2 .cs_course_rating i {
  color: var(--warning-color);
}
.cs_course_style_1 .cs_course_price, .cs_course_style_2 .cs_course_price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: auto;
}
.cs_course_style_1 .cs_course_price .cs_price_new, .cs_course_style_2 .cs_course_price .cs_price_new {
  font-size: 20px;
  font-weight: 600;
  color: var(--primary-color);
  font-family: var(--primary-font);
}
.cs_course_style_1 .cs_course_price .cs_price_old, .cs_course_style_2 .cs_course_price .cs_price_old {
  font-size: 14px;
}
.cs_course_style_1 .cs_course_info, .cs_course_style_2 .cs_course_info {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  box-shadow: 0 0 15px 0 rgba(20, 23, 26, 0.1);
  transition: opacity 0.4s ease, transform 0.45s ease, visibility 0.4s ease;
  pointer-events: none;
}
.cs_course_style_1 .cs_course_info_list, .cs_course_style_2 .cs_course_info_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin-bottom: 20px;
}
.cs_course_style_1 .cs_course_info_list li, .cs_course_style_2 .cs_course_info_list li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  background-color: var(--gray3-color);
}
.cs_course_style_1 .cs_course_info_list li i, .cs_course_style_2 .cs_course_info_list li i {
  color: var(--black-color);
}
.cs_course_style_1 .cs_course_features, .cs_course_style_2 .cs_course_features {
  display: flex;
  gap: 10px;
  flex-direction: column;
  margin-bottom: 20px;
}
.cs_course_style_1 .cs_course_features li, .cs_course_style_2 .cs_course_features li {
  padding-left: 26px;
  position: relative;
}
.cs_course_style_1 .cs_course_features li::before, .cs_course_style_2 .cs_course_features li::before {
  content: "\eb80";
  font-size: 16px;
  line-height: 1;
  font-family: "remixicon";
  color: var(--success-color);
  position: absolute;
  left: 0;
  top: 2px;
}
.cs_course_style_1 .cs_action_btns, .cs_course_style_2 .cs_action_btns {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 16px;
}
.cs_course_style_1 .cs_primary_btn, .cs_course_style_2 .cs_primary_btn {
  padding: 7px 15px;
}
.cs_course_style_1 .cs_wishlist_btn, .cs_course_style_2 .cs_wishlist_btn {
  padding: 7px 12px;
  color: var(--black-color);
  background-color: var(--gray3-color);
}
.cs_course_style_1 .cs_wishlist_btn:hover, .cs_course_style_2 .cs_wishlist_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_course_style_1:hover .cs_course_info, .cs_course_style_2:hover .cs_course_info {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
@media (max-width: 991px) {
  .cs_course_style_1, .cs_course_style_2 {
    padding: 12px 12px 16px;
  }
  .cs_course_style_1 .cs_course_info, .cs_course_style_2 .cs_course_info {
    padding: 16px 12px;
  }
}
@media (max-width: 480px) {
  .cs_course_style_1 .cs_action_btns, .cs_course_style_2 .cs_action_btns {
    flex-direction: column-reverse;
  }
  .cs_course_style_1 .cs_action_btns button, .cs_course_style_2 .cs_action_btns button {
    width: 100%;
  }
}

.cs_course_style_2 {
  box-shadow: none;
}
.cs_course_style_2 .cs_course_thumbnail {
  margin-bottom: 16px;
}
.cs_course_style_2 .cs_course_title {
  margin-bottom: 16px;
}
.cs_course_style_2 .cs_course_meta {
  margin-bottom: 5px;
}
.cs_course_style_2 .cs_course_progress {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
}
.cs_course_style_2 .cs_course_progress .cs_progress {
  flex: 1 1 auto;
  height: 10px;
  margin-bottom: 0;
  background: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_course_style_2 .cs_course_progress .cs_progress_in {
  background-color: var(--primary-color);
}
.cs_course_style_2 .cs_course_media {
  position: relative;
  margin-bottom: 10px;
}
.cs_course_style_2 .cs_course_media .cs_course_thumbnail {
  margin-bottom: 0;
}
.cs_course_style_2 .cs_course_icon {
  position: absolute;
  left: 16px;
  bottom: -25px;
  width: 50px;
  height: 50px;
  padding: 10px;
  border: 1px solid var(--border-color);
  background-image: linear-gradient(90deg, var(--gray6-color) 0%, var(--gray3-color) 100%);
}
.cs_course_style_2 .cs_course_icon img {
  border-radius: 0;
}
.cs_course_style_2 .cs_course_level {
  margin-bottom: 8px;
  text-align: right;
}
.cs_course_style_2 .cs_course_footer {
  display: flex;
  flex-wrap: wrap-reverse;
  align-items: center;
  justify-content: space-between;
  gap: 12px 8px;
  margin-top: 24px;
}
.cs_course_style_2 .cs_course_status {
  flex-shrink: 0;
  padding: 3px 10px;
  border-radius: 50px;
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_course_style_2[data-category=completed] .cs_progress_in {
  background-color: var(--success-color);
}
.cs_course_style_2[data-category=completed] .cs_course_status {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_course_style_2[data-category=not-started] .cs_course_status {
  color: var(--secondary-color);
  background-color: var(--gray10-color);
}
.cs_course_style_2:hover .cs_course_thumbnail img {
  transform: scale(1.03);
}

.cs_course_style_3 {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px;
  border: 1px solid var(--border-color);
}
.cs_course_style_3 .cs_course_media {
  position: relative;
  margin-bottom: 16px;
}
.cs_course_style_3 .cs_course_thumbnail {
  display: block;
  overflow: hidden;
}
.cs_course_style_3 .cs_course_thumbnail img {
  width: 100%;
  transition: transform 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.cs_course_style_3 .cs_course_badge {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 5px 10px;
  border-radius: 50px;
}
.cs_course_style_3 .cs_course_wishlist_btn {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  padding: 0;
  font-size: 16px;
  line-height: 1;
  border: 0;
  color: var(--black-color);
  background-color: var(--white-color);
  transition: all 0.3s ease;
}
.cs_course_style_3 .cs_course_wishlist_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_course_style_3 .cs_course_body {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.cs_course_style_3 .cs_course_title {
  margin-bottom: 13px;
}
.cs_course_style_3 .cs_course_title a:hover {
  color: var(--primary-color);
}
.cs_course_style_3 .cs_course_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 28px;
  margin-bottom: 13px;
}
.cs_course_style_3 .cs_course_rating {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.cs_course_style_3 .cs_course_rating i {
  font-size: 16px;
  line-height: 1;
  color: var(--warning-color);
}
.cs_course_style_3 .cs_course_price {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.cs_course_style_3 .cs_course_price .cs_price_new {
  font-size: 20px;
  line-height: 24px;
  font-weight: 600;
  color: var(--primary-color);
  font-family: var(--primary-font);
}
.cs_course_style_3 .cs_course_price .cs_price_old {
  font-size: 14px;
  line-height: 21px;
}
.cs_course_style_3 .cs_course_footer {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap-reverse;
  margin-top: auto;
  padding-top: 26px;
}
.cs_course_style_3 .cs_primary_btn {
  flex: 1 1 auto;
  padding: 10px 18px;
}
.cs_course_style_3 .cs_course_remove_btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px 17px;
  font-size: 16px;
  line-height: 1;
  color: var(--error-color);
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
  transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
}
.cs_course_style_3 .cs_course_remove_btn:hover {
  color: var(--white-color);
  border-color: var(--error-color);
  background-color: var(--error-color);
}
.cs_course_style_3:hover .cs_course_thumbnail img {
  transform: scale(1.03);
}
@media (max-width: 1399px) {
  .cs_course_style_3 {
    padding: 12px;
  }
  .cs_course_style_3 .cs_course_footer {
    padding-top: 16px;
  }
  .cs_course_style_3 .cs_primary_btn {
    padding: 10px 14px;
  }
  .cs_course_style_3 .cs_course_remove_btn {
    padding: 13px;
  }
}
@media (max-width: 575px) {
  .cs_course_style_3 .cs_course_meta {
    gap: 0 16px;
  }
  .cs_course_style_3 .cs_course_author,
  .cs_course_style_3 .cs_course_rating {
    padding: 3px 0;
  }
}

.cs_course_style_4 {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 15px;
  border: 1px solid var(--border-color);
}
.cs_course_style_4 .cs_course_thumbnail {
  position: relative;
  overflow: hidden;
  margin-bottom: 16px;
}
.cs_course_style_4 .cs_course_thumbnail > img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.cs_course_style_4 .cs_course_badge {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 5px 10px;
  border-radius: 50px;
}
.cs_course_style_4 .cs_demo_play {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  padding: 16px 15px 16px 19px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}
.cs_course_style_4 .cs_demo_play > img {
  width: 100%;
  border-radius: initial;
}
.cs_course_style_4 .cs_demo_play:hover {
  transform: translate(-50%, -50%) scale(1.1);
}
.cs_course_style_4 .cs_course_title {
  margin-bottom: 8px;
}
.cs_course_style_4 .cs_course_title a:hover {
  color: var(--primary-color);
}
.cs_course_style_4 .cs_course_meta {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 5px 10px;
  background-image: linear-gradient(90deg, var(--gray6-color) 0%, var(--gray3-color) 100%);
}
.cs_course_style_4 .cs_course_divider {
  flex-shrink: 0;
  width: 1px;
  height: 15px;
  background-color: color-mix(in srgb, var(--primary-color) 20%, transparent);
}
.cs_course_style_4 .cs_course_duration {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}
.cs_course_style_4 .cs_course_duration i {
  font-size: 16px;
  line-height: 1em;
}
.cs_course_style_4 .cs_course_text {
  margin-top: 18px;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cs_course_style_4 .cs_course_footer {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 32px;
}
.cs_course_style_4 .cs_demo_cart_btn {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  line-height: 1em;
  transition: color 0.3s ease;
}
.cs_course_style_4 .cs_demo_cart_btn i {
  font-size: 16px;
  line-height: 1em;
}
.cs_course_style_4 .cs_demo_cart_btn:hover {
  color: var(--primary-color);
}
.cs_course_style_4:hover .cs_course_thumbnail > img {
  transform: scale(1.05);
}

.cs_live_class_card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px;
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
}
.cs_live_class_card .cs_live_class_thumb {
  position: relative;
  margin-bottom: 15px;
}
.cs_live_class_card .cs_live_class_thumb > img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: inherit;
}
.cs_live_class_card .cs_live_class_badge {
  position: absolute;
  top: 8px;
  left: 8px;
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 4px 10px;
}
.cs_live_class_card .cs_live_class_dot {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-image: radial-gradient(circle, var(--error-color) 0 2px, var(--white-color) 2px 100%);
}
.cs_live_class_card .cs_live_class_title {
  margin-bottom: 4px;
}
.cs_live_class_card .cs_live_class_title a:hover {
  color: var(--primary-color);
}
.cs_live_class_card .cs_live_class_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 28px;
  align-items: center;
  margin-bottom: 13px;
  margin-top: auto;
}
.cs_live_class_card .cs_live_class_time {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 13px;
  padding: 5px 10px;
  background-image: linear-gradient(90deg, var(--gray6-color) 0%, var(--gray3-color) 100%);
}
.cs_live_class_card .cs_live_class_time > span:last-child {
  margin-inline: auto;
}
.cs_live_class_card .cs_live_class_time_sep {
  margin-left: auto;
  color: color-mix(in srgb, var(--primary-color) 20%, transparent);
}
.cs_live_class_card .cs_live_class_seats {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.cs_live_class_card .cs_live_class_meta > li > i,
.cs_live_class_card .cs_live_class_time > i,
.cs_live_class_card .cs_live_class_seats > span > i {
  font-size: 16px;
  line-height: 1;
}
.cs_live_class_card .cs_live_class_meta > li,
.cs_live_class_card .cs_live_class_seats > span {
  display: inline-flex;
  gap: 10px;
  align-items: center;
}
.cs_live_class_card .cs_live_class_meta > li > i,
.cs_live_class_card .cs_live_class_seats > span > i {
  color: var(--black-color);
}
.cs_live_class_card .cs_text_btn {
  padding: 0;
}
.cs_live_class_card .cs_live_class_footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1199px) {
  .cs_live_class_card {
    padding: 12px 12px 16px;
  }
}

/*===================================================
 Courses Grid
=====================================================*/
.cs_courses_grid_2 {
  display: grid;
  gap: 16px 24px;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 1199px) {
  .cs_courses_grid_2 {
    gap: 16px 12px;
  }
}
@media (max-width: 480px) {
  .cs_courses_grid_2 {
    grid-template-columns: 1fr;
  }
}

/*===================================================
 Course Sidebar
=====================================================*/
.cs_course_sidebar {
  padding: 24px;
  border: 1px solid var(--border-color);
}
.cs_course_sidebar .cs_sidebar_header {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-color);
}
.cs_course_sidebar .cs_filter_close {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  padding: 0;
  font-size: 20px;
  line-height: 1;
  border: 1px solid var(--border-color);
  border-radius: 50%;
  color: var(--black-color);
  background-color: transparent;
  transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
}
.cs_course_sidebar .cs_filter_close:hover {
  color: var(--white-color);
  border-color: var(--primary-color);
  background-color: var(--primary-color);
}
.cs_course_sidebar {
  /* Search */
}
.cs_course_sidebar .cs_sidebar_search {
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 3px;
  border: 1px solid var(--border-color);
}
.cs_course_sidebar .cs_sidebar_search input {
  width: 100%;
  height: 100%;
  padding: 14px 15px;
  border: 0;
  outline: none;
  color: var(--black-color);
  background-color: transparent;
}
.cs_course_sidebar .cs_sidebar_search button {
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  padding: 12px 25px;
  border: 0;
  border-radius: 1px;
  line-height: 1;
  color: var(--white-color);
  background-color: var(--primary-color);
  transition: background-color 0.3s ease;
}
.cs_course_sidebar .cs_sidebar_search button:hover {
  background-color: var(--accent-color);
}
.cs_course_sidebar {
  /* Filter groups */
}
.cs_course_sidebar .cs_filter_group {
  margin-top: 24px;
}
.cs_course_sidebar .cs_filter_group + .cs_filter_group {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid var(--border-color);
}
.cs_course_sidebar .cs_filter_title {
  margin-bottom: 16px;
  font-family: var(--secondary-font);
}
.cs_course_sidebar .cs_filter_list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cs_course_sidebar .cs_rating {
  flex-shrink: 0;
  width: 84px;
}
.cs_course_sidebar .cs_rating::before {
  color: var(--secondary-color);
}
@media (max-width: 1199px) {
  .cs_course_sidebar {
    padding: 24px 15px;
  }
  .cs_course_sidebar .cs_sidebar_search {
    position: relative;
    display: flex;
    align-items: center;
    border-radius: 3px;
    border: 1px solid var(--border-color);
  }
  .cs_course_sidebar .cs_sidebar_search input {
    padding: 10px 15px 10px 12px;
  }
  .cs_course_sidebar .cs_sidebar_search button {
    padding: 8px 15px;
  }
}
@media (max-width: 991px) {
  .cs_course_sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1030;
    width: 320px;
    max-width: 85%;
    height: 100%;
    padding: 24px 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 0;
    border-radius: 0;
    transform: translateX(-100%);
    visibility: hidden;
    transition: transform 0.4s ease, visibility 0.4s ease;
  }
  .cs_course_sidebar.active {
    transform: translateX(0);
    visibility: visible;
  }
  .cs_course_sidebar .cs_sidebar_header {
    display: flex;
  }
}

.cs_filter_overlay {
  position: fixed;
  inset: 0;
  z-index: 1029;
  background-color: rgba(20, 23, 26, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}
.cs_filter_overlay.active {
  opacity: 1;
  visibility: visible;
}
@media (min-width: 992px) {
  .cs_filter_overlay {
    display: none;
  }
}

/* Checkbox row — shared by every filter group */
.cs_filter_check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
  cursor: pointer;
}
.cs_filter_check input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.cs_filter_check .cs_filter_check_box {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  border-radius: 2px;
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.cs_filter_check .cs_filter_check_box::after {
  content: "";
  width: 4px;
  height: 7px;
  margin-top: -2px;
  border: solid var(--white-color);
  border-width: 0 2px 2px 0;
  opacity: 0;
  transform: rotate(45deg);
  transition: opacity 0.2s ease;
}
.cs_filter_check .cs_filter_check_label {
  color: var(--secondary-color);
  transition: color 0.3s ease;
}
.cs_filter_check:hover .cs_filter_check_label {
  color: var(--primary-color);
}
.cs_filter_check input:checked ~ .cs_filter_check_box {
  border-color: var(--primary-color);
  background-color: var(--primary-color);
}
.cs_filter_check input:checked ~ .cs_filter_check_box::after {
  opacity: 1;
}
.cs_filter_check input:checked ~ .cs_filter_check_label {
  color: var(--primary-color);
}
.cs_filter_check input:focus-visible ~ .cs_filter_check_box {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}

.cs_price_slider {
  position: relative;
  display: flex;
  align-items: center;
  height: 15px;
  margin-top: 20px;
}
.cs_price_slider .cs_price_slider_track {
  position: relative;
  width: 100%;
  height: 5px;
  background-color: var(--gray3-color);
}
.cs_price_slider .cs_price_slider_range {
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: var(--primary-color);
}
.cs_price_slider .cs_price_slider_handle_min,
.cs_price_slider .cs_price_slider_handle_max {
  position: absolute;
  top: 50%;
  width: 15px;
  height: 15px;
  touch-action: none;
  cursor: grab;
  margin-left: -7px;
  border-radius: 50%;
  transform: translateY(-50%);
  background-color: var(--primary-color);
}
.cs_price_slider .cs_price_slider_handle_min.cs_dragging,
.cs_price_slider .cs_price_slider_handle_max.cs_dragging {
  cursor: grabbing;
}

.cs_price_slider_labels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 2px 0 16px;
  color: var(--secondary-color);
}

/*===================================================
 Latest Trending Course Slider (filterable)
=====================================================*/
.cs_course_filter_nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 5px 50px;
  margin-top: 24px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--border-color);
}
.cs_course_filter_nav .cs_filter_btn {
  padding: 0;
  border: 0;
  background-color: transparent;
  color: var(--black-color);
  transition: color 0.3s ease;
}
.cs_course_filter_nav .cs_filter_btn:hover, .cs_course_filter_nav .cs_filter_btn.active {
  color: var(--primary-color);
}
@media (max-width: 1199px) {
  .cs_course_filter_nav {
    gap: 5px 30px;
  }
}
@media (max-width: 767px) {
  .cs_course_filter_nav {
    gap: 5px 20px;
  }
}

.cs_course_slider_wrap {
  position: relative;
}
.cs_course_slider_wrap .swiper {
  overflow: visible;
  overflow-x: clip;
}
.cs_course_slider_wrap .swiper-slide {
  opacity: 0;
  transition: all 0.3s ease;
}
.cs_course_slider_wrap .swiper-slide.swiper-slide-visible {
  opacity: 1;
  transition: all 0.3s ease;
}
@media (max-width: 1199px) {
  .cs_course_slider_wrap .slider-prev {
    left: 0;
  }
  .cs_course_slider_wrap .slider-next {
    right: 0;
  }
}
@media (max-width: 575px) {
  .cs_course_slider_wrap .cs_slider_arrow {
    width: 44px;
    height: 44px;
  }
}

/*===================================================
 Course Details — Intro
=====================================================*/
.cs_course_details_head {
  margin-bottom: 64px;
}
.cs_course_details_head .cs_course_details_title {
  margin-bottom: 6px;
}
.cs_course_details_head .cs_course_details_subtitle {
  margin-bottom: 24px;
}
@media (max-width: 991px) {
  .cs_course_details_head {
    margin-bottom: 40px;
  }
}

/* Meta pill row — reused by the intro and the instructor card */
.cs_course_meta_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 4px;
}
.cs_course_meta_list .cs_course_meta_item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
}
.cs_course_meta_list .cs_course_meta_item.cs_highlight {
  border-radius: 5px;
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_course_meta_list .cs_course_meta_item.cs_highlight i {
  color: var(--primary-color);
}
.cs_course_meta_list .cs_course_meta_item i {
  flex-shrink: 0;
  font-size: 16px;
  line-height: 1;
  color: var(--black-color);
}
.cs_course_meta_list .cs_course_meta_item.cs_reviews i {
  color: var(--warning-color);
}

/*===================================================
 Course Details — Blocks
=====================================================*/
.cs_course_details_section .cs_course_details_block {
  margin-bottom: 32px;
}
.cs_course_details_section .cs_course_block_title {
  margin-bottom: 24px;
}
.cs_course_details_section .cs_course_block_subtitle {
  margin-bottom: 8px;
}

/* Two-column checklist */
.cs_course_learn_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.cs_course_learn_list li {
  padding-left: 32px;
  position: relative;
}
.cs_course_learn_list img {
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 5px;
}
@media (max-width: 767px) {
  .cs_course_learn_list {
    grid-template-columns: repeat(1, 1fr);
  }
}

/*===================================================
 Course Details — Curriculum Accordian
=====================================================*/
.cs_curriculum_accordians {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cs_curriculum_accordians .cs_accordian {
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid var(--border-color);
  background: linear-gradient(159deg, var(--white-color) 0%, var(--gray5-color) 100%);
  transition: border-radius 0.3s ease;
}
.cs_curriculum_accordians .cs_accordian_head {
  display: flex;
  gap: 8px 16px;
  padding: 16px 48px 16px 16px;
}
.cs_curriculum_accordians .cs_accordian_title {
  flex: 1;
  min-width: 0;
}
.cs_curriculum_accordians .cs_accordian_meta {
  flex-shrink: 0;
  text-align: right;
}
.cs_curriculum_accordians .cs_accordian_toggle {
  font-size: 16px;
  position: absolute;
  top: 22px;
  right: 16px;
}
.cs_curriculum_accordians .cs_accordian_body {
  padding: 0 16px 16px;
}
.cs_curriculum_accordians .cs_accordian.active {
  border-radius: 20px;
}
.cs_curriculum_accordians .cs_accordian.active .cs_accordian_title {
  color: var(--black-color);
}
@media (max-width: 991px) {
  .cs_curriculum_accordians .cs_accordian.active {
    border-radius: 10px;
  }
}
@media (max-width: 575px) {
  .cs_curriculum_accordians .cs_accordian_head {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Lesson rows inside an open module */
.cs_lesson_list .cs_lesson_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 0;
  border-top: 1px solid var(--border-color);
}
.cs_lesson_list .cs_lesson_duration {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.cs_lesson_list .cs_lesson_duration i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
@media (max-width: 575px) {
  .cs_lesson_list .cs_lesson_item {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

.cs_lesson_check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 0;
  cursor: pointer;
}
.cs_lesson_check input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.cs_lesson_check .cs_lesson_check_box {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  margin-top: 5px;
  border-radius: 2px;
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.cs_lesson_check .cs_lesson_check_box::after {
  content: "";
  width: 4px;
  height: 7px;
  margin-top: -2px;
  border: solid var(--white-color);
  border-width: 0 2px 2px 0;
  opacity: 0;
  transform: rotate(45deg);
  transition: opacity 0.2s ease;
}
.cs_lesson_check:hover .cs_lesson_title {
  color: var(--primary-color);
}
.cs_lesson_check .cs_lesson_title {
  transition: color 0.3s ease;
}
.cs_lesson_check input:checked ~ .cs_lesson_check_box {
  border-color: var(--primary-color);
  background-color: var(--primary-color);
}
.cs_lesson_check input:checked ~ .cs_lesson_check_box::after {
  opacity: 1;
}
.cs_lesson_check input:checked ~ .cs_lesson_title {
  color: var(--primary-color);
  text-decoration: line-through;
}
.cs_lesson_check input:focus-visible ~ .cs_lesson_check_box {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}

/*===================================================
 Course Details — Instructor
=====================================================*/
.cs_course_instructor {
  display: flex;
  gap: 24px;
  align-items: center;
}
.cs_course_instructor .cs_instructor_thumbnail {
  flex-shrink: 0;
  width: 224px;
  height: 200px;
  overflow: hidden;
}
.cs_course_instructor .cs_instructor_thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_course_instructor .cs_instructor_info {
  flex: 1;
}
.cs_course_instructor .cs_instructor_name {
  margin-bottom: 5px;
}
.cs_course_instructor .cs_instructor_role {
  margin-bottom: 16px;
}
.cs_course_instructor .cs_instructor_bio {
  margin-bottom: 24px;
}
.cs_course_instructor .cs_course_meta_list {
  gap: 8px 16px;
}
@media (max-width: 575px) {
  .cs_course_instructor {
    flex-direction: column;
    gap: 16px;
  }
  .cs_course_instructor .cs_instructor_thumbnail {
    width: 100%;
    height: 240px;
  }
}

/*===================================================
 Course Details — Reviews
=====================================================*/
.cs_course_rating_summary {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 16px;
}
.cs_course_rating_summary .cs_rating_score {
  color: var(--black-color);
}
.cs_course_rating_summary .cs_rating_divider {
  display: inline-block;
  padding: 0 8px;
}

.cs_review_list {
  display: flex;
  gap: 16px;
  flex-direction: column;
}

.cs_feedback_card {
  padding: 24px;
  position: relative;
  border: 1px solid var(--border-color);
  background: linear-gradient(99deg, #fff 0%, #f6f7ff 100%);
}
.cs_feedback_card .cs_feedback_card_head {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
}
.cs_feedback_card .cs_review_avatar {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  border-radius: 50%;
}
.cs_feedback_card .cs_review_avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_feedback_card .cs_review_author {
  flex: 1;
}
.cs_feedback_card .cs_review_name {
  margin-bottom: 5px;
}
.cs_feedback_card .cs_review_role {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.cs_feedback_card .cs_review_divider {
  padding: 0 4px;
}
.cs_feedback_card .cs_rating {
  width: 84px;
  position: absolute;
  top: 64px;
  right: 24px;
}
@media (max-width: 1199px) {
  .cs_feedback_card .cs_review_avatar {
    width: 80px;
    height: 80px;
  }
  .cs_feedback_card .cs_rating {
    top: 54px;
  }
}
@media (max-width: 575px) {
  .cs_feedback_card {
    padding: 20px 15px;
  }
  .cs_feedback_card .cs_feedback_card_head {
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
  }
  .cs_feedback_card .cs_review_divider {
    display: none;
  }
  .cs_feedback_card .cs_rating {
    display: block;
    width: 84px;
    position: relative;
    top: initial;
    right: initial;
    margin-bottom: 12px;
  }
}

/*===================================================
 Course Details — Review Form
=====================================================*/
.cs_review_form_wrap .cs_review_form_text {
  margin-bottom: 24px;
}

.cs_review_form .cs_form_field::-moz-placeholder {
  opacity: 0.5;
}

.cs_review_form .cs_form_field::placeholder {
  opacity: 0.5;
}
.cs_review_form .cs_rating_input_group {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 44px;
  margin-top: 30px;
}
.cs_review_form .cs_primary_btn {
  display: inline-flex;
}
@media (max-width: 767px) {
  .cs_review_form .cs_rating_input_group {
    height: auto;
    margin-top: 0;
    gap: 10px;
  }
  .cs_review_form .cs_rating_input_group i {
    font-size: 16px;
  }
}

/* shopInit() swaps ri-star-line for ri-star-fill as the user picks a score */
.cs_input_rating {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.cs_input_rating i {
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: var(--secondary-color);
  transition: color 0.3s ease;
}
.cs_input_rating .ri-star-fill {
  color: var(--warning-color);
}

/*===================================================
 Course Details — Purchase Card
=====================================================*/
.cs_course_purchase_card {
  padding: 16px;
  border: 1px solid var(--border-color);
}
.cs_course_purchase_card .cs_course_preview {
  display: block;
  position: relative;
  overflow: hidden;
  margin-bottom: 16px;
}
.cs_course_purchase_card .cs_course_preview img {
  width: 100%;
  height: 150px;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_course_purchase_card .cs_course_badge {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 5px 10px;
}
.cs_course_purchase_card .cs_play_btn {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  font-size: 24px;
  line-height: 1;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  color: var(--error-color);
  background-color: var(--white-color);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_course_purchase_card .cs_play_btn:hover {
  color: var(--white-color);
  background-color: var(--error-color);
}
.cs_course_purchase_card .cs_course_price {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.cs_course_purchase_card .cs_course_price_note {
  margin-bottom: 16px;
}
.cs_course_purchase_card .cs_purchase_btn {
  width: 100%;
  padding: 13px 18px;
}
.cs_course_purchase_card .cs_purchase_btn + .cs_purchase_btn {
  margin-top: 8px;
}
.cs_course_purchase_card .cs_secondary_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_course_purchase_card .cs_course_feature_list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 24px 0 16px;
}
.cs_course_purchase_card .cs_course_feature_list li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.cs_course_purchase_card .cs_course_feature_list img {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 5px;
}
.cs_course_purchase_card .cs_course_guarantee {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  background: linear-gradient(90deg, var(--gray6-color) 0%, var(--gray3-color) 100%);
}
.cs_course_purchase_card .cs_course_guarantee i {
  flex-shrink: 0;
  font-size: 16px;
  line-height: 1;
}
.cs_course_purchase_card .cs_course_spec_list {
  display: flex;
  flex-direction: column;
  margin-top: 24px;
}
.cs_course_purchase_card .cs_course_spec_list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/*====================================================
 21. Partner
======================================================*/
/*===================================================
 Partners Marquee
=====================================================*/
.cs_partners_wrap {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 36px 0;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}
.cs_partners_wrap .cs_partners_title {
  flex: 0 0 auto;
  max-width: 160px;
  line-height: 24px;
}
.cs_partners_wrap .cs_partner_logo {
  display: flex;
  align-items: center;
}
.cs_partners_wrap .cs_partner_logo img {
  height: 40px;
  width: auto;
  display: block;
}
@media (max-width: 767px) {
  .cs_partners_wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 24px 0;
  }
  .cs_partners_wrap .cs_partners_title {
    max-width: 100%;
  }
  .cs_partners_wrap .cs_partner_logo img {
    height: 30px;
  }
  .cs_partners_wrap .swiper {
    width: 100%;
  }
}

/*====================================================
 22. Event
======================================================*/
.cs_event_section {
  overflow: hidden;
}

/*===================================================
 Event Details Page
=====================================================*/
.cs_event_details_main {
  width: min(100%, 872px);
}
.cs_event_details_main .cs_event_details_header {
  margin-bottom: 24px;
}
.cs_event_details_main .cs_event_details_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
  color: var(--primary-color);
}
.cs_event_details_main .cs_event_details_meta li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 3px 10px;
  border-radius: 50px;
  background: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_event_details_main .cs_event_banner {
  overflow: hidden;
  margin-bottom: 32px;
}
.cs_event_details_main .cs_event_banner img {
  display: block;
  width: 100%;
  aspect-ratio: 2.08;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_event_details_main .cs_event_details_block {
  margin-top: 32px;
}
.cs_event_details_main .cs_event_details_block > p {
  margin-bottom: 16px;
}
.cs_event_details_main .cs_event_speakers {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 320px));
}
.cs_event_details_main .cs_event_schedule {
  display: grid;
  gap: 18px;
}
.cs_event_details_main .cs_event_schedule li {
  display: grid;
  gap: 15px;
  grid-template-columns: auto 1fr;
  align-items: start;
}
.cs_event_details_main .cs_event_schedule strong {
  font-weight: 500;
  color: var(--black-color);
}
.cs_event_details_main .cs_event_schedule time {
  width: -moz-max-content;
  width: max-content;
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 7px 10px;
  font-size: 12px;
  line-height: 1em;
  border-radius: 50px;
  color: var(--primary-color);
  background: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
@media (max-width: 991px) {
  .cs_event_details_main {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .cs_event_details_main .cs_event_speakers {
    gap: 16px;
  }
}
@media (max-width: 480px) {
  .cs_event_details_main .cs_event_speakers {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 370px) {
  .cs_event_details_main .cs_event_schedule li {
    gap: 8px;
    grid-template-columns: 1fr;
  }
}

.cs_event_benefits,
.cs_event_booking_features {
  display: grid;
  gap: 8px;
}
.cs_event_benefits li,
.cs_event_booking_features li {
  position: relative;
  padding-left: 30px;
}
.cs_event_benefits img,
.cs_event_booking_features img {
  width: 16px;
  position: absolute;
  left: 0;
  top: 5px;
}

.cs_event_booking_card,
.cs_event_venue_card {
  padding: 16px;
  border: 1px solid var(--border-color);
}

.cs_event_details_sidebar {
  width: min(100%, 312px);
  display: grid;
  gap: 24px;
  margin-left: auto;
}
.cs_event_details_sidebar .cs_event_booking_card {
  display: grid;
  gap: 12px;
}
.cs_event_details_sidebar .cs_event_booking_card .cs_primary_btn {
  width: 100%;
}
.cs_event_details_sidebar .cs_event_booking_card small {
  display: block;
  text-align: center;
}
.cs_event_details_sidebar .cs_event_booking_price {
  display: flex;
  align-items: baseline;
  gap: 5px;
}
.cs_event_details_sidebar .cs_event_booking_features {
  padding-bottom: 8px;
}
.cs_event_details_sidebar .cs_payment_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.cs_event_details_sidebar .cs_payment_cards {
  display: flex;
  gap: 7px;
  color: var(--secondary-color);
  font-size: 24px;
}
.cs_event_details_sidebar .cs_event_total {
  margin: 4px 0;
}
.cs_event_details_sidebar .cs_event_total div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 4px 0;
}
.cs_event_details_sidebar .cs_event_total dd {
  margin: 0;
}
.cs_event_details_sidebar .cs_event_total .cs_event_total_final {
  padding-top: 10px;
  color: var(--black-color);
  font-weight: 600;
  border-top: 1px solid var(--border-color);
}
.cs_event_details_sidebar .cs_event_map {
  margin: 16px 0;
  cursor: grab;
}
.cs_event_details_sidebar .cs_event_map iframe {
  width: 100%;
  min-height: 150px;
  border-radius: inherit;
  filter: brightness(90%) grayscale(0.8);
}
@media (max-width: 991px) {
  .cs_event_details_sidebar {
    width: 100%;
  }
}

/*===================================================
 Event Cards (left)
=====================================================*/
.cs_event_list {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 1399px) {
  .cs_event_list {
    gap: 16px;
  }
}
@media (max-width: 575px) {
  .cs_event_list {
    grid-template-columns: 1fr;
  }
}

.cs_event_card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.cs_event_card .cs_event_card_top {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.cs_event_card .cs_event_meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 50px;
  background-color: var(--white-color);
}
.cs_event_card .cs_event_meta i {
  color: var(--primary-color);
}
.cs_event_card .cs_event_title {
  margin: 8px 0;
}
.cs_event_card .cs_event_title a {
  color: inherit;
}
.cs_event_card .cs_event_title a:hover {
  color: var(--primary-color);
}
.cs_event_card .cs_event_card_bottom {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: auto;
  justify-content: space-between;
}
.cs_event_card .cs_event_price .cs_event_price_value {
  font-size: 20px;
  font-family: var(--primary-font);
  color: var(--primary-color);
}
.cs_event_card .cs_event_btn {
  color: var(--black-color);
}
.cs_event_card .cs_event_btn:hover {
  color: var(--primary-color);
}
@media (max-width: 991px) {
  .cs_event_card {
    padding: 16px;
  }
}

/*===================================================
 Event Media (right)
=====================================================*/
.cs_event_media {
  position: relative;
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 27vw;
  max-width: 512px;
}
.cs_event_media > img {
  position: relative;
  z-index: 1;
}
.cs_event_media .cs_event_glow {
  position: absolute;
  top: -30px;
  left: 50%;
  z-index: 0;
  transform: translateX(-50%);
}
.cs_event_media .cs_event_glow img {
  animation: halfRotation 20s linear infinite;
}
@media (max-width: 1440px) {
  .cs_event_media .cs_event_glow {
    top: -30px;
    right: 20px;
  }
}
@media (max-width: 1199px) {
  .cs_event_media {
    display: none;
  }
}

/*===================================================
 Event Card Style 1
=====================================================*/
.cs_event_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 991px) {
  .cs_event_grid {
    gap: 20px 16px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .cs_event_grid {
    grid-template-columns: 1fr;
  }
}

.cs_event_card_1 {
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 35px color-mix(in srgb, var(--black-color) 8%, transparent);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.cs_event_card_1 .cs_card_thumb {
  position: relative;
  overflow: hidden;
  border-radius: 15px 15px 0 0;
}
.cs_event_card_1 .cs_card_thumb > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.cs_event_card_1 .cs_event_time {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 5px;
  padding: 5px 10px;
  color: var(--gray3-color);
}
.cs_event_card_1 .cs_event_time i {
  font-size: 16px;
}
.cs_event_card_1 .cs_card_content {
  flex: 1;
  padding: 16px;
  display: flex;
  flex-direction: column;
  border-radius: 0 0 15px 15px;
}
.cs_event_card_1 .cs_event_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cs_event_card_1 .cs_event_meta span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  color: var(--primary-color);
  font-size: 12px;
  line-height: 15px;
  border-radius: 50px;
  background: var(--white-color);
}
.cs_event_card_1 .cs_event_meta i {
  font-size: 16px;
}
.cs_event_card_1 .cs_event_title {
  margin: 8px 0;
  font-size: clamp(18px, 2vw, 24px);
}
.cs_event_card_1 .cs_event_title a:hover {
  color: var(--primary-color);
}
.cs_event_card_1 .cs_card_footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
}
.cs_event_card_1 .cs_event_price {
  color: var(--primary-color);
}
.cs_event_card_1 .cs_card_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--black-color);
}
.cs_event_card_1 .cs_card_btn i {
  font-size: 16px;
}
.cs_event_card_1 .cs_card_btn:hover {
  color: var(--primary-color);
}
.cs_event_card_1:hover {
  box-shadow: 0 18px 45px color-mix(in srgb, var(--primary-color) 18%, transparent);
}
.cs_event_card_1:hover .cs_card_thumb > img {
  transform: scale(1.03);
}

/*====================================================
 23. Shop
======================================================*/
/*===================================================
 Shop Listing Toolbar
=====================================================*/
@media (max-width: 991px) {
  .cs_shop_section .cs_grid_col_4 {
    gap: 16px 12px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .cs_shop_section .cs_grid_col_4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 400px) {
  .cs_shop_section .cs_grid_col_4 {
    grid-template-columns: 1fr;
  }
}

.cs_shop_toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin-bottom: 24px;
}
.cs_shop_toolbar .cs_shop_result {
  margin-bottom: 0;
}
.cs_shop_toolbar .cs_shop_sort {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_shop_toolbar .cs_sort_label {
  flex-shrink: 0;
}
.cs_shop_toolbar .nice-select {
  width: 171px;
  color: var(--black-color);
}
.cs_shop_toolbar .nice-select .option {
  line-height: 38px;
  min-height: 38px;
}
@media (max-width: 1199px) {
  .cs_shop_toolbar .nice-select {
    height: 42px;
  }
}
@media (max-width: 575px) {
  .cs_shop_toolbar .cs_shop_sort {
    width: 100%;
  }
  .cs_shop_toolbar .nice-select {
    flex: 1 1 auto;
    width: auto;
  }
}

/*===================================================
 Product Style 1
=====================================================*/
.cs_product_style_1 {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 16px;
  border: 1px solid var(--border-color);
}
.cs_product_style_1 .cs_product_thumbnail {
  position: relative;
  overflow: hidden;
  padding: 25px 35px;
  margin-bottom: 16px;
  background-color: var(--gray10-color);
}
.cs_product_style_1 .cs_product_thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.cs_product_style_1 .cs_primary_btn {
  position: absolute;
  left: 50%;
  bottom: 16px;
  padding: 8px 15px;
  text-wrap: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 15px);
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease, background-color 0.3s ease;
}
.cs_product_style_1 .cs_product_body {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.cs_product_style_1 .cs_product_title {
  margin-bottom: 10px;
}
.cs_product_style_1 .cs_product_title a:hover {
  color: var(--primary-color);
}
.cs_product_style_1 .cs_product_footer {
  gap: 4px 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: auto;
  justify-content: space-between;
}
.cs_product_style_1 .cs_product_price {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.cs_product_style_1 .cs_product_rating {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.cs_product_style_1 .cs_product_rating i {
  font-size: 16px;
  line-height: 1;
  color: var(--warning-color);
}
.cs_product_style_1:hover .cs_product_thumbnail img {
  transform: scale(1.03);
}
.cs_product_style_1:hover .cs_primary_btn {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
@media (max-width: 991px) {
  .cs_product_style_1 {
    padding: 12px 12px 16px;
  }
  .cs_product_style_1 .cs_product_thumbnail {
    padding: 20px;
  }
}

/*===================================================
 Product Details
=====================================================*/
.cs_product_details_row {
  display: grid;
  align-items: center;
  gap: 40px;
  justify-content: space-between;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 1199px) {
  .cs_product_details_row {
    align-items: start;
    grid-template-columns: 1fr 1.2fr;
  }
}
@media (max-width: 991px) {
  .cs_product_details_row {
    gap: 24px;
    grid-template-columns: 1fr;
  }
}

/* Percentage padding keeps the 648 x 550 panel proportional at every width */
.cs_product_details_thumbnail {
  width: min(100%, 648px);
  padding: 15% 12%;
  background-color: var(--gray10-color);
}
.cs_product_details_thumbnail img {
  width: 100%;
  height: auto;
}
@media (max-width: 991px) {
  .cs_product_details_thumbnail {
    width: 100%;
  }
}

.cs_product_details_info {
  width: min(100%, 540px);
  margin-left: auto;
}
.cs_product_details_info .cs_product_title {
  margin-bottom: 4px;
}
.cs_product_details_info .cs_product_details_meta {
  display: flex;
  gap: 10px 24px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 20px;
}
.cs_product_details_info .cs_product_price {
  display: flex;
  gap: 8px;
  align-items: baseline;
}
.cs_product_details_info .cs_product_rating {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.cs_product_details_info .cs_product_rating i {
  font-size: 16px;
  line-height: 1;
  color: var(--warning-color);
}
.cs_product_details_info .cs_product_details_desc {
  margin-bottom: 16px;
}
.cs_product_details_info .cs_product_feature_list {
  display: grid;
  gap: 15px 16px;
  margin-bottom: 32px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_product_details_info .cs_product_feature_list li {
  position: relative;
  padding-left: 32px;
}
.cs_product_details_info .cs_product_feature_list i {
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 16px;
  line-height: 1em;
  color: var(--primary-color);
}
.cs_product_details_info .cs_product_cart_actions {
  gap: 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 32px;
}
.cs_product_details_info .cs_product_cart_actions .cs_primary_btn {
  padding: 8px 15px;
}
.cs_product_details_info .cs_product_badge_list {
  gap: 8px 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.cs_product_details_info .cs_product_badge_list li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 4px 10px;
  border-radius: 50px;
  border: 1px solid var(--border-color);
  background-color: color-mix(in srgb, var(--white-color) 50%, transparent);
}
.cs_product_details_info .cs_product_badge_list img {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
@media (max-width: 991px) {
  .cs_product_details_info {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .cs_product_details_info .cs_product_feature_list {
    gap: 12px;
    grid-template-columns: 1fr;
  }
}

.cs_quantity_box {
  display: flex;
  align-items: center;
  width: 100px;
  height: 40px;
  padding: 8px;
  border-radius: 3px;
  border: 1px solid var(--border-color);
}
.cs_quantity_box .cs_increment,
.cs_quantity_box .cs_decrement {
  display: flex;
  flex-shrink: 0;
  font-size: 16px;
  line-height: 1;
  transition: color 0.3s ease;
}
.cs_quantity_box .cs_increment:hover,
.cs_quantity_box .cs_decrement:hover {
  color: var(--primary-color);
}
.cs_quantity_box .cs_quantity_input {
  flex: 1;
  text-align: center;
}

/*===================================================
 Product Details — Tabs
=====================================================*/
.cs_product_tabs .cs_tab_links {
  gap: 0 64px;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--border-color);
}
.cs_product_tabs .cs_tab_links a {
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
  transition: color 0.3s ease;
}
.cs_product_tabs .cs_tab_links a::after {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  opacity: 0;
  background-color: var(--primary-color);
  transition: opacity 0.3s ease;
}
.cs_product_tabs .cs_tab_links a:hover {
  color: var(--primary-color);
}
.cs_product_tabs .cs_tab_links .active a {
  color: var(--primary-color);
}
.cs_product_tabs .cs_tab_links .active a::after {
  opacity: 1;
}
.cs_product_tabs .cs_tab {
  display: none;
  padding-top: 40px;
}
.cs_product_tabs .cs_tab.active {
  display: block;
}
.cs_product_tabs {
  /* 704px = two 340px columns on the design's grid, plus the 24px gutter */
}
.cs_product_tabs .cs_product_spec_list {
  display: grid;
  max-width: 704px;
  gap: 18px 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_product_tabs .cs_product_spec_list li {
  position: relative;
  padding-left: 26px;
}
.cs_product_tabs .cs_product_spec_list img {
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 3px;
}
@media (max-width: 767px) {
  .cs_product_tabs .cs_tab_links {
    gap: 0 24px;
  }
}
@media (max-width: 575px) {
  .cs_product_tabs .cs_product_spec_list {
    gap: 12px;
    grid-template-columns: minmax(0, 1fr);
  }
}

.cs_product_author {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}
.cs_product_author .cs_product_author_thumbnail {
  flex: none;
  width: min(100%, 280px);
  overflow: hidden;
}
.cs_product_author .cs_product_author_thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_product_author .cs_product_author_info {
  max-width: 800px;
}
.cs_product_author .cs_product_author_info p {
  margin-bottom: 16px;
}
.cs_product_author .cs_product_author_name {
  margin-bottom: 4px;
}
.cs_product_author .cs_product_author_follow {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_product_author .cs_product_author_follow strong {
  font-weight: 600;
  color: var(--black-color);
}
.cs_product_author .cs_social_btns_style_1 {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_product_author .cs_social_btns_style_1 a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--black-color);
  background: var(--gray10-color);
}
.cs_product_author .cs_social_btns_style_1 a:hover {
  color: var(--white-color);
  background: var(--accent-color);
}
@media (max-width: 991px) {
  .cs_product_author {
    gap: 24px;
  }
}
@media (max-width: 767px) {
  .cs_product_author {
    gap: 16px;
    flex-direction: column;
  }
  .cs_product_author .cs_product_author_info {
    width: 100%;
  }
}

.cs_product_review_list {
  display: grid;
  gap: 16px;
  max-width: 800px;
}
.cs_product_review_list .cs_product_review {
  display: flex;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--border-color);
}
.cs_product_review_list .cs_product_review_avatar {
  flex: none;
  width: 60px;
  height: 60px;
  overflow: hidden;
  border-radius: 50%;
}
.cs_product_review_list .cs_product_review_avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_product_review_list .cs_product_review_head {
  margin-bottom: 20px;
}
.cs_product_review_list .cs_product_review_date {
  display: inline-block;
  margin-top: -4px;
}
.cs_product_review_list .cs_rating {
  width: 84px;
  height: 16px;
  display: flex;
  margin-bottom: 10px;
}
@media (max-width: 575px) {
  .cs_product_review_list .cs_product_review {
    gap: 16px;
    padding: 20px;
  }
  .cs_product_review_list .cs_product_review_avatar {
    width: 48px;
    height: 48px;
  }
}

/*===================================================
 Cart
=====================================================*/
.cs_cart_table_wrap {
  overflow-x: auto;
}

.cs_cart_table {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
}
.cs_cart_table th {
  text-align: left;
  padding: 0 12px 9px 0;
  border-bottom: 1px solid var(--border-color);
}
.cs_cart_table td {
  vertical-align: middle;
  padding: 24px 12px 24px 0;
  border-bottom: 1px solid var(--border-color);
}
.cs_cart_table thead .cs_cart_col_product {
  position: relative;
  /* Primary accent that overlaps the header rule under the first column */
}
.cs_cart_table thead .cs_cart_col_product::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: -1px;
  width: 60px;
  height: 1px;
  background-color: var(--primary-color);
}
.cs_cart_table .cs_cart_col_product {
  width: 51%;
}
.cs_cart_table .cs_cart_col_price {
  width: 13%;
}
.cs_cart_table .cs_cart_col_quantity {
  width: 19%;
}
.cs_cart_table .cs_cart_col_total {
  width: 15%;
}
.cs_cart_table .cs_cart_col_remove {
  width: 2%;
  padding-right: 0;
}
.cs_cart_table .cs_secondary_btn {
  height: 50px;
  width: -moz-fit-content;
  width: fit-content;
  text-wrap: nowrap;
}
.cs_cart_table .cs_secondary_btn:disabled {
  cursor: not-allowed;
  color: var(--secondary-color);
  border-color: var(--gray10-color);
  background-color: var(--gray10-color);
}
.cs_cart_table .cs_secondary_btn:disabled:hover {
  color: var(--secondary-color);
  background-color: var(--gray10-color);
}
.cs_cart_table .cs_secondary_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_cart_table .cs_stock_status.cs_in_stock {
  color: var(--success-color);
}
.cs_cart_table .cs_stock_status.cs_out_of_stock {
  color: var(--error-color);
}
.cs_cart_table.cs_type_1 {
  min-width: 960px;
}
.cs_cart_table.cs_type_1 .cs_cart_col_product {
  width: 35%;
}
.cs_cart_table.cs_type_1 .cs_cart_col_price {
  width: 15%;
}
.cs_cart_table.cs_type_1 .cs_cart_col_quantity {
  width: 18%;
}
.cs_cart_table.cs_type_1 .cs_cart_col_stock {
  width: 15%;
}
.cs_cart_table.cs_type_1 .cs_cart_col_action {
  width: 15%;
}
.cs_cart_table.cs_type_1 .cs_cart_col_remove {
  width: 2%;
}
@media (max-width: 767px) {
  .cs_cart_table .cs_secondary_btn {
    height: 44px;
  }
}

.cs_cart_product {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_cart_product .cs_cart_product_thumbnail {
  flex-shrink: 0;
  width: 112px;
  height: 100px;
  overflow: hidden;
  background-color: var(--gray10-color);
}
.cs_cart_product .cs_cart_product_thumbnail img {
  width: 84px;
  height: 60px;
  -o-object-fit: contain;
     object-fit: contain;
}
.cs_cart_product .cs_cart_product_title {
  margin-bottom: 0;
}
.cs_cart_product .cs_cart_product_title a:hover {
  color: var(--primary-color);
}
@media (max-width: 767px) {
  .cs_cart_product .cs_cart_product_thumbnail {
    width: 84px;
    height: 75px;
  }
  .cs_cart_product .cs_cart_product_thumbnail img {
    width: 60px;
    height: 56px;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.cs_cart_remove {
  display: flex;
  margin-left: auto;
  font-size: 18px;
  line-height: 1;
  color: var(--error-color);
  transition: transform 0.2s ease;
}
.cs_cart_remove:hover {
  transform: rotate(90deg);
}

.cs_cart_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  margin-top: 16px;
}
.cs_cart_actions .cs_coupon_form {
  flex: 1;
  max-width: 536px;
  border-radius: 4px;
  position: relative;
}
.cs_cart_actions .cs_coupon_form input {
  width: 100%;
  height: 52px;
  padding: 10px 16px;
  font: inherit;
  border: none;
  outline: none;
  color: var(--black-color);
  border-radius: inherit;
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
}
.cs_cart_actions .cs_coupon_form input::-moz-placeholder {
  color: var(--secondary-color);
}
.cs_cart_actions .cs_coupon_form input::placeholder {
  color: var(--secondary-color);
}
.cs_cart_actions .cs_coupon_form .cs_primary_btn {
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
}
.cs_cart_actions .cs_secondary_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
@media (max-width: 767px) {
  .cs_cart_actions .cs_coupon_form input {
    height: 46px;
    padding: 8px 15px;
  }
  .cs_cart_actions .cs_coupon_form input::-moz-placeholder {
    color: var(--secondary-color);
  }
  .cs_cart_actions .cs_coupon_form input::placeholder {
    color: var(--secondary-color);
  }
}
@media (max-width: 575px) {
  .cs_cart_actions {
    flex-direction: column;
    align-items: start;
  }
  .cs_cart_actions .cs_coupon_form {
    width: 100%;
  }
  .cs_cart_actions .cs_secondary_btn {
    width: 100%;
  }
}
@media (max-width: 380px) {
  .cs_cart_actions {
    gap: 8px;
  }
  .cs_cart_actions .cs_coupon_form input {
    height: 44px;
  }
  .cs_cart_actions .cs_coupon_form .cs_primary_btn {
    position: initial;
    width: 100%;
    margin-top: 8px;
  }
  .cs_cart_actions .cs_secondary_btn {
    height: 44px;
  }
}

.cs_cart_totals {
  padding: 16px;
  border: 1px solid var(--border-color);
}
@media (min-width: 992px) {
  .cs_cart_totals {
    max-width: 312px;
    margin-left: auto;
  }
}
.cs_cart_totals .cs_cart_totals_title {
  margin-bottom: 16px;
}
.cs_cart_totals .cs_cart_totals_list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cs_cart_totals .cs_cart_totals_list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.cs_cart_totals .cs_cart_checkout_btn {
  margin-top: 36px;
}

/*===================================================
 Checkout — Billing Details
=====================================================*/
.cs_checkout_form .cs_checkout_title {
  margin-bottom: 24px;
}

/*===================================================
 Checkout — Order Summary
=====================================================*/
.cs_checkout_order {
  padding: 16px;
  border: 1px solid var(--border-color);
}
@media (min-width: 992px) {
  .cs_checkout_order {
    max-width: 312px;
    margin-left: auto;
  }
}
.cs_checkout_order .cs_checkout_order_title {
  margin-bottom: 16px;
}
.cs_checkout_order .cs_checkout_totals {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
}
.cs_checkout_order .cs_checkout_totals li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.cs_checkout_order .cs_checkout_payment_title {
  margin-bottom: 20px;
}
.cs_checkout_order .cs_payment_cards {
  display: block;
  margin-bottom: 4px;
}
.cs_checkout_order {
  /* <button> keeps fit-content width even as a flex container, so stretch it */
}
.cs_checkout_order .cs_checkout_submit_btn {
  width: 100%;
  margin-top: 16px;
}

.cs_payment_methods {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* The radio itself is hidden; the label paints the ring and reveals the card fields */
.cs_payment_option .cs_payment_input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.cs_payment_option .cs_payment_label {
  position: relative;
  display: block;
  padding-left: 24px;
  cursor: pointer;
  color: var(--black-color);
}
.cs_payment_option .cs_payment_label::before {
  position: absolute;
  content: "";
  left: 0;
  top: 5px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid var(--border-color);
  transition: border-color 0.3s ease;
}
.cs_payment_option .cs_payment_label::after {
  position: absolute;
  content: "";
  top: 9px;
  left: 4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  opacity: 0;
  background-color: var(--primary-color);
  transition: all 0.3s ease;
}
.cs_payment_option .cs_payment_input:checked + .cs_payment_label::before {
  border-width: 1px;
  border-color: var(--primary-color);
}
.cs_payment_option .cs_payment_input:checked + .cs_payment_label::after {
  opacity: 1;
}
.cs_payment_option .cs_payment_input:focus-visible + .cs_payment_label::before {
  border-color: var(--primary-color);
}
.cs_payment_option .cs_payment_fields {
  display: none;
  gap: 16px;
  margin-top: 8px;
}
.cs_payment_option .cs_payment_input:checked ~ .cs_payment_fields {
  display: grid;
}
.cs_payment_option .cs_payment_field_row {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_payment_option .cs_payment_field .cs_form_label {
  margin-bottom: 0;
}
.cs_payment_option .cs_payment_field .cs_form_field {
  font-size: 14px;
}

/* The checkbox itself is hidden; the label paints the box and the tick */
.cs_checkout_agree {
  margin-top: 18px;
}
.cs_checkout_agree .cs_checkout_agree_input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.cs_checkout_agree .cs_checkout_agree_label {
  position: relative;
  display: block;
  padding-left: 24px;
  cursor: pointer;
}
.cs_checkout_agree .cs_checkout_agree_label::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 15px;
  height: 15px;
  border-radius: 2px;
  border: 2px solid var(--border-color);
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.cs_checkout_agree .cs_checkout_agree_label::after {
  position: absolute;
  content: "";
  left: 6px;
  top: 2px;
  width: 4px;
  height: 8px;
  opacity: 0;
  border: solid var(--white-color);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  transition: opacity 0.3s ease;
}
.cs_checkout_agree .cs_checkout_agree_label a {
  color: var(--primary-color);
}
.cs_checkout_agree .cs_checkout_agree_label a:hover {
  text-decoration: underline;
}
.cs_checkout_agree .cs_checkout_agree_input:checked + .cs_checkout_agree_label::before {
  border-color: var(--primary-color);
  background-color: var(--primary-color);
}
.cs_checkout_agree .cs_checkout_agree_input:checked + .cs_checkout_agree_label::after {
  opacity: 1;
}
.cs_checkout_agree .cs_checkout_agree_input:focus-visible + .cs_checkout_agree_label::before {
  border-color: var(--primary-color);
}

/*=====================================================
 24. Admin / Dashboard
=======================================================*/
.cs_dashboard_body {
  background-color: var(--gray10-color);
}

.cs_dashboard_body form .cs_form_field,
.cs_dashboard_body form .nice-select {
  background-color: var(--gray10-color);
  border-color: transparent;
}

/*===================================================
 Dashboard Sidebar
=====================================================*/
.cs_dashboard_sidebar {
  position: fixed;
  left: max(0px, (100vw - 1920px) / 2);
  top: 100px;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  width: min(18%, 300px);
  height: 100%;
  max-height: calc(100vh - 80px);
  background-color: var(--white-color);
  transition: all 0.4s ease;
}
.cs_dashboard_sidebar:has(~ .cs_sticky_active) {
  top: 80px;
}
.cs_dashboard_sidebar .cs_dashboard_sidebar_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  height: 100px;
  padding: 0 24px;
  border-bottom: 1px solid var(--border-color);
  transition: all 0.3s ease;
}
.cs_dashboard_sidebar .cs_site_branding img {
  height: 50px;
  width: auto;
}
.cs_dashboard_sidebar .cs_dashboard_sidebar_close {
  display: none;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  font-size: 22px;
  line-height: 1;
  color: var(--black-color);
  border: 0;
  border-radius: 5px;
  background-color: var(--gray10-color);
}
.cs_dashboard_sidebar .cs_dashboard_nav {
  flex: 1 1 auto;
  border-top: 1px solid var(--border-color);
  overflow-y: auto;
  padding: 24px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.cs_dashboard_sidebar .cs_dashboard_nav::-webkit-scrollbar {
  display: none;
}
.cs_dashboard_sidebar .cs_dashboard_nav_list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cs_dashboard_sidebar .cs_dashboard_nav_list a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 24px 5px 10px;
  border-radius: 5px;
  position: relative;
  transition: all 0.3s ease;
}
.cs_dashboard_sidebar .cs_dashboard_nav_list a i {
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}
.cs_dashboard_sidebar .cs_dashboard_nav_list a:hover {
  color: var(--primary-color);
  background-color: var(--gray6-color);
}
.cs_dashboard_sidebar .cs_dashboard_nav_list a.active {
  color: var(--gray3-color);
  background-color: var(--primary-color);
}
.cs_dashboard_sidebar .cs_dashboard_nav_list .cs_icon_badge {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 10px;
  right: 5px;
  border-radius: 50%;
}
.cs_dashboard_sidebar .cs_dashboard_sidebar_foot {
  padding: 24px;
  border-top: 1px solid var(--border-color);
}
.cs_dashboard_sidebar .cs_dashboard_sidebar_foot .cs_dashboard_user {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.cs_dashboard_sidebar .cs_dashboard_sidebar_foot .cs_dashboard_user img {
  width: 52px;
  height: 52px;
  -o-object-fit: cover;
     object-fit: cover;
  flex-shrink: 0;
}
.cs_dashboard_sidebar .cs_dashboard_sidebar_foot .cs_dashboard_user_info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.cs_dashboard_sidebar .cs_dashboard_sidebar_foot .cs_dashboard_user_mail {
  color: var(--secondary-color);
}
.cs_dashboard_sidebar .cs_dashboard_sidebar_foot .cs_dashboard_logout {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  color: var(--secondary-color);
  border-radius: 5px;
  transition: all 0.3s ease;
}
.cs_dashboard_sidebar .cs_dashboard_sidebar_foot .cs_dashboard_logout i {
  font-size: 16px;
  line-height: 1;
}
.cs_dashboard_sidebar .cs_dashboard_sidebar_foot .cs_dashboard_logout:hover {
  color: var(--error-color);
  background-color: var(--gray6-color);
}
@media (min-width: 1200px) {
  .cs_dashboard_sidebar .cs_desktop_hide {
    display: none;
  }
}
@media (max-width: 1199px) {
  .cs_dashboard_sidebar {
    max-height: 100vh;
    width: min(100%, 320px);
    top: 0;
    transform: translateX(-200%);
  }
  .cs_dashboard_sidebar .cs_dashboard_sidebar_head {
    height: 80px;
  }
  .cs_dashboard_sidebar:has(~ .cs_sticky_active) {
    top: 0;
  }
  .cs_dashboard_sidebar:has(~ .cs_sticky_active) .cs_dashboard_sidebar_head {
    height: 70px;
    padding: 10px 16px 10px 24px;
  }
  .cs_dashboard_sidebar.active {
    transform: translateX(0);
  }
  .cs_dashboard_sidebar .cs_dashboard_sidebar_head {
    padding: 15px 16px 14px 24px;
  }
  .cs_dashboard_sidebar .cs_dashboard_sidebar_close {
    display: inline-flex;
  }
}
@media (max-width: 991px) {
  .cs_dashboard_sidebar .cs_dashboard_sidebar_head {
    height: 70px;
    padding: 10px 16px 10px 24px;
  }
}
@media (max-width: 767px) {
  .cs_dashboard_sidebar .cs_site_branding img {
    height: 40px;
  }
}

.cs_dashboard_sidebar_overlay {
  position: fixed;
  inset: 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  background-color: rgba(20, 23, 26, 0.5);
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.cs_dashboard_sidebar_overlay.active {
  opacity: 1;
  visibility: visible;
}

/*===================================================
 Dashboard Shell + Header
=====================================================*/
.cs_dashboard_content {
  padding: 124px min(1.5%, 16px) 24px min(19%, 316px);
  margin: auto;
  width: min(100%, 1920px);
}
@media (max-width: 1199px) {
  .cs_dashboard_content {
    padding: 100px 12px 24px 12px;
  }
}

.cs_dashboard_header .cs_main_header_center {
  width: min(50%, 720px);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.cs_dashboard_header .cs_header_search {
  width: 100%;
  max-width: 100%;
}
.cs_dashboard_header .cs_sidebar_toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: transparent;
}
.cs_dashboard_header .cs_sidebar_toggle span {
  display: block;
  width: 100%;
  height: 2px;
  position: relative;
  background-color: var(--black-color);
  transition: background-color 0.4s ease;
}
.cs_dashboard_header .cs_sidebar_toggle span::before, .cs_dashboard_header .cs_sidebar_toggle span::after {
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  background-color: var(--black-color);
  transition: transform 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.cs_dashboard_header .cs_sidebar_toggle span::before {
  top: -7px;
}
.cs_dashboard_header .cs_sidebar_toggle span::after {
  bottom: -7px;
}
.cs_dashboard_header .cs_sidebar_toggle.active span {
  background-color: transparent;
}
.cs_dashboard_header .cs_sidebar_toggle.active span::before {
  transform: translate(-50%, 7px) rotate(45deg);
}
.cs_dashboard_header .cs_sidebar_toggle.active span::after {
  transform: translate(-50%, -7px) rotate(-45deg);
}
.cs_dashboard_header .cs_sidebar_toggle:hover {
  color: var(--primary-color);
  border-color: var(--primary-color);
}
.cs_dashboard_header .cs_header_icon_btn {
  position: relative;
  width: 52px;
  height: 52px;
  font-size: 20px;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_dashboard_header .cs_icon_badge {
  position: absolute;
  top: 2px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 15px;
  height: 15px;
  padding: 0 4px;
  line-height: 1;
  border-radius: 50px;
}
.cs_dashboard_header .cs_header_user {
  position: relative;
  flex-shrink: 0;
  margin-left: 6px;
}
.cs_dashboard_header .cs_header_avatar {
  display: block;
  line-height: 0;
}
.cs_dashboard_header .cs_header_avatar img {
  width: 52px;
  height: 52px;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_dashboard_header .cs_user_dropdown {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  display: none;
  min-width: 240px;
  padding-bottom: 10px;
  overflow: hidden;
  text-align: left;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  box-shadow: 0 10px 30px color-mix(in srgb, var(--black-color) 10%, transparent);
  z-index: 20;
}
.cs_dashboard_header .cs_user_head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  margin-bottom: 10px;
  background-color: var(--gray6-color);
}
.cs_dashboard_header .cs_user_head img {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_dashboard_header .cs_user_info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.cs_dashboard_header .cs_user_mail {
  color: var(--secondary-color);
}
.cs_dashboard_header .cs_dropdown_list a {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  padding: 8px 24px 8px 16px;
}
.cs_dashboard_header .cs_dropdown_list a i {
  font-size: 16px;
  line-height: 1;
}
.cs_dashboard_header .cs_dropdown_list a:hover {
  color: var(--primary-color);
  background-color: var(--gray6-color);
}
.cs_dashboard_header .cs_dropdown_list li:last-child a:hover {
  color: var(--error-color);
}
.cs_dashboard_header .cs_dropdown_list .cs_icon_badge {
  position: absolute;
  top: 14px;
  right: 12px;
  width: 16px;
  height: 16px;
  padding: 2px;
}
@media (max-width: 1199px) {
  .cs_dashboard_header .cs_main_header_in {
    padding-right: 44px;
  }
}

.cs_dashboard_section {
  margin-bottom: 24px;
}
.cs_dashboard_section:last-child {
  margin-bottom: 0;
}
.cs_dashboard_section .cs_dashboard_welcome {
  margin-bottom: 24px;
}
.cs_dashboard_section .cs_dashboard_title {
  margin-bottom: 18px;
}

.cs_dashboard_stat_grid,
.cs_courses_grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, 1fr);
}

/*===================================================
 Stat Cards
=====================================================*/
.cs_dashboard_stat {
  display: flex;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--border-color);
}
.cs_dashboard_stat .cs_stat_icon {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  padding: 13px;
  background: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_dashboard_stat .cs_stat_icon img {
  border-radius: 0;
}
.cs_dashboard_stat .cs_stat_text {
  min-width: 0;
}
@media (max-width: 1399px) {
  .cs_dashboard_stat {
    gap: 12px;
    padding: 16px 12px;
  }
  .cs_dashboard_stat .cs_stat_icon {
    width: 60px;
    height: 60px;
  }
}

/*===================================================
 My Courses Toolbar
=====================================================*/
.cs_dashboard_toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px 24px;
  margin-bottom: 24px;
}

.cs_enrolled_pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  padding: 5px 10px;
  border: 1px solid var(--border-color);
  border-radius: 50px;
}
.cs_enrolled_pill i {
  font-size: 16px;
  line-height: 1;
  color: var(--warning-color);
}

.cs_dashboard_toolbar_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 40px;
}

.cs_course_status_nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 40px;
}
.cs_course_status_nav .cs_filter_btn {
  padding: 0;
  border: 0;
  font-weight: 600;
  background-color: transparent;
  color: var(--secondary-color);
  transition: color 0.3s ease;
}
.cs_course_status_nav .cs_filter_btn:hover, .cs_course_status_nav .cs_filter_btn.active {
  color: var(--primary-color);
}
@media (max-width: 1399px) {
  .cs_course_status_nav {
    gap: 10px 24px;
  }
}

/*===================================================
 Continue Learning Banner
=====================================================*/
.cs_continue_card {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 10px;
  background-image: linear-gradient(90deg, var(--primary-color) 0%, var(--accent-color) 100%);
}
.cs_continue_card .cs_continue_thumbnail {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 139px;
  flex-shrink: 0;
}
.cs_continue_card .cs_continue_thumbnail img {
  width: 100px;
  height: 100px;
}
.cs_continue_card .cs_continue_body {
  flex: 1 1 auto;
  min-width: 0;
  padding: 6px 0;
}
.cs_continue_card .cs_continue_title {
  margin-bottom: 16px;
}
.cs_continue_card .cs_continue_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}
.cs_continue_card .cs_continue_meta li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  color: var(--white-color);
  border: 1px solid color-mix(in srgb, var(--white-color) 20%, transparent);
  border-radius: 50px;
}
.cs_continue_card .cs_continue_meta i {
  font-size: 16px;
  line-height: 1;
}
.cs_continue_card .cs_continue_progress {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cs_continue_card .cs_continue_progress .cs_progress {
  flex: 1 1 auto;
  height: 10px;
  margin-bottom: 0;
  background-color: color-mix(in srgb, var(--white-color) 20%, transparent);
}
.cs_continue_card .cs_continue_progress .cs_progress_in {
  background-color: var(--white-color);
}
.cs_continue_card .cs_primary_btn {
  align-self: flex-end;
  flex-shrink: 0;
  border-radius: 5px;
  padding: 10px 16px;
  margin: 0 14px 14px 0;
}
.cs_continue_card .cs_primary_btn i {
  font-size: 16px;
  line-height: 1;
}
.cs_continue_card .cs_primary_btn:hover {
  color: var(--primary-color);
  background-color: var(--white-color);
}
@media (max-width: 1199px) {
  .cs_continue_card {
    flex-wrap: wrap;
  }
  .cs_continue_card .cs_continue_thumbnail {
    width: 150px;
    height: 110px;
  }
  .cs_continue_card .cs_continue_thumbnail img {
    width: 76px;
    height: 76px;
  }
  .cs_continue_card .cs_continue_btn {
    align-self: center;
    margin: 0 14px 0 0;
  }
}
@media (max-width: 767px) {
  .cs_continue_card .cs_continue_body {
    flex-basis: 100%;
    padding: 0 4px;
  }
  .cs_continue_card .cs_continue_btn {
    margin: 0 0 10px 4px;
  }
}

/*===================================================
 Dashboard Panels
=====================================================*/
.cs_dashboard_panel {
  height: 100%;
  padding: 16px;
  border: 1px solid var(--border-color);
  box-shadow: 0 2px 8px 0 rgba(108, 92, 231, 0.06);
}
.cs_dashboard_panel .cs_panel_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}
.cs_dashboard_panel .cs_panel_note {
  color: var(--secondary-color);
}

.cs_dashboard_panels {
  display: grid;
  gap: 24px;
  grid-template-columns: 1.6fr 1.3fr 1fr;
}

/*===================================================
 Upcoming Deadlines
=====================================================*/
.cs_deadline_list li {
  display: flex;
  gap: 16px;
  padding: 15px 0;
  border-bottom: 1px dashed var(--border-color);
}
.cs_deadline_list li:first-child {
  padding-top: 9px;
}
.cs_deadline_list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.cs_deadline_list .cs_deadline_dot {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
  margin-top: 9px;
  border-radius: 50%;
}
.cs_deadline_list .cs_deadline_text {
  flex: 1 1 auto;
  min-width: 0;
}
.cs_deadline_list .cs_deadline_action {
  flex-shrink: 0;
  color: var(--secondary-color);
  transition: color 0.3s ease;
}
.cs_deadline_list .cs_deadline_action:hover {
  color: var(--primary-color);
}

/*===================================================
 Live Classes
=====================================================*/
.cs_live_class_list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cs_live_class_list li {
  padding: 8px 12px;
  background-color: var(--gray10-color);
}
.cs_live_class_list .cs_live_class_head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.cs_live_class_list .cs_live_badge {
  flex-shrink: 0;
  padding: 2px 6px;
  line-height: 15px;
}
.cs_live_class_list .cs_live_class_time {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 4px;
  color: var(--secondary-color);
}
.cs_live_class_list .cs_live_class_time i {
  font-size: 14px;
  line-height: 1;
}

/*===================================================
 AI Recommendations
=====================================================*/
.cs_ai_reco_list li {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px dashed var(--border-color);
}
.cs_ai_reco_list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.cs_ai_reco_list .cs_ai_reco_icon {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  padding: 13px;
  background: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_ai_reco_list .cs_ai_reco_text {
  min-width: 0;
}
.cs_ai_reco_list .cs_ai_reco_text h3 {
  margin-bottom: 6px;
}
.cs_ai_reco_list .cs_ai_reco_text a:hover {
  color: var(--primary-color);
}
@media (max-width: 1399px) {
  .cs_ai_reco_list .cs_ai_reco_icon {
    width: 60px;
    height: 60px;
  }
}

/*===================================================
 Weekly Learning Activity Chart
=====================================================*/
.cs_bar_chart {
  --cs-chart-count: 8;
}
.cs_bar_chart .cs_bar_chart_data {
  display: none;
}
.cs_bar_chart .cs_bar_chart_in {
  display: flex;
  gap: 15px;
}
.cs_bar_chart .cs_chart_y_axis {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 180px;
  flex-shrink: 0;
  color: var(--secondary-color);
}
.cs_bar_chart .cs_chart_y_axis li {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 0;
}
.cs_bar_chart .cs_chart_area {
  flex: 1 1 auto;
  min-width: 0;
}
.cs_bar_chart .cs_chart_plot {
  position: relative;
  height: 180px;
}
.cs_bar_chart .cs_chart_grid {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.cs_bar_chart .cs_chart_grid li {
  height: 0;
  border-top: 1px dashed var(--border-color);
}
.cs_bar_chart .cs_chart_bars {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(var(--cs-chart-count), 1fr);
}
.cs_bar_chart .cs_chart_bars li {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 100%;
}
.cs_bar_chart .cs_chart_bar {
  display: block;
  width: 24px;
  height: 0;
  min-height: 4px;
  border-radius: 5px 5px 0 0;
  background-color: var(--primary-color);
  transition: height 0.8s ease;
}
.cs_bar_chart .cs_chart_x_axis {
  display: grid;
  grid-template-columns: repeat(var(--cs-chart-count), 1fr);
  margin-top: 16px;
  text-align: center;
  color: var(--secondary-color);
}
@media (max-width: 575px) {
  .cs_bar_chart .cs_chart_bar {
    width: 16px;
  }
  .cs_bar_chart .cs_chart_x_axis,
  .cs_bar_chart .cs_chart_y_axis {
    font-size: 12px;
  }
}

/*===================================================
 Recent Activity
=====================================================*/
.cs_recent_activity {
  padding: 24px;
}
.cs_recent_activity .cs_panel_title {
  margin-bottom: 14px;
}

.cs_recent_activity_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}
.cs_recent_activity_list li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  color: var(--black-color);
}
.cs_recent_activity_list i {
  font-size: 16px;
  line-height: 1;
}
.cs_recent_activity_list .cs_activity_success i {
  color: var(--success-color);
}
.cs_recent_activity_list .cs_activity_warning i {
  color: var(--warning-color);
}
.cs_recent_activity_list .cs_activity_primary i {
  color: var(--primary-color);
}

/*===================================================
 Calendar Page
=====================================================*/
.cs_calendar_toolbar {
  align-items: center;
}
.cs_calendar_toolbar .cs_dashboard_toolbar_actions {
  gap: 12px 16px;
}
.cs_calendar_toolbar .cs_primary_btn {
  padding: 10px 18px;
}

.cs_calendar_filter_nav {
  padding: 9px 24px;
}

.cs_calendar_layout {
  display: grid;
  gap: 24px;
  align-items: start;
  grid-template-columns: minmax(0, 1fr) 372px;
}
@media (max-width: 1399px) {
  .cs_calendar_layout {
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) 320px;
  }
}
@media (max-width: 991px) {
  .cs_calendar_layout {
    grid-template-columns: repeat(1, 1fr);
  }
}

.cs_schedule_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 1399px) {
  .cs_schedule_grid {
    gap: 12px;
  }
}
@media (max-width: 575px) {
  .cs_schedule_grid {
    grid-template-columns: 1fr;
  }
}

.cs_schedule_style_1 {
  display: flex;
  flex-direction: column;
  padding: 16px;
  border: 1px solid var(--border-color);
}
.cs_schedule_style_1 .cs_schedule_title {
  margin-bottom: 8px;
}
.cs_schedule_style_1 .cs_schedule_text {
  margin-bottom: 24px;
}
.cs_schedule_style_1 .cs_primary_btn {
  padding: 9px 18px;
}
.cs_schedule_style_1 .cs_schedule_badge {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  padding: 3px 10px;
  border-radius: 50px;
}
.cs_schedule_style_1 .cs_schedule_badge i {
  font-size: 16px;
  line-height: 1;
}
.cs_schedule_style_1 .cs_schedule_badge_dot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--success-color);
}
.cs_schedule_style_1 .cs_schedule_badge_live,
.cs_schedule_style_1 .cs_schedule_badge_upcoming {
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_schedule_style_1 .cs_schedule_badge_completed {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_schedule_style_1 .cs_schedule_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin-bottom: 8px;
}
.cs_schedule_style_1 .cs_schedule_meta li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 0;
}
.cs_schedule_style_1 .cs_schedule_meta i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_schedule_style_1 .cs_schedule_footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 8px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--border-color);
}
.cs_schedule_style_1 .cs_schedule_attendees {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.cs_schedule_style_1 .cs_schedule_attendees i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
@media (max-width: 1399px) {
  .cs_schedule_style_1 {
    padding: 16px 12px;
  }
}

.cs_calendar_panel {
  padding: 16px;
}
.cs_calendar_panel .cs_calendar_month {
  margin-bottom: 10px;
  text-align: center;
}
.cs_calendar_panel .cs_calendar_grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
}
.cs_calendar_panel .cs_calendar_grid .cs_calendar_dayname {
  padding-bottom: 12px;
  color: var(--black-color);
}
.cs_calendar_panel .cs_calendar_date {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  line-height: 26px;
  color: var(--black-color);
}
.cs_calendar_panel .cs_calendar_date_active {
  color: var(--primary-color);
}
.cs_calendar_panel .cs_calendar_date_muted {
  color: var(--secondary-color);
  opacity: 0.5;
}
.cs_calendar_panel .cs_calendar_dot {
  position: absolute;
  top: calc(50% + 9px);
  left: 50%;
  width: 4px;
  height: 4px;
  transform: translateX(-50%);
  border-radius: 50%;
}
.cs_calendar_panel .cs_calendar_dot.cs_calendar_dot_primary {
  background-color: var(--primary-color);
}
.cs_calendar_panel .cs_calendar_dot.cs_calendar_dot_success {
  background-color: var(--success-color);
}
.cs_calendar_panel .cs_calendar_dot.cs_calendar_dot_warning {
  background-color: var(--warning-color);
}
.cs_calendar_panel .cs_quick_add_title {
  margin: 20px 0 8px;
  text-align: center;
}
.cs_calendar_panel .cs_quick_add {
  display: flex;
  gap: 8px;
}
.cs_calendar_panel .cs_quick_add .cs_quick_add_input {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
  padding: 0 16px;
  border: 1px solid var(--border-color);
  color: var(--black-color);
  background-color: var(--white-color);
}
.cs_calendar_panel .cs_quick_add .cs_quick_add_input::-moz-placeholder {
  color: var(--secondary-color);
}
.cs_calendar_panel .cs_quick_add .cs_quick_add_input::placeholder {
  color: var(--secondary-color);
}
.cs_calendar_panel .cs_quick_add .cs_primary_btn {
  flex-shrink: 0;
  padding: 10px 18px;
}
.cs_calendar_panel .cs_calendar_legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin-top: 8px;
}
.cs_calendar_panel .cs_calendar_legend li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 3px 10px;
  border-radius: 50px;
}
.cs_calendar_panel .cs_calendar_legend .cs_legend_dot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.cs_calendar_panel .cs_calendar_legend .cs_legend_primary {
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_calendar_panel .cs_calendar_legend .cs_legend_primary .cs_legend_dot {
  background-color: var(--primary-color);
}
.cs_calendar_panel .cs_calendar_legend .cs_legend_warning {
  background-color: color-mix(in srgb, var(--warning-color) 10%, transparent);
}
.cs_calendar_panel .cs_calendar_legend .cs_legend_warning .cs_legend_dot {
  background-color: var(--warning-color);
}
.cs_calendar_panel .cs_calendar_legend .cs_legend_success {
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_calendar_panel .cs_calendar_legend .cs_legend_success .cs_legend_dot {
  background-color: var(--success-color);
}
@media (max-width: 380px) {
  .cs_calendar_panel .cs_quick_add {
    display: grid;
  }
}

/*===================================================
 Leaderboard Page
=====================================================*/
.cs_leaderboard_toolbar {
  align-items: center;
}
.cs_leaderboard_toolbar .cs_dashboard_toolbar_actions {
  gap: 12px 16px;
}

.cs_leaderboard_filter_nav {
  padding: 10px 24px;
}

.cs_leaderboard_list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--primary-color) 40%, transparent) transparent;
}

.cs_leaderboard_item {
  display: flex;
  align-items: center;
  gap: 16px 24px;
  min-width: 860px;
  padding: 24px;
}
.cs_leaderboard_item .cs_leaderboard_rank {
  flex-shrink: 0;
  width: 50px;
}
.cs_leaderboard_item .cs_leaderboard_medal {
  position: relative;
  height: 50px;
}
.cs_leaderboard_item .cs_leaderboard_medal img {
  width: 50px;
  height: 50px;
}
.cs_leaderboard_item .cs_leaderboard_medal .cs_leaderboard_rank_number {
  position: absolute;
  top: 70.72%;
  left: 48.58%;
  transform: translate(-50%, -50%);
}
.cs_leaderboard_item .cs_leaderboard_user {
  display: flex;
  flex-grow: 1;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.cs_leaderboard_item .cs_leaderboard_avatar {
  flex-shrink: 0;
  width: 75px;
  height: 75px;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_leaderboard_item .cs_leaderboard_name_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin-bottom: 5px;
}
.cs_leaderboard_item .cs_leaderboard_badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 50px;
}
.cs_leaderboard_item .cs_leaderboard_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 24px;
}
.cs_leaderboard_item .cs_leaderboard_meta li {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_leaderboard_item .cs_leaderboard_meta i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_leaderboard_item .cs_leaderboard_meta .cs_leaderboard_star {
  color: var(--warning-color);
}
.cs_leaderboard_item .cs_leaderboard_stats {
  display: flex;
  align-items: center;
  gap: 16px 80px;
}
.cs_leaderboard_item .cs_leaderboard_stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 46px;
  text-align: center;
}
.cs_leaderboard_item .cs_leaderboard_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-left: 110px;
}
.cs_leaderboard_item .cs_leaderboard_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  color: var(--secondary-color);
  background: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
  transition: color 0.3s ease;
}
.cs_leaderboard_item .cs_leaderboard_btn i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_leaderboard_item .cs_leaderboard_btn:hover {
  color: var(--primary-color);
}
@media (max-width: 1399px) {
  .cs_leaderboard_item {
    padding: 20px;
  }
  .cs_leaderboard_item .cs_leaderboard_stats {
    gap: 16px 40px;
  }
  .cs_leaderboard_item .cs_leaderboard_actions {
    margin-left: 40px;
  }
}
@media (max-width: 1199px) {
  .cs_leaderboard_item .cs_leaderboard_stats {
    gap: 16px 24px;
  }
  .cs_leaderboard_item .cs_leaderboard_actions {
    margin-left: 0;
  }
}

/*===================================================
 Certificates
=====================================================*/
.cs_certificates_toolbar {
  align-items: center;
}
.cs_certificates_toolbar .cs_certificates_filter_nav {
  padding: 10px 24px;
}

.cs_certificates_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}

.cs_certificate_card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  border: 1px solid var(--border-color);
}
.cs_certificate_card .cs_certificate_icon {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  padding: 13px;
  margin-bottom: 16px;
  background-image: linear-gradient(90deg, var(--gray6-color) 0%, var(--gray3-color) 100%);
}
.cs_certificate_card .cs_certificate_icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0;
}
.cs_certificate_card .cs_certificate_status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 3px 10px;
  border-radius: 50px;
  margin-bottom: 4px;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_certificate_card .cs_certificate_status i {
  font-size: 16px;
  line-height: 1;
}
.cs_certificate_card .cs_certificate_status_progress {
  background-image: none;
  background-color: color-mix(in srgb, var(--warning-color) 10%, transparent);
}
.cs_certificate_card .cs_certificate_status_progress i {
  color: var(--warning-color);
}
.cs_certificate_card .cs_certificate_title {
  margin-bottom: 18px;
}
.cs_certificate_card .cs_certificate_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 30px;
  margin-bottom: 30px;
}
.cs_certificate_card .cs_certificate_meta li {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_certificate_card .cs_certificate_meta i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_certificate_card .cs_certificate_meta .cs_certificate_star {
  color: var(--warning-color);
}
.cs_certificate_card .cs_certificate_actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--border-color);
}
.cs_certificate_card .cs_certificate_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 5px 10px;
  border: 0;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.cs_certificate_card .cs_certificate_btn i {
  font-size: 16px;
  line-height: 1;
}
.cs_certificate_card .cs_certificate_download {
  background-color: var(--primary-color);
}
.cs_certificate_card .cs_certificate_download:hover {
  color: var(--white-color);
  background-color: var(--accent-color);
}
.cs_certificate_card .cs_certificate_download[disabled] {
  cursor: not-allowed;
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 30%, transparent);
}
.cs_certificate_card .cs_certificate_share {
  background-image: linear-gradient(301deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_certificate_card .cs_certificate_share i {
  color: var(--primary-color);
}
.cs_certificate_card .cs_certificate_share:hover {
  color: var(--primary-color);
}
@media (max-width: 1399px) {
  .cs_certificate_card {
    padding: 16px 12px 24px;
  }
  .cs_certificate_card .cs_certificate_icon {
    width: 60px;
    height: 60px;
  }
}
@media (max-width: 767px) {
  .cs_certificate_card {
    padding: 16px;
  }
  .cs_certificate_card .cs_certificate_meta {
    gap: 5px 20px;
    margin-bottom: 20px;
  }
  .cs_certificate_card .cs_certificate_actions {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr;
  }
}

/*===================================================
 Live Classes Page
=====================================================*/
.cs_classes_toolbar {
  align-items: center;
}
.cs_classes_toolbar .cs_classes_filter_nav {
  padding: 10px 24px;
}

.cs_classes_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, 1fr);
}

.cs_class_card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  border: 1px solid var(--border-color);
}
.cs_class_card .cs_class_status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 3px 10px;
  border-radius: 50px;
  margin-bottom: 4px;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_class_card .cs_class_status i {
  font-size: 16px;
  line-height: 1;
}
.cs_class_card .cs_class_status_live {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_class_card .cs_class_status_done {
  background-color: var(--gray10-color);
}
.cs_class_card .cs_class_title {
  margin-bottom: 9px;
}
.cs_class_card .cs_class_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 18px;
  margin-bottom: 14px;
}
.cs_class_card .cs_class_meta li {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_class_card .cs_class_meta i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_class_card .cs_class_text {
  margin-bottom: 24px;
}
.cs_class_card .cs_class_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--border-color);
}
.cs_class_card .cs_class_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 5px 10px;
  border: 0;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.cs_class_card .cs_class_btn i {
  font-size: 16px;
  line-height: 1;
}
.cs_class_card .cs_class_join {
  background-color: var(--primary-color);
}
.cs_class_card .cs_class_join:hover {
  color: var(--white-color);
  background-color: var(--accent-color);
}
.cs_class_card .cs_class_replay {
  background-color: var(--gray10-color);
}
.cs_class_card .cs_class_replay:hover {
  color: var(--primary-color);
}
.cs_class_card .cs_class_attendees {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.cs_class_card .cs_class_attendees i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
@media (max-width: 1399px) {
  .cs_class_card {
    padding: 20px 16px;
  }
}
@media (max-width: 767px) {
  .cs_class_card {
    padding: 20px 12px;
  }
  .cs_class_card .cs_class_text {
    margin-bottom: 16px;
  }
}

/*===================================================
 AI Tutor
=====================================================*/
.cs_ai_tutor_toolbar {
  align-items: center;
}
.cs_ai_tutor_toolbar .cs_dashboard_toolbar_actions {
  gap: 12px 10px;
}
.cs_ai_tutor_toolbar .cs_ai_tutor_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 9px 18px;
  border: 0;
  font-weight: 600;
  transition: color 0.3s ease;
}
.cs_ai_tutor_toolbar .cs_ai_tutor_btn i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_ai_tutor_toolbar .cs_ai_tutor_btn:hover {
  color: var(--primary-color);
}

.cs_ai_tutor_layout {
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1.41fr) minmax(0, 1fr);
}
@media (max-width: 1399px) {
  .cs_ai_tutor_layout {
    gap: 16px;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }
}
@media (max-width: 991px) {
  .cs_ai_tutor_layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/*===================================================
 AI Tutor Chat
=====================================================*/
.cs_ai_chat_panel {
  display: flex;
  flex-direction: column;
  gap: 24px;
  height: 674px;
  padding: 24px;
}
.cs_ai_chat_panel .cs_ai_chat_thread {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--primary-color) 40%, transparent) transparent;
}
.cs_ai_chat_panel .cs_ai_chat_item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.cs_ai_chat_panel .cs_ai_chat_avatar {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  background-color: var(--gray10-color);
}
.cs_ai_chat_panel .cs_ai_chat_avatar img {
  width: 24px;
  height: 24px;
}
.cs_ai_chat_panel .cs_ai_chat_avatar i {
  font-size: 24px;
  line-height: 1;
}
.cs_ai_chat_panel .cs_ai_chat_bubble {
  max-width: 685px;
  padding: 16px;
  border: 1px solid var(--border-color);
}
.cs_ai_chat_panel .cs_ai_chat_time {
  display: block;
  margin-top: 8px;
}
.cs_ai_chat_panel .cs_ai_chat_self {
  flex-direction: row-reverse;
}
.cs_ai_chat_panel .cs_ai_chat_self .cs_ai_chat_avatar {
  background-color: var(--primary-color);
}
.cs_ai_chat_panel .cs_ai_chat_self .cs_ai_chat_bubble {
  border-color: transparent;
  border-radius: 5px 50px 5px 5px;
}
.cs_ai_chat_panel .cs_ai_chat_form {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cs_ai_chat_panel .cs_ai_chat_form .cs_primary_btn {
  flex-shrink: 0;
}
.cs_ai_chat_panel .cs_ai_chat_field {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}
.cs_ai_chat_panel .cs_ai_chat_field input {
  width: 100%;
  padding: 11px 42px 11px 16px;
  border: 1px solid var(--primary-color);
  border-radius: inherit;
  outline: none;
  color: var(--black-color);
  background-color: transparent;
}
.cs_ai_chat_panel .cs_ai_chat_field input::-moz-placeholder {
  color: var(--secondary-color);
}
.cs_ai_chat_panel .cs_ai_chat_field input::placeholder {
  color: var(--secondary-color);
}
.cs_ai_chat_panel .cs_ai_chat_attach {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  padding: 0;
  border: 0;
  color: var(--secondary-color);
  background-color: transparent;
  transition: color 0.3s ease;
}
.cs_ai_chat_panel .cs_ai_chat_attach i {
  font-size: 16px;
  line-height: 1;
}
.cs_ai_chat_panel .cs_ai_chat_attach:hover {
  color: var(--primary-color);
}
@media (max-width: 991px) {
  .cs_ai_chat_panel {
    height: 560px;
    gap: 16px;
    padding: 16px 12px;
  }
}
@media (max-width: 575px) {
  .cs_ai_chat_panel {
    height: auto;
  }
  .cs_ai_chat_panel .cs_ai_chat_thread {
    overflow-y: visible;
  }
}
@media (max-width: 480px) {
  .cs_ai_chat_panel .cs_ai_chat_item {
    flex-direction: column;
  }
  .cs_ai_chat_panel .cs_ai_chat_self {
    align-items: flex-end;
  }
  .cs_ai_chat_panel .cs_ai_chat_self .cs_ai_chat_bubble {
    border-radius: 10px;
  }
  .cs_ai_chat_panel .cs_ai_chat_attach {
    right: 12px;
  }
  .cs_ai_chat_panel .cs_ai_chat_form {
    display: grid;
  }
  .cs_ai_chat_panel .cs_ai_chat_form input {
    padding: 8px 32px 8px 12px;
  }
  .cs_ai_chat_panel .cs_ai_chat_form .cs_primary_btn {
    width: 100%;
  }
}

/*===================================================
 AI Tutor Context Rail
=====================================================*/
.cs_ai_context_panel {
  padding: 24px;
}
.cs_ai_context_panel h2 {
  margin-bottom: 16px;
}
.cs_ai_context_panel h2:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 991px) {
  .cs_ai_context_panel {
    padding: 16px 12px;
  }
}

.cs_ai_context_list {
  display: grid;
  gap: 16px;
}

.cs_ai_context_card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background-image: linear-gradient(321deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_ai_context_card .cs_ai_context_icon {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  padding: 13px;
  background-color: var(--white-color);
}
.cs_ai_context_card .cs_ai_context_icon img {
  border-radius: 0;
}
.cs_ai_context_card .cs_ai_context_text {
  flex: 1 1 auto;
  min-width: 0;
}
.cs_ai_context_card .cs_ai_context_status {
  flex-shrink: 0;
  margin-left: auto;
}
@media (max-width: 1399px) {
  .cs_ai_context_card {
    gap: 12px;
  }
  .cs_ai_context_card .cs_ai_context_icon {
    width: 60px;
    height: 60px;
    padding: 10px;
  }
}
@media (max-width: 480px) {
  .cs_ai_context_card {
    flex-wrap: wrap;
  }
}

.cs_ai_context_note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
}
.cs_ai_context_note i {
  font-size: 16px;
  line-height: 21px;
  color: var(--primary-color);
}

.cs_ai_recent_list {
  background-image: linear-gradient(298deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_ai_recent_list li:first-child button {
  padding-top: 21px;
}
.cs_ai_recent_list li:last-child button {
  padding-bottom: 32px;
}
.cs_ai_recent_list li + li {
  border-top: 1px dashed var(--border-color);
}
.cs_ai_recent_list button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 16px;
}
.cs_ai_recent_list button i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_ai_recent_list button .cs_ai_recent_title {
  flex: 1;
  text-align: left;
  transition: color 0.3s ease;
}
.cs_ai_recent_list button:hover span {
  color: var(--primary-color);
}
.cs_ai_recent_list .cs_ai_recent_time {
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .cs_ai_recent_list li:first-child button {
    padding-top: 16px;
  }
  .cs_ai_recent_list li:last-child button {
    padding-bottom: 24px;
  }
  .cs_ai_recent_list button {
    padding: 13px 12px 16px 16px;
  }
}

/*===================================================
 Assignments
=====================================================*/
.cs_assignments_panel {
  padding: 24px;
}
@media (max-width: 991px) {
  .cs_assignments_panel {
    padding: 16px 12px;
  }
}

.cs_assignment_list {
  display: grid;
  gap: 16px;
}

.cs_assignment_item {
  display: grid;
  align-items: center;
  gap: 16px;
  padding: 16px;
  grid-template-columns: 75px minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.6fr) auto;
  background-color: var(--gray10-color);
}
.cs_assignment_item .cs_assignment_icon {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  padding: 13px;
  background-color: var(--white-color);
}
.cs_assignment_item .cs_assignment_icon img {
  border-radius: 0;
}
.cs_assignment_item .cs_assignment_head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.cs_assignment_item .cs_assignment_status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 3px 10px;
}
.cs_assignment_item .cs_assignment_status i {
  font-size: 16px;
  line-height: 1;
}
.cs_assignment_item .cs_assignment_status_pending {
  background-color: color-mix(in srgb, var(--warning-color) 10%, transparent);
}
.cs_assignment_item .cs_assignment_status_pending i {
  color: var(--warning-color);
}
.cs_assignment_item .cs_assignment_status_submitted {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_assignment_item .cs_assignment_status_graded {
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_assignment_item .cs_assignment_status_overdue {
  color: var(--error-color);
  background-color: color-mix(in srgb, var(--error-color) 10%, transparent);
}
.cs_assignment_item .cs_assignment_meta {
  display: grid;
  gap: 6px;
}
.cs_assignment_item .cs_assignment_meta li {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.cs_assignment_item .cs_assignment_meta i {
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  margin-right: 10px;
  color: var(--primary-color);
}
.cs_assignment_item .cs_assignment_text {
  width: min(100%, 350px);
}
.cs_assignment_item .cs_assignment_action {
  display: flex;
  justify-content: flex-end;
}
.cs_assignment_item .cs_assignment_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  white-space: nowrap;
  border: 1px solid transparent;
  transition: all 0.3s ease;
}
.cs_assignment_item .cs_assignment_btn_fill {
  background-color: var(--primary-color);
}
.cs_assignment_item .cs_assignment_btn_fill:hover {
  color: var(--white-color);
  background-color: var(--accent-color);
}
.cs_assignment_item .cs_assignment_btn_success {
  color: var(--success-color);
  border-color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_assignment_item .cs_assignment_btn_success:hover {
  color: var(--white-color);
  background-color: var(--success-color);
}
.cs_assignment_item .cs_assignment_btn_error {
  color: var(--error-color);
  border-color: var(--error-color);
  background-color: color-mix(in srgb, var(--error-color) 10%, transparent);
}
.cs_assignment_item .cs_assignment_btn_error:hover {
  color: var(--white-color);
  background-color: var(--error-color);
}
@media (max-width: 1199px) {
  .cs_assignment_item {
    gap: 16px;
    grid-template-columns: 75px minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.2fr) auto;
  }
}
@media (max-width: 991px) {
  .cs_assignment_item {
    grid-template-columns: 60px minmax(0, 2fr) 1fr;
  }
  .cs_assignment_item .cs_assignment_text {
    grid-column: 2/auto;
  }
  .cs_assignment_item .cs_assignment_action {
    justify-content: flex-start;
  }
  .cs_assignment_item .cs_assignment_icon {
    width: 60px;
    height: 60px;
    padding: 10px;
  }
}
@media (max-width: 767px) {
  .cs_assignment_item {
    padding: 16px 12px;
    grid-template-columns: 60px minmax(0, 1.2fr) 1fr;
  }
}
@media (max-width: 575px) {
  .cs_assignment_item {
    gap: 16px 10px;
    grid-template-columns: 60px minmax(0, 1fr);
  }
  .cs_assignment_item .cs_assignment_meta,
  .cs_assignment_item .cs_assignment_text,
  .cs_assignment_item .cs_assignment_action {
    grid-column: 2/-1;
  }
}
@media (max-width: 480px) {
  .cs_assignment_item {
    grid-template-columns: 1fr;
  }
  .cs_assignment_item .cs_assignment_meta,
  .cs_assignment_item .cs_assignment_text,
  .cs_assignment_item .cs_assignment_action {
    grid-column: 1/-1;
  }
}

/*===================================================
 My Progress Stat Cards
=====================================================*/
.cs_progress_stat_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(6, 1fr);
}

.cs_progress_stat {
  --cs-stat-color: var(--primary-color);
  padding: 16px;
  text-align: center;
}
.cs_progress_stat .cs_progress_stat_icon {
  width: 50px;
  height: 50px;
  margin: 0 auto;
  font-size: 24px;
  line-height: 1;
  color: var(--cs-stat-color);
  background: linear-gradient(90deg, var(--gray6-color) 0%, var(--gray3-color) 100%);
}
.cs_progress_stat .cs_progress_stat_number {
  color: var(--cs-stat-color);
}

.cs_progress_stat_success {
  --cs-stat-color: var(--success-color);
}

.cs_progress_stat_warning {
  --cs-stat-color: var(--warning-color);
}

/*===================================================
 My Progress Panels
=====================================================*/
.cs_progress_panel {
  height: 100%;
  padding: 16px;
}
.cs_progress_panel .cs_progress_panel_title {
  margin-bottom: 24px;
}

.cs_progress_panel_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, 1fr);
}

/*===================================================
 Area Chart (markup rendered from main.js)
=====================================================*/
.cs_area_chart {
  --cs-chart-count: 12;
  --cs-chart-col: 56px;
}
.cs_area_chart .cs_area_chart_data {
  display: none;
}
.cs_area_chart .cs_area_chart_in {
  display: flex;
  gap: 16px;
}
.cs_area_chart .cs_chart_y_axis {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 240px;
  flex-shrink: 0;
}
.cs_area_chart .cs_chart_y_axis li {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 0;
}
.cs_area_chart .cs_chart_area {
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}
.cs_area_chart .cs_chart_plot {
  position: relative;
  height: 240px;
  min-width: calc(var(--cs-chart-count) * var(--cs-chart-col));
}
.cs_area_chart .cs_chart_svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  clip-path: inset(-4px 100% -4px -4px);
  transition: clip-path 1.2s ease;
}
.cs_area_chart.cs_chart_drawn .cs_chart_svg {
  clip-path: inset(-4px -4px -4px -4px);
}
.cs_area_chart .cs_chart_grid_line {
  stroke: var(--border-color);
  stroke-dasharray: 3 3;
}
.cs_area_chart .cs_chart_line {
  fill: none;
  stroke: var(--primary-color);
  stroke-width: 2.5;
}
.cs_area_chart .cs_chart_x_axis {
  height: 26px;
  margin-top: 8px;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  min-width: calc(var(--cs-chart-count) * var(--cs-chart-col));
}
@media (max-width: 991px) {
  .cs_area_chart {
    --cs-chart-col: 48px;
  }
}
@media (max-width: 575px) {
  .cs_area_chart .cs_chart_y_axis,
  .cs_area_chart .cs_chart_plot {
    height: 180px;
  }
  .cs_area_chart .cs_chart_x_axis,
  .cs_area_chart .cs_chart_y_axis {
    font-size: 12px;
  }
}

/*===================================================
 Donut Chart (markup rendered from main.js)
=====================================================*/
.cs_donut_chart {
  position: relative;
  width: 150px;
  height: 150px;
  flex-shrink: 0;
}
.cs_donut_chart .cs_donut_chart_data {
  display: none;
}
.cs_donut_chart svg {
  display: block;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.cs_donut_chart .cs_donut_track {
  stroke: var(--gray3-color);
}
.cs_donut_chart .cs_donut_segment {
  transition: stroke-dasharray 1s ease;
}
.cs_donut_chart .cs_donut_value {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*===================================================
 Skill Proficiency
=====================================================*/
.cs_skill_list {
  display: grid;
  gap: 24px;
}
.cs_skill_list .cs_skill_item {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_skill_list .cs_skill_icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.cs_skill_list .cs_skill_name {
  width: 85px;
  flex-shrink: 0;
}
.cs_skill_list .cs_progress_value {
  width: 32px;
  flex-shrink: 0;
  text-align: right;
}

/*===================================================
 Learning by Category
=====================================================*/
.cs_category_chart {
  display: flex;
  align-items: center;
  gap: 40px;
}

.cs_category_list {
  display: grid;
  flex: 1 1 auto;
  min-width: 0;
  gap: 24px;
}
.cs_category_list .cs_category_item {
  display: flex;
  align-items: center;
  gap: 24px;
}
.cs_category_list .cs_category_name {
  width: 150px;
  flex-shrink: 0;
  text-align: right;
}
.cs_category_list .cs_progress_value {
  width: 32px;
  flex-shrink: 0;
  text-align: right;
}

/*===================================================
 Overall Progress
=====================================================*/
.cs_overall_progress {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}
.cs_overall_progress .cs_overall_progress_item {
  text-align: center;
}
.cs_overall_progress .cs_donut_chart {
  margin-bottom: 8px;
}

/*===================================================
 Progress Bar Track
=====================================================*/
.cs_skill_list .cs_progress,
.cs_category_list .cs_progress,
.cs_course_progress_card .cs_progress,
.cs_enrollment_list .cs_progress,
.cs_deadline_progress_list .cs_progress {
  display: block;
  flex: 1 1 auto;
  height: 10px;
  margin-bottom: 0;
  background-color: var(--gray3-color);
}
.cs_skill_list .cs_progress_in,
.cs_category_list .cs_progress_in,
.cs_course_progress_card .cs_progress_in,
.cs_enrollment_list .cs_progress_in,
.cs_deadline_progress_list .cs_progress_in {
  background-color: var(--cs-bar-color, var(--primary-color));
}

/*===================================================
 Course Progress Details
=====================================================*/
.cs_course_progress_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}

.cs_course_progress_card {
  padding: 16px;
}
.cs_course_progress_card .cs_course_progress_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 13px;
}
.cs_course_progress_card .cs_course_progress_icon {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  font-size: 24px;
  line-height: 1;
  color: var(--primary-color);
  background: linear-gradient(90deg, var(--gray6-color) 0%, var(--gray3-color) 100%);
}
.cs_course_progress_card .cs_course_progress_meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 9px;
}
.cs_course_progress_card .cs_course_progress_meta i {
  font-size: 16px;
  line-height: 1;
}
.cs_course_progress_card .cs_progress {
  margin-bottom: 8px;
}
.cs_course_progress_card .cs_course_progress_foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.cs_course_status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  padding: 3px 10px;
}
.cs_course_status i {
  font-size: 16px;
  line-height: 1;
}

.cs_course_status_active {
  color: var(--primary-color);
  background: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}

.cs_course_status_done {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}

/*===================================================
 My Progress Responsive
=====================================================*/
@media (max-width: 1399px) {
  .cs_progress_stat_grid {
    gap: 12px;
    grid-template-columns: repeat(3, 1fr);
  }
  .cs_course_progress_grid,
  .cs_progress_panel_grid {
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
  }
  .cs_category_list .cs_category_name {
    width: 110px;
  }
}
@media (max-width: 991px) {
  .cs_progress_panel_grid {
    grid-template-columns: 1fr;
  }
  .cs_category_chart {
    gap: 24px;
  }
  .cs_category_list .cs_category_name {
    width: 100px;
  }
}
@media (max-width: 767px) {
  .cs_progress_stat_grid,
  .cs_progress_panel_grid,
  .cs_course_progress_grid {
    gap: 12px;
  }
  .cs_course_progress_grid {
    grid-template-columns: 1fr;
  }
  .cs_category_chart {
    flex-direction: column;
    align-items: stretch;
  }
  .cs_category_chart .cs_donut_chart {
    margin: 0 auto;
  }
  .cs_overall_progress {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media (max-width: 575px) {
  .cs_progress_stat_grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .cs_donut_chart {
    width: 120px;
    height: 120px;
  }
  .cs_skill_list .cs_skill_name {
    width: 72px;
  }
  .cs_category_list .cs_category_item {
    flex-wrap: wrap;
    gap: 4px 12px;
  }
  .cs_category_list .cs_category_name {
    width: auto;
    flex: 1 1 auto;
    text-align: left;
  }
  .cs_category_list .cs_progress {
    order: 1;
    flex: 0 0 100%;
  }
}
/*===================================================
 Purchase History Stat Cards
=====================================================*/
.cs_purchase_stat_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}

.cs_purchase_stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
}
.cs_purchase_stat .cs_purchase_stat_text {
  min-width: 0;
}
.cs_purchase_stat .cs_purchase_stat_icon {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  background: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_purchase_stat .cs_purchase_stat_icon img {
  width: 50px;
  height: 50px;
  border-radius: 0;
}

.cs_purchase_stat_warning .cs_purchase_stat_icon {
  background: color-mix(in srgb, var(--warning-color) 10%, transparent);
}

.cs_purchase_stat_success .cs_purchase_stat_icon {
  background: color-mix(in srgb, var(--success-color) 10%, transparent);
}

/*===================================================
 Purchase History Transactions
=====================================================*/
.cs_purchase_panel {
  padding: 24px;
}
.cs_purchase_panel .cs_purchase_panel_title {
  margin-bottom: 16px;
}
@media (max-width: 991px) {
  .cs_purchase_panel {
    padding: 16px 12px;
  }
}

.cs_purchase_table_wrap {
  overflow-x: auto;
  scrollbar-width: thin;
}

.cs_purchase_table {
  width: 100%;
  min-width: 1100px;
  margin-bottom: 0;
  border-collapse: collapse;
}
.cs_purchase_table th {
  padding: 0 16px 9px 0;
  text-align: left;
  color: var(--black-color);
  border-bottom: 1px dashed var(--border-color);
}
.cs_purchase_table td {
  padding: 24px 16px 24px 0;
  vertical-align: middle;
  border-bottom: 1px dashed var(--border-color);
}
.cs_purchase_table th:last-child,
.cs_purchase_table td:last-child {
  padding-right: 0;
}
.cs_purchase_table th:nth-child(1) {
  width: 41%;
}
.cs_purchase_table th:nth-child(2) {
  width: 15%;
}
.cs_purchase_table th:nth-child(3) {
  width: 9%;
}
.cs_purchase_table th:nth-child(4) {
  width: 14%;
}
.cs_purchase_table th:nth-child(5) {
  width: 10%;
}
.cs_purchase_table th:nth-child(6) {
  width: 11%;
}

.cs_purchase_course {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_purchase_course .cs_purchase_course_thumb {
  width: 140px;
  height: 75px;
  flex-shrink: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_purchase_course .cs_purchase_course_text {
  display: grid;
  min-width: 0;
}

.cs_purchase_stack {
  display: grid;
}

.cs_purchase_date {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.cs_purchase_date i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}

.cs_purchase_status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
}

.cs_purchase_status_paid {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}

.cs_purchase_status_refunded {
  color: var(--error-color);
  background-color: color-mix(in srgb, var(--error-color) 10%, transparent);
}

.cs_purchase_invoice_btn {
  height: 44px;
  padding: 8px 18px;
  white-space: nowrap;
}
.cs_purchase_invoice_btn i {
  font-size: 16px;
  line-height: 1;
}

/*===================================================
 Purchase History Responsive
=====================================================*/
@media (max-width: 1399px) {
  .cs_purchase_stat_grid {
    gap: 16px;
  }
  .cs_purchase_stat {
    gap: 12px;
  }
  .cs_purchase_stat .cs_purchase_stat_icon {
    width: 60px;
    height: 60px;
  }
  .cs_purchase_stat .cs_purchase_stat_icon img {
    width: 40px;
    height: 40px;
  }
}
@media (max-width: 767px) {
  .cs_purchase_stat_grid {
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
  }
  .cs_purchase_stat_grid .cs_purchase_stat:nth-child(3) {
    grid-column: 1/-1;
  }
}
@media (max-width: 480px) {
  .cs_purchase_stat_grid {
    grid-template-columns: 1fr;
  }
}
/*===================================================
 Messages Layout
=====================================================*/
.cs_message_layout {
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 2.02fr) minmax(0, 1fr);
}

.cs_message_chat_panel,
.cs_message_list_panel {
  height: 776px;
  border: 1px solid var(--border-color);
  box-shadow: 0 2px 8px 0 rgba(108, 92, 231, 0.06);
}

/*===================================================
 Messages Conversation
=====================================================*/
.cs_message_chat_panel {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
}
.cs_message_chat_panel .cs_message_chat_top {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cs_message_chat_panel .cs_message_chat_head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.cs_message_chat_panel .cs_message_search_btn {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  padding: 0;
  border: 0;
  color: var(--black-color);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_message_chat_panel .cs_message_search_btn i {
  font-size: 16px;
  line-height: 1;
}
.cs_message_chat_panel .cs_message_search_btn:hover, .cs_message_chat_panel .cs_message_search_btn.active {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_message_chat_panel .cs_message_thread {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--primary-color) 40%, transparent) transparent;
}
.cs_message_chat_panel .cs_message_row {
  display: flex;
}
.cs_message_chat_panel .cs_message_bubble {
  width: 86.5%;
  padding: 16px;
  background-image: linear-gradient(335deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_message_chat_panel .cs_message_time {
  display: block;
  margin-top: 16px;
}
.cs_message_chat_panel .cs_message_row_self {
  justify-content: flex-end;
}
.cs_message_chat_panel .cs_message_row_self .cs_message_bubble {
  width: 63%;
  text-align: right;
  background-image: none;
  border-radius: 50px 5px 5px 5px;
}
.cs_message_chat_panel .cs_message_form {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cs_message_chat_panel .cs_message_form .cs_primary_btn {
  flex-shrink: 0;
}
.cs_message_chat_panel .cs_message_field {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}
.cs_message_chat_panel .cs_message_field input {
  width: 100%;
  padding: 11px 42px 11px 16px;
  border: 1px solid var(--primary-color);
  border-radius: inherit;
  outline: none;
  color: var(--black-color);
  background-color: transparent;
}
.cs_message_chat_panel .cs_message_field input::-moz-placeholder {
  color: var(--secondary-color);
}
.cs_message_chat_panel .cs_message_field input::placeholder {
  color: var(--secondary-color);
}
.cs_message_chat_panel .cs_message_attach {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  padding: 0;
  border: 0;
  color: var(--secondary-color);
  background-color: transparent;
  transition: color 0.3s ease;
}
.cs_message_chat_panel .cs_message_attach i {
  font-size: 16px;
  line-height: 1;
}
.cs_message_chat_panel .cs_message_attach:hover {
  color: var(--primary-color);
}

.cs_message_presence {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--success-color);
}
.cs_message_presence::before {
  content: "";
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: currentColor;
}

/*===================================================
 Messages Conversation Search
=====================================================*/
.cs_message_search_form {
  display: none;
  align-items: center;
  gap: 10px;
  padding: 11px 16px;
  border: 1px solid var(--primary-color);
}
.cs_message_search_form > i {
  flex-shrink: 0;
  font-size: 16px;
  line-height: 1;
  color: var(--secondary-color);
}
.cs_message_search_form input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: none;
  color: var(--black-color);
  background-color: transparent;
}
.cs_message_search_form input::-moz-placeholder {
  color: var(--secondary-color);
}
.cs_message_search_form input::placeholder {
  color: var(--secondary-color);
}
.cs_message_search_form input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
.cs_message_search_form .cs_message_search_close {
  flex-shrink: 0;
  padding: 0;
  border: 0;
  font-size: 16px;
  line-height: 1;
  color: var(--secondary-color);
  background-color: transparent;
  transition: color 0.3s ease;
}
.cs_message_search_form .cs_message_search_close:hover {
  color: var(--error-color);
}
.cs_message_search_form.active {
  display: flex;
}

.cs_message_no_result {
  display: none;
  padding: 16px 0;
  text-align: center;
}
.cs_message_no_result.active {
  display: block;
}

/*===================================================
 Messages Conversation List
=====================================================*/
.cs_message_list_panel {
  padding: 16px;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-width: none;
  scrollbar-color: color-mix(in srgb, var(--primary-color) 40%, transparent) transparent;
}
.cs_message_list_panel::-webkit-scrollbar {
  display: none;
}

.cs_message_list {
  display: grid;
  gap: 16px;
}

.cs_message_item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 16px;
}
.cs_message_item .cs_message_item_avatar {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_message_item .cs_message_item_text {
  flex: 1 1 auto;
  min-width: 0;
}
.cs_message_item .cs_message_item_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.cs_message_item .cs_message_item_name {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  transition: color 0.3s ease;
}
.cs_message_item .cs_message_item_name i {
  font-size: 16px;
  line-height: 1;
  color: var(--success-color);
}
.cs_message_item .cs_message_item_time {
  flex-shrink: 0;
}
.cs_message_item .cs_message_item_preview {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cs_message_item:hover .cs_message_item_name {
  color: var(--primary-color);
}
.cs_message_item.active {
  padding: 16px;
  background-image: linear-gradient(315deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}

/*===================================================
 Messages Responsive
=====================================================*/
@media (max-width: 1399px) {
  .cs_message_layout {
    gap: 16px;
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  }
  .cs_message_item {
    gap: 12px;
  }
  .cs_message_item .cs_message_item_avatar {
    width: 60px;
    height: 60px;
  }
}
@media (max-width: 991px) {
  .cs_message_layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .cs_message_chat_panel,
  .cs_message_list_panel {
    height: 620px;
  }
  .cs_message_chat_panel {
    gap: 16px;
    padding: 16px 12px;
  }
  .cs_message_list_panel {
    padding: 16px 12px;
  }
}
@media (max-width: 767px) {
  .cs_message_chat_panel .cs_message_bubble {
    width: 100%;
  }
  .cs_message_chat_panel .cs_message_row_self .cs_message_bubble {
    width: 85%;
  }
  .cs_message_item {
    padding: 0 12px;
  }
  .cs_message_item.active {
    padding: 12px;
  }
}
@media (max-width: 575px) {
  .cs_message_chat_panel,
  .cs_message_list_panel {
    height: auto;
    overflow-y: visible;
  }
  .cs_message_chat_panel .cs_message_row_self .cs_message_bubble,
  .cs_message_list_panel .cs_message_row_self .cs_message_bubble {
    width: 100%;
  }
  .cs_message_chat_panel .cs_message_thread {
    overflow-y: visible;
  }
}
@media (max-width: 480px) {
  .cs_message_chat_panel .cs_message_time {
    margin-top: 8px;
  }
  .cs_message_chat_panel .cs_message_row_self .cs_message_bubble {
    border-radius: 10px;
  }
  .cs_message_chat_panel .cs_message_form {
    display: grid;
  }
  .cs_message_chat_panel .cs_message_form input {
    padding: 8px 12px;
  }
  .cs_message_chat_panel .cs_message_form .cs_primary_btn {
    width: 100%;
  }
  .cs_message_item {
    gap: 10px;
  }
  .cs_message_item .cs_message_item_head {
    flex-wrap: wrap;
    gap: 4px 10px;
  }
}
/*===================================================
 Wishlist
=====================================================*/
.cs_wishlist_toolbar {
  align-items: center;
}
.cs_wishlist_toolbar .cs_wishlist_filter_nav {
  padding: 10px 24px;
}
.cs_wishlist_toolbar .cs_primary_btn {
  padding: 10px 18px;
}

.cs_wishlist_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, 1fr);
}

/*===================================================
 Wishlist Responsive
=====================================================*/
@media (max-width: 1399px) {
  .cs_wishlist_grid {
    gap: 16px;
  }
}
@media (max-width: 991px) {
  .cs_wishlist_toolbar .cs_wishlist_filter_nav {
    padding: 10px 16px;
  }
  .cs_wishlist_grid {
    gap: 12px 8px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .cs_wishlist_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 400px) {
  .cs_wishlist_grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
/*===================================================
 Profile Layout
=====================================================*/
.cs_profile_layout {
  display: grid;
  align-items: start;
  gap: 24px;
  grid-template-columns: 372px minmax(0, 1fr);
}

/*===================================================
 Profile Card
=====================================================*/
.cs_profile_card {
  padding: 24px;
  text-align: center;
}
.cs_profile_card .cs_profile_avatar {
  position: relative;
  width: 150px;
  height: 150px;
  margin: 0 auto 16px;
}
.cs_profile_card .cs_profile_avatar img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_profile_card .cs_profile_avatar_btn {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--border-color);
  color: var(--primary-color);
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.cs_profile_card .cs_profile_avatar_btn i {
  font-size: 16px;
  line-height: 1;
}
.cs_profile_card .cs_profile_avatar_btn:hover {
  color: var(--white-color);
  border-color: var(--primary-color);
  background-color: var(--primary-color);
}
.cs_profile_card .cs_profile_name {
  margin-bottom: 0;
}
.cs_profile_card .cs_profile_location {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 8px;
}
.cs_profile_card .cs_profile_location i {
  font-size: 16px;
  line-height: 1;
}
.cs_profile_card .cs_profile_bio {
  margin: 16px 0 0;
}
.cs_profile_card .cs_profile_stats {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 32px;
}
.cs_profile_card .cs_profile_stat + .cs_profile_stat {
  border-left: 1px solid var(--border-color);
}
.cs_profile_card .cs_profile_stat_number,
.cs_profile_card .cs_profile_stat_label {
  display: block;
}
.cs_profile_card .cs_profile_share {
  margin-top: 33px;
  padding-top: 33px;
  border-top: 1px solid var(--border-color);
}
.cs_profile_card .cs_profile_share_title {
  margin-bottom: 0;
}
.cs_profile_card .cs_profile_social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}
.cs_profile_card .cs_profile_social a {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  color: var(--black-color);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_profile_card .cs_profile_social a i {
  font-size: 16px;
  line-height: 1;
}
.cs_profile_card .cs_profile_social a:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}

/*===================================================
 Personal Information
=====================================================*/
.cs_personal_info {
  padding: 24px;
}
.cs_personal_info .cs_personal_info_head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  margin-bottom: 22px;
}
.cs_personal_info .cs_personal_info_edit {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 3px 10px;
  border: 0;
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_personal_info .cs_personal_info_edit i {
  font-size: 14px;
  line-height: 1;
}
.cs_personal_info .cs_personal_info_edit:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_personal_info .cs_personal_info_form {
  display: grid;
  gap: 16px 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_personal_info .cs_personal_info_field_full,
.cs_personal_info .cs_personal_info_btns {
  grid-column: 1/-1;
}
.cs_personal_info .cs_personal_info_btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.cs_personal_info .cs_personal_info_btns .cs_primary_btn {
  padding: 10px 18px;
}
.cs_personal_info textarea.cs_form_field {
  min-height: 120px;
}
@media (max-width: 767px) {
  .cs_personal_info {
    padding: 16px 12px;
  }
  .cs_personal_info .cs_personal_info_form {
    gap: 16px;
  }
}
@media (max-width: 575px) {
  .cs_personal_info .cs_personal_info_form {
    gap: 12px;
    grid-template-columns: 1fr;
  }
}

/*===================================================
 Profile Responsive
=====================================================*/
@media (max-width: 1199px) {
  .cs_profile_layout {
    gap: 16px;
    grid-template-columns: 320px minmax(0, 1fr);
  }
}
@media (max-width: 991px) {
  .cs_profile_layout {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .cs_profile_card {
    width: 100%;
    margin: 0 auto;
  }
}
@media (max-width: 480px) {
  .cs_profile_card {
    padding: 16px 12px;
  }
  .cs_profile_card .cs_profile_stats {
    gap: 16px;
  }
  .cs_profile_card .cs_profile_social a {
    width: 44px;
    height: 44px;
  }
  .cs_personal_info .cs_personal_info_btns {
    display: grid;
  }
}
/*===================================================
 Notifications
=====================================================*/
.cs_notification_toolbar {
  align-items: center;
}

.cs_notification_stat_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, 1fr);
}

.cs_notification_stat {
  align-items: center;
  box-shadow: 0 2px 4px color-mix(in srgb, var(--primary-color) 6%, transparent);
}
.cs_notification_stat .cs_stat_icon {
  background: color-mix(in srgb, var(--primary-color) 10%, transparent);
}

.cs_notification_stat_unread .cs_stat_icon {
  background: color-mix(in srgb, var(--error-color) 10%, transparent);
}

.cs_notification_stat_achievement .cs_stat_icon {
  background: color-mix(in srgb, var(--success-color) 10%, transparent);
}

.cs_notification_stat_assignment .cs_stat_icon {
  background: color-mix(in srgb, var(--warning-color) 10%, transparent);
}

.cs_notification_bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin-bottom: 24px;
}

.cs_notification_filter {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.cs_notification_filter .cs_filter_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border: 1px solid var(--border-color);
  font-weight: 600;
  line-height: 1;
  color: var(--secondary-color);
  background-color: var(--white-color);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_notification_filter .cs_filter_btn:hover {
  color: var(--primary-color);
}
.cs_notification_filter .cs_filter_btn.active {
  color: var(--gray3-color);
  background-color: var(--primary-color);
}
.cs_notification_filter .cs_filter_btn.active .cs_filter_btn_count {
  color: var(--white-color);
  background-color: color-mix(in srgb, var(--white-color) 30%, transparent);
}
.cs_notification_filter .cs_filter_btn_count {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  font-size: 10px;
  line-height: 1;
  letter-spacing: -1px;
  border-radius: 8px;
  color: var(--black-color);
  background-color: var(--gray3-color);
}

.cs_notification_bulk {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.cs_notification_bulk .cs_secondary_btn {
  padding: 12px 18px;
  text-wrap: nowrap;
}

.cs_notification_mark_btn {
  color: var(--secondary-color);
}
.cs_notification_mark_btn i {
  color: var(--primary-color);
}
.cs_notification_mark_btn:hover {
  border-color: var(--primary-color);
  color: var(--primary-color);
}

.cs_notification_clear_btn {
  border-color: var(--error-color);
  color: var(--error-color);
  background-color: color-mix(in srgb, var(--error-color) 10%, transparent);
}
.cs_notification_clear_btn:hover {
  border-color: var(--error-color);
  color: var(--white-color);
  background-color: var(--error-color);
}

/*===================================================
 Notification List
=====================================================*/
.cs_notification_panel {
  padding: 24px;
}

.cs_notification_item {
  display: flex;
  gap: 16px;
  padding: 24px 0;
  border-bottom: 1px solid var(--border-color);
}
.cs_notification_item:first-child {
  padding-top: 0;
}
.cs_notification_item .cs_notification_icon {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  font-size: 24px;
  line-height: 1;
  margin-top: 8px;
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_notification_item .cs_notification_body {
  flex: 1;
  min-width: 0;
}
.cs_notification_item .cs_notification_head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.cs_notification_item .cs_notification_badge {
  padding: 4px 8px;
  line-height: 1.25em;
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_notification_item .cs_notification_time {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 5px;
}
.cs_notification_item .cs_notification_time i {
  font-size: 16px;
  line-height: 1;
}
.cs_notification_item .cs_notification_actions {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-left: auto;
}
.cs_notification_item .cs_notification_read_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 18px;
  border: 0;
  font-weight: 600;
  color: var(--primary-color);
  background-color: transparent;
  transition: background-color 0.3s ease;
}
.cs_notification_item .cs_notification_read_btn i {
  font-size: 16px;
  line-height: 1;
}
.cs_notification_item .cs_notification_read_btn:hover {
  background-color: color-mix(in srgb, var(--primary-color) 15%, transparent);
}
.cs_notification_item .cs_notification_delete_btn {
  display: inline-flex;
  align-items: center;
  padding: 14px 0;
  border: 0;
  font-size: 16px;
  line-height: 1;
  color: var(--error-color);
  background-color: transparent;
  transition: opacity 0.3s ease;
}
.cs_notification_item .cs_notification_delete_btn:hover {
  opacity: 0.7;
}
@media (max-width: 991px) {
  .cs_notification_item {
    padding: 16px 0;
  }
  .cs_notification_item .cs_notification_icon {
    width: 60px;
    height: 60px;
    margin-top: 5px;
  }
}
@media (max-width: 767px) {
  .cs_notification_item {
    display: grid;
    grid-template-columns: 60px 1fr;
  }
  .cs_notification_item .cs_notification_actions {
    grid-column: 1/-1;
  }
}
@media (max-width: 374px) {
  .cs_notification_item {
    grid-template-columns: 1fr;
  }
}

.cs_notification_live .cs_notification_icon {
  color: var(--error-color);
  background-color: color-mix(in srgb, var(--error-color) 10%, transparent);
}
.cs_notification_live .cs_notification_badge {
  color: var(--error-color);
  background-color: color-mix(in srgb, var(--error-color) 10%, transparent);
}

.cs_notification_assignment .cs_notification_icon {
  color: var(--warning-color);
  background-color: color-mix(in srgb, var(--warning-color) 10%, transparent);
}
.cs_notification_assignment .cs_notification_badge {
  color: var(--warning-color);
  background-color: color-mix(in srgb, var(--warning-color) 10%, transparent);
}

.cs_notification_achievement .cs_notification_icon {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_notification_achievement .cs_notification_badge {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}

.cs_notification_promo .cs_notification_icon {
  color: var(--info-color);
  background-color: color-mix(in srgb, var(--info-color) 10%, transparent);
}
.cs_notification_promo .cs_notification_badge {
  color: var(--info-color);
  background-color: color-mix(in srgb, var(--info-color) 10%, transparent);
}

.cs_notification_system .cs_notification_icon {
  color: var(--secondary-color);
  background-color: color-mix(in srgb, var(--secondary-color) 10%, transparent);
}
.cs_notification_system .cs_notification_badge {
  color: var(--secondary-color);
  background-color: color-mix(in srgb, var(--secondary-color) 10%, transparent);
}

/*===================================================
 Notifications Responsive
=====================================================*/
@media (max-width: 1399px) {
  .cs_notification_stat_grid {
    gap: 16px;
  }
}
@media (max-width: 991px) {
  .cs_notification_stat_grid {
    gap: 12px 8px;
    grid-template-columns: repeat(2, 1fr);
  }
  .cs_notification_panel {
    padding: 16px 12px;
  }
}
@media (max-width: 480px) {
  .cs_notification_stat_grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .cs_notification_bulk {
    width: 100%;
  }
  .cs_notification_bulk .cs_secondary_btn {
    flex: 1;
    padding: 12px 14px;
  }
  .cs_notification_filter .cs_filter_btn {
    padding: 10px 14px;
  }
}
/*===================================================
 Responsive
=====================================================*/
@media (max-width: 1799px) {
  .cs_classes_grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1399px) {
  .cs_dashboard_stat_grid,
  .cs_dashboard_panels,
  .cs_courses_grid,
  .cs_certificates_grid,
  .cs_classes_grid {
    gap: 12px;
  }
  .cs_dashboard_panels {
    grid-template-columns: 1.3fr 1.2fr 1fr;
  }
}
@media (max-width: 1199px) {
  .cs_dashboard_header {
    left: 0;
    width: 100%;
  }
  .cs_dashboard_header .cs_sidebar_toggle {
    display: inline-flex;
  }
  .cs_dashboard_header .cs_header_icon_btn {
    width: 38px;
    height: 38px;
  }
  .cs_dashboard_header .cs_header_avatar img {
    width: 40px;
    height: 40px;
  }
}
/*===================================================
 Profile Setting
=====================================================*/
.cs_profile_setting .cs_profile_setting_subtitle {
  max-width: 448px;
}
.cs_profile_setting .cs_profile_setting_form {
  display: grid;
  gap: 16px 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_profile_setting .cs_profile_setting_btns {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.cs_profile_setting .cs_profile_setting_btns .cs_primary_btn {
  padding: 10px 18px;
  border-radius: 5px;
}
.cs_profile_setting form .cs_form_field,
.cs_profile_setting form .nice-select {
  background-color: var(--white-color);
}
@media (max-width: 767px) {
  .cs_profile_setting .cs_profile_setting_form {
    gap: 12px;
  }
}
@media (max-width: 575px) {
  .cs_profile_setting .cs_profile_setting_form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .cs_courses_grid {
    gap: 12px 8px;
  }
  .cs_courses_grid.cs_discover_grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .cs_certificates_grid,
  .cs_classes_grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .cs_dashboard_stat_grid,
  .cs_dashboard_panels {
    gap: 12px 8px;
    grid-template-columns: repeat(2, 1fr);
  }
  .cs_dashboard_panel:first-child {
    grid-column: 1/-1;
  }
}
@media (max-width: 767px) {
  .cs_dashboard_panels {
    grid-template-columns: repeat(1, 1fr);
  }
  .cs_dashboard_panel {
    padding: 16px 12px;
  }
  .cs_courses_grid,
  .cs_courses_grid.cs_discover_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .cs_dashboard_stat_grid,
  .cs_certificates_grid,
  .cs_courses_grid,
  .cs_courses_grid.cs_discover_grid,
  .cs_classes_grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
/*===================================================
 Instructor Dashboard Layout
=====================================================*/
.cs_instructor_grid {
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1.42fr) minmax(0, 1fr);
}

.cs_instructor_grid_flip {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.42fr);
}

/*===================================================
 Instructor Pills
=====================================================*/
.cs_status_pill {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 4px 8px;
  line-height: 15px;
}

.cs_status_pill_active {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}

.cs_status_pill_done {
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}

.cs_status_pill_idle {
  color: var(--secondary-color);
  background-color: var(--gray10-color);
}

.cs_status_pill_pending {
  color: var(--warning-color);
  background-color: color-mix(in srgb, var(--warning-color) 10%, transparent);
}

.cs_course_pill {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 5px 10px;
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 8%, transparent);
}

/*===================================================
 Top Courses
=====================================================*/
.cs_top_course_list .cs_top_course {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px dashed var(--border-color);
}
.cs_top_course_list .cs_top_course:first-child {
  padding-top: 0;
}
.cs_top_course_list .cs_top_course_rank {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
}
.cs_top_course_list .cs_top_course_text {
  flex: 1 1 auto;
  min-width: 0;
}
.cs_top_course_list .cs_top_course_figure {
  flex-shrink: 0;
  text-align: right;
}
.cs_top_course_list .cs_top_course_rating {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.cs_top_course_list .cs_top_course_rating i {
  font-size: 16px;
  line-height: 1;
  color: var(--warning-color);
}
@media (max-width: 480px) {
  .cs_top_course_list .cs_top_course {
    display: grid;
    gap: 12px;
    align-items: start;
    grid-template-columns: 50px 1fr;
  }
  .cs_top_course_list .cs_top_course_figure {
    text-align: left;
    grid-column: 2/-1;
  }
  .cs_top_course_list .cs_top_course_rating {
    justify-content: flex-start;
  }
}

/*===================================================
 Recent Enrollments
=====================================================*/
.cs_enrollment_list li {
  display: grid;
  gap: 16px 24px;
  padding: 24px 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.42fr);
  border-bottom: 1px dashed var(--border-color);
}
.cs_enrollment_list li:first-child {
  padding-top: 0;
}
.cs_enrollment_list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.cs_enrollment_list .cs_enrollment_student {
  display: flex;
  gap: 16px;
  min-width: 0;
}
.cs_enrollment_list .cs_enrollment_avatar {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_enrollment_list .cs_enrollment_info {
  min-width: 0;
}
.cs_enrollment_list .cs_enrollment_name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.cs_enrollment_list .cs_enrollment_contact span {
  margin: 0 3px;
  color: var(--gray2-color);
}
.cs_enrollment_list .cs_enrollment_tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 3px;
}
.cs_enrollment_list .cs_enrollment_lessons {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 0;
}
.cs_enrollment_list .cs_enrollment_lessons i {
  font-size: 16px;
  line-height: 1;
}
.cs_enrollment_list .cs_enrollment_progress {
  min-width: 0;
}
.cs_enrollment_list .cs_enrollment_progress_head,
.cs_enrollment_list .cs_enrollment_progress_foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.cs_enrollment_list .cs_enrollment_time,
.cs_enrollment_list .cs_enrollment_rating {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.cs_enrollment_list .cs_enrollment_time i,
.cs_enrollment_list .cs_enrollment_rating i {
  font-size: 16px;
  line-height: 1;
}
.cs_enrollment_list .cs_enrollment_time i {
  color: var(--primary-color);
}
.cs_enrollment_list .cs_enrollment_rating i {
  color: var(--warning-color);
}
.cs_enrollment_list .cs_enrollment_price {
  flex-shrink: 0;
  color: var(--success-color);
}
.cs_enrollment_list .cs_progress {
  height: 10px;
  margin: 8px 0;
}

/*===================================================
 Instructor Deadlines
=====================================================*/
.cs_deadline_progress_list li {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px dashed var(--border-color);
}
.cs_deadline_progress_list li:first-child {
  padding-top: 0;
}
.cs_deadline_progress_list .cs_deadline_days {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  margin-top: 1px;
}
.cs_deadline_progress_list .cs_deadline_days_count {
  line-height: 1.15;
}
.cs_deadline_progress_list .cs_deadline_days_unit {
  line-height: 1;
}
.cs_deadline_progress_list .cs_deadline_body {
  flex: 1 1 auto;
  min-width: 0;
}
.cs_deadline_progress_list .cs_deadline_head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.cs_deadline_progress_list .cs_deadline_due {
  flex-shrink: 0;
  color: var(--error-color);
}
.cs_deadline_progress_list .cs_deadline_bar {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 16px 0 8px;
}
.cs_deadline_progress_list .cs_deadline_submitted {
  flex-shrink: 0;
}
.cs_deadline_progress_list .cs_deadline_date {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_deadline_progress_list .cs_deadline_date i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_deadline_progress_list .cs_progress {
  height: 10px;
}

/*===================================================
 Recent Submissions
=====================================================*/
.cs_submission_list li {
  display: flex;
  align-items: flex-start;
  gap: 16px 24px;
  padding: 24px 0;
  border-bottom: 1px dashed var(--border-color);
}
.cs_submission_list li:first-child {
  padding-top: 0;
}
.cs_submission_list .cs_submission_avatar {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}
.cs_submission_list .cs_submission_avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_submission_list .cs_submission_info {
  flex: 1 1 auto;
  min-width: 0;
}
.cs_submission_list .cs_submission_tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 3px;
}
.cs_submission_list .cs_submission_time {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 0;
}
.cs_submission_list .cs_submission_time i {
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_submission_list .cs_submission_status {
  flex-shrink: 0;
  margin-top: 3px;
  margin-left: auto;
}

/*===================================================
 Instructor Course Catalog Bar
=====================================================*/
form.cs_course_catalog_bar {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
}
form.cs_course_catalog_bar .cs_course_catalog_search {
  position: relative;
  flex: 1 1 320px;
  min-width: 0;
}
form.cs_course_catalog_bar .cs_course_catalog_search > i {
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
  font-size: 16px;
  line-height: 1;
  color: var(--secondary-color);
}
form.cs_course_catalog_bar .cs_course_catalog_input {
  height: 50px;
  padding-left: 46px;
  border-color: transparent;
  background-color: var(--white-color);
}
form.cs_course_catalog_bar .cs_course_catalog_input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
form.cs_course_catalog_bar .cs_course_catalog_sort {
  flex: 0 0 258px;
  max-width: 100%;
}
form.cs_course_catalog_bar .cs_course_catalog_select.nice-select {
  height: 50px;
  border-color: var(--border-color);
  background-color: var(--white-color);
}
form.cs_course_catalog_bar .cs_course_catalog_select.nice-select .list {
  max-height: none;
  margin-top: 1px;
  padding: 8px 0;
  box-shadow: 0 10px 30px color-mix(in srgb, var(--black-color) 10%, transparent);
}
form.cs_course_catalog_bar .cs_course_catalog_select.nice-select .option {
  padding: 8px 16px;
  line-height: 24px;
  color: var(--secondary-color);
}
form.cs_course_catalog_bar .cs_course_catalog_select.nice-select .option.selected {
  font-weight: 400;
}
form.cs_course_catalog_bar .cs_course_catalog_select.nice-select .option.focus,
form.cs_course_catalog_bar .cs_course_catalog_select.nice-select .option.selected,
form.cs_course_catalog_bar .cs_course_catalog_select.nice-select .option.selected.focus,
form.cs_course_catalog_bar .cs_course_catalog_select.nice-select .option:hover {
  color: var(--secondary-color);
  background-color: var(--gray6-color);
}
@media (max-width: 767px) {
  form.cs_course_catalog_bar .cs_course_catalog_input,
  form.cs_course_catalog_bar .cs_course_catalog_select.nice-select {
    height: 44px;
  }
}
@media (max-width: 575px) {
  form.cs_course_catalog_bar .cs_course_catalog_sort {
    flex: 0 0 160px;
  }
}
@media (max-width: 480px) {
  form.cs_course_catalog_bar {
    display: grid;
  }
}

/*===================================================
 Instructor Course Card
=====================================================*/
.cs_instructor_course_card .cs_course_media {
  margin-bottom: 8px;
}
.cs_instructor_course_card .cs_course_badges {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.cs_instructor_course_card .cs_course_badge {
  position: static;
  padding: 3px 10px;
}
.cs_instructor_course_card .cs_course_title {
  margin-bottom: 8px;
}
.cs_instructor_course_card .cs_course_meta {
  gap: 4px 18px;
  margin-bottom: 8px;
}
.cs_instructor_course_card .cs_course_lessons,
.cs_instructor_course_card .cs_course_duration,
.cs_instructor_course_card .cs_course_since,
.cs_instructor_course_card .cs_course_updated {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.cs_instructor_course_card .cs_course_lessons i,
.cs_instructor_course_card .cs_course_duration i,
.cs_instructor_course_card .cs_course_since i,
.cs_instructor_course_card .cs_course_updated i {
  font-size: 16px;
  line-height: 1;
}
.cs_instructor_course_card .cs_course_since i {
  color: var(--primary-color);
}
.cs_instructor_course_card .cs_course_stats {
  display: flex;
  gap: 3px;
  align-items: center;
  padding: 16px 12px;
}
.cs_instructor_course_card .cs_course_stat {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
}
.cs_instructor_course_card .cs_course_stat + .cs_course_stat {
  padding-left: 3px;
  border-left: 1px solid var(--white-color);
}
.cs_instructor_course_card .cs_course_stat:last-child {
  flex: 1;
}
.cs_instructor_course_card .cs_course_stat_number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.cs_instructor_course_card .cs_course_stat_number i {
  font-size: 16px;
  line-height: 1;
  color: var(--warning-color);
}
.cs_instructor_course_card .cs_course_timeline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 8px;
  margin-top: 8px;
}
.cs_instructor_course_card .cs_course_footer {
  padding-top: 16px;
}
.cs_instructor_course_card .cs_course_edit_btn {
  flex: 1 1 auto;
  padding: 10px 18px;
  color: var(--secondary-color);
  background-color: var(--white-color);
}
.cs_instructor_course_card .cs_course_edit_btn:hover {
  color: var(--white-color);
  border-color: var(--primary-color);
  background-color: var(--primary-color);
}
.cs_instructor_course_card .cs_course_remove_btn {
  padding: 14px 18px;
  border-color: var(--error-color);
}
@media (max-width: 1399px) {
  .cs_instructor_course_card .cs_course_stat + .cs_course_stat {
    padding-left: 0;
    border-left: 0;
  }
}

/*===================================================
 Create Course
=====================================================*/
.cs_create_course_grid {
  display: grid;
  align-items: start;
  gap: 24px;
  grid-template-columns: minmax(0, 2.05fr) minmax(0, 1fr);
}

.cs_create_course_panel {
  height: auto;
}
.cs_create_course_panel .cs_panel_title {
  margin-bottom: 24px;
}

.cs_create_course_form textarea.cs_form_field,
.cs_settings_form textarea.cs_form_field {
  height: auto;
  min-height: 120px;
}
.cs_create_course_form .cs_number_field,
.cs_settings_form .cs_number_field {
  position: relative;
}
.cs_create_course_form .cs_number_field input[type=number],
.cs_settings_form .cs_number_field input[type=number] {
  padding-right: 34px;
  -webkit-appearance: textfield;
          appearance: textfield;
  -moz-appearance: textfield;
}
.cs_create_course_form .cs_number_field input[type=number]::-webkit-outer-spin-button, .cs_create_course_form .cs_number_field input[type=number]::-webkit-inner-spin-button,
.cs_settings_form .cs_number_field input[type=number]::-webkit-outer-spin-button,
.cs_settings_form .cs_number_field input[type=number]::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.cs_create_course_form .cs_number_step,
.cs_settings_form .cs_number_step {
  position: absolute;
  top: 50%;
  right: 8px;
  display: flex;
  flex-direction: column;
  transform: translateY(-50%);
}
.cs_create_course_form .cs_number_step button,
.cs_settings_form .cs_number_step button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 13px;
  font-size: 16px;
  line-height: 1;
  color: var(--secondary-color);
}
.cs_create_course_form .cs_number_step button:hover,
.cs_settings_form .cs_number_step button:hover {
  color: var(--primary-color);
}
.cs_create_course_form .cs_create_course_fields,
.cs_settings_form .cs_create_course_fields {
  display: grid;
  gap: 16px;
}
.cs_create_course_form .cs_create_course_row,
.cs_settings_form .cs_create_course_row {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_create_course_form .cs_course_upload,
.cs_settings_form .cs_course_upload {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 17px;
  margin: 0;
  padding: 24px 16px;
  text-align: center;
  background-color: var(--gray10-color);
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.cs_create_course_form .cs_course_upload.cs_settings_upload,
.cs_settings_form .cs_course_upload.cs_settings_upload {
  gap: 8px;
}
.cs_create_course_form .cs_course_upload input[type=file],
.cs_settings_form .cs_course_upload input[type=file] {
  display: none;
}
.cs_create_course_form .cs_course_upload i,
.cs_settings_form .cs_course_upload i {
  font-size: 24px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_create_course_form .cs_course_upload .cs_course_upload_text,
.cs_settings_form .cs_course_upload .cs_course_upload_text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cs_create_course_form .cs_course_upload:hover,
.cs_settings_form .cs_course_upload:hover {
  background-color: var(--gray6-color);
}
.cs_create_course_form .cs_create_course_publish_title,
.cs_settings_form .cs_create_course_publish_title {
  margin-top: 24px;
}
.cs_create_course_form .cs_create_course_actions,
.cs_settings_form .cs_create_course_actions {
  display: grid;
  gap: 12px;
}
.cs_create_course_form .cs_create_course_actions .cs_primary_btn,
.cs_create_course_form .cs_create_course_actions .cs_secondary_btn,
.cs_settings_form .cs_create_course_actions .cs_primary_btn,
.cs_settings_form .cs_create_course_actions .cs_secondary_btn {
  width: 100%;
}
.cs_create_course_form .cs_create_course_actions .cs_secondary_btn,
.cs_settings_form .cs_create_course_actions .cs_secondary_btn {
  color: var(--primary-color);
}
.cs_create_course_form .cs_create_course_actions .cs_secondary_btn:hover,
.cs_settings_form .cs_create_course_actions .cs_secondary_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
@media (max-width: 767px) {
  .cs_create_course_form .cs_create_course_row,
  .cs_create_course_form .cs_create_course_fields,
  .cs_settings_form .cs_create_course_row,
  .cs_settings_form .cs_create_course_fields {
    gap: 12px;
  }
}
@media (max-width: 575px) {
  .cs_create_course_form .cs_create_course_row,
  .cs_settings_form .cs_create_course_row {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 991px) {
  .cs_create_course_grid {
    gap: 16px;
    grid-template-columns: minmax(0, 1fr);
  }
}
/*===================================================
 Instructor Live Classes
=====================================================*/
.cs_session_stat_live .cs_stat_icon {
  background: color-mix(in srgb, var(--error-color) 10%, transparent);
}

.cs_session_stat_enrolled .cs_stat_icon {
  background: color-mix(in srgb, var(--success-color) 10%, transparent);
}

.cs_session_stat_week .cs_stat_icon {
  background: color-mix(in srgb, var(--warning-color) 10%, transparent);
}

.cs_session_filter_nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
}
.cs_session_filter_nav .cs_filter_btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  font-weight: 600;
  color: var(--secondary-color);
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_session_filter_nav .cs_filter_btn:hover {
  color: var(--primary-color);
}
.cs_session_filter_nav .cs_filter_btn.active {
  color: var(--gray3-color);
  background-color: var(--primary-color);
}
.cs_session_filter_nav .cs_filter_btn.active .cs_filter_count {
  color: var(--white-color);
  background-color: color-mix(in srgb, var(--white-color) 30%, transparent);
}
.cs_session_filter_nav .cs_filter_count {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  border-radius: 8px;
  font-size: 10px;
  line-height: 1;
  letter-spacing: -1px;
  color: var(--black-color);
  background-color: var(--gray3-color);
}
@media (max-width: 575px) {
  .cs_session_filter_nav {
    gap: 6px;
  }
  .cs_session_filter_nav .cs_filter_btn {
    padding: 10px 14px;
  }
}

.cs_session_list {
  display: grid;
  gap: 16px;
}

.cs_session_row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border: 1px solid transparent;
}
.cs_session_row.cs_session_row_live {
  border-color: var(--error-color);
}
.cs_session_row .cs_session_icon {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  padding: 13px;
  background-color: var(--gray3-color);
}
.cs_session_row .cs_session_icon img {
  border-radius: 0;
}
.cs_session_row .cs_session_body {
  flex: 1 1 0;
  min-width: 0;
}
.cs_session_row .cs_session_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 18px;
  margin-top: 8px;
}
.cs_session_row .cs_session_meta li {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_session_row .cs_session_meta i {
  font-size: 16px;
  line-height: 1;
}
.cs_session_row .cs_session_progress {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
}
.cs_session_row .cs_session_progress .cs_progress {
  flex: 1 1 auto;
  height: 10px;
  margin-bottom: 0;
  background-image: linear-gradient(90deg, var(--gray6-color) 0%, var(--gray3-color) 100%);
}
.cs_session_row .cs_session_progress .cs_progress_in {
  background-color: var(--cs-bar-color, var(--primary-color));
}
.cs_session_row .cs_session_progress_label {
  flex-shrink: 0;
}
.cs_session_row .cs_session_actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}
.cs_session_row .cs_session_actions_row {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_session_row .cs_session_platform {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  text-wrap: nowrap;
}
.cs_session_row .cs_session_platform img {
  width: 16px;
}
.cs_session_row .cs_session_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 44px;
  padding: 8px 18px;
  font-weight: 600;
  border: 1px solid transparent;
  background-color: var(--white-color);
  text-wrap: nowrap;
  transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
}
.cs_session_row .cs_session_btn i {
  font-size: 16px;
  line-height: 1;
}
.cs_session_row .cs_session_btn_start {
  color: var(--white-color);
  background-color: var(--error-color);
}
.cs_session_row .cs_session_btn_start:hover {
  color: var(--white-color);
  background-color: var(--black-color);
}
.cs_session_row .cs_session_btn_delete {
  color: var(--error-color);
  border-color: var(--error-color);
}
.cs_session_row .cs_session_btn_delete:hover {
  color: var(--white-color);
  background-color: var(--error-color);
}
.cs_session_row .cs_session_btn_edit {
  color: var(--secondary-color);
  border-color: var(--secondary-color);
}
.cs_session_row .cs_session_btn_edit:hover {
  color: var(--primary-color);
  border-color: var(--primary-color);
}
@media (max-width: 1399px) {
  .cs_session_row {
    gap: 12px;
    padding: 16px 12px;
  }
  .cs_session_row .cs_session_icon {
    width: 60px;
    height: 60px;
  }
  .cs_session_row .cs_session_actions_row {
    gap: 12px;
  }
}
@media (max-width: 991px) {
  .cs_session_row {
    flex-wrap: wrap;
  }
  .cs_session_row .cs_session_actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin-left: 72px;
  }
}
@media (max-width: 575px) {
  .cs_session_row .cs_session_actions {
    margin-left: 0;
  }
  .cs_session_row .cs_session_actions_row,
  .cs_session_row .cs_session_btn {
    flex: 1 1 auto;
  }
}
@media (max-width: 374px) {
  .cs_session_row {
    flex-direction: column;
  }
}

/*===================================================
 Instructor Earnings — Stat Tints
=====================================================*/
.cs_earning_stat_month .cs_stat_icon {
  background: color-mix(in srgb, var(--success-color) 10%, transparent);
}

.cs_earning_stat_available .cs_stat_icon {
  background: color-mix(in srgb, var(--info-color) 10%, transparent);
}

.cs_earning_stat_pending .cs_stat_icon {
  background: color-mix(in srgb, var(--warning-color) 10%, transparent);
}

/*===================================================
 Revenue Time Panel
=====================================================*/
.cs_revenue_time_panel {
  padding: 24px;
}
.cs_revenue_time_panel .cs_panel_head {
  margin-bottom: 36px;
}
@media (max-width: 1399px) {
  .cs_revenue_time_panel {
    padding: 16px;
  }
}
@media (max-width: 991px) {
  .cs_revenue_time_panel {
    padding: 12px 12px 16px;
  }
}

/*===================================================
 Revenue by Course
=====================================================*/
.cs_revenue_course_list li {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px dashed var(--border-color);
}
.cs_revenue_course_list li:first-child {
  padding-top: 0;
}
.cs_revenue_course_list li:last-child {
  border-bottom: 0;
}
.cs_revenue_course_list .cs_revenue_rank {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
}
.cs_revenue_course_list .cs_revenue_rank_info {
  background-color: var(--info-color);
}
.cs_revenue_course_list .cs_revenue_course_text {
  flex: 1 1 auto;
  min-width: 0;
}
.cs_revenue_course_list .cs_revenue_course_head {
  display: flex;
  gap: 6px 16px;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 8px;
}
.cs_revenue_course_list .cs_revenue_course_amount {
  flex-shrink: 0;
  color: var(--success-color);
}
.cs_revenue_course_list .cs_progress {
  display: block;
  height: 10px;
  margin-bottom: 8px;
  background-image: linear-gradient(90deg, var(--gray6-color) 0%, var(--gray3-color) 100%);
}
.cs_revenue_course_list .cs_progress_in {
  background-color: var(--primary-color);
}
.cs_revenue_course_list .cs_revenue_course_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 26px;
}
.cs_revenue_course_list .cs_revenue_course_rating {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.cs_revenue_course_list .cs_revenue_course_rating i {
  font-size: 16px;
  line-height: 1;
  color: var(--warning-color);
}
.cs_revenue_course_list .cs_revenue_course_share {
  margin-left: auto;
}
@media (max-width: 1399px) {
  .cs_revenue_course_list li {
    gap: 12px;
  }
  .cs_revenue_course_list .cs_revenue_course_meta {
    gap: 4px 16px;
  }
}

/*===================================================
 Revenue by Category
=====================================================*/
.cs_category_revenue_panel {
  display: flex;
  flex-direction: column;
  padding: 16px;
}
.cs_category_revenue_panel .cs_category_revenue_chart {
  width: 280px;
  height: 280px;
  margin: 24px auto 30px;
}
.cs_category_revenue_panel .cs_category_revenue_list li,
.cs_category_revenue_panel .cs_category_revenue_total {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 9px 0;
}
.cs_category_revenue_panel .cs_category_revenue_name {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.cs_category_revenue_panel .cs_category_revenue_dot {
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  border-radius: 50%;
}
.cs_category_revenue_panel .cs_category_revenue_leader {
  flex: 1 1 auto;
  height: 0;
  border-top: 1px dashed var(--border-color);
}
.cs_category_revenue_panel .cs_category_revenue_amount {
  flex-shrink: 0;
  min-width: 56px;
  text-align: right;
}
.cs_category_revenue_panel .cs_category_revenue_share {
  flex-shrink: 0;
  min-width: 40px;
  text-align: right;
}
.cs_category_revenue_panel .cs_category_revenue_total {
  justify-content: space-between;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px dashed var(--border-color);
}
@media (max-width: 1399px) {
  .cs_category_revenue_panel .cs_category_revenue_chart {
    width: 230px;
    height: 230px;
  }
}
@media (max-width: 575px) {
  .cs_category_revenue_panel .cs_category_revenue_chart {
    width: 200px;
    height: 200px;
    margin: 16px auto 24px;
  }
  .cs_category_revenue_panel .cs_category_revenue_list li,
  .cs_category_revenue_panel .cs_category_revenue_total {
    gap: 10px;
  }
}

/*===================================================
 Transaction History
=====================================================*/
.cs_transaction_panel {
  overflow: hidden;
}
.cs_transaction_panel .cs_panel_head {
  margin-bottom: 20px;
}
.cs_transaction_panel .cs_transaction_summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 16px;
  padding-top: 16px;
}
.cs_transaction_panel .cs_transaction_summary .cs_transaction_total {
  font-weight: 600;
  color: var(--success-color);
}

.cs_transaction_table_wrap {
  margin: 0 -16px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--primary-color) 40%, transparent) transparent;
}

.cs_transaction_table {
  width: 100%;
  min-width: 960px;
  margin-bottom: 0;
  border-collapse: collapse;
}
.cs_transaction_table th {
  height: 50px;
  padding: 0 16px 0 0;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
  color: var(--black-color);
  background-color: var(--gray10-color);
}
.cs_transaction_table td {
  padding: 16px 16px 16px 0;
  vertical-align: middle;
  border-bottom: 1px dashed var(--border-color);
}
.cs_transaction_table th:first-child,
.cs_transaction_table td:first-child {
  padding-left: 16px;
}
.cs_transaction_table th:last-child,
.cs_transaction_table td:last-child {
  padding-right: 16px;
}
.cs_transaction_table th:nth-child(1) {
  width: 11%;
}
.cs_transaction_table th:nth-child(2) {
  width: 22%;
}
.cs_transaction_table th:nth-child(3) {
  width: 20%;
}
.cs_transaction_table th:nth-child(4) {
  width: 12%;
}
.cs_transaction_table th:nth-child(5) {
  width: 13%;
}
.cs_transaction_table th:nth-child(6) {
  width: 15%;
}
.cs_transaction_table th:nth-child(7) {
  width: 7%;
}
.cs_transaction_table td:nth-child(6) {
  text-wrap: nowrap;
}
.cs_transaction_table .cs_transaction_student {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_transaction_table .cs_transaction_student .cs_transaction_avatar {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_transaction_table .cs_transaction_status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
}
.cs_transaction_table .cs_transaction_status_completed {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_transaction_table .cs_transaction_status_refunded {
  color: var(--error-color);
  background-color: color-mix(in srgb, var(--error-color) 10%, transparent);
}
.cs_transaction_table .cs_student_stat_active .cs_stat_icon {
  background: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_transaction_table .cs_student_stat_inactive .cs_stat_icon {
  background: color-mix(in srgb, var(--info-color) 10%, transparent);
}
.cs_transaction_table .cs_student_stat_completed .cs_stat_icon {
  background: color-mix(in srgb, var(--warning-color) 10%, transparent);
}
@media (max-width: 991px) {
  .cs_transaction_table .cs_transaction_student {
    gap: 12px;
  }
  .cs_transaction_table .cs_transaction_student .cs_transaction_avatar {
    width: 60px;
    height: 60px;
  }
}

/*===================================================
 Students Filter Bar
=====================================================*/
form.cs_student_filter_bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
form.cs_student_filter_bar .cs_student_search {
  position: relative;
  flex: 1 1 320px;
  min-width: 0;
}
form.cs_student_filter_bar .cs_student_search > i {
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
  font-size: 16px;
  line-height: 1;
  color: var(--secondary-color);
}
form.cs_student_filter_bar .cs_student_search_input {
  padding-left: 46px;
  border-color: transparent;
  background-color: var(--white-color);
}
form.cs_student_filter_bar .cs_student_search_input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
form.cs_student_filter_bar .cs_student_filter {
  flex: 0 0 240px;
  max-width: 100%;
}
form.cs_student_filter_bar .cs_student_select.nice-select {
  border-color: var(--border-color);
  background-color: var(--white-color);
}
form.cs_student_filter_bar .cs_student_select.nice-select .list {
  max-height: none;
  margin-top: 1px;
  padding: 8px 0;
  min-width: -moz-max-content;
  min-width: max-content;
  box-shadow: 0 10px 30px color-mix(in srgb, var(--black-color) 10%, transparent);
}
form.cs_student_filter_bar .cs_student_select.nice-select .option {
  padding: 8px 16px;
  line-height: 1.5em;
}
form.cs_student_filter_bar .cs_student_select.nice-select .option.selected {
  font-weight: 400;
}
form.cs_student_filter_bar .cs_student_select.nice-select .option.focus,
form.cs_student_filter_bar .cs_student_select.nice-select .option.selected,
form.cs_student_filter_bar .cs_student_select.nice-select .option.selected.focus,
form.cs_student_filter_bar .cs_student_select.nice-select .option:hover {
  color: var(--secondary-color);
  background-color: var(--gray6-color);
}
form.cs_student_filter_bar .nice-select .current {
  overflow: hidden;
  min-width: 0;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media (max-width: 1199px) {
  form.cs_student_filter_bar .cs_student_filter {
    flex: 1 1 200px;
  }
}
@media (max-width: 767px) {
  form.cs_student_filter_bar {
    gap: 8px 12px;
  }
}

/*===================================================
 Students Table
=====================================================*/
.cs_student_panel {
  padding: 24px 16px;
}

.cs_student_table_wrap {
  margin: 0 -16px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--primary-color) 40%, transparent) transparent;
}

.cs_student_table {
  width: 100%;
  min-width: 1200px;
  margin-bottom: 0;
  border-collapse: collapse;
}
.cs_student_table th {
  height: 50px;
  padding: 0 16px 0 0;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
  color: var(--black-color);
  background-color: var(--gray10-color);
}
.cs_student_table td {
  padding: 16px 16px 16px 0;
  vertical-align: middle;
  border-bottom: 1px dashed var(--border-color);
}
.cs_student_table th:first-child,
.cs_student_table td:first-child {
  padding-left: 16px;
}
.cs_student_table th:last-child,
.cs_student_table td:last-child {
  padding-right: 16px;
}
.cs_student_table th:nth-child(1) {
  width: 20%;
}
.cs_student_table th:nth-child(2) {
  width: 16.5%;
}
.cs_student_table th:nth-child(3) {
  width: 7.6%;
}
.cs_student_table th:nth-child(4) {
  width: 15.3%;
}
.cs_student_table th:nth-child(5) {
  width: 8.6%;
}
.cs_student_table th:nth-child(6) {
  width: 8.6%;
}
.cs_student_table th:nth-child(7) {
  width: 9.5%;
}
.cs_student_table .cs_student_identity {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_student_table .cs_student_identity .cs_student_avatar {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_student_table .cs_student_identity .cs_student_identity_text {
  min-width: 0;
}
.cs_student_table .cs_student_progress {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_student_table .cs_student_progress .cs_progress {
  width: 150px;
  height: 5px;
  flex-shrink: 0;
  margin-bottom: 0;
  background-color: var(--gray3-color);
}
.cs_student_table .cs_student_progress .cs_progress_in {
  background-color: var(--cs-bar-color, var(--primary-color));
}
.cs_student_table .cs_student_status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  white-space: nowrap;
}
.cs_student_table .cs_student_status_active {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_student_table .cs_student_status_inactive {
  color: var(--info-color);
  background-color: color-mix(in srgb, var(--info-color) 10%, transparent);
}
.cs_student_table .cs_student_status_completed {
  color: var(--warning-color);
  background-color: color-mix(in srgb, var(--warning-color) 10%, transparent);
}
.cs_student_table .cs_student_actions {
  display: flex;
  align-items: center;
  gap: 7px;
}
.cs_student_table .cs_student_action_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 44px;
  padding: 8px 18px;
  font-weight: 600;
  white-space: nowrap;
  border: 1px solid currentColor;
  background-color: var(--white-color);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_student_table .cs_student_action_btn i {
  font-size: 16px;
  line-height: 1;
}
.cs_student_table .cs_student_edit_btn {
  color: var(--primary-color);
}
.cs_student_table .cs_student_edit_btn:hover {
  color: var(--white-color);
  border-color: var(--primary-color);
  background-color: var(--primary-color);
}
.cs_student_table .cs_student_delete_btn {
  color: var(--error-color);
}
.cs_student_table .cs_student_delete_btn:hover {
  color: var(--white-color);
  border-color: var(--error-color);
  background-color: var(--error-color);
}
@media (max-width: 1199px) {
  .cs_student_table th {
    height: 46px;
  }
  .cs_student_table td {
    padding: 14px 12px 14px 0;
  }
  .cs_student_table th:first-child,
  .cs_student_table td:first-child {
    padding-left: 12px;
  }
  .cs_student_table th:last-child,
  .cs_student_table td:last-child {
    padding-right: 12px;
  }
  .cs_student_table .cs_student_identity {
    gap: 12px;
  }
  .cs_student_table .cs_student_identity .cs_student_avatar {
    width: 60px;
    height: 60px;
  }
  .cs_student_table .cs_student_progress {
    gap: 12px;
  }
  .cs_student_table .cs_student_progress .cs_progress {
    width: 110px;
  }
  .cs_student_table .cs_student_action_btn {
    gap: 8px;
    height: 40px;
    padding: 6px 14px;
  }
}
@media (max-width: 991px) {
  .cs_student_table td {
    padding: 12px 10px 12px 0;
  }
  .cs_student_table th:first-child,
  .cs_student_table td:first-child {
    padding-left: 10px;
  }
  .cs_student_table th:last-child,
  .cs_student_table td:last-child {
    padding-right: 10px;
  }
  .cs_student_table .cs_student_identity {
    gap: 10px;
  }
  .cs_student_table .cs_student_identity .cs_student_avatar {
    width: 50px;
    height: 50px;
  }
  .cs_student_table .cs_student_progress {
    gap: 10px;
  }
  .cs_student_table .cs_student_progress .cs_progress {
    width: 90px;
  }
  .cs_student_table .cs_student_actions {
    gap: 6px;
  }
  .cs_student_table .cs_student_action_btn {
    gap: 6px;
    height: 36px;
    padding: 6px 12px;
  }
}
@media (max-width: 767px) {
  .cs_student_table th {
    height: 42px;
  }
  .cs_student_table .cs_student_identity .cs_student_avatar {
    width: 44px;
    height: 44px;
  }
  .cs_student_table .cs_student_progress .cs_progress {
    width: 76px;
  }
  .cs_student_table .cs_student_status {
    padding: 3px 8px;
  }
  .cs_student_table .cs_student_action_btn {
    height: 34px;
    padding: 5px 10px;
  }
}
@media (max-width: 575px) {
  .cs_student_table td {
    padding: 10px 8px 10px 0;
  }
  .cs_student_table th:first-child,
  .cs_student_table td:first-child {
    padding-left: 8px;
  }
  .cs_student_table th:last-child,
  .cs_student_table td:last-child {
    padding-right: 8px;
  }
  .cs_student_table .cs_student_identity .cs_student_avatar {
    width: 40px;
    height: 40px;
  }
  .cs_student_table .cs_student_progress .cs_progress {
    width: 64px;
  }
}

.cs_student_empty {
  display: none;
  padding-top: 24px;
  text-align: center;
}

.cs_table_pagination {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
}
.cs_table_pagination .cs_table_pagination_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 26px;
  padding: 0;
  border: 0;
  color: var(--secondary-color);
  background-color: transparent;
  transition: color 0.3s ease;
}
.cs_table_pagination .cs_table_pagination_btn i {
  font-size: 16px;
  line-height: 1;
}
.cs_table_pagination .cs_table_pagination_btn:hover {
  color: var(--primary-color);
}

/*===================================================
 Instructor Dashboard Responsive
=====================================================*/
@media (max-width: 1399px) {
  .cs_instructor_grid {
    gap: 16px;
  }
  .cs_enrollment_list li {
    gap: 16px;
  }
}
@media (max-width: 1199px) {
  .cs_enrollment_list li {
    align-items: flex-start;
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 991px) {
  .cs_instructor_grid,
  .cs_instructor_grid_flip {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 575px) {
  .cs_enrollment_list .cs_enrollment_avatar,
  .cs_submission_list .cs_submission_avatar {
    width: 60px;
    height: 60px;
  }
  .cs_enrollment_list .cs_enrollment_student,
  .cs_submission_list li {
    gap: 12px;
  }
  .cs_submission_list .cs_submission_status {
    margin-left: 72px;
  }
  .cs_submission_list li {
    flex-wrap: wrap;
  }
  .cs_deadline_progress_list .cs_deadline_bar {
    gap: 12px;
  }
}
/*===================================================
 Instructor Settings
=====================================================*/
.cs_settings_layout {
  display: grid;
  align-items: start;
  gap: 24px;
  grid-template-columns: 240px minmax(0, 1fr);
}

.cs_settings_nav {
  position: sticky;
  top: 116px;
  height: auto;
}

.cs_settings_nav_list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cs_settings_nav_list a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  border-radius: 5px;
  transition: all 0.3s ease;
}
.cs_settings_nav_list a i {
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}
.cs_settings_nav_list a:hover {
  color: var(--primary-color);
  background-color: var(--gray6-color);
}
.cs_settings_nav_list a.active {
  color: var(--gray3-color);
  background-color: var(--primary-color);
}

.cs_settings_panels {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.cs_settings_panel {
  scroll-margin-top: 116px;
}
.cs_settings_panel .cs_settings_head {
  margin-bottom: 24px;
}
.cs_settings_panel .cs_settings_subhead {
  margin-top: 24px;
  margin-bottom: 16px;
}
.cs_settings_panel .cs_settings_subhead h3 {
  margin-bottom: 0;
}
.cs_settings_panel .cs_settings_btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.cs_settings_panel .cs_settings_btns .cs_primary_btn {
  padding: 10px 18px;
}

.cs_settings_form .cs_form_field,
.cs_settings_form .nice-select {
  height: 54px;
}
.cs_settings_form textarea.cs_form_field {
  height: auto;
  min-height: 120px;
  padding: 14px 16px;
}
@media (max-width: 767px) {
  .cs_settings_form .cs_form_field,
  .cs_settings_form .nice-select {
    height: 48px;
  }
  .cs_settings_form textarea.cs_form_field {
    height: auto;
  }
}

.cs_settings_fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cs_settings_field_row {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cs_settings_upload {
  gap: 8px;
}
.cs_settings_upload .cs_course_upload_text {
  gap: 0;
}

/*===================================================
 Instructor Settings — Notification Switches
=====================================================*/
.cs_settings_switch_list li {
  padding: 16px 0;
  border-bottom: 1px solid var(--border-color);
}
.cs_settings_switch_list li:first-child {
  padding-top: 0;
}

.cs_settings_switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  cursor: pointer;
}
.cs_settings_switch input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.cs_settings_switch .cs_settings_switch_text {
  min-width: 0;
}
.cs_settings_switch .cs_settings_switch_title,
.cs_settings_switch .cs_settings_switch_note {
  display: block;
}
.cs_settings_switch .cs_settings_switch_slider {
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
  border-radius: 50px;
  background-color: var(--gray3-color);
  transition: background-color 0.3s ease;
}
.cs_settings_switch .cs_settings_switch_slider::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  content: "";
  border-radius: 50%;
  background-color: var(--white-color);
  transition: transform 0.3s ease;
}
.cs_settings_switch input:checked ~ .cs_settings_switch_slider {
  background-color: var(--primary-color);
}
.cs_settings_switch input:checked ~ .cs_settings_switch_slider::after {
  transform: translateX(20px);
}
.cs_settings_switch input:focus-visible ~ .cs_settings_switch_slider {
  outline: 2px solid var(--accent-color);
  outline-offset: 2px;
}

/*===================================================
 Instructor Settings — Two-Factor + Danger Zone
=====================================================*/
.cs_settings_2fa {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cs_settings_2fa_option {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 54px;
  padding: 10px 16px;
  color: var(--secondary-color);
  border: 1px solid var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
  transition: all 0.3s ease;
}

button.cs_settings_2fa_option:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}

.cs_settings_delete_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  font-weight: 600;
  line-height: 1.5em;
  color: var(--white-color);
  border: 0;
  background-color: var(--error-color);
  transition: background-color 0.3s ease;
}
.cs_settings_delete_btn i {
  font-size: 16px;
  line-height: 1;
}
.cs_settings_delete_btn:hover {
  color: var(--white-color);
  background-color: color-mix(in srgb, var(--error-color) 85%, var(--black-color));
}

/*===================================================
 Instructor Settings — Connected Apps
=====================================================*/
.cs_settings_apps_list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  padding: 16px 0;
  border-bottom: 1px dashed var(--border-color);
}
.cs_settings_apps_list li:first-child {
  padding-top: 0;
}
.cs_settings_apps_list .cs_settings_app_text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.cs_settings_apps_list .cs_settings_app_btn {
  padding: 7px 15px;
  color: var(--secondary-color);
  border: 1px solid var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
  transition: all 0.3s ease;
}
.cs_settings_apps_list .cs_settings_app_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_settings_apps_list .cs_settings_app_btn_connect {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_settings_apps_list .cs_settings_app_btn_connect:hover {
  border-color: var(--accent-color);
  background-color: var(--accent-color);
}

/*===================================================
 Instructor Settings Responsive
=====================================================*/
@media (max-width: 991px) {
  .cs_settings_layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .cs_settings_nav {
    position: static;
  }
  .cs_settings_nav_list {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media (max-width: 575px) {
  .cs_settings_field_row,
  .cs_settings_2fa {
    grid-template-columns: minmax(0, 1fr);
  }
}
/*===================================================
 Instructor Reviews
=====================================================*/
.cs_review_stat_grid {
  gap: 24px;
}
@media (max-width: 1399px) {
  .cs_review_stat_grid {
    gap: 12px;
  }
}
@media (max-width: 991px) {
  .cs_review_stat_grid {
    gap: 12px 8px;
  }
}

.cs_review_stat_rating .cs_stat_icon {
  background: color-mix(in srgb, var(--warning-color) 10%, transparent);
}

.cs_review_stat_pending .cs_stat_icon {
  background: color-mix(in srgb, var(--primary-color) 10%, transparent);
}

.cs_review_stat_approved .cs_stat_icon {
  background: color-mix(in srgb, var(--success-color) 10%, transparent);
}

.cs_review_stat_rejected .cs_stat_icon {
  background: color-mix(in srgb, var(--error-color) 10%, transparent);
}

.cs_review_list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cs_review_row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
}
.cs_review_row .cs_review_avatar {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.cs_review_row .cs_review_body {
  flex: 1 1 0;
  min-width: 0;
}
.cs_review_row .cs_review_head {
  display: flex;
  align-items: center;
  gap: 8px 16px;
}
.cs_review_row .cs_review_status {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 50px;
}
.cs_review_row .cs_review_status_approved {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_review_row .cs_review_status_pending {
  color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_review_row .cs_review_status_rejected {
  color: var(--error-color);
  background-color: color-mix(in srgb, var(--error-color) 10%, transparent);
}
.cs_review_row .cs_review_text {
  margin-top: 12px;
}
.cs_review_row .cs_review_meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex-shrink: 0;
  align-self: center;
  text-align: right;
}
.cs_review_row .cs_rating {
  width: 84px;
}
@media (max-width: 767px) {
  .cs_review_row {
    gap: 12px;
    padding: 16px 12px;
  }
}
@media (max-width: 575px) {
  .cs_review_row {
    flex-wrap: wrap;
  }
  .cs_review_row .cs_review_avatar {
    width: 60px;
    height: 60px;
  }
  .cs_review_row .cs_review_meta {
    flex: 0 0 100%;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    align-self: flex-start;
    margin-left: 72px;
  }
}
@media (max-width: 374px) {
  .cs_review_row {
    align-items: flex-start;
    flex-direction: column;
  }
  .cs_review_row .cs_review_meta {
    margin-left: 0;
  }
}

/*===================================================
 Modal Base Style
=====================================================*/
.cs_modal {
  position: fixed;
  z-index: 1050;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.cs_modal .cs_modal_overlay {
  position: absolute;
  inset: 0;
  background-color: color-mix(in srgb, var(--black-color) 50%, transparent);
}
.cs_modal .cs_modal_dialog {
  position: relative;
  width: min(100%, 552px);
  max-height: calc(100vh - 40px);
  padding: 24px;
  overflow-y: auto;
  transform: translateY(30px);
  transition: transform 0.3s ease;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.cs_modal .cs_modal_dialog::-webkit-scrollbar {
  display: none;
}
.cs_modal .cs_modal_close {
  position: absolute;
  top: 24px;
  right: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  line-height: 1;
  color: var(--black-color);
  background-color: var(--gray10-color);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_modal .cs_modal_close i {
  font-size: 20px;
  line-height: 1;
}
.cs_modal .cs_modal_close:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_modal .cs_modal_head {
  margin-bottom: 16px;
}
.cs_modal .cs_modal_title {
  margin-bottom: 4px;
  padding-right: 66px;
}
.cs_modal .cs_modal_text {
  margin-bottom: 16px;
}
.cs_modal .cs_modal_form {
  display: grid;
  gap: 16px;
}
.cs_modal .cs_modal_form_row {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_modal .cs_modal_form_row_3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cs_modal textarea.cs_form_field {
  height: auto;
}
.cs_modal .cs_modal_switch_list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cs_modal .cs_modal_switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  cursor: pointer;
}
.cs_modal .cs_modal_switch input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.cs_modal .cs_modal_switch_text {
  min-width: 0;
}
.cs_modal .cs_modal_switch_title,
.cs_modal .cs_modal_switch_note {
  display: block;
}
.cs_modal .cs_modal_switch_slider {
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
  border-radius: 50px;
  background-color: var(--gray3-color);
  transition: background-color 0.3s ease;
}
.cs_modal .cs_modal_switch_slider::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  content: "";
  border-radius: 50%;
  background-color: var(--white-color);
  transition: transform 0.3s ease;
}
.cs_modal input:checked ~ .cs_modal_switch_slider {
  background-color: var(--primary-color);
}
.cs_modal input:checked ~ .cs_modal_switch_slider::after {
  transform: translateX(20px);
}
.cs_modal input:focus-visible ~ .cs_modal_switch_slider {
  outline: 2px solid var(--accent-color);
  outline-offset: 2px;
}
.cs_modal .cs_modal_btns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}
.cs_modal .cs_modal_btns .cs_primary_btn,
.cs_modal .cs_modal_btns .cs_secondary_btn {
  height: 44px;
  padding: 8px 18px;
}
.cs_modal .cs_modal_btns .cs_secondary_btn {
  border-color: var(--border-color);
  background-color: var(--white-color);
}
.cs_modal .cs_modal_btns .cs_secondary_btn:hover {
  border-color: var(--primary-color);
}
.cs_modal.active {
  opacity: 1;
  visibility: visible;
}
.cs_modal.active .cs_modal_dialog {
  transform: translateY(0);
}
@media (max-width: 767px) {
  .cs_modal {
    padding: 20px 12px;
  }
  .cs_modal .cs_modal_dialog {
    padding: 20px 12px;
  }
  .cs_modal .cs_modal_close {
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
  }
  .cs_modal .cs_modal_title {
    padding-right: 48px;
  }
}
@media (max-width: 480px) {
  .cs_modal .cs_modal_form,
  .cs_modal .cs_modal_form_row {
    gap: 12px;
  }
  .cs_modal .cs_modal_form_row {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .cs_modal .cs_modal_switch {
    gap: 12px;
  }
  .cs_modal .cs_modal_btns {
    display: grid;
  }
}

/*===================================================
 Add Event Modal
=====================================================*/
.cs_eventadd_modal .cs_modal_dialog {
  width: min(100%, 440px);
}
.cs_eventadd_modal .cs_modal_close {
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  color: var(--secondary-color);
  background-color: transparent;
}
.cs_eventadd_modal .cs_modal_close:hover {
  color: var(--error-color);
  background-color: var(--gray10-color);
}
.cs_eventadd_modal .cs_modal_title {
  padding-right: 32px;
}
.cs_eventadd_modal .cs_modal_text {
  margin-bottom: 20px;
}
.cs_eventadd_modal .cs_form_label {
  margin-bottom: 8px;
}
.cs_eventadd_modal .cs_form_field,
.cs_eventadd_modal .nice-select {
  padding-left: 14px;
}
.cs_eventadd_modal .nice-select {
  padding-right: 36px;
}
.cs_eventadd_modal .nice-select .list {
  top: auto;
  bottom: 100%;
  margin: 0 0 4px;
  transform: scale(0.75) translateY(21px);
  transform-origin: 50% 100%;
}
.cs_eventadd_modal .nice-select.open .list {
  transform: scale(1) translateY(0);
}
.cs_eventadd_modal .nice-select .option {
  padding: 8px 14px;
}
.cs_eventadd_modal .cs_number_field {
  position: relative;
}
.cs_eventadd_modal .cs_number_field input[type=number] {
  padding-right: 34px;
  -webkit-appearance: textfield;
          appearance: textfield;
  -moz-appearance: textfield;
}
.cs_eventadd_modal .cs_number_field input[type=number]::-webkit-outer-spin-button, .cs_eventadd_modal .cs_number_field input[type=number]::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.cs_eventadd_modal .cs_number_step {
  position: absolute;
  top: 50%;
  right: 8px;
  display: flex;
  flex-direction: column;
  transform: translateY(-50%);
}
.cs_eventadd_modal .cs_number_step button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 13px;
  font-size: 16px;
  line-height: 1;
  color: var(--secondary-color);
}
.cs_eventadd_modal .cs_number_step button:hover {
  color: var(--primary-color);
}
.cs_eventadd_modal .cs_modal_btns {
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .cs_eventadd_modal .cs_modal_dialog {
    padding: 16px 12px 24px;
  }
}
@media (max-width: 480px) {
  .cs_eventadd_modal .cs_modal_btns {
    justify-content: stretch;
  }
}

/*===================================================
 Leaderboard Profile Modal
=====================================================*/
.cs_profile_modal .cs_modal_dialog {
  width: min(100%, 460px);
}
.cs_profile_modal .cs_modal_close {
  top: 20px;
  right: 20px;
  width: 36px;
  height: 36px;
}
.cs_profile_modal .cs_modal_title {
  padding-right: 44px;
}
.cs_profile_modal .cs_modal_text {
  margin-bottom: 8px;
}
.cs_profile_modal .cs_profile_modal_list li {
  display: flex;
  gap: 5px 16px;
  padding: 14px 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px dashed var(--border-color);
}
.cs_profile_modal .cs_profile_modal_list li:last-child {
  border-bottom: 0;
}
.cs_profile_modal .cs_modal_btns {
  justify-content: flex-end;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .cs_profile_modal .cs_modal_close {
    top: 16px;
    right: 16px;
  }
}
@media (max-width: 480px) {
  .cs_profile_modal .cs_modal_btns {
    justify-content: stretch;
  }
}

/*===================================================
 Request Certificate Modal
=====================================================*/
.cs_certificate_modal .cs_modal_dialog {
  width: min(100%, 480px);
}

/*===================================================
 Create Class Modal
=====================================================*/
.cs_new_class_modal .cs_modal_dialog {
  padding-top: 30px;
}
@media (max-width: 767px) {
  .cs_new_class_modal .cs_modal_dialog {
    padding-top: 20px;
  }
}

/*===================================================
 Assignment Modal
=====================================================*/
.cs_assignment_modal .cs_modal_dialog {
  padding-top: 30px;
}
.cs_assignment_modal .cs_assignment_upload {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  cursor: pointer;
}
.cs_assignment_modal .cs_assignment_upload:focus-within {
  border-color: var(--primary-color);
}
.cs_assignment_modal .cs_assignment_upload_input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
@media (max-width: 767px) {
  .cs_assignment_modal .cs_modal_dialog {
    padding-top: 20px;
  }
}

/*===================================================
 Invoice Modal
=====================================================*/
.cs_invoice_modal .cs_invoice_modal_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 24px;
  border-bottom: 1px dashed var(--border-color);
}
.cs_invoice_modal .cs_invoice_modal_actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs_invoice_modal .cs_invoice_action_btn {
  height: 44px;
  padding: 8px 18px;
  white-space: nowrap;
}
.cs_invoice_modal .cs_invoice_action_btn i {
  font-size: 16px;
  line-height: 1;
}
.cs_invoice_modal .cs_invoice_action_btn.cs_secondary_btn {
  color: var(--secondary-color);
  background-color: var(--white-color);
}
.cs_invoice_modal .cs_invoice_action_btn.cs_secondary_btn i {
  color: var(--primary-color);
  transition: inherit;
}
.cs_invoice_modal .cs_invoice_action_btn.cs_secondary_btn:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}
.cs_invoice_modal .cs_invoice_action_btn.cs_secondary_btn:hover i {
  color: var(--white-color);
}
.cs_invoice_modal .cs_modal_close {
  position: static;
  flex-shrink: 0;
}
.cs_invoice_modal .cs_invoice_brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 0;
  border-bottom: 1px dashed var(--border-color);
}
.cs_invoice_modal .cs_invoice_brand_start {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs_invoice_modal .cs_invoice_brand_icon {
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  background: linear-gradient(283deg, var(--gray6-color) 0%, var(--gray9-color) 100%);
}
.cs_invoice_modal .cs_invoice_brand_icon img {
  width: 61px;
  height: 50px;
}
.cs_invoice_modal .cs_invoice_brand_end {
  text-align: right;
}
.cs_invoice_modal .cs_invoice_meta {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 0;
  border-bottom: 1px dashed var(--border-color);
}
.cs_invoice_modal .cs_invoice_meta_col {
  display: grid;
  min-width: 0;
}
.cs_invoice_modal .cs_invoice_meta_col_end {
  text-align: right;
}
.cs_invoice_modal .cs_invoice_meta_title {
  margin-bottom: 16px;
}
.cs_invoice_modal .cs_invoice_items {
  padding: 24px 0;
}
.cs_invoice_modal .cs_invoice_items_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.cs_invoice_modal .cs_invoice_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  background-color: var(--gray10-color);
}
.cs_invoice_modal .cs_invoice_item_text {
  display: grid;
  min-width: 0;
}
.cs_invoice_modal .cs_invoice_item_price {
  display: grid;
  flex-shrink: 0;
  text-align: right;
}
.cs_invoice_modal .cs_invoice_summary {
  display: grid;
  gap: 8px;
  padding-bottom: 16px;
  border-bottom: 1px dashed var(--border-color);
}
.cs_invoice_modal .cs_invoice_summary li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.cs_invoice_modal .cs_invoice_summary_save {
  color: var(--success-color);
}
.cs_invoice_modal .cs_invoice_total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
}
.cs_invoice_modal .cs_invoice_payment_status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  padding-bottom: 24px;
  border-bottom: 1px dashed var(--border-color);
}
.cs_invoice_modal .cs_invoice_note {
  padding-top: 8px;
  text-align: center;
}
.cs_invoice_modal .cs_invoice_note a {
  color: var(--info-color);
}
.cs_invoice_modal .cs_invoice_note a:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .cs_invoice_modal .cs_invoice_modal_head {
    flex-wrap: wrap;
    padding-bottom: 20px;
  }
  .cs_invoice_modal .cs_invoice_brand,
  .cs_invoice_modal .cs_invoice_meta,
  .cs_invoice_modal .cs_invoice_items {
    padding: 20px 0;
  }
  .cs_invoice_modal .cs_invoice_brand_icon {
    width: 60px;
    height: 60px;
  }
  .cs_invoice_modal .cs_invoice_brand_icon img {
    width: 49px;
    height: 40px;
  }
  .cs_invoice_modal .cs_invoice_payment_status {
    padding-bottom: 20px;
  }
}
@media (max-width: 480px) {
  .cs_invoice_modal .cs_invoice_modal_head {
    align-items: flex-start;
  }
  .cs_invoice_modal .cs_invoice_modal_actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .cs_invoice_modal .cs_invoice_brand,
  .cs_invoice_modal .cs_invoice_meta {
    flex-direction: column;
    align-items: flex-start;
  }
  .cs_invoice_modal .cs_invoice_brand_end,
  .cs_invoice_modal .cs_invoice_meta_col_end {
    text-align: left;
  }
}

/*===================================================
 New Message Modal
=====================================================*/
.cs_message_modal textarea.cs_form_field {
  min-height: 120px;
}

/*===================================================
 Account Settings Modal
=====================================================*/
.cs_settings_modal .cs_modal_dialog {
  width: min(100%, 640px);
}
.cs_settings_modal .cs_modal_form {
  gap: 20px;
}
.cs_settings_modal .cs_modal_text {
  margin-bottom: 20px;
}
.cs_settings_modal .cs_settings_row {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_settings_modal .cs_settings_row + .cs_settings_row {
  margin-top: 16px;
}
.cs_settings_modal .cs_settings_row_full {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.cs_settings_modal .cs_modal_switch_list {
  gap: 12px;
}
.cs_settings_modal .cs_modal_switch {
  padding: 12px 16px;
  border: 1px solid var(--border-color);
  transition: border-color 0.3s ease;
}
.cs_settings_modal .cs_modal_switch:hover {
  border-color: var(--primary-color);
}
.cs_settings_modal .cs_modal_switch_slider {
  background-color: var(--gray2-color);
}
.cs_settings_modal .cs_modal_switch_slider::after {
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
}
.cs_settings_modal .cs_settings_danger_btn {
  color: var(--error-color);
  border-color: color-mix(in srgb, var(--error-color) 40%, transparent);
  background-color: color-mix(in srgb, var(--error-color) 6%, var(--white-color));
}
.cs_settings_modal .cs_settings_danger_btn:hover {
  color: var(--white-color);
  border-color: var(--error-color);
  background-color: var(--error-color);
}
@media (max-width: 575px) {
  .cs_settings_modal .cs_settings_row {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

/*===================================================
 Notification Settings Modal
=====================================================*/
.cs_notification_modal .cs_modal_form {
  display: block;
}
.cs_notification_modal .cs_modal_text {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-color);
}
.cs_notification_modal .cs_notification_modal_group_title {
  margin-bottom: 16px;
}
.cs_notification_modal .cs_notification_modal_group + .cs_notification_modal_group {
  margin-top: 48px;
}
.cs_notification_modal .cs_notification_modal_group + .cs_notification_modal_preferences {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--border-color);
}
.cs_notification_modal .cs_notification_modal_row + .cs_notification_modal_row {
  margin-top: 16px;
}
.cs_notification_modal .cs_modal_btns {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .cs_notification_modal .cs_notification_modal_group + .cs_notification_modal_group {
    margin-top: 32px;
  }
}

/*===================================================
 Edit Course Modal
=====================================================*/
.cs_edit_course_modal .cs_form_field,
.cs_edit_course_modal .nice-select {
  color: var(--secondary-color);
}
.cs_edit_course_modal .cs_modal_status_list {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cs_edit_course_modal .cs_modal_status {
  display: block;
  margin: 0;
  cursor: pointer;
}
.cs_edit_course_modal .cs_modal_status input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.cs_edit_course_modal .cs_modal_status_tile {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  padding: 10px 16px;
  text-align: center;
  color: var(--secondary-color);
  background-color: var(--gray10-color);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.cs_edit_course_modal input:checked ~ .cs_modal_status_tile {
  color: var(--success-color);
  background-color: color-mix(in srgb, var(--success-color) 10%, transparent);
}
.cs_edit_course_modal input[value=Draft]:checked ~ .cs_modal_status_tile {
  color: var(--warning-color);
  background-color: color-mix(in srgb, var(--warning-color) 10%, transparent);
}
.cs_edit_course_modal input:focus-visible ~ .cs_modal_status_tile {
  outline: 2px solid var(--accent-color);
  outline-offset: 2px;
}
.cs_edit_course_modal .cs_modal_upload {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  margin: 0;
  padding: 24px 16px;
  text-align: center;
  background-color: var(--gray10-color);
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.cs_edit_course_modal .cs_modal_upload input[type=file] {
  display: none;
}
.cs_edit_course_modal .cs_modal_upload i {
  font-size: 24px;
  line-height: 1;
  color: var(--primary-color);
}
.cs_edit_course_modal .cs_modal_upload:hover {
  background-color: var(--gray6-color);
}
@media (max-width: 767px) {
  .cs_edit_course_modal .cs_modal_status_tile {
    height: 48px;
  }
}
@media (max-width: 480px) {
  .cs_edit_course_modal .cs_modal_status_list {
    gap: 12px;
  }
}

/*===================================================
 Schedule Class Modal
=====================================================*/
.cs_schedule_class_modal .cs_modal_dialog {
  padding-top: 30px;
}
.cs_schedule_class_modal .cs_modal_platform_list {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cs_schedule_class_modal .cs_modal_platform {
  display: block;
  margin: 0;
  cursor: pointer;
}
.cs_schedule_class_modal .cs_modal_platform input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.cs_schedule_class_modal .cs_modal_platform_tile {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 54px;
  padding: 10px 12px;
  border: 1px solid var(--border-color);
  background-color: var(--white-color);
  transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
}
.cs_schedule_class_modal input:checked ~ .cs_modal_platform_tile {
  color: var(--primary-color);
  border-color: var(--primary-color);
  background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
}
.cs_schedule_class_modal input:focus-visible ~ .cs_modal_platform_tile {
  outline: 2px solid var(--accent-color);
  outline-offset: 2px;
}
@media (max-width: 767px) {
  .cs_schedule_class_modal .cs_modal_dialog {
    padding-top: 20px;
  }
  .cs_schedule_class_modal .cs_modal_platform_tile {
    height: 48px;
  }
}
@media (max-width: 480px) {
  .cs_schedule_class_modal .cs_modal_platform_list {
    gap: 12px;
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

/*===================================================
 Student Modal
=====================================================*/
.cs_student_modal .cs_modal_dialog {
  padding-top: 30px;
}
.cs_student_modal .cs_modal_head {
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .cs_student_modal .cs_modal_dialog {
    padding-top: 20px;
  }
  .cs_student_modal .cs_modal_head {
    margin-bottom: 16px;
  }
}

/*===================================================
 Add Review Modal
=====================================================*/
.cs_add_review_modal .cs_modal_rating {
  position: relative;
}
.cs_add_review_modal .cs_modal_rating .cs_rating {
  position: absolute;
  top: 50%;
  left: 16px;
  width: 84px;
  z-index: 1;
  transform: translateY(-50%);
  pointer-events: none;
}
.cs_add_review_modal .cs_modal_rating .nice-select {
  padding-left: 108px;
}
@media (max-width: 1399px) {
  .cs_add_review_modal .cs_modal_rating .cs_rating {
    left: 12px;
  }
  .cs_add_review_modal .cs_modal_rating .nice-select {
    padding-left: 102px;
  }
}/*# sourceMappingURL=style.css.map */