/*
 * Custom CSS
 * @description Custom CSS for ApexHost WHMCS Theme
 * @author WHMCSForge
 * @version 1.0
 * @link https://whmcsforge.gumroad.com/
 */

/* : Preloader : */
.preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background-color: var(--background);
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.preloader.hide {
  opacity: 0;
  visibility: hidden;
}
.preloader .content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.preloader .animated-bg {
  width: 200px;
  height: 200px;
  border-radius: var(--radius-full);
  background: linear-gradient(
    90deg,
    var(--orange),
    var(--yellow),
    var(--green),
    var(--blue),
    var(--purple),
    var(--pink),
    var(--red)
  );
  background-size: 200%;
  filter: blur(calc(0.8 * 4rem));
  animation: animated-bg 2s infinite linear;
  transition: all 0.05s ease-in-out;
  opacity: 0.3;
  pointer-events: none;
}
/* ----------------------------------- */

/* : Topbar : */
.theme-topbar {
  position: fixed;
  top: 0;
  inset-inline-start: 0;
  inset-inline-end: 0;
  padding-block: var(--space-2);
  z-index: 99;
  background-color: var(--background);
  transition: top 0.15s var(--transition-function-1);
}
.theme-topbar .container-fluid {
  max-width: 100%;
}
/* topbar-content */
.theme-topbar .topbar-content {
  padding: var(--space-1);
  background-color: var(--topbar);
  -webkit-border-radius: var(--theme-radius);
  -moz-border-radius: var(--theme-radius);
  -ms-border-radius: var(--theme-radius);
  -o-border-radius: var(--theme-radius);
  border-radius: var(--theme-radius);
}
/* ----------------------------------- */

/* : Theme Navbar : */
.theme-navbar {
  position: fixed;
  top: 48px;
  inset-inline-start: 0;
  inset-inline-end: 0;
  background-color: var(--background);
  z-index: 99;
  -webkit-box-shadow: var(--normal-shadow) var(--normal-shadow-color);
  -moz-box-shadow: var(--normal-shadow) var(--normal-shadow-color);
  -ms-box-shadow: var(--normal-shadow) var(--normal-shadow-color);
  -o-box-shadow: var(--normal-shadow) var(--normal-shadow-color);
  box-shadow: var(--normal-shadow) var(--normal-shadow-color);
  transition: top 0.15s var(--transition-function-1);
}
.theme-navbar .container-fluid {
  max-width: 100%;
}
/* navbar-animated-bg */
.theme-navbar.has-animated-bg .animated-bg {
  display: none;
  position: absolute;
  left: 50%;
  bottom: 90%;
  width: 400px;
  height: 400px;
  border-radius: var(--radius-full);
  background: linear-gradient(
    90deg,
    var(--orange),
    var(--yellow),
    var(--green),
    var(--blue),
    var(--purple),
    var(--pink),
    var(--red)
  );
  background-size: 200%;
  filter: blur(calc(0.8 * 4rem));
  animation: animated-bg 2s infinite linear;
  transform: translateX(-50%);
  transition: all 0.05s ease-in-out;
  opacity: 0.3;
  pointer-events: none;
  z-index: -1;
}
@keyframes animated-bg {
  0% {
    background-position: 0;
  }

  100% {
    background-position: 200%;
  }
}

/* navbar-content */
.theme-navbar .navbar-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: var(--space-5);
}

/* logo-wrapper */
.theme-navbar .logo-wrapper {
  min-width: 20%;
}
.theme-navbar .logo-wrapper .logo-link img {
  width: 100px;
}

/* links-toggler */
.theme-navbar .links-toggler {
  display: none;
}

@media (max-width: 1364.98px) {
  .theme-navbar .links-toggler {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  .theme-navbar .links-toggler svg {
    width: 32px;
  }
}

/* Links */
.theme-navbar .links-list {
  display: flex;
  align-items: center;
  margin-bottom: 0;
}

@media (max-width: 1364px) {
  .theme-navbar .links {
    display: none;
    position: fixed;
    inset: 0;
    background-color: color-mix(in srgb, var(--background), transparent 50%);
    -webkit-backdrop-filter: blur(10px) contrast(0.9);
    backdrop-filter: blur(10px) contrast(0.9);
    padding: var(--space-16);
    z-index: 3;
  }

  .theme-navbar.show-links .links {
    display: block;
  }

  .theme-navbar .links-list {
    background-color: var(--card);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--border) var(--background);
  }

  .theme-navbar .links-list::-webkit-scrollbar {
    width: 8px;
    background: var(--background);
    border-radius: var(--radius-lg);
  }

  .theme-navbar .links-list::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: var(--radius-lg);
  }
}

/* Link */
.theme-navbar .link-wrapper .link {
  color: var(--foreground);
  padding: var(--space-2) var(--space-3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  border-radius: var(--theme-radius);
  min-height: var(--space-10);
  transition: background-color 0.15s var(--transition-function-1);
}

.theme-navbar .link-wrapper .link:hover,
.theme-navbar .link-wrapper.show .link {
  background-color: color-mix(in srgb, var(--accent), transparent 50%);
}

.theme-navbar .link-wrapper .link > svg {
  width: var(--space-4);
  height: var(--space-4);
}

@media (max-width: 1364px) {
  .theme-navbar .link-wrapper {
    width: 100%;
  }

  .theme-navbar .link-wrapper .link {
    width: 100%;
    justify-content: flex-start;
  }

  .theme-navbar .link-wrapper.show .link {
    border-end-start-radius: 0;
    border-end-end-radius: 0;
  }

  .theme-navbar .link-wrapper .link > svg {
    margin-inline-start: auto;
    transform: rotate(-90deg);
  }

  .theme-navbar .link-wrapper.show .link > svg {
    transform: rotate(0);
  }

  [dir="rtl"] .theme-navbar .link-wrapper .link > svg {
    transform: rotate(90deg);
    margin-inline-start: unset;
    margin-inline-end: auto;
  }

  [dir="rtl"] .theme-navbar .link-wrapper.show .link > svg {
    transform: rotate(0);
  }
}

/* close-links */
.theme-navbar .close-links {
  display: none;
}

@media (max-width: 1364px) {
  .theme-navbar .close-links {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 20px;
    width: 100%;
    inset-inline-start: 0;
    inset-inline-end: 0;
  }
}

/* dropdown-menu */
.theme-navbar .link-wrapper {
  position: relative;
}

/* Dropdown menu base styles */
.theme-navbar .theme-dropdown-menu {
  display: none;
  position: absolute;
  padding: var(--space-1);
  top: 48px;
  border: 1px solid var(--border);
  border-radius: var(--theme-radius);
  background-color: var(--popover);
  box-shadow: var(--normal-shadow) var(--normal-shadow-color);
  z-index: 1;
}

.theme-navbar .theme-dropdown-menu.drop-left {
  inset-inline-end: 0;
}

.theme-navbar .theme-dropdown-menu.drop-right {
  inset-inline-end: 0;
}

/* Mobile styles */
@media (max-width: 1364px) {
  .theme-navbar .theme-dropdown-menu:not(.user-dropwon-menu) {
    position: relative;
    top: unset;
    border: none;
    box-shadow: none;
    border-start-start-radius: 0;
    border-start-end-radius: 0;
    border-top: 1px solid var(--border);
  }
}

/* Show dropdown menu */
.theme-navbar .show .theme-dropdown-menu {
  display: block;
}

/* ddm-divider */
.theme-navbar .theme-dropdown-menu .ddm-divider {
  margin-block: var(--space-1);
  border-bottom: 1px solid var(--border);
  display: flex;
}

/* ddm-item */
.theme-navbar .theme-dropdown-menu .ddm-item {
  display: flex;
  align-items: center;
}

/* ddm-link */
.theme-navbar .theme-dropdown-menu .ddm-item .ddm-link {
  display: flex;
  padding: calc(var(--space-1) * 1.5) calc(var(--space-1) * 2);
  min-width: 220px;
  align-items: center;
  border-radius: var(--theme-radius);
  color: var(--popover-foreground);
  transition: all 0.15s var(--transition-function-1);
}

.theme-navbar .theme-dropdown-menu .ddm-item .ddm-link svg {
  width: var(--space-4);
  height: var(--space-4);
}

.theme-navbar .theme-dropdown-menu .ddm-item .ddm-link:hover {
  background: var(--accent);
  color: var(--accent-foreground);
}

@media (max-width: 1364px) {
  .theme-navbar
    .theme-dropdown-menu:not(.user-dropwon-menu)
    .ddm-item
    .ddm-link {
    min-width: 100%;
  }
}

/* actions */
.theme-navbar .actions {
  min-width: 20%;
}

/* user-options */
.user-options {
  position: relative;
}

/* ----------------------------------- */

/* : Sidebar : */
#main-body .sidebar-col {
  width: 20%;
  padding-inline-start: 1rem;
  padding-inline-end: 1rem;
}
@media (max-width: 1199.98px) {
  #main-body .sidebar-col {
    width: 100%;
  }
}
#main-body .content-col {
  width: 80%;
  padding-inline-start: 1rem;
  padding-inline-end: 1rem;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 1199.98px) {
  #main-body .content-col {
    width: 100%;
    float: none;
  }
}
.primary-content {
  padding: 0 15px;
  width: 100%;
}
/* ----------------------------------- */

/* : Sidebar Toggler : */
.sidebar-toggler {
  margin-bottom: 20px;
}
@media (max-width: 1199.98px) {
  .sidebar-toggler {
    display: none !important;
  }
}
/* ----------------------------------- */

/* : Theme sidebar panel : */
.theme-sidebar-panel {
  background: var(--sidebar);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
}
@media (min-width: 1200px) {
  .theme-sidebar-panel {
    border: 1px solid var(--border);
  }
}

/* Panel Heading */
.theme-sidebar-panel .panel-heading {
  padding: 14px 20px;
  cursor: pointer;
  background-color: var(--header-bg);
}
.theme-sidebar-panel .panel-heading .panel-header-label {
  line-height: 1;
}
.theme-sidebar-panel .panel-heading .card-minimise {
  font-size: var(--text-sm);
  transition: all 0.3s ease-in-out;
}
.theme-sidebar-panel .panel-heading.active .card-minimise {
  transform: rotate(180deg);
}

/* Sidebar List */
.theme-sidebar-panel .panel-body {
  padding: 10px;
  border-top: 1px solid var(--border);
}
.theme-sidebar-panel .sidebar-list-item {
  display: flex;
  column-gap: 0.5rem;
  padding: calc(var(--space-1) * 1.5) calc(var(--space-1) * 2);
  min-width: 220px;
  align-items: center;
  border-radius: var(--theme-radius);
  color: var(--popover-foreground);
  transition: all 0.15s var(--transition-function-1);
  overflow: hidden;
}
.theme-sidebar-panel .sidebar-list-item.ticket-details-children {
  display: block;
}
.theme-sidebar-panel .sidebar-list-item.no-action {
  color: var(--muted-foreground);
}
.theme-sidebar-panel .sidebar-list-item:not(.no-action):hover {
  background: var(--sidebar-accent);
  color: var(--sidebar-accent-foreground);
}
.theme-sidebar-panel .sidebar-list-item svg {
  width: 16px;
  height: 16px;
}
.theme-sidebar-panel .sidebar-list-item.active {
  color: var(--sidebar-accent-foreground);
}
.theme-sidebar-panel .panel-footer .row:has(> .row) {
  all: unset;
}
.theme-sidebar-panel .panel-footer .row > .row {
  margin-inline: -0.5rem;
}
.theme-sidebar-panel .panel-footer .row > .row > [class*="col-"] {
  padding-inline: 0.5rem;
}
.theme-sidebar-panel .panel-footer .row:not(:has(> .row)):not(:has(> .col)) {
  margin-inline: 0;
}
.theme-sidebar-panel .panel-footer {
  padding: 0.75rem;
  border-top: 1px solid var(--border);
}

/* collapsable-card-body */
.collapsable-card-body {
  padding: 0 !important;
}
.collapsable-card-body .theme-sidebar-list {
  padding: 0.75rem !important;
}
.collapsable-card-body .theme-sidebar-list .text-center {
  text-align: start !important;
}

/* tags */
.theme-sidebar-panel a[href*="/knowledgebase/tag"] {
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-pill);
  background-color: var(--popover);
  color: var(--muted-foreground);
  transition: all 0.15s var(--transition-function-1);
}
.theme-sidebar-panel a[href*="/knowledgebase/tag"]:hover {
  color: var(--foreground);
}
/* ----------------------------------- */

/* : Section Title : */
.hero-title {
  margin-bottom: 70px;
}
.hero-title .hero-tagline {
  max-width: 500px;
}
/* ----------------------------------- */

/* : Section Title Heading : */
.section-title-heading {
  margin-bottom: 45px;
}
.section-title-heading .section-headline {
  color: var(--foreground);
  font-size: var(--text-3xl);
}
.section-title-heading .section-tagline {
  font-size: var(--text-sm);
}
/* ----------------------------------- */

/* : Page Header : */
.page-header {
  border-bottom: 1px solid var(--border);
  padding-block-end: 1.5rem;
  margin-bottom: 1.5rem;
}
/* ----------------------------------- */

/* : Page Footer : */
.page-footer {
  border-top: 1px solid var(--border);
  padding-block-start: 1.5rem;
  margin-top: 1.5rem;
}
/* ----------------------------------- */

/* : Breadcrumbs : */
.theme-master-breadcrumb {
  margin-top: 20px;
  font-family: var(--font-family-base);
}
.theme-master-breadcrumb .theme-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  background-color: var(--card);
  column-gap: 10px;
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.theme-master-breadcrumb .breadcrumb-item > a {
  font-size: var(--text-sm);
  color: var(--muted-foreground);
  transition: all 0.15s var(--transition-function-1);
}
.theme-master-breadcrumb .breadcrumb-item:not(.active) > a:hover {
  color: var(--foreground);
}
.theme-master-breadcrumb .breadcrumb-item.active {
  color: var(--foreground);
}
.theme-master-breadcrumb svg {
  width: 0.75rem;
}
/* ----------------------------------- */

/* : Float Search Bar : */
.float-search-bar {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  width: 170px;
  height: 66px;
  transition: width 0.6s var(--transition-function-1),
    height 0.5s var(--transition-function-1) 0.1s,
    border-radius 0.4s var(--transition-function-1),
    border-color 0.15s var(--transition-function-1);
}
.float-search-bar.bar-is-active {
  width: min(768px, calc(100vw - 40px));
  height: 122px;
}
.float-search-bar > form {
  position: relative;
  padding: var(--space-3);
  background-color: var(--topbar);
  border: 1px solid var(--border);
  background-color: var(--topbar);
  border-radius: var(--radius-pill);
  height: 100%;
  z-index: 2;
  transition: border-radius 0.4s var(--transition-function-1);
}
.float-search-bar.bar-is-active > form {
  border-radius: var(--radius-xl);
}
.float-search-bar:not(.bar-is-active) > form:hover {
  border-color: var(--border);
}

/* Responsive design */
@media (max-width: 991.98px) {
  .float-search-bar.bar-is-active {
    width: calc(100vw - 100px);
  }
}
@media (max-width: 767.98px) {
  .float-search-bar {
    display: none;
  }
}

/* Animated gradient border effect */
.float-search-bar::before {
  content: "";
  position: absolute;
  inset: -1px;
  background: linear-gradient(45deg, #8b5cf6, #ff6b6b, #ffd93d);
  background-size: 300% 300%;
  border-radius: var(--radius-pill);
  z-index: -2;
  opacity: 0;
  animation: gradient-flow 6s ease-in-out infinite;
  transition: 0.2s opacity 0.4s ease,
    border-radius 0.4s var(--transition-function-1);
}
.float-search-bar.bar-is-active::before {
  border-radius: var(--radius-xl);
  opacity: 1;
}
@keyframes gradient-flow {
  0%,
  100% {
    background-position: 0% 50%;
  }

  25% {
    background-position: 100% 50%;
  }

  50% {
    background-position: 100% 100%;
  }

  75% {
    background-position: 0% 100%;
  }
}

/* content-area */
.float-search-bar .content-area {
  position: absolute;
  inset-inline-start: var(--space-3);
  top: 1.25rem;
  inset-inline-end: var(--space-3);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.4s ease, visibility 0.4s ease,
    transform 0.4s var(--transition-function-1);
}
.float-search-bar.bar-is-active .content-area {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.float-search-bar .content-area .icon {
  padding-inline: var(--space-2);
}
.float-search-bar .content-area .icon svg {
  width: var(--space-4);
  height: var(--space-4);
}

/* actions-bar */
.float-search-bar .actions-bar {
  position: absolute;
  inset-inline-start: var(--space-3);
  inset-inline-end: var(--space-3);
  bottom: var(--space-3);
}

/* float-bar-input */
.float-search-bar .float-bar-input {
  background: transparent;
  border: unset;
  outline: unset;
  color: var(--foreground);
  width: 100%;
}

/* Left content with staggered animation */
.float-search-bar .left-content {
  opacity: 0;
  visibility: hidden;
  transform: translateX(-12px);
  transition: opacity 0.3s ease, visibility 0.3s ease,
    transform 0.3s var(--transition-function-1);
}
.float-search-bar.bar-is-active .left-content {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition-delay: 0.3s;
}

/* right-content */
.float-search-bar .right-content {
  position: absolute;
  inset-inline-end: 0;
  bottom: 0;
}

/* btn-icons */
.float-search-bar ._collapse_icon {
  display: none;
}
.float-search-bar.bar-is-active ._collapse_icon {
  display: flex;
}
.float-search-bar.bar-is-active ._expand_icon {
  display: none;
}
/* ----------------------------------- */

/* : Float Bar Overlay : */
body.float-bar-open {
  overflow-y: hidden;
}
@media (min-width: 768px) {
  .float-bar-overlay {
    position: fixed;
    top: 0;
    inset-inline-start: 0;
    inset-inline-end: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99;
    display: none;
  }
}
/* ----------------------------------- */

/* : Quick Actions Header : */
.quick-actions-header {
  display: grid;
  place-items: center;
  min-height: 90vh;
  padding-block: 8rem;
}

/* Title */
.quick-actions-header .title {
  font-size: var(--text-5xl);
  font-family: var(--font-family-base);
  font-weight: 700;
  letter-spacing: -0.05rem;
}
.quick-actions-header .title > span {
  font-weight: 700;
}

/* Quick Actions Wrapper */
.quick-actions-header .quick-actions-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-24);
}

/* Scroll Container */
.quick-actions-header .scroll-container {
  --itemHeight: 80px;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  height: var(--itemHeight);
  overflow: hidden;
  mask-image: linear-gradient(
    to right,
    transparent,
    var(--background) 10%,
    var(--background) 90%,
    transparent
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent,
    var(--background) 10%,
    var(--background) 90%,
    transparent
  );
}

/* Quick Actions Row */
.quick-actions-header .actions-row {
  display: flex;
  position: absolute;
  top: 0;
  will-change: transform;
  column-gap: var(--space-4);
}

.quick-actions-header .action-item {
  display: flex;
  align-items: center;
  width: 260px;
  height: var(--itemHeight);
  padding: var(--space-4);
  border-radius: calc(var(--itemHeight) / 3.2);
  background-color: color-mix(in srgb, var(--card), transparent 50%);
  overflow: hidden;
  transition: background-color 0.15s var(--transition-function-1);
}

.quick-actions-header .action-item:hover {
  background-color: var(--card);
}

.quick-actions-header .action-icon {
  width: var(--space-12);
  min-width: var(--space-12);
  height: var(--space-12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--foreground);
  background-color: color-mix(in srgb, var(--red), transparent 90%);
  border-radius: calc(var(--space-12) / 3.2);
}

.quick-actions-header .action-icon svg {
  width: var(--space-6);
  height: var(--space-6);
}

.quick-actions-header .action-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  padding-inline: var(--space-4) var(--space-4);
}

/* colors */
.quick-actions-header .action-item.color-variant-1 .action-icon {
  background-color: color-mix(in srgb, var(--red), transparent 90%);
}

.quick-actions-header .action-item.color-variant-2 .action-icon {
  background-color: color-mix(in srgb, var(--blue), transparent 80%);
}

.quick-actions-header .action-item.color-variant-3 .action-icon {
  background-color: color-mix(in srgb, var(--green), transparent 80%);
}

.quick-actions-header .action-item.color-variant-4 .action-icon {
  background-color: color-mix(in srgb, var(--yellow), transparent 80%);
}

.quick-actions-header .action-item.color-variant-5 .action-icon {
  background-color: color-mix(
    in srgb,
    var(--purple),
    transparent 80%
  );
}

.quick-actions-header .action-item.color-variant-6 .action-icon {
  background-color: color-mix(in srgb, var(--pink), transparent 80%);
}

.quick-actions-header .action-item.color-variant-7 .action-icon {
  background-color: color-mix(
    in srgb,
    var(--orange),
    transparent 80%
  );
}

.quick-actions-header .action-item.color-variant-8 .action-icon {
  background-color: color-mix(in srgb, var(--gray), transparent 80%);
}

.quick-actions-header .action-item.color-variant-9 .action-icon {
  background-color: color-mix(in srgb, var(--teal), transparent 80%);
}

.quick-actions-header .action-item.color-variant-10 .action-icon {
  background-color: color-mix(in srgb, var(--cyan), transparent 80%);
}

/* ----------------------------------- */

/* : Domain Search : */
.home-domain-search {
  padding: 8rem 0 2rem;
}

@media (max-width: 1199.98px) {
  .home-domain-search {
    padding: 100px 0 45px;
  }
}
@media (max-width: 767.98px) {
  .home-domain-search {
    padding: 80px 0 45px;
  }
}

/* domain-search-content */
.home-domain-search .domain-search-content {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 0 60px;
}
@media (max-width: 1199.98px) {
  .home-domain-search .domain-search-content {
    max-width: 700px;
  }
}
@media (max-width: 991.98px) {
  .home-domain-search .domain-search-content {
    max-width: 600px;
    padding: 0 0 80px;
  }
}

/* header-title */
.home-domain-search .domain-search-title {
  letter-spacing: -0.05rem;
  margin-bottom: var(--space-12);
}
@media (max-width: 991.98px) {
  .home-domain-search .domain-search-title {
    font-size: var(--text-4xl);
    margin-bottom: var(--space-10);
  }
}
@media (max-width: 767.98px) {
  header .header-title {
    font-size: var(--text-3xl);
  }
}

/* custom-input-group */
.home-domain-search .domain-search-form .custom-input-group {
  position: relative;
  max-width: 900px;
  margin: 0 auto 30px;
}

/* custom-input */
.home-domain-search .domain-search-form .custom-input {
  width: 100%;
  font-size: var(--text-lg);
  font-weight: 500;
  color: var(--foreground);
  padding: 1.5rem 12rem 1.5rem 4rem;
  border: 1px solid var(--border);
  background: var(--input);
  border-radius: var(--radius-md);
  line-height: 1;
  outline: none;
  outline-color: transparent;
  outline-width: 0;
  outline-style: solid;
  outline-offset: 1px;
  transition: all 0.1s var(--transition-function-1);
  font-family: var(--font-primary);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.home-domain-search .domain-search-form .custom-input:focus {
  border-color: var(--blue);
  outline-color: color-mix(in srgb, var(--ring), transparent 80%);
  outline-width: 2px;
}
@media (max-width: 1199.98px) {
  .home-domain-search .domain-search-form .custom-input {
    padding: 20px 185px 20px 50px;
  }
}
@media (max-width: 991.98px) {
  .home-domain-search .domain-search-form .custom-input {
    font-size: var(--text-lg);
    padding: 18px 185px 18px 50px;
  }
}
@media (max-width: 767.98px) {
  .home-domain-search .domain-search-form .custom-input {
    font-size: var(--text-base);
    padding: 18px 20px 18px 50px;
  }
}

/* svg - button */
.home-domain-search .domain-search-form .custom-input-group i {
  position: absolute;
  color: var(--icon-gray);
  inset-inline-start: 20px;
  font-size: var(--text-2xl);
}
.home-domain-search .domain-search-form .custom-input-group button {
  position: absolute;
  inset-inline-end: 6px;
  height: 60px;
  font-size: var(--text-lg);
  padding-inline: 1.5rem;
}
@media (max-width: 1199.98px) {
  .home-domain-search .domain-search-form .custom-input-group i {
    width: 20px;
    font-size: var(--text-xl);
  }

  .home-domain-search .domain-search-form .custom-input-group button {
    height: 50px;
    font-size: var(--font-base);
  }
}
@media (max-width: 991.98px) {
  .home-domain-search .domain-search-form .custom-input-group button {
    height: 46px;
    inset-inline-end: 8px;
  }
}
@media (max-width: 767.98px) {
  .home-domain-search .domain-search-form .custom-input-group button {
    position: relative;
    inset-inline-end: unset;
    height: 58px;
    width: 100%;
  }
}
/* ----------------------------------- */

/* : Home Domains Features : */
.home-domains-features {
  padding-bottom: 45px;
}
.home-domains-features .feature-item {
  border-radius: var(--radius-md);
  padding: var(--space-5);
  height: 100%;
  background: var(--surface-bg);
  border: 1px solid var(--border);
}
.home-domains-features .feature-item .icon {
  width: var(--space-8);
}
.home-domains-features .feature-item .icon svg {
  width: 2rem;
  height: 2rem;
}
@media (max-width: 991.98px) {
  .home-domains-features .feature-item .title {
    font-size: var(--text-base);
  }
}
/* ----------------------------------- */

/* : Regular Plan Card : */
.regular-plan-card {
  position: relative;
  background: var(--card);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  padding: var(--space-3) var(--space-3) var(--space-8) var(--space-3);
  overflow: hidden;
}

/* popular */
.regular-plan-card.popular::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  border-radius: var(--radius-md);
  background: var(--linear-gradient);
  background-size: 400% 100%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  animation: gradient-animation 12s ease infinite;
}
@keyframes gradient-animation {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

/* plan-header */
.regular-plan-card .plan-header {
  position: relative;
  padding: var(--space-5);
  margin-bottom: var(--space-8);
  border-radius: var(--radius-md);
  background-color: color-mix(in srgb, var(--background), transparent 10%);
}

/* icon */
.regular-plan-card .plan-header .icon {
  width: var(--space-14);
  height: var(--space-14);
  background: color-mix(in srgb, var(--card), transparent 0%);
}
.regular-plan-card.popular .plan-header .icon {
  background: var(--blue);
}

/* features-list */
.regular-plan-card .plan-features .list-item .icon {
  width: var(--space-6);
  fill: var(--accent);
}
/* ----------------------------------- */

/* : Premium Plan Card : */
.premium-plan-card {
  background: var(--surface-bg);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}

/* plan-header */
.premium-plan-card .plan-header {
  border-bottom: 1px solid var(--border);
}

@media (max-width: 767.98px) {
  /* plan-features */
  .premium-plan-card .plan-features {
    row-gap: 20px !important;
  }

  .premium-plan-card .plan-actions a {
    width: 100%;
  }
}
/* ----------------------------------- */

/* : Mini Plan Card : */
.mini-plan-card {
  background: var(--surface-bg);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}

/* plan-header */
.mini-plan-card .plan-header .icon {
  width: 50px;
  height: 50px;
}
.mini-plan-card .plan-header .icon svg {
  fill: var(--foreground);
  width: 50px;
  height: 50px;
}
.mini-plan-card .price-list .price-item {
  background-color: var(--surface-bg);
  border-radius: var(--radius-sm);
}
/* ----------------------------------- */

/* Mini Testemonial Card */
.mini-testimonial-card {
  background: var(--surface-bg);
  border-radius: var(--radius-md);
}
.mini-testimonial-card::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  border-radius: var(--radius-md);
  background: var(--linear-gradient);
  background-size: 100% 100%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  /* animation: gradient-animation 12s ease infinite; */
}
.mini-testimonial-card .testimonial-content .text {
  line-height: 0.8;
}

/* testimonidals-cards */
.mini-testimonial-card .testimonial-card {
  width: 120px;
  border: 3px solid var(--background);
  border-radius: var(--radius-full);
  overflow: hidden;
}
.mini-testimonial-card .testimonial-card:not(:last-child) {
  margin-inline-end: -30px;
}
/* ----------------------------------- */

/* : PS Card : */
.ps-card .ps-title {
  transition: color 0.15s ease;
}
.ps-card .ps-title:hover {
  text-decoration: underline !important;
  color: var(--foreground);
}
/* ----------------------------------- */

/* : Basic Features Card : */
.basic-features-card {
  background: var(--surface-bg);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  height: 100%;
}
/* ----------------------------------- */

/* : Section Features : */
.section-features {
  margin-top: 50px;
}

/* icon */
.section-features .line .icon {
  width: 22px;
  fill: var(--blue);
}
/* ----------------------------------- */

/* : Hosting Solutions Section : */
.hosting-solutions-section .ui-content {
  padding: 50px;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--surface-bg);
}

.hosting-solutions-section .ui-content::before {
  position: absolute;
  content: "";
  background: url('https://placehold.co/600x600') no-repeat center;
  background-size: contain;
  width: 600px;
  height: 600px;
  top: 35%;
  inset-inline-end: -40%;
  z-index: 1;
}

.hosting-solutions-section .ui-content::after {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  border-radius: var(--radius-md);
  background: var(--linear-gradient);
  background-size: 100% 100%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
}

/* ui-content-title */
.hosting-solutions-section .ui-content-subtitle {
  z-index: 2;
}

.hosting-solutions-section .ui-content-title {
  max-width: 500px;
  line-height: 1.2;
  z-index: 2;
}

@media (max-width: 767.98px) {
  .hosting-solutions-section .ui-content {
    padding: 30px;
  }
  .hosting-solutions-section .ui-content::before {
    display: none;
  }

  .hosting-solutions-section .nt-btn {
    width: 100%;
  }
}

/* ----------------------------------- */

/* : Servers Locations Section : */
.servers-locations-section .location-image img {
  width: 20px;
}
.servers-locations-section .location-info i {
  color: var(--blue);
}
.servers-locations-section .map-image {
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
}
/* ----------------------------------- */

/* Announcements List, Knowledgebase */
.announcements-list {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
.announcements-text-area,
.kb-text-area {
  line-height: 1.6;
}
.announcements-text-area ul,
.kb-text-area ul {
  padding-inline-start: 20px;
  list-style-type: disc;
}
[dir="rtl"] .announcements-text-area ul,
[dir="rtl"] .kb-text-area ul {
  padding-inline-end: 20px;
  padding-inline-start: unset;
}
/* ----------------------------------- */

/* : Announcement Article Card : */
.announcement-article-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}

/* article-text */
.announcement-article-card .article-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.5;
  max-height: 3em;
}

/* article-footer */
.announcement-article-card .article-footer {
  border-top: 1px solid var(--border);
}
.announcement-article-card .article-info-div {
  background-color: var(--popover);
  padding: 6px 12px;
}
/* ----------------------------------- */

/* : Announcement Card : */
/* card-cover */
.announcement-card .card-cover {
  border-radius: var(--radius-md);
  overflow: hidden;
  height: 280px;
}
.announcement-card .card-cover .cover-image {
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* card-info */
.announcement-card .card-info .info-div {
  background-color: var(--card);
  border-radius: var(--radius-pill);
}

/* card-title */
.announcement-card .card-text .card-title a {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.5;
}
.announcement-card .card-text .card-title a:hover {
  text-decoration: underline !important;
}
/* ----------------------------------- */

/* : Modal Localisation : */

/* languages-list */
.theme-localisation-modal .languages-list .item {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  color: var(--foreground-text);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background-color: var(--surface-bg);
  font-weight: 500;
  transition: all 0.15s var(--transition-function-1);
}
.theme-localisation-modal .languages-list .item:hover:not(.active) {
  background-color: var(--surface-bg-2);
}
.theme-localisation-modal .languages-list .item.active {
  background-color: var(--surface-bg-2);
  color: var(--foreground);
  border-color: var(--border);
}
.theme-localisation-modal .languages-list .item img {
  width: 16px;
}
.theme-localisation-modal .languages-list .item i {
  color: var(--foreground);
  font-size: 0.75rem;
}
/* ----------------------------------- */

/* :: FOOTER :: */
.theme-footer {
  position: relative;
  background-color: transparent;
  z-index: 101;
}

/* footer-top */
.theme-footer .footer-top {
  padding: 60px 0 20px;
}

/* footer-list-group */
.theme-footer .footer-list-group {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

/* footer-list */
.theme-footer .footer-list {
  padding-bottom: 4vh;
}
.theme-footer .footer-list .list-title {
  position: relative;
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--foreground);
}
.theme-footer .footer-list .list-link:nth-child(2) {
  margin-top: 20px;
}
.theme-footer .footer-list .list-link:not(:last-of-type) {
  margin-bottom: 12px;
}
.theme-footer .footer-list .list-link > a {
  font-size: var(--text-sm);
  font-weight: 400;
  color: var(--foreground-text);
}
.theme-footer .footer-list .list-link > a:hover {
  text-decoration: underline !important;
  color: var(--foreground);
}
@media only screen and (max-width: 1199.98px) {
  .theme-footer .footer-list-group {
    justify-content: flex-start;
  }

  .theme-footer .footer-list {
    min-width: 25%;
  }
}
@media only screen and (max-width: 991.98px) {
  .theme-footer .footer-list {
    min-width: 33.33%;
  }
}
@media only screen and (max-width: 767.98px) {
  .theme-footer .footer-list-group {
    column-gap: 30px;
  }

  .theme-footer .footer-list.open-list .list-title::after {
    display: none;
  }
}

/* footer-bottom */
.theme-footer .footer-bottom {
  padding: 60px 0;
  border-top: 1px solid var(--border);
}

/* content */
@media only screen and (max-width: 991.98px) {
  .theme-footer .footer-bottom .content {
    flex-wrap: wrap;
  }
}

/* logo */
.theme-footer .footer-bottom .logo {
  margin-inline-end: 40px;
}
.theme-footer .footer-bottom .logo img {
  min-width: 120px;
  width: 120px;
}

/* links */
.theme-footer .footer-bottom .links {
  margin-bottom: 4px;
}
.theme-footer .footer-bottom .links li {
  position: relative;
}
.theme-footer .footer-bottom .links li:not(:last-of-type) {
  margin-inline-end: 20px;
}
.theme-footer .footer-bottom .links li:not(:last-of-type)::after {
  position: absolute;
  content: "";
  inset-inline-end: -11px;
  top: 3px;
  bottom: 3px;
  width: 1px;
  background-color: var(--white);
  opacity: 0.2;
}
.theme-footer .footer-bottom .links li a {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--foreground);
}
.theme-footer .footer-bottom .links li a:hover {
  text-decoration: underline !important;
}

/* para-3 */
.theme-footer .footer-bottom .para-3 {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--foreground-text);
}
.theme-footer .footer-bottom .para-3 a {
  color: var(--foreground);
  font-weight: 500;
  text-decoration: underline !important;
}
.theme-footer .footer-bottom .para-3 a:hover {
  color: var(--blue);
}

/* social-list */
.theme-footer .footer-bottom .social-list a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.theme-footer .footer-bottom .social-list a:hover {
  color: var(--foreground);
}
/* ----------------------------------- */

/* : Fond spatial global pour toutes les pages : */
body {
  position: relative;
  background: radial-gradient(ellipse at bottom, #0d1b2a 0%, #000000 100%);
  background-attachment: fixed;
  min-height: 100vh;
}

/* Nébuleuse bleue globale */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(13, 110, 253, 0.25) 0%, transparent 40%),
    radial-gradient(ellipse at 70% 60%, rgba(25, 135, 255, 0.2) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 80%, rgba(0, 149, 255, 0.25) 0%, transparent 45%),
    radial-gradient(ellipse at 20% 70%, rgba(72, 187, 255, 0.15) 0%, transparent 40%);
  animation: nebula 25s ease-in-out infinite alternate;
  filter: blur(60px);
  z-index: 0;
  pointer-events: none;
}

/* Étoiles globales */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    radial-gradient(1px 1px at 10% 20%, white, transparent),
    radial-gradient(1px 1px at 15% 45%, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(1px 1px at 22% 12%, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(1px 1px at 28% 68%, white, transparent),
    radial-gradient(1px 1px at 32% 35%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1px 1px at 38% 82%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(1px 1px at 42% 58%, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(1px 1px at 48% 15%, white, transparent),
    radial-gradient(1px 1px at 52% 92%, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(1px 1px at 58% 38%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1px 1px at 62% 65%, white, transparent),
    radial-gradient(1px 1px at 68% 28%, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(1px 1px at 72% 78%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(1px 1px at 78% 42%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1px 1px at 82% 8%, white, transparent),
    radial-gradient(1px 1px at 88% 88%, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(1px 1px at 92% 52%, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(1px 1px at 95% 25%, white, transparent),
    radial-gradient(1px 1px at 5% 75%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1px 1px at 18% 95%, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(2px 2px at 25% 30%, white, transparent),
    radial-gradient(1px 1px at 35% 5%, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(1px 1px at 45% 70%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(2px 2px at 55% 48%, white, transparent),
    radial-gradient(1px 1px at 65% 18%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1px 1px at 75% 85%, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(1px 1px at 85% 55%, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(2px 2px at 8% 60%, white, transparent),
    radial-gradient(1px 1px at 12% 32%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1px 1px at 98% 72%, rgba(255, 255, 255, 0.9), transparent);
  background-size: 200% 200%;
  animation: starsTwinkle 8s ease-in-out infinite;
  z-index: 0;
  pointer-events: none;
}

/* S'assurer que le contenu est au-dessus */
#header {
  position: relative;
  z-index: 100;
}

#main-body,
.theme-footer,
.theme-master-breadcrumb {
  position: relative;
  z-index: 1;
}

/* : Auth Page : */
.auth-page {
  position: relative;
  overflow: hidden;
}
.video-bg-wrapper {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background-image: url('../images/back-log.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bg-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.5);
}

.video-overlay-blur {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
}

/* Rayons de lumière désactivés */
.light-rays {
  display: none;
}

@keyframes lightRaysMove {
  0%, 100% {
    transform: translateX(0) translateY(0) scale(1);
    opacity: 0.6;
  }
  25% {
    transform: translateX(-30px) translateY(20px) scale(1.05);
    opacity: 0.8;
  }
  50% {
    transform: translateX(-15px) translateY(40px) scale(1);
    opacity: 0.5;
  }
  75% {
    transform: translateX(-40px) translateY(15px) scale(1.03);
    opacity: 0.7;
  }
}

/* Nébuleuses désactivées */
.video-overlay-blur::before,
.video-overlay-blur::after {
  display: none;
}

@keyframes nebula {
  0% {
    transform: translate(0, 0) scale(1) rotate(0deg);
    opacity: 0.8;
  }
  50% {
    transform: translate(-30px, 30px) scale(1.1) rotate(5deg);
    opacity: 1;
  }
  100% {
    transform: translate(20px, -20px) scale(0.95) rotate(-5deg);
    opacity: 0.8;
  }
}

@keyframes nebula2 {
  0% {
    transform: translate(0, 0) scale(1) rotate(0deg);
    opacity: 0.7;
  }
  50% {
    transform: translate(25px, -35px) scale(1.15) rotate(-8deg);
    opacity: 1;
  }
  100% {
    transform: translate(-15px, 25px) scale(0.9) rotate(8deg);
    opacity: 0.7;
  }
}

@keyframes starsTwinkle {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/* Planètes et astéroïdes désactivés */
.distant-planet-1,
.distant-planet-2,
.asteroid-ring {
  display: none;
}

/* SATURNE - Planète géante avec anneaux majestueux (désactivé) */
.distant-planet-1-old {
  position: absolute;
  width: 180px;
  height: 180px;
  top: 5%;
  right: 8%;
  background:
    radial-gradient(circle at 32% 28%, rgba(255, 245, 220, 0.5) 0%, transparent 10%),
    radial-gradient(ellipse at 45% 38%, rgba(245, 230, 200, 0.4) 0%, transparent 14%),
    radial-gradient(circle at 58% 52%, rgba(240, 225, 195, 0.35) 0%, transparent 12%),
    radial-gradient(ellipse at 35% 60%, rgba(235, 220, 190, 0.3) 0%, transparent 11%),
    radial-gradient(circle at 68% 35%, rgba(250, 235, 205, 0.38) 0%, transparent 13%),
    radial-gradient(circle at 40% 40%, #f0d9a8 0%, #e0c895 25%, #d0b580 50%, #c0a370 75%, #a88c55 100%);
  border-radius: 50%;
  box-shadow:
    inset -35px -35px 70px rgba(0, 0, 0, 0.6),
    inset 20px 20px 45px rgba(255, 245, 220, 0.15),
    inset -8px -8px 25px rgba(160, 130, 90, 0.4),
    0 0 100px rgba(240, 210, 170, 0.5),
    0 0 150px rgba(220, 190, 150, 0.35),
    0 0 200px rgba(200, 170, 130, 0.2);
  animation: saturnFloat 60s ease-in-out infinite;
  z-index: 3;
  opacity: 0.9;
  filter: blur(0.5px);
}

/* Anneaux de Saturne - Multiples bandes */
.distant-planet-1::before {
  content: '';
  position: absolute;
  width: 320px;
  height: 95px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotateX(72deg) rotateZ(-8deg);
  background:
    radial-gradient(ellipse at center, transparent 25%, rgba(210, 185, 155, 0.75) 27%, rgba(200, 175, 145, 0.65) 30%, transparent 32%),
    radial-gradient(ellipse at center, transparent 33%, rgba(225, 200, 170, 0.85) 35%, rgba(215, 190, 160, 0.75) 38%, transparent 40%),
    radial-gradient(ellipse at center, transparent 41%, rgba(190, 165, 135, 0.6) 43%, rgba(180, 155, 125, 0.5) 45%, transparent 47%),
    radial-gradient(ellipse at center, transparent 48%, rgba(235, 210, 180, 0.9) 50%, rgba(225, 200, 170, 0.8) 55%, transparent 58%),
    radial-gradient(ellipse at center, transparent 59%, rgba(200, 175, 145, 0.7) 61%, rgba(190, 165, 135, 0.6) 64%, transparent 66%);
  border-radius: 50%;
  box-shadow:
    0 8px 40px rgba(0, 0, 0, 0.5),
    inset 0 -3px 15px rgba(0, 0, 0, 0.3);
  opacity: 0.95;
}

/* Division de Cassini - espace sombre entre les anneaux */
.distant-planet-1::after {
  content: '';
  position: absolute;
  width: 320px;
  height: 12px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotateX(72deg) rotateZ(-8deg);
  background: radial-gradient(ellipse at center, transparent 40%, rgba(0, 0, 0, 0.85) 42%, rgba(0, 0, 0, 0.85) 48%, transparent 50%);
  border-radius: 50%;
  z-index: 1;
}

@keyframes saturnFloat {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(-12px, 18px) rotate(1deg);
  }
  50% {
    transform: translate(-20px, 8px) rotate(-1deg);
  }
  75% {
    transform: translate(-8px, 22px) rotate(0.5deg);
  }
}

/* MARS - Planète rouge avec détails réalistes */
.distant-planet-2 {
  position: absolute;
  width: 130px;
  height: 130px;
  bottom: 12%;
  left: 10%;
  background:
    radial-gradient(circle at 25% 22%, rgba(255, 240, 230, 0.6) 0%, transparent 8%),
    radial-gradient(circle at 72% 18%, rgba(255, 250, 245, 0.55) 0%, transparent 7%),
    radial-gradient(ellipse at 32% 45%, rgba(200, 90, 55, 0.45) 0%, transparent 13%),
    radial-gradient(circle at 58% 62%, rgba(220, 105, 65, 0.4) 0%, transparent 15%),
    radial-gradient(ellipse at 45% 35%, rgba(210, 95, 60, 0.42) 0%, transparent 11%),
    radial-gradient(circle at 68% 48%, rgba(190, 85, 50, 0.38) 0%, transparent 10%),
    radial-gradient(ellipse at 22% 68%, rgba(205, 100, 62, 0.35) 0%, transparent 12%),
    radial-gradient(circle at 82% 72%, rgba(195, 88, 52, 0.4) 0%, transparent 9%),
    radial-gradient(circle at 40% 40%, #d86845 0%, #c85535 30%, #b84525 60%, #983018 100%);
  border-radius: 50%;
  box-shadow:
    inset -25px -25px 50px rgba(0, 0, 0, 0.75),
    inset 15px 15px 35px rgba(255, 150, 110, 0.12),
    inset -5px -5px 20px rgba(120, 40, 20, 0.5),
    0 0 80px rgba(216, 104, 69, 0.6),
    0 0 120px rgba(200, 85, 53, 0.4),
    0 0 160px rgba(180, 70, 40, 0.25);
  animation: marsFloat 50s ease-in-out infinite;
  z-index: 3;
  opacity: 0.85;
  filter: blur(0.4px);
}

/* Calotte polaire nord de Mars */
.distant-planet-2::before {
  content: '';
  position: absolute;
  width: 28px;
  height: 28px;
  top: 8%;
  left: 50%;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 38% 38%, rgba(255, 255, 255, 0.85) 0%, rgba(245, 250, 255, 0.65) 45%, transparent 100%);
  border-radius: 50%;
  opacity: 0.9;
  filter: blur(1px);
  box-shadow:
    inset -2px -2px 8px rgba(200, 220, 240, 0.6),
    0 0 12px rgba(255, 255, 255, 0.5);
}

/* Calotte polaire sud de Mars */
.distant-planet-2::after {
  content: '';
  position: absolute;
  width: 22px;
  height: 22px;
  bottom: 10%;
  right: 38%;
  background:
    radial-gradient(circle at 42% 42%, rgba(255, 255, 255, 0.75) 0%, rgba(240, 245, 250, 0.55) 50%, transparent 100%);
  border-radius: 50%;
  opacity: 0.85;
  filter: blur(0.8px);
  box-shadow:
    inset -1.5px -1.5px 6px rgba(210, 225, 235, 0.5),
    0 0 10px rgba(255, 255, 255, 0.4);
}

@keyframes marsFloat {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  33% {
    transform: translate(15px, -12px) rotate(-2deg);
  }
  66% {
    transform: translate(8px, -18px) rotate(1deg);
  }
}

/* Anneau d'astéroïdes amélioré avec plus de densité */
.asteroid-ring {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image:
    radial-gradient(2px 2px at 15% 25%, rgba(180, 190, 200, 0.25), transparent),
    radial-gradient(1.5px 1.5px at 18% 28%, rgba(160, 175, 190, 0.22), transparent),
    radial-gradient(2.5px 2.5px at 22% 23%, rgba(200, 210, 220, 0.28), transparent),
    radial-gradient(1px 1px at 26% 30%, rgba(140, 155, 170, 0.18), transparent),
    radial-gradient(1.5px 1.5px at 85% 70%, rgba(175, 185, 200, 0.24), transparent),
    radial-gradient(2px 2px at 88% 65%, rgba(190, 200, 215, 0.26), transparent),
    radial-gradient(1px 1px at 82% 73%, rgba(155, 170, 185, 0.2), transparent),
    radial-gradient(1.5px 1.5px at 90% 68%, rgba(165, 180, 195, 0.22), transparent),
    radial-gradient(2.5px 2.5px at 12% 85%, rgba(205, 215, 225, 0.27), transparent),
    radial-gradient(1px 1px at 8% 88%, rgba(150, 165, 180, 0.21), transparent),
    radial-gradient(2px 2px at 15% 82%, rgba(185, 195, 210, 0.25), transparent),
    radial-gradient(1.5px 1.5px at 10% 80%, rgba(170, 185, 195, 0.23), transparent),
    radial-gradient(1px 1px at 50% 50%, rgba(160, 172, 188, 0.19), transparent),
    radial-gradient(2px 2px at 45% 55%, rgba(195, 205, 218, 0.24), transparent),
    radial-gradient(1.5px 1.5px at 55% 45%, rgba(175, 188, 200, 0.21), transparent);
  background-size: 100% 100%;
  animation: asteroidDrift 120s linear infinite;
  z-index: 4;
  opacity: 0.45;
  pointer-events: none;
}

@keyframes asteroidDrift {
  0% {
    transform: translateX(0) translateY(0);
  }
  100% {
    transform: translateX(-50px) translateY(30px);
  }
}

/* Poussière cosmique désactivée */
.cosmic-dust {
  display: none;
}

/* Poussière cosmique - BLEU FONCÉ AVEC PLUS DE DÉTAILS (désactivé) */
.cosmic-dust-old {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1px 1px at 12% 15%, rgba(180, 200, 220, 0.2), transparent),
    radial-gradient(1px 1px at 25% 35%, rgba(40, 80, 130, 0.25), transparent),
    radial-gradient(1px 1px at 38% 55%, rgba(200, 210, 230, 0.18), transparent),
    radial-gradient(1px 1px at 52% 25%, rgba(50, 90, 140, 0.2), transparent),
    radial-gradient(1px 1px at 68% 75%, rgba(190, 205, 225, 0.15), transparent),
    radial-gradient(1px 1px at 82% 45%, rgba(45, 85, 135, 0.22), transparent),
    radial-gradient(1px 1px at 15% 68%, rgba(185, 200, 220, 0.2), transparent),
    radial-gradient(1px 1px at 45% 82%, rgba(55, 95, 145, 0.25), transparent),
    radial-gradient(1px 1px at 75% 18%, rgba(195, 208, 228, 0.17), transparent),
    radial-gradient(1px 1px at 88% 62%, rgba(42, 82, 132, 0.21), transparent),
    radial-gradient(2px 2px at 20% 48%, rgba(175, 195, 218, 0.12), transparent),
    radial-gradient(2px 2px at 60% 65%, rgba(48, 88, 138, 0.18), transparent),
    radial-gradient(1px 1px at 35% 12%, rgba(205, 215, 232, 0.22), transparent),
    radial-gradient(1px 1px at 72% 88%, rgba(38, 78, 128, 0.2), transparent),
    radial-gradient(1px 1px at 8% 38%, rgba(188, 203, 223, 0.19), transparent),
    radial-gradient(1px 1px at 92% 28%, rgba(52, 92, 142, 0.16), transparent),
    radial-gradient(1px 1px at 5% 85%, rgba(178, 198, 220, 0.14), transparent),
    radial-gradient(2px 2px at 48% 5%, rgba(60, 100, 150, 0.2), transparent),
    radial-gradient(1px 1px at 65% 92%, rgba(198, 210, 228, 0.16), transparent),
    radial-gradient(1px 1px at 30% 60%, rgba(35, 75, 125, 0.18), transparent);
  background-size: 100% 100%;
  animation: dustFloat 40s ease-in-out infinite;
  z-index: 2;
  pointer-events: none;
}

/* Étoiles désactivées */
.extra-stars {
  display: none;
}

/* Étoiles améliorées - plus denses et variées (désactivé) */
.extra-stars-old {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1.5px 1.5px at 18% 22%, rgba(255, 255, 255, 1), transparent),
    radial-gradient(1px 1px at 32% 8%, rgba(200, 220, 255, 0.9), transparent),
    radial-gradient(2px 2px at 48% 42%, rgba(255, 255, 255, 0.95), transparent),
    radial-gradient(1px 1px at 62% 68%, rgba(180, 200, 255, 0.85), transparent),
    radial-gradient(1.5px 1.5px at 78% 35%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(1px 1px at 92% 58%, rgba(220, 235, 255, 0.88), transparent),
    radial-gradient(2.5px 2.5px at 8% 72%, rgba(255, 255, 255, 1), transparent),
    radial-gradient(1px 1px at 28% 88%, rgba(190, 210, 255, 0.82), transparent),
    radial-gradient(1px 1px at 42% 15%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(1.5px 1.5px at 55% 78%, rgba(240, 245, 255, 0.92), transparent),
    radial-gradient(2px 2px at 70% 92%, rgba(255, 255, 255, 0.95), transparent),
    radial-gradient(1px 1px at 85% 12%, rgba(210, 225, 255, 0.88), transparent),
    radial-gradient(1px 1px at 5% 45%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(1px 1px at 95% 82%, rgba(195, 215, 255, 0.85), transparent),
    radial-gradient(1.5px 1.5px at 22% 58%, rgba(255, 255, 255, 0.93), transparent),
    radial-gradient(2px 2px at 38% 72%, rgba(230, 240, 255, 0.9), transparent),
    radial-gradient(1px 1px at 58% 28%, rgba(255, 255, 255, 0.87), transparent),
    radial-gradient(1px 1px at 72% 48%, rgba(185, 205, 255, 0.9), transparent),
    radial-gradient(1.5px 1.5px at 88% 75%, rgba(255, 255, 255, 0.95), transparent),
    radial-gradient(1px 1px at 12% 92%, rgba(205, 220, 255, 0.83), transparent),
    radial-gradient(1px 1px at 25% 5%, rgba(255, 255, 255, 0.88), transparent),
    radial-gradient(1px 1px at 45% 95%, rgba(215, 230, 255, 0.85), transparent),
    radial-gradient(2px 2px at 65% 15%, rgba(255, 255, 255, 0.92), transparent),
    radial-gradient(1px 1px at 82% 88%, rgba(190, 210, 255, 0.87), transparent),
    radial-gradient(1px 1px at 15% 38%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(1.5px 1.5px at 35% 62%, rgba(235, 242, 255, 0.89), transparent),
    radial-gradient(1px 1px at 52% 52%, rgba(255, 255, 255, 0.86), transparent),
    radial-gradient(1px 1px at 75% 25%, rgba(200, 218, 255, 0.88), transparent),
    radial-gradient(1px 1px at 90% 45%, rgba(255, 255, 255, 0.91), transparent),
    radial-gradient(2px 2px at 10% 65%, rgba(225, 238, 255, 0.93), transparent),
    radial-gradient(1px 1px at 50% 10%, rgba(255, 255, 255, 0.87), transparent),
    radial-gradient(1px 1px at 68% 85%, rgba(195, 215, 255, 0.84), transparent),
    radial-gradient(1.5px 1.5px at 30% 30%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(1px 1px at 85% 60%, rgba(210, 228, 255, 0.86), transparent),
    radial-gradient(1px 1px at 20% 75%, rgba(255, 255, 255, 0.89), transparent);
  background-size: 300% 300%;
  animation: extraStarsTwinkle 15s ease-in-out infinite;
  z-index: 2;
  pointer-events: none;
}

@keyframes dustFloat {
  0%, 100% {
    opacity: 0.6;
    transform: translateY(0px);
  }
  50% {
    opacity: 1;
    transform: translateY(-10px);
  }
}

@keyframes extraStarsTwinkle {
  0%, 100% {
    opacity: 0.8;
    background-position: 0% 0%;
  }
  25% {
    opacity: 1;
    background-position: 10% 10%;
  }
  50% {
    opacity: 0.6;
    background-position: 5% -5%;
  }
  75% {
    opacity: 1;
    background-position: -5% 8%;
  }
}

.auth-page .container-fluid {
  position: relative;
  z-index: 5;
}
.auth-page .page-content {
  min-height: 100vh;
  min-height: 100dvh;
}

/* Card wrapper pour le login */
.login-card-wrapper {
  max-width: 480px;
  width: 100%;
  margin-bottom: 2rem;
}

.login-card {
  background: rgba(15, 20, 35, 0.85);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(70, 100, 140, 0.2);
  border-radius: 24px;
  padding: 3rem 2.5rem;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.4),
    0 0 60px rgba(30, 70, 130, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.login-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(70, 100, 140, 0.4) 20%,
    rgba(50, 90, 140, 0.6) 50%,
    rgba(70, 100, 140, 0.4) 80%,
    transparent 100%);
  animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
  0%, 100% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
}

.login-card:hover {
  border-color: rgba(70, 100, 140, 0.35);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.5),
    0 0 80px rgba(30, 70, 130, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transform: translateY(-2px);
}

.nt-auth-form {
  padding: 0;
  max-width: 100%;
  width: 100%;
}

@media (max-width: 576px) {
  .login-card {
    padding: 2rem 1.5rem;
    border-radius: 16px;
  }
}
.nt-auth-form .form-header {
  text-align: center;
}

/* Logo avec effet glow réduit */
.nt-auth-form .logo-container {
  position: relative;
}

.nt-auth-form .logo {
  height: 50px;
  filter: drop-shadow(0 0 5px rgba(77, 158, 246, 0.15))
          drop-shadow(0 0 10px rgba(77, 158, 246, 0.1));
  transition: all 0.3s ease;
}

.nt-auth-form .logo:hover {
  filter: drop-shadow(0 0 8px rgba(77, 158, 246, 0.25))
          drop-shadow(0 0 15px rgba(77, 158, 246, 0.15));
  transform: scale(1.02);
}

/* : Logo du Navbar avec effet glow : */
.navbar-logo-container {
  position: relative;
  animation: logoGlow 3s ease-in-out infinite;
}

.navbar-logo {
  height: 40px !important;
  width: auto !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: contain;
  filter: drop-shadow(0 0 2px rgba(77, 158, 246, 0.04))
          drop-shadow(0 0 4px rgba(77, 158, 246, 0.02));
  transition: all 0.3s ease;
}

.navbar-logo:hover {
  filter: drop-shadow(0 0 3px rgba(77, 158, 246, 0.06))
          drop-shadow(0 0 6px rgba(77, 158, 246, 0.04));
  transform: scale(1.05);
}

/* : Logo du Footer : */
.footer-logo {
  height: 50px;
  width: auto;
  object-fit: contain;
}

/* : Sélecteur de langue page login : */
.language-selector-wrapper {
  position: relative;
  z-index: 10;
  margin-top: 2rem;
}

.language-selector-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1.5rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(77, 158, 246, 0.2);
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}

.language-selector-btn:hover {
  background: rgba(77, 158, 246, 0.1);
  border-color: rgba(77, 158, 246, 0.4);
  color: rgba(255, 255, 255, 0.95);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(77, 158, 246, 0.2);
}

.auth-page .float-links {
  position: absolute;
  bottom: 2rem;
  background-color: var(--background);
}
.auth-page .float-links > div {
  row-gap: 20px;
}
/* ----------------------------------- */

/* : Popover : */
.popover {
  background-color: var(--popover);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background-clip: border-box;
  font-family: var(--font-family-base);
  padding: 0.5rem;
  direction: ltr;
}
.bs-popover-bottom > .arrow::after,
.bs-popover-auto[x-placement^="bottom"] > .arrow::after {
  display: none;
}
.bs-popover-bottom > .arrow::before,
.bs-popover-auto[x-placement^="bottom"] > .arrow::before {
  border-bottom-color: var(--popover);
}
.popover .popover-header {
  background-color: unset;
  border-bottom: 1px solid var(--border);
  font-size: var(--text-base);
  font-weight: 500;
  padding-inline-start: 0.5rem;
}
[dir="rtl"] .popover .popover-inner {
  direction: rtl;
}
/* ----------------------------------- */

/* : User Notifications : */
.popover-user-notifications ul {
  padding-top: 0.5rem;
}
.popover-user-notifications ul li {
  all: unset;
}
.popover-user-notifications ul li:not(:last-child) {
  margin-bottom: 0.5rem;
}
.popover-user-notifications .notification-item {
  background-color: var(--popover);
  border-radius: var(--radius-md);
  gap: 8px;
  color: var(--muted-foreground) !important;
  transition: all 0.15s var(--transition-function-1);
}
.popover-user-notifications .notification-item:hover {
  background-color: var(--accent);
}
.popover-user-notifications .notification-item .icon i {
  padding-top: 0;
  font-size: 18px;
}
.popover-user-notifications .notification-item .message {
  all: unset;
}
.popover-user-notifications ul li.none {
  color: var(--muted-foreground);
}
/* ----------------------------------- */

/* : Contact Page : */
.contact-page .page-sections {
  display: flex;
  min-height: 100vh;
  max-height: 100dvh;
  overflow: hidden;
  width: 100%;
}
.contact-page .left-section,
.contact-page .right-section {
  padding: 60px;
  flex: 1;
}
.contact-page .left-section {
  background: url('https://placehold.co/1200x800') center top/cover no-repeat;
}
.contact-page .right-section {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.contact-page .right-section form {
  position: relative;
  max-width: 500px;
  margin: 0 auto;
}
.contact-page .float-links {
  position: absolute;
  bottom: 2rem;
}
.contact-page .float-links > div {
  row-gap: 20px;
}
/* Responsive Design */
@media (max-width: 1199px) {
  .contact-page .page-sections {
    flex-direction: column;
    min-height: unset;
    max-height: auto;
    overflow: auto;
  }
  .contact-page .left-section,
  .contact-page .right-section {
    flex: none;
    width: 100%;
  }
  .contact-page .right-section form {
    max-width: 100%;
  }
  .contact-page .float-links {
    position: relative;
    bottom: unset;
    margin-top: 2rem;
  }
}
@media (max-width: 767px) {
  .contact-page .left-section,
  .contact-page .right-section {
    padding: 60px 30px;
  }
  .contact-page .right-section form {
    max-width: 100%;
  }
}
/* ----------------------------------- */

/* : Tiles : */
.tile-link {
  position: absolute;
  opacity: 0;
  transition: all 0.15s var(--transition-function-1);
}
.relative-hover:hover .tile-link {
  opacity: 1;
}
/* ----------------------------------- */

/* : Addons Section : */
.addons-section> h3 {
  font-size: var(--text-2xl);
  font-weight: 600;
}
/* ----------------------------------- */

/* : Custom Product Status : */
.custom-product-status {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  flex: 0 0 100%;
  border-radius: var(--theme-radius);
  background-color: var(--surface-bg);
  border: 1px solid var(--border);
}

.custom-product-status .main-info-se {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 1.5rem;
  border-right: 1px solid var(--border);
  width: 20%;
}
.custom-product-status .main-info-se .product-title {
  font-size: var(--text-lg);
  font-weight: 600;
  color: var(--foreground);
  margin-bottom: 0.25rem;
}
.custom-product-status .main-info-se .product-subtitle {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--muted-foreground);
  margin-bottom: 1rem;
}
@media only screen and (max-width: 1599.98px) {
  .custom-product-status .main-info-se {
    flex: 0 0 100%;
    width: unset;
    border-right: 0;
  }
}
@media only screen and (max-width: 991.98px) {
  .custom-product-status .main-info-se {
    flex: 0 0 100%;
    border-right: 0;
  }
}

.custom-product-status .details-se {
  display: flex;
  width: 20%;
}
.custom-product-status .details-se:not(.last-details-se) {
  border-right: 1px solid var(--border);
}
.custom-product-status .text-bar {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  height: 100%;
  width: 100%;
}
.custom-product-status .text-bar .text {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  height: 50%;
  padding: 15px 15px 15px 15px;
  min-width: 212px;
  row-gap: 4px;
}
.custom-product-status .text-bar .text:not(:last-of-type) {
  border-bottom: 1px solid var(--border);
}
.custom-product-status .text-bar .text p {
  font-size: var(--text-sm);
  font-weight: 500;
}
@media only screen and (max-width: 1599.98px) {
  .custom-product-status .details-se {
    flex: 0 0 50%;
    border-top: 1px solid var(--border);
  }
  .custom-product-status .details-se:not(.last-details-se) {
    border-right: 0;
  }
  .custom-product-status .details-se:nth-child(2),
  .custom-product-status .details-se:nth-child(4) {
    border-right: 1px solid var(--border);
  }
}
@media only screen and (max-width: 991.98px) {
  .custom-product-status .details-se {
    flex: 0 0 100%;
  }
  .custom-product-status .details-se:nth-child(2),
  .custom-product-status .details-se:nth-child(4) {
    border-right: 0;
  }
}

.custom-product-status .product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--border);
  width: 100%;
}
/* ----------------------------------- */

/* : Datatables : */
.dataTables_wrapper table.table-list {
  margin: 10px 0 !important;
  width: 100% !important;
  border-radius: 4px;
  border: 1px solid #ddd;
}
.dataTables_wrapper table.table-list thead th {
  border-bottom: 4px solid rgba(29, 57, 101, 0.2);
  font-weight: normal;
}
.dataTables_wrapper table.table-list thead th:first-child {
  border-radius: 4px 0 0 0;
}
.dataTables_wrapper table.table-list thead th:visible:last-child {
  border-radius: 4px 0 0 0;
}
.dataTables_wrapper table.table-list tr:last-child td:first-child {
  border-radius: 0 0 0 4px;
}
.dataTables_wrapper table.table-list tr:last-child td:visible:last-child {
  border-radius: 0 0 4px 0;
}
.dataTables_wrapper table.table-list thead th.sorting_asc,
.dataTables_wrapper table.table-list thead th.sorting_desc {
  background-color: #f6f6f6;
}
.dataTables_wrapper .dataTables_filter {
  float: inline-end;
}
.dataTables_wrapper .dataTables_filter label .form-control {
  background: url("../../../assets/img/search.png") no-repeat 8px 5px;
}
@media (max-width: 600px) {
  .dataTables_wrapper .dataTables_filter {
    float: inline-end;
    margin-top: 30px;
    width: 100%;
  }
  .dataTables_wrapper .dataTables_filter label {
    display: block;
    margin: 5px;
    padding: 0;
  }
  .dataTables_wrapper .dataTables_filter label .form-control {
    margin: 0;
    width: 100%;
  }
}
/* ----------------------------------- */

/* : Tables : */
.table-responsive {
  overflow-x: auto;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}

/* table */
.table {
  width: 100%;
  border-collapse: collapse;
  background-color: var(--surface-bg);
}

/* thead */
.table .thead {
  background-color: var(--header-bg);
}
.table .table-head {
  padding: 0.75rem 1rem;
  font-weight: 500;
  color: var(--foreground);
}

/* table-row */
.tbody .table-row {
  transition: all 0.15s var(--transition-function-1);
}
.tbody .table-row:hover {
  background-color: color-mix(in srgb, var(--accent) 20%, transparent) !important;
}
.tbody .table-row:not(:last-child) {
  border-bottom: 1px solid var(--border);
}

/* table-striped */
.table.table-striped .tbody .table-row:nth-of-type(odd) {
  background-color: color-mix(in srgb, var(--accent) 10%, transparent);
}

/* table-cell */
.table-cell {
  padding: 0.5rem 1rem;
  vertical-align: middle;
  height: 48px;
  white-space: nowrap;
}
.table-sm.table-cell {
  height: 40px;
}
.thead .order-head + .table-head:nth-child(2),
.tbody .table-row .order-cell + .table-cell:nth-child(2) {
  padding-inline-start: 0;
}

/* extra-padding-table-cells */
.extra-padding-table-cells .table-cell {
  padding: 0.75rem 1rem;
}

/* order */
.order-head,
.order-cell {
  min-width: 40px;
  width: 40px;
  text-align: center;
}
.order-head svg,
.order-cell svg {
  width: 14px;
  color: var(--muted-foreground);
}

/* dataTables_empty */
.dataTables_empty {
  padding: 0.75rem 1rem;
}
/* ----------------------------------- */

/* : Pagination : */
.pagination {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 0.2rem;
  flex-wrap: wrap;
}

/* pagination-link */
.pagination-link {
  padding: 0.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--square-btn-dimension-xs);
  height: var(--square-btn-dimension-xs);
  border-radius: var(--radius-sm);
  background-color: transparent;
  border: 1px solid transparent;
  font-size: var(--text-sm);
  color: var(--muted-foreground);
  font-weight: 500;
  transition: all 0.15s var(--transition-function-1);
}
.pagination-item:not(.disabled):not(.active) .pagination-link:hover {
  background-color: color-mix(in srgb, var(--accent) 50%, transparent);
  color: var(--foreground);
}
.pagination-item.disabled .pagination-link {
  cursor: default;
  opacity: 0.7;
}
.pagination-item.active .pagination-link {
  background-color: color-mix(in srgb, var(--input) 70%, transparent);
  border-color: var(--border);
  color: var(--foreground);
  cursor: default;
}

/* prev & next */
.pagination .previous .pagination-link,
.pagination .next .pagination-link {
  padding-inline: 1rem;
  gap: 0.20rem;
}

/* svg */
.pagination .pagination-link svg {
  width: 16px;
}
@media (max-width: 600px) {
  .pagination {
    display: flex;
    padding-inline-start: 0;
    list-style: none;
    border-radius: 0.25rem;
  }
  .page-link {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-inline-start: -1px;
    line-height: 1.25;
    color: #336699;
    background-color: #fff;
    border: 1px solid var(--border);
  }
  .page-link:hover {
    z-index: 2;
    color: #204060;
    text-decoration: none;
    background-color: #e9ecef;
    border-color: #dee2e6;
  }
  .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(51, 102, 153, 0.25);
  }

  .page-item:first-child .page-link {
    margin-inline-start: 0;
    border-start-start-radius: 0.25rem;
    border-end-start-radius: 0.25rem;
  }
  .page-item:last-child .page-link {
    border-start-end-radius: 0.25rem;
    border-end-end-radius: 0.25rem;
  }
  .page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: #336699;
    border-color: #336699;
  }
  .page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    cursor: auto;
    background-color: #fff;
    border-color: #dee2e6;
  }

  .pagination-lg .page-link {
    padding: 0.75rem 1.5rem;
    font-size: 1.25rem;
    line-height: 1.5;
  }
  .pagination-lg .page-item:first-child .page-link {
    border-start-start-radius: 0.3rem;
    border-end-start-radius: 0.3rem;
  }
  .pagination-lg .page-item:last-child .page-link {
    border-start-end-radius: 0.3rem;
    border-end-end-radius: 0.3rem;
  }

  .pagination-sm .page-link {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .pagination-sm .page-item:first-child .page-link {
    border-start-start-radius: 0.2rem;
    border-end-start-radius: 0.2rem;
  }
  .pagination-sm .page-item:last-child .page-link {
    border-start-end-radius: 0.2rem;
    border-end-end-radius: 0.2rem;
  }
}
/* ----------------------------------- */

/* : Card : */
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: var(--surface-bg);
  background-clip: border-box;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  transition: all 0.15s var(--transition-function-1);
  overflow: hidden;
}
.card-header {
  padding: 0.75rem;
  margin-bottom: 0;
  background-color: var(--header-bg);
  border-bottom: 1px solid var(--border);
}
.card-title {
  font-size: var(--text-lg);
  font-weight: 600;
  margin-bottom: 1rem
}
.card-body {
  padding: 1rem;
}
.card.extra-padding .card-body {
  padding: 1.5rem;
}
.card-footer {
  padding: 1rem;
  border-top: 1px solid var(--border);
}
.card.extra-padding .card-footer {
  padding: unset;
  padding-top: 1.5rem;
  padding-bottom: 0;
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

/* ----------------------------------- */

/* : Tickets : */
.posted-by {
  background-color: color-mix(in srgb, var(--accent), transparent 80%);
  padding: 0.5rem 1rem;
}
.ticket-reply {
  background-color: color-mix(in srgb, var(--accent), transparent 80%);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.ticket-message {
  line-height: 1.6;
}
.ticket-message p:not(:last-child) {
  margin-bottom: 1rem;
}
.attachment-list {
  list-style: none;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  gap: 1rem;
}
.attachment-list .attachment-item {
  background-color: color-mix(in srgb, var(--accent), transparent 80%);
  border-radius: var(--radius-md);
  padding: 1rem;
  transition: all 0.15s var(--transition-function-1);
}
.attachment-list .attachment-item:hover {
  background-color: color-mix(in srgb, var(--accent), transparent 60%);
}
.attachment-list .attachment-item figure {
  margin-bottom: 0.5rem
}
.recent-ticket {
  overflow: hidden;
  width: 100%;
}
.recent-ticket > small {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.25rem;
}
/* ----------------------------------- */

/* : Container sub headging : */
.container-sub-heading {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.container-sub-heading svg {
  width: 18px;
  margin-top: 4px;
  margin-inline-start: -1px;
}
.container-sub-heading span {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--foreground);
}
.container-sub-heading.has-line::before {
  position: absolute;
  content: '';
  inset-inline-start: 1px;
  top: 35px;
  width: 2px;
  bottom: 6px;
  border-left: 2px dashed var(--border);
  opacity: 0.8;
}
/* ----------------------------------- */

/* Domain Container */
.domain-container {
  border-bottom: 2px dashed var(--border);
  border-radius: 12px;
}
.domain-container .content {
  padding: 1.5rem;
}
/* ----------------------------------- */

/* : Modals : */

.modal {
  position: fixed;
  top: 0;
  inset-inline-start: 0;
  z-index: 10500;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
  padding: 1rem 0;
}
.modal-dialog {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
}
.modal-content {
  position: relative;
  background-color: var(--background);
  width: 400px;
  max-width: 500px;
  padding: 1.5rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}
.modal.wide-modal .modal-content {
  width: 600px;
  max-width: 600px;
  overflow-y: auto;
}
@media (max-width: 1199.98px) {
  .modal-content,
  .modal.wide-modal .modal-content {
    width: calc(100% - 2rem);
    max-width: 100%;
  }
}
.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.modal-title {
  font-size: var(--text-lg);
  font-weight: 600;
}
.modal .close-btn {
  position: absolute;
  top: 0.5rem;
  inset-inline-end: 0.5rem;
}
@media (max-width: 1199.98px) {
  .modal-body {
    max-height: 400px;
    overflow-y: auto;
    overflow-x: hidden;
  }
}

.modal-footer {
  display: flex;
  justify-content: flex-end;
  column-gap: 0.5rem;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  inset-inline-start: 0;
  z-index: 10400;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.5;
}

/* ----------------------------------- */
/* BOUTON DISCORD LOGIN - AMÉLIORÉ */
/* ----------------------------------- */

/* Container des boutons sociaux */
.social-signin-btns {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px;
  width: 100%;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

/* Styles pour tous les boutons de connexion sociale */
.social-signin-btns .btn-social-login,
.social-signin-btns a[class*="btn"],
.social-signin-btns button[class*="btn"],
.social-signin-btns > a,
.social-signin-btns > button {
  width: 100% !important;
  max-width: 280px !important;
  padding: 10px 20px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  border: 2px solid transparent !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  margin: 0 auto !important;
}

/* Bouton Discord spécifique - Sélecteurs multiples pour compatibilité */
.social-signin-btns .btn-social-login[href*="discord"],
.social-signin-btns a[href*="discord"],
.social-signin-btns a[href*="Discord"],
.social-signin-btns button[data-provider="discord"],
.social-signin-btns .provider-discord,
.social-signin-btns > a,
.social-signin-btns > button {
  background: linear-gradient(135deg, #5865F2 0%, #4752C4 100%) !important;
  color: #ffffff !important;
  box-shadow:
    0 4px 14px rgba(88, 101, 242, 0.4),
    0 0 0 0 rgba(88, 101, 242, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  border: 2px solid rgba(255, 255, 255, 0.1) !important;
}

/* Effet de brillance sur le bouton Discord */
.social-signin-btns .btn-social-login[href*="discord"]::before,
.social-signin-btns a[href*="discord"]::before,
.social-signin-btns a[href*="Discord"]::before,
.social-signin-btns .provider-discord::before,
.social-signin-btns > a::before,
.social-signin-btns > button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
  z-index: 1;
}

/* Animation de brillance au survol */
.social-signin-btns .btn-social-login[href*="discord"]:hover::before,
.social-signin-btns a[href*="discord"]:hover::before,
.social-signin-btns a[href*="Discord"]:hover::before,
.social-signin-btns .provider-discord:hover::before,
.social-signin-btns > a:hover::before,
.social-signin-btns > button:hover::before {
  left: 100%;
}

/* État hover du bouton Discord */
.social-signin-btns .btn-social-login[href*="discord"]:hover,
.social-signin-btns a[href*="discord"]:hover,
.social-signin-btns a[href*="Discord"]:hover,
.social-signin-btns .provider-discord:hover,
.social-signin-btns > a:hover,
.social-signin-btns > button:hover {
  background: linear-gradient(135deg, #4752C4 0%, #3C45A5 100%) !important;
  box-shadow:
    0 8px 25px rgba(88, 101, 242, 0.6),
    0 0 0 6px rgba(88, 101, 242, 0.2),
    0 0 40px rgba(88, 101, 242, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-4px) scale(1.05) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  animation: discordHoverPulse 0.6s ease-in-out infinite alternate !important;
}

/* État actif/pressed du bouton Discord */
.social-signin-btns .btn-social-login[href*="discord"]:active,
.social-signin-btns a[href*="discord"]:active,
.social-signin-btns .provider-discord:active {
  transform: translateY(0px) !important;
  box-shadow:
    0 2px 8px rgba(88, 101, 242, 0.4),
    inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* Icône Discord dans le bouton */
.social-signin-btns .btn-social-login[href*="discord"] i,
.social-signin-btns a[href*="discord"] i,
.social-signin-btns a[href*="Discord"] i,
.social-signin-btns .provider-discord i,
.social-signin-btns > a i,
.social-signin-btns > button i,
.social-signin-btns .btn-social-login[href*="discord"] svg,
.social-signin-btns a[href*="discord"] svg,
.social-signin-btns a[href*="Discord"] svg,
.social-signin-btns .provider-discord svg,
.social-signin-btns > a svg,
.social-signin-btns > button svg {
  width: 20px !important;
  height: 20px !important;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
  transition: all 0.3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}

/* Animation de l'icône au survol */
.social-signin-btns .btn-social-login[href*="discord"]:hover i,
.social-signin-btns a[href*="discord"]:hover i,
.social-signin-btns a[href*="Discord"]:hover i,
.social-signin-btns .provider-discord:hover i,
.social-signin-btns > a:hover i,
.social-signin-btns > button:hover i,
.social-signin-btns .btn-social-login[href*="discord"]:hover svg,
.social-signin-btns a[href*="discord"]:hover svg,
.social-signin-btns a[href*="Discord"]:hover svg,
.social-signin-btns .provider-discord:hover svg,
.social-signin-btns > a:hover svg,
.social-signin-btns > button:hover svg {
  transform: rotate(15deg) scale(1.15) !important;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4)) drop-shadow(0 0 12px rgba(255, 255, 255, 0.5)) !important;
  animation: discordIconBounce 0.5s ease-in-out infinite alternate !important;
}

/* Texte du bouton Discord */
.social-signin-btns .btn-social-login[href*="discord"] span,
.social-signin-btns a[href*="discord"] span,
.social-signin-btns .provider-discord span {
  color: #ffffff !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Animation de pulse subtile */
@keyframes discordPulse {
  0%, 100% {
    box-shadow:
      0 4px 14px rgba(88, 101, 242, 0.4),
      0 0 0 0 rgba(88, 101, 242, 0.5),
      inset 0 1px 0 rgba(255, 255, 255, 0.15);
  }
  50% {
    box-shadow:
      0 4px 14px rgba(88, 101, 242, 0.5),
      0 0 0 4px rgba(88, 101, 242, 0.2),
      inset 0 1px 0 rgba(255, 255, 255, 0.15);
  }
}

/* Animation de pulse au survol */
@keyframes discordHoverPulse {
  0% {
    box-shadow:
      0 8px 25px rgba(88, 101, 242, 0.6),
      0 0 0 6px rgba(88, 101, 242, 0.2),
      0 0 40px rgba(88, 101, 242, 0.4),
      inset 0 1px 0 rgba(255, 255, 255, 0.25);
  }
  100% {
    box-shadow:
      0 10px 30px rgba(88, 101, 242, 0.7),
      0 0 0 8px rgba(88, 101, 242, 0.3),
      0 0 50px rgba(88, 101, 242, 0.5),
      inset 0 1px 0 rgba(255, 255, 255, 0.3);
  }
}

/* Animation de rebond de l'icône */
@keyframes discordIconBounce {
  0% {
    transform: rotate(12deg) scale(1.15) translateY(0px);
  }
  100% {
    transform: rotate(18deg) scale(1.2) translateY(-3px);
  }
}

.social-signin-btns .btn-social-login[href*="discord"],
.social-signin-btns a[href*="discord"],
.social-signin-btns a[href*="Discord"],
.social-signin-btns .provider-discord,
.social-signin-btns > a,
.social-signin-btns > button {
  animation: discordPulse 3s ease-in-out infinite !important;
}

.social-signin-btns .btn-social-login[href*="discord"]:hover,
.social-signin-btns a[href*="discord"]:hover,
.social-signin-btns a[href*="Discord"]:hover,
.social-signin-btns .provider-discord:hover,
.social-signin-btns > a:hover,
.social-signin-btns > button:hover {
  animation: discordHoverPulse 0.6s ease-in-out infinite alternate !important;
}

/* Responsive */
@media (max-width: 576px) {
  .social-signin-btns .btn-social-login,
  .social-signin-btns a[class*="btn"],
  .social-signin-btns button[class*="btn"],
  .social-signin-btns > a,
  .social-signin-btns > button {
    max-width: 240px !important;
    padding: 9px 18px !important;
    font-size: 13px !important;
  }
}

/* ----------------------------------- */

/* : Client Area Home - Enhanced Dashboard : */

/* Welcome Section */
.client-welcome {
  padding: var(--space-4) 0;
}

.client-welcome .welcome-text h1 {
  color: var(--foreground);
}

.client-welcome .quick-actions .btn {
  white-space: nowrap;
}

/* Statistics Cards */
.stat-card-link {
  text-decoration: none !important;
  color: inherit;
}

.stat-card-link:hover {
  text-decoration: none !important;
}

.stat-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  border-color: var(--border);
}

.stat-card.has-unpaid {
  border-color: var(--red);
}

.stat-card.has-unpaid:hover {
  border-color: var(--red-hover);
}

.stat-icon-wrapper {
  min-width: 48px;
  min-height: 48px;
}

.bg-primary-subtle {
  background-color: color-mix(in srgb, var(--indigo) 15%, transparent);
}

.bg-success-subtle {
  background-color: color-mix(in srgb, var(--green) 15%, transparent);
}

.bg-warning-subtle {
  background-color: color-mix(in srgb, var(--yellow) 15%, transparent);
}

.bg-info-subtle {
  background-color: color-mix(in srgb, var(--blue) 15%, transparent);
}

.bg-danger-subtle {
  background-color: color-mix(in srgb, var(--red) 15%, transparent);
}

.stat-arrow {
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transform: translate(-4px, 4px);
}

.stat-card:hover .stat-arrow {
  opacity: 1;
  transform: translate(0, 0);
}

.stat-bar .progress-thin {
  overflow: hidden;
}

.stat-bar .progress-bar-thin {
  transition: width 0.3s ease;
}

/* Dashboard Panels */
.client-home-panels .dashboard-panel {
  transition: box-shadow 0.2s ease;
}

.client-home-panels .dashboard-panel:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.panel-icon-wrapper {
  min-width: 36px;
  min-height: 36px;
}

.panel-children-list {
  max-height: 300px;
  overflow-y: auto;
}

.panel-children-list::-webkit-scrollbar {
  width: 4px;
}

.panel-children-list::-webkit-scrollbar-track {
  background: transparent;
}

.panel-children-list::-webkit-scrollbar-thumb {
  background-color: var(--muted);
  border-radius: var(--radius-pill);
}

.panel-child-item {
  color: var(--foreground-text);
  background-color: transparent;
  transition: background-color 0.15s ease;
}

.panel-child-item:hover {
  background-color: var(--accent);
  color: var(--foreground);
}

.panel-child-item:last-child {
  border-bottom: none !important;
}

.panel-child-item.active {
  background-color: var(--accent);
}

.panel-child-item .child-arrow {
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.panel-child-item:hover .child-arrow {
  opacity: 1;
  transform: translateX(0);
}

.panel-child-item .child-icon {
  min-width: 20px;
  text-align: center;
}

/* Update existing client-home-cards to work with new class */
.client-home-panels .card,
.client-home-panels .mc-promo-manage,
.client-home-panels .mc-promo-login {
  font-size: 0.9em;
}

.client-home-panels .card-footer {
  border-top: 0;
}

.client-home-panels .list-group {
  max-height: 170px;
  overflow: auto;
  border-radius: 0;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
}

.client-home-panels .list-group .list-group-item {
  padding: 4px 10px;
  border: 0;
  border-bottom: 1px solid var(--border);
  background-color: transparent;
}

.client-home-panels .list-group .list-group-item:last-child {
  border-bottom: 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .client-welcome .d-flex {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .client-welcome .quick-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .stat-card {
    padding: var(--space-3) !important;
  }

  .stat-icon-wrapper {
    min-width: 40px;
    min-height: 40px;
    padding: var(--space-2) !important;
  }

  .stat-icon-wrapper svg {
    width: 20px;
    height: 20px;
  }
}

/* ----------------------------------- */

/* : Services Page - Enhanced Design : */

/* Services Header */
.services-header {
  padding: var(--space-2) 0;
}

/* Services Filter */
.services-filter .input-group-text {
  border-color: var(--border);
}

.services-filter .form-control {
  border-color: var(--border);
}

.services-filter .form-control:focus {
  border-color: var(--indigo);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--indigo) 20%, transparent);
}

.services-filter .filter-btn {
  transition: all 0.2s ease;
}

.services-filter .filter-btn.active {
  background-color: var(--indigo);
  border-color: var(--indigo);
  color: #fff;
}

.services-filter .filter-btn:hover:not(.active) {
  background-color: var(--accent);
}

/* Service Cards */
.service-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  background-color: var(--card);
}

.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.service-icon-wrapper {
  min-width: 40px;
  min-height: 40px;
}

/* Status Badges */
.status-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.status-badge.status-active {
  background-color: color-mix(in srgb, var(--green) 20%, transparent);
  color: var(--green);
}

.status-badge.status-pending {
  background-color: color-mix(in srgb, var(--yellow) 20%, transparent);
  color: var(--yellow);
}

.status-badge.status-suspended {
  background-color: color-mix(in srgb, var(--red) 20%, transparent);
  color: var(--red);
}

.status-badge.status-terminated {
  background-color: color-mix(in srgb, var(--gray) 20%, transparent);
  color: var(--gray);
}

.status-badge.status-cancelled {
  background-color: color-mix(in srgb, var(--gray) 20%, transparent);
  color: var(--gray);
}

/* Service Domain */
.service-domain a {
  transition: color 0.15s ease;
}

.service-domain a:hover {
  color: var(--indigo-hover) !important;
}

/* Service Details */
.service-details .detail-item {
  padding: var(--space-2);
  background-color: var(--accent);
  border-radius: var(--radius-sm);
}

.service-details .detail-label {
  font-size: 10px;
  letter-spacing: 0.5px;
}

.service-details .detail-value {
  font-size: 14px;
}

/* Empty State */
.empty-state {
  padding: var(--space-12) var(--space-4);
}

.empty-state .empty-icon svg {
  opacity: 0.5;
}

/* No Results */
.no-results svg {
  display: block;
  margin: 0 auto;
}

/* Service Item Animation */
.service-item {
  transition: opacity 0.2s ease;
}

.service-item.d-none {
  display: none !important;
}

/* Responsive */
@media (max-width: 768px) {
  .services-filter .row {
    gap: var(--space-3);
  }

  .services-filter .d-flex {
    justify-content: flex-start !important;
  }

  .service-card .card-header {
    padding: var(--space-3) !important;
  }

  .service-card .card-body {
    padding: var(--space-3) !important;
  }

  .service-card .card-footer {
    padding: var(--space-3) !important;
  }

  .service-name h6 {
    max-width: 140px !important;
  }
}

/* ----------------------------------- */

/* : Invoices Page - Enhanced Design : */

/* Invoices Header */
.invoices-header {
  padding: var(--space-2) 0;
}

/* Invoices Filter */
.invoices-filter .input-group-text {
  border-color: var(--border);
}

.invoices-filter .form-control {
  border-color: var(--border);
}

.invoices-filter .form-control:focus {
  border-color: var(--indigo);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--indigo) 20%, transparent);
}

.invoices-filter .filter-btn {
  transition: all 0.2s ease;
}

.invoices-filter .filter-btn.active {
  background-color: var(--indigo);
  border-color: var(--indigo);
  color: #fff;
}

.invoices-filter .filter-btn:hover:not(.active) {
  background-color: var(--accent);
}

/* Invoice Cards */
.invoice-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  background-color: var(--card);
}

.invoice-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.invoice-card.invoice-unpaid {
  border-color: color-mix(in srgb, var(--red) 30%, var(--border));
}

.invoice-card.invoice-unpaid:hover {
  border-color: var(--red);
}

.invoice-icon-wrapper {
  min-width: 40px;
  min-height: 40px;
}

/* Invoice Amount */
.invoice-amount {
  padding: var(--space-4);
  background-color: var(--accent);
  border-radius: var(--radius-md);
}

.invoice-amount .amount-label {
  font-size: 11px;
  letter-spacing: 0.5px;
}

.invoice-amount .amount-value {
  font-size: 1.75rem;
}

/* Invoice Details */
.invoice-details .detail-item {
  padding: var(--space-2);
  background-color: var(--accent);
  border-radius: var(--radius-sm);
}

.invoice-details .detail-label {
  font-size: 10px;
  letter-spacing: 0.5px;
}

.invoice-details .detail-value {
  font-size: 14px;
}

/* Status Badge - Paid */
.status-badge.status-paid {
  background-color: color-mix(in srgb, var(--green) 20%, transparent);
  color: var(--green);
}

/* Status Badge - Unpaid */
.status-badge.status-unpaid {
  background-color: color-mix(in srgb, var(--red) 20%, transparent);
  color: var(--red);
}

/* Status Badge - Refunded */
.status-badge.status-refunded {
  background-color: color-mix(in srgb, var(--blue) 20%, transparent);
  color: var(--blue);
}

/* Invoice Item Animation */
.invoice-item {
  transition: opacity 0.2s ease;
}

.invoice-item.d-none {
  display: none !important;
}

/* Responsive */
@media (max-width: 768px) {
  .invoices-filter .row {
    gap: var(--space-3);
  }

  .invoices-filter .d-flex {
    justify-content: flex-start !important;
  }

  .invoice-card .card-header {
    padding: var(--space-3) !important;
  }

  .invoice-card .card-body {
    padding: var(--space-3) !important;
  }

  .invoice-card .card-footer {
    padding: var(--space-3) !important;
  }

  .invoice-amount .amount-value {
    font-size: 1.5rem;
  }
}

/* ----------------------------------- */
