:root {
  /* Main Colors */
  --primary: #d63384;
  --accent: #9b59b6;

  /* Button Colors */
  --button: #7309a0d8;
  --button-hover: #6f1e92;

  /* Background Colors */
  --white: #ffffff;
  --text-m-light: #f8f8f8;
  --text-light: #d1c4e9;
  --black: #1a1a1a;

  /* Dark Text and Backgrounds */
  --text-dark: #1a1a1a;
  --text-m-dark: #2d0d35;
  --text-l-dark: #32243e;

  /* Accent Text Colors */
  --text-blue: #3c4a9c;
  --text-light-blue: #5168e6;
  --text-red: #e91e63;
  --text-gray: #6b7280;
  --text-d-gray: #46484a;
}

/* Hide Scrollbar */
::-webkit-scrollbar {
  display: 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;
  scrollbar-width: none;
}
.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-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: 4px;
  background-color: var(--primary);
}
.h-line-2 {
  height: 2px;
  background-color: var(--text-light);
}

/* Topbar styles: web-topbar.php */
.top-bar {
  height: 50px;
  background-color: var(--text-l-dark);
  color: var(--white);
  padding: 10px 0;
}
.top-bar a {
  color: var(--text-white);
  text-decoration: none;
  transition: color 0.3s ease;
}
.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: 3px 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;
  }
}

/* Dropdown Menu Styles: web-topbar.php */
.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: web-topbar.php */
.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;
}

/* Header styles: web-header.php*/
.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;
  }
  .wish-cart-font {
    font-size: 0.9rem;
  }
}

/* Large Search Bar styles: web-header.php */
.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 Search Bar styles: web-menu.php */
.search-bar-sm {
  display: flex;
  align-items: center;
  border-radius: 50px;
  overflow: hidden;
  background-color: var(--white);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  width: 100%;
  min-width: auto;
  transition: box-shadow 0.3s ease-in-out;
}
.search-bar-sm:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.search-bar-sm select,
.search-bar-sm input {
  border: none;
  outline: none;
  padding: 0px 5px;
  background-color: var(--white);
}
.search-bar-sm select {
  border-right: 1px solid var(--text-light);
  font-weight: 500;
  font-size: 12px;
  color: var(--text-gray);
  min-width: 28vw;
}
.search-bar-sm input {
  flex-grow: 1;
  font-size: 14px;
  padding: 5px;
  width: 45vw;
}
.search-bar-sm button {
  background-color: var(--primary);
  color: var(--white);
  border: none;
  min-width: 10vw;
  padding: 8px 15px;
  border-radius: 0 50px 50px 0;
  transition: background-color 0.3s ease-in-out;
}
.search-bar-sm button:hover {
  background-color: var(--primary);
}

/* Small Search Button styles: web-menu.php */
.small-search {
  font-size: 25px;
  background-color: var(--primary);
  color: var(--white);
  padding: 8px 15px;
  border-radius: 12%;
  transition: all 0.3s ease-in-out;
  margin-right: -15px;
}
.small-search:hover {
  color: var(--primary);
  background-color: var(--white);
  border: 4px solid var(--text-m-dark);
  outline: none;
}

/* Menu styles */
.menu-hover {
  text-align: center;
  position: relative;
  display: inline-block;
  color: var(--button-hover);
  text-decoration: none;
  padding: 10px 15px;
  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: web-footer.php */
.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: web-cright.php */
.s_cright {
  background-color: var(--text-m-dark);
}

/* Login System Shared Styles */
.log-system-card-header {
  background-color: var(--primary);
  color: var(--white);
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 1px;
  padding: 15px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.log-system-card-body {
  background-color: var(--text-m-light);
  padding: 20px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}
.log-system-btn {
  background-color: var(--button);
  border: none;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--white);
  border-radius: 30px;
  padding: 9px 15px;
  transition: all 0.4s ease-in-out;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.log-system-btn:hover {
  background-color: var(--button-hover);
  color: var(--white);
  transform: translate(-3px) scale(1.03);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}
.log-system-step-back:hover {
  color: var(--text-red);
  font-weight: bold;
  transform: scale(1.1);
  transition: color 0.3s ease;
}
.log-system-form-control {
  border-radius: 10px;
  border: 2px solid var(--text-light);
  padding: 10px;
  transition: border-color 0.3s ease;
}
.log-system-form-control:focus {
  border-color: var(--button);
  box-shadow: 0 0 8px rgba(0, 36, 125, 0.3);
}

/* Posting Ad and Edit Styles: post-add.php , post-edit.php, admin-post-edit.php */
.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);
}

/* Listings Styles: post-all, post-categories, post-all-user.php, index.php */
.post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  padding: 40px 0;
}
.post-card {
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.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;
}
@media (max-width: 768px) {
  .post-grid {
    grid-template-columns: 1fr;
  }
}

/* Admin Ads Table Styles: admin-post-update.php */
.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;
  }
}

/* Ad Details Styles: post-single.php */
.post-single-location,
.post-single-category {
  font-size: 1.2rem;
  line-height: 1.8;
  color: var(--text-d-gray);
}
.post-single-description {
  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;
}

/* Ads Comments Styles: post-single.php */
.c-box-card-header {
  background-color: var(--primary);
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 15px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  text-transform: uppercase;
}
.c-box-card-body {
  background-color: var(--text-m-light);
  padding: 20px;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.c-box-btn {
  background-color: var(--button);
  border: none;
  font-size: 1rem;
  font-weight: 500;
  color: var(--white);
  border-radius: 25px;
  padding: 10px 24px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.c-box-btn:hover {
  background-color: var(--button-hover);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.25);
}
.c-box-form-control {
  border-radius: 8px;
  border: 1.5px solid var(--text-light);
  padding: 12px;
  transition: border-color 0.3s ease;
}
.c-box-form-control:focus {
  border-color: var(--button);
  box-shadow: 0 0 8px rgba(0, 53, 128, 0.2);
}

/* Image Gallery Styles: post-single.php */
.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;
  }
}
