/*
Theme Name: Edumall Child
Theme URI: https://edumall.thememove.com/
Author: ThemeMove
Author URI: https://thememove.com/
Version: 1.0.3
Template: edumall
Text Domain: edumall-child
Tags: editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
*/

/* CoreCave Academy display polish: safer section spacing, cards, Tutor LMS pages. */
/* === D2: Full token system (light) — extends the original cc-primary/cc-text/etc. === */
:root {
  /* --- Brand --- */
  --cc-primary:        #0f63ff;
  --cc-primary-dark:   #0646b8;
  --cc-primary-50:     #ecf2ff;
  --cc-primary-100:    #d6e3ff;
  --cc-primary-300:    #6e9bff;
  --cc-primary-500:    #0f63ff;
  --cc-primary-700:    #0646b8;
  --cc-primary-900:    #052b73;

  /* --- Premium tier (Thanawiya Amma) --- */
  --cc-gold-500:       #d97706;
  --cc-gold-100:       #fef3c7;

  /* --- Semantic --- */
  --cc-success:        #10b981;
  --cc-success-soft:   #d1fae5;
  --cc-warning:        #f59e0b;
  --cc-warning-soft:   #fef3c7;
  --cc-danger:         #ef4444;
  --cc-danger-soft:    #fee2e2;
  --cc-info:           #0ea5e9;
  --cc-info-soft:      #e0f2fe;

  /* --- Neutrals (5-step + overlay) --- */
  --cc-text:           #172033;
  --cc-text-soft:      #334155;
  --cc-muted:          #64748b;
  --cc-muted-soft:     #94a3b8;
  --cc-disabled:       #cbd5e1;

  --cc-surface:        #ffffff;
  --cc-surface-alt:    #fafbfd;
  --cc-soft:           #f6f8fc;
  --cc-border:         #e5eaf3;
  --cc-border-strong:  #cbd5e1;
  --cc-overlay:        rgba(15, 35, 70, 0.55);

  /* --- Focus ring --- */
  --cc-focus-ring:     0 0 0 3px rgba(15, 99, 255, 0.35);
  --cc-focus-ring-dark:0 0 0 3px rgba(110, 155, 255, 0.55);

  /* --- Type --- */
  --cc-font-heading:   'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --cc-font-body:      'Tajawal', 'Cairo', 'Segoe UI', Tahoma, sans-serif;
  --cc-font-mono:      'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;

  --cc-fs-xs:          12px;
  --cc-fs-sm:          14px;
  --cc-fs-base:        16px;
  --cc-fs-md:          18px;
  --cc-fs-lg:          20px;
  --cc-fs-xl:          24px;
  --cc-fs-2xl:         30px;
  --cc-fs-3xl:         38px;
  --cc-fs-display:     clamp(34px, 6vw, 56px);

  --cc-lh-tight:       1.25;
  --cc-lh-normal:      1.55;
  --cc-lh-loose:       1.75;

  --cc-fw-regular:     400;
  --cc-fw-medium:      500;
  --cc-fw-semibold:    600;
  --cc-fw-bold:        700;
  --cc-fw-black:       900;

  /* --- Spacing (4px grid) --- */
  --cc-sp-1:           4px;
  --cc-sp-2:           8px;
  --cc-sp-3:           12px;
  --cc-sp-4:           16px;
  --cc-sp-5:           20px;
  --cc-sp-6:           24px;
  --cc-sp-8:           32px;
  --cc-sp-10:          40px;
  --cc-sp-12:          48px;
  --cc-sp-16:          64px;
  --cc-sp-20:          80px;
  --cc-sp-24:          96px;

  /* --- Radius --- */
  --cc-radius-sm:      8px;
  --cc-radius-md:      12px;
  --cc-radius-lg:      18px;
  --cc-radius-xl:      24px;
  --cc-radius-pill:    999px;

  /* --- Shadow --- */
  --cc-shadow-sm:      0 4px 12px rgba(15, 35, 70, 0.05);
  --cc-shadow-md:      0 10px 30px rgba(15, 35, 70, 0.07);
  --cc-shadow-lg:      0 18px 42px rgba(15, 35, 70, 0.12);
  --cc-shadow-xl:      0 28px 64px rgba(15, 35, 70, 0.16);
  --cc-shadow-focus:   var(--cc-focus-ring);

  /* --- Motion + a11y --- */
  --cc-ease:           cubic-bezier(.4, 0, .2, 1);
  --cc-dur-fast:       120ms;
  --cc-dur-base:       180ms;
  --cc-dur-slow:       260ms;
  --cc-tap-min:        44px;

  /* --- Layering --- */
  --cc-z-dropdown:     100;
  --cc-z-sticky:       200;
  --cc-z-overlay:      900;
  --cc-z-modal:        1000;
  --cc-z-toast:        1100;
}

/* === D2: Dark mode — auto via prefers-color-scheme, override via data-theme="light|dark" === */
:root[data-theme="dark"],
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --cc-primary:        #3b82f6;
    --cc-primary-500:    #3b82f6;
    --cc-primary-700:    #1d4ed8;
    --cc-primary-dark:   #1d4ed8;
    --cc-gold-500:       #fbbf24;

    --cc-text:           #e8ecf5;
    --cc-text-soft:      #cbd5e1;
    --cc-muted:          #94a3b8;
    --cc-muted-soft:     #64748b;
    --cc-disabled:       #475569;

    --cc-surface:        #14182a;
    --cc-surface-alt:    #1d2238;
    --cc-soft:           #0a0f1e;
    --cc-border:         #232843;
    --cc-border-strong:  #334155;
    --cc-overlay:        rgba(2, 6, 23, 0.78);

    --cc-focus-ring:     var(--cc-focus-ring-dark);
    --cc-shadow-sm:      0 4px 12px rgba(0, 0, 0, 0.30);
    --cc-shadow-md:      0 10px 30px rgba(0, 0, 0, 0.40);
    --cc-shadow-lg:      0 18px 42px rgba(0, 0, 0, 0.55);
    --cc-shadow-xl:      0 28px 64px rgba(0, 0, 0, 0.65);
  }
}

/* === D2: Component states — primary button === */
.tutor-btn-primary,
.tutor-button-primary,
.tutor-bg-primary,
.edumall-button-primary,
button[type="submit"]:not(.cc-ghost) {
  background-color: var(--cc-primary-500);
  color: #fff;
  border-color: var(--cc-primary-500);
  border-radius: var(--cc-radius-pill);
  padding-block: 12px;
  padding-inline: 22px;
  font-weight: var(--cc-fw-bold);
  transition: background-color var(--cc-dur-base) var(--cc-ease),
              transform var(--cc-dur-base) var(--cc-ease),
              box-shadow var(--cc-dur-base) var(--cc-ease);
  min-height: var(--cc-tap-min);
}
.tutor-btn-primary:hover,
.tutor-button-primary:hover,
.edumall-button-primary:hover {
  background-color: var(--cc-primary-700);
  border-color: var(--cc-primary-700);
  transform: translateY(-1px);
  box-shadow: var(--cc-shadow-md);
}
.tutor-btn-primary:focus-visible,
.tutor-button-primary:focus-visible,
.edumall-button-primary:focus-visible {
  outline: none;
  box-shadow: var(--cc-focus-ring);
}
.tutor-btn-primary:disabled,
.tutor-button-primary:disabled {
  background-color: var(--cc-disabled);
  border-color: var(--cc-disabled);
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Ghost / secondary button */
.cc-ghost,
.tutor-btn.tutor-btn-outline-primary {
  background: transparent;
  border: 1px solid var(--cc-border-strong);
  color: var(--cc-text);
  border-radius: var(--cc-radius-pill);
  padding-block: 12px;
  padding-inline: 22px;
  font-weight: var(--cc-fw-bold);
  min-height: var(--cc-tap-min);
  transition: background-color var(--cc-dur-base) var(--cc-ease),
              border-color var(--cc-dur-base) var(--cc-ease);
}
.cc-ghost:hover,
.tutor-btn.tutor-btn-outline-primary:hover {
  background-color: var(--cc-soft);
  border-color: var(--cc-primary-300);
}
.cc-ghost:focus-visible,
.tutor-btn.tutor-btn-outline-primary:focus-visible {
  outline: none;
  box-shadow: var(--cc-focus-ring);
}

/* Inputs */
.tutor-form-control,
.tutor-form-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
select,
textarea {
  background: var(--cc-surface);
  color: var(--cc-text);
  border: 1px solid var(--cc-border);
  border-radius: var(--cc-radius-md);
  padding: 12px 16px;
  min-height: var(--cc-tap-min);
  transition: border-color var(--cc-dur-base) var(--cc-ease),
              box-shadow var(--cc-dur-base) var(--cc-ease);
}
.tutor-form-control:hover,
input[type="text"]:hover,
input[type="email"]:hover,
input[type="search"]:hover,
input[type="tel"]:hover,
input[type="url"]:hover,
select:hover,
textarea:hover {
  border-color: var(--cc-border-strong);
}
.tutor-form-control:focus-visible,
.tutor-form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--cc-primary-500);
  box-shadow: var(--cc-focus-ring);
}
.tutor-form-control:disabled {
  background-color: var(--cc-soft);
  color: var(--cc-muted);
  cursor: not-allowed;
}

body {
  color: var(--cc-text);
  text-rendering: optimizeLegibility;
}

.page-content,
.site-content,
.elementor-section,
.elementor-top-section {
  overflow: visible;
}

.elementor-section.elementor-section-boxed > .elementor-container,
.container,
.page-main-content .container {
  max-width: 1200px;
}

.elementor-widget-image img,
.edumall-image img,
.tutor-course-card img,
.tutor-card img {
  max-width: 100%;
  height: auto;
}

/* Prevent imported demo decorative images from breaking layout on small screens. */
.elementor-widget-image,
.elementor-widget-tm-image {
  max-width: 100%;
}

/* Tutor LMS course grid/card improvements. */
.tutor-course-card,
.tutor-card,
.edumall-course-grid .course-loop-wrapper,
.course-loop-wrapper {
  border: 1px solid var(--cc-border);
  border-radius: 18px;
  background: var(--cc-surface);
  box-shadow: 0 10px 30px rgba(15, 35, 70, 0.07);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.tutor-course-card:hover,
.tutor-card:hover,
.edumall-course-grid .course-loop-wrapper:hover,
.course-loop-wrapper:hover {
  transform: translateY(-3px);
  border-color: rgba(15, 99, 255, 0.24);
  box-shadow: 0 18px 42px rgba(15, 35, 70, 0.12);
}

.tutor-course-name,
.tutor-course-name a,
.course-loop-title,
.course-loop-title a {
  line-height: 1.32;
}

.tutor-btn,
.tutor-button,
.tutor-button-primary,
.tutor-course-card .tutor-btn,
.edumall-button,
.tm-button,
button[type="submit"],
input[type="submit"] {
  border-radius: 999px !important;
}

.tutor-btn-primary,
.tutor-button-primary,
.tutor-bg-primary,
.tutor-course-card .tutor-btn-primary {
  background-color: var(--cc-primary) !important;
  border-color: var(--cc-primary) !important;
}

.tutor-btn-primary:hover,
.tutor-button-primary:hover,
.tutor-course-card .tutor-btn-primary:hover {
  background-color: var(--cc-primary-dark) !important;
  border-color: var(--cc-primary-dark) !important;
}

/* Make course archive filters/sidebar visually calmer and easier to scan. */
.tutor-course-filter,
.archive-course-filter,
.widget.edumall-wp-widget-course-category-filter,
.widget.edumall-wp-widget-course-level-filter,
.widget.edumall-wp-widget-course-price-filter,
.widget.edumall-wp-widget-course-rating-filter {
  border: 1px solid var(--cc-border);
  border-radius: 18px;
  background: var(--cc-surface);
  padding: 18px;
  box-shadow: 0 8px 24px rgba(15, 35, 70, 0.05);
}

.tutor-form-control,
.tutor-form-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
select,
textarea {
  border-radius: 12px !important;
  border-color: var(--cc-border) !important;
}

/* Dashboard/account pages. */
.tutor-dashboard,
.tutor-dashboard-content,
.woocommerce-account .woocommerce-MyAccount-content {
  border-radius: 20px;
}

.tutor-dashboard-menu,
.tutor-dashboard-left-menu,
.woocommerce-MyAccount-navigation {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(15, 35, 70, 0.06);
}

.corecave-category-fallback {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0 auto 48px;
  max-width: 1200px;
}

.corecave-category-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 150px;
  padding: 24px;
  border: 1px solid var(--cc-border);
  border-radius: 18px;
  background: #fff;
  color: var(--cc-text);
  box-shadow: 0 10px 28px rgba(15, 35, 70, 0.07);
}

.corecave-category-card:hover {
  transform: translateY(-3px);
  color: var(--cc-primary);
  border-color: rgba(15, 99, 255, 0.25);
  box-shadow: 0 18px 42px rgba(15, 35, 70, 0.12);
}

.corecave-category-icon {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--cc-soft);
  font-size: 24px;
}

.corecave-category-name {
  font-weight: 700;
  font-size: 17px;
}

.corecave-category-count {
  color: var(--cc-muted);
  font-size: 14px;
}

/* Header cleanup for the imported Edumall demo layout. */
.desktop-menu .menu__container > li > a,
.page-navigation .menu__container > li > a {
  padding-inline: 10px;
}

.page-title-bar .heading,
.entry-title:only-child {
  display: none;
}

/* Responsive fixes for imported demo sections and Tutor cards. */
@media (max-width: 1024px) {
  .elementor-section.elementor-section-boxed > .elementor-container,
  .container,
  .page-main-content .container {
    max-width: calc(100% - 32px);
  }
}

@media (max-width: 767px) {
  .elementor-section,
  .elementor-top-section {
    padding-inline: 0 !important;
  }

  .elementor-column,
  .elementor-widget-wrap {
    min-width: 0;
  }

  .corecave-category-fallback {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .corecave-category-card {
    min-height: 130px;
    padding: 18px;
  }

  .tutor-course-card,
  .tutor-card,
  .course-loop-wrapper {
    border-radius: 16px;
  }

  .page-title-bar .heading,
  .page-title-bar h1,
  h1 {
    font-size: clamp(30px, 9vw, 44px) !important;
    line-height: 1.12 !important;
  }
}

/* CoreCave RTL pass: fix mixed-direction text, desktop header wrapping, and Tutor list-card alignment. */
html[dir="rtl"] body {
  direction: rtl;
}

html[dir="rtl"] .top-bar-info,
html[dir="rtl"] .top-bar-text,
html[dir="rtl"] .course-loop-title,
html[dir="rtl"] .course-loop-excerpt,
html[dir="rtl"] .course-loop-category,
html[dir="rtl"] .course-loop-benefits,
html[dir="rtl"] .tutor-course-details-title,
html[dir="rtl"] .tutor-course-details-content,
html[dir="rtl"] .elementor-heading-title,
html[dir="rtl"] .elementor-widget-text-editor {
  unicode-bidi: plaintext;
}

html[dir="rtl"] .header-wrap,
html[dir="rtl"] .header-right-inner-content {
  gap: 18px;
}

html[dir="rtl"] .header-right-inner-content {
  display: flex;
  align-items: center;
  min-width: 0;
}

html[dir="rtl"] .page-navigation {
  flex: 1 1 auto;
  min-width: 0;
}

html[dir="rtl"] .desktop-menu .menu__container {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 2px;
  white-space: nowrap;
}

/* Cart already exists as a header icon; hiding the duplicate nav item prevents RTL desktop overflow. */
html[dir="rtl"] .desktop-menu .menu__container > li.menu-item-6244 {
  display: none !important;
}

html[dir="rtl"] .desktop-menu .menu__container > li > a,
html[dir="rtl"] .page-navigation .menu__container > li > a {
  padding-left: 7px;
  padding-right: 7px;
  font-size: 14px;
}

html[dir="rtl"] .header-search-form .search-form {
  direction: rtl;
  display: flex;
  align-items: center;
}

html[dir="rtl"] .header-search-form label {
  flex: 1 1 auto;
}

html[dir="rtl"] .header-search-form .search-field {
  text-align: right;
  padding-right: 18px;
  padding-left: 48px;
}

html[dir="rtl"] .header-search-form .search-submit {
  left: 0;
  right: auto;
}

html[dir="rtl"] .archive-filter-bars {
  direction: rtl;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

html[dir="rtl"] .archive-filter-bars .archive-result-count,
html[dir="rtl"] .archive-filter-bars .archive-layout-switcher {
  float: none;
  margin: 0;
}

html[dir="rtl"] .archive-filter-bars .archive-layout-switcher {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper {
  direction: rtl;
  align-items: stretch;
  gap: 24px;
}

html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .tutor-course-header {
  flex: 0 0 34%;
  max-width: 34%;
}

html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-info {
  flex: 1 1 auto;
  min-width: 0;
  padding: 24px 0 24px 24px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-category,
html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-title,
html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-meta,
html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-excerpt {
  width: 100%;
}

html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-title,
html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-excerpt {
  direction: ltr;
  text-align: left;
}

html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-meta,
html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-meta-list,
html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-buttons {
  direction: rtl;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 16px;
}

html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-footer {
  position: static !important;
  inset: auto !important;
  width: auto;
  margin: 12px 0 0;
  padding: 0;
  order: 8;
  text-align: right;
}

html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-price,
html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .price {
  direction: ltr;
  text-align: right;
  white-space: nowrap;
}

html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-buttons {
  order: 9;
  margin-top: 14px;
  justify-content: flex-start;
}

html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-badges {
  right: 12px;
  left: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
}

html[dir="rtl"] .widget.edumall-wp-widget-course-category-filter li,
html[dir="rtl"] .widget.edumall-wp-widget-course-level-filter li,
html[dir="rtl"] .widget.edumall-wp-widget-course-price-filter li,
html[dir="rtl"] .widget.edumall-wp-widget-course-rating-filter li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.45;
}

html[dir="rtl"] .widget.edumall-wp-widget-course-category-filter label,
html[dir="rtl"] .widget.edumall-wp-widget-course-level-filter label,
html[dir="rtl"] .widget.edumall-wp-widget-course-price-filter label,
html[dir="rtl"] .widget.edumall-wp-widget-course-rating-filter label {
  unicode-bidi: plaintext;
}

@media (max-width: 1199px) and (min-width: 1025px) {
  html[dir="rtl"] .desktop-menu .menu__container > li > a,
  html[dir="rtl"] .page-navigation .menu__container > li > a {
    padding-left: 5px;
    padding-right: 5px;
    font-size: 13px;
  }
}

@media (max-width: 767px) {
  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-12db6b2,
  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-769ac41,
  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-64e82ab,
  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-5a42564,
  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-607b281 {
    max-width: calc(100vw - 32px) !important;
    transform: none !important;
  }

  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-12db6b2 {
    width: min(300px, calc(100vw - 32px)) !important;
    left: auto !important;
    right: 16px !important;
  }

  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-769ac41 {
    left: 16px !important;
    right: auto !important;
  }

  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-64e82ab,
  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-5a42564,
  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-607b281 {
    left: auto !important;
    right: 16px !important;
  }

  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-12db6b2 img,
  html[dir="rtl"] body.rtl .elementor .elementor-element.elementor-element-769ac41 img {
    max-width: 100% !important;
    height: auto;
  }

  html[dir="rtl"] .elementor-widget-container,
  html[dir="rtl"] .elementor-heading-title,
  html[dir="rtl"] .elementor-widget-text-editor {
    overflow-wrap: anywhere;
  }

  html[dir="rtl"] .course-loop-wrapper,
  html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper {
    display: block;
  }

  html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .tutor-course-header,
  html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-info {
    max-width: none;
    width: 100%;
    padding: 18px;
  }

  html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-buttons {
    justify-content: stretch;
  }

  html[dir="rtl"] body.archive-course-style-list .course-loop-wrapper .course-loop-buttons .tutor-btn {
    width: 100%;
  }
}

/* CoreCave launch QA fixes applied 2026-04-25. */
.site-footer, .page-footer { margin-top: 0 !important; }
.footer-copyright, .copyright-text { direction: rtl; unicode-bidi: plaintext; }

/* Hide imported widgets that visually broke after demo import; JS/PHP fallbacks render clean grids. */
.home .tm-course-category-cards,
.home .edumall-course-category-cards,
.home .elementor-widget-tm-course-category-cards,
.home .elementor-widget-tm-course-carousel .swiper-lazy-preloader,
.home .elementor-widget-tm-course-carousel .animated-background,
.home .elementor-widget-tm-course-carousel .skeleton,
.home [class*="skeleton"],
.home [class*="placeholder"] { display: none !important; }

.corecave-course-fallback {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  max-width: 1200px;
  margin: 24px auto 56px;
}
.corecave-course-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--cc-border);
  box-shadow: 0 10px 28px rgba(15,35,70,.07);
  color: var(--cc-text);
  text-decoration: none;
}
.corecave-course-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.corecave-course-title { padding: 18px 18px 6px; font-weight: 700; line-height: 1.35; }
.corecave-course-excerpt { padding: 0 18px 18px; color: var(--cc-muted); font-size: 14px; line-height: 1.55; }

/* Reduce excessive blank Elementor demo spacers before footers. */
.elementor-element-d68b9fa,
.elementor-element-99f2268,
.elementor-element-bf542f4,
.elementor-element-268e99d,
.elementor-element-85aa944 { min-height: 0 !important; height: auto !important; padding-top: 24px !important; padding-bottom: 24px !important; }
.elementor-spacer-inner { max-height: 80px; }

/* Contact: disable broken dynamic Google map area and show a branded, key-free map/contact fallback. */
.page-id-1328 iframe[src*="google"],
.page-id-1328 .elementor-widget-google_maps,
.page-id-1328 .elementor-widget-tm-google-map,
.page-id-1328 .tm-google-map,
.page-id-1328 [class*="google-map"] { display: none !important; }
.page-id-1328 .entry-content:before {
  content: "CoreCave Academy — القاهرة، مصر\\A academy@corecave.com | +20 10 0000 0000\\A الموقع: خدمات تعليمية أونلاين، ويمكن مشاركة العنوان التفصيلي عند الحاجة.";
  white-space: pre-line;
  display: block;
  max-width: 1100px;
  margin: 24px auto;
  padding: 24px;
  border: 1px solid var(--cc-border);
  border-radius: 20px;
  background: linear-gradient(135deg,#f6f8fc,#fff);
  box-shadow: 0 12px 30px rgba(15,35,70,.07);
  font-weight: 600;
  line-height: 1.9;
  direction: rtl;
}

/* Header/mobile shell. */
.header-wrap, .page-header-inner { max-width: 1200px; margin-inline: auto; }
.header-icon, .mini-cart, .header-cart { flex: 0 0 auto; }
.mobile-menu-trigger, .page-mobile-main-menu .toggle-sub-menu { touch-action: manipulation; }
.mobile-header-wrap { gap: 14px; }
.mobile-header-wrap .header-more-tools { display: none !important; }

/* Course archive mobile filters: put filters before results and make inputs finger-friendly. */
.archive .archive-content, .post-type-archive-courses .archive-content { min-width: 0; }
.tutor-course-filter input, .tutor-course-filter label, .widget[class*="course"] label { min-height: 32px; }
/* Legacy `.pagination { direction: ltr; }` removed in D7 — proper RTL layout now in the D7 block below. */

/* Instructors underpopulated page: center available cards and avoid far-right orphan layout. */
.page-id-3410 .tutor-instructor-list, .page-id-3410 .tutor-row { justify-content: center; }
.page-id-3410 .tutor-instructor-card { max-width: 360px; margin-inline: auto; }

/* Become instructor mobile: keep tab/steps compact. */
.page-id-1332 .elementor-tabs-wrapper, .page-id-1332 .elementor-tabs { gap: 10px; }
.page-id-1332 .elementor-tab-title { border-radius: 999px; margin: 4px !important; }

@media (max-width: 1024px) {
  .corecave-course-fallback { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: calc(100% - 32px); }
}
@media (max-width: 767px) {
  .corecave-course-fallback { grid-template-columns: 1fr; gap: 14px; }
  .elementor-spacer-inner { max-height: 48px; }
  .page-id-1328 .entry-content:before { margin: 16px; padding: 18px; }
  body.archive-course-style-list .archive-content-sidebar { order: -1; }
}

/* Explicitly hide Edumall lazy-grid skeletons that remained visible on the homepage. */
.grid-skeleton-item,
.edumall-skeleton-card,
.edumall-skeleton-item,
.edumall-grid.lazy-grid .grid-skeleton-item { display: none !important; visibility: hidden !important; opacity: 0 !important; height: 0 !important; min-height: 0 !important; overflow: hidden !important; }

/* ===========================================================================
 * D3.a — Homepage components
 * =========================================================================== */
.cc-home-hero {
	padding-block: var(--cc-sp-16) var(--cc-sp-12);
	background: linear-gradient(180deg, var(--cc-soft) 0%, var(--cc-surface) 100%);
}
.cc-home-hero h1 {
	font-size: var(--cc-fs-display);
	margin-block-end: var(--cc-sp-3);
}
.cc-home-hero .cc-hero-lede {
	font-size: var(--cc-fs-md);
	color: var(--cc-text-soft);
	line-height: var(--cc-lh-loose);
	max-inline-size: 540px;
}

.cc-stage-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--cc-sp-6);
	max-inline-size: 1200px;
	margin-inline: auto;
	padding-block: var(--cc-sp-12);
}
.cc-stage-card {
	display: flex;
	flex-direction: column;
	gap: var(--cc-sp-2);
	padding: var(--cc-sp-6);
	background: var(--cc-surface);
	border: 1px solid var(--cc-border);
	border-radius: var(--cc-radius-xl);
	box-shadow: var(--cc-shadow-md);
	color: var(--cc-text);
	text-decoration: none;
	transition: transform var(--cc-dur-base) var(--cc-ease),
				border-color var(--cc-dur-base) var(--cc-ease),
				box-shadow var(--cc-dur-base) var(--cc-ease);
}
.cc-stage-card:hover {
	transform: translateY(-4px);
	border-color: var(--cc-primary-300);
	box-shadow: var(--cc-shadow-lg);
}
.cc-stage-card--premium {
	border-color: var(--cc-gold-500);
	background: linear-gradient(135deg, var(--cc-gold-100), var(--cc-surface));
}
.cc-stage-card__badge {
	display: inline-flex;
	align-self: flex-start;
	padding: 4px 12px;
	border-radius: var(--cc-radius-pill);
	background: var(--cc-gold-500);
	color: #fff;
	font-size: var(--cc-fs-xs);
	font-weight: var(--cc-fw-bold);
}
.cc-stage-card__title {
	font-family: var(--cc-font-heading);
	font-weight: var(--cc-fw-bold);
	font-size: var(--cc-fs-xl);
	margin-block-end: 0;
}
.cc-stage-card__grades {
	color: var(--cc-text-soft);
	font-size: var(--cc-fs-md);
}

.cc-teacher-card {
	display: flex;
	flex-direction: column;
	gap: var(--cc-sp-3);
	background: var(--cc-surface);
	border: 1px solid var(--cc-border);
	border-radius: var(--cc-radius-lg);
	padding: var(--cc-sp-4);
	box-shadow: var(--cc-shadow-md);
	color: var(--cc-text);
	text-decoration: none;
	transition: transform var(--cc-dur-base) var(--cc-ease),
				box-shadow var(--cc-dur-base) var(--cc-ease);
}
.cc-teacher-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--cc-shadow-lg);
}
.cc-teacher-card__photo {
	aspect-ratio: 1 / 1;
	border-radius: var(--cc-radius-xl);
	overflow: hidden;
	background: var(--cc-soft);
}
.cc-teacher-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.cc-teacher-card__name {
	font-family: var(--cc-font-heading);
	font-weight: var(--cc-fw-bold);
	font-size: var(--cc-fs-lg);
	margin-block: 0;
}
.cc-teacher-card__subject {
	color: var(--cc-text-soft);
	font-size: var(--cc-fs-sm);
}

@media (max-width: 768px) {
	.cc-stage-grid {
		grid-template-columns: 1fr;
		gap: var(--cc-sp-4);
		padding-inline: var(--cc-sp-4);
	}
}

/* ===========================================================================
 * D3.b — Teacher profile (most important page)
 * =========================================================================== */
.cc-teacher-hero {
	padding-block: var(--cc-sp-12);
	background: linear-gradient(180deg, var(--cc-soft), var(--cc-surface));
}
.cc-teacher-hero__inner {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: var(--cc-sp-8);
	align-items: center;
	max-inline-size: 1200px;
	margin-inline: auto;
	padding-inline: var(--cc-sp-4);
}
.cc-teacher-hero__photo {
	width: 240px;
	height: 240px;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: var(--cc-shadow-lg);
	outline: 3px solid var(--cc-primary-500);
	outline-offset: 4px;
}
.cc-teacher-hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.cc-teacher-hero__name {
	font-family: var(--cc-font-heading);
	font-weight: var(--cc-fw-black);
	font-size: var(--cc-fs-3xl);
	line-height: var(--cc-lh-tight);
	margin-block: 0 var(--cc-sp-3);
}
.cc-teacher-hero__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cc-sp-2);
	margin-block-end: var(--cc-sp-4);
}
.cc-teacher-hero__tag {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: var(--cc-radius-pill);
	background: var(--cc-soft);
	color: var(--cc-text-soft);
	font-size: var(--cc-fs-sm);
}
.cc-teacher-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cc-sp-6);
	color: var(--cc-text-soft);
	font-size: var(--cc-fs-md);
	margin-block-end: var(--cc-sp-6);
}
.cc-teacher-hero__stats bdi,
.cc-teacher-hero__stats .cc-num {
	color: var(--cc-text);
	font-weight: var(--cc-fw-bold);
}
.cc-teacher-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cc-sp-3);
}

/* Hide low ratings (< 4.5) — per Egyptian-market pitfall #7 */
.cc-rating[data-value="1.0"], .cc-rating[data-value="1.1"], .cc-rating[data-value="1.2"], .cc-rating[data-value="1.3"], .cc-rating[data-value="1.4"], .cc-rating[data-value="1.5"], .cc-rating[data-value="1.6"], .cc-rating[data-value="1.7"], .cc-rating[data-value="1.8"], .cc-rating[data-value="1.9"],
.cc-rating[data-value^="2."],
.cc-rating[data-value^="3."],
.cc-rating[data-value="4.0"], .cc-rating[data-value="4.1"], .cc-rating[data-value="4.2"], .cc-rating[data-value="4.3"], .cc-rating[data-value="4.4"] {
	display: none;
}
.cc-rating--new {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: var(--cc-radius-pill);
	background: var(--cc-info-soft);
	color: var(--cc-info);
	font-weight: var(--cc-fw-bold);
	font-size: var(--cc-fs-xs);
}
.cc-rating--new::before { content: "جديد على المنصّة"; }

@media (max-width: 768px) {
	.cc-teacher-hero__inner {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}
	.cc-teacher-hero__photo {
		width: 160px;
		height: 160px;
	}
	.cc-teacher-hero__name { font-size: var(--cc-fs-2xl); }
	.cc-teacher-hero__stats { justify-content: center; }
	.cc-teacher-hero__ctas { justify-content: center; }

	body.single-tutor_instructor,
	body.single-instructor { padding-block-end: 96px; }
}

/* Sticky mobile bottom CTA — teacher profile + course page */
.cc-teacher-sticky-cta,
.cc-course-sticky-cta {
	position: fixed;
	bottom: 0;
	inset-inline: 0;
	z-index: var(--cc-z-sticky);
	background: var(--cc-surface);
	border-block-start: 1px solid var(--cc-border);
	box-shadow: 0 -8px 24px rgba(15, 35, 70, 0.10);
	padding-inline: var(--cc-sp-4);
	padding-block: var(--cc-sp-3);
	padding-block-end: max(var(--cc-sp-3), env(safe-area-inset-bottom));
	display: none;
	align-items: center;
	gap: var(--cc-sp-3);
	transition: transform var(--cc-dur-base) var(--cc-ease);
}
.cc-teacher-sticky-cta[data-visible="false"],
.cc-course-sticky-cta[data-visible="false"] {
	transform: translateY(100%);
	pointer-events: none;
}
.cc-teacher-sticky-cta img,
.cc-course-sticky-cta img {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	flex: 0 0 auto;
}
.cc-teacher-sticky-cta__name,
.cc-course-sticky-cta__name {
	flex: 1 1 auto;
	min-inline-size: 0;
	font-weight: var(--cc-fw-bold);
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
.cc-teacher-sticky-cta .tutor-btn,
.cc-course-sticky-cta .tutor-btn {
	flex: 0 0 auto;
	min-height: var(--cc-tap-min);
}
@media (max-width: 768px) {
	.cc-teacher-sticky-cta,
	.cc-course-sticky-cta { display: flex; }
}

/* ===========================================================================
 * D3.c — Course page
 * =========================================================================== */
.cc-valu-badge {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: var(--cc-sp-3) var(--cc-sp-4);
	border-radius: var(--cc-radius-md);
	background: var(--cc-warning-soft);
	border: 1px solid var(--cc-warning);
	color: var(--cc-text);
	font-size: var(--cc-fs-sm);
	margin-block: var(--cc-sp-3);
}
.cc-valu-badge strong { font-size: var(--cc-fs-md); font-weight: var(--cc-fw-bold); }
.cc-valu-badge .cc-num { font-weight: var(--cc-fw-bold); color: var(--cc-warning); }

.cc-course-preview-frame {
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: var(--cc-radius-lg);
	overflow: hidden;
	background: var(--cc-soft);
}
.cc-course-preview-frame iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

/* Free-sample lesson badge inside curriculum override */
.cc-free-sample-badge {
	display: inline-flex;
	padding: 2px 10px;
	border-radius: var(--cc-radius-pill);
	background: var(--cc-success-soft);
	color: var(--cc-success);
	font-size: var(--cc-fs-xs);
	font-weight: var(--cc-fw-bold);
	margin-inline-start: var(--cc-sp-2);
}

/* ===========================================================================
 * D3.d — Lesson player
 * =========================================================================== */
.cc-lesson-empty {
	padding: var(--cc-sp-6);
	border: 1px dashed var(--cc-border-strong);
	border-radius: var(--cc-radius-lg);
	background: var(--cc-soft);
	color: var(--cc-text-soft);
	text-align: center;
}

.cc-speed-pills {
	display: flex;
	gap: var(--cc-sp-1);
	flex-wrap: wrap;
	margin-block: var(--cc-sp-3);
}
.cc-speed-pills button {
	min-height: var(--cc-tap-min);
	padding: var(--cc-sp-2) var(--cc-sp-4);
	border-radius: var(--cc-radius-pill);
	border: 1px solid var(--cc-border);
	background: var(--cc-surface);
	color: var(--cc-text);
	font-feature-settings: "tnum";
	font-variant-numeric: tabular-nums;
	cursor: pointer;
	transition: background-color var(--cc-dur-base) var(--cc-ease),
				color var(--cc-dur-base) var(--cc-ease),
				border-color var(--cc-dur-base) var(--cc-ease);
}
.cc-speed-pills button:hover { background: var(--cc-soft); }
.cc-speed-pills button[aria-checked="true"] {
	background: var(--cc-primary-500);
	color: #fff;
	border-color: var(--cc-primary-500);
}
.cc-speed-pills button:focus-visible {
	outline: none;
	box-shadow: var(--cc-focus-ring);
}

/* ===========================================================================
 * D3.e — Instructor dashboard welcome strip
 * =========================================================================== */
.cc-instructor-welcome {
	padding: var(--cc-sp-6);
	background: linear-gradient(135deg, var(--cc-primary-50), var(--cc-surface));
	border-radius: var(--cc-radius-xl);
	margin-block-end: var(--cc-sp-6);
}
.cc-instructor-welcome h1 {
	font-family: var(--cc-font-heading);
	font-size: var(--cc-fs-2xl);
	margin-block: 0 var(--cc-sp-4);
}
.cc-instructor-actions {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--cc-sp-4);
}
.cc-action-card {
	display: flex;
	flex-direction: column;
	gap: var(--cc-sp-1);
	padding: var(--cc-sp-6);
	border-radius: var(--cc-radius-lg);
	background: var(--cc-surface);
	border: 1px solid var(--cc-border);
	box-shadow: var(--cc-shadow-md);
	color: var(--cc-text);
	text-decoration: none;
	transition: transform var(--cc-dur-base) var(--cc-ease),
				box-shadow var(--cc-dur-base) var(--cc-ease);
}
.cc-action-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--cc-shadow-lg);
}
.cc-action-card__icon { font-size: 32px; }
.cc-action-card__title {
	font-family: var(--cc-font-heading);
	font-weight: var(--cc-fw-bold);
	font-size: var(--cc-fs-lg);
}
.cc-action-card__desc {
	color: var(--cc-text-soft);
	font-size: var(--cc-fs-sm);
}
.cc-action-card--accent {
	background: linear-gradient(135deg, var(--cc-success-soft), var(--cc-surface));
}

.cc-instructor-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--cc-sp-4);
	margin-block-end: var(--cc-sp-6);
}
.cc-stat-card {
	padding: var(--cc-sp-5);
	background: var(--cc-surface);
	border: 1px solid var(--cc-border);
	border-radius: var(--cc-radius-lg);
	box-shadow: var(--cc-shadow-sm);
}
.cc-stat-card__label {
	color: var(--cc-muted);
	font-size: var(--cc-fs-sm);
	margin-block-end: var(--cc-sp-2);
}
.cc-stat-card__value {
	font-family: var(--cc-font-heading);
	font-weight: var(--cc-fw-bold);
	font-size: var(--cc-fs-2xl);
	color: var(--cc-text);
	font-variant-numeric: tabular-nums;
}
.cc-stat-card__breakdown {
	margin-block-start: var(--cc-sp-3);
	font-size: var(--cc-fs-xs);
	color: var(--cc-muted);
	line-height: var(--cc-lh-loose);
}
.cc-stat-card__breakdown li {
	display: flex;
	justify-content: space-between;
	gap: var(--cc-sp-2);
}

@media (max-width: 768px) {
	.cc-instructor-actions,
	.cc-instructor-stats {
		grid-template-columns: 1fr;
	}
}

/* ===========================================================================
 * D3.f — Become-an-instructor + D4 — upload form helper text
 * =========================================================================== */
.cc-bunny-field {
	display: flex;
	flex-direction: column;
	gap: var(--cc-sp-2);
	margin-block-end: var(--cc-sp-5);
}
.cc-bunny-field label {
	font-weight: var(--cc-fw-bold);
	font-size: var(--cc-fs-md);
}
.cc-required {
	color: var(--cc-danger);
	margin-inline-start: 4px;
}
.cc-helper-text {
	color: var(--cc-text-soft);
	font-size: var(--cc-fs-sm);
	line-height: var(--cc-lh-loose);
	margin: 0;
}
.cc-helper-text--quiet {
	color: var(--cc-muted);
	font-size: var(--cc-fs-xs);
}
.cc-helper-text a {
	color: var(--cc-primary-500);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cc-contract-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--cc-sp-5);
	margin-block: var(--cc-sp-8);
}
.cc-contract-card {
	display: flex;
	flex-direction: column;
	gap: var(--cc-sp-3);
	padding: var(--cc-sp-6);
	background: var(--cc-surface);
	border: 1px solid var(--cc-border);
	border-radius: var(--cc-radius-lg);
	box-shadow: var(--cc-shadow-sm);
}
.cc-contract-card h3 {
	font-family: var(--cc-font-heading);
	font-weight: var(--cc-fw-bold);
	font-size: var(--cc-fs-lg);
	margin-block: 0;
}
.cc-contract-card__suited {
	font-size: var(--cc-fs-sm);
	color: var(--cc-muted);
	font-style: italic;
}
.cc-contract-card ul {
	padding-inline-start: 1.25em;
	margin: 0;
}
.cc-contract-card li {
	font-size: var(--cc-fs-sm);
	line-height: var(--cc-lh-loose);
	color: var(--cc-text-soft);
}
@media (max-width: 768px) {
	.cc-contract-cards { grid-template-columns: 1fr; }
}

/* ===========================================================================
 * D6 — Tap-target floors
 * =========================================================================== */
.tutor-pagination a, .tutor-pagination span,
.pagination a, .pagination span,
.page-pagination a, .page-pagination span {
	min-height: var(--cc-tap-min);
	min-width: var(--cc-tap-min);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-inline: 12px;
}

.widget[class*="course"] label,
.tutor-form-check label {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: var(--cc-tap-min);
	cursor: pointer;
}

.tutor-course-lesson,
.lesson-list-item {
	display: flex;
	align-items: center;
	min-height: var(--cc-tap-min);
}

.footer-social a,
.header-cart,
.header-account-link {
	min-width: var(--cc-tap-min);
	min-height: var(--cc-tap-min);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ===========================================================================
 * D7 — Icon mirroring overrides
 * =========================================================================== */
html[dir="rtl"] .breadcrumb-separator svg,
html[dir="rtl"] .breadcrumb__separator,
html[dir="rtl"] .tutor-course-content-list .toggle-icon:not(.is-expanded),
html[dir="rtl"] .tutor-lesson-list .icon-play,
html[dir="rtl"] .tutor-pagination .next svg,
html[dir="rtl"] .tutor-pagination .prev svg {
	transform: scaleX(-1);
	display: inline-block;
}

html[dir="rtl"] .tutor-pagination .next::before { content: "←"; margin-inline-end: 4px; }
html[dir="rtl"] .tutor-pagination .prev::before { content: "→"; margin-inline-end: 4px; }

html[dir="rtl"] select,
html[dir="rtl"] .tutor-form-select {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%23172033' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	background-repeat: no-repeat;
	background-position: left 12px center;
	background-size: 12px 8px;
	padding-inline-start: 16px;
	padding-inline-end: 36px;
	appearance: none;
}

/* ===========================================================================
 * D7 — Form input direction (email/tel/url/number stay LTR within RTL forms)
 * =========================================================================== */
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
.cc-bunny-field input {
	direction: ltr;
	text-align: end;
}
[dir="rtl"] .tutor-form-check,
[dir="rtl"] .woocommerce form .form-row .input-checkbox + label {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-direction: row-reverse;
}

/* ===========================================================================
 * D7 — Breadcrumbs + pagination flex layout (remove the legacy direction:ltr hack)
 * =========================================================================== */
.breadcrumb, .tutor-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cc-sp-2);
	align-items: center;
	font-size: var(--cc-fs-sm);
	color: var(--cc-muted);
}
.breadcrumb a, .tutor-breadcrumb a { color: var(--cc-text-soft); }
.breadcrumb a:hover, .tutor-breadcrumb a:hover { color: var(--cc-primary-500); }
.breadcrumb__separator {
	color: var(--cc-muted-soft);
	font-weight: var(--cc-fw-regular);
}

/* Override the legacy `.pagination { direction: ltr; }` from line 589.
 * Removing direction: ltr lets the surrounding RTL context cascade correctly. */
.pagination, .page-pagination, .tutor-pagination {
	direction: inherit;
	display: flex;
	flex-wrap: wrap;
	gap: var(--cc-sp-1);
	align-items: center;
	justify-content: center;
}

/* ===========================================================================
 * D7 — Bidi isolation utilities
 * =========================================================================== */
.cc-num, [data-bdi="num"] {
	unicode-bidi: isolate;
	font-feature-settings: "lnum", "tnum";
	font-variant-numeric: tabular-nums;
}
.cc-phone, [data-bdi="phone"],
.cc-email, [data-bdi="email"],
.cc-brand, [data-bdi="brand"] {
	unicode-bidi: isolate;
	direction: ltr;
}
