/*
Theme Name: Flatsome Child
Template: flatsome
Version: 1.0.0
*/

/* Add your custom styles here */
@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Phudu:wght@300..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");

:root {
  --color-primary: #13827b;
}

div.woocommerce form .form-row label.error {
    color: #f44336;
    position: static;
    padding-top: 8px;
}

.dv-btn-start {
    background: #B0422C;
    color: #fff;
    border-radius: 100px;
    padding: 14px 24px;
    font-family: 'Phudu';
    font-weight: 600;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    width: fit-content;
}

.dv-btn-start:hover {
    background: linear-gradient(180deg, #ffbd59 0%, #f0532c 100%) !important;
    color: #fff;
}

.dv-ppa div#ppa-form-wrapper {
    padding: 60px 20px;
    max-width: 1180px;
    margin: 0 auto;
}

.city-box {
  box-shadow: 3px 3px 4px 0px #00000040;
  background-color: #f6f4e7;
  overflow: hidden;
  border-radius: 15px;
}

.city-img {
  position: relative;
  padding-top: 65%;
}

.city-img img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-size: cover;
}

.city-text {
  padding: 20px 10px;
}

.city-text h3 {
  font-family: "Phudu", sans-serif;
  font-weight: 700;
  font-size: 61px;
  line-height: 100%;
  margin: 0;
  margin-bottom: 15px;
  color: #ea8950;
}

.city-directory .col:last-child .city-text h3 {
  color: #13827b;
}

.city-box-l img {
  width: 86px;
  height: 86px;
}

.city-box-l {
  text-align: center;
}

.feature-box .elementor-heading-title {
  font-family: Archivo Black;
  font-weight: 400;
  font-size: 97px;
  line-height: 100%;
  letter-spacing: -1.5%;
  text-align: center;
  vertical-align: middle;
  text-transform: none;
  max-width: 60%;
  text-align: center;
  margin: 0 auto;
}

.feature-box .elementor-widget-text-editor p {
  max-width: 55%;
  text-align: center;
  margin: 0 auto;
}

.directory-box {
  margin: 0 auto;
  position: relative;
  width: 100%;
  background-color: var(--color-primary);
  border-radius: 20px;
  height: 100%;
}

.directory-box.no-active {
  background-color: #a6a6a6;
}

.box-image {
  height: auto;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

.image-cover {
  background-position: 50% 50%;
  background-size: cover;
  height: auto;
  overflow: hidden;
  padding-top: 80%;
  position: relative;
}

.image-cover img {
  bottom: 0;
  font-family: "object-fit: cover;";
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.box-image img {
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
}

.image-logo {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 99px;
  position: absolute;
  top: 30px;
  left: 30px;
  overflow: hidden;
}

.directory-box .people-picks {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
}

.box-text {
  padding: 20px 30px 24px; 
  color: #fff;
}

.box-text h3 {
  font-family: "Phudu", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 30px;
  color: #fff;
  margin: 0;
  margin-bottom: 10px;
  min-height: 60px;
  overflow: hidden;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.box-text h3 a {
  color: #fff;
}

.box-text .excerpt {
  font-family: "Nunito", serif;
  font-weight: 400;
  font-size: 14px;
  overflow: hidden;
  margin-bottom: 20px;
	max-height: 3em;
    line-height: 1.5em;
	display: block !important;
}

.box-text .working-hours {
  font-family: "Nunito Sans", serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 16.24px;
  margin-bottom: 15px;
  max-height: 32px;
  min-height: 32px;
  overflow: hidden;
}

.box-text .directory-tags {
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: 10px;
}

.box-text .directory-tags .tag {
  font-family: "Nunito", serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16.37px;
  padding: 4px 16px;
  border: 1px solid #fff;
  border-radius: 99px;
}

.click-link {
  width: 72px;
  height: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 30px;
  bottom: -15px;
  background-color: var(--color-primary);
  border-top-left-radius: 99px;
  border-top-right-radius: 99px;
}

.click-link a {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 99px;
}

.form-top {
  position: relative;
  background-color: #f5f4f4;
  height: 48px;
  border-radius: 99px;
  margin-bottom: 20px;
}

.form-top svg {
  position: absolute;
  top: 12px;
  left: 12px;
}

.form-top input[type="text"] {
  border: none;
  background-color: transparent;
  font-family: "Phudu", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 30px;
  color: #000;
  border-radius: 99px;
  padding: 5px 44px;
}

.form-top input[type="text"]::placeholder {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
}

input:focus-visible {
  border: none !important;
  outline: none !important;
}

.form-top button {
  position: absolute;
  top: 0;
  right: 0;
  background-color: transparent !important;
  color: #000000 !important;
  border: none !important;
  font-weight: 600;
  font-size: 24px;
  line-height: 30px;
  font-family: "Phudu", serif;
}

.form-mid {
  color: #fff;
  font-family: Nunito;
  font-weight: 400;
  font-size: 16px;
  line-height: 135%;
  vertical-align: middle;
  text-align: center;
  margin-bottom: 20px;
}

.form-bot {
  gap: 20px;
  margin-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
}

.form-bot .box-select {
  min-height: 48px;
  background-color: #f5f4f4;
  border-radius: 99px;
  padding-right: 20px;
}

.form-bot select {
  border: none !important;
  outline: none !important;
  min-height: 48px;
  background-color: transparent;
  border-radius: 99px;
  font-family: "Nunito", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 21.6px;
  width: fit-content;
}

.form-bot select:focus,
.form-bot select:focus-visible {
  border: none !important;
  outline: none !important;
}

.search-results-text {
  font-family: "Phudu", serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 30px;
  color: #00000080;
}

.search-results-content {
  padding-top: 80px;
}

.directory-result {
  display: flex;
  flex-flow: row wrap;
  margin-left: -10px;
  margin-right: -10px;
}

.directory-col {
  flex-basis: 33.3333333333%;
  max-width: 33.3333333333%;
  padding: 0 10px 40px;
}

.select-box * {
  cursor: pointer !important;
  max-width: 100%;
}

.select-box {
  position: relative;
  background-color: #f5f4f4;
  height: 48px;
  border-radius: 99px;
}

.select-box.active {
  background-color: #313131;
  color: #fff;
}

.select-box.active svg path {
  stroke: #fff;
}

.select-box svg {
  position: absolute;
  top: 12px;
  right: 20px;
  transition: transform 0.3s ease;
}

.select-box.active:not(.up) svg {
  transform: rotate(180deg);
}

.select-box .select2-search,
.select-box .select2-selection__clear {
  display: none;
}

.select-box label {
  position: absolute;
  font-family: "Nunito", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 21.6px;
  top: 15px;
  left: 15px;
}

.select-box .select2 {
  min-width: 120px;
}

.select-box .select2 * {
  background-color: transparent;
}

.select-box .select2-selection {
  border: none !important;
  height: 48px;
  padding: 0;
}

.select2-container--open .select2-dropdown--below {
  background-color: transparent;
  border: none;
  top: 15px;
}

.logged-in .select2-container--open .select2-dropdown--below {
  top: 47px;
}

.select2-container--default .select2-results > .select2-results__options {
  max-height: 400px;
  overflow-y: auto;
  background-color: #f9f9f9;
  border-radius: 10px;
  padding: 20px;
  min-width: 250px;
}

.select2-container--default
  .select2-results
  > .select2-results__options::-webkit-scrollbar {
  width: 4px;
}

.select2-container--default
  .select2-results
  > .select2-results__options::-webkit-scrollbar-track {
  background: #f9f9f9;
  border-radius: 10px;
}

.select2-container--default
  .select2-results
  > .select2-results__options::-webkit-scrollbar-thumb {
  background: #aaa;
  border-radius: 10px;
}

.select2-container--default
  .select2-results
  > .select2-results__options::-webkit-scrollbar-thumb:hover {
  background: #888;
}

.select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered {
  display: none;
}

.select2-results__option[aria-selected] {
  font-family: "Nunito", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  padding: 16px 0;
  padding-left: 30px;
  position: relative;
  border-bottom: 0.5px solid #c9c8c8;
}

.select2-results__option--highlighted .select2-results__option--selected {
  background-color: var(--color-primary);
}

#show-data-select ul {
  display: block;
  overflow: visible;
  list-style: none;
  padding: 0;
}

#show-data-select ul li {
  display: inline-block;
  width: auto;
  margin-right: 12px;
  margin-top: 10px;
  background: #f5f5f5;
  border-color: #5a5a5a;
  padding: 9px 15px;
  border-radius: 99px;
  border: 1px solid;
}

#show-data-select ul li span {
  font-weight: 700;
  font-size: 20px;
  cursor: pointer;
}

#directory-search-results {
  padding-top: 30px;
}

body.loading,
#directory-search-results.loading {
  position: relative;
  min-height: 100px;
}

body.loading::before,
#directory-search-results.loading::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 100px;
  background: rgba(255, 255, 255, 0.5);
  background-image: url(/wp-content/uploads/2025/05/loading-7528_128.gif);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50px 50px;
  z-index: 10;
}

body.loading::before {
  max-height: 100vh;
  background: rgba(0, 0, 0, 0.1);
  background-image: url(/wp-content/uploads/2025/05/loading-7528_128.gif);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50px 50px;
}

#directory-search-results .load-more {
  font-family: "Phudu", serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 16px;
  letter-spacing: 1.25px;
  text-align: center;
  background-color: #ea8950;
  color: #fff;
  padding: 12px 30px;
  border-color: #ea8950;
  border-radius: 99px;
  margin: 0 auto;
  display: block;
}

#show-keyword {
  font-family: "Phudu", serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 30px;
  color: #00000080;
}

.select2-container--default
  .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--selected {
  background-color: transparent !important;
  color: #000 !important;
}

.select2-results__option.select2-results__option--selectable::before {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  border: 1px solid;
  border-radius: 2px;
  left: 0;
  background-size: contain;
  background-repeat: no-repeat;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.select2-results__option.select2-results__option--selectable:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Crect x='0.5' y='0.5' width='23' height='23' rx='1.5' fill='%23EA8950' stroke='%23EA8950'/%3E%3Ccircle cx='12' cy='12' r='4' fill='white'/%3E%3C/svg%3E");
}

.select2-container--default .select2-results__option--selected::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Crect x='0.5' y='0.5' width='23' height='23' rx='1.5' fill='black' stroke='black'/%3E%3Ccircle cx='12' cy='12' r='4' fill='white'/%3E%3C/svg%3E") !important;
  opacity: 1;
}

.number-result {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 21.6px;
  color: #00000080;
}

.custom-breadcrumb {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 21.6px;
  color: #000;
  opacity: 60%;
}

.custom-breadcrumb a {
  font-weight: 400;
  color: #000;
}

.custom-achive-title {
  font-family: "Phudu", serif !important;
  font-weight: 700;
  font-size: 48px;
  line-height: 58.8px;
  color: var(--color-primary);
}

.category-description {
  padding-top: 50px;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
}

#sort-order {
  border: none !important;
  border-bottom: 1px solid #000 !important;
  border-radius: 0;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 21.6px;
  width: fit-content;
  padding: 5px 0;
}

#directory-search-form {
  display: none;
}

.form-result {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 20px;
}

select:focus-visible {
  border: 0 !important;
}

.select2-dropdown--above .select2-results__options {
  margin-top: 0 !important;
}

.select2-container--default .select2-results__group {
  font-family: "Nunito", sans-serif;
  font-weight: 800;
  font-size: 16px;
  line-height: 21.6px;
  padding: 0;
}

.select2-container--default
  .select2-results__option[role="group"]
  .select2-results__option {
  padding-left: 44px;
}

.select2-container--default .select2-results__option[role="group"] {
  margin-bottom: 15px;
}

.category-select .select2 {
  min-width: 100%;
  width: 100%;
}

#select2-category-select-results {
  width: 600px;
}

#select2-category-select-results
  .select2-results__option
  .select2-results__options {
  -webkit-column-count: 2;
  column-count: 2;
}

#custom-search-form .category-filter {
  width: calc(70% - 10px);
}

#custom-search-form .city-filter {
  width: calc(30% - 10px);
}

.box-slider .elementor-swiper {
  overflow: hidden;
}

.box-category .elementor-widget-container,
.box-category .elementor-widget:not(:last-child),
.box-category .elementor-widget-container a,
.box-category .elementor-widget-container img {
  height: 100%;
  object-fit: cover;
}

.box-category .elementor-widget-heading {
  position: absolute;
  bottom: 50px;
  left: 50px;
  background-color: #f6f4e7;
  padding: 5px 10px;
  border-radius: 99px;
  max-height: 40px;
}

.box-category .elementor-heading-title {
  font-family: "Phudu", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 30px;
}

.related-title {
  font-family: "Phudu", serif !important;
  font-weight: 700;
  font-size: 48px;
  line-height: 58.8px;
  text-transform: uppercase;
  color: #000;
  margin: 0;
  margin-bottom: 60px;
}

.related-posts-swiper {
  overflow: hidden;
  position: relative;
}

.related-posts-swiper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 15%;
  height: 100%;
  background: linear-gradient(
    270deg,
    rgba(242, 246, 245, 0) 30.72%,
    rgba(242, 246, 245, 0.71) 100%
  );
  z-index: 2;
  backdrop-filter: blur(1px);
}

.related-posts-swiper::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  width: 15%;
  height: 100%;
  background: linear-gradient(
    270deg,
    rgba(242, 246, 245, 0) 30.72%,
    rgba(242, 246, 245, 0.71) 100%
  );
  backdrop-filter: blur(1px);
  z-index: 2;
  transform: rotate(180deg);
}

.related-posts-swiper .swiper-button-prev,
.related-posts-swiper .swiper-button-next {
  width: 70px;
  height: 70px;
  background-color: #d9d9d9;
  border-radius: 99px;
  color: #000;
  font-weight: 700;
  top: calc(50%);
  transform: translateY(-50%);
}

.elementor-element.slider-nav {
  position: absolute;
  max-width: 1200px;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.related-posts-swiper .swiper-button-prev {
  left: 10%;
}

.related-posts-swiper .swiper-button-next {
  right: 10%;
}

.custom-auth-form h2 {
  font-family: Phudu;
  font-weight: 700;
  font-size: 48px;
  line-height: 58.8px;
}

.custom-auth-form input {
  border: 1px solid #ddd !important;
  height: 50px;
  border-radius: 12px;
}

.custom-auth-form textarea {
  border: 1px solid #ddd !important;
  border-radius: 12px;
}

.custom-auth-form label {
  font-size: 16px;
  color: #666666;
  margin-bottom: 10px;
}

.custom-auth-form .form-group {
  margin-bottom: 15px;
}

.custom-auth-form .submit-button {
  background-color: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
  min-height: 50px;
  min-width: 200px;
  border-radius: 12px;
}

.input-group {
  position: relative;
  padding-bottom: 20px;
}

.input-group label.error {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0;
  font-size: 14px;
  color: #b20000;
}

.input-select label.error {
  height: 16px;
  display: block;
  top: unset;
  bottom: -17px;
}

.show-password-input {
  cursor: pointer;
  line-height: 1.35;
  padding: 0.618em;
  position: absolute;
  right: 10px;
  top: 32px;
  bottom: 1px;
  border: 0;
  width: 30px;
  height: 30px;
  color: #000;
}

.show-password-input:after {
  content: "\f530";
  font-family: dashicons;
  display: inline-block;
  line-height: 1;
  font-weight: 400;
  font-style: normal;
}

.show-password-input.display-password:after {
  content: "\f177";
  background: #fff;
}

#custom-search-form
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered {
  display: block;
  font-size: 14px;
  height: 48px;
}

#custom-search-form
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered
  li {
  border: 0;
  margin: 0;
  margin-top: 10px;
  color: var(--e-global-color-primary);
  background-color: #f5f4f4;
  padding-top: 5px;
  margin-left: 10px;
}

#custom-search-form
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered
  li:not(:last-child)::after {
  content: ",";
}

#custom-search-form
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered
  li
  button {
  display: none;
}

#custom-search-form
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered
  li:nth-child(n + 3) {
  content: "...";
  width: 30px;
}

#custom-search-form
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered
  li:nth-child(n + 4) {
  display: none;
}

#custom-search-form
  .category-filter
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered
  li:nth-child(n + 3) {
  content: "...";
  width: 100px;
}

a.forgot-password {
  font-size: 14px;
  text-transform: none;
  font-family: "Nunito", sans-serif;
  text-align: right;
  display: block;
  margin-top: -15px;
  z-index: 1;
  position: relative;
}

.business-swiper {
  overflow: hidden;
}

.business-box {
  height: auto;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

.business-box::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0) 40.5%,
    rgba(0, 0, 0, 0.3) 80%,
    rgba(0, 0, 0, 0.5) 100%
  );
  background-blend-mode: multiply;
  border-radius: 15px;
}

.business-cover {
  padding-top: 120% !important;
  background-position: 50% 50%;
  background-size: cover;
  height: auto;
  overflow: hidden;
  padding-top: 100%;
  position: relative;
}

.business-cover img {
  bottom: 0;
  font-family: "object-fit: cover;";
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  border-radius: 15px;
}

.business-swiper .swiper-slide-content {
  padding-bottom: 70px;
}

.business-swiper .swiper-slide-title {
  position: absolute;
  bottom: 0;
  font-family: Phudu;
  font-weight: 600;
  font-size: 34px;
  line-height: 150%;
  vertical-align: middle;
  color: #fff;
  z-index: 1;
  margin: 0;
  padding: 0 40px 40px;
  width: 100%;
}

#swal2-html-container {
  margin-top: 0;
  margin-bottom: 0;
}

button.swal2-confirm {
  margin: 5px;
  position: absolute;
  top: 0;
  right: 0;
}

.category-directory .box-image {
  border-radius: 15px;
}

.category-directory .image-cover {
  padding-top: 100%;
}

.category-directory .col-left .image-cover {
  padding-top: 149%;
}

.category-directory .col-right {
  padding-left: 0;
}

.category-directory .box-text {
  position: absolute;
  left: 20px;
  bottom: 20px;
  background-color: rgba(246, 244, 231, 1);
  border-radius: 30px;
  padding: 4px 12px;
  width: auto;
}

.category-directory .box-text h5 {
  font-family: "Phudu", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 125%;
  color: var(--color-primary);
  margin: 0;
  width: fit-content;
}

#extra-categories {
  width: 100%;
}

#show-more-categories {
  background-color: var(--e-global-color-primary);
  font-size: 16px;
  line-height: 16px;
  font-weight: 700;
  fill: #f6f4e7;
  color: #f6f4e7;
  border-radius: 99px;
  border: 0;
  font-family: "Phudu", Sans-serif;
  display: block;
  margin: 0 auto;
  margin-top: 30px;
  margin-bottom: 20px;
  padding: 14px 16px;
}

.business-swiper.swiper-horizontal > .swiper-pagination-bullets {
  bottom: 20px;
}

.business-swiper .swiper-pagination-bullet {
  background-color: #d9d9d991;
}

.business-swiper .swiper-pagination-bullet-active {
  background-color: #d9d9d9;
}

.no-results {
  font-size: 18px;
  font-weight: 500;
}

.page-businesses .custom-header {
  background-color: transparent !important;
}

.search-section::before {
  background-image: url("../img/bg-new.png");
  background-position: 50% 50%;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.search-section #custom-search-form {
  max-width: 700px;
  margin: 0 auto;
  margin-bottom: 20%;
  z-index: 1;
  position: relative;
}

.search-section .bg-top {
  display: block;
  margin: 0 auto;
  margin-top: 10%;
  margin-bottom: 5%;
}

.search-section .bg-bottom {
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 0;
}

.search-section .select-box {
  background: #004a45b2;
  color: #fff;
}

.search-section .select-box path {
  stroke: #fff;
}

.search-section .form-bot .select2 {
  width: 100% !important;
}

.login-profile-menu-wrapper {
  position: relative;
  display: inline-block;
}

.login-profile-icon {
  cursor: pointer;
  position: relative;
}

.login-profile-icon .dropdown-menu {
  display: none;
  position: absolute;
  top: 40px;
  right: 0;
  background-color: white;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 8px 0;
  min-width: 140px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  z-index: 1000;
}

.login-profile-icon .dropdown-menu a {
  display: block;
  padding: 8px 16px;
  text-decoration: none;
  color: #333;
  font-size: 14px;
}

.login-profile-icon .dropdown-menu a:hover {
  background-color: #f2f2f2;
}

.login-profile-icon:hover .dropdown-menu {
  display: block;
}

@media (max-width: 850px) {
  .search-section .form-bot {
    display: block;
  }

  .search-section #custom-search-form .category-filter,
  .search-section #custom-search-form .city-filter {
    width: 100%;
  }

  .search-section #custom-search-form .category-filter {
    margin-bottom: 15px;
  }

  .logged-in .select2-container--open .select2-dropdown--below {
    top: 65px;
  }

  .search-section form {
    padding: 0 15px;
  }

  .search-section .bg-top {
    max-width: 200px;
  }

  .directory-col {
    flex-basis: 50%;
    max-width: 50%;
    padding: 0 5px 20px;
  }

  .box-text {
    padding: 10px;
  }

  .category-directory .col-left .image-cover {
    padding-top: 100%;
  }

  .directory-short-des .elementor-widget-container {
    font-size: 16px !important;
  }

  .related-title {
    font-size: 30px;
    margin-bottom: 30px;
  }

  .related-posts-swiper .swiper-button-prev,
  .related-posts-swiper .swiper-button-next {
    width: 40px;
    height: 40px;
  }

  .related-posts-swiper .swiper-button-prev::after,
  .related-posts-swiper .swiper-button-next::after {
    font-size: 20px;
  }

  .click-link {
    width: 40px;
    height: 40px;
    right: 15px;
    bottom: -5px;
  }

  .click-link a {
    width: 26px;
    height: 26px;
  }

  .click-link svg {
    width: 10px;
  }

  .image-logo {
    top: 15px;
    left: 15px;
    width: 35px;
    height: 35px;
  }

  #directory-search-results {
    padding-top: 15px;
    padding-left: 5px;
    padding-right: 5px;
  }

  .feature-box {
    padding: 30px 10px;
  }

  .feature-box .elementor-heading-title {
    font-size: 45px;
    max-width: 90%;
  }

  .feature-box .elementor-widget-text-editor p {
    max-width: 90%;
  }

  .box-category {
    padding: 0 !important;
    margin-bottom: 20px !important;
  }

  .business-swiper .swiper-slide-content {
    padding: 15px;
  }

  .box-text h3 {
    font-size: 12px;
    line-height: 1.3em;
    min-height: 32px;
  }

  .box-text .excerpt {
    font-size: 10px;
    line-height: 1.4em;
    margin-bottom: 10px;
  }

  .box-text .directory-tags .tag {
    font-size: 10px;
    padding: 2px 8px;
  }

  .form-top input[type="text"]::placeholder {
    font-size: 14px;
  }

  #show-more-categories {
    margin: 0 auto;
  }

  #select2-category-select-results {
    width: 100%;
  }

  .cs-main-title h2.elementor-heading-title {
    font-size: 30px !important;
  }

  .city-box-l {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: center;
  }

  .city-box-r {
    text-align: center;
  }

  .category-directory .col {
    padding-inline: 0;
  }

  .category-description {
    padding-top: 0;
  }

  .related_categories .elementor-element * {
    padding: 0 !important;
  }

  .related_categories .elementor-element .elementor-element {
    min-height: unset;
  }

  .related_categories .elementor-element .elementor-element:last-child {
    margin-bottom: 20px;
  }

  .related_categories .elementor-element .elementor-element h2 {
    font-size: 24px !important;
  }

  .related_categories .elementor-element .elementor-element a {
    max-height: 53px;
  }
}
