/* ================================================================
   D3F DESIGN SYSTEM — BOOTSTRAP 5.3 THEME LAYER  v2.3
   ================================================================ */

/* ================================================================
   §01  FONTS
   ================================================================ */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans+Arabic:wght@100;200;300;400;500;600;700&family=Outfit:wght@100..900&family=Readex+Pro:wght@200..700&display=swap');

@font-face {
  font-family: 'jooza';
  src: url('https://res.cloudinary.com/d3mfollow/raw/upload/v1663184069/fonts/flat-jooza-Regular_vvye7d.ttf') format('truetype');
  font-weight: normal;
  font-display: swap;
}

/* ================================================================
   §02  BRAND & STATUS — LIGHT MODE
   ================================================================ */
:root,
[data-bs-theme="light"] {
  color-scheme: light;

  --bs-primary:             #009ef7;
  --bs-primary-rgb:         0, 158, 247;
  --bs-secondary:           #FA5A7D;
  --bs-secondary-rgb:       250, 90, 125;
  --bs-purple:              #8950FC;
  --bs-purple-rgb:          137, 80, 252;

  --bs-success:             #01B780;
  --bs-success-rgb:         1, 183, 128;
  --bs-warning:             #ffa500;
  --bs-warning-rgb:         255, 165, 0;

  --bs-primary-bg-subtle:         #e6f5fe;
  --bs-primary-border-subtle:     #b3e1fd;
  --bs-primary-text-emphasis:     #003f63;
  --bs-secondary-bg-subtle:       #fef0f3;
  --bs-secondary-border-subtle:   #fcd5de;
  --bs-secondary-text-emphasis:   #642432;

  --bs-focus-ring-color:    rgba(var(--bs-primary-rgb), 0.25);
  --d3f-focus-outline:      2px solid var(--bs-primary);

  --status-completed-text:    #01B780;
  --status-canceled-text:     #ff0000;
  --status-partial-text:      #ff4500;
  --status-pending-text:      #ffa500;
  --status-inprogress-text:   #0000ff;
  --status-processing-text:   #00bfff;
  --status-active-text:       #800080;

  --status-completed-rgb:     1, 183, 128;
  --status-canceled-rgb:      255, 0, 0;
  --status-partial-rgb:       255, 69, 0;
  --status-pending-rgb:       255, 165, 0;
  --status-inprogress-rgb:    0, 0, 255;
  --status-processing-rgb:    0, 191, 255;
  --status-active-rgb:        128, 0, 128;
}

/* ================================================================
   §03  BRAND & STATUS — DARK MODE
   ================================================================ */
[data-bs-theme="dark"] {
  color-scheme: dark;

  --bs-primary:             #33aef8;
  --bs-primary-rgb:         51, 174, 248;
  --bs-purple:              #9d6bfa;
  --bs-purple-rgb:          157, 107, 250;

  --bs-primary-bg-subtle:         rgba(51, 174, 248, 0.15);
  --bs-primary-border-subtle:     rgba(51, 174, 248, 0.25);
  --bs-primary-text-emphasis:     #80cdfa;
  --bs-secondary-bg-subtle:       rgba(250, 90, 125, 0.15);
  --bs-secondary-border-subtle:   rgba(250, 90, 125, 0.25);
  --bs-secondary-text-emphasis:   #fcaebf;

  --d3f-focus-outline:      2px solid var(--bs-primary);

  --status-completed-text:    #34d8a7;
  --status-canceled-text:     #ff6666;
  --status-partial-text:      #ff854d;
  --status-pending-text:      #ffc94d;
  --status-inprogress-text:   #8080ff;
  --status-processing-text:   #4dd2ff;
  --status-active-text:       #d866d8;

  --status-completed-rgb:     52, 216, 167;
  --status-canceled-rgb:      255, 102, 102;
  --status-partial-rgb:       255, 133, 77;
  --status-pending-rgb:       255, 201, 77;
  --status-inprogress-rgb:    128, 128, 255;
  --status-processing-rgb:    77, 210, 255;
  --status-active-rgb:        216, 102, 216;
}

/* ================================================================
   §04  GLOBAL LAYOUT TOKENS & TYPOGRAPHY
   ================================================================ */
:root {
  --d3f-sidebar-width:     270px;
  --d3f-header-height:     70px;
  --d3f-transition:        0.2s ease-in-out;
  --d3f-transition-slow:   0.35s ease-in-out;

  --bs-body-font-family:   'IBM Plex Sans', 'Outfit', 'Readex Pro', sans-serif;
  --bs-body-font-weight:   300;
  --bs-body-line-height:   1.7;

  --bs-border-radius:      8px;
  --bs-border-radius-sm:   4px;
  --bs-border-radius-lg:   10px;
  --bs-border-radius-pill: 50px;
}

html[dir="ltr"] { --bs-body-font-family: 'IBM Plex Sans', 'Outfit', 'Readex Pro', sans-serif; --d3f-dir-flip: 1; }
html[dir="rtl"] { --bs-body-font-family: 'IBM Plex Sans Arabic', 'Readex Pro', 'Outfit', sans-serif; --d3f-dir-flip: -1; }
html[dir="rtl"] .jooza { font-family: 'jooza'; }

/* ================================================================
   §05  BASE RESET & SCROLLBAR
   ================================================================ */
*, *::before, *::after { -webkit-tap-highlight-color: transparent; }
html, body { min-height: 100vh; overflow-x: hidden; }
body.menu-open { overflow: hidden; }

.title { position: relative; }
.title::before { content: ""; position: absolute; bottom: -12px; inset-inline-start: 0; width: 80px; height: 3px; border-radius: 1px; background-color: var(--bs-primary); }
.section-features .title::before, .section-services .title::before { inset-inline-start: 50%; transform: translateX(-50%); }

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-thumb { background-color: transparent; border-radius: 4px; transition: background-color var(--d3f-transition); }
:hover::-webkit-scrollbar-thumb { background-color: var(--bs-border-color); }

/* ================================================================
   §06  BOOTSTRAP COMPONENT TOKEN OVERRIDES
   ================================================================ */
.dropdown-menu { --bs-dropdown-link-active-bg: var(--bs-primary); --bs-dropdown-link-active-color: #fff; background-color: var(--bs-tertiary-bg); border-color: var(--bs-border-color); }
.dropdown-toggle::after { vertical-align: baseline; content: "\f078"; font-size: 10px; font-family: "Font Awesome 5 Pro"; font-weight: 500; border: 0; }
html[dir="ltr"] .dropdown-toggle::after { margin-left: 8px; }
html[dir="rtl"] .dropdown-toggle::after { margin-right: 8px; }

.pagination { --bs-pagination-active-bg: var(--bs-primary); --bs-pagination-active-border-color: var(--bs-primary); --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25); }
.pagination > li { margin: 0 2px; }
.pagination > li a { display: flex; align-items: center; justify-content: center; position: relative; width: 30px; height: 30px; color: var(--bs-body-color); font-weight: 700; }
.pagination > li.active a { color: var(--bs-primary); }

.list-group { --bs-list-group-active-bg: var(--bs-primary); --bs-list-group-active-border-color: var(--bs-primary); --bs-list-group-active-color: #fff; }
.progress, .progress-stacked { --bs-progress-bar-bg: var(--bs-primary); }

.accordion { --bs-accordion-active-color: var(--bs-primary); --bs-accordion-active-bg: rgba(var(--bs-primary-rgb), 0.08); --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25); }
#accordionFaqs .accordion-item { border: 0; overflow: hidden; background-color: var(--bs-tertiary-bg); }
#accordionFaqs .accordion-item .accordion-button { background-color: var(--bs-secondary-bg); color: var(--bs-body-color); border-radius: var(--bs-border-radius) !important; font-weight: 500; }
#accordionFaqs .accordion-button:not(.collapsed) { color: var(--bs-primary); box-shadow: none; }
[data-bs-theme="dark"] #accordionFaqs .accordion-button.collapsed::after { filter: brightness(0) invert(1); }
#accordionFaqs .accordion-button::after { width: 1rem; height: 1rem; background-size: 1rem; }
#accordionFaqs .accordion-item .accordion-button:focus { box-shadow: none; }
#accordionFaqs .accordion-item .accordion-body { font-size: 14px; }

.nav-pills { --bs-nav-pills-link-active-bg: var(--bs-primary); --bs-nav-pills-link-active-color: #fff; }
.nav-pills .nav-link { color: var(--bs-body-color); font-weight: 600; transition: all var(--d3f-transition); }

.section-services .nav-tabs { flex-wrap: nowrap; overflow-x: auto; min-height: 55px; border: 0; }
.section-services .nav-tabs .nav-link { border: 0; border-bottom: var(--bs-border-width) solid var(--bs-border-color); color: var(--bs-secondary-color); font-weight: 600; font-size: 20px; position: relative; }
.section-services .nav-tabs .nav-link.active { background-color: transparent; color: var(--bs-body-color); border-bottom-color: var(--bs-border-color); }
.section-services .nav-tabs .nav-link.active::before { content: ""; height: 3px; width: 120px; background-color: var(--bs-primary); position: absolute; bottom: -1px; left: 50%; transform: translateX(-50%); }

.card, .modal-content { background-color: var(--bs-tertiary-bg); border-color: var(--bs-border-color); }
.card { box-shadow: var(--bs-box-shadow-sm); }
.card-header { border-bottom: var(--bs-border-width) solid var(--bs-border-color); padding: 16px 20px; }
.alert { border: 0; font-size: 14px; margin-bottom: 10px; }
.tooltip { font-size: 12px !important; }
html[dir="ltr"] .tooltip { font-family: 'IBM Plex Sans', 'Outfit', 'Readex Pro', sans-serif !important; }
html[dir="rtl"] .tooltip { font-family: 'IBM Plex Sans Arabic', 'Readex Pro', 'Outfit', sans-serif !important; }
.hidden { display: none !important; }

/* ================================================================
   §07  BUTTONS
   ================================================================ */
.btn { --bs-btn-font-weight: 500; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; transition: all var(--d3f-transition); }

.btn-primary { --bs-btn-bg: var(--bs-primary); --bs-btn-border-color: var(--bs-primary); --bs-btn-hover-bg: #0095e8; --bs-btn-hover-border-color: #0095e8; --bs-btn-active-bg: #0095e8; --bs-btn-active-border-color: #0095e8; --bs-btn-disabled-bg: var(--bs-primary); --bs-btn-disabled-border-color: var(--bs-primary); --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb); }
.btn-outline-primary { --bs-btn-color: var(--bs-primary); --bs-btn-border-color: var(--bs-primary); --bs-btn-hover-bg: var(--bs-primary); --bs-btn-hover-border-color: var(--bs-primary); --bs-btn-active-bg: var(--bs-primary); --bs-btn-active-border-color: var(--bs-primary); --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb); }

.btn-secondary { --bs-btn-color: #fff; --bs-btn-bg: var(--bs-secondary); --bs-btn-border-color: var(--bs-secondary); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #fc456a; --bs-btn-hover-border-color: #fc456a; --bs-btn-active-color: #fff; --bs-btn-active-bg: #fc456a; --bs-btn-active-border-color: #fc456a; --bs-btn-disabled-bg: var(--bs-secondary); --bs-btn-disabled-border-color: var(--bs-secondary); --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb); }
.btn-outline-secondary { --bs-btn-color: var(--bs-secondary); --bs-btn-border-color: var(--bs-secondary); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--bs-secondary); --bs-btn-hover-border-color: var(--bs-secondary); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--bs-secondary); --bs-btn-active-border-color: var(--bs-secondary); --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb); }

.btn-purple { --bs-btn-color: #fff; --bs-btn-bg: var(--bs-purple); --bs-btn-border-color: var(--bs-purple); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #7337EE; --bs-btn-hover-border-color: #7337EE; --bs-btn-active-color: #fff; --bs-btn-active-bg: #7337EE; --bs-btn-active-border-color: #7337EE; --bs-btn-focus-shadow-rgb: var(--bs-purple-rgb); }
.btn-outline-purple { --bs-btn-color: var(--bs-purple); --bs-btn-border-color: var(--bs-purple); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--bs-purple); --bs-btn-hover-border-color: var(--bs-purple); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--bs-purple); --bs-btn-active-border-color: var(--bs-purple); --bs-btn-focus-shadow-rgb: var(--bs-purple-rgb); }

.text-purple      { color: var(--bs-purple) !important; }
.bg-purple        { background-color: var(--bs-purple) !important; color: #fff; }
.bg-purple-subtle { background-color: rgba(var(--bs-purple-rgb), 0.15) !important; color: var(--bs-purple) !important; }

.btn.loading { pointer-events: none; position: relative; color: transparent !important; }
.btn.loading i { visibility: hidden; }
.btn.loading::after { content: ''; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.35); border-top-color: #fff; animation: btn-spin 0.65s linear infinite; }
.btn-outline-primary.loading::after, .btn-outline-secondary.loading::after, .btn-outline-purple.loading::after { border-color: currentColor; border-top-color: transparent; }
@keyframes btn-spin { to { transform: rotate(360deg); } }

/* ================================================================
   §08  FORMS
   ================================================================ */
.form-label, .control-label  { font-weight: 600; font-size: 14px; }
.form-control, .form-select  { font-size: 14px; }
.form-control:not(textarea), .form-select { height: 50px; }
.form-control:focus, .form-select:focus { background-color: var(--bs-body-bg); color: var(--bs-body-color); }
.form-check-input:focus, .select2-container--focus .form-control, .select2-container--open .form-control { border-color: var(--bs-primary) !important; box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.15); }
.form-control:disabled, .form-control[readonly] { background-color: var(--bs-body-bg); }
.form-control.is-warning, .form-select.is-warning { border-color: var(--bs-warning) !important; box-shadow: 0 0 0 0.25rem rgba(var(--bs-warning-rgb), 0.25); }
.warning-feedback { display: block; color: var(--bs-warning); font-size: 12px; margin-top: 4px; }

[data-bs-theme="light"] .form-select { background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIgNUw4IDExTDE0IDUiIHN0cm9rZT0iIzE4MUMzMiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg=="); }
[data-bs-theme="dark"]  .form-select { background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIgNUw4IDExTDE0IDUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo="); }

.form-check .form-check-input { border-color: var(--bs-border-color); background-color: transparent; }
.form-check .form-check-input[type="checkbox"] { width: 20px; height: 20px; border-radius: 3px; }
.form-check .form-check-label { padding: 0 10px; }
.form-check-input:checked { background-color: var(--bs-primary); border-color: var(--bs-primary); }
.form-check-input:checked[type="checkbox"] { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 11' width='13' height='11' fill='none'%3e%3cpath d='M11.0426 1.02893C11.3258 0.695792 11.8254 0.655283 12.1585 0.938451C12.4917 1.22162 12.5322 1.72124 12.249 2.05437L5.51985 9.97104C5.23224 10.3094 4.72261 10.3451 4.3907 10.05L0.828197 6.88335C0.50141 6.59288 0.471975 6.09249 0.762452 5.7657C1.05293 5.43891 1.55332 5.40948 1.88011 5.69995L4.83765 8.32889L11.0426 1.02893Z' fill='%23ffffff'/%3e%3c/svg%3e"); background-size: 10px; }

.form-range::-webkit-slider-thumb { background-color: var(--bs-primary); }
.form-range::-moz-range-thumb     { background-color: var(--bs-primary); border-color: var(--bs-primary); }
.form-range::-ms-thumb             { background-color: var(--bs-primary); }

[data-bs-theme="dark"] .modal-header .btn-close { filter: invert(1); }

.search button { position: absolute; background-color: transparent; border: 0; color: var(--bs-body-color); top: 50%; transform: translateY(-50%); font-size: 15px; }
html[dir="ltr"] .search button { left: 10px; }
html[dir="rtl"] .search button { right: 10px; }
html[dir="ltr"] .search .form-control { padding-left: 50px; }
html[dir="rtl"] .search .form-control { padding-right: 50px; }

.page-orders .search .form-control,
.page-refunds .search .form-control,
.page-subscriptions .search .form-control,
.page-drip-feed .search .form-control,
.page-refill .search .form-control { background-color: var(--bs-tertiary-bg); border-color: var(--bs-tertiary-bg); }

/* ================================================================
   §09  SELECT2
   ================================================================ */
.select2-container--default .select2-selection--single { background-color: var(--bs-body-bg); border-color: var(--bs-border-color); border-radius: var(--bs-border-radius) !important; height: 50px !important; display: flex !important; align-items: center; padding-inline-start: 0.75rem; padding-inline-end: 2.25rem; }
html[dir="ltr"] .select2-container--default:not(.search-dropdown) .select2-selection--single { padding: 0.375rem 2.25rem 0.375rem 0.75rem; }
html[dir="rtl"] .select2-container--default:not(.search-dropdown) .select2-selection--single { padding: 0.375rem 0.75rem 0.375rem 2.25rem; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--bs-body-color); }
.select2-container--default .select2-selection--single .select2-selection__arrow b { border: 0 !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow b::before { content: "\f078"; font-family: "Font Awesome 5 Pro"; font-size: 14px; position: absolute; top: 50%; transform: translateY(-50%); inset-inline-end: 5px; }
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b::before { transform: translateY(-50%) rotate(180deg); }
.select2-container .select2-dropdown { border-radius: var(--bs-border-radius) !important; box-shadow: var(--bs-box-shadow); border-color: var(--bs-border-color); background-color: var(--bs-tertiary-bg); margin: 10px 0 !important; }
.select2-results__option a { color: var(--bs-body-color) !important; font-size: 14px; }
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--bs-secondary-bg) !important; color: var(--bs-body-color) !important; }
.select2-selection__id.badge.badge-secondary { background-color: var(--bs-primary); }

/* ================================================================
   §10  LAYOUT — Sidebar, Header, Mobile Menu, Overlay
   ================================================================ */
.navbar-top { position: sticky; top: 0; z-index: var(--bs-zindex-sticky); height: 100px; transition: height 0.3s; }
body.header-sm .navbar-top { backdrop-filter: blur(20px); height: 80px; background-color: rgba(var(--bs-body-bg-rgb), 0.80); }
.navbar-brand img { width: 160px; }
html[dir="ltr"] .navbar-nav { margin-left: 100px; }
html[dir="rtl"] .navbar-nav { margin-right: 100px; }
html[dir="ltr"] .navbar-nav .nav-item:not(:last-of-type) { margin-right: 40px; }
html[dir="rtl"] .navbar-nav .nav-item:not(:last-of-type) { margin-left: 40px; }
.navbar-nav .nav-item .nav-link { text-transform: capitalize; color: var(--bs-body-color); position: relative; padding-left: 0; padding-right: 0; font-weight: 600; }
.navbar-nav .nav-item.active .nav-link { color: var(--bs-primary); }
.navbar-nav .nav-item.active .nav-link::before { content: ""; position: absolute; bottom: 0; width: 14px; height: 3px; border-radius: 1px; background-color: var(--bs-primary); }

.navbar-toggler           { border: 0; padding: 0; }
.navbar-toggler:focus     { box-shadow: none; outline: none; }
.navbar-toggler > span { display: block; width: 28px; height: 1.5px; margin: 6px 0; background-color: var(--bs-body-color); border-radius: 2px; transition: transform 150ms linear, opacity 150ms linear; }
.navbar-toggler > span:nth-child(2) { transform: scaleX(0.7); }
.navbar-toggler:hover > span:nth-child(2) { transform: scaleX(1); }

/* ── Dashboard sidebar ── */
.aside {
  background-color: var(--bs-tertiary-bg);
  position: fixed; top: 0; bottom: 0; inset-inline-start: 0;
  display: flex; flex-direction: column;
  width: var(--d3f-sidebar-width);
  z-index: 1050; overflow: hidden;
  transition: transform var(--d3f-transition-slow);
  border-inline-end: var(--bs-border-width) solid var(--bs-border-color);
}

body.dashboard .wrap .content {
  padding-top: var(--d3f-header-height);
  margin-inline-start: var(--d3f-sidebar-width);
  width: calc(100% - var(--d3f-sidebar-width));
  position: relative; z-index: 1;
}

/* ── Dashboard header ── */
.header {
  background-color: var(--bs-tertiary-bg);
  position: fixed; top: 0; inset-inline-end: 0;
  width: calc(100% - var(--d3f-sidebar-width));
  height: var(--d3f-header-height);
  padding: 0 20px;
  display: flex; align-items: center; justify-content: space-between;
  z-index: 1040; isolation: isolate;
  border-bottom: var(--bs-border-width) solid var(--bs-border-color);
  gap: 12px;
}

/* ── Mobile menu ── */
.menu-mobile {
  background-color: var(--bs-body-bg);
  position: fixed; top: 0; bottom: 0; inset-inline-start: 0;
  display: flex; flex-direction: column;
  width: var(--d3f-sidebar-width);
  z-index: 1050;
  transition: transform var(--d3f-transition-slow);
}
.menu-mobile                 { transform: translateX(-100%); }
html[dir="rtl"] .menu-mobile { transform: translateX(100%); }
body.menu-open .menu-mobile, body.menu-open .aside { transform: none !important; }

/* ── Overlay ── */
.menu-overlay { display: none; position: fixed; inset: 0; z-index: 1045; background-color: rgba(0,0,0,0.45); backdrop-filter: blur(2px); transition: opacity var(--d3f-transition-slow); opacity: 0; }
body.menu-open .menu-overlay { display: block; opacity: 1; }

/* ================================================================
   §11  TABLES & STATUS BADGES
   ================================================================ */
.table { vertical-align: middle; }
html[dir="rtl"] .table { font-size: 12px; }
html[dir="ltr"] .table { font-size: 14px; }
.table th, .table td { border-bottom: 0; }
.table tbody tr:not(.category-name) td { background-color: var(--bs-secondary-bg); }
.table tbody tr:not(.category-name, :last-of-type) td { border-bottom: 4px solid var(--bs-body-bg); }
.table tbody td:first-of-type { border-start-start-radius: var(--bs-border-radius-lg); border-end-start-radius: var(--bs-border-radius-lg); }
.table tbody td:last-of-type  { border-start-end-radius: var(--bs-border-radius-lg);   border-end-end-radius:   var(--bs-border-radius-lg); }
.table td .link { width: 200px; display: block; overflow: hidden; text-overflow: ellipsis; direction: ltr; }
.table td span.service { width: 240px; display: block; }
.table td span.status { font-size: 12px; padding: 5px 10px; border-radius: var(--bs-border-radius); font-weight: 600; white-space: nowrap; }
.category-name strong { background-color: var(--bs-primary); border-radius: var(--bs-border-radius-lg); display: block; width: 100%; padding: 16px; font-weight: 500; }

.status.completed, .status.answered    { color: var(--status-completed-text);  background: rgba(var(--status-completed-rgb),  0.15); }
.status.canceled,  .status.error, .status.closed { color: var(--status-canceled-text); background: rgba(var(--status-canceled-rgb), 0.15); }
.status.partial,   .status.expired     { color: var(--status-partial-text);    background: rgba(var(--status-partial-rgb),    0.15); }
.status.pending,   .status.paused      { color: var(--status-pending-text);    background: rgba(var(--status-pending-rgb),    0.15); }
.status.inprogress                     { color: var(--status-inprogress-text); background: rgba(var(--status-inprogress-rgb), 0.15); }
.status.processing                     { color: var(--status-processing-text); background: rgba(var(--status-processing-rgb), 0.15); }
.status.active,    .status.rejected    { color: var(--status-active-text);     background: rgba(var(--status-active-rgb),     0.15); }

/* ================================================================
   §12  UTILITIES & COMPONENTS
   ================================================================ */
.block-icon { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background-color: var(--bs-tertiary-bg); font-size: 20px; flex-shrink: 0; }
.card-platform-hover { transition: transform 0.3s, box-shadow 0.3s; }
.card-platform-hover:hover { transform: translateY(-5px); box-shadow: var(--bs-box-shadow-lg); }
.af-item { background-color: var(--bs-tertiary-bg); padding: 10px; border-radius: var(--bs-border-radius); }
.af-item .icon { background-color: var(--bs-primary); border-radius: var(--bs-border-radius); color: #fff; display: flex; align-items: center; justify-content: center; width: 45px; height: 45px; }
.profile-avatar > span { width: 85px; height: 85px; background-color: var(--bs-secondary-bg); border-radius: var(--bs-border-radius-lg); display: flex; align-items: center; justify-content: center; font-size: 40px; }
.service-description { border-radius: var(--bs-border-radius); background-color: var(--bs-secondary-bg); }
.service-description > div > button { color: var(--bs-body-color); }
.page-api pre { background-color: var(--bs-secondary-bg); padding: 20px 10px; border-radius: var(--bs-border-radius); color: var(--bs-body-color); display: block; }

/* ================================================================
   §13  MESSAGES & TICKETS
   ================================================================ */
.messages > div:not(:last-of-type) { margin-bottom: 10px; }
.messages .ticket-message { background-color: var(--bs-secondary-bg); border-radius: var(--bs-border-radius-sm); font-size: 14px; padding: 10px; }
.messages .ticket-avatar { width: 40px; height: 40px; background-color: rgba(var(--bs-primary-rgb), 0.4); display: flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; font-size: 20px; }
html[dir="ltr"] .messages .ticket-message-right .ticket-message::after, html[dir="rtl"] .messages .ticket-message-left .ticket-message::after { content: ""; border: 8px solid transparent; border-right-color: var(--bs-secondary-bg); display: block; width: 0; height: 0; position: absolute; top: 10px; left: -16px; }
html[dir="rtl"] .messages .ticket-message-right .ticket-message::after, html[dir="ltr"] .messages .ticket-message-left .ticket-message::after { content: ""; border: 8px solid transparent; border-left-color: var(--bs-secondary-bg); display: block; width: 0; height: 0; position: absolute; top: 10px; right: -16px; }

/* ================================================================
   §14  BLOG / POSTS
   ================================================================ */
.post .post-image { border-radius: var(--bs-border-radius); overflow: hidden; }
.post .post-title { height: 60px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.page-post-main .post-thumb img { display: block; max-width: 100%; border-radius: var(--bs-border-radius); overflow: hidden; margin: 0 auto; }
.page-post-main .post-content * { font-family: inherit !important; line-height: inherit !important; color: var(--bs-body-color) !important; }
.page-post-main .post-content a, .page-post-main .post-content a * { text-decoration: none !important; color: var(--bs-primary) !important; }

/* ================================================================
   §15  LANDING PAGE SECTIONS
   ================================================================ */
.section-head h1 { max-width: 550px; }
html[dir="ltr"] .section-head h1 { font-size: 60px; }
html[dir="rtl"] .section-head h1 { font-size: 40px; line-height: 1.5; }
.section-head .d-flex { gap: 10px 20px; }
.section-head img { width: 90%; display: block; margin: auto; }

.section-features .items { display: grid; grid-template-columns: repeat(2, auto); justify-content: space-around; gap: 80px 20px; }
.section-features .item { max-width: 440px; width: 100%; display: flex; }
.section-features .item .item-icon { width: 70px; height: 70px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 30px; color: #fff; }
html[dir="ltr"] .section-features .item .item-icon { margin-right: 20px; }
html[dir="rtl"] .section-features .item .item-icon { margin-left: 20px; }
.section-features .item:nth-child(1) .item-icon { background-color: var(--bs-primary); }
.section-features .item:nth-child(2) .item-icon { background-color: var(--bs-secondary); }
.section-features .item:nth-child(3) .item-icon { background-color: #E67C84; }
.section-features .item:nth-child(4) .item-icon { background-color: #36A069; }
.section-features .item .item-icon svg { width: 35px; }
.section-features .item h4::before { content: ""; width: 60px; height: 3px; position: absolute; bottom: -22px; border-radius: 1px; }
html[dir="ltr"] .section-features .item h4::before { left: 0; }
html[dir="rtl"] .section-features .item h4::before { right: 0; }
.section-features .item:nth-child(1) h4::before { background-color: var(--bs-primary); }
.section-features .item:nth-child(2) h4::before { background-color: var(--bs-secondary); }
.section-features .item:nth-child(3) h4::before { background-color: #E67C84; }
.section-features .item:nth-child(4) h4::before { background-color: #36A069; }

.section-results .numbers { background-color: var(--bs-primary); padding: 20px 40px; display: grid; grid-template-columns: repeat(2, 1fr); }
html[dir="ltr"] .section-results .numbers { border-radius: 10px 100px 10px 10px; }
html[dir="rtl"] .section-results .numbers { border-radius: 100px 10px 10px 10px; }
.section-results .numbers::before { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); height: 60px; width: 1px; background-color: #fff; display: block; }
.section-results .number { width: 100%; }
.section-results img { width: 100%; }

.section-choose ul li { color: var(--bs-secondary-color); position: relative; }
html[dir="ltr"] .section-choose ul li { padding-left: 20px; }
html[dir="rtl"] .section-choose ul li { padding-right: 20px; }
.section-choose ul li::before { content: ""; position: absolute; width: 10px; height: 10px; background-color: var(--bs-primary); display: block; top: 50%; transform: translateY(-50%) rotate(45deg); }
html[dir="ltr"] .section-choose ul li::before { left: 0; }
html[dir="rtl"] .section-choose ul li::before { right: 0; }
.section-choose ul li:not(:last-of-type) { margin-bottom: 10px; }
.section-choose img { width: 90%; display: block; margin: auto; }

.social-absolute > div { position: absolute; display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; background-color: rgba(64,123,255,0.15); border-radius: 50%; font-size: 40px; z-index: -1; }
.social-absolute > div.facebook  { color: #407BFF; top: -40px; left: 10%; }
.social-absolute > div.youtube   { color: #FC3A4D; top: -40px; right: 10%; }
.social-absolute > div.instagram { color: #DE53D0; bottom: 0; left: 15%; }
.social-absolute > div.twitter   { color: #1CA1F2; bottom: 0; right: 15%; }

/* ================================================================
   §16  FOCUS-VISIBLE
   ================================================================ */
*:focus { outline: none; }
.btn:focus-visible, a:focus-visible, [role="button"]:focus-visible, [role="tab"]:focus-visible,
[role="menuitem"]:focus-visible, [role="option"]:focus-visible, [role="checkbox"]:focus-visible,
[role="radio"]:focus-visible, [role="switch"]:focus-visible, [role="link"]:focus-visible,
summary:focus-visible, details > summary:focus-visible, .form-control:focus-visible,
.form-select:focus-visible, .form-check-input:focus-visible, .nav-link:focus-visible,
.dropdown-item:focus-visible, .list-group-item:focus-visible, .page-link:focus-visible,
.accordion-button:focus-visible, select:focus-visible, input:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible {
  outline: var(--d3f-focus-outline);
  outline-offset: 3px;
  box-shadow: none !important;
}

/* ================================================================
   §17  SIDEBAR — INTERNAL ELEMENTS
   ================================================================ */
.aside .aside-logo img { width: 200px; }
.aside .aside-menu { flex: 1 1 auto; overflow-y: auto; }
.aside .aside-menu ul li { position: relative; }
.aside .aside-menu ul li a { padding: 10px 12px; display: flex; align-items: center; color: var(--bs-body-color); font-weight: 500; font-size: 14px; text-decoration: none; text-transform: capitalize; border-radius: var(--bs-border-radius); transition: color var(--d3f-transition), background-color var(--d3f-transition); }
.aside .aside-menu ul li a:hover { color: var(--bs-primary); background-color: rgba(var(--bs-primary-rgb), 0.06); }
.aside .aside-menu ul li.active > a { color: var(--bs-primary); background-color: rgba(var(--bs-primary-rgb), 0.10); }

.aside .aside-menu ul li a i,
.aside .aside-menu ul li a .navbar-icon { width: 18px; text-align: center; flex-shrink: 0; }
html[dir="ltr"] .aside .aside-menu ul li a i,
html[dir="ltr"] .aside .aside-menu ul li a .navbar-icon { margin-right: 12px; }
html[dir="rtl"] .aside .aside-menu ul li a i,
html[dir="rtl"] .aside .aside-menu ul li a .navbar-icon { margin-left: 12px; }

.aside .aside-menu ul li a .nav-icon-box { width: 32px; height: 32px; border-radius: var(--bs-border-radius-sm); display: inline-flex; align-items: center; justify-content: center; background-color: var(--bs-secondary-bg); flex-shrink: 0; transition: background-color var(--d3f-transition); }
html[dir="ltr"] .aside .aside-menu ul li a .nav-icon-box { margin-right: 10px; }
html[dir="rtl"] .aside .aside-menu ul li a .nav-icon-box { margin-left:  10px; }
.aside .aside-menu ul li a:hover .nav-icon-box,
.aside .aside-menu ul li.active > a .nav-icon-box { background-color: rgba(var(--bs-primary-rgb), 0.12); }

.aside .aside-menu #showMoreMenu + button i { transition: transform 500ms ease-in-out; }
.aside .aside-menu #showMoreMenu + button[aria-expanded="true"] i { transform: rotate(-180deg); }

.aside-help-card { background-color: var(--bs-primary); border-radius: var(--bs-border-radius-lg); padding: 16px; text-align: center; margin: 12px 12px 0; }
.aside-help-card__icon { width: 38px; height: 38px; border-radius: 50%; background-color: rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; margin: 0 auto 10px; font-size: 16px; color: #fff; }
.aside-help-card__title { font-size: 13px; font-weight: 600; color: #fff; margin-bottom: 4px; }
.aside-help-card__text  { font-size: 11px; color: rgba(255,255,255,0.75); line-height: 1.5; margin-bottom: 12px; }
.aside-help-card .btn-help { display: block; width: 100%; background-color: #fff; color: var(--bs-primary); border: none; border-radius: var(--bs-border-radius); padding: 8px 0; font-size: 13px; font-weight: 600; cursor: pointer; text-decoration: none; transition: opacity var(--d3f-transition); font-family: inherit; }
.aside-help-card .btn-help:hover { opacity: 0.9; }
[data-bs-theme="dark"] .aside-help-card { background-color: rgba(var(--bs-primary-rgb), 0.85); }

/* ================================================================
   §18  HEADER — INTERNAL ELEMENTS
   ================================================================ */

/* Left block: contains hamburger (mobile) or chips (desktop) */
.header-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
}

/* ── Desktop chips list ── */
.header-chips-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* ── Chip base ── */
.header-chip {
  display: inline-flex; align-items: center; gap: 6px;
  height: 38px; padding: 0 12px;
  background-color: var(--bs-secondary-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  font-size: 13px; color: var(--bs-secondary-color);
  white-space: nowrap; text-decoration: none;
  transition: all var(--d3f-transition);
}
.header-chip i      { font-size: 13px; color: var(--bs-secondary-color); }
.header-chip strong { color: var(--bs-body-color); font-weight: 600; }

/* Balance chip */
.header-chip.header-chip-balance {
  background-color: rgba(var(--bs-primary-rgb), 0.08);
  border-color: rgba(var(--bs-primary-rgb), 0.18);
  color: var(--bs-primary); cursor: pointer; font-weight: 600;
}
.header-chip.header-chip-balance i      { color: var(--bs-primary); }
.header-chip.header-chip-balance strong { color: var(--bs-primary); font-weight: 700; }
.header-chip.header-chip-balance:hover  { background-color: rgba(var(--bs-primary-rgb), 0.13); border-color: rgba(var(--bs-primary-rgb), 0.30); }

/* Eye toggle button inside chip */
.balance-eye-btn {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  opacity: 0.6;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  transition: opacity var(--d3f-transition);
}
.balance-eye-btn:hover { opacity: 1; }
.balance-eye-btn i { font-size: 12px; }

/* ── Mobile block: Welcome + Balance ── */
.header-mobile-block {
  flex: 1;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.header-mobile-welcome {
  font-size: 11px;
  color: var(--bs-secondary-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.header-mobile-welcome strong {
  color: var(--bs-body-color);
  font-weight: 600;
}

.header-mobile-balance-wrap {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 26px;
  padding: 0 9px;
  background-color: rgba(var(--bs-primary-rgb), 0.08);
  border: 1px solid rgba(var(--bs-primary-rgb), 0.18);
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--bs-primary);
  text-decoration: none;
  white-space: nowrap;
}
.header-mobile-balance-wrap i { font-size: 11px; }

/* ── Right actions ── */
.header-actions { gap: 8px; flex-shrink: 0; }
.header-actions > li { display: flex; align-items: center; }

.header-icon-button,
.header-user { display: inline-flex; align-items: center; text-decoration: none; transition: background-color var(--d3f-transition), color var(--d3f-transition), border-color var(--d3f-transition); }

.header-icon-button {
  width: 40px; height: 40px; justify-content: center;
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-secondary-color);
  border: 1px solid var(--bs-border-color);
  border-radius: 12px; font-size: 15px;
  position: relative; flex-shrink: 0;
}
.header-icon-button:hover { color: var(--bs-primary); background-color: rgba(var(--bs-primary-rgb), 0.05); border-color: rgba(var(--bs-primary-rgb), 0.22); }

.header-ticket-badge {
  min-width: 17px; height: 17px; padding: 0 4px;
  position: absolute; top: -4px; inset-inline-end: -4px;
  display: inline-flex; align-items: center; justify-content: center;
  background-color: #f1416c; color: #fff;
  border-radius: 999px; font-size: 9px; font-weight: 700; line-height: 1;
  border: 2px solid var(--bs-body-bg);
}
@keyframes badge-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(241,65,108,0.5); } 50% { box-shadow: 0 0 0 5px rgba(241,65,108,0); } }
.header-ticket-badge { animation: badge-pulse 2s ease-in-out infinite; }

.header-user { width: 40px; height: 40px; padding: 0; justify-content: center; background-color: var(--bs-tertiary-bg); color: var(--bs-body-color); border: 1px solid var(--bs-border-color); border-radius: 12px; flex-shrink: 0; overflow: hidden; }
.header-user:hover { color: var(--bs-primary); background-color: rgba(var(--bs-primary-rgb), 0.05); border-color: rgba(var(--bs-primary-rgb), 0.22); }

.header-user__avatar { width: 100%; height: 100%; display: inline-flex; align-items: center; justify-content: center; background-color: rgba(var(--bs-primary-rgb), 0.10); color: var(--bs-primary); border-radius: inherit; flex-shrink: 0; font-size: 13px; font-weight: 700; text-transform: uppercase; line-height: 1; overflow: hidden; }
.header-user__name, .header-user__chevron { display: none !important; }

.header-user-menu { width: 280px; padding: 8px; border-radius: 14px; }
.header-user-menu-header { padding: 10px 12px 12px; margin-bottom: 4px; }
.header-user-menu-header__name    { display: block; font-size: 14px; font-weight: 700; color: var(--bs-body-color); }
.header-user-menu-header__email   { display: block; font-size: 11px; color: var(--bs-secondary-color); margin-top: 2px; }
.header-user-menu-header__balance { display: inline-block; margin-top: 8px; padding: 6px 10px; background-color: rgba(var(--bs-primary-rgb), 0.08); color: var(--bs-primary); border-radius: 999px; font-size: 12px; font-weight: 700; }

.header-user-menu .dropdown-item { min-height: 40px; padding: 0 10px; border-radius: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; font-weight: 500; }
.header-user-menu .dropdown-item i { width: 16px; text-align: center; flex-shrink: 0; }
.header-user-menu-label { padding: 8px 10px 6px; font-size: 11px; font-weight: 700; color: var(--bs-secondary-color); text-transform: uppercase; letter-spacing: 0.04em; }
.header-user-menu-inline { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 8px 8px; }

.header-mini-chip { min-width: 40px; height: 32px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; background-color: var(--bs-tertiary-bg); color: var(--bs-body-color); border: 1px solid var(--bs-border-color); border-radius: 999px; text-decoration: none; font-size: 11px; font-weight: 700; transition: background-color var(--d3f-transition), color var(--d3f-transition), border-color var(--d3f-transition); }
button.header-mini-chip { cursor: pointer; }
.header-mini-chip:hover { color: var(--bs-primary); border-color: rgba(var(--bs-primary-rgb), 0.22); background-color: rgba(var(--bs-primary-rgb), 0.05); }
.header-mini-chip.active { color: var(--bs-primary); background-color: rgba(var(--bs-primary-rgb), 0.10); border-color: rgba(var(--bs-primary-rgb), 0.18); }

/* ================================================================
   §19  MOBILE MENU
   ================================================================ */
.menu-mobile ul li a { color: var(--bs-body-color); padding: 20px; display: block; text-transform: capitalize; font-weight: 500; text-decoration: none; border-bottom: var(--bs-border-width) solid var(--bs-border-color); transition: color var(--d3f-transition), background-color var(--d3f-transition); }
.menu-mobile ul li a:hover    { color: var(--bs-primary); background-color: var(--bs-secondary-bg); }
.menu-mobile ul li.active > a { color: var(--bs-primary); }

/* ================================================================
   §20  TOAST
   ================================================================ */
#notify-wrapper { position: fixed; bottom: 20px; inset-inline-end: 20px; z-index: 1090; display: flex; flex-direction: column; gap: 10px; max-width: 340px; width: calc(100% - 40px); pointer-events: none; }
.toast-wrap { background-color: var(--bs-primary); color: #fff; padding: 12px 16px; border-radius: var(--bs-border-radius); display: flex; align-items: center; gap: 10px; box-shadow: var(--bs-box-shadow); animation: toast-in var(--d3f-transition) ease-out; pointer-events: auto; }
.toast-wrap.toast-success { background-color: var(--bs-success); }
.toast-wrap.toast-danger  { background-color: #dc3545; }
.toast-wrap.toast-warning { background-color: var(--bs-warning); color: #000; }
.toast-text { flex: 1; font-size: 14px; font-weight: 500; line-height: 1.4; }
.toast-wrap [data-d3f-toast-close] { background: transparent; border: 0; color: inherit; opacity: 0.75; font-size: 16px; cursor: pointer; padding: 0; line-height: 1; flex-shrink: 0; transition: opacity var(--d3f-transition); }
.toast-wrap [data-d3f-toast-close]:hover { opacity: 1; }
@keyframes toast-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* ================================================================
   §21  FOOTER
   ================================================================ */
footer { border-top: var(--bs-border-width) solid var(--bs-border-color); }
.footer-logo img { width: 140px; }
html[dir="ltr"] footer .footer-menu li:not(:last-of-type) { margin-right: 40px; }
html[dir="rtl"] footer .footer-menu li:not(:last-of-type) { margin-left: 40px; }
footer .footer-menu li a { color: var(--bs-body-color); font-weight: 700; text-transform: capitalize; font-size: 14px; text-decoration: none; transition: color var(--d3f-transition); }
footer .footer-menu li a:hover { color: var(--bs-primary); }
html[dir="ltr"] .footer-social li:not(:last-of-type) { margin-right: 10px; }
html[dir="rtl"] .footer-social li:not(:last-of-type) { margin-left: 10px; }
.footer-social li a { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--bs-primary); color: #fff; border-radius: 50%; text-decoration: none; transition: background-color var(--d3f-transition); }
.footer-social li a:hover { background-color: #0095e8; }

/* ================================================================
   §22  UTILITIES
   ================================================================ */
.dropdown-max-height { max-height: 400px; overflow-y: auto; }
body.guest .wrap { display: flex; flex-direction: column; min-height: 100vh; }
body.guest .wrap > .item-wrap:first-of-type { flex: 1 1 auto; }

/* ================================================================
   §23  ACCESSIBILITY
   ================================================================ */
@media (prefers-reduced-motion: reduce) {
  .aside, .menu-mobile, .navbar-top, .card-platform-hover,
  body.dashboard .wrap .content, .header { transition: none !important; }
  .card-platform-hover:hover { transform: none !important; }
  .btn.loading::after { animation: btn-fade 1s ease-in-out infinite !important; border-color: rgba(255,255,255,0.9); border-top-color: rgba(255,255,255,0.9); }
  .toast-wrap { animation: none; }
  .header-ticket-badge { animation: none; }
}
@keyframes btn-fade { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }

@media (prefers-contrast: more) {
  .form-control, .form-select, .card { outline: 1px solid var(--bs-body-color); }
  .table td span.status { font-weight: 700; }
}

/* ================================================================
   §24  RESPONSIVE
   ================================================================ */

/* ──────────────────────────────────────────────────────────────
   MOBILE  (< 768px)
   • Sidebar hidden, header full width
   • Show: hamburger + mobile welcome+balance block
   • Hide: desktop chips
   ────────────────────────────────────────────────────────────── */
@media (max-width: 767.98px) {

  .header {
    width: 100% !important;
    padding: 0 12px;
    gap: 8px;
  }

  body.dashboard .wrap .content {
    width: 100%;
    margin-inline-start: 0;
  }

  .aside { transform: translateX(-100%); }
  html[dir="rtl"] .aside { transform: translateX(100%); }

  /* Actions compact */
  .header-actions { gap: 6px; }
  .header-icon-button, .header-user { width: 36px; height: 36px; }
  .header-user-menu { width: 260px; }

  /* Mobile block takes all remaining space */
  .header-mobile-block { flex: 1; }

  /* Landing */
  .section-features .items { grid-template-columns: 1fr; }
  html[dir="rtl"] .section-head h1 { font-size: 30px; }
  html[dir="ltr"] .section-head h1 { font-size: 40px; }
  html[dir="ltr"] footer .footer-menu li:not(:last-of-type) { margin-right: 20px; }
  html[dir="rtl"] footer .footer-menu li:not(:last-of-type) { margin-left: 20px; }
  #notify-wrapper { bottom: 15px; inset-inline-end: 15px; }
}

/* ──────────────────────────────────────────────────────────────
   TABLET  (768px – 991px)
   • Sidebar hidden, header full width
   • Show: hamburger + mobile welcome+balance block
   • Hide: desktop chips (still small screen layout)
   ────────────────────────────────────────────────────────────── */
@media (min-width: 768px) and (max-width: 991.98px) {

  .header {
    width: 100% !important;
    padding: 0 20px;
  }

  body.dashboard .wrap .content {
    width: 100%;
    margin-inline-start: 0;
  }

  .aside { transform: translateX(-100%); }
  html[dir="rtl"] .aside { transform: translateX(100%); }

  /* Tablet mobile block — slightly larger */
  .header-mobile-welcome { font-size: 12px; }
  .header-mobile-balance-wrap { height: 28px; font-size: 13px; }

  /* Landing */
  .navbar-top { height: 70px; }
  body.header-sm .navbar-top { height: 60px; }
  .navbar-brand img { width: 140px; }
  .aside .aside-logo img { width: 160px; }
  .footer-logo img { width: 120px; }
  html[dir="ltr"] footer .footer-menu li:not(:last-of-type) { margin-right: 20px; }
  html[dir="rtl"] footer .footer-menu li:not(:last-of-type) { margin-left: 20px; }
  .section-features .items { row-gap: 40px; }
  html[dir="rtl"] .section-head h1 { font-size: 36px; }
  html[dir="ltr"] .section-head h1 { font-size: 46px; }
}

/* ──────────────────────────────────────────────────────────────
   DESKTOP  (≥ 992px)
   • Sidebar visible
   • Show: desktop chips (Welcome + Orders + Balance)
   • Hide: mobile block
   ────────────────────────────────────────────────────────────── */
@media (min-width: 992px) {

  .header {
    width: calc(100% - var(--d3f-sidebar-width));
    padding: 0 24px;
  }

  body.dashboard .wrap .content {
    margin-inline-start: var(--d3f-sidebar-width);
    width: calc(100% - var(--d3f-sidebar-width));
  }

  /* Chip sizing */
  .header-chip { height: 38px; padding: 0 12px; font-size: 13px; }
  .header-chips-left { gap: 8px; }

  /* Navbar landing */
  .navbar-top { height: 100px; }
  .navbar-brand img { width: 160px; }
  .aside .aside-logo img { width: 200px; }
  .footer-logo img { width: 140px; }
}

/* Smaller chips on 992–1199px if crowded */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .header-chip { height: 34px; padding: 0 10px; font-size: 12px; gap: 5px; }
  .header-chip.header-chip-welcome i,
  .header-chip.header-chip-orders i { display: none; }
}

/* Landing small breakpoints */
@media (max-width: 575.98px) {
  .section-results .numbers { padding: 20px; }
  .social-absolute > div { font-size: 20px; width: 60px; height: 60px; }
  .social-absolute > div.instagram, .social-absolute > div.twitter { top: 64%; }
  .social-absolute > div.instagram { left: 5%; }
  .social-absolute > div.twitter   { right: 5%; }
  #notify-wrapper { bottom: 15px; inset-inline-end: 15px; }
}

@media (max-width: 479.98px) {
  .navbar-brand img { width: 130px; }
  html[dir="rtl"] .section-head h1 { font-size: 28px; }
  html[dir="ltr"] .section-head h1 { font-size: 36px; }
  .section-head .d-flex { flex-direction: column; }
  .section-head .d-flex a { width: 100%; }
  .social-absolute > div:nth-child(n+3) { width: 50px; height: 50px; }
  .social-absolute > div.instagram, .social-absolute > div.twitter { top: 60%; }
}