:root {
  /* Primary Brand Colors */
  --primary: #a83279; /* Deep magenta with warmth */
  --accent: #7b3fa0; /* Sophisticated, darker purple */

  /* Button Colors */
  --button: #8e2fa5; /* Bold violet for buttons */
  --button-hover: #73258c; /* Richer tone on hover */

  /* Background Colors */
  --white: #ffffff;
  --black: #121212;
  --text-m-light: #f4f2f8; /* Soft lavender-gray */
  --text-light: #e8e0f1; /* Pale muted lavender */

  /* Text Colors - Dark Theme */
  --text-dark: #1a1a1a;
  --text-m-dark: #2b1337; /* Deep elegant purple */
  --text-l-dark: #3e2b4f; /* For muted headings and UI text */

  /* Accent Text Colors */
  --text-blue: #4051b5; /* Indigo */
  --text-light-blue: #5a6dde; /* Calmer blue for hover links */
  --text-red: #d61f5e; /* Classy ruby red */
  --text-gray: #757575; /* Softer medium gray */
  --text-d-gray: #3d3d3d; /* High contrast dark gray */
}

/* Custom purple scrollbar for desktop */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 6px;
}

::-webkit-scrollbar-thumb {
  background: var(--primary);
  border-radius: 6px;
  border: 2px solid #f1f1f1;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
}

/* Firefox scrollbar */
body {
  scrollbar-width: thin;
  scrollbar-color: var(--primary) #f1f1f1;
}

/* Hide scrollbar only on mobile */
@media (max-width: 768px) {
  ::-webkit-scrollbar {
    display: none;
  }
  
  body {
    scrollbar-width: none;
  }
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

/* Shared Styles */
body {
  background-color: var(--white);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.custom-color {
  color: var(--primary);
}
.custom-color-2 {
  color: var(--text-light-blue);
}
.custom-color-3 {
  color: var(--text-d-gray);
}
.custom-bg-color {
  background-color: var(--primary);
}
.custom-bg-color-2 {
  background-color: var(--text-l-dark);
  color: var(--white);
}
.custom-hover {
  color: var(--white);
  transition: color 0.3s ease, text-shadow 0.3s ease;
  font-weight: 600;
}
.custom-hover:hover {
  color: var(--primary);
  font-weight: 700;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.6);
}
.custom-hover-2 {
  color: var(--text-blue);
  transition: color 0.3s ease, text-shadow 0.3s ease;
  font-weight: 600;
}
.custom-hover-2:hover {
  color: var(--text-red);
  transition: color 0.3s ease, text-shadow 0.3s ease;
  font-weight: 800;
}
.custom-hover-3 {
  color: var(--text-blue);
  transition: color 0.3s ease, text-shadow 0.3s ease;
  font-weight: 600;
}
.custom-hover-3:hover {
  transition: color 0.3s ease, text-shadow 0.3s ease;
  font-weight: 900;
}
.h-line {
  height: 1px;
  background-color: var(--primary);
}
.h-line-2 {
  height: 2px;
  background-color: var(--text-light);
}
.h-line-3 {
  height: 3px;
  background-color: var(--primary);
}

/* Topbar Styles */
.top-bar {
  height: 50px;
  background-color: #0f0914;
  color: var(--white);
  display: flex;
  align-items: center;
}
.top-bar .container > .d-flex {
  width: 100%;
  height: 100%;
  align-items: center;
}
.top-bar a {
  color: var(--text-white);
  text-decoration: none;
  transition: color 0.3s ease;
}
@media (max-width: 576px) {
  .top-bar a {
    font-size: 0.8rem;
  }
}
.top-ad-btn {
  font-size: 15px;
  background-color: var(--primary);
  border: 2px solid var(--primary);
  padding: 3px 10px;
  color: var(--white);
  border-radius: 5px;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.top-ad-btn:hover {
  color: var(--primary);
  background-color: var(--white);
  border: 2px solid var(--primary);
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .top-ad-btn {
    font-size: 14px;
    padding: 3px 8px;
  }
  .admin-btn {
    font-size: 0.8rem;
  }
}

/* Dropdown Menu Styles */
.topbar-dropdown {
  background-color: transparent;
  border-radius: 8px;
  border: none;
}
@media (max-width: 576px) {
  .topbar-dropdown {
    font-size: 0.9rem;
  }
}
.dropdown-menu {
  background-color: var(--text-l-dark);
  color: var(--white);
}
.topbar-dropdown-item {
  background-color: var(--text-l-dark);
  color: var(--white);
  padding: 5px 15px;
  font-weight: 400;
  transition: background-color 0.3s ease, color 0.3s ease;
  border: none;
}
.topbar-dropdown-item:hover {
  background-color: var(--accent);
  color: var(--white);
}

/* Dropdown Submenu Styles */
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu .dropdown-menu {
  top: -10px;
  left: 100%;
  margin-top: 10px;
  margin-right: -2px;
  background-color: var(--text-gray);
  border-radius: 8px;
  width: 150px !important;
  min-width: unset;
}
.dropdown-submenu .dropdown-menu .dropdown-item {
  font-size: 0.9rem !important;
}
.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}
@media (max-width: 576px) {
  .offcanvas.custom-width {
    width: 85% !important;
  }
}

/* Header Styles */
.navbar {
  background-color: var(--text-m-dark);
  padding: 10px 20px;
}
.header-icons {
  margin-right: -12px;
}
.header-icons a {
  color: var(--white);
  text-decoration: none;
  position: relative;
  transition: color 0.3s ease;
}
.header-icons a .badge {
  position: absolute;
  top: -7px;
  right: -7px;
  background-color: var(--primary);
  color: var(--white);
  border-radius: 50%;
  padding: 7px 10px;
  font-size: 12px;
}
.logo-title {
  font-size: 40px;
  letter-spacing: 1px;
}
@media (max-width: 767px) {
  .logo-title {
    font-size: 35px;
    margin-left: -10px;
  }
}

/* Large Search Bar Styles */
.header .header-search-bar {
  display: flex;
  align-items: center;
  border-radius: 50px;
  overflow: hidden;
  background-color: var(--white);
  width: 100%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.header .header-search-bar select,
.header .header-search-bar input,
.header .header-search-bar button {
  border: none;
  outline: none;
  height: 40px;
  font-size: 16px;
  padding: 0 15px;
}
.header .header-search-bar select {
  background-color: var(--text-m-light);
  border-right: 1px solid var(--text-light);
}
.header .header-search-bar input {
  flex-grow: 1;
  min-width: 45px;
}
.header .header-search-bar button {
  background-color: var(--primary);
  color: var(--white);
  padding: 0 20px;
  border-radius: 0 50px 50px 0;
  transition: background-color 0.3s, color 0.3s;
}
.header .header-search-bar button:hover {
  background-color: var(--text-m-light);
  color: var(--primary);
}
@media (max-width: 991px) {
  .header .header-search-bar select {
    min-width: 10vw;
    font-size: 12px;
  }
  .header .header-search-bar input {
    font-size: 12px;
  }
  .header .header-search-bar button {
    font-size: 14px;
  }
}

/* Small Menu Buttons */
.navbar-toggler {
  border: none;
  box-shadow: none !important;
  outline: none !important;
}
.btn-icon {
  font-size: 1.35rem;
  color: var(--button);
  border: none;
  background: none;
}

.btn-icon:focus-visible {
  outline: none;
  box-shadow: none;
}

/* Small Search Bar */
.search-bar-sm {
  border-radius: 12px;
  padding: 0.6rem 0.7rem;
  margin: 0.5rem 0;
}
.search-bar-sm form {
  gap: 0.3rem;
  flex-wrap: nowrap;
  align-items: center;
}
.search-bar-sm form select,
.search-bar-sm form input,
.search-bar-sm form button {
  border-radius: 6px;
  border: 1px solid var(--accent);
  font-size: 0.9rem;
}
.search-bar-sm form input:focus {
  border: 1px solid var(--accent);
  outline: none;
  box-shadow: none;
}
.search-bar-sm form select {
  min-width: 35vw;
}
.search-bar-sm form input {
  flex-grow: 1;
  min-width: 45vw;
}
.search-bar-sm form button {
  min-width: 11vw;
  background-color: var(--primary);
  border: 1px solid var(--accent);
  color: var(--white);
  border: none;
  transition: background-color 0.3s ease;
}
.search-bar-sm form button:hover {
  background-color: var(--primary);
}

/* Menu Styles */
.menu-hover {
  text-align: center;
  position: relative;
  display: inline-block;
  color: var(--button-hover);
  text-decoration: none;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 15px;
  transition: color 0.3s ease, transform 0.3s ease;
  letter-spacing: 0.5px;
}
.menu-hover::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--primary);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}
.menu-hover:hover {
  color: var(--primary);
  transform: translateY(-2px);
}
.menu-hover:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}

/* Footer Styles */
.s_footer {
  background-color: var(--text-l-dark);
  color: var(--white);
}
.custom-social-btn {
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--white);
  color: var(--white);
  transition: background-color 0.3s, color 0.3s, transform 0.3s;
  text-decoration: none;
  transition: transform 0.2s;
}
.custom-social-btn:hover {
  background-color: var(--primary);
  color: var(--white);
  transform: scale(1.1);
}

/* Copyright Styles */
.s_cright {
  background-color: var(--text-m-dark);
}

/* Login Shared Styles */
.login-card-header {
  background: linear-gradient(135deg, var(--primary), #0077ff);
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.8px;
  padding: 18px;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.login-card-body {
  background: #ffffff;
  padding: 25px 22px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  box-shadow: inset 0 0 0 transparent;
}
.login-btn {
  background: linear-gradient(135deg, var(--button), #0055cc);
  border: none;
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff;
  border-radius: 50px;
  padding: 10px 20px;
  transition: 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 85, 255, 0.2);
}
.login-btn:hover {
  background: linear-gradient(135deg, var(--button-hover), #003cb3);
  color: #fff;
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(0, 85, 255, 0.35);
}
.login-step-back:hover {
  color: #dc3545;
  font-weight: bold;
  transform: scale(1.1);
  transition: all 0.3s ease;
}
.login-form-control {
  border-radius: 12px;
  border: 2px solid #ced4da;
  padding: 10px 14px;
  transition: all 0.3s ease;
  background-color: #f9f9f9;
}
.login-form-control:focus {
  border-color: var(--button);
  background-color: #fff;
  box-shadow: 0 0 8px rgba(0, 85, 255, 0.25);
}
.google-btn {
  display: block;
  width: 100%;
  border: none;
  padding: 0;
  background: none;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
}
.google-btn-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  border: 1.5px solid #dadce0;
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 500;
  color: #3c4043;
  font-size: 1rem;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.15);
  transition: all 0.3s ease;
}
.google-btn-inner:hover {
  background-color: #f8f9fa;
  box-shadow: 0 4px 12px rgba(60, 64, 67, 0.15);
  transform: translateY(-1px);
}
.google-btn-inner:active {
  background-color: #e8eaed;
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(60, 64, 67, 0.12);
}
.google-logo {
  width: 20px;
  height: 20px;
  margin-right: 12px;
}

/* Buy Credit Styles */
.depos-card-header {
  background-color: var(--primary);
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 1.2px;
  padding: 20px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}
.depos-card-body {
  background-color: var(--text-m-light);
  padding: 25px;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}
.depos-btn {
  background-color: var(--button);
  border: none;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--white);
  border-radius: 25px;
  padding: 8px 20px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.depos-btn:hover {
  background-color: var(--button-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.depos-form-control {
  border-radius: 8px;
  border: 2px solid var(--text-light);
  padding: 12px;
  transition: border-color 0.3s ease;
  background-color: #fff;
}
.depos-form-control:focus {
  border-color: var(--button);
  box-shadow: 0 0 10px rgba(90, 79, 207, 0.25);
}

/* Credit Dashboard Styles */
.depos-history-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  border-radius: 5px;
}
.depos-history-table th,
.depos-history-table td {
  padding: 12px 15px;
  text-align: center;
  vertical-align: middle;
}
.depos-history-table thead th {
  background-color: var(--primary);
  color: var(--white);
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
}
.depos-history-table tbody tr {
  background-color: var(--white);
  transition: background-color 0.3s;
}
.depos-history-table tbody td {
  color: var(--text-m-dark);
  font-size: 1.05rem;
}
.depos-history-table a {
  text-decoration: none;
  transition: color 0.3s;
}
.depos-history-table i {
  transition: color 0.3s, transform 0.3s;
}
.depos-history-table a:hover i {
  transform: scale(1.1);
}
@media (max-width: 768px) {
  .depos-history-table th,
  .depos-history-table td {
    font-size: 0.9rem;
    padding: 8px;
  }
}
.depos-status-badge {
  width: 100%;
  padding: 0.6em 1em;
}
@media (max-width: 768px) {
  .depos-status-badge {
    font-size: 0.7rem;
    padding: 0.7em 0.7em;
  }
}

/* Referral Styles */
.referral-card {
  background-color: var(--white);
  border-radius: 6px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  padding: 2rem;
  height: 100%;
}
.referral-card:hover {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}
.referral-heading {
  font-family: monospace;
  font-size: 1.5rem;
}
.referral-link {
  word-break: break-word;
  font-family: monospace;
  font-size: 1.1rem;
}
.info-label {
  font-family: monospace;
  font-size: 1.25rem;
}
.info-value {
  font-size: 1.25rem;
  font-weight: 700;
}
.refer-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  border-radius: 5px;
}
.refer-table th,
.refer-table td {
  padding: 12px 15px;
  text-align: center;
  vertical-align: middle;
}
.refer-table thead th {
  background-color: var(--primary);
  color: var(--white);
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
}
.refer-table tbody tr {
  background-color: var(--white);
  transition: background-color 0.3s;
}
.refer-table tbody td {
  color: var(--text-m-dark);
  font-size: 1.05rem;
}
@media (max-width: 768px) {
  .refer-table th,
  .refer-table td {
    font-size: 0.9rem;
    padding: 8px;
  }
}

/* Post Add and Edit Styles */
.post-card-header {
  background-color: var(--primary);
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 1.2px;
  padding: 20px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}
.post-card-body {
  background-color: var(--text-m-light);
  padding: 25px;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}
.post-btn {
  background-color: var(--button);
  border: none;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--white);
  border-radius: 25px;
  padding: 8px 20px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.post-btn:hover {
  background-color: var(--button-hover);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.post-form-control {
  border-radius: 10px;
  border: 2px solid var(--text-light);
  padding: 10px;
  transition: border-color 0.3s ease;
}
.post-form-control:focus {
  border-color: var(--button);
  box-shadow: 0 0 8px rgba(0, 36, 125, 0.3);
}

/* Post Listings Styles */
.post-grid {
  /* display: grid;*/
  /*grid-template-columns: repeat(4, 1fr);*/
  /*gap: 30px;*/
  /*justify-content: center;*/
  /*justify-items: center;*/
  /*padding: 20px 0; */
  display: grid;
  justify-content: center;
  justify-items: center;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  padding: 20px 0;
}
@media (max-width: 576px) {
  .post-grid {
    grid-template-columns: 1fr;
  }
}
.post-card {
  /* background-color: var(--white);*/
  /*border-radius: 12px;*/
  /*box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);*/
  /*overflow: hidden;*/
  /*display: flex;*/
  /*flex-direction: column;*/
  /*height: 100%;*/
  /*max-width: 100%;*/
  /*width: 100%; */
  background-color: var(--white);
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  max-width: 310px;
}
@media (max-width: 768px) {
  .post-card {
    max-width: 315px;
  }
}
.post-card:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.post-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  transition: filter 0.3s ease;
}
.post-card:hover .post-image {
  filter: brightness(0.95);
}
.post-content {
  padding: 24px;
}
.post-title {
  color: var(--text-m-dark);
  text-decoration: none;
  transition: color 0.3s ease;
}
.post-title:hover {
  color: var(--text-light-blue);
}
.post-category {
  font-size: 18px;
}
.post-description {
  color: var(--text-gray);
  font-size: 16px;
  line-height: 1.5;
}
.post-button {
  width: 75px;
  padding: 6px 10px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}

/* Admin Post Table Styles */
.post-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  border-radius: 4px;
}
.post-table th,
.post-table td {
  padding: 12px 15px;
  text-align: center;
  vertical-align: middle;
}
.post-table thead th {
  background-color: var(--primary);
  color: var(--white);
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
}
.post-table tbody tr {
  background-color: var(--white);
  transition: background-color 0.3s;
}
.post-table tbody td {
  color: var(--text-m-dark);
  font-size: 1.05rem;
}
.post-table a {
  text-decoration: none;
  transition: color 0.3s;
}
.post-table i {
  transition: color 0.3s, transform 0.3s;
}
.post-table a:hover i {
  transform: scale(1.1);
}
@media (max-width: 768px) {
  .post-table th,
  .post-table td {
    font-size: 0.9rem;
    padding: 8px;
  }
}

/* Post Details Styles */
.post-single-description {
  text-align: justify;
  font-size: 1.15rem;
  line-height: 1.8;
  color: var(--text-d-gray);
}
.post-single-date {
  font-size: 0.9rem;
  color: var(--text-gray);
  margin-top: 10px;
  margin-right: 18px;
  font-style: italic;
  text-align: right;
}

/* Post Image Gallery Styles */
.main-image {
  height: 400px;
}
.main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}
.small-image {
  height: 192px;
}
.small-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .main-image {
    height: 250px;
  }
  .small-image {
    height: 120px;
  }
}

/* Media Styles */
.media-table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
  background-color: var(--text-m-light);
  border-radius: 8px;
  overflow: hidden;
}
.media-table th,
.media-table td {
  padding: 16px;
  text-align: center;
  vertical-align: middle;
}
.media-table th {
  background-color: var(--primary);
  color: var(--white);
  font-weight: bold;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 16px;
}
.media-table td {
  background-color: var(--white);
  font-size: 15px;
}
.media-table tbody tr:hover {
  background-color: var(--text-light);
  transition: background-color 0.3s ease;
}
.copy-btn {
  display: inline-block;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 992px) {
  .media-table th,
  .media-table td {
    font-size: 14px;
    padding: 12px;
  }
  .media-table {
    box-shadow: none;
  }
}
@media (max-width: 768px) {
  .media-table th,
  .media-table td {
    font-size: 12px;
    padding: 10px;
  }
  .media-table {
    border-spacing: 5px;
  }
  .btn-outline-primary {
    padding: 6px 10px;
    font-size: 12px;
  }
}
/* Media/Image Upload Styles */
.form-input input {
  display: none;
}
#succ,
#pro {
  display: none;
}
.form-input label {
  display: block;
  cursor: pointer;
}
.form-input img {
  opacity: 0.8;
}
#arrow {
  cursor: pointer;
}

/* Blog Styles */
.blgs-grid {
  display: grid;
  justify-content: center;
  justify-items: center;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  padding: 20px 0;
}
.blgs-card {
  background-color: var(--white);
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  max-width: 310px;
}
.blgs-card:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.blgs-card-header {
  background-color: var(--primary);
  color: white;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 1.2px;
  padding: 20px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}
.blgs-card-body {
  background-color: var(--light);
  padding: 25px;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}
.blgs-btn {
  background-color: var(--button);
  border: none;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--white);
  border-radius: 25px;
  padding: 8px 20px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.blgs-btn:hover {
  background-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.blgs-form-control {
  border-radius: 8px;
  border: 2px solid var(--text-light);
  padding: 12px;
  transition: border-color 0.3s ease;
  background-color: var(--white);
}
.blgs-form-control:focus {
  border: 1px solid var(--accent);
  border-color: var(--accent);
  box-shadow: 0 0 10px rgba(90, 79, 207, 0.25);
}
.blgs-image {
  width: 100%;
  height: 220px;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  transition: filter 0.3s ease;
}
.blgs-card:hover .blgs-image {
  filter: brightness(0.95);
}
.blgs-title {
  font-size: 1.15rem;
  line-height: 1.35;
  color: var(--text-l-dark);
  text-decoration: none;
  transition: color 0.3s ease;
}
.blgs-title:hover {
  color: var(--accent);
}
.blgs-description {
  text-align: justify;
  color: var(--charcoal);
  font-size: 0.9rem;
  line-height: 1.25;
}
.blgs-button {
  width: 75px;
  padding: 6px 10px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 768px) {
  .blgs-grid {
    grid-template-columns: 1fr;
  }
}
.blgs-read-more {
  color: var(--text-m-dark);
  font-size: 0.85rem;
}
.blgs-read-more:hover {
  color: var(--button);
}

/* Single Blog Styles */
.blgs-single .card {
  border-radius: 10px !important;
  background-color: var(--white) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
}
.blgs-single-card {
  max-width: 980px;
  margin: 0 auto;
  padding: 20px;
  background-color: var(--white);
  border-radius: 15px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.blgs-single-card img {
  width: 100%;
  max-width: 750px;
  height: auto;
  object-fit: contain;
  border-radius: 0.6rem;
  display: block;
}
.blgs-single-description img {
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 0.5rem;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.blgs-single-title {
  font-size: 2.3rem;
  color: var(--primary);
  text-align: center;
}
.blgs-single-description {
  font-size: 1.1rem;
  line-height: 1.5;
  color: var(--charcoal);
  text-align: justify;
}
.blgs-single-date {
  font-size: 0.95rem;
  color: var(--charcoal);
  margin-right: 3rem;
  font-style: italic;
  text-align: right;
}
@media (max-width: 768px) {
  .blgs-single-title {
    font-size: 1.8rem;
  }
  .blgs-single-description {
    font-size: 1rem;
  }
  .blgs-single-date {
    font-size: 0.8rem;
    margin-right: 0px;
    text-align: center;
  }
}
.cmnt-header {
  background-color: var(--primary);
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 1.2px;
  padding: 20px;
  border-top-left-radius: 9px !important;
  border-top-right-radius: 9px !important;
}
.cmnt-form-control {
  border-radius: 8px;
  border: 1px solid var(--text-light);
  padding: 12px;
  transition: border-color 0.3s ease;
  background-color: var(--white);
}
.cmnt-form-control:focus {
  border-color: var(--accent);
  box-shadow: 0 0 10px rgba(90, 79, 207, 0.25);
}
.cmnt-btn {
  background-color: var(--button);
  border: none;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--white);
  border-radius: 25px;
  padding: 8px 20px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.cmnt-btn:hover {
  background-color: var(--accent);
  transform: translateY(-2px);
  color: var(--white);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.admin-blgs-comments .card {
  border-radius: 10px !important;
  background-color: var(--white) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
}

/* Membership Styles */
.membership-card {
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: var(--text-m-light);
  border-radius: 1rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.3s ease;
}
.membership-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}
.membership-card .buy-btn {
  background-color: var(--button-hover);
  color: var(--white);
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 0.3rem;
  width: 8rem;
}
.membership-card .buy-btn:hover {
  background-color: var(--button);
  border-color: var(--button-hover);
}
.membership-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  border-radius: 5px;
}
.membership-table th,
.membership-table td {
  padding: 12px 15px;
  text-align: center;
  vertical-align: middle;
}
.membership-table thead th {
  background-color: var(--primary);
  color: var(--white);
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
}
.membership-table tbody tr {
  background-color: var(--white);
  transition: background-color 0.3s;
}
.membership-table tbody td {
  color: var(--text-m-dark);
  font-size: 1.05rem;
}
.membership-table a {
  text-decoration: none;
  transition: color 0.3s;
}
@media (max-width: 768px) {
  .membership-table th,
  .membership-table td {
    font-size: 0.9rem;
    padding: 8px;
  }
}

/* Withdrawals Styles */
.withdw-card-header {
  background-color: var(--primary);
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 1.2px;
  padding: 20px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}
.withdw-card-body {
  background-color: var(--text-m-light);
  padding: 25px;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}
.withdw-btn {
  background-color: var(--button);
  border: none;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--white);
  border-radius: 25px;
  padding: 8px 20px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.withdw-btn:hover {
  background-color: var(--button-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.withdw-form-control {
  border-radius: 8px;
  border: 2px solid var(--text-light);
  padding: 12px;
  transition: border-color 0.3s ease;
  background-color: #fff;
}
.withdw-form-control:focus {
  border-color: var(--button);
  box-shadow: 0 0 10px rgba(90, 79, 207, 0.25);
}

/* Withdrawal Dashboard Styles */
.withdw-history-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  border-radius: 5px;
}
.withdw-history-table th,
.withdw-history-table td {
  padding: 12px 15px;
  text-align: center;
  vertical-align: middle;
}
.withdw-history-table thead th {
  background-color: var(--primary);
  color: var(--white);
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
}
.withdw-history-table tbody tr {
  background-color: var(--white);
  transition: background-color 0.3s;
}
.withdw-history-table tbody td {
  color: var(--text-m-dark);
  font-size: 1.05rem;
}
.withdw-history-table a {
  text-decoration: none;
  transition: color 0.3s;
}
.withdw-history-table i {
  transition: color 0.3s, transform 0.3s;
}
.withdw-history-table a:hover i {
  transform: scale(1.1);
}
@media (max-width: 768px) {
  .withdw-history-table th,
  .withdw-history-table td {
    font-size: 0.9rem;
    padding: 8px;
  }
}
.withdw-status-badge {
  width: 100%;
  padding: 0.6em 1em;
}
@media (max-width: 768px) {
  .withdw-status-badge {
    font-size: 0.7rem;
    padding: 0.7em 0.7em;
  }
}

/* Header City Suggestions Styles */
#headerCitySuggestions {
    position: absolute;
    background: #fff;
    border: 1px solid #ddd;
    border-top: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    max-height: 300px;
    overflow-y: auto;
    z-index: 9999;
    display: none;
    width: 100%;
    border-radius: 0 0 4px 4px;
}

.header-city-suggestions {
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-suggestion-item {
    padding: 10px 15px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s ease;
    font-size: 14px;
    color: #333;
}

.header-suggestion-item:last-child {
    border-bottom: none;
}

.header-suggestion-item:hover,
.header-suggestion-item.selected {
    background-color: #f8f9fa;
    color: #007bff;
}

.header-suggestion-item.no-results {
    color: #6c757d;
    font-style: italic;
    cursor: default;
}

.header-suggestion-item.no-results:hover {
    background-color: transparent;
}

/* Scrollbar styling for the suggestions */
#headerCitySuggestions::-webkit-scrollbar {
    width: 8px;
}

#headerCitySuggestions::-webkit-scrollbar-track {
    background: #f1f1f1;
}

#headerCitySuggestions::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

#headerCitySuggestions::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}
