:root {
  --primary: #5f2eea; /* Reverting to purple for premium feel */
  --primary-dark: #4a23b9;
  --secondary: #00d2ff;
  --accent: #f29f4a; /* Orange for small accents */
  --dark: #0f0f13;
  --text-color: #f0f0f0; /* Light text for dark background */
  --light-bg: #f8f9fd;
  --white: #ffffff;
  --border-radius: 16px;
  --card-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
  --hover-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);
  --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

body {
  font-family: "Open Sans", sans-serif;
  color: var(--text-color);
  /* Global gradient background using user's color */
  background: linear-gradient(135deg, #5f2eea 0%, #2a1b5e 100%);
  background-attachment: fixed;
  background-size: cover;
  line-height: 1.8;
  overflow-x: hidden;
  font-size: 15px;
  min-height: 100vh;
}

body.sp24-affiliate-body {
  background: #ffffff !important;
  color: #333 !important;
}

body.sp24-affiliate-body .page-header {
  display: none !important; /* Hide the generic header on the affiliate page to make it full width */
}

.sp24-affiliate-wrapper {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.theme-socialpanel24-user .page-main {
  padding-top: 90px;
}
 
.theme-socialpanel24-user main.app-content {
  min-height: calc(100vh - 220px);
}

.theme-socialpanel24-general {
  padding-top: 100px;
  padding-bottom: 30px;
}

.general-page-shell {
  position: relative;
}

.theme-socialpanel24-general .row > [class*="col-"] {
  margin-bottom: 24px;
}

.theme-socialpanel24-general .page-header {
  margin-bottom: 35px;
  padding: 32px 36px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.22);
}

.theme-socialpanel24-general .page-title,
.theme-socialpanel24-general .page-header h1,
.theme-socialpanel24-general .page-header .page-title {
  color: #ffffff;
  font-weight: 800;
  margin-bottom: 0;
  text-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
}

html.sp24-day-mode .theme-socialpanel24-general .page-title,
html.sp24-day-mode .theme-socialpanel24-general .page-header h1,
html.sp24-day-mode .theme-socialpanel24-general .page-header .page-title {
  color: #1a1a1a !important;
  text-shadow: none !important;
}

.theme-socialpanel24-general .page-header .fe,
.theme-socialpanel24-general .page-header .fa {
  margin-right: 10px;
  color: #9ddcff;
}

.theme-socialpanel24-general .content,
.theme-socialpanel24-general .card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 24px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

.theme-socialpanel24-general .content {
  padding: 32px;
  color: #ececff;
}

.theme-socialpanel24-general .content + .content,
.theme-socialpanel24-general .content.m-t-30 {
  margin-top: 30px !important;
}

.theme-socialpanel24-general .title h2,
.theme-socialpanel24-general .card-title,
.theme-socialpanel24-general .content h1,
.theme-socialpanel24-general .content h2,
.theme-socialpanel24-general .content h3,
.theme-socialpanel24-general .content h4 {
  color: #ffffff;
  font-weight: 700;
}

html.sp24-day-mode .theme-socialpanel24-general .title h2,
html.sp24-day-mode .theme-socialpanel24-general .card-title,
html.sp24-day-mode .theme-socialpanel24-general .content h1,
html.sp24-day-mode .theme-socialpanel24-general .content h2,
html.sp24-day-mode .theme-socialpanel24-general .content h3,
html.sp24-day-mode .theme-socialpanel24-general .content h4 {
  color: #1a1a1a !important;
}

.theme-socialpanel24-general .content p,
.theme-socialpanel24-general .content li,
.theme-socialpanel24-general .content div,
.theme-socialpanel24-general .card-body,
.theme-socialpanel24-general .note {
  color: #e6e6f2;
}

html.sp24-day-mode .theme-socialpanel24-general .content p,
html.sp24-day-mode .theme-socialpanel24-general .content li,
html.sp24-day-mode .theme-socialpanel24-general .content div,
html.sp24-day-mode .theme-socialpanel24-general .card-body,
html.sp24-day-mode .theme-socialpanel24-general .note {
  color: #333333 !important;
}

.theme-socialpanel24-general .content p,
.theme-socialpanel24-general .card-body p,
.theme-socialpanel24-general .note {
  line-height: 1.8;
}

.theme-socialpanel24-general .content ul,
.theme-socialpanel24-general .content ol {
  padding-left: 1.2rem;
}

.theme-socialpanel24-general .content li + li {
  margin-top: 8px;
}

.theme-socialpanel24-general .content a,
.theme-socialpanel24-general .card-body a {
  color: #9ddcff;
}

.theme-socialpanel24-general .card-header,
.theme-socialpanel24-general .card-footer {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
}

.theme-socialpanel24-general .card-header {
  padding: 22px 28px;
}

.theme-socialpanel24-general .card-body {
  padding: 26px 28px;
}

.theme-socialpanel24-general .card-title {
  white-space: normal;
  word-break: break-word;
  line-height: 1.5;
}

.theme-socialpanel24-general .card-options a {
  color: #ffffff;
  opacity: 0.75;
}

.theme-socialpanel24-general .card-options a:hover {
  opacity: 1;
}

.theme-socialpanel24-general .bg-question {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-right: 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: #fff;
  box-shadow: 0 8px 20px rgba(95, 46, 234, 0.35);
}

.theme-socialpanel24-general .faq-card-public .card-header {
  width: 100%;
  border: 0;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  gap: 18px;
  padding: 24px 28px;
  text-align: left;
  background: transparent;
}

.theme-socialpanel24-general .faq-card-public .card-title {
  display: flex;
  align-items: flex-start;
  flex: 1 1 auto;
  margin-bottom: 0;
  gap: 14px;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.5;
}

.theme-socialpanel24-general .faq-card-public .faq-question-text {
  display: inline-block;
  padding-top: 2px;
}

.theme-socialpanel24-general .faq-card-public .card-options-collapse {
  color: #ffffff;
  text-decoration: none;
  box-shadow: none;
  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.theme-socialpanel24-general .faq-card-public .card-options-collapse:focus {
  outline: none;
  box-shadow: none;
}

.theme-socialpanel24-general .faq-card-public .faq-card-trigger:focus {
  outline: none;
}

.theme-socialpanel24-general .faq-card-public .card-options-collapse:hover {
  background: rgba(255, 255, 255, 0.14);
}

.theme-socialpanel24-general .faq-card-public .card-options {
  margin-left: 0;
}

.theme-socialpanel24-general .faq-card-public .faq-chevron i {
  transition: transform 0.3s ease;
}

.theme-socialpanel24-general .faq-card-public.is-open .faq-chevron i {
  transform: rotate(180deg);
}

.theme-socialpanel24-general .faq-card-public.is-open {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.28);
}

.theme-socialpanel24-general .faq-card-public.is-open .card-options-collapse {
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  border-color: transparent;
}

.theme-socialpanel24-general .faq-card-public:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.24);
}

.theme-socialpanel24-general .faq-card-public .card-body,
.theme-socialpanel24-general .terms-content-block {
  font-size: 1rem;
}

.theme-socialpanel24-general .sp24-faq-hero,
.theme-socialpanel24-general .sp24-faq-toolbar,
.theme-socialpanel24-general .sp24-faq-section,
.theme-socialpanel24-general .sp24-faq-help-footer {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.24);
}

.theme-socialpanel24-general .sp24-faq-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr);
  gap: 24px;
  padding: 34px;
  margin-bottom: 22px;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 30%),
    linear-gradient(135deg, rgba(22, 184, 119, 0), rgba(10, 151, 116, 0) 45%, rgba(38, 209, 141, 0));
}

.theme-socialpanel24-general .sp24-faq-badge {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.theme-socialpanel24-general .sp24-faq-title {
  margin: 16px 0 12px;
  font-size: 2rem;
  line-height: 1.2;
}

.theme-socialpanel24-general .sp24-faq-subtitle {
  max-width: 680px;
  margin-bottom: 20px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 1rem;
}

.theme-socialpanel24-general .sp24-faq-search {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 520px;
  padding: 0 16px;
  margin-bottom: 22px;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(7, 41, 30, 0.18);
}

.theme-socialpanel24-general .sp24-faq-search__icon {
  color: #13916f;
  font-size: 1rem;
}

.theme-socialpanel24-general .sp24-faq-search__input {
  width: 100%;
  height: 54px;
  border: 0;
  background: transparent;
  color: #10241e;
  font-size: 0.98rem;
}

.theme-socialpanel24-general .sp24-faq-search__input:focus {
  outline: none;
}

.theme-socialpanel24-general .sp24-faq-search__input::placeholder {
  color: #6e7f79;
}

.theme-socialpanel24-general .sp24-faq-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.theme-socialpanel24-general .sp24-faq-stat-card {
  min-width: 120px;
  padding: 14px 18px;
  border-radius: 18px;
  background: rgba(10, 44, 33, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.theme-socialpanel24-general .sp24-faq-stat-card strong,
.theme-socialpanel24-general .sp24-faq-stat-card span {
  display: block;
  color: #fff;
}

.theme-socialpanel24-general .sp24-faq-stat-card strong {
  margin-bottom: 4px;
  font-size: 1.2rem;
  font-weight: 800;
}

.theme-socialpanel24-general .sp24-faq-stat-card span {
  font-size: 0.84rem;
  color: rgba(255, 255, 255, 0.82);
}

.theme-socialpanel24-general .sp24-faq-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.theme-socialpanel24-general .sp24-faq-actions--center {
  justify-content: center;
}

.theme-socialpanel24-general .sp24-faq-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 11px 18px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.25s ease;
}

.theme-socialpanel24-general .sp24-faq-action:hover,
.theme-socialpanel24-general .sp24-faq-action:focus {
  color: #fff;
  transform: translateY(-1px);
  text-decoration: none;
}

.theme-socialpanel24-general .sp24-faq-action--ghost {
  background: rgba(8, 36, 27, 0.16);
}

.theme-socialpanel24-general .sp24-faq-hero__aside {
  display: flex;
  align-items: center;
}

.theme-socialpanel24-general .sp24-faq-contact-card {
  width: 100%;
  padding: 24px;
  border-radius: 24px;
  background: rgba(10, 18, 20, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
}

.theme-socialpanel24-general .sp24-faq-contact-card__head,
.theme-socialpanel24-general .sp24-faq-contact-card__footer {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.88);
}

.theme-socialpanel24-general .sp24-faq-contact-card__head {
  margin-bottom: 18px;
  font-size: 0.9rem;
  font-weight: 700;
}

.theme-socialpanel24-general .sp24-faq-contact-card__status {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #44e887;
  box-shadow: 0 0 0 6px rgba(68, 232, 135, 0.14);
}

.theme-socialpanel24-general .sp24-faq-contact-list {
  display: grid;
  gap: 12px;
}

.theme-socialpanel24-general .sp24-faq-contact-item {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.theme-socialpanel24-general .sp24-faq-contact-item__label,
.theme-socialpanel24-general .sp24-faq-contact-item strong {
  display: block;
}

.theme-socialpanel24-general .sp24-faq-contact-item__label {
  margin-bottom: 4px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.theme-socialpanel24-general .sp24-faq-contact-item strong {
  color: #fff;
  font-size: 0.95rem;
  word-break: break-word;
}

.theme-socialpanel24-general .sp24-faq-contact-card__footer {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.86rem;
}

/* FAQ Category Cards (Replaces old toolbar) */
.theme-socialpanel24-general .sp24-faq-category-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-bottom: 30px;
}

.theme-socialpanel24-general .sp24-faq-category-card {
  display: flex;
  align-items: center;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.05);
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}

.theme-socialpanel24-general--dashboard .sp24-faq-category-card {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.theme-socialpanel24-general .sp24-faq-category-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  border-color: rgba(255, 255, 255, 0.25);
}

.theme-socialpanel24-general--dashboard .sp24-faq-category-card:hover {
  border-color: rgba(0, 0, 0, 0.15);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}

.theme-socialpanel24-general .sp24-faq-category-card.is-active {
  border-color: #2e7d32 !important;
}

.theme-socialpanel24-general .sp24-faq-category-card__icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-right: 16px;
  transition: all 0.3s ease;
}

.theme-socialpanel24-general .sp24-faq-category-card.is-active .sp24-faq-category-card__icon {
  background: #2e7d32 !important;
  color: #ffffff !important;
}

.theme-socialpanel24-general .sp24-faq-category-card__content {
  flex: 1;
  min-width: 0;
}

.theme-socialpanel24-general .sp24-faq-category-card__content h4 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 4px;
  color: #ffffff;
}

.theme-socialpanel24-general--dashboard .sp24-faq-category-card__content h4 {
  color: #1a1a1a;
}

.theme-socialpanel24-general .sp24-faq-category-card__content p {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 0;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.theme-socialpanel24-general--dashboard .sp24-faq-category-card__content p {
  color: #666666;
}

.theme-socialpanel24-general .sp24-faq-category-card__arrow {
  margin-left: 12px;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.9rem;
  transition: all 0.3s ease;
}

.theme-socialpanel24-general--dashboard .sp24-faq-category-card__arrow {
  color: #999999;
}

.theme-socialpanel24-general .sp24-faq-category-card.is-active .sp24-faq-category-card__arrow {
  color: #2e7d32;
}

.theme-socialpanel24-general .sp24-faq-section {
  padding: 26px;
  margin-bottom: 22px;
}

.theme-socialpanel24-general .sp24-faq-section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.theme-socialpanel24-general .sp24-faq-section__head h2,
.theme-socialpanel24-general .sp24-faq-section__head p {
  margin-bottom: 0;
}

.theme-socialpanel24-general .sp24-faq-section__head h2 {
  color: #fff;
  font-size: 1.25rem;
}

.theme-socialpanel24-general .sp24-faq-section__head p {
  color: rgba(255, 255, 255, 0.72);
}

.theme-socialpanel24-general .sp24-faq-grid {
  margin-left: -10px;
  margin-right: -10px;
}

.theme-socialpanel24-general .sp24-faq-grid > [class*="col-"] {
  padding-left: 10px;
  padding-right: 10px;
}

.theme-socialpanel24-general .sp24-faq-item {
  margin-bottom: 20px;
}

.theme-socialpanel24-general .sp24-faq-item__category {
  display: inline-block;
  margin-bottom: 6px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.theme-socialpanel24-general .faq-card-public .card-body {
  padding: 24px 28px 28px;
  background: rgba(8, 8, 18, 0.12);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  line-height: 1.8;
}

.theme-socialpanel24-general .faq-card-public .card-body,
.theme-socialpanel24-general .faq-card-public .card-body *,
.theme-socialpanel24-general .faq-card-public .card-body p,
.theme-socialpanel24-general .faq-card-public .card-body li,
.theme-socialpanel24-general .faq-card-public .card-body div,
.theme-socialpanel24-general .faq-card-public .card-body span {
  color: #ffffff !important;
}

.theme-socialpanel24-general .sp24-faq-empty-search {
  padding: 36px 20px 18px;
  text-align: center;
}

.theme-socialpanel24-general .sp24-faq-empty-search i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 1.4rem;
}

.theme-socialpanel24-general .sp24-faq-empty-search h3 {
  margin-bottom: 8px;
  color: #fff;
}

.theme-socialpanel24-general .sp24-faq-empty-search p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.72);
}

.theme-socialpanel24-general .sp24-faq-help-footer {
  padding: 32px 24px;
  text-align: center;
  background: linear-gradient(135deg, rgba(22, 184, 119, 0), rgba(15, 149, 115, 0));
}

.theme-socialpanel24-general .sp24-faq-help-footer h3,
.theme-socialpanel24-general .sp24-faq-help-footer p {
  color: #fff;
}

.theme-socialpanel24-general .sp24-faq-help-footer h3 {
  margin-bottom: 8px;
  font-size: 1.45rem;
}

.theme-socialpanel24-general .sp24-faq-help-footer p {
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.82);
}

.theme-socialpanel24-general .terms-content-block table,
.theme-socialpanel24-general .terms-content-block img {
  max-width: 100%;
}

.theme-socialpanel24-general .table {
  color: #f4f4fb;
  margin-bottom: 0;
}

.theme-socialpanel24-general .table thead th,
.theme-socialpanel24-general .table thead td {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.12);
}

.theme-socialpanel24-general .table td,
.theme-socialpanel24-general .table th {
  border-color: rgba(255, 255, 255, 0.1);
  background: transparent;
}

.theme-socialpanel24-general .table-hover tbody tr:hover {
  background: rgba(255, 255, 255, 0.05);
}

.theme-socialpanel24-general .table-responsive {
  border-radius: 16px;
}

.theme-socialpanel24-general pre {
  background: rgba(10, 10, 20, 0.72) !important;
  color: #f8f8ff !important;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px !important;
  padding: 22px !important;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

.theme-socialpanel24-general .btn-primary,
.theme-socialpanel24-general .btn-round.btn-primary {
  background: linear-gradient(90deg, var(--primary), var(--secondary));
  border: none;
  color: #fff;
  box-shadow: 0 12px 24px rgba(95, 46, 234, 0.28);
}

.theme-socialpanel24-general .btn-primary:hover,
.theme-socialpanel24-general .btn-round.btn-primary:hover {
  background: linear-gradient(90deg, var(--primary-dark), var(--primary));
  color: #fff;
}

/* Blog Cards */
.sp24-blog-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.05);
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.sp24-blog-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-card:hover {
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.sp24-blog-img {
    overflow: hidden;
}

.sp24-blog-img img {
    transition: transform 0.5s ease;
}

.sp24-blog-card:hover .sp24-blog-img img {
    transform: scale(1.05);
}

.sp24-blog-content h5 a, .sp24-blog-title-link {
    text-decoration: none;
    transition: color 0.3s ease;
    color: #ffffff !important;
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-content h5 a,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-title-link {
    color: #333333 !important;
}

.sp24-blog-content h5 a:hover, .sp24-blog-title-link:hover {
    color: var(--primary-color) !important;
}

.sp24-blog-cat-link {
    color: #ffffff !important;
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-cat-link {
    color: #333333 !important;
}

.sp24-blog-content .text-muted {
    color: rgba(255, 255, 255, 0.7) !important;
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-content .text-muted {
    color: #666666 !important;
}

.sp24-blog-title {
    color: #ffffff !important;
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-title {
    color: #333333 !important;
}

.sp24-blog-single-card .details,
.sp24-blog-single-card .details *,
.sp24-blog-single-card .details p,
.sp24-blog-single-card .details h1,
.sp24-blog-single-card .details h2,
.sp24-blog-single-card .details h3,
.sp24-blog-single-card .details h4,
.sp24-blog-single-card .details h5,
.sp24-blog-single-card .details h6,
.sp24-blog-single-card .details span,
.sp24-blog-single-card .details li,
.sp24-blog-single-card .details div {
    color: #ffffff !important;
}

.sp24-blog-single-card .details img,
.sp24-blog-details img,
.sp24-blog-content img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    float: none !important;
    display: block;
    margin: 1rem auto;
    border-radius: 0.75rem;
}

.sp24-blog-single-card .details figure,
.sp24-blog-details figure {
    max-width: 100%;
    margin: 1rem 0;
}

.sp24-blog-single-card .details iframe,
.sp24-blog-single-card .details video,
.sp24-blog-single-card .details embed,
.sp24-blog-single-card .details object,
.sp24-blog-details iframe,
.sp24-blog-details video,
.sp24-blog-details embed,
.sp24-blog-details object {
    max-width: 100% !important;
}

.sp24-blog-single-card .details table,
.sp24-blog-details table {
    display: block;
    width: 100% !important;
    overflow-x: auto;
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details *,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details p,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details h1,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details h2,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details h3,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details h4,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details h5,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details h6,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details span,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details li,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-single-card .details div {
    color: #333333 !important;
}

.blog-single .side-bar .glass-card h3,
.blog-single .side-bar .glass-card a,
.blog-single .side-bar .glass-card span:not(.badge-light),
.blog-single .side-bar .glass-card p {
    color: #ffffff !important;
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .blog-single .side-bar .glass-card h3,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .blog-single .side-bar .glass-card a,
html.sp24-day-mode .theme-socialpanel24-general--dashboard .blog-single .side-bar .glass-card span:not(.badge-light),
html.sp24-day-mode .theme-socialpanel24-general--dashboard .blog-single .side-bar .glass-card p {
    color: #333333 !important;
}

.sp24-blog-sidebar-link {
    color: #ffffff !important;
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .sp24-blog-sidebar-link {
    color: #333333 !important;
}

.blog-single .side-bar .glass-card a:hover {
    color: var(--primary-color) !important;
}

.blog-section {
    padding: 80px 0;
    position: relative;
    z-index: 1;
}

@media (max-width: 991px) {
  .theme-socialpanel24-general {
    padding-top: 86px;
  }

  .theme-socialpanel24-general .page-header,
  .theme-socialpanel24-general .content,
  .theme-socialpanel24-general .card {
    border-radius: 20px;
  }

  .theme-socialpanel24-general .page-header,
  .theme-socialpanel24-general .content,
  .theme-socialpanel24-general .card-body,
  .theme-socialpanel24-general .card-header {
    padding-left: 20px;
    padding-right: 20px;
  }

  .theme-socialpanel24-general .card-options {
    margin-left: 12px;
  }

  .theme-socialpanel24-general .page-header {
    margin-bottom: 24px;
  }

  .theme-socialpanel24-general .faq-card-public .card-header,
  .theme-socialpanel24-general .faq-card-public .card-body {
    padding-left: 20px;
    padding-right: 20px;
  }

  .theme-socialpanel24-general .faq-card-public .card-title {
    font-size: 1rem;
  }

  .theme-socialpanel24-general .sp24-faq-hero {
    grid-template-columns: 1fr;
    padding: 24px 20px;
  }

  .theme-socialpanel24-general .sp24-faq-toolbar,
  .theme-socialpanel24-general .sp24-faq-section,
  .theme-socialpanel24-general .sp24-faq-help-footer {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 767px) {
  .theme-socialpanel24-general .sp24-faq-title {
    font-size: 1.6rem;
  }

  .theme-socialpanel24-general .sp24-faq-search {
    max-width: 100%;
  }

  .theme-socialpanel24-general .sp24-faq-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .theme-socialpanel24-general .sp24-faq-stat-card {
    min-width: 0;
  }

  .theme-socialpanel24-general .sp24-faq-actions,
  .theme-socialpanel24-general .sp24-faq-actions--center {
    flex-direction: column;
    align-items: stretch;
  }

  .theme-socialpanel24-general .sp24-faq-action {
    width: 100%;
  }

  .theme-socialpanel24-general .sp24-faq-toolbar {
    align-items: flex-start;
  }
}

/* Navbar */
.navbar-custom {
  background-color: transparent;
  padding: 20px 0;
  transition: var(--transition);
}

.navbar-toggler {
  border: none;
  padding: 0;
  outline: none !important;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-custom.top-nav-collapse {
  background: rgba(15, 15, 20, 0.8); /* Dark Glass effect for purple bg */
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  padding: 10px 0;
}

.navbar-brand img {
  height: 45px;
  transition: var(--transition);
}

.navbar-custom.top-nav-collapse .navbar-brand img {
  height: 40px; /* Slightly smaller on scroll */
}

@media (max-width: 991px) {
  .navbar-brand img {
    height: 35px; /* Smaller logo on mobile */
  }
  
  .navbar-custom.top-nav-collapse .navbar-brand img {
    height: 32px;
  }
  
  .navbar-collapse {
    background: rgba(15, 15, 20, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 20px;
    border-radius: 20px;
    margin-top: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
  }
  
  .navbar-nav .nav-link {
    padding: 10px 0 !important;
    text-align: center;
    font-size: 1.1rem; /* Larger touch targets */
  }
  
  .navbar-nav .nav-link::after {
    display: none; /* Remove underline animation on mobile */
  }
  
  .btn-signup {
    display: block;
    text-align: center;
    margin-top: 15px;
    width: 100%; /* Full width button on mobile */
  }
}

.navbar-nav .nav-link {
  color: #ffffff !important; /* White text for visibility */
  font-weight: 700;
  padding: 0 20px !important;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative; 
  text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: 18px;
    left: 20px;
    width: 0;
    height: 2px;
    background: var(--accent); /* Orange accent for visibility */
    transition: var(--transition)
}

.navbar-nav .nav-link:hover::after {
    width: calc(100% - 40px);
}

.btn-signup {
  position: relative;
  display: inline-block;
  padding: 9px 25px;
  border-radius: 50px;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffffff; /* White text */
  background: transparent;
  border: 2px solid transparent;
  z-index: 1;
  overflow: hidden;
}

/* Gradient animated border */
.btn-signup::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  padding: 2px; /* border thickness */

  background: linear-gradient(
      270deg,
      #ff9900,
      #c9ff33,
      #00ffff,
      #4c77eb
  );

  background-size: 400% 400%;

  -webkit-mask:
      linear-gradient(#fff 0 0) content-box,
      linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;

  animation: borderMove 10s	linear infinite;
}

/* Hover effect */
.btn-signup:hover {
  color: white;
  transform: translateY(-3px);
}

/* Gradient animation */
@keyframes borderMove {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 400% 50%;
  }
}

/* Hero Section */
.hero-section {
  padding: 200px 0 150px;
  background: transparent;
  position: relative;
  overflow: hidden;
}

#star-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
    pointer-events: none;
}

.star {
    position: absolute;
    background: white;
    border-radius: 50%;
    opacity: 0;
    animation: twinkle var(--duration) ease-in-out infinite;
    animation-delay: var(--delay);
}

.star.small {
    width: 1px;
    height: 1px;
    background: rgba(255, 255, 255, 0.8);
}

.star.medium {
    width: 2px;
    height: 2px;
    box-shadow: 0 0 2px rgba(255, 255, 255, 0.6);
}

.star.large {
    width: 3px;
    height: 3px;
    box-shadow: 0 0 4px rgba(255, 255, 255, 0.8), 0 0 8px rgba(255, 255, 255, 0.4);
}

.star.xl {
    width: 4px;
    height: 4px;
    box-shadow: 0 0 6px rgba(255, 255, 255, 1), 0 0 12px rgba(255, 255, 255, 0.5);
}

/* Shooting star */
.shooting-star {
    position: absolute;
    width: 100px;
    height: 2px;
    background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.8));
    animation: shoot 3s linear infinite;
    opacity: 0;
    transform: rotate(-45deg);
}

@keyframes twinkle {
    0% { opacity: 0.3; transform: scale(0.8); }
    50% { opacity: 0.8; transform: scale(1.1); }
    100% { opacity: 0.3; transform: scale(0.8); }
}

@keyframes shoot {
    0% { transform: translateX(0) translateY(0) rotate(-45deg); opacity: 0.8; }
    100% { transform: translateX(-500px) translateY(500px) rotate(-45deg); opacity: 0; }
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Subtle star overlay for texture */
    background-image: 
        radial-gradient(white 1px, transparent 1px),
        radial-gradient(white 1px, transparent 1px);
    background-size: 50px 50px;
    background-position: 0 0, 25px 25px;
    opacity: 0.2;
    z-index: 1;
    pointer-events: none;
}


.hero-content {
  position: relative;
  z-index: 2;
}

.hero-content h1 {
  font-size: 3.5rem;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  color: #ffffff; /* White title */
  font-weight: 800;
  letter-spacing: -1px;
  text-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.hero-content h1 span.highlight {
  background: linear-gradient(120deg, #ffd700 0%, #ff9900 100%); /* Gold/Orange for contrast */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.hero-content p {
  font-size: 1.25rem;
  margin-bottom: 3rem;
  max-width: 600px;
  color: #f0f0f0; /* Light text */
  font-weight: 500;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.btn-hero {
  background: linear-gradient(
      270deg,
      #ff9900,
      #9828da,
      #5328ca,
      #0879e2e3
  );
  color: white;
  padding: 18px 45px;
  border-radius: 50px;
  font-weight: 700;
  border: none;
  font-size: 1.1rem;
  box-shadow: 0 10px 30px rgba(118, 75, 162, 0.4);
  transition: var(--transition);
  position: relative;
  overflow: hidden;
  text-decoration: none;
}

.btn-hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-20deg) translateX(-150%);
    transition: 0.5s;
}

.btn-hero:hover::after {
    transform: skewX(-20deg) translateX(150%);
}

.btn-hero:hover {
  transform: translateY(-5px);
  color: white;
  box-shadow: 0 20px 40px rgba(118, 75, 162, 0.6);
}

/* Feature Cards (Premium Glassmorphism) */
.glass-card {
  background: rgba(255, 255, 255, 0.1); /* More transparent for dark bg */
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  padding: 30px;
  display: flex;
  flex-direction: column; /* Stack header and content vertically */
  align-items: flex-start; /* Align left */
  transition: var(--transition);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  height: 100%;
}

.glass-card:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
  border-color: rgba(255, 255, 255, 0.4);
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .glass-card {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .glass-card:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  border-color: rgba(0, 0, 0, 0.15);
}

.glass-header {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  width: 100%;
}

.glass-icon {
  min-width: 60px;
  height: 60px;
  border-radius: 15px; /* Slightly rounded square */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20px; /* Space between icon and text */
  margin-bottom: 0; /* Reset bottom margin */
  font-size: 1.8rem;
  color: white;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  flex-shrink: 0; /* Prevent icon shrinking */
}

/* Gradient icons matching the image */
.icon-dashboard { 
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); 
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.3);
}
.icon-star { 
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%); 
    box-shadow: 0 8px 20px rgba(234, 88, 12, 0.3);
}
.icon-support { 
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); /* Same blue as dashboard for consistency */
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.3);
}
.icon-rocket { 
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%); 
    box-shadow: 0 8px 20px rgba(220, 38, 38, 0.3);
}
.icon-shield { 
    background: linear-gradient(135deg, #10b981 0%, #059669 100%); 
    box-shadow: 0 8px 20px rgba(16, 185, 129, 0.3);
}
.icon-wallet { 
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%); 
    box-shadow: 0 8px 20px rgba(139, 92, 246, 0.3);
}
.icon-cogs { 
    background: linear-gradient(135deg, #64748b 0%, #475569 100%); 
    box-shadow: 0 8px 20px rgba(100, 116, 139, 0.3);
}
.icon-magic { 
    background: linear-gradient(135deg, #ec4899 0%, #db2777 100%); 
    box-shadow: 0 8px 20px rgba(236, 72, 153, 0.3);
}

.glass-header h4 {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 0;
  color: #ffffff; /* White text for dark bg */
  text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.glass-content p {
  font-size: 0.95rem;
  color: #e0e0e0; /* Light grey text */
  line-height: 1.5;
  margin-bottom: 0;
}

.features-container {
    margin-top: 80px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.15); /* Container frosted glass */
    backdrop-filter: blur(15px);
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 20px 50px rgba(0,0,0,0.05);
}


/* Features / Why Choose Us */
.features-section {
  padding: 50px 0;
  background-color: transparent;
}

.section-title h2 {
  font-size: 3rem;
  color: #ffffff;
  font-weight: 800;
  text-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .section-title h2 {
  color: #333333;
  text-shadow: none;
}

html.sp24-day-mode .theme-socialpanel24-general--dashboard .section-title p {
  color: #666666 !important;
}

.section-title p {
    color: #e0e0e0 !important;
}

/* Services Preview */
.services-section {
  padding: 120px 0;
  background: transparent;
}

.table {
  margin-bottom: 0;
  color: #fff;
}

.glass-table {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(25px);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.glass-table thead th {
    background: rgba(95, 46, 234, 0.6); /* Semi-transparent primary */
    color: #fff;
    border-bottom: none;
    padding: 20px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.glass-table tbody td,
.glass-table tbody th {
    padding: 20px;
    vertical-align: middle;
    font-weight: 600;
    color: #f0f0f0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: transparent !important;
}

.glass-table tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.15);
}

.sp24-service-name a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.25s ease;
}

.sp24-service-name a:hover {
  color: #8df4c6;
  text-decoration: none;
}

.sp24-service-table-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}

.btn-service-outline,
.btn-service-buy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.25s ease;
}

.btn-service-outline {
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.btn-service-buy {
  border: 1px solid transparent;
  background: linear-gradient(135deg, rgba(22, 184, 119, 0.92), rgba(38, 209, 141, 0.92));
  color: #ffffff;
}

.btn-service-outline:hover,
.btn-service-buy:hover {
  transform: translateY(-1px);
  color: #ffffff;
  text-decoration: none;
}

.sp24-service-table-empty,
.sp24-service-preview-note {
  color: rgba(255, 255, 255, 0.78);
}

.theme-socialpanel24-general .sp24-service-details-page {
  color: #ffffff;
}

.theme-socialpanel24-general .sp24-service-details-hero,
.theme-socialpanel24-general .sp24-service-details-toolbar,
.theme-socialpanel24-general .sp24-service-card,
.theme-socialpanel24-general .sp24-service-details-empty {
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.24);
}

.theme-socialpanel24-general .sp24-service-details-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.7fr);
  gap: 24px;
  padding: 32px;
  margin-bottom: 24px;
}

.theme-socialpanel24-general .sp24-service-details-badge {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.theme-socialpanel24-general .sp24-service-details-title {
  margin: 16px 0 12px;
  font-size: 2rem;
  line-height: 1.2;
}

.theme-socialpanel24-general .sp24-service-details-subtitle {
  max-width: 760px;
  margin-bottom: 20px;
  color: rgba(255, 255, 255, 0.82);
}

.theme-socialpanel24-general .sp24-service-details-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.theme-socialpanel24-general .sp24-service-details-btn,
.theme-socialpanel24-general .sp24-service-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 11px 18px;
  border-radius: 14px;
  font-weight: 700;
  text-decoration: none;
}

.theme-socialpanel24-general .sp24-service-details-btn:hover,
.theme-socialpanel24-general .sp24-service-card__btn:hover {
  color: #ffffff;
  text-decoration: none;
}

.theme-socialpanel24-general .sp24-service-details-btn--ghost,
.theme-socialpanel24-general .sp24-service-card__btn--ghost {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.theme-socialpanel24-general .sp24-service-details-hero__stats {
  display: grid;
  gap: 14px;
}

.theme-socialpanel24-general .sp24-service-stat-box {
  padding: 18px 20px;
  border-radius: 18px;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.theme-socialpanel24-general .sp24-service-stat-box strong,
.theme-socialpanel24-general .sp24-service-stat-box span {
  display: block;
}

.theme-socialpanel24-general .sp24-service-stat-box strong {
  margin-bottom: 4px;
  color: #ffffff;
  font-size: 1.25rem;
}

.theme-socialpanel24-general .sp24-service-stat-box span {
  color: rgba(255, 255, 255, 0.7);
}

.theme-socialpanel24-general .sp24-service-details-toolbar {
  padding: 22px;
  margin-bottom: 24px;
}

.theme-socialpanel24-general .sp24-service-search {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.theme-socialpanel24-general .sp24-service-search i {
  color: rgba(255, 255, 255, 0.72);
}

.theme-socialpanel24-general .sp24-service-search input {
  width: 100%;
  height: 52px;
  border: 0;
  background: transparent;
  color: #ffffff;
}

.theme-socialpanel24-general .sp24-service-search input:focus {
  outline: none;
}

.theme-socialpanel24-general .sp24-service-search input::placeholder {
  color: rgba(255, 255, 255, 0.52);
}

.theme-socialpanel24-general .sp24-service-select {
  height: 52px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
}

.theme-socialpanel24-general .sp24-service-select:focus {
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.theme-socialpanel24-general .sp24-service-select option {
  color: #1d2433;
}

.theme-socialpanel24-general .sp24-service-details-count {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 8px;
}

.theme-socialpanel24-general .sp24-service-details-count strong {
  font-size: 1.45rem;
  color: #ffffff;
}

.theme-socialpanel24-general .sp24-service-details-count span {
  color: rgba(255, 255, 255, 0.7);
}

.theme-socialpanel24-general .sp24-service-details-grid {
  display: grid;
  gap: 18px;
}

.theme-socialpanel24-general .sp24-service-group {
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(205, 213, 225, 0.7);
  background: #f8fafc;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
}

.theme-socialpanel24-general .sp24-service-group__header {
  padding: 14px 18px;
  border-bottom: 1px solid #dbe3ee;
  background: #eef3f8;
  color: #16233a;
  font-size: 1.1rem;
  font-weight: 800;
}

.theme-socialpanel24-general .sp24-service-details-table-wrap {
  overflow-x: auto;
}

.theme-socialpanel24-general .sp24-service-details-table {
  margin-bottom: 0;
  color: #18263c;
  background: #ffffff;
}

.theme-socialpanel24-general .sp24-service-details-table thead th {
  padding: 16px 14px;
  background: #f3f6fa;
  color: #5d718d;
  border-top: 0;
  border-bottom: 1px solid #dbe3ee;
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.theme-socialpanel24-general .sp24-service-details-table tbody td {
  padding: 18px 14px;
  color: #1f2d3d;
  border-top: 1px solid #e6edf5;
  vertical-align: top;
  background: #ffffff !important;
}

.theme-socialpanel24-general .sp24-service-details-table tbody tr.is-featured td {
  background: #f0fdf7 !important;
}

.theme-socialpanel24-general .sp24-service-col-id {
  min-width: 90px;
  text-align: center;
  font-weight: 800;
}

.theme-socialpanel24-general .sp24-service-col-service {
  min-width: 280px;
}

.theme-socialpanel24-general .sp24-service-col-price {
  min-width: 140px;
  white-space: nowrap;
}

.theme-socialpanel24-general .sp24-service-col-price strong {
  color: #0f7a53;
  font-size: 1.2rem;
  font-weight: 800;
}

.theme-socialpanel24-general .sp24-service-col-description {
  min-width: 360px;
}

.theme-socialpanel24-general .sp24-service-table-title {
  margin-bottom: 10px;
  color: #16233a;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.5;
}

.theme-socialpanel24-general .sp24-service-table-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.theme-socialpanel24-general .sp24-service-table-chip {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eef3f8;
  color: #4b5f79;
  font-size: 0.75rem;
  font-weight: 700;
}

.theme-socialpanel24-general .sp24-service-table-actions {
  justify-content: flex-start;
}

.theme-socialpanel24-general .sp24-service-table-description,
.theme-socialpanel24-general .sp24-service-table-description p,
.theme-socialpanel24-general .sp24-service-table-description div,
.theme-socialpanel24-general .sp24-service-table-description span,
.theme-socialpanel24-general .sp24-service-table-description li {
  color: #22324a !important;
  line-height: 1.7;
  word-break: break-word;
}

.theme-socialpanel24-general .sp24-service-table-description p:last-child {
  margin-bottom: 0;
}

.theme-socialpanel24-general .sp24-service-table-description--empty {
  color: #7b8ca5;
  font-style: italic;
}

.theme-socialpanel24-general .sp24-service-details-empty {
  padding: 38px 20px;
  text-align: center;
}

.theme-socialpanel24-general .sp24-service-details-empty i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  font-size: 1.35rem;
}

.theme-socialpanel24-general .sp24-service-details-empty h3 {
  color: #ffffff;
}

.theme-socialpanel24-general .sp24-service-details-empty p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.72);
}

@media (max-width: 991px) {
  .theme-socialpanel24-general .sp24-service-details-hero {
    grid-template-columns: 1fr;
    padding: 24px 20px;
  }

  .theme-socialpanel24-general .sp24-service-details-toolbar {
    padding: 20px;
  }

  .theme-socialpanel24-general .sp24-service-details-count {
    justify-content: flex-start;
  }

  .theme-socialpanel24-general .sp24-service-details-table thead th,
  .theme-socialpanel24-general .sp24-service-details-table tbody td {
    padding-left: 12px;
    padding-right: 12px;
  }
}

@media (max-width: 767px) {
  .sp24-service-table-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .btn-service-outline,
  .btn-service-buy {
    width: 100%;
  }

  .theme-socialpanel24-general .sp24-service-details-title {
    font-size: 1.65rem;
  }

  .theme-socialpanel24-general .sp24-service-details-actions,
  .theme-socialpanel24-general .sp24-service-card__actions {
    flex-direction: column;
  }

  .theme-socialpanel24-general .sp24-service-details-btn,
  .theme-socialpanel24-general .sp24-service-card__btn {
    width: 100%;
  }
}

/* Signup Page Styling */
.auth-wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent; /* Rely on body background */
  padding: 120px 0 80px; /* Space for sticky header */
}

.auth-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  padding: 50px;
  border-radius: 25px;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.4);
  width: 100%;
  max-width: 650px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.auth-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, var(--primary), var(--secondary));
}

.auth-header h2 {
  font-size: 2.5rem;
  color: #ffffff;
  margin-bottom: 10px;
  font-weight: 800;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.auth-header p {
  color: #d1d5db;
  font-size: 1.1rem;
  margin-bottom: 30px;
}

.auth-form label {
  font-weight: 700;
  font-size: 0.85rem;
  color: #ffffff;
  margin-bottom: 8px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.9;
}

.auth-form .form-control {
  height: 55px;
  border-radius: 12px;
  padding: 0 20px;
  font-size: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background-color: rgba(255, 255, 255, 0.05);
  transition: all 0.3s;
  backdrop-filter: blur(5px);
  color: #fff;
}

.auth-form .form-control::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.auth-form .form-control:focus {
  border-color: var(--secondary);
  background-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 0 4px rgba(0, 210, 255, 0.15);
  color: #fff;
  outline: none;
}

/* Custom Checkbox */
.custom-control-label {
    color: #d1d5db;
    cursor: pointer;
}

.custom-control-label a {
    color: var(--secondary);
    font-weight: 600;
}

.auth-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 16px;
  font-size: 1.1rem;
  margin-top: 20px;
  border-radius: 12px;
  background: linear-gradient(90deg, var(--primary), var(--secondary));
  border: none;
  font-weight: 700;
  color: #fff;
  box-shadow: 0 10px 20px rgba(95, 46, 234, 0.3);
  transition: all 0.3s ease;
}

.auth-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(95, 46, 234, 0.5);
    background: linear-gradient(90deg, var(--primary-dark), var(--primary));
}

.auth-btn:disabled,
.auth-btn.loading,
.auth-btn.btn-loading {
  cursor: not-allowed;
  opacity: 0.95;
  transform: none;
}

.auth-btn__spinner {
  display: none;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: sp24ButtonSpinner 0.7s linear infinite;
}

.auth-btn.loading .auth-btn__spinner,
.auth-btn.btn-loading .auth-btn__spinner {
  display: inline-block;
}

.auth-btn.loading .auth-btn__label,
.auth-btn.btn-loading .auth-btn__label {
  opacity: 0.92;
}

@keyframes sp24ButtonSpinner {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.auth-footer {
  text-align: center;
  margin-top: 30px;
  font-size: 1rem;
  color: #d1d5db;
}

.auth-footer a {
  color: var(--secondary);
  font-weight: 700;
  text-decoration: none;
}

.auth-footer a:hover {
    text-decoration: underline;
}

/* Contact Section */
.contact-section {
  padding: 120px 0;
  background: transparent;
}

/* Reuse glass-card styles for contact info */
.contact-info-card {
  padding: 30px; /* Consistent padding */
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.1);
  height: 100%;
}

.contact-info-card h4 {
  color: #ffffff;
  font-weight: 700;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3);
  margin-bottom: 25px !important;
}

.contact-info-card p, 
.contact-info-card .text-muted {
  color: #d1d5db !important; /* Lighter grey */
  font-size: 0.95rem;
}

.contact-info-card h6 {
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 1.1rem;
}

.contact-item {
    background: rgba(255, 255, 255, 0.05);
    padding: 15px;
    border-radius: 15px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.contact-item:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateX(5px);
    border-color: rgba(255, 255, 255, 0.2);
}

.contact-info-card .feature-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    box-shadow: 0 5px 15px rgba(95, 46, 234, 0.4);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-right: 15px;
    flex-shrink: 0;
}

.contact-form.glass-card {
    padding: 40px;
    background: rgba(255, 255, 255, 0.08); /* Slightly lighter */
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.contact-form .form-control {
  padding: 15px 20px;
  border-radius: 12px;
  margin-bottom: 25px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background-color: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(5px);
  height: auto;
  color: #fff;
  transition: all 0.3s;
}

.contact-form .form-control::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.contact-form .form-control:focus {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: var(--secondary); /* Blue border on focus */
    box-shadow: 0 0 0 4px rgba(0, 210, 255, 0.2);
    color: #fff;
}

.contact-form textarea.form-control {
  height: 150px;
  resize: none;
}

.contact-form .btn-primary {
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    border: none;
    padding: 15px 30px;
    font-weight: 700;
    font-size: 1rem;
    border-radius: 12px;
    width: 100%;
    margin-top: 10px;
    transition: all 0.3s ease;
    box-shadow: 0 10px 20px rgba(95, 46, 234, 0.3);
}

.contact-form .btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(95, 46, 234, 0.5);
    background: linear-gradient(90deg, var(--primary-dark), var(--primary));
}

/* How It Works */
.step-card {
    position: relative;
    padding: 40px 30px;
    text-align: center;
    background: rgba(255, 255, 255, 0.08); /* Brighter glass */
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    backdrop-filter: blur(15px); /* Stronger blur */
    transition: var(--transition);
    height: 100%;
    z-index: 2;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); /* Deeper shadow */
}

.step-card:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
    border-color: rgba(255, 255, 255, 0.3);
}

.step-icon {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 0 30px rgba(95, 46, 234, 0.3); /* Glowing effect */
}

.step-icon i {
    font-size: 2.5rem; /* Larger icon */
    background: linear-gradient(135deg, #fff, #e0c3fc); /* White to light purple gradient */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}

.step-badge {
    position: absolute;
    top: 0;
    right: 0;
    width: 28px;
    height: 28px;
    background: linear-gradient(135deg, var(--secondary), var(--primary)); /* Gradient badge */
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.9rem;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
    border: 2px solid rgba(255,255,255,0.2);
}

.step-connector {
    position: absolute;
    top: 80px;
    left: 12%;
    width: 76%;
    height: 3px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    z-index: 0;
    filter: drop-shadow(0 0 5px rgba(255,255,255,0.3));
}

.step-card h4 {
    color: #ffffff;
    font-weight: 800;
    margin-bottom: 15px;
    font-size: 1.3rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.step-card p {
    color: #e0e0e0; /* High contrast light grey */
    font-size: 1rem;
    line-height: 1.6;
}

/* Testimonials */
.testimonial-card {
    background: rgba(255, 255, 255, 0.08); /* Brighter glass */
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    padding: 40px 30px;
    backdrop-filter: blur(15px);
    transition: var(--transition);
    height: 100%;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.testimonial-card:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.3);
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}

.quote-icon {
    position: absolute;
    top: 20px;
    right: 25px;
    font-size: 3rem;
    color: rgba(255, 255, 255, 0.1); /* More visible quote */
}

.testimonial-header {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    position: relative;
    z-index: 1;
}

.testimonial-avatar-placeholder {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    margin-right: 20px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    border: 3px solid rgba(255,255,255,0.2);
}

.testimonial-info h5 {
    color: #ffffff;
    font-weight: 800;
    margin-bottom: 5px;
    font-size: 1.2rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.testimonial-rating {
    color: #ffd700;
    font-size: 0.9rem;
    letter-spacing: 2px;
    text-shadow: 0 0 10px rgba(255, 215, 0, 0.4); /* Glowing stars */
}

.testimonial-text {
    color: #f0f0f0; /* Very bright grey */
    font-style: italic;
    line-height: 1.8;
    font-size: 1.05rem;
    position: relative;
    z-index: 1;
}

/* Footer */
.footer {
  background: rgba(11, 11, 15, 0.9); /* Darker for better contrast */
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  color: #d1d5db; /* Light grey text */
  padding: 100px 0 40px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 100%, rgba(95, 46, 234, 0.15), transparent 70%); /* Subtle bottom glow */
    pointer-events: none;
    z-index: 0;
}

.footer .container {
    position: relative;
    z-index: 1;
}

.footer h5 {
  color: #ffffff;
  margin-bottom: 30px;
  font-size: 1.2rem;
  letter-spacing: 1px;
  font-weight: 700;
  text-transform: uppercase;
  background: linear-gradient(90deg, #fff, #e0e0e0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.footer p {
    color: #d1d5db;
    line-height: 1.6;
}

.footer-links li {
  margin-bottom: 15px;
}

.footer-links a {
  color: #d1d5db; /* High contrast grey */
  font-weight: 500;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  display: inline-block;
}

.footer-links a:hover {
  color: #ffffff;
  padding-left: 8px;
  text-shadow: 0 0 10px rgba(255,255,255,0.6);
}

.social-links {
    display: flex;
    gap: 15px;
}

.social-links a {
  width: 45px;
  height: 45px;
  background: rgba(255, 255, 255, 0.1); /* Slightly brighter */
  font-size: 1.1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #fff;
}

.social-links a:hover {
  background: var(--primary);
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(95, 46, 234, 0.4);
  color: #fff;
  border-color: transparent;
}

.footer .input-group .form-control {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2); /* Stronger border */
    color: #fff;
    backdrop-filter: blur(5px);
    height: 50px;
}

.footer .input-group .form-control::placeholder {
    color: rgba(255, 255, 255, 0.7); /* Brighter placeholder */
}

.footer .input-group .form-control:focus {
    background: rgba(255, 255, 255, 0.15);
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgba(95, 46, 234, 0.2);
}

.footer .btn-primary {
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    border: none;
    padding: 0 25px;
    font-weight: 700;
    transition: all 0.3s ease;
    height: 50px; /* Match input height */
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.footer .btn-primary:hover {
    background: linear-gradient(90deg, var(--primary-dark), var(--primary));
    box-shadow: 0 10px 20px rgba(95, 46, 234, 0.4);
    transform: translateY(-2px);
}

.copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 40px;
  margin-top: 60px;
  color: #9ca3af; /* Medium grey */
  font-size: 0.9rem;
  text-align: center;
}

/* --- Child Panel Specific Styles --- */
.sp24-cp-hero {
  margin-bottom: 0;
  padding: 80px 50px;
}

.sp24-cp-hero-graphic {
  perspective: 1000px;
}

.sp24-cp-dashboard-mockup {
  width: 350px;
  height: 220px;
  background: #1e1e2d;
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  animation: sp24AffFloat 6s ease-in-out infinite;
  transform-style: preserve-3d;
  transform: rotateY(-15deg) rotateX(5deg);
  border: 1px solid rgba(255,255,255,0.1);
}

.sp24-cp-mockup-header {
  height: 20px;
  background: #2a2a3c;
  display: flex;
  align-items: center;
  padding: 0 10px;
  gap: 5px;
}

.sp24-cp-mockup-header .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.sp24-cp-mockup-header .dot.red { background: #ff5f56; }
.sp24-cp-mockup-header .dot.yellow { background: #ffbd2e; }
.sp24-cp-mockup-header .dot.green { background: #27c93f; }

.sp24-cp-mockup-body {
  display: flex;
  flex: 1;
}

.sp24-cp-mockup-sidebar {
  width: 60px;
  background: #232334;
  border-right: 1px solid rgba(255,255,255,0.05);
}

.sp24-cp-mockup-content {
  flex: 1;
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.sp24-cp-mockup-stats {
  display: flex;
  gap: 10px;
}

.sp24-cp-mockup-stats .mockup-stat {
  flex: 1;
  height: 40px;
  background: #2a2a3c;
  border-radius: 6px;
}

.sp24-cp-mockup-chart {
  flex: 1;
  background: #2a2a3c;
  border-radius: 6px;
  position: relative;
  overflow: hidden;
}

.sp24-cp-mockup-chart::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(to top, rgba(102, 126, 234, 0.4), transparent);
}

.sp24-cp-audience .sp24-aff-feature-card {
  border: none;
  background: #fdfdfd;
  box-shadow: 0 5px 15px rgba(0,0,0,0.03);
}

.sp24-cp-audience i {
  font-size: 40px;
  margin-bottom: 15px;
}

.sp24-cp-nameservers {
  font-size: 14px;
}

.sp24-cp-included-list li {
  font-size: 15px;
}

/* Highlighted Checkbox */
.sp24-highlight-checkbox-container {
  background-color: rgba(255, 95, 86, 0.05);
  border: 3px solid rgba(255, 95, 86, 0.3);
  padding: 15px 15px 15px 35px;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.sp24-highlight-checkbox-container:hover {
  background-color: rgba(255, 95, 86, 0.1);
  border-color: rgba(255, 95, 86, 0.5);
}

.sp24-highlight-checkbox:checked ~ .custom-control-label::before {
  background-color: #ff5f56;
  border-color: #ff5f56;
}

.sp24-highlight-checkbox-container .custom-control-label {
  color: #ff5f56;
  font-weight: 600;
  cursor: pointer;
}

/* Language Dropdown Refinement */
.sp24-lang-dropdown .nav-link::before,
.sp24-lang-dropdown .nav-link::after,
.sp24-lang-dropdown .dropdown-toggle::before,
.sp24-lang-dropdown .dropdown-toggle::after {
  display: none !important;
  content: none !important;
}

.sp24-lang-dropdown .dropdown-menu {
  min-width: 120px !important;
  padding: 8px 0 !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
  border: none !important;
  background-color: #ffffff !important;
  transform-origin: top center;
  animation: sp24DropdownFade 0.2s ease forwards;
}

.sp24-lang-dropdown .dropdown-menu::before {
  display: none !important; /* Remove the weird colored top arrow/border if present */
}

@keyframes sp24DropdownFade {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.sp24-lang-dropdown .dropdown-item {
  color: #4b4b62 !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  transition: all 0.2s !important;
  font-size: 14px !important;
  background-color: transparent !important;
}

.sp24-lang-dropdown .dropdown-item .flag-icon {
  margin-right: 10px !important;
  font-size: 16px !important;
  border-radius: 3px !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

.sp24-lang-dropdown .dropdown-item:hover,
.sp24-lang-dropdown .dropdown-item:focus {
  background-color: #f4f6fa !important;
  color: var(--sp24-aff-primary, #6f42c1) !important;
}

.sp24-lang-dropdown .dropdown-item.active {
  background-color: rgba(111, 66, 193, 0.1) !important; /* Soft purple instead of harsh blue */
  color: var(--sp24-aff-primary, #6f42c1) !important;
}

/* Custom purple theme colors for the affiliate page */
:root {
  --sp24-aff-primary: #667eea;
  --sp24-aff-secondary: #764ba2;
  --sp24-aff-light: #f3e8ff;
}

/* ==========================================================================
   DAY / NIGHT MODE GLOBALS
   ========================================================================== */

/* Night Mode Override */
html.sp24-night-mode body,
html.sp24-night-mode .theme-socialpanel24-user .page,
html.sp24-night-mode .theme-socialpanel24-user .page-main {
  background-color: #121212 !important;
  color: #e0e0e0 !important;
}

/* Night Mode Navbar */
html.sp24-night-mode .header {
  background-color: #1e1e1e !important;
  border-bottom: 1px solid #333 !important;
}

/* Night Mode Cards & Containers */
html.sp24-night-mode .card,
html.sp24-night-mode .sp24-aff-card,
html.sp24-night-mode .sp24-aff-faq-card,
html.sp24-night-mode .sp24-faq-category-card,
html.sp24-night-mode .sp24-child-feature-card,
html.sp24-night-mode .sp24-child-audience-card,
html.sp24-night-mode .sp24-child-included-box {
  background-color: #1e1e1e !important;
  color: #e0e0e0 !important;
  border-color: #333 !important;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3) !important;
}

html.sp24-night-mode .card-header,
html.sp24-night-mode .card-footer {
  background-color: #1e1e1e !important;
  border-color: #333 !important;
}

html.sp24-night-mode .bg-white {
  background-color: #1e1e1e !important;
}

/* Night Mode Texts */
html.sp24-night-mode h1, html.sp24-night-mode h2, html.sp24-night-mode h3, 
html.sp24-night-mode h4, html.sp24-night-mode h5, html.sp24-night-mode h6,
html.sp24-night-mode .text-dark,
html.sp24-night-mode .sp24-aff-faq-btn,
html.sp24-night-mode .sp24-child-faq-btn {
  color: #ffffff !important;
}

html.sp24-night-mode .text-muted {
  color: #aaaaaa !important;
}

html.sp24-night-mode .sp24-affiliate-page,
html.sp24-night-mode .sp24-child-page {
  background-color: transparent !important;
}

html.sp24-night-mode body.sp24-affiliate-body {
  background-color: #121212 !important;
}

/* Night Mode Inputs */
html.sp24-night-mode .form-control,
html.sp24-night-mode input,
html.sp24-night-mode select,
html.sp24-night-mode textarea {
  background-color: #2a2a2a !important;
  color: #fff !important;
  border-color: #444 !important;
}

/* Dropdowns */
html.sp24-night-mode .dropdown-menu {
  background-color: #1e1e1e !important;
  border-color: #333 !important;
}
html.sp24-night-mode .dropdown-item {
  color: #e0e0e0 !important;
}
html.sp24-night-mode .dropdown-item:hover,
html.sp24-night-mode .dropdown-item.active {
  background-color: #333 !important;
  color: #fff !important;
}

/* Day Mode explicit (if needed to override public dark default) */
html.sp24-day-mode body.theme-socialpanel24-general {
  background: #f4f6fa !important;
  color: #333 !important;
}
html.sp24-day-mode body.theme-socialpanel24-general .text-white {
  color: #333 !important;
}
html.sp24-day-mode body.theme-socialpanel24-general .sp24-faq-header h2,
html.sp24-day-mode body.theme-socialpanel24-general .sp24-faq-header p {
  text-shadow: none !important;
}

/* END DAY/NIGHT MODE */

/* Typography & Animations */
@keyframes sp24AffFloat {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-15px); }
  100% { transform: translateY(0px); }
}

@keyframes sp24AffPulse {
  0% { box-shadow: 0 0 0 0 rgba(102, 126, 234, 0.4); }
  70% { box-shadow: 0 0 0 10px rgba(102, 126, 234, 0); }
  100% { box-shadow: 0 0 0 0 rgba(102, 126, 234, 0); }
}

@keyframes sp24AffFadeUp {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}

.sp24-aff-animate-up {
  animation: sp24AffFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.theme-socialpanel24-general .sp24-affiliate-page {
  font-family: "Open Sans", sans-serif;
  color: #333;
  background-color: transparent !important;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

.sp24-affiliate-page.theme-socialpanel24-general {
  padding-top: 0;
}

/* Custom Purple Accent Classes */
.sp24-aff-text-primary {
  color: var(--sp24-aff-secondary) !important;
}

.sp24-aff-btn-primary {
  background: linear-gradient(135deg, var(--sp24-aff-primary) 0%, var(--sp24-aff-secondary) 100%);
  color: #fff !important;
  border: none;
  transition: all 0.3s ease;
}

.sp24-aff-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 15px rgba(102, 126, 234, 0.4);
  background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
}

.sp24-aff-btn-pulse:hover {
  animation: sp24AffPulse 1.5s infinite;
}

.sp24-aff-hero {
  background: linear-gradient(135deg, var(--sp24-aff-secondary) 0%, var(--sp24-aff-primary) 100%);
  border-radius: 12px;
  padding: 40px 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  margin-bottom: -50px; /* Overlap with link card */
  position: relative;
  z-index: 1;
  box-shadow: 0 15px 40px rgba(118, 75, 162, 0.2);
}

.sp24-aff-hero__content {
  max-width: 600px;
}

.sp24-aff-badge {
  background: rgba(255, 255, 255, 0.2);
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 20px;
}

.sp24-aff-hero h1 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #fff;
}

.sp24-aff-hero p {
  font-size: 16px;
  opacity: 0.9;
  margin-bottom: 25px;
}

.sp24-aff-hero__stats {
  display: flex;
  gap: 30px;
  margin-bottom: 30px;
}

.sp24-aff-hero-stat {
  display: flex;
  flex-direction: column;
}

.sp24-aff-hero-stat strong {
  font-size: 20px;
  font-weight: 700;
}

.sp24-aff-hero-stat span {
  font-size: 12px;
  opacity: 0.8;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.sp24-aff-hero__actions {
  display: flex;
  gap: 15px;
}

.sp24-aff-hero__actions .btn {
  padding: 12px 25px;
  font-weight: 600;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.sp24-aff-hero__actions .btn-light {
  color: var(--sp24-aff-secondary);
}

.sp24-aff-hero__actions .btn-light:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}

.sp24-aff-hero__actions .btn-outline-light:hover {
  background: #fff;
  color: var(--sp24-aff-secondary);
  transform: translateY(-3px);
}

.sp24-aff-hero__graphic {
  position: relative;
  width: 250px;
  height: 250px;
  display: none;
}

@media (min-width: 992px) {
  .sp24-aff-hero__graphic {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

.sp24-aff-circle-badge {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 2px dashed rgba(255,255,255,0.4);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  animation: sp24AffFloat 4s ease-in-out infinite;
}

.sp24-aff-circle-badge i {
  font-size: 40px;
  margin-bottom: 10px;
}

.sp24-aff-circle-badge span {
  font-weight: bold;
  letter-spacing: 1px;
}

.sp24-aff-section {
  padding: 40px 0;
  position: relative;
  z-index: 2;
  margin-top: 5%;
}

.sp24-aff-faq-accordion {
  max-width: 900px;
  margin: 0 auto;
}

/* Earnings Calculator Styles */
.sp24-aff-calc-card {
  background: #fff;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border: 1px solid #e9ecef;
  max-width: 900px;
  margin: 0 auto;
}

.sp24-aff-calc-group {
  padding-right: 30px;
}

.sp24-aff-slider {
  -webkit-appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 5px;
  background: #e9ecef;
  outline: none;
  margin: 15px 0;
}

.sp24-aff-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--sp24-aff-secondary);
  cursor: pointer;
  transition: transform 0.1s;
}

.sp24-aff-slider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

.sp24-aff-slider::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--sp24-aff-secondary);
  cursor: pointer;
  border: none;
}

.sp24-aff-calc-val {
  font-weight: 600;
  font-size: 14px;
}

.sp24-aff-calc-result {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  margin-bottom: 15px;
  background: #fff;
  transition: all 0.3s ease;
}

.sp24-aff-calc-result:hover {
  box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.sp24-aff-calc-result-highlight {
  background: var(--sp24-aff-light);
  border-color: var(--sp24-aff-light);
}

.sp24-aff-calc-result span {
  color: #666;
  font-size: 15px;
}

.sp24-aff-calc-result strong {
  font-size: 18px;
  color: #333;
}

.sp24-aff-calc-tip {
  background: #f8f9fa;
  padding: 15px 20px;
  border-radius: 8px;
  font-size: 14px;
  color: #666;
  text-align: center;
  border: 1px solid #f0f0f0;
}

.sp24-aff-calc-tip i {
  margin-right: 5px;
}

.sp24-aff-faq-card {
  border-radius: 8px !important;
  overflow: hidden;
  border-color: #e9ecef !important;
  transition: box-shadow 0.3s;
}

.sp24-aff-faq-card:hover {
  box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
}

.sp24-aff-faq-btn {
  padding: 20px 25px;
  font-size: 16px;
  font-weight: 600 !important;
  color: #333 !important;
}

/* Order Tabs Day Mode */
html.sp24-day-mode .theme-socialpanel24-user .tabs-list .nav-tabs li>a {
  color: #333333 !important;
}
html.sp24-day-mode .theme-socialpanel24-user .tabs-list .nav-tabs li>a.active,
html.sp24-day-mode .theme-socialpanel24-user .tabs-list .nav-tabs li>a:hover {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--primary-color, #764ba2), var(--secondary-color, #667eea)) !important;
  border-color: transparent !important;
}

/* Order Tabs Night Mode */
html.sp24-night-mode .theme-socialpanel24-user .tabs-list .nav-tabs li>a {
  color: #aaaaaa !important;
}
html.sp24-night-mode .theme-socialpanel24-user .tabs-list .nav-tabs li>a.active,
html.sp24-night-mode .theme-socialpanel24-user .tabs-list .nav-tabs li>a:hover {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--primary-color, #764ba2), var(--secondary-color, #667eea)) !important;
  border-color: transparent !important;
}

/* Order Resume Card Day Mode */
html.sp24-day-mode .theme-socialpanel24-user .order_resume {
  background: #ffffff !important;
  border-color: #e0e0e0 !important;
}
html.sp24-day-mode .theme-socialpanel24-user .order_resume .service-details {
  border-color: #e0e0e0 !important;
  color: #333333 !important;
}
html.sp24-day-mode .theme-socialpanel24-user .order_resume .service-name,
html.sp24-day-mode .theme-socialpanel24-user .order_resume .service-id-title {
  color: #1a1a1a !important;
}
html.sp24-day-mode .theme-socialpanel24-user .order_resume h5,
html.sp24-day-mode .theme-socialpanel24-user .order_resume h6,
html.sp24-day-mode .theme-socialpanel24-user .order_resume p,
html.sp24-day-mode .theme-socialpanel24-user .order_resume span:not(.badge):not(.text-info):not(.text-primary) {
  color: #333333 !important;
}

html.sp24-day-mode .theme-socialpanel24-user label {
  color: #333333 !important;
}

/* Order Resume Card Night Mode */
html.sp24-night-mode .theme-socialpanel24-user .order_resume {
  background: #2d2727 !important;
  border-color: #333333 !important;
}
html.sp24-night-mode .theme-socialpanel24-user .order_resume .service-details {
  border-color: #333333 !important;
  color: #e0e0e0 !important;
}
html.sp24-night-mode .theme-socialpanel24-user .order_resume .service-name,
html.sp24-night-mode .theme-socialpanel24-user .order_resume .service-id-title {
  color: #ffffff !important;
}
html.sp24-night-mode .theme-socialpanel24-user .order_resume h5,
html.sp24-night-mode .theme-socialpanel24-user .order_resume h6,
html.sp24-night-mode .theme-socialpanel24-user .order_resume p,
html.sp24-night-mode .theme-socialpanel24-user .order_resume span:not(.badge):not(.text-info):not(.text-primary) {
  color: #ffffff !important;
}

html.sp24-night-mode .theme-socialpanel24-user label,
html.sp24-night-mode .theme-socialpanel24-user .custom-control-label {
  color: #e0e0e0 !important;
}

.sp24-aff-faq-btn:hover, .sp24-aff-faq-btn:focus {
  text-decoration: none;
}

.sp24-aff-faq-btn i {
  color: #999;
  transition: transform 0.3s ease;
}

.sp24-aff-faq-btn:not(.collapsed) i {
  transform: rotate(180deg);
}

.sp24-aff-faq-card .card-body {
  padding: 20px 25px;
  background: #fdfdfd;
  font-size: 14px;
  line-height: 1.7;
}

.theme-socialpanel24-general .sp24-affiliate-page h1,
.theme-socialpanel24-general .sp24-affiliate-page h2,
.theme-socialpanel24-general .sp24-affiliate-page h3,
.theme-socialpanel24-general .sp24-affiliate-page h4,
.theme-socialpanel24-general .sp24-affiliate-page p {
  text-shadow: none;
}

.theme-socialpanel24-general .sp24-aff-link-card p,
.theme-socialpanel24-general .sp24-aff-card p,
.theme-socialpanel24-general .sp24-aff-step p,
.theme-socialpanel24-general .sp24-aff-feature-card p,
.theme-socialpanel24-general .sp24-aff-tip-card p {
  color: #666 !important;
}

.theme-socialpanel24-general .sp24-aff-link-card__header h3,
.theme-socialpanel24-general .sp24-aff-card__header h3,
.theme-socialpanel24-general .sp24-aff-step h4,
.theme-socialpanel24-general .sp24-aff-feature-card h4,
.theme-socialpanel24-general .sp24-aff-tip-card h4,
.theme-socialpanel24-general .sp24-aff-stat-box h3 {
  color: #333 !important;
}

.theme-socialpanel24-general .sp24-aff-link-card {
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  max-width: 800px;
  margin: 0 auto;
  border: 1px solid #e9ecef;
}

.sp24-aff-link-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}

.sp24-aff-link-card__header h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #333;
}

.sp24-aff-link-card p {
  color: #666;
  margin-bottom: 20px;
}

.sp24-aff-link-input-group {
  display: flex;
  margin-bottom: 20px;
}

.sp24-aff-link-input-group input {
  flex-grow: 1;
  padding: 12px 20px;
  border: 1px solid #e0e0e0;
  border-radius: 8px 0 0 8px;
  font-size: 16px;
  color: #333;
  background: #f9f9f9;
  outline: none;
}

.sp24-aff-link-input-group button {
  padding: 12px 25px;
  border-radius: 0 8px 8px 0;
  font-weight: 600;
}

.sp24-aff-share-buttons {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  font-size: 14px;
  color: #666;
}

.sp24-aff-share-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  transition: transform 0.2s;
}

.sp24-aff-share-btn:hover {
  transform: translateY(-2px);
  color: #fff;
}

.btn-twitter { background: #1DA1F2; }
.btn-facebook { background: #1877F2; }
.btn-telegram { background: #0088cc; }
.btn-whatsapp { background: #25D366; }

.sp24-aff-link-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  border-top: 1px solid #eee;
  padding-top: 20px;
}

.sp24-aff-badge-light {
  background: #e8f5e9;
  color: #2e7d32;
  padding: 6px 12px;
  font-weight: 500;
  border-radius: 6px;
  font-size: 13px;
}

.sp24-aff-section-header {
  margin-bottom: 60px;
}

.theme-socialpanel24-general .sp24-aff-section-header h2 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #333 !important;
}

.theme-socialpanel24-general .sp24-aff-section-header p {
  color: #666 !important;
  font-size: 16px;
}

.sp24-aff-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 20px;
}

.sp24-aff-stat-box {
  background: #fff;
  border-radius: 12px;
  padding: 25px 20px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  border: 1px solid #f0f0f0;
  transition: transform 0.3s;
}

.sp24-aff-stat-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
}

.sp24-aff-stat-icon {
  font-size: 24px;
  margin-bottom: 15px;
}

.sp24-aff-stat-box h3 {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 5px 0;
  color: #333;
}

.sp24-aff-stat-box p {
  font-size: 11px;
  color: #888;
  margin: 0;
  font-weight: 600;
  letter-spacing: 1px;
}

.sp24-aff-steps {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 900px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .sp24-aff-steps {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }
  .sp24-aff-step-divider {
    display: none;
  }
}

.sp24-aff-step {
  flex: 1;
  padding: 0 20px;
  position: relative;
}

.sp24-aff-step-icon {
  width: 64px;
  height: 64px;
  background: #e8f5e9;
  color: var(--sp24-aff-secondary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin: 0 auto 20px auto;
  position: relative;
}

.sp24-aff-step-num {
  position: absolute;
  top: -5px;
  right: -5px;
  background: var(--sp24-aff-secondary);
  color: #fff;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-size: 12px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
}

.theme-socialpanel24-general .sp24-aff-step h4 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #333 !important;
}

.theme-socialpanel24-general .sp24-aff-step p {
  font-size: 14px;
  color: #666 !important;
}

.sp24-aff-step-divider {
  display: flex;
  align-items: center;
  padding-top: 32px;
  color: #ccc;
  font-size: 24px;
}

.bg-light-rounded {
  background: #f9fbfd;
  border-radius: 12px;
  padding: 50px 20px;
}

.sp24-aff-features {
  row-gap: 30px;
}

.sp24-aff-feature-card {
  background: #fff;
  border: 1px solid #eee;
  padding: 30px 20px;
  border-radius: 10px;
  height: 100%;
  transition: box-shadow 0.3s;
}

.sp24-aff-feature-card:hover {
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.sp24-aff-feature-card i {
  font-size: 32px;
  margin-bottom: 20px;
  display: block;
}

.theme-socialpanel24-general .sp24-aff-feature-card h4 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #333 !important;
}

.theme-socialpanel24-general .sp24-aff-feature-card p {
  color: #666 !important;
  font-size: 14px;
  margin: 0;
}

.sp24-aff-tips {
  row-gap: 20px;
}

.sp24-aff-tip-card {
  display: flex;
  gap: 20px;
  background: #fff;
  padding: 25px;
  border-radius: 10px;
  border-left: 4px solid var(--sp24-aff-secondary);
  box-shadow: 0 4px 15px rgba(0,0,0,0.03);
  height: 100%;
}

.sp24-aff-tip-num {
  width: 40px;
  height: 40px;
  min-width: 40px;
  background: #e8f5e9;
  color: var(--sp24-aff-secondary);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
}

.theme-socialpanel24-general .sp24-aff-tip-card h4 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #333 !important;
}

.theme-socialpanel24-general .sp24-aff-tip-card p {
  font-size: 14px;
  color: #666 !important;
  margin: 0;
}

.sp24-aff-faq-accordion {
  max-width: 900px;
  margin: 0 auto;
}

.sp24-aff-footer-cta {
  background:  linear-gradient(135deg, var(--sp24-aff-primary) 0%, var(--sp24-aff-secondary) 100%);
  border-radius: 12px;
  padding: 50px 20px;
  text-align: center;
  color: #fff;
  margin-top: 40px;
}

.sp24-aff-footer-cta h2 {
  color: #fff;
  font-weight: 700;
  margin-bottom: 15px;
}

.sp24-aff-footer-cta p {
  font-size: 18px;
  opacity: 0.9;
  margin-bottom: 30px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* Existing payout styles adapted */
.sp24-aff-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.05);
  border: 1px solid #eaeaea;
  height: 100%;
}

.sp24-aff-card__header {
  padding: 20px 25px;
  border-bottom: 1px solid #f0f0f0;
}

.theme-socialpanel24-general .sp24-aff-card__header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #333 !important;
}

.sp24-aff-card__body {
  padding: 25px;
}

.sp24-btn-lg {
  padding: 12px 20px;
  font-size: 16px;
  font-weight: 600;
}

.theme-socialpanel24-general .sp24-aff-table th {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 600;
  color: #888 !important;
  border-bottom: 2px solid #f0f0f0 !important;
  background: transparent !important;
}

.theme-socialpanel24-general .sp24-aff-table td {
  vertical-align: middle;
  color: #333 !important;
  background: transparent !important;
}


 / *   O r d e r   T a b s   D a y   M o d e   * / 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . t a b s - l i s t   . n a v - t a b s   l i > a   { 
     c o l o r :   # 3 3 3 3 3 3   ! i m p o r t a n t ; 
 } 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . t a b s - l i s t   . n a v - t a b s   l i > a . a c t i v e , 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . t a b s - l i s t   . n a v - t a b s   l i > a : h o v e r   { 
     c o l o r :   # f f f f f f   ! i m p o r t a n t ; 
     b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   v a r ( - - p r i m a r y ) ,   v a r ( - - s e c o n d a r y ) )   ! i m p o r t a n t ; 
 } 
 
 / *   O r d e r   T a b s   N i g h t   M o d e   * / 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . t a b s - l i s t   . n a v - t a b s   l i > a   { 
     c o l o r :   # a a a a a a   ! i m p o r t a n t ; 
 } 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . t a b s - l i s t   . n a v - t a b s   l i > a . a c t i v e , 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . t a b s - l i s t   . n a v - t a b s   l i > a : h o v e r   { 
     c o l o r :   # f f f f f f   ! i m p o r t a n t ; 
     b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   v a r ( - - p r i m a r y ) ,   v a r ( - - s e c o n d a r y ) )   ! i m p o r t a n t ; 
 } 
 
 / *   O r d e r   R e s u m e   C a r d   D a y   M o d e   * / 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   { 
     b a c k g r o u n d :   # f f f f f f   ! i m p o r t a n t ; 
     b o r d e r - c o l o r :   # e 0 e 0 e 0   ! i m p o r t a n t ; 
 } 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   . s e r v i c e - d e t a i l s   { 
     b o r d e r - c o l o r :   # e 0 e 0 e 0   ! i m p o r t a n t ; 
     c o l o r :   # 3 3 3 3 3 3   ! i m p o r t a n t ; 
 } 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   . s e r v i c e - n a m e , 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   . s e r v i c e - i d - t i t l e   { 
     c o l o r :   # 1 a 1 a 1 a   ! i m p o r t a n t ; 
 } 
 
 / *   O r d e r   R e s u m e   C a r d   N i g h t   M o d e   * / 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   { 
     b a c k g r o u n d :   # 1 e 1 e 1 e   ! i m p o r t a n t ; 
     b o r d e r - c o l o r :   # 3 3 3 3 3 3   ! i m p o r t a n t ; 
 } 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   . s e r v i c e - d e t a i l s   { 
     b o r d e r - c o l o r :   # 3 3 3 3 3 3   ! i m p o r t a n t ; 
     c o l o r :   # e 0 e 0 e 0   ! i m p o r t a n t ; 
 } 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   . s e r v i c e - n a m e , 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   . s e r v i c e - i d - t i t l e   { 
     c o l o r :   # f f f f f f   ! i m p o r t a n t ; 
 } 
 
 
 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . c o n t e n t   h 5 , 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . c o n t e n t   h 6 , 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   h 5 , 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   h 6 , 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   p , 
 h t m l . s p 2 4 - d a y - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   s p a n   { 
     c o l o r :   # 3 3 3 3 3 3   ! i m p o r t a n t ; 
 } 
 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . c o n t e n t   h 5 , 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . c o n t e n t   h 6 , 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   h 5 , 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   h 6 , 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   p , 
 h t m l . s p 2 4 - n i g h t - m o d e   . t h e m e - s o c i a l p a n e l 2 4 - u s e r   . o r d e r _ r e s u m e   s p a n   { 
     c o l o r :   # f f f f f f   ! i m p o r t a n t ; 
 } 
 
 
 
