/*
Theme Name: equranLMS
Theme URI: http://example.com/equranlms
Author: Sozib Alahi
Author URI: http://example.com
Description: A custom, flat-design theme for Al-Quran Learning Academy using Tutor LMS.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: equranlms
Tags: lms, education, tutor-lms, quran, islamic, flat-design
*/



/* Course Single Page Customizations */
.tutor-wrap-parent.tutor-wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.tutor-course-details-page { 
  padding-top: 0px !important; 
  padding-bottom: 80px !important; 
}
.tutor-course-details-header { padding-bottom: 0px !important; border-bottom: none !important; margin-bottom: 10px !important; }
.tutor-course-details-title { margin-bottom: 10px; }
.tutor-course-details-top { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; }
.tutor-course-details-top .tutor-d-flex { display: flex; align-items: center; }
.tutor-course-wishlist-btn, .tutor-social-share-wrap { display: none !important; }
.tutor-course-video-wrap { position: relative; width: 100%; height: 100%; }


/* Hero Section Styling */
.tutor-course-details-header { background: #f8fafc !important; padding: 20px 24px !important; border-radius: 12px !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important; border: 1px solid #e2e8f0 !important; }
.tutor-sidebar-video-wrapper img { width: 100%; border-radius: 8px; }
.tutor-sidebar-video-wrapper { margin-bottom: 20px; }


/* UI Overhaul to Match Design */
.tutor-course-details-tab .tutor-nav { 
  border-bottom: 1px solid #e2e8f0 !important; 
  margin-bottom: 10px !important; 
  display: flex !important; 
  justify-content: flex-start !important; 
  list-style: none !important; 
  padding: 0 !important;
  gap: 30px !important;
}
.tutor-course-details-tab .tutor-nav-item { 
  margin: 0 !important; 
  padding: 0 !important; 
  list-style-type: none !important; 
}
.tutor-course-details-tab .tutor-nav-link { 
  padding-bottom: 12px !important; 
  border-bottom: 2px solid transparent !important; 
  color: #4a5568 !important; 
  font-weight: 600 !important; 
  text-decoration: none !important; 
  display: inline-block !important;
  font-size: 16px !important;
  transition: all 0.2s ease-in-out !important;
}
.tutor-course-details-tab .tutor-nav-link:hover {
  color: #d4af37 !important;
}
.tutor-course-details-tab .tutor-nav-link.is-active { 
  border-bottom-color: #0b4619 !important; 
  color: #0b4619 !important; 
}

.custom-sidebar-card { 
  background: #ffffff !important;
  border-radius: 12px !important; 
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1) !important; 
  border: 1px solid #f1f5f9 !important; 
  overflow: hidden !important; 
  padding: 20px !important;
}
.tutor-wrap .tutor-card.tutor-sidebar-card.custom-sidebar-card:hover {
  border-color: #f1f5f9 !important;
}
.tutor-sidebar-card .tutor-card-body,
.tutor-sidebar-card .tutor-card-footer {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.tutor-sidebar-video-wrapper { 
  position: relative !important; 
  margin-bottom: 16px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
.tutor-sidebar-video-wrapper img {
  width: 100% !important;
  display: block !important;
}
.course-includes-title { 
  font-size: 16px !important; 
  font-weight: 700 !important; 
  color: #1e293b !important; 
  margin-bottom: 10px !important; 
  margin-top: 0 !important;
}
.custom-course-includes {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
}
.custom-course-includes li { 
  display: flex !important; 
  align-items: center !important; 
  gap: 12px !important;
  padding: 12px 0 !important; 
  border-bottom: 1px solid #f1f5f9 !important; 
  color: #475569 !important;
  font-size: 14px !important;
}
.custom-course-includes li:last-child { 
  border-bottom: none !important; 
}
.custom-course-includes li span[class^="tutor-icon-"] {
  color: #0b4619 !important;
  font-size: 16px !important;
}
.tutor-price-preview-box { 
  background: transparent !important; 
  padding: 0 !important; 
}
.tutor-accordion-item { 
  border: 1px solid #e2e8f0 !important; 
  border-radius: 8px !important; 
  margin-bottom: 10px !important; 
  background: #fff !important; 
  overflow: hidden !important; 
}
.tutor-accordion-item-header { 
  padding: 15px 20px !important; 
  background: #fff !important; 
  cursor: pointer !important; 
  display: flex !important; 
  justify-content: space-between !important; 
  align-items: center !important; 
}
.tutor-accordion-item.is-active .tutor-accordion-item-header h4 { 
  color: #0b4619 !important; 
}

.tutor-course-details-title { 
  font-size: 24px !important; 
  font-weight: 700 !important; 
  color: #1e293b !important; 
  margin-bottom: 12px !important; 
  margin-top: 0 !important; 
}
.tutor-course-details-content p { 
  color: #475569 !important; 
  line-height: 1.8 !important; 
}
.tutor-course-benefits-content ul li { 
  color: #475569 !important; 
  margin-bottom: 10px !important; 
  position: relative !important; 
  padding-left: 25px !important; 
}
.tutor-course-benefits-content ul li::before { 
  content: "✓" !important; 
  position: absolute !important; 
  left: 0 !important; 
  color: #0b4619 !important; 
  font-weight: bold !important;
}

/* Force Brand Buttons Layout on Single Course Page */
.tutor-sidebar-card .single_add_to_cart_button, 
.tutor-sidebar-card .tutor-btn,
.tutor-sidebar-card .tutor-woocommerce-view-cart,
.tutor-sidebar-card .tutor-add-to-cart-button,
.tutor-sidebar-card button[type="submit"],
.tutor-sidebar-card button,
.tutor-sidebar-card a,
.tutor-wrap .tutor-sidebar-card .tutor-btn-primary,
.tutor-wrap .tutor-sidebar-card .tutor-btn { 
  background-color: #0b4619 !important; 
  border-radius: 8px !important; 
  width: 100% !important; 
  padding: 14px 24px !important; 
  border: none !important; 
  text-align: center !important; 
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.2s ease-in-out !important;
}

/* Typography styles for Buttons and their Inner Children */
.tutor-sidebar-card .single_add_to_cart_button, 
.tutor-sidebar-card .single_add_to_cart_button *,
.tutor-sidebar-card .tutor-btn,
.tutor-sidebar-card .tutor-btn *,
.tutor-sidebar-card .tutor-woocommerce-view-cart,
.tutor-sidebar-card .tutor-woocommerce-view-cart *,
.tutor-sidebar-card .tutor-add-to-cart-button,
.tutor-sidebar-card .tutor-add-to-cart-button *,
.tutor-sidebar-card button[type="submit"],
.tutor-sidebar-card button[type="submit"] *,
.tutor-sidebar-card button,
.tutor-sidebar-card button *,
.tutor-sidebar-card a,
.tutor-sidebar-card a *,
.tutor-wrap .tutor-sidebar-card .tutor-btn-primary,
.tutor-wrap .tutor-sidebar-card .tutor-btn-primary *,
.tutor-wrap .tutor-sidebar-card .tutor-btn,
.tutor-wrap .tutor-sidebar-card .tutor-btn * { 
  font-weight: 600 !important; 
  font-size: 14px !important;
}

@media (min-width: 1024px) {
  .tutor-sidebar-card .single_add_to_cart_button, 
  .tutor-sidebar-card .single_add_to_cart_button *,
  .tutor-sidebar-card .tutor-btn,
  .tutor-sidebar-card .tutor-btn *,
  .tutor-sidebar-card .tutor-woocommerce-view-cart,
  .tutor-sidebar-card .tutor-woocommerce-view-cart *,
  .tutor-sidebar-card .tutor-add-to-cart-button,
  .tutor-sidebar-card .tutor-add-to-cart-button *,
  .tutor-sidebar-card button[type="submit"],
  .tutor-sidebar-card button[type="submit"] *,
  .tutor-sidebar-card button,
  .tutor-sidebar-card button *,
  .tutor-sidebar-card a,
  .tutor-sidebar-card a *,
  .tutor-wrap .tutor-sidebar-card .tutor-btn-primary,
  .tutor-wrap .tutor-sidebar-card .tutor-btn-primary *,
  .tutor-wrap .tutor-sidebar-card .tutor-btn,
  .tutor-wrap .tutor-sidebar-card .tutor-btn * { 
    font-size: 16px !important; 
  }
}

.tutor-sidebar-card .single_add_to_cart_button:hover, 
.tutor-sidebar-card .tutor-btn:hover,
.tutor-sidebar-card .tutor-woocommerce-view-cart:hover,
.tutor-sidebar-card .tutor-add-to-cart-button:hover,
.tutor-sidebar-card button:hover,
.tutor-sidebar-card a:hover,
.tutor-wrap .tutor-btn-primary:hover,
.tutor-wrap .tutor-btn:hover,
.tutor-wrap button[data-cy="tutor-native-add-to-cart"]:hover,
.tutor-wrap a[data-cy="tutor-buy-now"]:hover { 
  background-color: #d4af37 !important; 
  color: #333333 !important;
}

/* Force White Text and Icon inside Sidebar Buttons */
.tutor-sidebar-card .single_add_to_cart_button *, 
.tutor-sidebar-card .tutor-btn *,
.tutor-sidebar-card .tutor-woocommerce-view-cart *,
.tutor-wrap .tutor-btn-primary,
.tutor-wrap .tutor-btn-primary *,
.tutor-wrap .tutor-btn,
.tutor-wrap .tutor-btn *,
.tutor-wrap button[data-cy="tutor-native-add-to-cart"],
.tutor-wrap button[data-cy="tutor-native-add-to-cart"] *,
.tutor-wrap a[data-cy="tutor-buy-now"],
.tutor-wrap a[data-cy="tutor-buy-now"] * { 
  color: #ffffff !important; 
}
.tutor-sidebar-card .single_add_to_cart_button:hover, 
.tutor-sidebar-card .single_add_to_cart_button:hover *, 
.tutor-sidebar-card .tutor-btn:hover, 
.tutor-sidebar-card .tutor-btn:hover *,
.tutor-sidebar-card .tutor-woocommerce-view-cart:hover, 
.tutor-sidebar-card .tutor-woocommerce-view-cart:hover *,
.tutor-wrap .tutor-btn-primary:hover, 
.tutor-wrap .tutor-btn-primary:hover *,
.tutor-wrap .tutor-btn:hover, 
.tutor-wrap .tutor-btn:hover *,
.tutor-wrap button[data-cy="tutor-native-add-to-cart"]:hover, 
.tutor-wrap button[data-cy="tutor-native-add-to-cart"]:hover *,
.tutor-wrap a[data-cy="tutor-buy-now"]:hover, 
.tutor-wrap a[data-cy="tutor-buy-now"]:hover * { 
  color: #333333 !important; 
}

/* Override Tutor LMS Global Colors */
:root {
  --tutor-color-primary: #0b4619 !important;
  --tutor-color-primary-hover: #d4af37 !important;
}
.tutor-wrap {
  --tutor-color-primary: #0b4619 !important;
  --tutor-color-primary-hover: #d4af37 !important;
}

/* Toggler buttons inside login/register modals */
.tutor-modal .tutor-open-login-btn,
.tutor-modal .tutor-open-register-btn {
  display: inline-flex !important;
  width: auto !important;
  padding: 8px 16px !important;
  background: transparent !important;
  color: #0b4619 !important;
  border: 1px solid #0b4619 !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  transition: all 0.2s ease-in-out !important;
}
.tutor-modal .tutor-open-login-btn:hover,
.tutor-modal .tutor-open-register-btn:hover {
  background: #0b4619 !important;
  color: #ffffff !important;
  border-color: #0b4619 !important;
}

/* Custom Registration Modal Styles */
.tutor-registration-modal {
  display: none !important;
}
.tutor-registration-modal.tutor-is-active {
  overflow-y: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  padding: 30px 10px !important;
}
.tutor-registration-modal .tutor-modal-window {
  margin: auto !important;
  max-width: 580px !important; /* Made slightly narrower for a cleaner look */
  width: 95% !important;
}
.tutor-registration-modal .tutor-modal-content {
  overflow-y: visible !important;
  max-height: none !important;
  padding: 12px !important; /* Reduced padding from 20px */
  border-radius: 12px !important;
  background-color: #ffffff !important;
}

/* Remove default card styles from Tutor's registration wrappers inside modal */
.tutor-registration-modal #tutor-registration-wrap,
.tutor-registration-modal #tutor-registration-form {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Compact Form Styles for Registration Modal */
.tutor-registration-modal .tutor-form-row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -8px !important;
  margin-right: -8px !important;
  margin-bottom: 0 !important;
}
.tutor-registration-modal .tutor-form-col-6 {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  width: 50% !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  box-sizing: border-box !important;
}
.tutor-registration-modal .tutor-form-col-12 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  box-sizing: border-box !important;
}
.tutor-registration-modal .tutor-form-group {
  margin-bottom: 6px !important; /* Reduced from 12px */
}
.tutor-registration-modal .tutor-form-group label {
  display: block !important;
  font-size: 12px !important; /* Slightly smaller label font */
  font-weight: 600 !important;
  color: #4a5568 !important;
  margin-bottom: 2px !important; /* Reduced margin */
}
.tutor-registration-modal .tutor-form-group input[type="text"],
.tutor-registration-modal .tutor-form-group input[type="password"] {
  width: 100% !important;
  height: 36px !important; /* Reduced input height from 40px */
  padding: 6px 10px !important; /* Reduced input padding */
  font-size: 14px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  background-color: #ffffff !important;
  color: #1e293b !important;
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
}
.tutor-registration-modal .tutor-form-group input:focus {
  border-color: #0b4619 !important;
  outline: none !important;
}

/* Password strength adjustments */
.tutor-registration-modal .tutor-password-strength-checker {
  position: relative !important;
}
.tutor-registration-modal .tutor-password-strength-hint {
  margin-top: 4px !important;
}
.tutor-registration-modal .tutor-password-strength-hint .indicator {
  display: flex !important;
  gap: 4px !important;
  margin-bottom: 2px !important;
}
.tutor-registration-modal .tutor-password-strength-hint .indicator span {
  height: 4px !important;
  flex: 1 !important;
  border-radius: 2px !important;
}

/* Modal title spacing */
.tutor-registration-modal #tutor-registration-modal-title {
  margin-bottom: 16px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

/* Register button styling inside the modal */
.tutor-registration-modal button[type="submit"] {
  background-color: #0b4619 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  padding: 10px 20px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  width: 100% !important;
  height: 44px !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.tutor-registration-modal button[type="submit"]:hover {
  background-color: #d4af37 !important;
  color: #333333 !important;
}

/* Mobile responsive styles */
@media (max-width: 599px) {
  .tutor-registration-modal .tutor-form-col-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Custom Login Modal styles */
.tutor-login-modal {
  display: none !important;
}
.tutor-login-modal.tutor-is-active {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.tutor-login-modal .tutor-modal-window {
  max-width: 420px !important;
  width: 95% !important;
  margin: auto !important;
}
.tutor-login-modal .tutor-modal-content {
  border-radius: 12px !important;
  padding: 20px !important; /* Reduced padding from 30px */
  background-color: #ffffff !important;
}
.tutor-login-modal #tutor-login-modal-title {
  margin-bottom: 16px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}
.tutor-login-modal .tutor-mb-20,
.tutor-login-modal .tutor-mb-32 {
  margin-bottom: 10px !important; /* Reduced spacing between inputs */
}
.tutor-login-modal .tutor-mb-40 {
  margin-bottom: 16px !important; /* Reduced spacing below options */
}
.tutor-login-modal input.tutor-form-control {
  width: 100% !important;
  height: 36px !important; /* Compact input height */
  padding: 6px 10px !important;
  font-size: 14px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
}
.tutor-login-modal input.tutor-form-control:focus {
  border-color: #0b4619 !important;
  outline: none !important;
}

/* Hide Tutor's default duplicate register link inside the login form */
.tutor-login-modal #tutor-login-form div.tutor-text-center {
  display: none !important;
}

/* Login submit button styling */
.tutor-login-modal button[type="submit"] {
  background-color: #0b4619 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  padding: 10px 20px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  width: 100% !important;
  height: 40px !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.tutor-login-modal button[type="submit"]:hover {
  background-color: #d4af37 !important;
  color: #333333 !important;
}

/* Spacing and adjustments for login form checkrow */
.tutor-login-modal .tutor-d-flex {
  margin-bottom: 12px !important;
}
.tutor-login-modal .tutor-form-check {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.tutor-login-modal .tutor-form-check-input {
  margin: 0 !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}
.tutor-login-modal .tutor-form-check label {
  display: inline-block !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* Premium Login Page Styling */
.tutor-login-wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 80px 15px !important;
  min-height: calc(100vh - 200px) !important;
  background: transparent !important;
}

body .tutor-wrap .tutor-login-wrap .tutor-card,
body .tutor-wrap .tutor-login-wrap .tutor-login-form-wrapper,
body .tutor-wrap #tutor-registration-wrap,
body .tutor-wrap #tutor-registration-wrap .tutor-card,
body .tutor-wrap .tutor-login-modal .tutor-modal-content,
body .tutor-wrap .tutor-registration-modal .tutor-modal-content,
body .tutor-wrap .tutor-login-form-wrapper,
.tutor-login-form-wrapper,
#tutor-registration-wrap {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid #e2e8f0 !important;
  box-sizing: border-box !important;
}

/* Force removal of all box shadows from login/register cards and all descendants */
.tutor-login-wrap,
.tutor-login-wrap *,
.tutor-login-form-wrapper,
.tutor-login-form-wrapper *,
#tutor-registration-wrap,
#tutor-registration-wrap *,
.tutor-login-modal .tutor-modal-content,
.tutor-login-modal .tutor-modal-content *,
.tutor-registration-modal .tutor-modal-content,
.tutor-registration-modal .tutor-modal-content * {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

.tutor-login-form-wrapper {
  max-width: 440px !important;
  width: 100% !important;
  padding: 40px !important;
}

#tutor-registration-wrap {
  max-width: 580px !important;
  width: 100% !important;
  padding: 40px !important;
  margin: 50px auto !important;
}

.tutor-login-form-wrapper .tutor-fs-5.tutor-color-black {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin-bottom: 24px !important;
  text-align: center !important;
}

/* Hide duplicate title if loaded inside login-form.php */
.tutor-login-form-wrapper #tutor-login-form #tutor-login-modal-title {
  display: none !important;
}

/* Style Form Fields inside Login wrap */
.tutor-login-wrap input.tutor-form-control {
  width: 100% !important;
  height: 46px !important;
  padding: 10px 14px !important;
  font-size: 15px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  background-color: #f8fafc !important;
  color: #1e293b !important;
  transition: all 0.2s ease-in-out !important;
  box-sizing: border-box !important;
}

.tutor-login-wrap input.tutor-form-control:focus {
  background-color: #ffffff !important;
  border-color: #0b4619 !important;
  box-shadow: 0 0 0 3px rgba(11, 70, 25, 0.1) !important;
  outline: none !important;
}

/* Checkbox alignment and container spacing */
.tutor-login-wrap #tutor-login-form .tutor-d-flex.tutor-justify-between {
  margin-top: 15px !important;
  margin-bottom: 24px !important;
}

/* Keep me signed in styling */
.tutor-login-wrap .tutor-form-check {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.tutor-login-wrap .tutor-form-check-input {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  border-radius: 4px !important;
  border: 1px solid #cbd5e1 !important;
  cursor: pointer !important;
}

/* Style general links on tutor wrap to fix the white color contrast bug */
.tutor-wrap a.tutor-btn-ghost,
.tutor-wrap a.tutor-btn-link,
.tutor-wrap a.tutor-btn-ghost *,
.tutor-wrap a.tutor-btn-link *,
.tutor-login-wrap #tutor-login-form a,
.tutor-login-wrap #tutor-login-form a *,
#tutor-registration-wrap a,
#tutor-registration-wrap a * {
  color: #0b4619 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-block !important;
}

.tutor-wrap a.tutor-btn-ghost:hover,
.tutor-wrap a.tutor-btn-link:hover,
.tutor-wrap a.tutor-btn-ghost:hover *,
.tutor-wrap a.tutor-btn-link:hover *,
.tutor-login-wrap #tutor-login-form a:hover,
.tutor-login-wrap #tutor-login-form a:hover *,
#tutor-registration-wrap a:hover,
#tutor-registration-wrap a:hover * {
  color: #d4af37 !important;
  text-decoration: underline !important;
}

/* Submit Button on login page wrapper */
.tutor-login-wrap button[type="submit"] {
  background-color: #0b4619 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  width: 100% !important;
  height: 48px !important;
  border: none !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  transition: all 0.2s ease-in-out !important;
}

.tutor-login-wrap button[type="submit"]:hover {
  background-color: #d4af37 !important;
  color: #333333 !important;
}

/* Standalone Registration & Login Page Layout Polish */
body.tutor-lms .site-content {
  background-color: #f7f9f7 !important;
}

/* Center the page titles above the card on Tutor pages */
body.tutor-lms .entry-header {
  text-align: center !important;
  margin-top: 40px !important;
  margin-bottom: -10px !important;
  border-bottom: none !important;
  padding: 0 !important;
}

body.tutor-lms .entry-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  font-family: 'Inter', sans-serif !important;
  margin: 0 !important;
  display: inline-block !important;
}

/* Hide entry header when login form is displayed */
body.tutor-lms:has(.tutor-login-wrap) .entry-header {
  display: none !important;
}

/* Make the theme's default article wrapper transparent/flat on Tutor LMS pages */
body.tutor-lms article.flat-card {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Standalone Registration Page Card Styling */
#tutor-registration-wrap {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid #e2e8f0 !important;
  box-sizing: border-box !important;
  max-width: 580px !important;
  width: 100% !important;
  padding: 40px !important;
  margin: 40px auto !important;
}

#tutor-registration-wrap .tutor-form-row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -8px !important;
  margin-right: -8px !important;
  margin-bottom: 12px !important;
}

#tutor-registration-wrap .tutor-form-col-6 {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  width: 50% !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  box-sizing: border-box !important;
}

#tutor-registration-wrap .tutor-form-col-12 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  box-sizing: border-box !important;
}

#tutor-registration-wrap .tutor-form-group {
  margin-bottom: 16px !important;
}

#tutor-registration-wrap .tutor-form-group label {
  display: block !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #4a5568 !important;
  margin-bottom: 6px !important;
}

#tutor-registration-wrap input[type="text"],
#tutor-registration-wrap input[type="password"],
#tutor-registration-wrap input[type="email"] {
  width: 100% !important;
  height: 46px !important;
  padding: 10px 14px !important;
  font-size: 15px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  background-color: #f8fafc !important;
  color: #1e293b !important;
  transition: all 0.2s ease-in-out !important;
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
}

#tutor-registration-wrap input[type="text"]:focus,
#tutor-registration-wrap input[type="password"]:focus,
#tutor-registration-wrap input[type="email"]:focus {
  background-color: #ffffff !important;
  border-color: #0b4619 !important;
  box-shadow: 0 0 0 3px rgba(11, 70, 25, 0.1) !important;
  outline: none !important;
}

/* Submit Button on registration page wrapper */
#tutor-registration-wrap button[type="submit"] {
  background-color: #0b4619 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  width: 100% !important;
  height: 48px !important;
  border: none !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  transition: all 0.2s ease-in-out !important;
  margin-top: 10px !important;
}

#tutor-registration-wrap button[type="submit"]:hover {
  background-color: #d4af37 !important;
  color: #333333 !important;
}

/* Password Checker UI updates for standalone page */
#tutor-registration-wrap .tutor-password-strength-checker {
  position: relative !important;
}
#tutor-registration-wrap .tutor-password-field {
  position: relative !important;
}
#tutor-registration-wrap .show-hide-btn {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  z-index: 10 !important;
}
#tutor-registration-wrap .tutor-form-wrap {
  position: relative !important;
}
#tutor-registration-wrap .tutor-password-strength-hint {
  margin-top: 8px !important;
  width: 100% !important;
  display: block !important;
}
#tutor-registration-wrap .tutor-password-strength-hint .indicator {
  display: flex !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 8px 0 !important;
}
#tutor-registration-wrap .tutor-password-strength-hint .indicator span {
  height: 5px !important;
  flex: 1 !important;
  border-radius: 3px !important;
  background-color: #cbd5e1 !important;
  width: auto !important;
  position: relative !important;
  display: block !important;
}
#tutor-registration-wrap .tutor-password-strength-hint .indicator span.active:before {
  border-radius: 3px !important;
}
#tutor-registration-wrap .tutor-password-strength-hint .indicator span.weak:before {
  background-color: #ef4444 !important;
}
#tutor-registration-wrap .tutor-password-strength-hint .indicator span.medium:before {
  background-color: #f59e0b !important;
}
#tutor-registration-wrap .tutor-password-strength-hint .indicator span.strong:before {
  background-color: #22c55e !important;
}
#tutor-registration-wrap .tutor-password-strength-hint .text {
  font-size: 12px !important;
  font-weight: 600 !important;
  margin-top: 4px !important;
}

/* Mobile responsive styles */
@media (max-width: 599px) {
  #tutor-registration-wrap {
    padding: 24px !important;
    margin: 20px auto !important;
  }
}

/* Premium Tutor LMS Dashboard Styles */
.tutor-dashboard {
  font-family: 'Inter', sans-serif !important;
  padding-top: 40px !important;
}

/* Prevent double padding when dashboard is loaded inside the theme's main container */
main#primary .tutor-dashboard .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 1. Header & Avatar Banner Styling */
.tutor-frontend-dashboard-header {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 30px 24px !important;
  margin-bottom: 35px !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.01) !important;
  display: flex !important;
  align-items: center !important;
}

@media (max-width: 767px) {
  .tutor-dashboard {
    padding-top: 20px !important;
  }
  .tutor-frontend-dashboard-header {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 20px 16px !important;
    margin-bottom: 25px !important;
    border-radius: 12px !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
  }
  .tutor-frontend-dashboard-header .tutor-header-left-side {
    width: auto !important;
    max-width: none !important;
    flex: 1 1 auto !important;
  }
  .tutor-frontend-dashboard-header .tutor-header-right-side {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    margin-top: 0 !important;
  }
  .tutor-frontend-dashboard-header .tutor-header-right-side:not(:has(a)):not(:has(button)):not(:has(span)) {
    display: none !important;
  }
  .tutor-logout-btn {
    padding: 8px 12px !important;
    font-size: 13px !important;
    gap: 6px !important;
  }
  .tutor-dashboard-header-avatar .tutor-avatar {
    width: 56px !important;
    height: 56px !important;
  }
  .tutor-user-info {
    margin-left: 12px !important;
  }
  .tutor-dashboard-header-username {
    font-size: 18px !important;
  }
}

.tutor-dashboard-header-avatar .tutor-avatar {
  border: 3px solid #0b4619 !important;
  box-shadow: 0 4px 12px rgba(11, 70, 25, 0.15) !important;
  background-color: #0b4619 !important;
  width: 76px !important;
  height: 76px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.tutor-dashboard-header-avatar .tutor-avatar .tutor-avatar-text {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1 !important;
}

.tutor-dashboard-header-username {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin-bottom: 4px !important;
}

.tutor-user-info {
  margin-left: 20px !important;
}

/* 2. Sidebar Permalinks Styling */
.tutor-dashboard-left-menu {
  padding-right: 15px !important;
}

.tutor-dashboard-permalinks {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.tutor-dashboard-menu-item {
  margin-bottom: 6px !important;
  border-radius: 10px !important;
  transition: all 0.2s ease-in-out !important;
}

.tutor-dashboard-menu-item-link {
  display: flex !important;
  align-items: center !important;
  padding: 12px 16px !important;
  color: #475569 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
  border-radius: 10px !important;
}

.tutor-dashboard-menu-item-icon {
  font-size: 18px !important;
  color: #64748b !important;
  transition: all 0.2s ease-in-out !important;
}

/* Active State */
.tutor-dashboard-menu-item.active {
  background-color: #0b4619 !important; /* Signature Green */
}

.tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-link {
  color: #ffffff !important;
}

.tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-icon {
  color: #ffffff !important;
}

/* Hover States */
.tutor-dashboard-menu-item:not(.active):hover {
  background-color: rgba(11, 70, 25, 0.05) !important; /* Soft green tint */
}

.tutor-dashboard-menu-item:not(.active):hover .tutor-dashboard-menu-item-link {
  color: #0b4619 !important;
}

.tutor-dashboard-menu-item:not(.active):hover .tutor-dashboard-menu-item-icon {
  color: #d4af37 !important; /* Signature Gold on icon */
}

/* Divider Header Styles */
.tutor-dashboard-menu-divider-header {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #94a3b8 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 16px 16px 8px 16px !important;
  margin-top: 10px !important;
}

/* 3. Dashboard Content & Info Cards */
.tutor-dashboard-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin-bottom: 24px !important;
}

.tutor-dashboard-content-inner .tutor-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.01) !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden !important;
  border-bottom: 4px solid #e2e8f0 !important; /* Premium bottom accent */
}

.tutor-dashboard-content-inner .tutor-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 20px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.02) !important;
  border-color: #cbd5e1 !important;
  border-bottom-color: #0b4619 !important; /* Accent on hover */
}

.tutor-dashboard-content-inner .tutor-round-box {
  background: rgba(11, 70, 25, 0.06) !important;
  color: #0b4619 !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  transition: all 0.2s ease-in-out !important;
}

.tutor-dashboard-content-inner .tutor-card:hover .tutor-round-box {
  background: #0b4619 !important;
  color: #ffffff !important;
  transform: scale(1.05) !important;
}

.tutor-dashboard-content-inner .tutor-card .tutor-fs-3 {
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #1e293b !important;
  margin-top: 12px !important;
  margin-bottom: 2px !important;
}

.tutor-dashboard-content-inner .tutor-card .tutor-fs-7 {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}

/* 4. Table Styling */
.tutor-table-responsive {
  border-radius: 12px !important;
  border: 1px solid #e2e8f0 !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

.tutor-table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.tutor-table th {
  background-color: #f8fafc !important;
  color: #475569 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  text-align: left !important;
}

.tutor-table td {
  padding: 16px 20px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  color: #334155 !important;
  font-size: 14px !important;
  vertical-align: middle !important;
}

.tutor-table tr:last-child td {
  border-bottom: none !important;
}

.tutor-table tr:hover td {
  background-color: #f8fafc !important;
}

.tutor-table td a {
  color: #0b4619 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
}

.tutor-table td a:hover {
  color: #d4af37 !important;
  text-decoration: underline !important;
}

/* Rating Stars adjustments */
.tutor-ratings-stars {
  color: #f59e0b !important; /* Premium Amber stars */
}

/* New Course Button Styling */
.tutor-create-new-course {
  background-color: #0b4619 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: all 0.2s ease-in-out !important;
  box-shadow: 0 4px 6px -1px rgba(11, 70, 25, 0.15) !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

.tutor-create-new-course:hover {
  background-color: #d4af37 !important;
  color: #333333 !important;
  box-shadow: 0 6px 12px -2px rgba(212, 175, 55, 0.25) !important;
}

/* Tutor LMS container margins adjustment */
body.tutor-lms .tutor-wrap {
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Header Buttons Container Spacing */
.tutor-frontend-dashboard-header .tutor-header-right-side .tutor-d-flex {
  gap: 12px !important;
}

/* Premium Logout Button Styling */
.tutor-logout-btn {
  border: 1px solid #ef4444 !important;
  color: #ef4444 !important;
  background-color: transparent !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: all 0.2s ease-in-out !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.tutor-logout-btn:hover {
  background-color: #ef4444 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2) !important;
}

/* ==========================================================================
   TUTOR LMS CHECKOUT PAGE PREMIUM OVERRIDES & ALIGNMENT
   ========================================================================== */

/* Remove default WP page article flat-card padding, borders, and shadows on Checkout */
body.page-id-10 article.flat-card,
body.page-id-16 article.flat-card,
body.checkout article.flat-card,
article.flat-card:has(.tutor-checkout-page) {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Ensure the main container on the checkout page behaves as a standard responsive container without hardcoded limits */
body.page-id-10 main#primary,
body.page-id-16 main#primary,
body.checkout main#primary,
main:has(.tutor-checkout-page) {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Reduce vertical gaps and spacing on the checkout page for a more compact look */
body:has(.tutor-checkout-page) main#primary,
body.page-id-10 main#primary,
body.page-id-16 main#primary,
body.checkout main#primary {
  padding-top: 24px !important;
  padding-bottom: 48px !important;
}

body:has(.tutor-checkout-page) .entry-header,
body.page-id-10 .entry-header,
body.page-id-16 .entry-header,
body.checkout .entry-header {
  margin-top: 10px !important;
  margin-bottom: 24px !important;
}

/* Let checkout containers occupy 100% of the parent main container width (override Tutor's default 1032px max-width) */
.tutor-checkout-page,
.tutor-checkout-page .tutor-container,
.tutor-checkout-page .tutor-checkout-container,
.tutor-container:has(.tutor-checkout-container),
.tutor-checkout-container {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Fix course thumbnail styling to prevent squishing */
.tutor-checkout-course-thumb-title img {
  width: 56px !important;
  height: auto !important;
  aspect-ratio: 16/9 !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
}

/* ==========================================================================
   TUTOR LMS SINGLE COURSE PAGE HERO REMOVAL
   ========================================================================== */

/* Hide the meta information (author, ratings, categories) */
.tutor-course-details-header .tutor-course-details-top {
  display: none !important;
}

/* Remove card styling (background, border, padding, shadow) from the header */
.tutor-course-details-header {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 20px !important;
  margin-bottom: 10px !important;
}

/* Reduce main wrapper padding on single course page to remove excessive top gap */
body.single-courses .tutor-wrap {
  padding-top: 0px !important;
}

body.single-courses main#primary.section-padding {
  padding-top: 45px !important;
}

/* Reduce gap above tabs section */
.tutor-course-details-tab {
  margin-top: 10px !important;
}

/* Reduce gap between tabs navigation and tab content */
.tutor-course-details-tab .tutor-tab {
  padding-top: 10px !important;
}

/* Move sidebar up on desktop to align with title */
@media (min-width: 1200px) {
  .tutor-single-course-sidebar {
    margin-top: -65px !important;
    position: relative;
    z-index: 10;
  }
}

/* On mobile, show the sidebar (Video & Enroll Button) above the course info tabs, and widgets at the bottom */
@media (max-width: 1199px) {
  body.single-courses .tutor-course-details-page > .tutor-row {
    display: flex !important;
    flex-direction: column !important;
  }
  
  /* Flatten aside to reorder its children independently */
  body.single-courses .tutor-course-details-page > .tutor-row > aside,
  body.single-courses .tutor-course-details-page > .tutor-row > aside > .tutor-single-course-sidebar {
    display: contents !important;
  }
  
  .tutor-sidebar-card.custom-sidebar-card {
    order: 1 !important;
    margin-top: 10px !important;
    margin-bottom: 15px !important;
    width: 100% !important; /* Ensure full width in flex column */
  }
  
  /* Prevent iframe height collapse in flex layout */
  .tutor-sidebar-video-wrapper iframe {
    aspect-ratio: 16 / 9 !important;
  }
  
  body.single-courses .tutor-course-details-page > .tutor-row > main {
    order: 2 !important;
  }

  .tutor-single-course-sidebar-more {
    order: 3 !important;
    margin-top: 30px !important;
  }
  
  /* Compact styling for mobile */
  .custom-sidebar-card {
    padding: 15px !important;
  }
  .custom-course-includes {
    margin-bottom: 12px !important;
  }
  .custom-course-includes li {
    padding: 8px 0 !important;
  }
  .tutor-sidebar-video-wrapper {
    margin-bottom: 12px !important;
  }
  .course-includes-title {
    margin-bottom: 8px !important;
  }
  body.single-courses main#primary.section-padding {
    padding-top: 20px !important;
  }
  .tutor-course-details-header {
    margin-bottom: 0px !important;
  }
  .tutor-sidebar-card .tutor-mt-24 {
    margin-top: 5px !important;
  }
  .custom-course-includes {
    margin-bottom: 5px !important;
  }
}

/* Reduce gap above enroll button on desktop as well */
.tutor-sidebar-card .tutor-mt-24 {
  margin-top: 15px !important;
}

/* Ensure the title itself has no extra padding that makes it look like a card */
.tutor-course-details-header .tutor-course-details-title {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  font-size: 36px !important;
}

@media (max-width: 767px) {
  .tutor-course-details-header .tutor-course-details-title {
    font-size: 26px !important;
  }
}
