/* ================================= */
/*  TABLE OF CONTENTS */
/* ================================= */
/* 
    VARIABLES
    1- GENERAL STYLES
    1.1 Global Resets
    1.2 Typography
    1.3 Utilities
    1.4 FORM ELEMENTS
    1.5 LAYOUT & CONTAINER
    1.6 ALERTS & MESSAGES
    1.7 ALIGNMENT
    1.8 Icons styling 


    2- COMPONENTS
    2.1 Buttons
    2.2 Search Input
    2.3 Headings 
    2.5 Custom Modal
    2.6 Boostrap select
    2.7 Custom Modal Styling (Overrides Bootstrap Defaults)
    2.8 intl tel input
    2.9 Custom Radio
    2.10 ON/OFF toggle button
    2.11 HEADER: delete this and replace with new header styling
    2.12 Form Styling
        2.12.1 - Error Handling
        2.12.2 - Form Field Styling
        2.12.3 - Input & Label Styling
        2.12.4 - Radio Button & Checkbox Styling
        2.12.5 - Keyword Styling
        2.12.6 - Textarea

    2.14 Map Section: Container and Controls
    2.15 Profile Picture Card
    2.16 Show more link
    2.17 Media Gallery carousel- Profile
    2.18 Reviews and Ratings
    2.20  Empty state
    2.21 Footer
    2.22 Datatables
    2.23 Profile status
    2.24 keywords list table 
    2.25 Rounded keywords tags
    2.26 List item saver
    2.27 Toast
    2.28 Media library modal
    2.29 Light Gallery
    2.30 Custom confirm modal
    2.31 Checkbox Component 
    2.33 Note Banner
    2.34 Pagination
    2.35 Search Bar
    2.36 Custom radio group
    2.37 Accordian Component
    2.38 Dropdown Component


    3- PUBLIC PAGES
    3.1 Profile status guide
    3.2 Member Profile
    3.3 landing page 
    3.4 Categories list
    3.5 Advert cluster page
    3.6 Plaza list 
    3.7 Gallery Preview page 
    3.8 Plaza details view
    3.9 Post ads page 
    3.10 FAQ page
    3.11 Member details page 
    3.12 Category details page
    3.13 Manage searches page 
    3.14 Templates Listing page 
    3.15 Transalations page  
    3.16 Search keywords Page - find this page, if this page no more exist then delete this block of code
    3.17 hmp - find this page
    3.18 Post job - find this page
    3.19 Settings page
    3.20 business member profile creation form 
    3.21 Signup/SignIn
    3.22 Library page

    4- DASHBOARD PAGES
    4.1 Menu Manager - Overview page

    4- ANIMATIONS

    5- MEDIA QUERIES




*/

/* ------- Imports ----- */
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&display=swap");

/* ------ VARIABLES ------- */
:root {
  --color-primary: #2e5dc0;
  --color-primary-accent: #154ab7;
  --color-primary-subtle: #e9ecef;
  --color-link: #0b5ec2;
  --color-danger: #e60000;
  --color-red-light: #fde2e1;
  --color-green-light: #d1e6dd;
  --color-black: #000000;
  --color-text: #4f575f;
  --color-input-border: #e6ebf1;
  --color-input-background: #f8f9fa;
  --hover-bg-light: #f8f9fa;
  --color-primary-light: #f4f6fc;
  --text-muted: #858181;
  --color-hover-bg: #f8f9fa;
  --divider: #e8e8e8;
  --color-input-control-border: #ccc8c8;
  --transition: all 0.3s ease;
  --dark-gray: #6c757d;
  --color-border: #e6ebf1;
  --color-divider: #e8e8e8;
  /* ---- */
  --color-secondary: #eb841d;
  --color-text-muted: #cdd4d8;
  /* Muted or light text for secondary use */
  --color-success: #279d42;
  --color-neutral-light: #7f7f7f;

  --color-primary-muted: #b5c4d6;
  --color-pending: #fdf5e4;
  --color-pending-border: #f8ebcf;
  --color-step-background-inactive: #f5f5f6;

  --color-info-background: #212529;
  /* --empty-state-color: #888888; */
}

/* ================================= */
/* 1️- GENERAL STYLES */
/* ================================= */

/* 1.1 Global Resets */
html {
  font-size: 16px;
}

body {
  font-family: "Times New Roman", Times, serif;
  overflow-x: hidden !important;
  letter-spacing: 0.55px;
  scrollbar-width: thin !important;
  position: relative;
}

section {
  padding-top: 30px;
  padding-bottom: 30px;
}

/* 1.2 TYPOGRAPHY 
----------------------------------- */

/* headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  text-transform: capitalize;
  letter-spacing: 0.6px;
}

h3 {
  font-size: 1.39rem;
}

h4 {
  font-size: 1.2rem;
}

/* Paragraphs & Text Elements */
p,
ol,
li {
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.25rem;
  letter-spacing: 0.55px;
}

a,
a:hover {
  font-size: 1rem;
  color: var(--color-link);
}

label {
  font-size: 1rem;
}

*:focus {
  box-shadow: none !important;
}

/* Special Text Styles */
.note-text {
  font-size: 0.9rem;
}

.secondary-notes {
  color: #494848;
  font-size: 0.9rem;
}

.link {
  color: var(--color-link);
  text-decoration: underline;
  cursor: pointer;
}

.text-black {
  color: #000;
}

/* 1.3 UTILITIES 
-------------------------- */
.full-width {
  width: 100%;
}

.ptb-1 {
  padding-bottom: 1rem;
  padding-top: 1rem;
}

.red-text {
  color: rgb(230, 5, 5);
}

.full-height {
  height: 90vh;
}

.width-50 {
  width: 50%;
}

.txt-capitalize {
  text-transform: capitalize;
}

.mr-10 {
  margin-right: 10px;
}

.danger {
  color: var(--color-danger) !important;
}

.bg-danger {
  background-color: var(--color-danger);
  color: #fff;
}

.blurred {
  opacity: 0.4;
}

.pad-x-10 {
  padding-left: 10px;
  padding-right: 10px;
}

.hidden p {
  color: rgb(168, 167, 167) !important;
}

/* Disabled link */
.disabled-link {
  pointer-events: none;
  color: gray;
  cursor: not-allowed;
  opacity: 0.6;
}

/* 1.4 FORM ELEMENTS 
-------------------------- */

/* Radio Buttons */
input[type="radio"] {
  cursor: pointer;
}

input[type="radio"]:checked {
  accent-color: var(--color-primary) !important;
}

/* Time Input Styling */
input[type="time"]::-webkit-datetime-edit-hour-field:focus,
input[type="time"]::-webkit-datetime-edit-minute-field:focus,
input[type="time"]::-webkit-datetime-edit-second-field:focus,
input[type="time"]::-webkit-datetime-edit-ampm-field:focus {
  background-color: #b0c7e2;
}

input[readonly] {
  background-color: #fff;
}

/* 1.5 LAYOUT & CONTAINER 
-------------------------- */
/* content wrapper */
.content-wrapper {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}

/* ---- */
.container {
  padding: 0 25px;
}

.container-lg {
  padding-inline: 20px;
}

.plaza .container,
footer .container,
section > .container,
section.container,
.banner .container,
.categories_details.container,
.adverts.container,
.profile_benefits,
.profile_features,
.services {
  padding-inline: 20px !important;
}

/*  Border & Background */
.border-cl {
  border: 1px solid rgb(174, 174, 174);
  border-radius: 5px;
}

.bg {
  background-color: #f7f7f7;
}

/* CSS to ensure equal height */
.equal-height-row {
  display: flex;
  flex-wrap: wrap;
}

.equal-height-row > [class*="col-"] {
  display: flex;
  flex-direction: column;
}

/* Ensure flex items grow to fill the container */
.equal-height-row > [class*="col-"] > * {
  flex-grow: 1;
}

/* 1.6 ALERTS & MESSAGES
-------------------------- */

.alert {
  padding: 10px 10px;
  font-size: 0.9rem;
}

.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0.8rem 1rem;
}

.btn-close {
  font-size: 0.8rem !important;
}

/* 1.7 ALIGNMENT
-------------------------- */
.text-md-right {
  text-align: right;
}

/* 1.8 Icons styling 
----------------------------------------- */

/* Add and close icons */
.add-icon,
.close-icon {
  width: 20px;
  cursor: pointer;
}

.close-icon {
  margin-top: -5px;
  margin-inline: -3px;
  width: 22px;
}

.tag-remove .close-icon {
  width: 20px;
}

.edit-icon {
  color: var(--color-link);
  padding-right: 5px;
}

/* Edit and delete icons */
.delete-icon {
  color: var(--color-danger);
  padding-right: 5px;
  font-size: 0.9rem !important;
}

/* search-icon */
.search-icon {
  color: #a1a1a1;
  font-size: 0.9rem;
  margin-top: 5px;
}

.search-holder ~ .search-icon {
  display: none !important;
}

/* period icon */
.period-icon {
  width: 6px;
  height: 6px;
  display: inline-block;
  border-radius: 50%;
  margin-right: 5px;
  background-color: #000;
}

.period-icon.open {
  background-color: var(--color-success);
}

.period-icon.close {
  background-color: var(--color-danger);
}

/* ================================= */
/* 2- COMPONENTS */
/* ================================= */

/* 2.1 Buttons
-------------------------- */

/* General button styles */
.btn {
  padding: 0.35rem 0.8rem;
  border-radius: 0.5rem;
  font-size: 0.9rem;
  transition: all 0.2s;
}

/* Submit button (form submission) */
.btn-submit {
  background-color: var(--color-primary);
  color: #fff;
}

.btn-submit:hover {
  color: #fff;
  background-color: var(--color-primary-accent);
  transform: scale(1.02);
}

/* Back & cancel button  */
.btn-secondary {
  background-color: var(--color-primary-subtle);
  color: #000;
  border: 1px solid #e4e0e0;
}

.btn-secondary:hover {
  color: #000;
  background-color: #d3d9df;
  transform: scale(1.02);
  border: 1px solid #e4e0e0;
}

/* delete button */
.btn-danger {
  background-color: var(--color-danger);
  color: #fff;
}

.btn-danger:hover {
  color: #fff;
  background-color: #d70000;
  transform: scale(1.02);
}

/* Border button (transparent with color change on hover) */
.border-btn {
  background-color: transparent;
  color: var(--color-primary);
  outline: none;
  border: 2px solid var(--color-primary);
  transition: background-color color 0.15s;
  padding: 0.32rem 0.8rem;
}

.border-btn:hover {
  background-color: var(--color-primary);
  color: #fff;
  transform: scale(1.02);
}

.border-btn a:hover {
  color: #fff;
}

.back-btn {
  border: 1px solid rgb(227, 226, 226);
  color: black;
}

/* back button */
.back-button {
  display: flex;
  align-items: center;
  background: none;
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  padding: 4px;
  color: #333;
  font-weight: 600;
}

.back-button img {
  margin-right: 0px;
  width: 1.4rem;
  height: 1.4rem;
}

/* edit button */
.btn-edit {
  background-color: #fff;
  box-shadow: 0 0 20px rgba(26, 25, 25, 0.17);
  width: 2rem;
  height: 2rem;
  border-radius: 0.6rem;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 3px;
}

.btn-edit img {
  width: 1.3rem;
}

.btn-edit:hover {
  background-color: var(--color-primary-light);
}

.primary-btn,
.back-btn,
.submit-btn {
  background-color: var(--color-primary);
  color: #fff;
  padding: 0.475rem 0.85rem;
  border-radius: 5px;
  border: 1px solid var(--color-primary);
  font-size: 1rem;
  transform: translateZ(0) scale(1);
  transition: transform 0.2s;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.primary-btn:not(:disabled):hover,
.back-btn:not(:disabled):hover,
.submit-btn:not(:disabled):hover {
  transform: scale(1.05);
}

.primary-btn:not(:disabled):hover:active,
.back-btn:not(:disabled):hover:active {
  transform: scale(1.05) translateY(0.125rem);
}

.primary-btn:hover {
  color: #fff;
}

.primary-btn:focus,
.back-btn:focus {
  outline: 0 solid rgba(0, 0, 0, 0);
}

/* Hollow button (transparent background) */
.hollow-btn {
  background-color: transparent;
  border: none;
  text-decoration: underline;
  cursor: pointer;
}

/* Borderless button (no background, no border) */
.borderless-btn {
  background-color: transparent;
  border: none;
  text-decoration: none;
  cursor: pointer;
}

.borderless-btn.primary {
  color: var(--color-link);
}

.borderless-btn.underline {
  text-decoration: underline;
}

/* disabled next button */
.nextbtn[disabled] {
  background-color: #ccc;
  color: #888;
  cursor: not-allowed;
  border: 1px solid #ccc;
}

/* Disabled button */
button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Primary modal button */
.modal-primary-btn {
  background-color: var(--color-primary);
  color: #fff;
  text-transform: capitalize;
  opacity: 0.9;
}

.modal-primary-btn:hover {
  opacity: 1;
  color: #fff;
}

/* Edit button for info item */
.info-item p .edit-btn {
  display: inline-block;
  padding-top: -10px;
}

/* 2.2 Search Input
------------------------------------------ */

.search-bar-container button {
  border-radius: 5px;
}

/* Search bar layout */
.search-bar {
  position: relative;
  display: flex;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 5px;
  max-width: 350px;
  width: 100%;
}

/* Input field styles */
.search-input {
  flex: 1;
  border: none;
  outline: none;
  width: 100%;
  padding: 0.2rem 1rem 0.2rem 0 !important;
}

/* Search and clear icons styles */
.input-search-icon,
.clear-input-icon {
  display: inline-block;
  width: 1.3rem;
  height: auto;
  object-fit: contain;
}

.clear-input-icon {
  width: 1.3rem;
  margin-right: 0.3rem;
}

.input-search-icon {
  width: 1.2rem;
  height: 1.2rem;
  object-fit: contain;
  margin-left: 8px;
  margin-right: 0.3rem;
}

.search-icon,
.clear-input-icon {
  cursor: pointer;
}

@supports (-webkit-touch-callout: none) {
  .input-search-icon,
  .clear-input-icon {
    width: 20px;
    height: 20px;
  }
}

/* Hide clear input icon by default */
.clear-input-icon {
  display: none;
}

/* 2.3 Headings 
----------------------------------------- */
.page-heading {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  text-transform: capitalize;
}

.section-heading {
  font-size: 1.4rem;
}

/* 2.5 Custom Modal
----------------------------------------- */

/* Full-width modal with proper positioning and shadow */
.custom-modal-content {
  position: absolute;
  top: 2rem;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  margin: 0;
  border-radius: 10px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

/* Ensure full-width modals take up available space */
#confirmLocationModal .modal-dialog,
#provincesModal .modal-dialog,
#regionsModal .modal-dialog,
.full-width-modal .modal-dialog {
  margin: 0;
  padding: 0;
  max-width: 100%;
  height: 100%;
}

/* Enable scrolling inside modal body */
#confirmLocationModal .modal-body,
#provincesModal .modal-body,
#regionsModal .modal-body,
.full-width-modal .modal-body {
  height: 100%;
  overflow-y: auto;
}

/* Overlay Close Button */
.custom-overlay-close {
  position: fixed;
  top: 0px;
  right: 10px;
  z-index: 1055;
  /* Ensure it appears above the modal */
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.9rem;
  cursor: pointer;
  background-color: transparent;
  height: fit-content;
}

/* Custom close button styling */
.custom-overlay-close::before {
  content: "\00d7";
  /* Unicode for "×" (close symbol) */
  font-size: 2rem;
  color: rgb(255, 255, 255);
  /* icon color */
  display: inline-block;
  background: transparent !important;
  margin-top: -5px;
}

/* 2.6 Boostrap select
----------------------------------------- */

.bootstrap-select {
  width: 100% !important;
}

.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(
    .input-group-btn
  ) {
  width: 100%;
  outline: none !important;
}

.bootstrap-select .dropdown-item {
  padding: 0.6rem 1rem !important;
  font-size: 1rem;
  border-radius: 0.3rem;
}

.bootstrap-select .dropdown-item:hover {
  background-color: var(--dropdown-hover-bg);
}

.dropdown-item.active,
.dropdown-item:active {
  color: #000;
  text-decoration: none;
  background-color: var(--color-primary-light);
}

.dropdown-item.active,
.dropdown-item.selected {
  background-color: var(--color-primary-light);
}

.dropdown-item.selected:hover {
  background-color: var(--color-primary-light);
}

.bootstrap-select .dropdown-toggle {
  padding: 0.485rem 0.75rem;
  border: 1px solid var(--color-input-border);
  background-color: var(--color-input-background);
  min-height: 44.47px;
}

.bootstrap-select > .dropdown-toggle:focus,
.focused-border .dropdown-toggle {
  box-shadow: 0 0 0 0.5 black !important;
  border: 1.5px solid var(--color-primary) !important;
  box-shadow: 0 0 0px 0.25 #c7c7c731;
  outline: none !important;
  background-color: #fff;
}

.bootstrap-select .dropdown-menu {
  padding: 5px !important;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.12);
  border: none !important;
  margin-top: 5px !important;
}

.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark {
  position: absolute;
  display: inline-block;
  right: 15px;
  top: 10px;
  font-size: 0.7rem;
}

.bootstrap-select button {
  width: 100% !important;
  border-radius: 0.4rem !important;
}

.bs-searchbox .form-control:focus {
  border: 2px solid var(--color-border);
  outline: none !important;
}

.delivery-type-select {
  border-radius: 3px;
  background-color: var(--color-input-background);
  border: 1px solid var(--color-border);
}

.delivery-type-select .dropdown-toggle {
  border: none !important;
}

.delivery-fee-select .dropdown-toggle {
  padding: 0.43rem 0.75rem !important;
}

/* 2.7 Custom Modal Styling (Overrides Bootstrap Defaults)
------------------------------------------------------------------- */

.modal-body {
  overflow-x: hidden;
}

.modal-header,
.modal-body {
  padding-inline: 20px;
  border-bottom: 0;
}

.modal-header .btn-close {
  font-size: 0.9rem;
}

.modal-title {
  font-size: 1.2rem;
}

.modal-dialog {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  margin: 0 auto;
  width: 90%;
  max-width: 500px;
}

.modal .close {
  box-sizing: content-box;
  font-size: 2rem;
  line-height: 0.8rem;
  color: #000;
  background-color: transparent;
  border: 0;
  border-radius: 0.25rem;
  opacity: 0.5;
}

.modal .close:hover {
  opacity: 1;
}

.modal-footer {
  border-top: 0;
}

.modal .error {
  padding-bottom: 2px;
}

#confirm_modal .modal-dialog {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  margin: 0;
}

#confirm_modal .modal-content {
  max-width: 500px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
}

#confirm_modal .modal-body {
  padding: 5px 20px;
}

/* 2.8 intl tel input
--------------------------------------------- */

#intel-phone .form-field label {
  top: 25%;
  font-size: 0.9rem;
}

.iti__selected-flag {
  margin-top: 5px;
  padding-top: 0;
  height: fit-content;
  display: flex;
  top: 43%;
  padding-left: 12px;
}

.form-group .iti__selected-flag {
  margin-top: -2px;
}

.iti {
  display: block !important;
}

.iti__search-input {
  padding: 5px 10px !important;
}

.update-phone .iti__selected-flag {
  margin-top: -17px !important;
  line-height: 10px;
}

.update-phone .iti__dropdown-content {
  margin-top: 20px !important;
}

.update-phone {
  padding-bottom: 70px !important;
}

/* 2.9 Custom Radio
--------------------------------------------- */

.custom-radio {
  display: inline-block;
  padding: 10px;
  border: 1px solid #eaeaea;
  margin-right: 10px;
  cursor: pointer;
  background-color: var(--light-bg);
  margin: 10px 0;
  border-radius: 0.25rem;
}

.custom-radio.selected {
  background-color: var(--color-primary-light);
  color: #fff;
}

.custom-radio .radio-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18px !important;
  height: 18px;
  border-radius: 50%;
  margin-top: 2px;
  border: 1px solid rgb(119, 119, 119);
}

.custom-radio .radio-icon.selected {
  border: 0.3rem solid var(--color-primary);
}

.custom-radio .radio-content {
  width: calc(100% - 22px);
  padding-left: 10px;
}

.custom-radio .radio-heading {
  color: #000;
}

.radio-icon-active.selected {
  background-color: var(--color-primary);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid var(--color-primary);
}

.radio-icon-active.selected + .radio-icon {
  border: 1px solid rgb(241, 13, 13);
}

/* 2.10 ON/OFF toggle button
--------------------------------------------- */

.toggle {
  position: relative;
  display: inline-block;
  width: 2.2rem;
  height: 1.2rem;
  margin-right: 5px;
}

.toggle input {
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgb(227, 227, 227);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 20px;
}

.toggle .slider:before {
  position: absolute;
  content: "";
  height: 0.95rem;
  width: 0.95rem;
  left: 2px;
  bottom: 2px;
  background-color: white;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
}

.toggle input:checked + .slider {
  background-color: var(--color-primary);
}

.toggle input:focus + .slider {
  box-shadow: 0 0 1px blue;
}

.toggle input:checked + .slider:before {
  -webkit-transform: translateX(17px);
  -ms-transform: translateX(17px);
  transform: translateX(17px);
}

/* 2.11 HEADER: delete this and replace with new header styling
--------------------------------------------- */
@media (min-width: 992px) {
  .top-section .nav-btn {
    display: none !important;
  }
}

header {
  display: block;
  top: 0px;
  left: 0px;
  width: 100%;
  z-index: 1000;
}

header .header-inner {
  width: 100%;
  height: 64px;
  padding: 0 initial;
  background-color: transparent;
}

.inner-header {
  background: var(--color-primary-light);
  padding-bottom: 0px;
  padding-top: 0;
  /* padding-bottom: 30px; */
}

header .only_header {
  padding-bottom: 0 !important;
}

header .header-logo {
  display: inline-block;
  overflow: hidden;
  padding: 21px 38px 21px 5px;
}

header .header-logo img {
  display: block;
  max-height: 35px;
}

header .header-categories {
  display: block;
  position: relative;
  float: left;
  border-left: 1px solid rgba(255, 255, 255, 0.157);
}

header .header-menu {
  float: right;
}

header .header-menu ul {
  height: 64px;
  margin: 10px 0;
}

header .header-menu ul li {
  display: block;
  position: relative;
  float: left;
  margin: 0;
  line-height: 64px;
  margin-left: 20px;
  margin-top: 1px;
}

header .header-menu ul li a {
  color: var(--color-primary);
  padding-bottom: 2px;
  font-size: 1rem;
}

header .header-menu ul li a:hover {
  border-bottom: 2px solid var(--color-primary);
}

/* login button */
header .header-menu ul li .login-btn {
  border: 1px solid var(--color-primary);
  color: #fff;
  background-color: var(--color-primary);
  padding: 3px 15px 5px;
  border-radius: 3px;
  transition: 0.3s;
}

header .header-menu ul li .login-btn:hover {
  color: var(--color-primary);
  background-color: transparent;
  text-decoration: none !important;
}

/* adi talk button */
.adi-talk-btn img {
  width: 21px;
  margin-top: -5px;
}

/* dropdown */
header .header-menu ul li ul.dropdown {
  width: 100%;
  width: 140px;
  height: fit-content;
  position: absolute;
  z-index: 999;
  display: none;
  right: 0px;
  top: 50px;
  padding-left: 0 !important;
  animation: fadeIn 0.3s;
  line-height: 0;
  box-shadow: 0 0 20px 0 rgb(182, 182, 182);
  padding-left: 0 !important;
}

header .header-menu ul li ul.dropdown::before {
  position: absolute;
  content: "";
  height: 10px;
  width: 10px;
  background-color: #eeeff1;
  right: 10px;
  top: -5px;
  transform: rotate(45deg);
  z-index: -1;
}

header .header-menu ul li:hover ul.dropdown {
  display: block;
}

header .header-menu ul li ul.dropdown li {
  display: block;
  width: 100%;
  background-color: #eeeff1;
  line-height: 40px;
  margin-left: 0;
  float: right;
  cursor: pointer;
}

header .header-menu ul li ul.dropdown li:hover {
  background-color: #dde0e5;
}

header .header-menu ul li ul.dropdown li a {
  padding: 5px;
  padding-left: 20px;
}

header .header-menu ul li ul.dropdown li a:hover {
  border-bottom: 0;
}

.lang-arrow {
  font-size: 15px;
}

#nav-lang a:hover {
  text-decoration: none !important;
}

.fa-check {
  font-size: 16px;
  float: right;
  margin-top: 10px;
  margin-right: 10px;
}

.nav-slider {
  display: block;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* sidebar Menu for logged in users */
#sidebarMenu {
  position: fixed;
  right: -100%;
  top: 0px;
  display: block;
  z-index: 999;
  width: 350px;
  height: 100%;
  transition: 0.3s;
  background: #fff;
  overflow-y: scroll;
  overflow-x: hidden;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.217);
}

#sidebarMenu li a:hover {
  border-bottom: 0;
}

#sidebarMenu.active {
  right: 0;
}

#sidebarMenu .fa-times {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid black;
  text-align: center;
  font-size: 1rem;
  padding-top: 5px;
}

.sidebarMenuInner {
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.sidebarMenuInner li {
  list-style: none;
  color: #4a6c84;
  text-transform: uppercase;
  font-weight: bold;
  padding: 20px;
  width: 100%;
  cursor: pointer;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.sidebarMenuInner li span {
  display: block;
  /* font-size: 30px; */
  color: #4a6c84;
}

.sidebarMenuInner li a i {
  font-size: 1rem;
}

.sidebarMenuInner li a {
  color: #4a6c84;
  font-weight: 500 !important;
  text-transform: capitalize;
  font-weight: bold;
  cursor: pointer;
  text-decoration: none;
}

#sidebarMenu li {
  line-height: normal;
  padding: 15px 0;
}

#sidebarMenu .dropdown-item {
  margin-left: 20px;
}

#sidebarMenu .dropdown-item:hover {
  background-color: transparent;
  color: var(--color-content-primary);
}

li.dropdown button.dropdown-toggle {
  display: block;
  position: relative;
  float: left;
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  background: transparent;
  width: 100%;
  text-align: left;
}

li.dropdown button.dropdown-toggle {
  color: var(--color-content-primary);
  font-weight: 500;
  font-size: 1rem;
}

li.dropdown button.dropdown-toggle i {
  font-size: 1rem;
}

.dropdown.open .dropdown-menu {
  display: contents;
}

li.dropdown .dropdown-menu a {
  line-height: normal;
  padding: 10px;
}

/* nav */
.sidebar {
  overflow-y: auto;
  position: fixed;
  top: 0px;
  left: -250px;
  width: 250px;
  height: 100%;
  background-color: #f9f9f9;
  transition: all 0.3s ease;
  opacity: 0.9;
  z-index: 11111111;
}

nav .nav-categories li {
  display: block;
  position: relative;
}

nav.open {
  left: 0px;
  box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.275);
  opacity: 1;
}

nav .nav-separator {
  width: 100%;
  height: 1px;
  margin: 7px 0;
  background-color: rgba(0, 0, 0, 0.175);
}

.iconmenubar {
  list-style: none;
  display: flex;
  padding-left: 0;
  width: fit-content;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

.iconmenubar li {
  text-align: center;
  padding: 15px 5px;
  width: 135px;
  margin: 10px;
  background: #fff;
  border: 2px solid #dfdfdf;
  border-radius: 5px;
}

.iconmenubar a:hover li {
  box-shadow: 0px 0px 20px 0px rgba(235, 235, 235, 1);
}

.iconmenubar li h4 {
  margin-bottom: 0;
  padding-top: 10px;
  font-weight: 600;
  color: var(--color-content-primary);
  font-size: 1rem;
}

/* mobile menu */
header .mobile-menu {
  display: flex;
  width: fit-content;
  float: right;
  list-style: none;
}

header .mobile-menu li {
  line-height: 38px;
  margin: 20px 0;
}

header .mobile-menu li a {
  font-size: 1rem;
}

header .mobile-menu li .login-btn {
  border: 1px solid var(--color-content-primary);
  color: var(--color-content-primary);
  padding: 3px 15px 5px;
  border-radius: 3px;
  transition: 0.3s;
}

header .mobile-menu li .login-btn:hover {
  color: #fff;
  background-color: transparent;
  background-color: var(--color-content-primary);
}

header .mobile-menu .nav-btn {
  cursor: pointer;
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 38px;
  margin: 12px 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

header .mobile-menu .nav-btn a {
  font-size: 25px;
  color: var(--color-content-primary);
}

header .mobile-menu {
  display: none;
}

/* mobile sidebar */

.sidebar ul {
  padding-left: 0;
}

.sidebar ul li {
  position: relative;
  margin: 0;
  line-height: 40px;
}

.sidebar ul li a {
  color: var(--color-content-primary);
  font-weight: 600;
  font-size: 17px;
}

.sidebar ul li a:hover {
  opacity: 0.8;
  text-decoration: none;
}

nav .nav-categories {
  padding: 20px;
}

nav .nav-categories li {
  display: flex;
  padding-bottom: 10px;
  border-bottom: 1px solid #e7e7e7;
  margin-bottom: 10px;
  line-height: 30px;
}

nav .nav-categories li a {
  display: block;
  width: 100%;
  font-size: 1rem;
  color: var(--color-content-primary);
  text-decoration: none;
}

nav .nav-categories li img {
  padding-right: 10px;
  width: 40px;
  max-width: fit-content;
}

.nav-categories li h4 {
  margin-bottom: 0;
  font-weight: normal;
  color: var(--color-content-primary);
  font-size: 16px;
}

.d-none-mobile {
  display: block;
}

.d-none-desktop {
  display: none;
}

.nav-links li {
  display: block;
}

.nav-links ul li a {
  font-weight: normal;
}

.nav-links .adi-talk-btn img {
  width: 30px;
  margin-right: -10px;
}

.nav-links a {
  font-weight: normal !important;
}

.nav-links .sidebar-dropdown {
  display: block;
}

.nav-links .sidebar-submenu {
  display: none;
}

/* 2.12 Form Styling
-------------------------------------------------- */

/* 2.12.1 - Error Handling */
.form-container .error-container {
  margin-top: -12px;
  display: none;
}

.form-container .error-container .error-description {
  color: var(--color-danger);
  margin-left: 3px;
  font-size: 0.9rem;
}

.form-group .error {
  margin-top: 2px;
}

.error,
.input-error-message {
  color: var(--color-danger);
  font-size: 0.9rem;
  width: fit-content;
}

.error.info-message {
  color: rgb(109, 109, 109);
}

.input-error {
  border-color: var(--color-danger) !important;
}

.maxlength-feedback-container {
  /* display: flex;
  justify-content: space-between; */
  width: 100%;
  font-size: 0.8em;
  margin-top: 0.25rem;
  min-height: 1.2em;
  width: fit-content;
  float: right;
}

.maxlength-counter {
  color: #666;
  transition: color 0.2s;
  margin-top: 5px;
  float: right;
  width: fit-content;
}

.maxlength-counter.at-limit {
  color: rgb(109, 109, 109);
  font-weight: bold;
}

/* 2.12.2 - Form Field Styling */
.form-group .form-field {
  position: relative;
  width: 100%;
  margin: 15px 0;
}

.form-field input,
.form-field select {
  border: 1px solid #c6d4f1;
  width: 100%;
  font-size: 1rem;
  color: #000;
  background: transparent;
  border-radius: 0.4rem !important;
  padding: 22px 0.7rem 5px;
  outline: none;
  transition: box-shadow 0.2s ease-in-out, border 0.15s ease-in-out;
}

.form-field select {
  padding-right: 36px !important;
}

.form-field input:hover {
  background-color: #fff;
}

/* Floating Label Style */
.form-field label {
  position: absolute;
  top: 46%;
  left: 0.5rem;
  padding: 0 4px;
  color: #717171;
  font-size: 1rem;
  font-weight: 100;
  pointer-events: none;
  transform: translateY(-50%);
  transition: all 0.2s ease-in-out;
}

.form-field input:focus,
.form-field select:focus {
  border: 1.5px solid var(--color-primary);
}

.form-field select:focus {
  padding: 22px 1rem 5px 0.5rem;
}

.form-field input + label.active {
  top: 25%;
  font-size: 0.9rem;
  color: rgb(103, 103, 103);
}

/* Required Field Indicator */
.required::after {
  content: " *";
  color: rgb(210, 14, 14);
}

/* 2.12.3 - Input & Label Styling */
.form-controls,
.form-textarea {
  padding: 0.43rem 0.75rem;
  margin-bottom: 20px;
  border: 1px solid var(--color-input-border);
  width: 100%;
  border-radius: 0.4rem;
  background-color: var(--color-input-background);
}

.form-controls:focus,
.form-textarea:focus {
  border: 1.5px solid var(--color-primary);
  background-color: #fff;
  outline: none;
}

.form-label {
  font-weight: bold;
  margin: 0.6rem 0;
  display: block;
}

.form-group .field-instruction {
  margin: -0.3rem 0 0.7rem;
}

/* 2.12.4 - Radio Button & Checkbox Styling */
.radio-group .radio-item input {
  width: 20px;
  height: 20px;
  margin-top: 0px;
  background-color: var(--color-input-control-border);
}

.radio-group {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.radio-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* radio button style 2 */
.radio-group .selection-box {
  width: fit-content;
}

.radio-group-flex {
  display: flex;
  flex-direction: row;
  gap: 15px;
}

.radio-group-flex .selection-box {
  margin-right: 0;
}

.selection-box {
  display: flex;
  align-items: center;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 10px;
  margin-right: 15px;
  background-color: var(--color-input-background);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.selection-box:hover {
  background-color: #fff;
}

.selection-box.selected {
  border-color: #000;
  background-color: var(--color-primary-light);
}

.selection-box .icon {
  font-size: 20px;
  margin-right: 10px;
  color: var(--color-info-background);
}

.selection-box .text {
  font-size: 14px;
  font-weight: bold;
  color: var(--color-info-background);
}

/* checkbox */
.checkbox {
  width: 20px;
  height: 20px;
}

/* 2.12.5 - Keyword Styling */
#divKeywords .controls {
  margin-bottom: -10px !important;
}

#divKeywords .keyword {
  display: inline-block;
  background-color: #f5f5f5;
  padding: 5px 10px;
  border-radius: 10px;
  text-transform: capitalize;
  margin-right: 10px;
  border: 1px solid rgb(199, 197, 197);
}

#divKeywords .keyword a {
  margin-left: 10px;
  color: #000;
}

#divKeywords .keyword a i {
  font-weight: normal;
}

/* 2.12.6 - Textarea */
.form-textarea {
  padding: 0.43rem 0.75rem;
  border: 1px solid var(--color-input-border);
  width: 100%;
  border-radius: 0.4rem;
  background-color: var(--color-input-background);
  margin-bottom: -5px;
}

/* 2.14 Map Section: Container and Controls
-------------------------------------------------- */

.service-area-map .map-container {
  aspect-ratio: 16 / 5;
  background-color: var(--color-primary-light);
  position: relative;
}

.map-container .map {
  width: 100%;
  height: 100%;
}

.btn-show-map {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  background-color: var(--color-link);
  color: #fff;
  padding: 0.3rem 0.7rem;
}

/*  2.15 Profile Picture Card 
--------------------------------------------------- */

/* Card Container */
.profile-picture-card {
  max-width: 300px;
  background-color: var(--color-primary-light);
  padding: 20px;
  position: relative;
  text-align: center;
}

/* Image Container */
.profile-picture-card .image-container {
  position: relative;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 2px solid var(--color-input-border);
  overflow: hidden;
  margin-inline: auto;
}

.profile-picture-card .image-container img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

/* Controls */
.profile-picture-card .controls {
  position: absolute;
  top: 1px;
  left: 1px;
  display: none;
}

.profile-picture-card .controls button {
  background-color: transparent;
  border: 1px solid transparent;
  cursor: pointer;
}

.profile-picture-card .controls button:hover {
  border: 1px solid var(--color-primary-muted);
}

.profile-picture-card .controls i {
  font-size: 1.2rem;
}

/*  Dropdown */
.controls .dropdown-list a {
  width: 120px;
}

/*  Placeholder Icon */
.profile-picture-card .placeholder-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 24px;
  color: #fff;
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.35);
  padding: 10px;
  border-radius: 50%;
  display: block;
}

.profile-picture-card .placeholder-icon i {
  display: block;
}

/*  2.16 Show more link
--------------------------------------------------- */

.show-more-link {
  color: var(--color-link) !important;
  font-size: 1rem;
  padding-left: 0;
}

/* 2.17 Media Gallery carousel- Profile
-------------------------------------------------- */
.gallery-container {
  display: flex;
  overflow: hidden;
}

.gallery-container .gallery-item {
  flex: 0 0 32.8%;
  /* Only display 3 images at a time */
  position: relative;
}

.gallery-container .gallery-item .delete-icon {
  position: absolute;
  top: 5px;
  right: 0px;
  width: 1.3rem;
  height: 1.3rem;
  color: white;
  border-radius: 50%;
  text-align: center;
  cursor: pointer;
}

.gallery-container .gallery-item .delete-icon i {
  font-size: 1.1rem;
  color: var(--color-danger);
  display: block;
}

.carousel-navigation {
  display: flex;
  justify-content: flex-end;
  /* Align navigation to the right */
}

.carousel-navigation img {
  width: 1.3rem;
}

.carousel-prev,
.carousel-next {
  background-color: #f3f3f3;
  border: 1px solid var(--color-border);
  padding: 0.1rem 0.5rem;
  cursor: pointer;
  width: 2.222rem;
  height: 2.222rem;
  border-radius: 20px;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
}

.carousel-prev {
  margin-right: 5px;
}

.carousel-prev:hover,
.carousel-next:hover {
  border: 1px solid var(--color-primary-muted);
  color: var(--color-primary);
  background-color: #d5deea;
}

.carousel-prev[disabled],
.carousel-next[disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

.gallery-container .img-responsive {
  width: 100%;
  aspect-ratio: 16 / 10;
  /* Maintain a 16:9 aspect ratio */
  object-fit: cover;
  object-position: center;
}

#carousel-gallery {
  display: flex;
  transition: all 0.5s ease;
  list-style-type: none;
  padding-left: 0;
  gap: 5px;
}

#image-preview-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 1);
  justify-content: center;
  align-items: center;
  z-index: 1111;
  opacity: 0;
  /* Initially hidden */
  visibility: hidden;
  /* Hidden state */
  transition: opacity 0.6s ease-in-out, visibility 0s 0.6s;
}

#image-preview-modal.show {
  visibility: visible;
  /* Make the modal visible */
  opacity: 1;
  /* Fully visible */
  transition: opacity 0.6s ease-in-out, visibility 0s 0s;
}

#image-counter {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 16px;
  color: white;
}

.img-cont {
  height: 100%;
  width: 50%;
  margin: auto;
  object-fit: contain;
}

#preview-prev,
#preview-next {
  position: absolute;
  top: 50%;
  font-size: 16px;
  color: white;
  cursor: pointer;
  background: #151515;
  border: none;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#preview-prev:hover,
#preview-next:hover {
  background-color: #2e2e2e;
}

#preview-prev img,
#preview-next img {
  color: #fff;
}

#preview-prev {
  left: 20px;
}

#preview-next {
  right: 20px;
}

.no-scroll {
  overflow: hidden;
}

#preview-prev:disabled,
#preview-next:disabled {
  background-color: #151515;
}

#preview-prev:disabled:hover,
#preview-next:disabled:hover {
  background-color: #151515;
}

#close-preview {
  padding: 0;
  position: absolute;
  top: 9px;
  right: 20px;
  font-size: 30px;
  color: white;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

video {
  cursor: pointer;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center;
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  background-color: black;
}

.video-thumbnail {
  opacity: 0.8;
  object-fit: cover;
  background-color: black;
}

.video-icon-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 40px;
  color: rgba(255, 255, 255, 0.8);
  pointer-events: none;
}

/* Video thumbnail container */
.video-thumbnail-container {
  position: relative;
  display: inline-block;
  width: 100%;
  height: auto;
}

/* Wrapper for the play icon */
.play-icon-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(0, 0, 0, 0.553);
  border-radius: 50%;
  width: 2.2rem;
  height: 2.2rem;
  z-index: 1111;
}

/* Play button styling */
.play-button {
  color: white;
  font-size: 1.3rem;
  border: none;
  padding: 10px;
  border-radius: 50%;
  cursor: pointer;
  /* opacity: 0.8; */
  transition: opacity 0.3s ease;
  background-color: transparent;
  text-align: center;
  padding-left: 0.6rem;
}

.play-button:hover {
  opacity: 1;
}

/* Style for video thumbnail */
.video-thumbnail {
  width: 100%;
  height: auto;
}

/* 2.18 Reviews and Ratings
----------------------------------------------- */
/* Overall Ratings Section */
.rating-section .overall-ratings {
  border: 1px solid var(--color-border);
  padding: 20px;
  border-radius: 5px;
}

.rating-section .average-rating {
  width: 40%;
  border-right: 1px solid var(--color-border);
}

.rating-section .rating-display {
  width: 60%;
  padding-left: 20px;
}

/* Rating Value */
.rating-value {
  font-size: 1.2rem;
  margin-bottom: 0rem;
}

/* Star Rating Layout */
.star-rating {
  display: flex;
}

.star {
  position: relative;
  width: 20px;
  height: 20px;
  background: rgb(231, 231, 231);
  clip-path: polygon(
    50% 0%,
    61% 35%,
    98% 35%,
    68% 57%,
    79% 91%,
    50% 70%,
    21% 91%,
    32% 57%,
    2% 35%,
    39% 35%
  );
  /* Shape of a star */
}

.star.filled {
  background: #ffa41c;
}

/* Rating Row Layout */
.rating-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0px;
}

.stars {
  display: flex;
}

.star {
  font-size: 10px;
  color: rgb(231, 231, 231);
}

.star.filled {
  color: #ffa41c;
}

/* Rating Count and Progress Bar */
.total-rating-count {
  font-size: 0.9rem;
}

.progress-bar {
  flex: 1;
  background: rgb(231, 231, 231);
  height: 6px;
  border-radius: 5px;
  overflow: hidden;
  margin-left: 10px;
}

.progress {
  height: 100%;
  background: rgb(231, 231, 231);
  border-radius: 5px;
}

.rating-count {
  padding-left: 10px;
  font-size: 14px;
  width: 30px;
}

/* Smaller Star Size for Rating Display */
.rating-display .star {
  width: 15px;
  height: 15px;
}

/* Reviews Section */
.reviews-section {
  max-width: 800px;
  margin: 0 auto;
  border-radius: 10px;
}

.reviews-section .product-link {
  font-size: 0.9rem;
  color: #000;
  margin-top: 5px;
}

.reviews-section .product-link a {
  text-decoration: underline;
  color: #000;
  font-size: 0.9rem;
}

.reviews-section .truncated-text {
  margin-bottom: 0;
}

.reviews-section .truncated-text p {
  margin-bottom: 0;
}

.reviews-section .user-info {
  font-size: 0.9rem;
  margin-top: 10px;
}

.reviews-section .star {
  width: 15px;
  height: 15px;
}

/* Individual Review */
.review {
  padding: 20px 0;
  border-bottom: 1px solid var(--color-border);
  transition: opacity 0.5s ease-in-out;
  opacity: 0;
}

.review.show {
  opacity: 1;
}

.truncated-text {
  margin: 10px 0;
}

/* User Info Layout */
.user-info {
  display: flex;
  align-items: center;
}

.user-image {
  border-radius: 50%;
  width: 30px;
  height: 30px;
  margin-right: 10px;
}

/* 2.19 Pagination
----------------------------------------*/

.pagination {
  display: flex;
  justify-content: end;
  margin-top: 20px;
}

.pagination .page {
  border: 1px solid transparent;
  padding: 0.167rem 0.667rem;
  cursor: pointer;
  border-radius: 6px;
  background-color: transparent;
  opacity: 1;
  border-radius: 0.4rem;
  font-size: 0.9rem;
  color: #000;
}

.pagination .page.active {
  border: 1px solid transparent;
  background-color: #dde5f7;
}

.pagination .page.disabled {
  color: #ccc;
  cursor: not-allowed;
}

.pagination .navigation-button {
  background-color: var(--color-primary-light);
  border-radius: 0.4rem;
  border: none;
  width: 2.222rem;
  height: 2.222rem;
}

.pagination .navigation-button i {
  font-size: 0.9rem;
  color: #000;
}

.pagination .page-numbers-container {
  background-color: var(--color-primary-light);
  margin: 0 10px;
  border-radius: 0.4rem;
  padding: 0 0.2rem;
  display: flex;
  align-items: center;
}

.pagination button:hover,
.pagination .page.active:hover {
  background-color: #dde5f7;
}

.pagination button:disabled:hover {
  background-color: #f3f3f3;
}

/* 2.20  Empty state
---------------------------------------- */
.empty-state {
  padding: 20px 0;
  text-align: center;
}

.empty-state p {
  color: #888888;
  font-size: 0.9rem;
  user-select: none;
}

/* 2.21 Footer
-----------------------------------*/
footer {
  background-color: var(--color-primary);
  position: relative;
}

footer .pt-20 {
  padding-top: 30px;
}

/* Footer top section */
footer .footertop {
  background-color: white;
  padding: 20px;
  box-shadow: rgba(0, 0, 0, 0.123) 0px 7px 29px 0px;
  position: absolute;
  top: -40px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  border-radius: 5px;
  padding-left: 30px;
  padding-right: 30px;
  display: flex;
  justify-content: space-between;
}

footer .footertop p {
  display: inline-block;
  color: var(--color-text) !important;
  padding-right: 0 !important;
  width: 80%;
}

/*Call-to-action button inside the footer top */
footer .footertop .primary-btn {
  display: inline-block;
  width: fit-content;
}

/* Footer main content */
footer .content {
  padding-top: 60px;
  padding-bottom: 45px;
}

footer .content p,
footer .footer-links a {
  color: var(--color-text-muted);
  font-size: 1rem;
  margin: 2px 0;
}

footer .footer-links a:hover {
  text-decoration: underline !important;
}

footer .content h3,
footer h4 {
  color: #fff;
}

footer .content h3 {
  font-size: 1.39rem;
}

footer .content p {
  font-size: 1rem;
  padding-right: 60px;
}

/* Footer buttons */
footer .secondary-btn {
  background-color: var(--color-secondary);
  color: #fff;
  border: 1px solid transparent;
  margin-right: 0.5rem;
}

footer .secondary-btn:hover {
  background-color: transparent;
  color: var(--color-secondary);
  border: 1px solid var(--color-secondary);
}

footer .btn-share {
  background-color: transparent;
  color: var(--color-secondary);
  border: 1px solid var(--color-secondary);
}

footer .btn-share:hover {
  background-color: var(--color-secondary);
  color: #fff;
  border: 1px solid var(--color-secondary);
}

footer .content h4 {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 1px;
  margin-bottom: 3px;
}

/* footer links */
footer .content .d-flex a {
  margin-top: -10px;
}

footer .content .footer-links a {
  display: block;
  margin: 2px 0;
}

/* footer multilang container */
.footer-multi-lang {
  background-color: var(--color-text-muted);
  border-radius: 3px;
  padding: 4px 20px;
  margin-top: 10px;
  cursor: pointer;
  display: none;
  font-size: 1rem;
}

.footer-multi-lang .lang-arrow {
  float: right;
  margin-top: 5px;
}

.langs-lists {
  background-color: #fff;
  padding: 4px 20px;
  display: none;
  width: 75%;
}

.langs-lists a {
  color: black !important;
  display: block;
  padding: 5px 0;
  font-size: 1rem;
  border-bottom: 1px solid rgb(235, 233, 233);
}

.active-dropdown {
  display: block;
}

/* footer bottom */
footer .footer-bottom p {
  background-color: var(--color-footer-bottom);
  text-align: center;
  color: var(--color-text-muted);
  font-size: 0.89rem;
  padding: 8px 0;
  margin-bottom: 0;
}

/* 2.22 Datatables
-----------------------------------*/

.table-responsive {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.dataTables_filter,
.dataList_length {
  margin-bottom: 20px !important;
}

.dataTable thead {
  background-color: #f2f7fa !important;
}

.dataTable {
  margin-bottom: 20px !important;
}

.dataTable th,
.dataTable td,
.dataTables_info {
  font-size: 0.9rem;
}

.trackOrders_tbl table {
  width: 600px;
  overflow-x: auto;
}

/* 2.23 Profile status
----------------------------------------------*/
.profile-status,
.modify-pause {
  padding: 0.2rem 0.5rem;
  font-size: 0.9rem;
  border-radius: 1rem;
  margin-top: 0.2rem;
}

.modify-pause {
  border: 1px solid var(--color-primary-muted);
  margin-left: 0.2rem;
  color: var(--color-text);
  background-color: transparent;
}

.modify-pause:hover {
  background-color: var(--color-primary-light);
}

.profile-status.active {
  background-color: #dff5d8;
  color: #217a00;
}

.profile-status.paused {
  background-color: #fff3cd;
  color: #856404;
}

.profile-status.pending {
  background-color: #fee2e2;
  color: #d32f2f;
}

.profile-status.suspended {
  background-color: #fde3d6;
  color: #c62828;
}

.profile-status.deactivated {
  background-color: #eceff1;
  color: #37474f;
}

.profile-status.close {
  background-color: #f0f0f0;
  color: #616161;
}

/* 2.24 keywords list table 
--------------------------------------------------- */
.keywords-list {
  border: 1px solid var(--color-border);
}

.keywords-list,
.tag-Container {
  clear: both;
}

.keywords-list .add-icon {
  margin-right: 0;
}

.keywords-list .keyword {
  padding: 7px 10px;
  border: 1px solid var(--color-border);
  border-collapse: collapse;
  cursor: pointer;
}

.keywords-list .keyword.added {
  background-color: var(--color-primary-light);
}

.keywords-list .keyword p {
  margin-bottom: 0;
}

/*  2.25 Rounded keywords tags
------------------------------------------------- */

.tag-Container {
  border: 1px solid var(--color-border);
  padding: 10px;
  margin-bottom: 0.8rem;
}

.tag-Container .selected-tags {
  display: flex;
  flex-wrap: wrap;
}

.tag-item {
  display: inline-block;
  width: fit-content;
  border: 1.5px solid var(--color-border);
  background-color: var(--color-primary-light);
  padding: 0.2rem 0.7rem 0.2rem;
  border-radius: 2.222rem;
  margin: 5px 0;
  margin-right: 0.4rem;
  display: flex;
  justify-content: space-between;
  overflow: visible;
}

.tag-item .tag-text {
  margin-right: 5px;
  text-transform: capitalize;
}

.tag-item.pending {
  background-color: var(--color-pending);
  border: 1px solid var(--color-pending-border);
}

.tag-item .tooltip-btn {
  width: 1.4rem;
  margin-top: -5px;
}

.tag-item .tooltip-btn img {
  width: 100%;
}

.tag-item.pending p {
  color: #c9982d;
}

.tag-item.pending .delete_icon {
  color: #c9982d;
}

.tag-item p {
  display: inline;
  /* margin-right: .5rem; */
  margin-bottom: 0;
  font-size: 0.9rem;
}

.tag-item .delete_icon {
  color: #8ca0b8;
  cursor: pointer;
  font-size: 1rem;
  border: 1px solid var(--color-primary-muted);
  transition: 0.1s all;
}

.tag-item .close-icon {
  width: 1.4rem;
}

.tag-item .delete_icon:hover {
  background-color: #000;
}

.tooltip {
  display: block !important;
  opacity: 1 !important;
  z-index: 9999 !important;
}

/* 2.26 List item saver
---------------------------------------- */

/* List Item Styles */
#existingLists {
  max-height: 300px;
  overflow-y: auto;
}

#existingLists .list,
#listModal .creat-list {
  border: 1px solid var(--color-border);
  border-radius: 0.3rem;
  padding: 0.6rem 1rem;
  margin-top: 0.7rem;
  cursor: pointer;
  transition: 0.2s;
  color: #000;
}

#existingLists .list:first-child {
  margin-top: 0;
}

#existingLists .list:hover {
  background-color: #f8f8f8;
}

#existingLists .list .list-name {
  user-select: none;
}

/* Heart Icon Styles */
#existingLists .list .icon {
  margin-right: 0.5rem;
  width: 1.2rem;
}

#existingLists .list .icon {
  fill: none;
  stroke: var(--color-primary-muted);
  stroke-width: 2;
}

/* Saved List Styles */
#existingLists .list.saved-list {
  border: 1px solid var(--color-border);
  background-color: #f8f8f8;
}

#existingLists .list.saved-list .icon {
  fill: #ff385c !important;
  stroke: #ff385c;
}

/* Create List Modal Styles*/
#listModal .creat-list {
  background-color: var(--color-primary-light);
  width: 100%;
  text-align: left;
  padding-inline: 0.9rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

#listModal .creat-list:hover {
  background-color: var(--color-border);
}

#listModal .creat-list img {
  margin-top: -3px;
  width: 1.3rem;
}

/* Heart Icon Styles (For Action Button) */
.heart-icon {
  width: 1rem;
  fill: none;
  stroke: black;
  stroke-width: 2;
  cursor: pointer;
  display: inline-block;
}

.heart-icon.saved {
  fill: #ff385c;
  stroke: none;
}

/* 2.27 Toast
----------------------------------------- */

/* Toast Container */
#toast-container,
#inToastContainer {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 10px;
  border-radius: 5px;
  overflow: hidden;
}

#toast-container {
  max-width: 700px;
  min-width: 350px;
  width: fit-content;
  height: fit-content;
  position: fixed;
  top: 10px;
  right: 10px;
  left: auto;
  transform: none;
  z-index: 2002;

  align-items: center;
}

#inToastContainer {
  margin-top: -1rem;
}

/* Toast Styles */
.toasts {
  background-color: #2c2727;
  display: flex;
  justify-content: center;
  padding: 0.5rem 1rem;
  box-shadow: 0 0px 15px rgba(0, 0, 0, 0.111);
  z-index: 111111;
  border-radius: 5px;
  opacity: 0;
  transform: translateX(100%);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.toasts.no-title {
  align-items: center;
}

.toasts .icon-wrapper {
  width: 2rem;
  height: 2rem;
  /* background: #fff; */
  border-radius: 50%;
  box-sizing: border-box;
  padding: 0.4rem;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}

.toasts .icon {
  background: var(--primary);
  border-radius: 50%;
  height: 100%;
  width: 100%;
  position: relative;
}

.toasts .icon::before,
.toasts .icon::after {
  position: absolute;
  content: "";
  background: var(--secondary);
  border-radius: 5px;
  top: 50%;
  left: 50%;
}

.toasts .toast-message {
  padding: 0px 10px 0px 5px;
  flex: 1;
}

.toasts .toast-message h4,
.toasts .toast-message p {
  margin: 0;
  line-height: 1.2em;
}

.toasts .toast-message h4 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #fff;
}

.toasts .toast-message p {
  font-size: 0.9rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  color: #eeeeee;
}

.toasts .toast-close {
  position: relative;
  padding: 12px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  background: rgba(255, 255, 255, 0);
  transition: background 0.2s ease-in-out;
}

.toasts .toast-close:hover {
  background: rgba(0, 0, 0, 0.1);
}

.toasts .toast-close::before,
.toast-close::after {
  position: absolute;
  content: "";
  height: 12px;
  width: 1px;
  border-radius: 5px;
  background: #ffffff;
  top: 50%;
  left: 50%;
  transition: background 0.2s ease-in-out;
}

.toasts .toast-close:hover::before,
.toast-close:hover::after {
  background: #ffffff;
}

.toasts .toast-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.toasts .toast-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.toasts .timer {
  width: 0%;
  height: 4px;
  background: var(--primary);
  position: absolute;
  bottom: 0;
  left: 0;
  border-top-right-radius: 5px;
  box-shadow: 0 0 8px var(--primary);
}

.toasts .timer-animation {
  animation: countdown 5s linear forwards;
}

/* When toast becomes visible */
.toasts.toast-show {
  opacity: 1;
  transform: translateX(0);
}

/* When toast is hiding */
.toasts.toast-hide {
  opacity: 0;
  transform: translateX(100%);
}

@keyframes countdown {
  from {
    width: 100%;
  }

  to {
    width: 0%;
  }
}

/* Success Styling  */

.toasts.success {
  --primary: #279d42;
  --secondary: #e3fee6;
}

.toasts.success .icon {
  transform: rotate(-45deg);
}

.toasts.success .icon::before {
  width: 10px;
  height: 3px;
  transform: translate(calc(-50% + 1px), calc(-50% + 1px));
}

.toasts.success .icon::after {
  width: 3px;
  height: 6px;
  transform: translate(calc(-50% - 3px), calc(-50% - 1px));
}

/* Warning Styling  */
.toasts.warning {
  --primary: #f29208;
  --secondary: #ffeedf;
}

.toasts.warning .icon::before {
  width: 3px;
  height: 3px;
  transform: translate(-50%, calc(-50% + 4px));
}

.toasts.warning .icon::after {
  width: 3px;
  height: 7px;
  transform: translate(-50%, calc(-50% - 2px));
}

/* Error Styling  */

.toasts.error {
  --primary: #e63435;
  --secondary: #ffeaec;
}

.toasts.error .icon::before {
  width: 3px;
  height: 3px;
  transform: translate(-50%, calc(-50% + 4px));
}

.toasts.error .icon::after {
  width: 3px;
  height: 7px;
  transform: translate(-50%, calc(-50% - 2px));
}

/* Info Styling */

.toasts.info {
  --primary: #42c0f2;
  --secondary: #cfeffc;
}

.toasts.info .icon::before {
  width: 3px;
  height: 7px;
  transform: translate(-50%, calc(-50% + 2px));
}

.toasts.info .icon::after {
  width: 3px;
  height: 3px;
  transform: translate(-50%, calc(-50% - 4px));
}

/* 2.28 Media library modal
----------------------------------------- */

.modal-header-one {
  padding-top: 20px !important;
}

#uploadArea {
  border: 1px dashed var(--color-primary);
  transition: border-color 0.3s ease;
}

#uploadArea.drag-over {
  border-color: #0376f0;
  /* Change border color on drag-over */
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.2);
  background-color: #007bff21;
}

/* ~~ No files found state ~~ */

.upload-area {
  border: 1px solid #b5c4d6;
  border-radius: 10px;
  text-align: center;
  cursor: pointer;
}

.upload-area .upload-icon {
  margin-top: 1.4rem;
  margin-bottom: 1rem;
}

.upload-area .upload-icon img {
  width: 2.5rem;
}

.upload-area #static-upload {
  position: relative;
  top: -5px;
  padding-bottom: 2rem;
}

.upload-area #static-upload h5 {
  color: #000 !important;
  font-weight: bold !important;
}

.upload-area #static-upload p {
  font-size: 1rem;
  margin: 0 auto;
  max-width: 90%;
  color: #000;
}

.upload-area #static-upload .underLintxt {
  margin: 8px;
  font-size: 1rem;
  font-weight: 400;
  text-decoration: underline silver;
}

.upload-area #static-upload div span:nth-child(2) {
  font-size: 1rem;
  color: black;
  text-decoration: none;
}

.upload-area #static-upload div span {
  color: var(--color-link);
  font-size: 1rem;
  text-decoration: none;
  text-decoration: underline;
}

#noCardMessage {
  display: none;
  padding: 45px 30px;
  text-align: center;
  font-size: 1rem;
  border-radius: 10px;
  position: relative;
  top: -33px;
}

/* ~~ tabs ~~ */

.custom-tabs {
  display: flex;
  margin-bottom: 20px;
  padding: 2px;
  background: #f7f7f7;
  width: fit-content;
  border-radius: 10px;
}

.custom-tabs .custom-tab {
  cursor: pointer;
  border-bottom: 2px solid transparent;
  background: #f7f7f7;
  user-select: none;
  padding: 11px 11px;
  font-size: 0.9rem;
}

.custom-tabs .custom-tab:hover {
  background-color: #f1f0f0;
}

.select {
  border-radius: 0px 10px 10px 0px;
}

.custom-tab:first-child {
  border-radius: 10px 0 0px 10px;
}

.custom-tab.active {
  background-color: #dde5f7ea;
  border-radius: 7px;
  transition: opacity 0.5s ease, visibility 0s linear 0s;
}

.custom-tab.active:hover {
  background-color: #dde5f7ea;
}

#custom-tabs {
  display: none;
}

/* ~~ File Uploading Section ~~ */
#static-upload-show {
  display: none;
  height: 100% !important;
}

#static-upload-show .content {
  width: 100%;
  height: 120% !important;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 0 !important;
  padding-left: 10px;
  padding-right: 10px;
}

#static-upload-show span {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  display: block;
  margin: auto;
  background: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}

#static-upload-show p {
  color: var(--color-text);
  font-size: 16px;
  margin-top: 10px;
}

#static-upload-show .onMObile {
  display: none;
}

.onMobileShow {
  display: none;
  margin: auto;
  position: absolute;
  left: 50%;
  right: 50%;
  left: 42%;
  width: 76px;
  bottom: 10%;
  position: fixed;
  bottom: 5%;
  position: fixed;
  z-index: 10;
}

/* ~~  File Items ~~ */
.file-upload.active {
  background-color: #dde5f7ea;
  border-radius: 7px;
  transition: opacity 0.5s ease, visibility 0s linear 0s;
}

.file-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  max-width: 100%;
  padding-bottom: 20px;
}

.file-grid .file-item,
.file-grid .upload-area {
  width: 100%;
  height: 0;
  /* Required to make padding-top work */
  padding-top: 75%;
  /* 4:3 aspect ratio (3/4 * 100) */
  position: relative;
}

.file-grid .upload-area {
  padding-top: 0%;
  height: 100%;
}

.file-item {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 8px;

  width: 100%;
  height: 100%;
  background-color: #fff;
}

#file-itemBg {
  background-repeat: no-repeat;
  background-size: cover;
}

.file-item img,
.file-item video {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.file-item {
  position: relative;
  transition: transform 0.3s ease-in-out;
}

.crossClose {
  display: none;
}

.file-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(189, 8, 8, 0);
  transition: background 0.15s ease-in-out;
  cursor: pointer;
}

.file-item img,
.file-item video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  z-index: 2 !important;
  display: block !important;
}

.file-item:hover::after {
  background: rgb(0, 0, 0, 0.1);
}

.file-grid.show-more {
  max-height: none;
}

#show-btn-div {
  margin: 10px;
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

#show-btn-div .show-more-btn {
  z-index: 1000;
  position: relative;
}

/* Images */

.file-item img.uploadImg {
  transition: transform 0.1s ease, z-index 0s;
}

.file-item img:hover {
  animation: 0.3s ease-in-out;
  cursor: pointer;
  z-index: 1;
}

.play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 48px;
  color: white;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  background: #00000031;
  border-radius: 50px;
  border: 1px solid;
  padding: 0;
}

/* Videos */

.file-item video {
  width: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.videoUpload {
  pointer-events: none;
}

/* Selected Files Design */

.file-item.selected {
  border: 2px solid #007bff;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.file-item img#croppedImage,
.videoUpload {
  background-color: rgb(243, 243, 243);
}

.file-item img#croppedImage:hover,
.videoUpload:hover {
  background-color: rgb(0, 0, 0, 0.1);
}

.file-item.selected .videoUpload {
  background-color: rgba(0, 123, 255, 0.1);
}

.file-item.selected img#croppedImage {
  background-color: rgba(0, 123, 255, 0.1);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.8;
}

.file-item.selected::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../images/icons/check-tick.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 1000;
}

.file-item {
  transition: opacity 0.3s ease;
  position: relative;
}

.file-item:not(.selected) {
  opacity: 1;
  border: 1px solid #dde5f7;
}

.file-item.selected {
  background: none !important;
}

/* Files Uploading State - rounded circle */

.loading-indicator-div {
  display: flex;
  justify-content: center;
  align-items: center;
}

.parentloading-indicator {
  position: absolute;
  top: 0;
  left: 0;
  height: 80%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loading-indicator {
  position: relative;
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
}

.loading-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
}

.loading-indicator svg circle {
  transition: stroke-dashoffset 0.1s linear;
}

.percentage-text {
  position: absolute;
  font-size: 19px;
  font-weight: bold;
  color: black;
}

.fade-in {
  animation: fadeIn 0.5s ease-in-out;
}

/* Action Menu */

.menu-option svg {
  display: flex;

  margin-right: 10px !important;
  justify-content: space-between;
  align-items: center;
}

.menu-option img {
  width: 20px;
}

.menu-option .preview {
  width: 15px;
}

.menu-option {
  padding: 1px;
  cursor: pointer;
  display: flex;
  /* align-items: center; */
  /* justify-content: center; */
  position: relative;
}

.menu-option span {
  margin-right: 9px;
  display: flex;
}

.menu-option p {
  padding: 0;
}

.menu-option:hover {
  background-color: var(--color-primary-light);
}

.menu-options {
  position: absolute;
  top: 30px;
  right: 10px;
  background-color: white;
  border: 1px solid #ccc;
  padding: 10px;
  display: none;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  animation: fadeIn 0.3s ease-in-out;
}

.menu-options {
  position: absolute;
  top: 30px;
  right: 10px;
  background-color: white;
  border: 1px solid #ccc;
  padding: 10px;
  display: none;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  animation: fadeIn 0.3s ease-in-out;
}

.menu-options {
  z-index: 200;
  width: 155px;
  text-align: left;
  border-radius: 3px;
  top: 44px;
  display: none;
}

.menu-option .preview {
  width: 12px !important;
}

.dots-menu {
  position: absolute;
  top: 15px;
  right: 10px;
  cursor: pointer;
  font-size: 24px;
  color: white;
  background: #ffffff;
  border: 1px solid #dde5f7;
  border-radius: 4px;
  width: 1.8rem;
  height: 1.2rem;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.083);
  display: flex;
  justify-content: center;
  align-items: center;
}

.dots-menu img {
  display: block !important;
  margin: auto;
  width: 100% !important;
  margin-top: 0px;
}

.dots-menu {
  z-index: 100;
  font-size: 25px;
}

/* ~~ Preview Section ~~ */
#previewModal {
  position: fixed;
  top: 41px;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 11111111111;
}

#previewModal #back-closeModal {
  color: black;
  font-size: 1.2rem;
  font-weight: normal;
  position: absolute;
  padding: 0px 36px;
  display: flex;
  align-items: center;
  cursor: pointer;
  width: fit-content;
  left: 0;
  z-index: 1;
  top: 42px;
}

#previewModal #modalContent {
  background: white;
  width: 100%;
  height: 95vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 20px;
}

#previewModal #modelContStart {
  max-width: 600px;
  width: 90%;
  padding-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 20px;
}

#previewModal #modelContStart video {
  max-width: 100%;
}

.preview-image {
  max-width: 100%;
  max-height: 100%;
}

/* ~~ Crop Section ~~ */

.cropper-bg {
  background-image: none !important;
}

.cropper-container.cropper-bg {
  background-image: none !important;
}

#crop-cancel {
  background-color: #e9ecef;
  color: #000;
  border: 1px solid #e4e0e0;
}

.cropper-modal {
  background: none !important;
}

#cropBtn {
  display: flex;
  justify-content: center;
  /* margin-top: 30px; */
  margin-bottom: 30px;
}

#cropConfirm,
.crop-cancel {
  margin-right: 10px;
  padding: 10px 20px;
  cursor: pointer;
  border: none;
  background-color: #2e5dc0;
  color: white;
  font-size: 16px;
  border-radius: 10px;
  margin-top: 10px;
}

#libraryModal .modal-body {
  max-height: 93vh;
}

#libraryModal .modal-header {
  padding-inline: 0;
}

#libraryModal .modal-title {
  font-size: 1.4rem;
}

#libraryModal .modal-dialog {
  overflow: hidden;
}

#libraryModal .modal .modal-content {
  background: white;
  border-radius: 0px;
  text-align: center;
  position: relative;
  animation: slideIn 0.3s ease-in-out;
  width: 100%;
  overflow: auto;
  position: relative;
  height: 100vh;
}

.modal-Content-Start.content {
  display: none;
}

.modal-Content-Start.content.active {
  display: block;
}

#libraryModal .close-btn-modal {
  top: 10px;
  right: 15px;
  font-size: 30px;
  cursor: pointer;
}

/*  Skeleton-loader */
.skeleton-loader {
  width: 100%;
  height: 200px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite linear;
  border-radius: 8px;
  position: absolute;
  top: 0;
  left: 0;
}

.media-library .btn-submit {
  z-index: 1000;
}

#toast-container {
  z-index: 2002;
}

/*  2.29 Light Gallery
----------------------------------------- */

.gallery-view {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  z-index: 1000;
}

.gallery-view .gallery-content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.gallery-view .main-gallery {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.gallery-view .main-gallery img {
  width: 100%;
  max-width: fit-content;
}

/* Thumbnail styling */

.thumbnail-container {
  height: auto;
  background: #0000;
  padding: 10px;
  display: flex;
  gap: 5px;
  overflow-x: auto;
  white-space: nowrap;
  scroll-snap-type: x mandatory;

  scrollbar-width: none;
  -ms-overflow-style: none;
}

.thumbnail-container::-webkit-scrollbar {
  display: none;
}

.thumbnail-container {
  scrollbar-width: none;
}

.thumbnail-container {
  -ms-overflow-style: none;
}

.thumbnail-parent {
  width: 45px;
  height: 33px;
  display: flex;
  flex: 0 0 auto;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  border-radius: 5px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  scroll-snap-type: x mandatory;
}

.thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5px;
  cursor: pointer;
  transition: transform 0.3s ease-in-out;
}

.thumbnail.active,
.thumbnail:hover {
  border: 2px solid orangered;
}

/* video thumbail */
.thumbnail-parent {
  position: relative;
  display: inline-block;
  cursor: pointer;
  width: 60px;
  height: 50px;
  overflow: hidden;
}

.thumbnail-parent .thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5px;
}

.thumbnail-parent .play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 25px;
  height: 25px;
  background-color: rgba(0, 0, 0, 0.313);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.thumbnail-parent .play-icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

/* Gallery arrow Btns */
.gallery-view .gallery-content .main-gallery .nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  border: none;

  cursor: pointer;
  font-size: 24px;
  transition: background 0.3s;
  z-index: 100;
  background: rgb(0 0 0 / 72%);
  padding: 10px;
}

.gallery-view .gallery-content .main-gallery .nav-button {
  display: none;
}

.gallery-view .gallery-content .main-gallery .nav-button:hover {
  filter: brightness(1.5);
  background-color: #2b2b2b !important;
}

/* open Gallery Navigation  */
.gallery-view .controls {
  position: absolute;
  top: 0px;

  right: 10px;
  display: flex;
  gap: 5px;
  z-index: 1000;
}

.control-button:hover {
  background: rgba(0, 0, 0, 0.9);
  transform: scale(1.1);
}

.gallery-view .control-button {
  background: transparent;
  color: #939393;
  border: none;
  padding: 8px;
  cursor: pointer;
  transition: background 0.3s;
  border-radius: 50px;
  height: 37px;
  display: flex;
  background: rgba(0, 0, 0, 0.5);

  align-items: center;
  justify-content: center;
  /* width: 43px; */
  padding: 11px;
  margin-top: 20px;
}

.gallery-view .control-button.zoom-plus {
  padding: 9px !important;
}

.gallery-view .control-button.zoom-minus {
  padding: 10px !important;
}

.gallery-view .control-button:hover {
  filter: brightness(1.5);
}

.gallery-view .control-button.zoom-minus {
  display: none;
}

.control-button.zoom-plus.swipe-left {
  transform: translateX(-30px);
}

.gallery-view .control-button.close {
  font-weight: 600;
  position: relative;
  font-size: 33px;
  cursor: pointer;
  z-index: 1001;
  color: #939393;
}

.gallery-view {
  opacity: 0;
  visibility: hidden;
  transform: scale(0.95);
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s;
}

.gallery-view.show {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

/* Gallery Counter */
.gallery-view .counter {
  position: absolute;
  top: 17px;
  left: 0px;
  background: rgba(0, 0, 0, 0.5);
  color: #939393;
  padding: 8px 16px;
}

/*open gallery  Image Show  */
.mainGalleryMedia {
  transition: transform 0.3s ease-in-out;
}

.gallery-view .main-gallery .gallery-media {
  max-height: 65vh;
}

#mainGalleryMedia video ~ #zoomInBtn,
#mainGalleryMedia video ~ #zoomOutBtn {
  display: none !important;
}

.mainGalleryMedia video {
  width: 85%;
  display: block;
  margin: auto;

  height: 80vh;
}

.mainGalleryMedia {
  transition: transform 0.3s ease-in-out;
}

.mainGalleryMedia.swipe-right {
  transform: translateX(30px);
}

/*  2.30 Custom confirm modal
----------------------------------------- */

.custom-delete-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  /* Hidden by default via inline style */
  justify-content: center;
  align-items: start;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 111111111111;
}

/* Modal Content */
.custom-delete-content {
  background: #fff;
  width: 400px;
  max-width: 90%;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  animation: fadeIn 0.3s ease;
  margin-top: 40px;
  padding: 0 6px;
}

/* Header */
.custom-delete-header {
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.custom-delete-header button {
  position: relative;
  top: -17px;
  font-weight: bold;
}

.custom-delete-header img {
  margin-top: 20px;
}

.custom-delete-title {
  margin: 0;
}

.custom-delete-close {
  background: transparent;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  margin-left: auto;
}

/* Body */
.custom-delete-body {
  padding: 0 1rem;
}

/* Footer */
.custom-delete-footer {
  padding: 0 1rem 1.5rem 1rem;
  display: flex;
  justify-content: flex-end;
  gap: 5px;
}

.custom-delete-content h5 {
  font-size: 20px;
  font-weight: 800;
}

.custom-delete-content p {
  font-size: 16px;
  color: black;
  line-height: 20px;
}

/* Buttons */
.custom-delete-btn {
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

.error-popup-modal {
  margin: auto !important;
  margin-top: 10px !important;
  padding: 20px 20px 0 20px;
}

/* Error popup */
.error-popup-modal .custom-delete-footer .retry {
  background: #2e5dc0;
  color: white;
}

/*  2.31 Checkbox Component
----------------------------------------- */
.checkbox-container {
  display: flex;
  align-items: center;
  margin: 10px 0;
}

.custom-checkbox {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 1.2rem;
  height: 1.2rem;
  border: 2px solid var(--color-input-control-border);
  border-radius: 4px;
  outline: none;
  cursor: pointer;
  position: relative;
  margin-right: 8px;
}

.custom-checkbox:checked {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.custom-checkbox:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.checkbox-label {
  font-size: 1rem;
  color: #000000;
  cursor: pointer;
  user-select: none;
}

/*  2.33 Note Banner
----------------------------------------- */
.info-banner {
  padding: 10px 17px;
  border-radius: 0.4rem;
  margin-bottom: 20px;
}

.info-banner.info-banner--info {
  background-color: #f0f9fe;
  border-left: 3px solid var(--color-primary);
}

.info-banner.mt-4 {
  margin-top: 1.5rem;
  margin-bottom: 0;
}

.info-banner p {
  margin: 0;
  font-size: 1rem;
  color: #434343;
}

/*  2.34 Pagination
----------------------------------------- */
/* Pagination Container */
.pagination-container {
  margin: 20px 0;
  border: 1px solid #d5d4d4;
  width: fit-content;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Pagination Buttons */
.pagination-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.3rem 0.95rem;
  margin: 0;
  border: none;
  border-radius: 6px;
  background-color: transparent;
  color: #333;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 5px 0;
}

/* Hover State */
.pagination-btn:not(.disabled):hover {
  background-color: var(--hover-bg-light);
}

/* Active State */
.pagination-btn.active {
  background-color: #edf2fd;
  color: rgb(0, 0, 0);
  font-weight: normal;
}

.pagination-btn.active:hover {
  background-color: #edf2fd;
}

/* Disabled State */
.pagination-btn.disabled {
  background-color: transparent;
}

.pagination-btn.disabled img {
  filter: grayscale(100%) brightness(1.5);
  opacity: 0.8;
}

/* Ellipsis Style */
.pagination-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: #666;
  font-size: 14px;
}

/* Focus State (Accessibility) */
.pagination-btn:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.pagination-btn .icon {
  width: 1.3rem;
}

/*  2.35 Search Bar
----------------------------------------- */
.adi-search-container {
  max-width: 350px;
}

.adi-search-container .search-input-container {
  position: relative;
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 0.5rem;
  padding: 4px 16px;
  transition: var(--transition);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  border: 1px solid #cccccc;
}

.adi-search-container .search-input-container:focus-within {
  background-color: #fff;
  /* box-shadow: 0 4px 12px rgba(67, 97, 238, 0.15); */
  border: 1px solid var(--color-primary);
}

.adi-search-container .search-input-container img {
  width: 20px;
  height: 20px;
  margin-right: 0.4rem;
  opacity: 0.6;
}

.adi-search-container .search-input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 16px;
  color: #000;
  outline: none;
  padding: 0px 0;
}

.adi-search-container .search-input::placeholder {
  color: var(--dark-gray);
  font-weight: 400;
}

.adi-search-container .search-clear {
  background: none;
  border: none;
  color: var(--dark-gray);
  font-size: 20px;
  cursor: pointer;
  padding: 0 4px;
  margin-left: 8px;
  transition: var(--transition);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
}

.adi-search-container .search-clear img {
  display: inline-block;
  margin: 0 auto;
}

.adi-search-container .search-clear:hover {
  background-color: var(--divider);
  color: var(--text-color);
}

/* Animation for clear button */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.8);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.adi-search-container .search-clear[style*="display: block"] {
  display: flex !important;
  animation: fadeIn 0.2s ease-out;
}

/*  2.36 Custom radio group      
----------------------------------------- */
.custom-radio-group-style .radio-item {
  border-radius: 10px;
  padding: 1rem;
  margin-bottom: 0.2rem;
  background-color: #fff;
  transition: border-color 0.3s ease;
  display: flex;
  align-items: flex-start;
  cursor: pointer;
}

.custom-radio-group-style .radio-item.selected {
  background-color: var(--color-primary-light);
}

.custom-radio-group-style .radio-item:hover {
  background-color: var(--hover-bg-light);
}

.custom-radio-group-style .radio-item input[type="radio"] {
  margin-top: 5px;
}

.custom-radio-group-style .radio-item label {
  cursor: pointer;
}

.custom-radio-group-style h6 {
  font-size: 1rem;
  margin-bottom: 6px;
}

.custom-radio-group-style .radio-description {
  margin-bottom: 0;
}

/*  2.37 Accordian Component      
----------------------------------------- */

.aadi-accordion-component {
  position: relative;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: visible;
  transition: all 0.3s ease;
}

.aadi-accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  border-bottom: 0.5px solid var(--color-border);
  cursor: pointer;
  flex-wrap: wrap;
}

.aadi-accordion-header-content {
  display: flex;
  gap: 4px;
}

.aadi-accordion-title {
  margin: 0;
  font-size: 1.111rem;
  /* 20px */
  font-weight: 600;
  color: #1e293b;
  padding-right: 0.5rem;
  margin-right: 0.5rem;
}

.aadi-accordion-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.778rem;
  /* 14px */
  color: var(--text-color);
  position: relative;
}
.aadi-accordion-meta::before {
  content: "";
  position: absolute;
  left: -10px;
  height: 20px;
  width: 1px;
  background-color: #d7d7d7;
  top: 50%;
  transform: translateY(-50%);
}
.aadi-accordion-dot {
  width: 4px;
  height: 4px;
  background-color: rgb(49, 49, 49);
  border-radius: 50%;
}

.aadi-accordion-actions {
  display: flex;
  align-items: center;
  gap: 0px;
}

.aadi-accordion-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.aadi-accordion-toggle-icon {
  transition: transform 0.3s ease;
  width: 1.2rem;
  height: 1.2rem;
}

.aadi-accordion-component.expanded .aadi-accordion-toggle-icon {
  transform: rotate(180deg);
}

.aadi-accordion-content {
  display: none;
  padding: 16px;
  border-top: 1px solid red;
}

.aadi-accordion-component.expanded .aadi-accordion-content {
  display: block;
}
.aadi-accordion-component .aadi-dropdown-button {
  margin-top: 4px !important;
}

/*  2.38 Dropdown Component      
----------------------------------------- */

.aadi-dropdown-component {
  position: relative;
  display: inline-block;
  pointer-events: auto !important;
}

.aadi-dropdown-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  width: 28px;
  height: 17px;
  border: 1px solid var(--divider);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  background-color: white;
  position: relative;
  padding: 0 2px;

  cursor: pointer;
}

.aadi-dropdown-icon {
  width: 85%;
}

.aadi-dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: white;
  border: 1px solid var(--divider);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
  padding: 8px 0;
  border-radius: 6px;
  z-index: 1000;
  display: none;
  min-width: 200px;
}

.aadi-dropdown-component.open .aadi-dropdown-menu {
  display: block;
}

.aadi-dropdown-option {
  padding: 8px 12px;
  font-size: 0.9rem;
  color: #334155;
  cursor: pointer;
}

.aadi-dropdown-option:hover {
  background-color: var(--hover-bg-light);
}

.aadi-deactivate-option {
  color: #dc2626;
}

.aadi-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  border-top: 1px solid var(--divider);
  padding: 0 16px;
  box-sizing: border-box;
}

.aadi-accordion-component.expanded .aadi-accordion-content {
  padding: 16px;
}

/* ================================= */
/* 3- PUBLIC PAGES */
/* ================================= */

/*  3.1 Profile status guide
--------------------------------------------------------- */

/* status-guide-table */
.status-guide-table {
  max-width: 900px;
  width: 100%;
  border-collapse: collapse;
}

.status-guide-table table,
.status-guide-table th,
.status-guide-table td {
  border: 1px solid #dddddd;
}

.status-guide-table th,
.status-guide-table td {
  padding: 12px;
  text-align: left;
}

.status-guide-table th {
  background-color: #f2f2f2;
}

.status-guide-table .profile-status {
  width: fit-content;
}

.status-guide-table p {
  margin-bottom: 0;
  font-size: 0.9rem;
}

/* 3.2 Member Profile
-------------------------------------------- */

/* flex parent container */
.business-cards-container {
  max-width: 600px;
  margin: 0 auto;
}

.business-cards-container .bb-1 {
  border-bottom: none;
}

.business-cards-container a.primary-btn:hover {
  color: #fff;
}

.business-cards-container #businessCardsHolder {
  flex-direction: column;
  gap: 0;
}

/* business card */
.business-cards-container .business-card {
  border-radius: 0px;
  margin: 0px 0;
}

.business-cards-container .business-card h3 {
  font-size: 1.2rem;
  color: #000;
}

/* Column width control */
#column1 {
  width: 45% !important;
}

#column2 {
  width: 55% !important;
}

#column2 .business-card {
  margin-left: 2rem;
}

/*  profile info  */
.business-cards-container .profile-info {
  background-color: var(--color-primary-light);
  position: relative;
  padding: 0;
}

.business-cards-container .profile-info .btn-edit-logo {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}

/* business header alignment*/
.business-cards-container .profile-info .business-header {
  width: 50%;
  text-align: center;
  padding-inline: 15px;
  padding-top: 1.2rem;
  padding-bottom: 0;
}

.business-cards-container .profile-info .business-details {
  width: 50%;
}

/* Star icon and status indicator styling */
.business-cards-container .profile-info .business-details #starIcon {
  width: 1.2rem;
  margin-right: 3px;
  margin-top: -4px;
}

/* Styling for business logos and placeholder */
.business-cards-container .profile-info .business-header .logo,
#editBusinessInfo .logo {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  background-color: #fff;
  margin: 0 auto;
  margin-bottom: 10px;
  position: relative;
}

/* Placeholder logo if image is unavailable */
.business-cards-container .profile-info .business-header .logo img,
#editBusinessInfo .logo img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: none;
  /* Hide by default */
}

.business-cards-container .profile-info .business-header .placeholder-logo,
#editBusinessInfo .placeholder-logo {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-primary-muted);
  color: #000;
  font-size: 36px;
  border-radius: 50%;
  font-weight: bold;
}

/* Status indicator on the logo */
.business-cards-container
  .profile-info
  .business-header
  .logo
  .status-indicator {
  position: absolute;
  width: 1.1rem;
  height: 1.1rem;
  bottom: 5px;
  right: 5px;
  background-color: var(--color-danger);
  border: 3.5px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
}

/* Green status */
.business-cards-container
  .profile-info
  .business-header
  .logo
  .status-indicator.green {
  background-color: green;
}

/* Edit button positioning */
.business-cards-container .profile-info .business-header .logo .edit-btn {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(0%, 0%);
  border: none;
  border-radius: 50%;
  padding: 5px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.business-cards-container .profile-info .business-header .business-name {
  font-size: 1.2rem;
  margin-bottom: 0;
  color: #000;
}

/* Business status and username styling */
.business-cards-container .profile-info .business-header .business-status-info,
.business-cards-container .profile-info .business-header .busi-uname {
  font-size: 0.85rem;
}

.business-cards-container .profile-info .business-header .at-symbol {
  font-size: 0.7rem;
}

.business-cards-container .profile-info .business-details {
  padding-left: 20px;
  padding-top: 1.2rem;
  padding-bottom: 0.8rem;
}

.business-cards-container
  .profile-info
  .business-details
  .info-box
  .info-label {
  font-size: 0.9rem;
  margin-bottom: 0;
}

.business-cards-container .profile-info .business-details .info-box .star-icon {
  font-size: 0.9rem;
}

.business-cards-container .profile-info .business-details .info-box h4 {
  font-size: 1rem;
}

.business-cards-container .profile-info .business-details .info-box a {
  text-decoration: none;
}

.business-cards-container .profile-info .business-details .info-box a h4 {
  color: #000;
}

/* business actions */
.business-cards-container .business-actions,
.business-cards-container .action-group {
  border-top: 1px solid var(--color-primary-muted);
  padding: 10px;
  flex-wrap: wrap;
}

.business-cards-container .action-group {
  border-top: none;
}

.business-cards-container .business-actions a,
.business-cards-container .action-group a {
  font-size: 0.9rem;
  display: inline-block;
  margin: 0 0.1rem 0px;
  padding: 5px 6px;
  border-radius: 7px;
  color: var(--color-text);
  text-decoration: none;
}

.business-cards-container .action-group img {
  width: 25px;
  object-fit: contain;
}

.business-cards-container .business-actions a {
  background-color: #dde5f7;
  transition: 0.3s ease;
}

.business-cards-container .business-actions a:hover {
  background-color: #fff;
}

.business-cards-container .business-actions img {
  width: 17px;
  height: 17px;
  margin-top: -4px;
}

.business-cards-container .action-group a {
  text-decoration: underline;
  margin: 0 2px;
}

.business-cards-container .business-actions i {
  margin-right: 2px;
  color: var(--color-primary);
}

.business-cards-container .action-group img {
  width: 0.9rem;
  object-fit: contain;
  margin-right: 3px;
}

/*  */
.action-website {
  position: relative;
  display: inline-block;
  padding-right: 20px;
}

.action-website .edit-btn {
  position: absolute;
  top: 10%;
  right: -0px;
  transition: right 0.3s, opacity 0.3s;
}

.action-website:hover .edit-btn {
  right: 0;
  opacity: 1;
}

/* business status */
.business-cards-container .profile-info .business-status {
  position: absolute;
  right: 10px;
  top: 10px;
  border: 1px solid var(--color-primary-muted);
  border-radius: 25px;
  padding: 3px 10px;
  display: flex;
  align-items: center;
}

/* - map location  - */
.business-cards-container .location-map .map-container {
  width: 100%;
  aspect-ratio: 16 / 10 !important;
  /* Maintain a 16:9 aspect ratio */
  background-color: #fff;
  border: 1px solid var(--color-border);
  position: relative;
}

.business-cards-container .location-map .show-map-btn {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  display: inline-block;
  background-color: var(--color-link);
  color: #fff;
  font-size: 0.9rem;
  padding: 0.3rem 0.6rem;
}

.business-cards-container .about {
  padding-top: 10px;
}

.business-cards-container #businessOverview p {
  margin-bottom: 0;
}

.business-cards-container .about-info-items .info-item {
  padding: 0.4em 0rem;
  background: rgb(255, 255, 255);
  background-color: #fff;
  display: flex;
  align-items: baseline;
  justify-content: left;
  padding-right: 20px;
  margin-bottom: -0.3rem;
}

.business-cards-container .about-info-items .staff-detail {
  align-items: center;
}

.business-cards-container .about-info-items .info-item .info-content {
  flex: 1;
}

.business-cards-container .about-info-items .info-item p {
  margin-bottom: 0;
  color: #636363;
  display: inline-block;
}

.business-cards-container .about-info-items .info-icon {
  width: 25px;
  margin-right: 0.5rem;
}

.business-cards-container .about-info-items .info-icon img {
  object-fit: contain;
}

.business-cards-container
  .about-info-items
  .working-hours-container
  .see-all-hours-btn {
  padding-left: 0.5rem;
}

/* business keywords */
.business-card .keyword-list a {
  display: inline-block;
  padding: 0.3rem 0.5rem;
  font-size: 0.95rem;
  background-color: var(--color-primary-light);
  color: var(--color-text);
  text-decoration: none;
  margin-right: 0.1rem;
  margin-bottom: 0.6rem;
  border-radius: 0.3rem;
  transition: all 0.1s ease-in-out;
}

.business-card .keyword-list a:hover {
  background-color: var(--color-border);
}

/* opening hours and open/close status */
#workingHoursModal .btn-close {
  position: absolute;
  right: 10px;
  top: 10px;
  font-size: 0.7rem;
}

#workingHoursModal .header h3 {
  color: #000;
  font-size: 1.4rem;
}

.business-hours {
  overflow: hidden;
  width: 90%;
  margin: 0 auto;
  padding: 0px 0px 15px;
}

.business-hours table {
  width: 100%;
}

.business-hours table tr {
  border: 0;
  border-bottom: 1px solid rgb(199, 199, 199);
}

.business-hours table tr:last-child {
  border-bottom: none;
}

.business-hours table td:first-child {
  width: 40%;
}

.business-hours table td {
  text-align: center;
  border: none;
  padding: 0.5rem 0;
}

.business-hours table tr .day-of-week {
  font-size: 1.1rem;
  font-weight: bold;
  text-transform: capitalize;
}

.today {
  color: var(--color-link);
}

.business-status-label.open,
.business-status-label.closed {
  margin-right: 0.6rem;
}

.business-status-label.open:after {
  content: " Open";
  color: var(--color-success);
}

.business-status-label.closed:after {
  content: " Closed";
  color: rgb(230, 5, 5);
  vertical-align: middle;
}

/* 3.3 landing page 
--------------------------------------- */

.banner {
  background-color: #083a76;
  width: 100%;
  position: relative;
  margin-bottom: 80px;
}

.banner .circle {
  width: 100%;
  background-color: #083a76;
  height: 100%;
  position: absolute;
  top: 100px;
  border-radius: 50%;
  z-index: 0;
}

.banner .circle .circlee {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-color: #094081;
}

.banner .circle .circle1 {
  margin-left: 20px;
}

.banner .circle .circle2 {
  margin-top: -50px !important;
  margin-left: 5px;
}

.banner .circle .circle3 {
  display: block;
  width: 115px;
  height: 115px;
  border-radius: 50%;
  background-color: #094081;
  margin-left: 90px;
  margin-top: -40px;
}

.banner .right-circles {
  float: right;
  margin-right: 20px;
  position: absolute;
  bottom: 130px;
  right: 0px;
}

/* banner header */
.banner .inner-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: transparent;
  z-index: 1111;
}

.banner .inner-header .header-menu a {
  color: #fff;
}

.banner .header-menu ul li a:hover {
  border-bottom: 2px solid #fff;
}

.banner .inner-header .header-menu .dropdown {
  box-shadow: none;
}

.banner .inner-header .header-menu .dropdown a {
  color: var(--color-primary);
}

.banner .inner-header .login-btn {
  background-color: var(--color-secondary);
  color: #fff;
}

.banner .inner-header .login-btn:hover {
  color: var(--color-secondary);
  border: 1px solid var(--color-secondary);
}

.banner .mobile-menu .nav-btn a {
  font-size: 25px;
  color: #fff;
}

/* banner text */
.banner .text {
  position: relative;
  z-index: 1;
  text-align: center;
  padding-top: 140px;
  padding-bottom: 80px;
  margin: 0 auto;
  max-width: 930px;
}

.banner .text h2 {
  font-size: 3.5rem;
  color: var(--color-secondary);
}

.banner .text h4 {
  font-size: 1.5rem;
  color: rgb(226, 225, 225);
  font-weight: 500;
  margin-top: -5px;
}

.banner .text ol {
  display: inline-block;
  text-align: left;
  padding: 5px 0;
  margin-bottom: 0;
  max-width: 85%;
}

.banner .text p,
.banner .text ol li {
  color: rgb(228, 227, 227);
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5rem;
}

.banner .btn_group .white-btn {
  background-color: #fff;
  color: var(--color-primary);
  border: 1px solid white;
}

.banner .btn_group .white-btn:hover {
  background-color: transparent;
  color: #fff;
}

.banner .btn_group .readmore-btn {
  background-color: transparent;
  color: #fff;
  border: 1px solid white;
}

.banner .btn_group .readmore-btn:hover {
  background-color: #fff;
  color: var(--color-primary);
}

/* business profile */
.business-profile {
  display: flex;
  padding: 20px 0 0;
}

.business-profile p {
  margin-right: 60px;
}

.business-profile .business-profile__img {
  display: flex;
  justify-content: center;
  align-items: center;
  /* width: 100%; */
  height: 280px;
  background: linear-gradient(#083a76e0, #083a76d2),
    url("../images/welcome-img.jpg");
  background-position: center;
  margin-bottom: -20px;
}

.business-profile .business-profile__img h4 {
  position: relative;
  color: var(--color-secondary);
  font-weight: 500;
  font-size: 1.7rem;
}

.business-profile .business-profile__img h4 .arrow-up {
  color: var(--color-success);
  font-size: 2rem;
}

.business-profile .business-profile__img h4 .arrow-down {
  color: var(--color-danger);
  font-size: 2rem;
}

.business-profile .business-profile__img h4::before {
  content: "";
  width: 15%;
  height: 2px;
  background-color: var(--color-secondary);
  position: absolute;
  top: 20px;
  left: -50px;
}

.business-profile .business-profile__img h4::after {
  content: "";
  width: 15%;
  height: 2px;
  background-color: var(--color-secondary);
  position: absolute;
  top: 20px;
  right: -50px;
}

.business-profile .link {
  color: var(--color-primary);
}

/* categories */
.categories {
  background-color: #f8f8f8;
  margin-bottom: 120px;
}

.categories .category .category_header {
  background-color: var(--color-primary);
  padding: 15px 0 10px;
  border-radius: 10px 10px 0 0;
  padding-left: 50px;
  position: relative;
}

.categories .category .category_header .category_no {
  width: 35px;
  height: 35px;
  background-color: var(--color-secondary);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.1rem;
  position: absolute;
  bottom: -15px;
  left: 15px;
}

.categories .category .category_header h4 {
  color: #fff;
  font-size: 1rem;
}

.categories .category .category_body {
  background-color: #fff;
  padding-top: 20px;
  padding-left: 70px;
  padding-bottom: 30px;
}

.categories .category .category_body p {
  line-height: 1.4rem;
  position: relative;
}

.categories .category .category_body p::before {
  content: "";
  width: 17px;
  height: 4px;
  background-color: var(--color-primary);
  position: absolute;
  top: 12px;
  left: -25px;
}

.categories .text-left {
  text-align: left;
}

/* 3.4 Categories list
---------------------------------------------- */

.categories_details {
  padding-top: 40px;
  padding-bottom: 40px;
}

.categories_details h4 {
  font-size: 1.1rem;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.categories_details .category {
  display: flex;
  border-radius: 5px;
  background-color: #f2f7fa;
  padding: 10px 10px;
  transition: 0.2s ease-in-out;
  margin: 10px 0;
  width: 100%;
  text-decoration: none;
}

.categories_details .category:hover,
.categories_details .category:focus {
  background: var(--color-primary);
  color: #fff;
}

/* category number */
.categories_details .category .cat_no p {
  width: 35px;
  height: 35px;
  background-color: var(--color-secondary);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  margin: 0;
  margin-right: 5px;
  font-size: 1rem;
}

/* category name */
.categories_details .category .cat_name p {
  margin: 0;
  margin-top: 5px;
  font-size: 1rem;
  color: #000;
  transition: 0.2s ease-in-out;
}

.categories_details .category:hover > .cat_name p {
  color: #fff !important;
}

/* 3.5 Advert cluster page  
------------------------------------------------- */
.advert-cluster-page {
  padding: 90px 0;
}

.adverts {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.adverts .col-lg-15 {
  border: none;
  display: flex;
  align-items: stretch;
  padding: 0;
}

.adverts .advert {
  margin: 5px;
  background-color: #f2f7fa;
  text-align: center;
  padding: 2rem 0.8rem 0.8rem;
  width: 100%;
  border-radius: 5px;
  text-decoration: none;
}

.adverts .advert:hover {
  background-color: var(--color-primary-light);
}

.adverts .advert > div:first-child {
  width: 60px;
  height: auto;
  max-height: 100%;
  margin: 0 auto;
}

.adverts .advert img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.adverts h4 {
  font-size: 1.1rem;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.adverts p {
  margin-top: 10px;
}

.adverts .cluster_name {
  color: var(--color-secondary);
}

.adverts .categories_details .category {
  display: flex;
  align-items: center;
  border-radius: 5px;
  background-color: #f2f7fa;
  margin: 8px 0;
}

.adverts .categories_details .category:hover,
.adverts .categories_details .category:focus {
  background: var(--color-primary-light);
  color: var(--color-primary);
}

.adverts .categories_details .category .cat_no p {
  width: 30px;
  height: 30px;
  margin-right: 8px;
  background-color: var(--color-primary);
}

.adverts .categories_details .category .cat_name p {
  margin-top: 0 !important;
}

.adverts .categories_details .category:hover .cat_name p {
  color: #000 !important;
}

/* 3.6 Plaza list  
------------------------------------------------- */

.plaza {
  background-color: #f8f8f8;
}

.gray-bg1 {
  border-radius: 15px;
}

.gray-bg1 .less-gutter input {
  border: none;
  margin-bottom: 1px;
  outline: none;
  color: #000;
}

/* list/grid button */
.layout_btn {
  border: 1px solid var(--color-border);
  background-color: #fff;
  color: #000;
  padding: 0px 6px;
}

#list.active,
#grid.active,
#list2.active,
#grid2.active {
  background-color: var(--color-primary-light);
}

/* sidebar */
.filters_sidebar {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  width: 295px;
  margin-right: 24px;
  padding: 20px;
  position: sticky;
  top: 0;
  overflow-y: scroll;
  max-height: calc(100vh - 10px);
  transition: all 0.5s ease-in-out;
}

.close_sidebar {
  display: none;
}

/* Scrollbar width */
.filters_sidebar::-webkit-scrollbar {
  width: 5px;
}

/* Scrollbar thumb (the draggable part) */
.filters_sidebar::-webkit-scrollbar-thumb {
  background-color: #c2c2c2;
  border-radius: 20px;
}

/* Scrollbar track (the background part) */
.filters_sidebar::-webkit-scrollbar-track {
  background-color: #eeeeee;
}

.filters_sidebar .filter {
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 20px;
}

.filters_sidebar h3 {
  font-size: 1rem;
  text-transform: capitalize;
}

.filters_sidebar .price_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 20px;
}

.filters_sidebar .price,
.filters_sidebar .price_flex {
  position: relative;
}

.filters_sidebar .price_flex input {
  width: 95%;
}

.filters_sidebar .price label {
  font-style: normal;
  font-weight: 500;
  font-size: 0.9rem;
  line-height: 24px;
  color: var(--color-text);
  margin-bottom: 6px;
}

.filters_sidebar input {
  padding-left: 20px;
  border: 1px solid #c8c8c8;
  border-radius: 8px;
  z-index: 1;
  background: transparent;
  color: #555658 !important;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}

.filters_sidebar input:focus {
  outline: 0 !important;
}

.filters_sidebar .price_flex span {
  position: absolute;
  bottom: 8px;
  left: 8px;
  z-index: 9;
  font-size: 0.9rem;
}

.filters_sidebar .checkbox_text {
  font-size: 0.9rem;
  margin-left: 5px;
  color: var(--color-text);
  text-transform: capitalize;
}

.filters_sidebar .checkboxHolder label {
  cursor: pointer;
  top: 3px;
  position: relative;
}

.filters_sidebar .checkboxHolder input[type="checkbox"] {
  margin: 4px 0 0;
  line-height: normal;
  width: 17px;
  height: 17px;
  font-size: 0.9rem;
  cursor: pointer;
}

.filters_sidebar .filter_dropdown {
  display: block;
  cursor: pointer;
}

.filters_sidebar .clear_all {
  font-size: 0.9rem;
  color: var(--color-link);
  text-decoration: underline !important;
}

.filters_sidebar .list-unstyled {
  list-style: none;
}

.filters_sidebar .list-unstyled li {
  display: inline-block;
  color: var(--color-text);
  background-color: #f2f7fa;
  border: 1px solid var(--color-border);
  padding: 4px 8px;
  margin: 4px 0;
  margin-right: 5px;
  border-radius: 4px;
}

.filters_sidebar .list-unstyled li a {
  text-decoration: none;
}

.filters_sidebar .list-unstyled li span {
  color: var(--color-text);
  font-size: 0.9rem;
}

.filters_sidebar .list-unstyled li:hover {
  background-color: #e0ecf3;
  color: #fff;
}

.filters_sidebar .list-unstyled li .close {
  font-size: 1rem;
  color: #000;
  margin-top: 2px;
  margin-left: 10px;
}

.filters_sidebar .fa-chevron-down,
.search_results .filter_icon {
  font-size: 0.8rem;
  color: var(--color-text);
}

/* search results */
.search_results {
  width: calc(100% - 295px);
}

.talent-sec .search_results {
  width: 100%;
}

.talent-sec .search_results .job_searchbar {
  width: 72%;
}

#talent {
  width: 100%;
}

.search_results .results_no {
  font-size: 0.9rem;
}

.search_results .links a {
  color: var(--color-primary);
  text-decoration: underline !important;
}

/* products_list */
#products {
  gap: 10px;
  /* justify-content: space-between; */
}

#products .item {
  width: 32%;
}

#products .job_item {
  width: 49%;
}

#talent .job_item {
  width: 32%;
}

.view-group {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  padding-left: 0;
  margin-bottom: 0;
  padding: 0;
}

.thumbnail {
  padding: 0px !important;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  width: 100%;
  border: 1px solid #fff;
}

/* list view */
.item.list-group-item,
.job_item.list-group-item {
  float: none;
  width: 100%;
  background-color: transparent;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  padding: 0 !important;
  border: 0;
}

.item.list-group-item {
  margin-bottom: 10px !important;
}

.item.list-group-item .img-event {
  float: left;
  width: 250px;
  height: 150px !important;
}

.item.list-group-item .img-event img {
  width: 100%;
  height: 100%;
}

.item.list-group-item .list-group-image {
  margin-right: 10px;
}

.item.list-group-item .thumbnail {
  margin-bottom: 0px;
  display: inline-block;
}

.item.list-group-item .caption {
  float: left;
  width: calc(100% - 250px);
  margin: 0;
}

.item.list-group-item:before,
.item.list-group-item:after {
  display: table;
  content: " ";
}

.item.list-group-item:after {
  clear: both;
}

/* grid-view */
.service-head-boxx {
  height: 100%;
  border: 1px solid var(--color-border);
}

.service-head-boxx .thumbnail {
  height: 100%;
}

.service-head-boxx:hover {
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.196);
  padding-bottom: 0 !important;
}

.service-head-boxx .img-event {
  height: 150px;
  width: 100%;
  cursor: pointer;
}

.service-head-boxx .img-event img {
  width: 100%;
  height: 100%;
}

.service-head-boxx h4 {
  margin-bottom: 4px;
  margin-top: 5px;
  color: var(--color-primary) !important;
  font-size: 1rem;
}

.service-head-boxx h4 a {
  color: var(--color-text) !important;
  font-size: 1.1rem !important;
  display: inline-block;
  margin-bottom: 3px;
}

.service-head-boxx .service_details {
  padding: 10px 12px 0;
  margin: 0 0px;
}

.service_details .text span {
  display: block;
}

.service-head-boxx .service_details .text {
  cursor: pointer;
}

.service-head-boxx p {
  font-size: 16px;
}

.service-head-boxx .location {
  font-size: 16px;
  margin-bottom: 0px;
}

.service-head-boxx .service_details_bottom {
  border-top: 1px solid var(--color-border);
  margin-top: 10px;
  padding-top: 5px;
}

.service-head-boxx .service_details_bottom .price {
  color: var(--color-secondary);
  font-size: 1.1rem;
}

.service-head-boxx .service_details_bottom .price span {
  font-size: 0.8rem;
  padding-right: 5px;
}

.service-head-boxx .service_details .links {
  width: fit-content;
}

.service-head-boxx .service_details .links .btn {
  padding: 0;
}

.service-head-boxx .service_details .links .icon {
  position: relative;
  cursor: pointer;
  display: inline;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -webkit-transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -moz-transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -ms-transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -o-transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  margin-right: 2px;
  border-radius: 10px;
}

.service-head-boxx .service_details .links .tooltip {
  position: absolute;
  top: 0;
  left: -10px;
  font-size: 14px;
  width: fit-content;
  background: var(--color-text);
  color: #fff;
  padding: 5px 8px;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  pointer-events: none;
  border-radius: 4px;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -webkit-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -moz-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -ms-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -o-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
}

.service-head-boxx .service_details .links .tooltip::before {
  position: absolute;
  content: "";
  height: 8px;
  /* width: fit-content; */
  background: #fff;
  bottom: 3px;
  left: -50%;
  transform: translate(-50%) rotate(45deg);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -webkit-transform: translate(-50%) rotate(45deg);
  -moz-transform: translate(-50%) rotate(45deg);
  -ms-transform: translate(-50%) rotate(45deg);
  -o-transform: translate(-50%) rotate(45deg);
  -webkit-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -moz-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -ms-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -o-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.service-head-boxx .service_details .links .icon:hover .tooltip {
  top: -30px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.service-head-boxx .service_details .links .icon:hover span,
.service-head-boxx .service_details .links .icon:hover .tooltip {
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.01);
}

.service-head-boxx .icon .plaza-btn {
  width: 35px;
  height: 30px;
  vertical-align: middle;
  /* padding-top: 5px; */
  background-color: #f2f7fa;
}

.service-head-boxx .icon .plaza-btn img {
  margin-left: -5px;
}

/* buttons */
.plaza-btn {
  color: var(--color-primary);
}

.plaza-btn:hover {
  color: var(--color-primary);
}

/* sort_dropdown   */
.sort_dropdown {
  position: relative;
}

.sort_dropdown button,
.search_results .filter_btn {
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 600;
  border: none;
  background-color: var(--color-primary-light);
  border: 1px solid transparent;
  border-radius: 2px;
}

.search_results .filter_btn {
  display: none;
}

.sort_dropdown button:hover,
.search_results .filter_btn:hover {
  border: 1px solid var(--color-primary-muted);
}

.sort_dropdown i {
  font-size: 0.8rem;
}

.sort_dropdown .sort_dropdown__items {
  float: right;
  background-color: #fff;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.082);
  position: absolute;
  right: 0;
  z-index: 111;
  transition: all 0.5s ease-in;
}

.sort_dropdown__items a {
  display: block;
  border: 1px solid #f2f7fa;
  width: 200px;
  margin: 0;
  padding: 7px 10px 7px 15px;
  text-align: left;
  color: var(--color-text);
  font-size: 0.9rem;
  text-decoration: none;
}

.sort_dropdown__items a:hover {
  background-color: #f2f7fa;
}

.hide_dropdown {
  display: none;
}

.show_dropdown {
  display: block;
}

/* pagination */
.pagination_page span {
  color: #7e7e7e;
  font-size: 0.9rem;
}

.pagination_page .primary-btn {
  background-color: transparent;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  padding-inline: 40px;
  margin-top: 12px;
}

.pagination_page .primary-btn:hover {
  background-color: var(--color-primary);
  color: #fff;
}

/* compare results */
#overlay_compare {
  position: fixed;
  z-index: 1111;
  bottom: 43px;
  left: 0%;
  width: 100%;
}

#overlay_compare .product_thumb {
  background-color: var(--light-bg);
  border: 1px solid #e7e6e6;
  position: relative;
  margin: 10px 0px;
  width: 24%;
}

#overlay_compare .products {
  box-shadow: 0 0 20px 0 rgba(20, 20, 20, 0.195);
  max-width: 700px;
  width: 60%;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
  border: 1px solid #dde5eb;
  padding-bottom: 20px;
  padding: 15px;
  border-radius: 10px;
}

#overlay_compare .product_thumb .delete_btn {
  position: absolute;
  right: -13px;
  top: -15px;
  border: 0;
  z-index: 1111;
  background-color: transparent;
  color: rgb(185, 16, 16);
}

#overlay_compare .product_image {
  width: 100%;
  height: 100px;
}

#overlay_compare .product_image img {
  width: 100%;
  height: 100%;
}

#overlay_compare .product_meta {
  padding: 10px 5px;
}

#overlay_compare .product_meta p {
  margin: 0;
}

#overlay_compare .product_meta .title {
  font-size: 0.8rem;
}

#overlay_compare .product_meta .price {
  font-size: 0.9rem;
  color: #000;
}

#overlay_compare .products .btn {
  padding: 0.3rem 1rem;
}

#overlay_compare .products .back-btn {
  border: 2px solid #6c757d;
  background-color: var(--color-text);
  color: #fff;
}

#overlay_compare .products .primary-btn:hover {
  color: #fff;
}

body.no-scroll {
  overflow: hidden;
  /* Hide vertical scrollbar */
}

/* 3.7 Gallery Preview page  
------------------------------------------------- */

.gallery {
  height: fit-content;
  padding-bottom: 0;
  overflow-y: hidden;
}

/* tabs */
.gallery .nav-tabs {
  justify-content: center;
  border-top: 1px solid rgb(228, 227, 227);
  border-bottom: 0;
  /* margin: 5px 0; */
}

.gallery .nav-tabs button {
  color: var(--color-text);
  font-size: 1rem;
  padding: 3px 0;
  display: inline-block;
  margin: 5px 15px 10px;
  border: none;
}

.gallery .nav-tabs button.active {
  color: #000;
  border-bottom: 2px solid var(--color-secondary) !important;
}

.expanded_carousel {
  height: fit-content;
  position: relative;
  margin-bottom: 40px;
}

.gallery .swiper {
  height: 94%;
  position: relative;
  width: 100%;
}

.gallery .thumbs .swiper-slide {
  width: 20%;
  height: 100%;
  opacity: 0.9;
}

.gallery .thumbs .swiper-slide-thumb-active {
  opacity: 1;
  border: 2px solid var(--color-secondary);
}

.gallery .thumbs .swiper-wrapper {
  justify-content: center;
}

.gallery .thumbs {
  height: fit-content;
  box-sizing: border-box;
  margin-top: 20px;
  position: relative;
}

.gallery .fa-chevron-left {
  color: var(--color-secondary);
  margin-right: 30px;
}

.gallery .go-back {
  color: var(--color-secondary);
  font-size: 1rem;
  display: block;
  margin-top: -2px;
  margin-left: -20px;
}

.gallery .header .details {
  border-right: 1px solid var(--color-primary-muted);
  padding-right: 40px;
  padding: 10px 0;
}

.gallery .header {
  padding: 10px 0;
  background-color: #f2f7fa;
}

.gallery .product_details {
  width: 100%;
  display: none !important;
}

.gallery .header h3 {
  color: var(--color-primary);
  font-size: 1.39rem;
  position: relative;
  margin-bottom: 0;
}

.gallery .header p {
  margin: 0;
}

.gallery .header .price {
  color: var(--color-secondary);
  font-size: 1.2rem;
  font-weight: 500;
  margin-left: 10px;
}

.gallery .imperfection {
  padding: 30px 0;
  text-align: center;
  max-width: 700px;
  width: 100%;
  background-color: var(--color-primary-light);
  padding: 30px;
}

.gallery .disclaimer {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border: 1px solid var(--color-primary);
  border-radius: 50%;
  padding-bottom: 5px;
  margin: 0 auto;
}

.gallery .disclaimer i {
  font-size: 1.5rem;
  color: var(--color-primary);
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  background-color: rgba(0, 0, 0, 0.7);
}

.swiper-button-prev:after {
  content: "prev";
  font-size: 1rem;
}

.swiper-button-next:after {
  content: "next";
  font-size: 1rem;
}

.swiper-button-next,
.swiper-button-prev {
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  border: none;
  padding: 10px;
  cursor: pointer;
  font-size: 0.6rem;
}

/* 3.8 Plaza details view   
------------------------------------------------- */

.product_carousel {
  width: 100%;
}

.product_details {
  width: 100%;
  padding-top: 20px;
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide img {
  display: block;
  width: 100%;
  object-fit: cover;
  cursor: pointer;
}

.swiper {
  width: 100%;
  height: 200px;
  margin-left: auto;
  margin-right: auto;
}

.swiper-slide {
  text-align: center;
  background-size: cover;
  background-position: center;
}

.mySwiper2 {
  width: 100%;
}

.mySwiper2 {
  height: auto;
}

.mySwiper {
  height: auto;
  box-sizing: border-box;
  padding: 0px 0;
}

.mySwiper {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  margin-top: 4px;
}

.mySwiper .swiper-slide,
.mySwiper4 .swiper-slide {
  width: 20%;
  height: auto;
  opacity: 0.8;
}

.mySwiper .swiper-slide-thumb-active,
.mySwiper4 .swiper-slide-thumb-active {
  opacity: 1;
  border: 2px solid var(--color-secondary);
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 1.1rem !important;
}

.product_carousel .swiper-slide {
  height: 100%;
  box-sizing: border-box;
  margin-top: 5px;
  position: relative;
}

.product_carousel .swiper-slide img {
  height: auto;
}

.product_details .section-heading {
  margin-bottom: 5px !important;
}

.product_details .price {
  font-size: 1.3rem;
  color: var(--color-secondary);
  margin-top: 0px;
}

.product_details .price span {
  font-size: 1.1rem;
}

.product_details .location {
  color: var(--color-text);
}

.product_details .contact {
  background-color: var(--color-primary-light);
  padding: 0.3rem 0.5rem;
  border-radius: 0.4rem;
}

.product_details .contact h4 {
  font-size: 1rem;
}

.product_features .feature .fa-check {
  background-color: white;
  color: var(--color-primary);
  width: 25px;
  height: 25px;
  border-radius: 50%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.079);
  float: left;
}

.product_details .primary-btn:hover {
  color: #fff;
}

/* table styling */
.product_features .feature table {
  width: 100%;
  margin-top: 20px;
}

.product_features .feature table tr,
.product_features .feature table td {
  border: 1px solid var(--color-border);
  padding: 8px 10px;
}

.product_features .feature table .title {
  font-weight: 600;
  text-transform: capitalize;
  color: var(--color-text);
  width: 35%;
}

.location_map {
  width: 100%;
}

.location_map iframe {
  width: 100%;
  height: 100%;
  background-color: #f2f7fa;
}

.product_features .location_map #map_div {
  height: auto !important;
  width: 100%;
  border: 1px solid var(--color-border);
}

/* 3.9 Post ads page   
------------------------------------------------- */

.form_holder {
  max-width: 600px;
  min-height: 330px;
  padding: 1rem 0px 1rem;
  border-radius: 5px;
  background: #fff;
  /* box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.043); */
  overflow: hidden;
  margin: 30px auto;
}

.form_holder > .d-flex {
  display: flex;
  align-items: center;
}

.form_holder h6 {
  margin: 0;
}

.form_holder h6,
.form_holder h5 {
  color: var(--color-primary);
  width: 20%;
  font-size: 1rem;
}

.form_holder h6 {
  width: fit-content;
  margin-right: 0.5rem;
}

.form_holder h5 {
  width: 100%;
  font-size: 1.1rem;
  text-align: center;
  text-transform: none;
}

.form_holder p {
  margin-top: -5px;
}

.form_holder .inputs_holder {
  width: 100%;
}

.form_holder .location {
  display: flex;
  align-items: center;
  width: fit-content;
}

.form_holder .location span {
  width: fit-content;
  margin-top: 0px;
}

.form_holder .location input[type="radio"] {
  width: 20px;
  height: 20px;
  margin-left: 0.8rem;
  margin-right: 0.4rem;
}

.form_holder .other_address {
  background-color: var(--dropdown-hover-bg);
  padding: 20px;
  padding-bottom: 10px;
  border: 1px solid #e7e7e7;
  border-radius: 10px;
  display: none;
  margin: 10px 0 20px;
}

.form_holder .spot_location {
  color: var(--color-secondary);
  text-decoration: underline !important;
}

.form_holder .upload_btn {
  background-color: transparent;
  color: var(--color-primary);
  border: none;
  margin-left: 10px;
}

/* post_ads_images */
.form_holder .file-area {
  text-align: center;
}

.file-area .file-dummy {
  background-color: transparent;
  border: 2px dashed #07306244;
  padding: 1rem 0.5rem 0.3rem !important;
  position: relative;
}

.file-area .file-dummy img {
  width: 3.5rem;
  height: auto;
}

.form_holder .back_btn {
  color: rgb(59, 59, 59);
  font-size: 1rem;
}

.images_previews h6 {
  padding-top: 1rem;
}

.images_previews .preview {
  width: 33.3%;
  height: 120px;
  padding: 6px 4px;
  position: relative;
}

.images_previews .preview img {
  width: 100%;
  height: 100%;
  position: relative;
}

.form_holder .close {
  position: absolute;
  right: 0px;
  top: 0px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: #050404;
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.form_holder .close span {
  color: #fff;
}

#myModal_map .modal-content {
  padding-bottom: 60px;
}

#myModal_map .modal-dialog {
  width: 90%;
  max-width: 1250px;
}

#myModal_map #save_button {
  z-index: 999;
  position: absolute;
  left: 43% !important;
}

/* 3.10 FAQ page   
------------------------------------------------- */

.accordionMenu {
  max-width: 800px;
  margin: 0 auto;
  padding: 30px 20px;
}

.accordionMenu input[type="checkbox"] {
  display: none;
}

.accordionMenu .accordianHeader {
  display: block;
  padding: 0.7rem 0.9rem;
  background: #fff;
  font-size: 1rem;
  color: #000;
  position: relative;
  cursor: pointer !important;
  border: 1px solid var(--color-border);
  font-weight: 500;
  margin-bottom: 12px;
  padding-right: 20px;
  font-weight: bold;
  border-radius: 5px;
}

.accordionMenu .accordianHeader::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border: transparent transparent transparent #000;
  position: absolute;
  right: 10px;
  top: 20px;
  z-index: 10;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.accordionMenu .content {
  max-height: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: all 1.5s ease-in-out;
  -moz-transition: all 1.5s ease-in-out;
  -o-transition: all 1.5s ease-in-out;
  transition: all 1.5s ease-in-out;
}

.accordionMenu .content .inner {
  font-size: 1rem;
  color: #4f575f;
  background: #fff;
  padding: 15px 15px;
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.084);
  margin-bottom: 20px;
  border: 1px solid var(--color-border);
  border-top: 0;
}

.accordionMenu .content .inner p {
  margin: 5px 0;
}

.accordionMenu input[type="radio"]:checked + .accordianHeader {
  margin-bottom: 0 !important;
}

.activeAccordian + .accordianHeader {
  margin-bottom: 0 !important;
}

.accordionMenu input[type="radio"]:checked + .accordianHeader:after {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}

.activeAccordian + .accordianHeader:after {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}

.accordionMenu input[type="radio"]:checked + .accordianHeader + .content {
  max-height: 2000px;
  height: auto;
}

.activeAccordian + .accordianHeader + .content {
  max-height: 2000px;
  height: auto;
}

.accordionMenu form textarea {
  height: 100px;
}

/* 3.11 Member details page   
------------------------------------------------- */

.memberDetails_tabs {
  margin-top: 30px;
  margin-bottom: -30px;
}

.memberDetails_tabs .tabs {
  max-width: 550px;
  min-height: 330px;
  border-radius: 5px;
  background: #fff;
  margin: 0 auto;
}

.memberDetails_tabs .tabs .tab-header {
  height: 50px;
  display: flex;
  align-items: center;
  padding: 0 5px;
}

.tabs .tab-header > div {
  width: calc(100% / 2);
  text-align: left;
  color: rgb(131, 130, 130);
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: 500;
  text-transform: capitalize;
  outline: none;
}

.memberDetails_tabs .tabs .tab-header > div.active {
  color: var(--color-primary);
}

.memberDetails_tabs .tabs .tab-indicator {
  position: relative;
  width: calc(100% / 2);
  height: 5px;
  background-color: var(--color-secondary);
  border-radius: 5px;
  transition: all 500ms ease-in-out;
}

.memberDetails_tabs .tabs .tab-body {
  position: relative;
  height: calc(100% -60px);
  color: black;
}

.memberDetails_tabs .tabs .tab-body h2 {
  color: violet;
}

.memberDetails_tabs .tabs .tab-body > div {
  position: absolute;
  top: -200%;
  opacity: 0;
  margin-top: 5px;
  transform: scale(0.9);
  transition: opacity 500ms ease-in-out 0ms, transform 500ms ease-in-out;
  width: 100%;
}

.memberDetails_tabs .tabs .tab-body > div.active {
  top: 0px;
  opacity: 1;
  transform: scale(1);
  margin-top: 0px;
}

.memberDetails_tabs .controls input {
  width: 100% !important;
  position: relative;
  margin-bottom: 0;
}

.memberDetails_tabs .controls i {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 1rem;
  color: #808080;
  cursor: pointer;
}

.memberDetails_tabs .controls .fa-eye {
  color: var(--color-primary);
}

.memberDetails_tabs .controls {
  display: flex;
  align-items: center;
}

.memberDetails_tabs .controls > div {
  flex: 1;
  display: flex;
  align-items: center;
}

.memberDetails_tabs .controls .input-form {
  width: 100%;
  flex-grow: 1;
  padding-right: 35px;
}

.memberDetails_tabs .controls .fa-eye-slash {
  position: absolute;
  right: 15px;
  cursor: pointer;
}

.memberDetails_tabs .controls .generate_btn {
  margin-left: 5px;
}

.memberDetails_tabs .generate_btn {
  width: fit-content;
  background-color: var(--color-primary);
  padding-inline: 0.3rem !important;
  color: #fff;
  border: 1px solid var(--color-primary);
}

.memberDetails_tabs #newPwdeye {
  position: absolute;
  top: 10px;
  right: 150px;
}

.memberDetails_tabs .back-btn {
  background-color: var(--color-text);
  color: #fff;
}

.memberDetails_tabs .submit-btn:hover {
  color: #fff;
}

/* 3.12 Category details page   
------------------------------------------------- */

.categoryHero_section {
  background-color: #f0f0f0;
}

.categoryHero_section .container,
.profile_benefits,
.profile_offerings .container,
.profile_steps .container,
.profile_features {
  max-width: 1140px !important;
}

.categoryHero_section,
.profile_benefits,
.profile_offerings,
.profile_features,
.profile_steps {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.categoryHero_section img {
  width: 100%;
  max-height: 280px;
  object-fit: cover;
  object-position: 80% 80%;
}

.categoryHero_section .heading {
  font-size: 1.5rem;
  margin-bottom: 0;
}

.categoryHero_section .sub_heading {
  font-size: 1.2rem;
  color: var(--color-text);
}

.profile_benefits ol {
  padding-left: 24px;
}

.profile_benefits .image {
  height: 600px;
  width: 100%;
}

.profile_benefits .image img {
  height: 100%;
  width: 100%;
}

.profile_offerings {
  background-color: #f8f8f8;
}

.profile_offerings .image {
  height: 280px;
  margin-top: 0 !important;
}

.profile_offerings .image img {
  height: 100%;
}

.profile_steps {
  background: linear-gradient(#032956ca, #042f63da), url(../images/secbg1.jpg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: top;
}

.profile_steps .section-heading {
  color: #fff;
}

.profile_steps .primary-btn {
  background-color: var(--color-secondary);
}

.profile_steps p,
.profile_steps ol li {
  color: #e8e8e8;
}

.profile_steps ol li {
  margin-left: -10px;
}

.profile_steps ol li {
  line-height: 0.8rem;
}

.profile_steps .secondary-btn {
  background-color: #fff;
  color: #000;
  padding: 0.475rem 0.85rem;
  border-radius: 5px;
  border: 1px solid #fff;
  font-size: 1rem;
  transform: translateZ(0) scale(1);
  transition: transform 0.2s;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.profile_steps .secondary-btn:not(:disabled):hover {
  transform: scale(1.05);
}

.profile_steps .secondary-btn:not(:disabled):hover:active {
  transform: scale(1.05) translateY(0.125rem);
}

.profile_features img {
  /* max-height: 540px !important; */
  height: 100%;
  width: 100%;
}

.profile_features .text {
  height: fit-content;
  margin-top: 20px;
}

.profile_features ol {
  padding-left: 20px;
}

.profileContent .text {
  margin-top: 24px;
}

.profileContent .feature {
  background-color: #f0f0f0;
  text-align: center;
  padding: 10px 0;
  border-radius: 10px;
  margin-top: 20px;
  margin-bottom: 40px;
}

.profile_features .row {
  display: flex;
  align-items: stretch !important;
}

/* 3.13 Manage searches page   
------------------------------------------------- */

/* selected services */
.services {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.services .section-heading {
  font-size: 1.2rem;
}

.selected_services .service_box {
  display: inline-block;
  width: fit-content;
  border: 1px solid var(--color-primary-muted);
  padding: 0.2rem 10px 0.2rem 10px;
  border-radius: 40px;
  margin: 5px 0;
  margin-right: 5px;
}

.selected_services .service_box p {
  display: inline;
  margin-right: 10px;
  margin-bottom: 0;
}

.delete_icon {
  display: inline-block;
  color: #aa0b0b;
  font-size: 0.8rem;
  width: 22px;
  height: 22px;
  border: 1px solid #aa0b0b;
  border-radius: 50%;
  text-align: center;
  padding-top: 3px;
  margin-top: 1px;
  cursor: pointer;
}

.delete_icon:hover {
  color: #fff;
  background-color: #aa0b0b;
}

/* search input */
/* .searchInput {
    max-width: 600px;
    width: 100%;
    display: flex;
    align-items: center;
    margin: 20px 0 15px;
}

.search-holder {
    flex: 1;
    position: relative;
}

.search-holder input {
    width: 100%;
    padding-right: 30px;
    margin-bottom: 0;
} */

/* .search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
} */

/* .searchElse-btn-holder {
    margin-left: 5px;
}

.searchElse-btn-holder .btn {
    white-space: nowrap;
} */

/* Search Keywords  */
.search_keywords {
  margin: 20px 0;
  padding: 15px 10px;
  border: 1px solid var(--color-border);
  border-radius: 5px;
}

.search_keywords .info_btn {
  display: inline-block;
  margin-top: -3px;
}

.search_keywords a .fa-question {
  font-size: 0.9rem;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  text-align: center;
  padding-top: 5px;
  margin-left: 20px;
  background-color: var(--color-secondary);
  color: #fff;
}

.search_keywords .keywords p {
  display: inline-block;
  border: 1px solid var(--color-primary-muted);
  padding: 5px 10px 8px;
  border-radius: 40px;
  margin: 4px 0;
  margin-right: 5px;
  font-size: 0.94rem;
}

.search_keywords .keywords a {
  display: inline-block;
  margin-right: 10px;
  text-decoration: underline !important;
  font-size: 0.94rem;
}

/* keywords list */
.keywords_list {
  padding-inline: 15px;
  max-height: 300px;
  overflow-y: auto;
  margin-top: 0px;
}

.keywords_list .keyword {
  padding: 8px 7px 8px;
}

.keywords_list .keyword p {
  margin-bottom: 0;
}

/* 3.14 Templates Listing page   
------------------------------------------------- */

.templates {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.templates .template_holder {
  width: 100%;
  margin-right: 0;
}

.templates .domain_link {
  font-size: 1rem;
  margin-right: 0rem;
  margin-bottom: 0;
  float: none;
  text-align: center;
}

.templates .template_box {
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.147);
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: 5px;
}

.templates .template_box img {
  width: 100%;
  height: auto;
}

.templates .template_box .bottom_links {
  padding: 8px 0;
  background-color: var(--color-primary-light);
  display: flex;
  justify-content: center;
  align-items: center;
}

.templates .template_box .bottom_links a {
  font-size: 0.9rem;
  display: inline-block;
  padding: 4px 10px;
  text-decoration: none;
}

.templates .template_box .bottom_links .customize_btn {
  border: 1px solid var(--color-secondary);
  background-color: var(--color-secondary);
  color: #fff;
  border-radius: 5px;
  transform: translateZ(0) scale(1);
  transition: transform 0.2s;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.templates .template_box .bottom_links .select_btn {
  border: 1px solid var(--color-primary);
  background-color: var(--color-primary);
  color: #fff;
  border-radius: 5px;
  transform: translateZ(0) scale(1);
  transition: transform 0.2s;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.templates .template_box .bottom_links .customize_btn:not(:disabled):hover,
.templates .template_box .bottom_links .select_btn:not(:disabled):hover {
  transform: scale(1.05);
}

.templates .template_box .bottom_links .customize_btn:hover:active,
.templates .template_box .bottom_links .customize_btn:hover:active {
  transform: scale(1.05) translateY(0.125rem);
}

.templates .template_box .bottom_links .preview_btn {
  border: 1px solid var(--color-primary);
  background-color: transparent;
  color: var(--color-content-primary);
  border-radius: 5px;
  margin-left: 7px;
  transition: background-color 0.2s, color 0.1s;
}

.templates .template_box .bottom_links .preview_btn:hover {
  background-color: var(--color-primary);
  color: #fff;
}

/* 3.15 Transalations page   
------------------------------------------------- */

.translations {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.translations .form_group .controls {
  width: 90%;
}

.translations .form_group .controls input {
  margin-bottom: 10px;
}

.translations .search_results table {
  width: 100%;
  margin-top: 10px;
}

.translations .search_results table th,
.translations .search_results table td {
  border: 1px solid var(--color-primary-muted);
  padding-left: 10px;
  padding-top: 5px;
  padding-bottom: 5px;
}

.translations .search_results table th {
  color: var(--color-primary);
  font-size: 1.1rem;
}

.translations .search_results table td {
  color: var(--color-text);
  font-size: 1rem;
}

.translations .modal-content {
  margin: auto;
}

.translations form .primary-btn {
  margin-left: 5px;
  margin-right: 0px;
}

.translations .col-md-7 .primary-btn {
  margin-left: 0;
}

.translations #suggestion_modal {
  padding-right: 0 !important;
  margin: 20px 0px !important;
  padding: 0 0px;
  width: 100%;
}

/* 3.16 Search keywords Page   
------------------------------------------------- */

.offered-keywords {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.offered-keywords .pending_keyword {
  background-color: var(--color-secondary);
  cursor: pointer;
}

.offered-keywords .pending_keyword p {
  color: #fff;
}

.offered-keywords .pending_keyword .delete_icon {
  color: #fff;
  border: 1px solid #fff;
}

.offered-keywords .message_box {
  border: 1px solid #dddddd;
  border-radius: 5px;
  padding: 20px;
  text-align: center;
}

.offered-keywords .message_box p {
  margin-bottom: 5px;
}

.offered-keywords #addWord_btn {
  display: none;
}

.offered-keywords #noResults_found {
  display: none;
}

.offered-keywords #addWord_cancel {
  display: none;
}

.offered-keywords #keyword_type {
  display: flex;
  justify-content: center;
  align-items: center;
  display: none;
}

.offered-keywords .searchInput {
  margin-top: 2rem;
}

/* 3.17 hmp   
------------------------------------------------- */

.searchForm {
  margin-top: 40px;
}

#searchAroundd,
#placetoSearch {
  max-width: 500px;
}

#searchAroundd input,
#placetoSearch input {
  padding-top: 0.475rem;
  padding-bottom: 0.475rem;
}

.voice-icon {
  display: none;
}

.quickSearchesSection-buttons {
  float: right;
}

.quickSearchesSection-buttons .info-btn {
  float: right;
}

.result-box {
  position: relative;
  background: #f2f7fa;
  border-radius: 10px;
  padding: 1.3rem;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.126);
}

.resultBox-container {
  margin-bottom: 10px;
  margin-top: 30px;
}

.result-box:hover {
  background: var(--color-primary-light);
}

.result-box span.result-number {
  position: absolute;
  top: -10px;
  right: -10px;
  background: var(--color-secondary);
  color: #ffffff;
  border-radius: 50px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  font-size: 0.89rem;
}

.result-box img {
  margin-bottom: 10px;
  width: 30%;
  height: auto;
  object-fit: contain;
}

.result-box.text-center h5 {
  font-size: 1rem;
  margin-top: 5px;
  color: var(--color-primary);
}

/* active result box styling */
.resultBox-container .activeResultBox {
  background-color: var(--color-primary);
}

.resultBox-container .activeResultBox h5 {
  color: white;
}

.activee {
  border: 1px solid #cddce7;
  margin: 10px 4px;
  padding: 20px 25px 5px;
  border-radius: 5px;
}

.row_restaurant .result-box {
  margin-bottom: 30px;
  background: #f5f5f5;
}

.row_restaurant .result-box:hover {
  background: #e5e5e5;
}

#selected_cat a {
  text-decoration: none;
}

/* 3.18 Post job   
------------------------------------------------- */

.form-container {
  background-color: #fafafa;
}

.form-container h4 {
  font-size: 1.2rem;
  color: #000;
}

.form-container h5 {
  font-size: 1rem;
  color: #000;
}

.form-container .myform {
  padding: 20px 15px 20px;
}

.form-container .form {
  max-width: 600px;
  width: 100%;
  background-color: #fff;
  box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.077);
  margin: 0 auto;
  position: relative;
}

.form-container input {
  border-radius: 5px;
}

.form-container input:focus,
.form-container textarea:focus {
  background-color: #fff;
}

.form-container input.err {
  border-bottom: 4px solid rgb(197, 9, 9) !important;
}

.form-container .form_subheading {
  font-size: 1rem;
}

.form-container .tab .controls {
  margin: 0.5rem 0;
}

.form-container .table .salary_modal .table {
  width: 100%;
  margin: 0 auto;
  border: 1px solid var(--color-primary-muted);
  border-collapse: collapse;
}

.form-container .table {
  border: 1px solid var(--color-primary-muted);
}

.salary_modal .table {
  border: 1px solid var(--color-primary-muted);
}

.form-container .table .text,
.salary_modal .table .text {
  padding: 10px;
}

.form-container textarea,
.salary_modal textarea,
.modal textarea {
  width: 100%;
  border: 1px solid var(--color-border);
  padding: 5px 12px;
  font-size: 1rem;
  border-radius: 5px;
}

.form-container .table input,
.form-container .table select,
.salary_modal .table input,
.salary_modal .table select {
  width: 100%;
  margin-right: 10px;
  padding-bottom: 0 !important;
  /* margin-bottom: 15px !important; */
  /* margin-top: 10px; */
  padding-left: 3px !important;
  border: none !important;
}

.form-container .table select,
.salary_modal .table select {
  /* margin-top: 14px; */
  width: 90px !important;
}

.form-container select {
  text-transform: capitalize;
}

.form-container .table .field span,
.salary_modal .table .field span {
  /* margin-top: 10px; */
  color: var(--color-content-secondary);
  margin-left: 10px;
}

#starting-at {
  display: none;
}

#divKeywords .controls {
  margin-bottom: -10px !important;
}

#divKeywords .keyword {
  display: inline-block;
  background-color: #f5f5f5;
  padding: 5px 10px 5px 10px;
  border-radius: 10px;
  text-transform: capitalize;
  margin-right: 10px;
  border: 1px solid rgb(199, 197, 197);
}

#divKeywords .keyword a {
  margin-left: 10px;
  color: #000;
  text-decoration: none;
  font-size: 0.8rem;
  cursor: pointer;
}

#divKeywords .keyword a i {
  font-weight: normal;
}

.form-container .btns {
  display: flex;
  justify-content: space-between;
  align-items: normal;
}

.form-container .prev-stp {
  border: none;
  font-weight: 400;
  background-color: transparent;
  /* padding: 1rem 0rem; */
  border-radius: 7px;
  color: var(--color-text);
  cursor: pointer;
  font-size: 1rem;
  padding-left: 0;
}

.form-container .nextbtn {
  margin-left: auto;
}

/* 3.19 Settings page   
------------------------------------------------- */

/* 3.20 business member profile creation form 
-------------------------------------------------------------*/

.step-form-wrapper {
  max-width: 900px;
  margin: 0 auto;
}

.check-icon {
  color: #fff;
}

.step-form-wrapper .form-header h3 {
  color: #000;
  font-size: 1.6rem;
}

.step-form-wrapper .steps {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 20px;
}

.step-form-wrapper .steps .step {
  margin-right: 1rem;
  display: flex;
  align-items: center;
  margin-bottom: 0.3rem;
  background-color: #fff;
  border: 1px solid var(--color-border);
  width: 100%;
  padding: 0.5rem;
  border-radius: 0.3rem;
}

.step-form-wrapper .step .step-number {
  width: 2rem;
  height: 2rem;
  border-radius: 0.3rem;
  background-color: var(--color-step-background-inactive);
  border: 1px solid var(--color-border);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 0.4rem;
}

.step-form-wrapper .step.active .step-number {
  background-color: var(--color-primary);
  color: #fff;
}

.step-form-wrapper .step.active {
  background-color: var(--color-primary-light);
}

.step-content .text-start p {
  font-size: 0.9rem;
  color: var(--color-neutral-light);
}

.step-content .expandable-box {
  border: 1px solid var(--color-border);
  border-radius: 5px;
  margin-bottom: 1.5rem;
}

.step-content .expandable-box.active .box-body {
  display: block;
}

.step-form-wrapper .form-body .step-content {
  display: none;
}

.step-form-wrapper .form-body .step-content.active {
  display: block;
}

.step-content .expandable-box .box-header {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  cursor: pointer;
}

.step-content .expandable-box .box-header,
.step-content .expandable-box .box-body {
  padding: 0.6rem 1rem;
}

.step-content .expandable-box.active .box-header {
  background-color: #f2f6f9;
}

.step-content .expandable-box .box-header h4 {
  color: #000;
  font-weight: 600;
  margin-bottom: 0;
  margin-top: 0.1rem;
}

.step-content h4 {
  font-size: 1.1rem;
}

.step-content .expandable-box .box-body {
  display: none;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.step-content .form-controls {
  max-width: 450px;
}

.underline {
  width: 100%;
  height: 1px;
  background-color: var(--color-border);
  margin: 10px 0 20px;
}

#no-results-message {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 16px;
  margin-bottom: 25px;
}

.fade-in {
  opacity: 0;
  animation: fadeIn 0.5s forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.service-area-map {
  display: none;
}

.service-area-map .added-Keywords {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}

.service-area-map .tag-item {
  background: transparent;
  display: inline-block;
}

.service-area-form .added-Keywords {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}

/*  */
.selections .tag-item {
  border-radius: 0.3rem;
  background-color: transparent;
  text-transform: capitalize;
}

#map-container {
  flex-grow: 1;
}

.selected-area {
  color: var(--color-link);
}

/*  3.21 Signup/SignIn 
-------------------------------------------------- */

.sign-up-form {
  background-color: #fff;
  padding: 40px 30px;
  margin: 0 auto;
  max-width: 500px;
}

.sign-up-form h5 {
  font-size: 1rem;
}

.sign-up-form .centered-text {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  color: var(--color-text);
}

.sign-up-form .centered-text::before,
.sign-up-form .centered-text::after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background-color: #000;
  margin: 0 10px;
}

/* show password icon */
.show-password-icon {
  position: absolute;
  left: 93%;
  top: 26%;
  cursor: pointer;
}

/* remember-checkbox */
.remember-checkbox input[type="checkbox"] {
  width: 20px;
  height: 20px;
}

/* Social Signup Options */
.form-container .card-container {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.form-container .card-container .card {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 5px;
  border: 1px solid #ccc;
  width: 100%;
  border-radius: 0.25rem;
  text-decoration: none;
}

.form-container .card-container .card span {
  color: var(--color-text);
}

.form-container .card img {
  width: 35px;
}

.form-container .card .facebook-icon {
  width: 30px;
  margin-right: 6px;
}

.form-container .form-group .error-icon {
  display: none;
}

/* verification options styling */
.verification-options {
  max-width: 300px;
}

.verification-options .verification-option {
  border: 1px solid var(--color-input-border);
  padding: 10px 15px;
  margin-right: 15px;
  width: 50%;
  border-radius: 0.25rem;
  cursor: pointer;
}

.verification-options .verification-option:hover {
  background-color: var(--color-primary-light);
}

.verification-options .verification-option .icon {
  font-size: 25px;
  object-fit: contain;
}

.verification-options .verification-option .icon i {
  font-size: 20px;
}

.verification-options .verification-option .icon img {
  width: 40px;
  margin-top: -7px;
  object-fit: contain;
}

/* Signup Container & ADI Details */

.sign-in-container {
  max-width: 500px;
}

.sign-up-container .adi-details {
  padding-top: 20px;
  display: none;
}

.sign-up-container .adi-details h2 {
  color: var(--color-primary);
  font-size: 1.4rem;
}

.sign-up-container .adi-details .feature {
  margin: 10px 0;
  background-color: #fff;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.077);
  padding: 15px;
}

.sign-up-container .adi-details h3 {
  color: black;
  font-size: 1rem;
}

.sign-up-container .adi-details h3 i {
  font-size: 1rem;
}

.sign-up-container .flex-column {
  flex: 1;
}

.password-set-success .text-center .circle-check-icon {
  color: var(--color-primary);
  font-size: 2rem;
}

.tab .tag-Container .delete_icon {
  border: 1px solid var(--color-primary-muted);
}

/*  3.22 Library page 
-------------------------------------------------- */

.go-to-modal button:hover {
  transform: scale(1.05);
  background: #154ab7;
}

#SecondModal {
  height: 90vh;
}

.modal2 .modal-header {
  border-bottom: none !important;
  padding: 0 !important;
  padding-top: 80px !important;
  margin-bottom: 10px;
}

.modal2 .header-main {
  width: 100%;
  height: 50px;
  background: #b5c4d6;
  position: fixed;
  left: 0;
}

.slect-btn-and-tab-sec {
  display: flex;
  justify-content: space-between;
}

/* selection controls */
#selection-controls {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.129) !important;
}

#selection-controls {
  width: fit-content;
  background: white;
  margin: auto;
  border-radius: 5px;
  padding: 0 20px;
  white-space: nowrap;
}

.btn-controls {
  padding: 10px 0;
  border: none;
  background: transparent;
  font-size: 18px;
  color: black !important;
}

.btn-controls:hover {
  color: var(--color-link) !important;
}

#toggle-select-mode-btn {
  display: none;
}

div#selection-controls .btn-controls span {
  padding: 0 10px;
  margin: 0 10px;
}

.show-controls-btn-mobile {
  z-index: 200;
}

/* ================================= */
/* 4- DASHBOARD PAGES */
/* ================================= */

/*  4.1 Menu Manager - Overview page
-------------------------------------------------- */

.content-container {
  display: flex;
  width: 100%;
  position: relative;
  background-color: var(--color-primary-light);
}

.content-wrapper {
  padding-left: 20px;
  padding-right: 20px;
}

/* Sidebar Styles */
.dashboard-sidebar {
  background-color: #fff;
  width: 290px;
  border-right: 1px solid var(--color-border);
  min-height: calc(100vh - 60px);
  transition: transform 0.3s ease, width 0.3s ease;
  position: relative;
  z-index: 1000;
}

.dashboard-sidebar .sidebar-menu {
  padding: 30px 0 20px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Sidebar toggle button */
.sidebar-toggle {
  display: none;
  position: absolute;
  top: 10px;
  right: -40px;
  background: white;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 1001;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.dashboard-sidebar .menu-item {
  padding: 0 20px 0 40px;
  display: flex;
  align-items: center;
  gap: 15px;
  cursor: pointer;
  font-size: 1rem;
  text-decoration: none;
  color: #000000;
  text-transform: none;
  line-height: 1.45;
  border-radius: 8px;
  margin: 0 15px;
  transition: background-color 0.2s ease;
}

.dashboard-sidebar .menu-icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

/* Sidebar label control - prevent flash during resize */
.dashboard-sidebar .sidebar .menu-item span {
  display: none;
  /* Hidden by default */
}

/* Main Content Styles */
.main-content {
  flex: 1;
  background-color: var(--color-primary-light);
  min-height: calc(100vh - 60px);
}

/* Menu Manager Content Styles */
.menu-manager-content {
  padding: 30px 50px 20px 30px;
  background-color: var(--color-primary-light);
}

.page-title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
}

/* Tabs Styles */
.menu-tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

.tab {
  padding: 8px 15px;
  border-radius: 20.5px;
  cursor: pointer;
  font-size: 16px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  border: 1px solid #e6ebf1;
  color: #000;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.tab.active {
  background-color: var(--color-primary);
  color: white;
  border: 1px solid var(--color-primary);
}

/* Menu Content Styles */
.menu-content {
  background-color: var(--color-primary-light);
  border-radius: 5px;
  padding: 0;
  margin-top: 10px;
}

.menu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2px;
  background-color: var(--color-primary-light);
  padding: 0;
}

.section-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 0;
}

.search-for-items {
  display: flex;
  align-items: center;
  border: 1px solid #cccccc;
  border-radius: 8px;
  padding: 6px 12px;
  width: 240px;
  background-color: white;
}

.search-for-items i {
  color: #666;
  font-size: 14px;
}

.search-for-items input {
  border: none;
  outline: none;
  margin-left: 8px;
  width: 100%;
  font-size: 14px;
  color: var(--text-muted);
  background-color: transparent;
}

.search-for-items .clear-icon {
  color: #999;
  font-size: 14px;
  cursor: pointer;
  margin-left: 5px;
  display: none;
  transition: color 0.2s ease;
}

.search-for-items .clear-icon:hover {
  color: #333;
}

.search-for-items.has-text .clear-icon {
  display: block;
}

.section-description {
  font-size: 18px;
  text-align: center;
  max-width: 600px;
  margin: 0 auto 20px;
  line-height: 1.15;
  color: #000000;
}

/* No Items Section Styles */
.no-items-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  margin: 40px auto;
  width: 100%;
  max-width: 510px;
}

.loading-spinner {
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.spinner-border {
  width: 60px;
  height: 60px;
  color: var(--color-primary) !important;
  border-width: 0.25em;
}

.no-items-title {
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  margin: 0;
  text-transform: capitalize;
}

/* Add Items Button Styles */
.add-items-button {
  text-align: center;
  margin-top: 10px;
}

.add-items-button .btn {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  font-weight: 700;
  font-size: 18px;
  padding: 10px 18px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-transform: capitalize;
}

.add-items-button .btn i {
  font-size: 14px;
  color: white;
}

/* Menu Categories Styles */
.menu-categories {
  width: 100%;
  background-color: var(--color-primary-light);
  margin-top: 15px;
}

.category-item {
  margin-bottom: 10px;
  border-radius: 8px;
  background-color: white;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
    box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
    opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.category-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  border-bottom: 1px solid #e2e2e2;
  cursor: pointer;
  flex-wrap: wrap;
}

.drag-handle {
  cursor: grab;
  margin-right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  transition: transform 0.2s ease;
  touch-action: none;
  /* Prevent browser handling of touch events */
}

.drag-handle img {
  width: 18px;
  height: 18px;
  opacity: 0.7;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.category-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex: 1;
  gap: 18px;
}

.category-title {
  font-size: 20px;
  font-weight: 700;
  margin: 0;
}

.category-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  padding-left: 2px;
}

.category-meta::before {
  content: "";
  position: absolute;
  left: -10px;
  height: 20px;
  width: 1px;
  background-color: #d7d7d7;
  top: 50%;
  transform: translateY(-50%);
}

.category-status {
  font-size: 14px;
  color: #4f575f;
  text-transform: capitalize;
}

.category-dot {
  width: 4px;
  height: 4px;
  background-color: #000;
  border-radius: 50%;
}

.item-count {
  font-size: 14px;
  color: #4f575f;
}

.category-actions {
  display: flex;
  align-items: center;
  gap: 15px;
  position: relative;
}

.menu-kebab {
  width: 28px;
  height: 17px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background-color: white;
  position: relative;
  padding: 0 2px;
}

.menu-kebab img {
  width: 16px;
  height: 16px;
  opacity: 1;
  filter: brightness(0);
  pointer-events: none;
  /* Make sure clicks go through to the parent */
}

.toggle-icon {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background-color: transparent;
  transition: transform 0.2s ease;
}

.toggle-icon:hover {
  transform: scale(1.1);
}

.toggle-icon img {
  width: 22px;
  height: 22px;
  transition: transform 0.3s ease;
  filter: brightness(0);
}

/* MAIN HEADER */
/* Header Styles */
.main-header {
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--color-border);

  width: 100%;
  position: relative;
  z-index: 1003;
  /* Higher z-index to ensure it's above all other elements */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.header-left {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 999;
  /* Same as logo-link */
}

.header-right {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  z-index: 1000;
}

/* Mobile menu toggle button */
.mobile-menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin-right: 10px;
  z-index: 1010;
}

.logo-link {
  display: block;
  position: relative;
  z-index: 999;
  /* Lower than search box but still high */
}

.logo {
  height: 30px;
  width: auto;
}

.search-container {
  position: relative;
  z-index: 1051;
  /* Higher than main-header's z-index (1050) */
  display: flex;
  align-items: center;
  margin-left: auto;
  /* Push to the right side */
  margin-right: 10px;
  /* Add right margin to create space between search and header-right */
}

.search-box {
  display: flex;
  align-items: center;
  border: 1px solid #cccccc;
  border-radius: 8px;
  padding: 6px 8px 6px 8px;
  /* Reduced horizontal padding */
  width: 220px;
  background-color: white;
  transition: width 0.3s ease;
  position: relative;
  z-index: 1051;
  /* Same as search-container, higher than main-header */
  overflow: visible;
  /* Ensure content can overflow if needed */
}

.search-box i {
  color: #666;
  font-size: 14px;
  flex-shrink: 0;
  position: relative;
  z-index: 1052;
  /* Even higher than search-box and search-container */
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 14px;
  /* Ensure minimum width */
  margin-left: 0;
  /* Ensure no left margin */
}

.search-box input {
  border: none;
  outline: none;
  margin-left: 6px;
  width: 100%;
  min-width: 0;
  /* Allow input to shrink */
  font-size: 14px;
  color: var(--text-muted);
  background-color: transparent;
  text-overflow: ellipsis;
  position: relative;
  z-index: 1;
}

.search-box .clear-icon {
  color: #999;
  font-size: 14px;
  cursor: pointer;
  margin-left: 5px;
  display: none;
  transition: color 0.2s ease;
}

.search-box .clear-icon:hover {
  color: #333;
}

.search-box.has-text .clear-icon {
  display: block;
}

.icon-item {
  position: relative;
  cursor: pointer;
  color: #000;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
}

.icon-item i {
  font-size: 20px;
}

.header-icon {
  width: 20px;
  height: 20px;
  display: block;
}

.notification-icon {
  position: relative;
}

.notification-indicator {
  position: absolute;
  top: -4px;
  right: -4px;
  background-color: var(--color-danger);
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.cart-icon {
  position: relative;
}

.notification-dot {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 11px;
  height: 11px;
}

.header-divider {
  height: 20px;
  width: 1px;
  background-color: #d7d7d7;
  margin: 0 2px;
}

.user-profile {
  text-decoration: none;
}

.profile-circle {
  width: 28px;
  height: 28px;
  background-color: #b5c4d6;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 800;
  font-size: 14px;
  color: #000;
  font-family: "Abhaya Libre ExtraBold", serif;
}

/* Hide dashboard header on desktop */
.dashboard-header {
  display: none;
}

/* Mobile Bottom Navigation */
.mobile-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  height: 60px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  justify-content: space-around;
  align-items: center;
  padding: 0 10px;
}

.bottom-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #000;
  text-decoration: none;
  font-size: 20px;
  flex: 1;
  height: 100%;
}

.bottom-nav-icon {
  width: 20px;
  height: 20px;
}

.cart-icon-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cart-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  background-color: #f73838;
  color: white;
  font-size: 10px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-cart-badge {
  position: absolute;
  bottom: -5px;
  right: -5px;
  background-color: #f73838;
  color: white;
  font-size: 10px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile-circle-small {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  background-color: #b5c4d6;
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-pic {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Mobile Bottom Navigation */
.mobile-bottom-nav {
  display: none;
  /* Hidden by default, shown only on mobile */
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  height: 60px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  justify-content: space-between;
  align-items: center;
  padding: 0;
}

.bottom-nav-item {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  text-decoration: none;
  font-size: 22px;
  flex: 1;
  height: 100%;
}

/* Ensure all icons have the same size */
.bottom-nav-item i {
  font-size: 22px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bottom-nav-icon {
  width: 24px;
  height: 24px;
}

.cart-icon-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cart-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background-color: #f73838;
  color: white;
  font-size: 10px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

.profile-circle-small {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-pic {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Menu Item Styles */
.category-items {
  padding: 0;
}

.menu-item-row {
  display: flex;
  align-items: center;
  padding: 15px 15px;
  border-bottom: 1px solid #e2e2e2;
  position: relative;
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
    box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
    opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  flex-wrap: nowrap;
}

.menu-item-row:last-child {
  border-bottom: none;
}

.menu-item-row:hover {
  background-color: var(--color-hover-bg);
}

.menu-item-image {
  width: 60px;
  height: 60px;
  border-radius: 5px;
  overflow: hidden;
  margin-right: 15px;
}

.menu-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.menu-item-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  /* Needed for text truncation */
  max-width: 100%;
  overflow: hidden;
}

.menu-item-name {
  font-size: 16px;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
  width: 100%;
}

/* Highlight for search results */
.highlight {
  background-color: #ffff00;
  font-weight: bold;
  padding: 0 2px;
  border-radius: 2px;
}

.menu-item-price {
  font-size: 16px;
}

.menu-item-status-container {
  margin: 0 15px;
  position: relative;
}

.menu-item-status {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  padding: 2px 10px;
  border: 1px solid #d7d7d7;
  border-radius: 13px;
  width: fit-content;
  cursor: pointer;
  min-width: 130px;
  background-color: white;
  justify-content: flex-start;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.menu-item-status.available .status-dot {
  background-color: #198111;
}

.menu-item-status.out-of-stock .status-dot {
  background-color: #7f7f7f;
}

.menu-item-status.hidden .status-dot {
  background-color: #e60000;
}

/* Ensure hidden icon is visible */
.menu-item-status.hidden .status-icon,
.status-option[data-value="hidden"] .status-icon {
  display: inline-block;
  margin-right: 2px;
  width: 12px;
  height: 12px;
}

.status-toggle {
  width: 16px;
  height: 16px;
  margin-left: auto;
}

.status-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: white;
  border: 1px solid #d7d7d7;
  border-radius: 5px;
  margin-top: 5px;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  display: none;
  pointer-events: auto !important;
}

.status-option {
  padding: 8px 12px;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.status-option:hover {
  background-color: var(--color-hover-bg);
}

.status-icon {
  width: 11px;
  height: 11px;
  flex-shrink: 0;
  display: block;
}

.menu-item-actions {
  margin-left: 15px;
  position: relative;
}

.kebab-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  width: 160px;
  background-color: white;
  border: 1px solid #d7d7d7;
  border-radius: 5px;
  margin-top: 5px;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  display: none;
}

.kebab-option {
  padding: 8px 12px;
  cursor: pointer;
  font-size: 16px;
}

.kebab-option:hover {
  background-color: var(--color-hover-bg);
}

.kebab-option.remove {
  color: #dc3545;
}

/* Make sure the kebab menu and its options are always clickable */
.menu-kebab,
.kebab-dropdown,
.kebab-option {
  pointer-events: auto !important;
}

.menu-item-image-placeholder {
  width: 60px;
  height: 60px;
  border: 1px solid #7f7f7f;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 15px;
  overflow: hidden;
}

.menu-item-image-placeholder i {
  font-size: 24px;
  color: #7f7f7f;
}

.no-items-message,
.empty-category-message {
  padding: 15px 0;
  color: #7f7f7f;
  font-style: italic;
  text-align: center;
}

/* No Results Message Styles */
.no-results-message {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 20px 0;
  font-size: 18px;
  flex-wrap: wrap;
  /* Allow wrapping on smaller screens */
}

.no-results-text {
  color: #000;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  max-width: 100%;
}

.search-term {
  font-weight: bold;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  max-width: 100%;
}

.clear-filter {
  color: #0b5ec2;
  cursor: pointer;
  text-decoration: underline;
  white-space: nowrap;
  /* Keep "Clear Filter" on one line */
  flex-shrink: 0;
  /* Prevent shrinking */
}

/* Toast Styles */
.custom-toast-container {
  max-width: 500px;
}

.custom-toast-container .toast {
  background-color: #2c2727;
  border-left: 4px solid #2e5dc0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  /* Right-to-left slide animation */
  transform: translateX(100%);
  opacity: 0;
  width: fit-content;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

/* Toast show animation */
.custom-toast-container .toast.show {
  transform: translateX(0);
  opacity: 1;
}

/* Toast hide animation */
.custom-toast-container .toast.hide {
  transform: translateX(100%);
  opacity: 0;
}

.custom-toast-container .toast-header {
  background-color: transparent;
  border-bottom: none;
  color: #000;
}

.custom-toast-container .toast-body {
  padding: 0.5rem 1rem;
}

.custom-toast-container {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 100;
  max-width: 550px;
}

/* Category Deactivated Toast */
.custom-toast-container .toast.category-deactivated,
.custom-toast-container .toast.item-hidden,
.custom-toast-container .toast.item-removed,
.custom-toast-container .toast.item-out-of-stock,
.custom-toast-container .toast.item-available {
  background-color: #2c2727;
  border-left: none;
  border-radius: 5px;
  color: white;
  display: flex;
  align-items: center;
  padding: 12px 20px;
  gap: 10px;
  margin-top: 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  /* Right-to-left slide animation for custom toasts */
  transform: translateX(100%);
  opacity: 0;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

/* Custom toast show animation */
.custom-toast-container .toast.category-deactivated.show,
.custom-toast-container .toast.item-hidden.show,
.custom-toast-container .toast.item-removed.show,
.custom-toast-container .toast.item-out-of-stock.show,
.custom-toast-container .toast.item-available.show {
  transform: translateX(0);
  opacity: 1;
}

/* Custom toast hide animation */
.custom-toast-container .toast.category-deactivated.hide,
.custom-toast-container .toast.item-hidden.hide,
.custom-toast-container .toast.item-removed.hide,
.custom-toast-container .toast.item-out-of-stock.hide,
.custom-toast-container .toast.item-available.hide {
  transform: translateX(100%);
  opacity: 0;
}

.custom-toast-container .toast.category-deactivated .toast-header,
.custom-toast-container .toast.category-deactivated .toast-body,
.custom-toast-container .toast.item-hidden .toast-header,
.custom-toast-container .toast.item-hidden .toast-body,
.custom-toast-container .toast.item-removed .toast-header,
.custom-toast-container .toast.item-removed .toast-body,
.custom-toast-container .toast.item-out-of-stock .toast-header,
.custom-toast-container .toast.item-out-of-stock .toast-body,
.custom-toast-container .toast.item-available .toast-header,
.custom-toast-container .toast.item-available .toast-body {
  padding: 0;
  background-color: transparent;
  color: white;
}

.custom-toast-container .toast.category-deactivated .toast-header,
.custom-toast-container .toast.item-hidden .toast-header,
.custom-toast-container .toast.item-removed .toast-header,
.custom-toast-container .toast.item-out-of-stock .toast-header,
.custom-toast-container .toast.item-available .toast-header {
  display: none;
}

.custom-toast-container .toast.category-deactivated .toast-body,
.custom-toast-container .toast.item-hidden .toast-body,
.custom-toast-container .toast.item-removed .toast-body,
.custom-toast-container .toast.item-out-of-stock .toast-body,
.custom-toast-container .toast.item-available .toast-body {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.custom-toast-container .toast.category-deactivated .success-icon,
.custom-toast-container .toast.item-removed .success-icon,
.custom-toast-container .toast.item-available .success-icon {
  width: 20px;
  height: 20px;
  background-color: #279d42;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.custom-toast-container .toast.item-available .success-icon i {
  display: inline-block;
  margin-top: 0px !important;
  padding-left: 10px !important;
}

/* Ellipse 253 styling from Figma design */
.custom-toast-container .toast.item-removed .success-icon.ellipse-253,
.custom-toast-container .toast.item-available .success-icon.ellipse-253 {
  background-color: #279d42;
}

.custom-toast-container .toast.item-hidden .hidden-icon {
  width: 20px;
  height: 20px;
  background-color: #e63435;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.custom-toast-container .toast.category-deactivated .success-icon i,
.custom-toast-container .toast.item-hidden .hidden-icon i,
.custom-toast-container .toast.item-removed .success-icon i,
.custom-toast-container .toast.item-available .success-icon i {
  color: white;
  font-size: 12px;
}

.custom-toast-container .toast-message {
  padding-right: 20px;
}

/* Out of Stock Toast Icon */
.custom-toast-container .toast.item-out-of-stock .out-of-stock-icon {
  width: 20px;
  height: 20px;
  background-color: #f29208;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
}

.custom-toast-container
  .toast.item-out-of-stock
  .out-of-stock-icon
  .exclamation-mark {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.custom-toast-container
  .toast.item-out-of-stock
  .out-of-stock-icon
  .exclamation-mark::before {
  content: "";
  width: 2px;
  height: 8px;
  background-color: white;
  border-radius: 1px;
  position: absolute;
  top: 3px;
}

.custom-toast-container
  .toast.item-out-of-stock
  .out-of-stock-icon
  .exclamation-mark::after {
  content: "";
  width: 2px;
  height: 2px;
  background-color: white;
  border-radius: 50%;
  position: absolute;
  bottom: 3px;
}

.custom-toast-container .toast.category-deactivated .toast-message,
.custom-toast-container .toast.item-hidden .toast-message,
.custom-toast-container .toast.item-removed .toast-message,
.custom-toast-container .toast.item-out-of-stock .toast-message,
.custom-toast-container .toast.item-available .toast-message {
  font-size: 1rem;
  flex-grow: 1;
}

.custom-toast-container .toast.category-deactivated .close-icon,
.custom-toast-container .toast.item-hidden .close-icon,
.custom-toast-container .toast.item-removed .close-icon,
.custom-toast-container .toast.item-out-of-stock .close-icon,
.custom-toast-container .toast.item-available .close-icon {
  cursor: pointer;
  font-size: 16px;
  color: white;
}

/* Drag and Drop Styles */
.category-item.dragging,
.menu-item-row.dragging {
  opacity: 0.95;
  background-color: #f8f9fa;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  position: relative;
  z-index: 1000;
  transform: scale(1.01);
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
    box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
    opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  padding-left: 15px;
  padding-right: 15px;
}

.category-item.drag-ending,
.menu-item-row.drag-ending {
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
    box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
    opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.drag-handle:hover {
  transform: scale(1.05);
}

.drag-handle:hover img {
  opacity: 1;
}

.drag-handle:active {
  cursor: grabbing;
  transform: scale(0.95);
}

/* Item Removal Animation */
.menu-item-row {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.menu-item-row.fade-out {
  opacity: 0;
  transform: translateX(10px);
}

/* Category fade-out animation */
.category-item.fade-out {
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Independent Items Container Styles */
.independent-items-container {
  margin-top: 20px;
  border-top: none;
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Independent Item Styles */
.menu-item-row.independent-item {
  background-color: white;
  border-radius: 8px;
  margin: 0 0 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  border: none;
  padding: 15px;
}

/* Empty State Styles */
.empty-state-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 20px;
  background-color: #fff;
  border-radius: 10px;
  margin: 30px 0;
}

.empty-state-image {
  margin-bottom: 20px;
  width: 90px;
}

.empty-state-image img {
  width: 80%;
  height: auto;
  border-radius: 10px;
}

.empty-state-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
  text-transform: capitalize;
}

.empty-state-text {
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 1.5rem;
  max-width: 600px;
}

.empty-state-button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-transform: capitalize;
}
.empty-state-button img {
  filter: invert(1);
  width: 1.2rem;
}

.kebab-option.deactivate-category {
  color: #dc3545;
}

.category-kebab-dropdown {
  width: 160px !important;
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 100;
}

.construction-text {
  font-family: "Times New Roman", serif;
  font-size: 18px;
  color: #6c757d;
  text-align: center;
}

/* ================================= */
/* 4- ANIMATIONS */
/* ================================= */

/* Define the thunder-like effect animation */
@keyframes thunderEffect {
  0% {
    transform: translateX(-2px);
  }

  25% {
    transform: translateX(2px);
  }

  50% {
    transform: translateX(-2px);
  }

  75% {
    transform: translateX(2px);
  }

  100% {
    transform: translateX(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes slideIn {
  from {
    transform: translateY(-20px);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

/* ================================= */
/* 5- MEDIA QUERIES */
/* ================================= */

@media (max-width: 415px) {
  .media-section .media-item img,
  .media-section .media-item video {
    width: 100%;
    height: 95px;
  }
}

@media screen and (max-width: 768px) {
  /* -- 2.28 Media library modal */
  #static-upload-show .content {
    display: flex;
    align-items: start;
  }

  #static-upload-show .onDestop {
    display: none;
  }

  #static-upload-show .onMObile {
    display: block;
  }

  #static-upload-show span {
    width: 40px;
    height: 40px;
    margin: 0;
  }

  #static-upload-show p {
    text-align: left;
  }

  .onMobileShow {
    display: block;
  }

  .file-uploading-div {
    padding-bottom: 30px;
  }

  .crossClose {
    display: block;
  }

  .file-item {
    position: relative;
    overflow: hidden;
  }

  .file-item:hover {
    transform: none;
  }

  .back-closeModal {
    display: none;
  }

  #show-btn-div {
    justify-content: left;
    margin: 30px 0;
    position: relative;
    bottom: 42px;
  }

  .file-grid {
    padding-bottom: 30px;
  }

  .percentage-text {
    font-size: 14px;
  }

  .loading-circle {
    width: 50px;
    height: 50px;
  }

  .loading-indicator {
    top: 13px;
  }

  #videoMenu .playIcon {
    padding-left: 5px;
  }

  #videoMenu .playIcon .preview {
    width: 10px !important;
  }

  /* menu option */
  .menu-option svg {
    margin-right: 0px;
    justify-content: space-between;
    align-items: center;
  }

  .menu-option {
    padding: 1px;
    align-items: center;
    font-size: 12px;
  }

  .menu-option span {
    margin-right: 9px;
    height: 17px;
  }

  .dots-menu {
    position: absolute;
    top: 7px;
  }

  .menu-options {
    width: 106px;
    top: 25px;
    padding: 2px 3px;
    align-items: center;
  }

  .menu-option img {
    width: 15px;
  }

  /* preview section */
  #previewModal #back-closeModal {
    padding: 10px;
  }

  #previewModal {
    top: 0px;
  }

  #previewModal #back-closeModal {
    justify-content: space-between;
    width: 95%;
  }

  .preview_sec a {
    font-size: 16px;
  }

  #previewModal #back-closeModal {
    display: flex;
    align-items: center;
  }

  #previewModal #modelContStart video {
    width: 60%;
  }

  #previewModal #modelContStart {
    width: auto;
  }

  #previewModal #back-closeModal {
    top: 0px;
    font-size: 19px;
  }

  .preview-image {
    width: 95%;
    height: 100%;
  }

  /* crop section */
  #cropConfirm,
  #cropCancel {
    padding: 8px 17px;
    font-size: 16px;
  }

  .divbody {
    margin: 0;
    padding: 0px;
  }

  #libraryModal .modal-body {
    max-height: 100vh;
  }

  .media-library .btn-submit {
    position: fixed;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    bottom: 5%;
  }

  #toast-container {
    min-width: 95% !important;
    right: 0;
    top: 10px !important;
    transform: translateX(-50%);
    align-items: center;
    left: 50%;
  }

  /* -- 3.22 Library page */
  div#selection-controls .btn-controls span {
    padding: 0 6px;
    margin: 0 6px;
  }

  #selection-controls {
    position: static;
    padding: 0 7px;

    transform: none;
  }

  .btn-controls {
    font-size: 14px;
  }

  .media-library .btn-mob-fix {
    position: fixed;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    bottom: 5%;
  }

  .show-controls-btn-mobile {
    position: fixed;
    left: 50%;
    transform: translate(-50%, -50%);
    /* box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); */
    bottom: 5%;
    display: flex;
    align-items: center;
    gap: 10px;
    text-wrap-mode: nowrap;
    /* flex-direction: column-reverse; */
  }
}

@media (min-width: 576px) {
  /* tooltip */
  .toolTip .tooltiptext {
    width: 140px;
  }

  section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  /* -- 2.28 Media library modal -- */
  .file-grid {
    grid-template-columns: repeat(3, 1fr);
    /* 3 cards per row */
  }

  .custom-tabs .custom-tab {
    padding: 0.5rem 1.7rem;
    font-size: 1.1rem;
  }

  .parentloading-indicator {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
  }

  #static-upload-show .content {
    width: 100%;
    height: 110% !important;
    min-height: 140px;
  }

  .plaza .container,
  footer .container,
  section > .container,
  section.container,
  .banner .container,
  .services.container,
  .categories_details.container,
  .adverts.container,
  .profile_benefits,
  .profile_features {
    max-width: 100% !important;
    padding-inline: 30px !important;
  }

  /* ---- 2.9 Custom Radio -----  */
  .custom-radio .radio-icon {
    height: 22px;
    width: 22px !important;
  }

  .search-icon {
    display: none;
  }

  #confirm_modal .modal-dialog {
    position: absolute;
    margin: 20px auto;
    left: 50%;
    top: 50%;
    padding: 30px;
    min-width: 500px;
    transform: translate(-50%, -50%);
    /* height: 100%; */
    margin: 0;
  }

  #confirm_modal .modal-content {
    width: 500px;
    max-height: 80vh;
    overflow-y: auto;
  }

  /* -- 2.29 Light Gallery */
  .gallery-view .gallery-content .main-gallery .nav-button {
    display: block;
  }

  .gallery-view .gallery-content .main-gallery .nav-button {
    background: transparent !important;
    padding: 20px;
  }

  .gallery-view .gallery-content .main-gallery .nav-button.prev {
    left: 5px;
    background-color: #242424 !important;
  }

  .gallery-view .gallery-content .main-gallery .nav-button.next {
    right: 5px;
    background-color: #242424 !important;
  }

  /* ---   3.11 Member details page --- */
  .memberDetails_tabs #newPwdeye {
    position: absolute;
    top: 10px;
    right: 165px;
  }

  /* ---- 3.12 Category details page ---- */
  .categoryHero_section,
  .profile_benefits,
  .profile_offerings,
  .profile_features,
  .profile_steps {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  /* --- 3.14 Templates Listing page --- */
  .templates .domain_link {
    float: right;
    margin-right: 2rem;
  }

  /* 3.20 business member profile creation form  */
  .step-form-wrapper .steps {
    display: flex;
    flex-direction: row;
    width: fit-content;
    flex-wrap: wrap;
  }

  .step-form-wrapper .steps .step {
    margin-right: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1rem;
    border: none;
    width: auto;
    padding: 0;
    border-radius: 0;
  }

  .step-form-wrapper .step.active {
    background-color: transparent;
  }
}

@media (min-width: 768px) {
  /* 2.7 Custom Modal Styling (Overrides Bootstrap Defaults) */
  .modal-dialog {
    display: block;
    min-height: auto;
    margin: 1.75rem auto;
    width: auto;
  }

  /* -- 2.28 Media library modal -- */
  .file-grid {
    grid-template-columns: repeat(4, 1fr);
    /* 4 cards per row */
  }

  #business-tags-h3 {
    display: none;
  }

  .business-cards-container .bb-1 {
    border-bottom: 1px solid var(--color-border);
  }

  .container-lg {
    padding-inline: 30px;
  }

  .business-cards-container {
    max-width: 1140px;
    margin: 0 auto;
  }

  section {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .adverts {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  /* -- 3.21 Signup/SignIn  --- */
  .sign-up-container .adi-details {
    display: unset;
  }

  /* --------- 2.6 Boostrap select ------- */
  .bootstrap-select .dropdown-item {
    padding: 0.38rem 1.5rem;
    font-size: 1rem;
    border-radius: 0.3rem;
  }

  .bootstrap-select {
    width: 100% !important;
  }

  .btn-mobile-width {
    display: inline-block;
    width: auto;
    margin-bottom: 0;
  }

  /* ~~~~~~ 3.2 Member Profile ~~~~~~~~ */
  .business-cards-container #businessCardsHolder {
    flex-direction: row;
    gap: 10px;
  }

  .business-cards-container .profile-info .business-header {
    width: 60%;
  }

  .business-cards-container .profile-info .business-details {
    width: 40%;
  }

  #profileAboutHeading {
    display: block;
  }

  .opening-hours-table tr td:first-child {
    font-weight: bold;
    padding-right: 20px;
  }

  /* 3.7 Gallery Preview page  */
  .gallery .thumbs {
    height: auto;
    padding: 20px 0;
    margin-top: 8px;
    position: absolute;
    bottom: 80px;
  }

  .gallery .header {
    padding: 25px 0;
  }

  /* -------- 3.8 Plaza details view ------- */
  .product_carousel {
    width: 50%;
    margin-right: 10px;
    padding-top: 20px;
  }

  .product_features .feature {
    width: 100%;
    padding-right: 0px;
  }

  .location_map {
    width: 100%;
  }

  /* -------------- 3.10 FAQ page  ---------*/
  .accordionMenu {
    padding: 60px 20px;
  }

  /* -------------- 3.15 Transalations page  ---------*/

  .translations form .primary-btn {
    margin-left: 5px;
    margin-right: -20px;
  }

  /* -------------- 2.22 Datatables  ---------*/
  .trackOrders_tbl table {
    width: 100% !important;
  }

  /* ------ 3.3 landing page ---- */
  .categories .text-left {
    text-align: right;
  }

  /* -----  3.20 business member profile creation form ------ */
  .step-content .expandable-box .box-header,
  .step-content .expandable-box .box-body {
    padding: 0.6rem 1.5rem;
  }

  /* ---  4.1 Menu Manager - Overview page  --- */

  /* Desktop and Medium screens: Fixed sidebar */
  .dashboard-sidebar {
    position: fixed;
    top: 60px;
    /* Below fixed header */
    left: 0;
    height: calc(100vh - 60px);
    z-index: 1000;
  }

  /* Desktop menu item layout - Figma design */
  .menu-item-row {
    position: relative;
  }

  .menu-item-details {
    flex-direction: column;
    gap: 5px;
  }

  .menu-item-name {
    max-width: 250px;
  }

  .menu-item-price {
    position: absolute;
    right: 300px;
    top: 50%;
    transform: translateY(-50%);
    white-space: nowrap;
  }

  /* MAIN HEADER */
  .main-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1003;
  }
}

@media (min-width: 992px) {
  html {
    font-size: 18px;
  }

  /* content wrapper */
  .content-wrapper {
    padding-left: 35px;
    padding-right: 35px;
  }

  /* -- 2.28 Media library modal -- */
  .file-grid {
    grid-template-columns: repeat(4, 1fr);
    /* 4 cards per row */
  }

  .container-lg {
    padding-inline: 15px;
  }

  .plaza .container,
  footer .container,
  section > .container,
  section.container,
  .banner .container,
  .services.container,
  .categories_details.container,
  .adverts.container,
  .profile_features,
  .profile_steps .container,
  .profile_offerings .container,
  .profile_benefits,
  .categoryHero_section .container {
    max-width: 960px !important;
    padding-inline: 15px;
  }

  .dob-label {
    margin-top: 0;
  }

  /* ------ 2.9 Custom Radio ----- */
  .custom-radio {
    padding: 15px;
  }

  .col-lg-15 {
    width: 20%;
    float: left;
  }

  /* --- 2.31 Checkbox Component --  */
  .custom-checkbox:checked::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 3px;
    width: 5px;
  }

  /* ------ 3.2 Member Profile ------ */
  #column1 {
    width: 45% !important;
  }

  #column2 {
    width: 55% !important;
  }

  /* ---- 3.7 Gallery Preview page ------  */
  .swiper {
    position: relative;
  }

  .swiper-button-next {
    position: absolute;
    top: 45%;
    right: 10px;
  }

  .swiper-button-prev {
    position: absolute;
    top: 45%;
    left: 10px;
  }

  .gallery {
    height: 100vh;
    padding-bottom: 50px;
  }

  .expanded_carousel {
    height: 600px;
  }

  .gallery .go-back {
    display: none;
  }

  .gallery .product_details {
    width: 100%;
    display: flex !important;
  }

  .gallery .header .details {
    padding-right: 40px;
  }

  /* ------- 3.8 Plaza details view --------- */
  .product_carousel {
    width: 50%;
    margin-right: 30px;
  }

  .product_features .feature {
    padding-right: 40px;
  }

  .mySwiper {
    height: auto;
  }

  /* ---- 3.12 Category details page ------ */
  .categoryHero_section img {
    width: 90%;
  }
}

@media (min-width: 1200px) {
  /* content wrapper */
  .content-wrapper {
    padding-left: 50px;
    padding-right: 50px;
  }

  /* -- 2.28 Media library modal -- */
  .file-grid {
    grid-template-columns: repeat(5, 1fr);
    /* 5 cards per row */
  }

  .plaza .container,
  footer .container,
  section > .container,
  section.container,
  .banner .container,
  .categories_details.container,
  .adverts.container,
  .services.container,
  .profile_features,
  .profile_steps .container,
  .profile_offerings .container,
  .profile_benefits,
  .categoryHero_section .container {
    max-width: 1140px !important;
  }

  /* --- 3.21 Signup/SignIn ---   */
  .sign-up-form {
    padding: 40px 40px;
  }

  .sign-up-container .adi-details {
    padding-left: 60px;
  }

  /* ------ 3.2 Member Profile ------ */
  #column1 {
    width: 35% !important;
  }

  #column2 {
    width: 65% !important;
  }

  .rating-section .average-rating {
    width: 25%;
  }

  .rating-section .rating-display {
    width: 50%;
  }

  /* -------- 3.8 Plaza details view -------- */
  .mySwiper2 {
    width: 100%;
  }

  .mySwiper2 {
    height: 350px;
  }
}

@media (min-width: 1101px) {
  /* -- 4.1 Menu Manager - Overview page -- */
  /* Desktop hover effect for sidebar menu items - light blue tone */
  .dashboard-sidebar .menu-item {
    position: relative;
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .dashboard-sidebar .menu-item:hover::before {
    background-color: var(--color-hover-bg);
  }

  .dashboard-sidebar .menu-item:hover {
    background-color: var(--color-hover-bg);
  }

  .dashboard-sidebar .menu-item.active::before {
    background-color: var(--color-primary-light);
    opacity: 1;
  }

  .dashboard-sidebar .menu-item.active {
    background-color: var(--color-primary-light);
  }

  .dashboard-sidebar .menu-item.active:hover {
    background-color: var(--color-primary-light);
  }

  /* Desktop: Show normal labels */
  .dashboard-sidebar .menu-item span {
    display: inline-block !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    z-index: auto !important;
    pointer-events: auto !important;
  }

  /* Desktop: Adjust main content for fixed sidebar and header */
  .main-content {
    margin-left: 300px;
    /* Sidebar width */
    margin-top: 60px;
    /* Header height */
  }
}

@media (min-width: 1400px) {
  /* -- 2.28 Media library modal -- */
  .file-grid {
    grid-template-columns: repeat(5, 1fr);
  }

  .plaza .container,
  footer .container,
  section > .container,
  section.container,
  .banner .container,
  .services.container,
  .categories_details.container,
  .adverts.container {
    max-width: 1320px !important;
  }
}

/* col-lg-15 */
.col-md-15,
.col-lg-15 {
  position: relative;
  min-height: 1px;
  padding-right: 10px;
  padding-left: 10px;
  width: 20%;
  float: left;
  border: 1px solid var(--color-primary-muted);
  border-collapse: separate;
  border-collapse: collapse;
}

@media (max-width: 992px) {
  .col-md-15 {
    width: 25%;
    float: left;
  }

  /* --- 3.6 Plaza list */
  .filters_sidebar {
    width: 240px;
  }

  .search_results {
    width: calc(100% - 240px);
  }

  #products .item {
    width: 48.5%;
  }

  .service-head-boxx .img-event {
    height: 130px;
    cursor: pointer;
  }

  #overlay_compare .product_image {
    width: 100%;
    height: 70px;
  }
}

@media (max-width: 768px) {
  /* -- 4.1 Menu Manager - Overview page -- */
  /* Mobile: Show labels normally */
  .dashboard-sidebar .menu-item span {
    display: inline-block !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    z-index: auto !important;
    pointer-events: auto !important;
  }

  .dashboard-sidebar .sidebar-menu .menu-item {
    margin-left: 0;
    padding-left: 20px;
    font-size: 1rem;
  }

  .dashboard-sidebar .sidebar-menu .menu-item .menu-icon {
    width: 20px;
  }

  .page-title {
    font-size: 22px !important;
    margin-bottom: 15px !important;
  }

  .section-title {
    font-size: 20px !important;
  }

  .menu-tabs {
    flex-wrap: nowrap;
    /* Prevent wrapping to next line */
    overflow-x: auto;
    /* Enable horizontal scrolling */
    overflow-y: hidden;
    /* Hide vertical overflow */
    -webkit-overflow-scrolling: touch;
    /* Smooth momentum scrolling on iOS */
    scrollbar-width: none;
    /* Hide scrollbar on Firefox */
    -ms-overflow-style: none;
    /* Hide scrollbar on IE/Edge */
    gap: 8px;
    /* Slightly reduce gap for mobile */
    padding: 0 0 8px 0;
    /* Remove horizontal padding to prevent overflow */
    margin: 0;
    /* Remove negative margin */
    scroll-behavior: smooth;
    /* Smooth scrolling animation */
    scroll-snap-type: x proximity;
    /* Snap to tabs when scrolling */
    transform: translateZ(0);
    /* Hardware acceleration */
    will-change: scroll-position;
    /* Optimize for scroll animations */
  }

  .menu-tabs::-webkit-scrollbar {
    display: none;
    /* Hide scrollbar on Chrome/Safari */
  }

  .main-header {
    flex-wrap: nowrap;
    justify-content: space-between;
    height: auto;
    min-height: 60px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    overflow: visible;
    /* Ensure content can overflow if needed */
    background-color: #fff;
    /* White background for mobile */
  }

  /* Mobile menu toggle button */
  .mobile-menu-toggle {
    display: none;
    /* Hidden by default, shown in mobile media query */
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
  }

  .mobile-menu-toggle span {
    display: block;
    height: 2px;
    width: 100%;
    background-color: #000;
    transition: all 0.3s ease;
  }

  /* Compact header style for when scrolling down */
  .main-header.header-compact {
    transform: translateY(-100%);
    box-shadow: none;
    transition: transform 0.3s ease;
  }

  /* Ensure header appears immediately when scrolling up */
  .main-header {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  /* Add padding to body to prevent content from being hidden under fixed header */
  body {
    padding-top: 60px;
  }

  .content-container {
    margin-top: 0;
  }

  .header-left {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }

  /* Adjust logo size for mobile */
  .header-left .logo {
    height: 24px;
    margin: 0;
  }

  /* Hide search container on mobile */
  .search-container {
    display: none;
  }

  .header-right {
    flex-wrap: nowrap;
    overflow-x: visible;
    padding-right: 5px;
    padding-left: 5px;
    justify-content: flex-end;
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
  }

  .menu-manager-content {
    padding: 20px 20px 20px 20px;
  }

  /* For mobile, use flexbox to reorder items */
  .header-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  /* For mobile, only show globe icon and hamburger menu */
  .header-right .icon-item:not(.globe-icon),
  .header-right .header-divider,
  .header-right .user-profile {
    display: none !important;
  }

  /* Ensure globe icon is always visible on mobile */
  .header-right .globe-icon {
    display: flex !important;
  }

  /* Show and adjust globe icon for mobile */
  .header-right .globe-icon {
    display: flex;
    margin-right: 10px;
    order: 1;
  }

  .header-right .globe-icon img {
    width: 25px;
    height: 23px;
  }

  .header-right .globe-icon {
    display: flex !important;
  }

  /* Show and adjust hamburger menu for mobile */
  .mobile-menu-toggle {
    display: flex;
    order: 2;
    margin-left: 5px;
  }

  .icon-item {
    flex-shrink: 0;
  }

  /* Sidebar toggle for mobile */
  .sidebar-toggle {
    display: flex;
  }

  /* Mobile sidebar behavior */
  .dashboard-sidebar {
    position: fixed;
    top: 60px;
    /* Will be dynamically adjusted by JavaScript */
    left: 0;
    height: calc(100vh - 60px);
    /* Will be dynamically adjusted by JavaScript */
    transform: translateX(-100%);
    z-index: 1050;
    /* Higher than header (100) but lower than overlay (1060) */
    width: 250px !important;
    /* Fixed width for consistency */
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    background-color: #fff;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .dashboard-sidebar.active {
    transform: translateX(0);
  }

  /* Sidebar overlay styles */
  .sidebar-overlay {
    position: fixed !important;
    top: 60px !important;
    /* Start below header */
    left: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    /* Cover entire viewport including bottom nav */
    background-color: rgba(0, 0, 0, 0.5) !important;
    z-index: 1030 !important;
    /* Above bottom nav (1000) but below sidebar (1050) and header (100) */
    display: block !important;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    /* Allow clicks to pass through when hidden */
  }

  .sidebar-overlay.show {
    opacity: 1;
    pointer-events: auto;
    /* Enable clicks when visible */
  }

  /* Prevent body scroll when sidebar is open */
  body.sidebar-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }

  /* Keep menu header as flex row even on mobile */
  .menu-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
  }

  .search-for-items {
    width: 200px;
  }

  .category-meta::before {
    left: -8px;
    height: 16px;
  }

  .category-info {
    gap: 12px;
  }

  .menu-item-row {
    flex-wrap: wrap;
  }

  .menu-item-details {
    min-width: 150px;
  }

  .menu-item-status-container {
    margin-top: 5px;
  }

  .menu-item-actions {
    margin-top: 5px;
  }

  /* Adjust main content when sidebar is hidden */
  .main-content {
    width: 100%;
    margin-left: 0 !important;
    /* Override any margin from medium screen styles */
  }

  /* Dashboard header with breadcrumb and sidebar button - Only for mobile */
  .dashboard-header {
    display: flex;
    /* Show on mobile */
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
    background-color: #fff;
    padding: 10px;
    width: 100%;
    border-radius: 4px;
  }

  .sidebar-button-container {
    flex: 0 0 auto;
  }

  .breadcrumb-nav {
    display: flex;
    align-items: center;
    font-size: 15px;
    margin-left: auto;
  }

  .breadcrumb-link {
    color: #000;
    text-decoration: none;
  }

  .breadcrumb-separator {
    margin: 0 5px;
    color: #000;
  }

  .breadcrumb-current {
    color: #000;
    font-weight: normal;
  }

  /* Open sidebar button - Only visible on mobile */
  .open-sidebar-btn {
    display: flex;
    /* Show on mobile */
    align-items: center;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 15px;
    padding: 0 0 0 2px;
    /* Add left padding to create space */
    margin-right: 2px;
    color: #000;
  }

  .open-sidebar-btn i {
    font-size: 20px;
    margin-right: 8px;
  }

  .mobile-bottom-nav {
    display: flex;
  }

  /* Add padding to the bottom of the content to account for the nav bar */
  body {
    padding-bottom: 60px;
  }

  .menu-categories {
    background-color: #f5f7fa;
    margin-top: 0;
    padding: 0;
  }

  .category-item {
    margin-bottom: 8px;
    border-radius: 0;
    box-shadow: none;
    border: none;
    background-color: #fff;
  }

  .category-header {
    padding: 15px;
    border-bottom: none;
    background-color: #fff;
  }

  .category-title {
    font-size: 18px;
    font-weight: 600;
    color: #000;
  }

  .category-meta {
    gap: 5px;
  }

  .category-meta::before {
    display: none;
  }

  .category-status,
  .item-count {
    font-size: 13px;
    color: #666;
  }

  .category-dot {
    width: 3px;
    height: 3px;
  }

  .category-info {
    gap: 10px;
  }

  .menu-content {
    background-color: #f5f7fa;
    padding: 0;
  }

  /* Remove gap between kebab menu and toggle icon in mobile view */
  .category-actions {
    gap: 0;
  }

  /* Tüm kategoriler için çizgiler - sadece mobil */
  .category-header {
    position: relative;
  }

  /* Kategori header'ının altına tüm genişlikte yatay çizgi */
  .category-header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    background-color: #ddd;
  }

  /* Kategori başlığının sağına dikey çizgi */
  .category-title::after {
    content: "";
    position: absolute;
    right: -8px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 25px;
    background-color: #ddd;
  }

  .category-title {
    position: relative;
  }

  /* Ensure category kebab menu matches desktop style */
  .category-actions .menu-kebab {
    width: 28px;
    height: 17px;
    min-height: 17px;
    min-width: 28px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 2px;
  }

  .category-actions .menu-kebab img {
    width: 16px;
    height: 16px;
    opacity: 1;
    filter: brightness(0);
  }

  .status-dropdown {
    min-width: 110px;
    max-width: 200px;
    position: fixed !important;
    display: none;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 10 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    border: 1px solid #d7d7d7;
    background-color: white;
    /* top, left ve width değerleri JavaScript ile ayarlanacak */
  }

  /* Make sure status options are properly clickable on mobile */
  .status-option {
    padding: 10px 12px;
    font-size: 15px;
    pointer-events: auto !important;
  }

  .kebab-dropdown {
    position: fixed !important;
    width: 160px;
    display: none;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 10 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    border: 1px solid #d7d7d7;
    background-color: white;
    /* top, left ve width değerleri JavaScript ile ayarlanacak */
  }

  .menu-item-row {
    padding: 12px 15px;
    border-bottom: 1px solid #f0f0f0;
    align-items: center;
    flex-wrap: nowrap;
    display: flex;
    gap: 0;
  }

  .drag-handle {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-right: 12px;
  }

  .drag-handle img {
    width: 16px;
    height: 16px;
  }

  .menu-item-image,
  .menu-item-image-placeholder {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .menu-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .menu-item-details {
    flex: 0 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-right: auto;
  }

  .menu-item-name {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
  }

  .menu-item-price {
    font-size: 15px;
    font-weight: 600;
    color: #2c2c2c;
    line-height: 1.2;
  }

  .menu-item-status-container {
    margin: 0 !important;
    flex-shrink: 0;
    margin-top: 23px !important;
    position: absolute !important;
    left: 168px !important;
  }

  /* Uncategorized items için 2 piksel daha sağa kaydırma */
  .category-item[data-category-id="uncategorized"] .menu-item-status-container {
    left: 160px !important;
  }

  .menu-item-status {
    /* Rectangle 910 */
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 3px;
    padding: 2px 6px;
    border: 1px solid #d7d7d7;
    border-radius: 13px;
    background-color: white;
    cursor: pointer;
    width: 91px;
    min-width: 115px;
    height: 20px;
    min-height: 26px;
    white-space: nowrap;
    justify-content: center;
  }

  .menu-item-status .status-icon {
    width: 6px;
    height: 6px;
    flex-shrink: 0;
  }

  .menu-item-status .status-toggle {
    width: 8px;
    height: 8px;
    margin-left: 2px;
    flex-shrink: 0;
  }

  .menu-item-actions {
    margin: 0;
    flex-shrink: 0;
  }

  .menu-kebab {
    width: 32px;
    height: 20px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }

  .menu-kebab img {
    width: 16px;
    height: 16px;
    opacity: 0.7;
  }

  .category-items {
    background-color: #fff;
    border-radius: 0 0 12px 12px;
  }

  /* Status dropdown positioning for mobile */
  .status-dropdown {
    position: fixed !important;
    min-width: 140px;
    z-index: 1000;
    background-color: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 4px 0;
  }

  .status-option {
    padding: 10px 12px;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: background-color 0.2s;
  }

  .status-option:hover {
    background-color: var(--color-hover-bg);
  }

  .status-option .status-icon {
    width: 8px;
    height: 8px;
  }

  .menu-item-image-placeholder i {
    font-size: 20px;
  }

  .no-results-message {
    flex-direction: row;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    padding: 0 10px;
    flex-wrap: wrap;
  }

  .no-results-text {
    line-height: 1.4;
    word-break: break-word;
    flex-shrink: 1;
  }

  .search-term {
    word-break: break-word;
    line-height: 1.4;
  }

  .clear-filter {
    margin-top: 0;
    flex-shrink: 0;
  }

  .category-item.dragging,
  .menu-item-row.dragging {
    background-color: #f8f9fa;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    transform: scale(1.02);
  }

  .modal-dialog.modal-lg {
    max-width: 100%;
    width: 100%;
  }

  .edit-item-modal-content {
    width: 100%;
  }

  .edit-item-title {
    font-size: 20px;
  }

  .edit-item-actions .btn {
    font-size: 16px;
    padding: 8px 16px;
  }

  .edit-item-modal-content {
    width: 100%;
  }

  .edit-item-title {
    font-size: 20px;
  }

  .edit-item-actions .btn {
    font-size: 16px;
    padding: 8px 16px;
  }

  /* 2.5 Custom Modal */
  .custom-overlay-close::before {
    color: black;
    background: transparent !important;
    margin-top: 0px;
    font-weight: 700;
  }

  .custom-modal-content {
    position: absolute;
    top: 2rem;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    margin: 0;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    /* overflow: hidden; */
  }

  .custom-modal-content {
    top: 0rem;
    margin-top: 0 !important;
  }

  .custom-overlay-close {
    position: relative;
    right: 0;
  }

  .custom-modal-content .modal-header {
    margin-top: -10px;
  }

  .custom-modal-content {
    border: none;
    border-radius: 0 !important;
  }

  /* ---------- */
  .col-md-15 {
    width: 33%;
    float: left;
  }

  /* --- 3.6 Plaza list --- */
  .overlay__ {
    background-color: #00000092;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 99;
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
  }

  .filters_sidebar {
    position: fixed;
    top: 0% !important;
    left: -100%;
    margin-right: -50%;
    width: 70%;
    height: 100vh;
    padding-inline: 50px;
    z-index: 11111;
  }

  .search_results {
    position: relative;
    width: 100%;
  }

  #products .item {
    width: 32%;
  }

  .search_results .filter_btn {
    display: block;
  }

  .showSidebar {
    position: absolute;
    left: 0;
    top: 0;
  }

  .hide_sidebar {
    top: -100%;
  }

  .close_sidebar {
    display: block;
    position: absolute;
    top: 0;
    right: 0%;
    background-color: transparent;
    color: #000;
    z-index: 1111111;
    border: none;
    font-size: 1.4rem;
  }

  .overlay_active {
    display: block;
    position: fixed;
  }

  .service-head-boxx .img-event {
    height: 120px;
    cursor: pointer;
  }

  #overlay_compare .product_thumb {
    width: 48%;
  }

  #overlay_compare .product_image {
    width: 100%;
    height: 90px;
  }

  #overlay_compare .product_thumb .delete_btn {
    position: absolute;
    right: -12px;
    top: -13px;
  }

  #overlay_compare .product_meta .title {
    font-size: 0.9rem;
  }
}

@media (max-width: 567px) {
  .col-md-15 {
    width: 50%;
    float: left;
  }

  /* --- 3.6 Plaza list --- */
  .gray-bg1 {
    padding-inline: 30px;
  }

  #products {
    justify-content: space-between;
  }

  #products .item {
    width: 48.5%;
  }

  .filters_sidebar {
    width: 85%;
    padding-inline: 25px;
    padding-top: 30px;
  }

  .service-head-boxx {
    width: 100%;
    margin: 0 0;
  }

  .service-head-boxx .img-event {
    height: 180px;
    cursor: pointer;
  }

  .service-head-box .thumbnail {
    height: 110px;
    width: 45%;
  }

  .service-head-box .service_details_bottom {
    padding-bottom: 10px;
    padding-top: 5px;
  }

  .service-head-box .service_details_bottom .price span {
    font-size: 1rem;
    padding-right: 2px;
  }

  .service-head-box .service_details_bottom .service_details_bottom {
    display: flex;
    flex-direction: column !important;
  }

  .service-head-box .service_details {
    padding-inline: 5px;
    width: 55%;
  }

  .service-head-box .service_details p {
    font-size: 15px;
  }

  .service-head-box .service_details_bottom .price {
    font-size: 1.1rem;
    margin-bottom: 5px;
  }

  .service-head-box .service_details_bottom .links a {
    display: inline-block;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: #f3f3f3;
  }

  .gray-bg1 {
    padding: 0 15px;
  }

  #overlay_compare .products {
    width: 90%;
  }

  #overlay_compare .product_thumb .delete_btn {
    position: absolute;
    right: 0px;
    top: 0px;
  }

  .service-head-boxx .img-event {
    height: 120px;
    cursor: pointer;
  }

  .item.list-group-item .img-event {
    float: left;
    width: 148px !important;
    height: 110px !important;
  }

  .item.list-group-item .caption {
    float: left;
    width: calc(100% - 148px);
    margin: 0;
  }

  .service-head-boxx .service_details {
    padding: 10px 5px 0 10px;
    margin: 0 0px;
    margin-inline: 0;
  }

  .service-head-boxx .service_details p {
    margin-top: 0;
  }

  .service-head-boxx .service_details .price {
    margin-bottom: 0;
  }

  .service-head-boxx .service_details_bottom .price span {
    font-size: 1.1rem;
  }

  .service-head-boxx .service_details h4 {
    margin-top: 0px;
    margin-bottom: 2px;
  }

  .item.list-group-item h4 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .item.list-group-item .service_details_bottom {
    display: flex;
    flex-direction: column;
    margin-top: 5px;
    padding-top: 5px;
  }

  .service-head-boxx .icon .plaza-btn i {
    margin-left: -5px;
  }

  /*  4.1 Menu Manager - Overview page*/
  .page-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
  }

  #menuManagerHeading {
    display: none;
  }

  .menu-tabs {
    margin: 20px 0 10px !important;
  }

  .section-title {
    font-size: 19px;
  }

  .header-right {
    gap: 4px;
    max-width: 65%;
  }

  .search-for-items {
    padding: 4px 12px;
  }

  /* Ensure body padding is maintained */
  body {
    padding-top: 56px;
    /* Slightly smaller for smaller screens */
  }

  .header-left {
    position: relative;
    z-index: 5;
  }

  .search-container {
    margin-left: auto;
    margin-right: 5px;
    position: relative;
    z-index: 5;
  }

  .search-box {
    width: 110px;
    padding: 4px 5px 4px 5px;
    /* Reduced horizontal padding */
    border-radius: 6px;
  }

  .search-box input {
    font-size: 14px;
    margin-left: 6px;
    /* Ensure there's enough space on the left */
  }

  .icon-item {
    width: 28px;
    height: 28px;
    margin: 0 1px;
  }

  .header-icon {
    width: 18px;
    height: 18px;
  }

  .header-divider {
    height: 18px;
    margin: 0 1px;
  }

  .profile-circle {
    width: 26px;
    height: 26px;
    font-size: 12px;
  }

  /* Mobile sidebar adjustments */
  .dashboard-sidebar {
    width: 250px !important;
    /* Fixed width for consistency */
  }

  .dashboard-sidebar .menu-item {
    padding: 0px 15px 10px 20px;
    display: flex;
    justify-content: flex-start;
    font-size: 16px;
  }

  .dashboard-sidebar .menu-item span {
    display: inline-block;
  }

  .dashboard-sidebar .menu-icon {
    width: 22px;
    height: 22px;
  }

  .menu-manager-content {
    padding: 15px 20px;
  }

  .menu-content {
    padding: 15px 10px;
  }

  .menu-tabs {
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 5px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE and Edge */
    margin: 0;
    /* Ensure no margin overflow */
    padding-left: 0;
    /* Remove left padding */
    padding-right: 0;
    /* Remove right padding */
  }

  .menu-tabs::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari, Opera */
  }

  .tab {
    flex-shrink: 0;
    /* Prevent tabs from shrinking */
    font-size: 14px;
    padding: 6px 14px;
    /* Slightly more horizontal padding */
    height: 32px;
    white-space: nowrap;
    /* Prevent text wrapping */
    min-width: fit-content;
    /* Ensure tabs fit their content */
  }

  /* Ensure menu header stays at the top on small screens */
  .menu-header {
    padding: 5px 0;
  }

  .search-for-items {
    width: 160px;
  }

  .menu-item-status {
    min-width: 110px;
  }

  .menu-item-image,
  .menu-item-image-placeholder {
    width: 50px;
    height: 50px;
  }

  .category-title {
    font-size: 18px;
  }

  .category-status {
    font-size: 12px;
  }

  .item-count {
    font-size: 12px;
  }

  /* Improve touch targets for mobile */
  .menu-kebab,
  .toggle-icon,
  .menu-item-status {
    min-height: 36px;
    min-width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Ensure category kebab menu matches desktop style */
  .category-actions .menu-kebab {
    width: 28px;
    height: 17px;
    min-height: 17px;
    min-width: 28px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 2px;
  }

  .category-actions .menu-kebab img {
    width: 16px;
    height: 16px;
    opacity: 1;
    filter: brightness(0);
  }

  /* Ensure menu item kebab menu matches desktop style */
  .menu-item-actions .menu-kebab {
    width: 28px;
    height: 17px;
    min-height: 17px;
    min-width: 28px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 2px;
  }

  .menu-item-actions .menu-kebab img {
    width: 16px;
    height: 16px;
    opacity: 1;
    filter: brightness(0);
  }

  .edit-item-content {
    padding: 16px;
  }

  .edit-item-header {
    padding: 16px;
  }

  .edit-item-title {
    font-size: 18px;
  }

  .edit-item-actions {
    padding: 12px 16px;
  }

  .edit-item-actions .btn {
    font-size: 14px;
    padding: 6px 12px;
  }
}

@media (max-width: 480px) {
  /* 4.1 Menu Manager - Overview page */
  .no-results-message {
    font-size: 15px;
    gap: 6px;
    padding: 0 5px;
  }

  .no-results-text {
    font-size: 15px;
  }

  .clear-filter {
    font-size: 15px;
  }
}

@media (max-width: 992px) {
  /* 4.1 Menu Manager - Overview page */
  .dashboard-sidebar {
    width: 80px;
  }

  /* .sidebar .menu-item span {

        display: none;
     } */
}

/* Extra small devices */
@media (max-width: 375px) {
  /* 4.1 Menu Manager - Overview page */

  .menu-manager-content {
    padding: 15px 20px 15px 20px;
  }

  /* Adjust body padding for smaller header */
  body {
    padding-top: 52px;
  }

  .header-right {
    max-width: 60%;
  }

  .search-box {
    width: 90px;
  }

  /* Mobile sidebar adjustments */
  .dashboard-sidebar {
    width: 250px !important;
    /* Fixed width for consistency */
  }

  .dashboard-sidebar .menu-icon {
    width: 20px;
    height: 20px;
  }

  .dashboard-sidebar .menu-item {
    padding: 0 15px 0 15px;
    font-size: 15px;
  }

  .logo {
    height: 22px;
  }

  .search-container {
    margin-left: auto;
    margin-right: 3px;
    position: relative;
  }

  .search-box {
    width: 90px;
    padding: 3px 4px 3px 4px;
    /* Reduced horizontal padding */
    border-radius: 6px;
  }

  .search-box input {
    font-size: 13px;
    margin-left: 5px;
  }

  .search-box .clear-icon {
    font-size: 12px;
  }

  .header-right {
    gap: 2px;
  }

  .icon-item {
    width: 24px;
    height: 24px;
    margin: 0 1px;
  }

  .icon-item i {
    font-size: 16px;
  }

  .header-icon {
    width: 16px;
    height: 16px;
  }

  .profile-circle {
    width: 24px;
    height: 24px;
    font-size: 11px;
  }

  .menu-item-status-container {
    margin: 0 5px;
  }

  .menu-item-status {
    min-width: 90px;
    font-size: 14px;
    padding: 2px 5px;
  }

  .menu-kebab {
    width: 25px;
    height: 20px;
  }

  .menu-item-row {
    padding: 10px;
  }

  .menu-item-name {
    font-size: 14px;
  }

  .menu-item-price {
    font-size: 14px;
  }

  .page-title {
    font-size: 20px;
  }

  .section-title {
    font-size: 18px;
  }

  .tab {
    font-size: 13px;
    padding: 5px 12px;
    /* Slightly more horizontal padding */
    height: 28px;
    flex-shrink: 0;
    /* Prevent tabs from shrinking */
    white-space: nowrap;
    /* Prevent text wrapping */
    min-width: fit-content;
    /* Ensure tabs fit their content */
  }

  .tab:last-child {
    margin-right: 10px;
    /* Right spacing for last tab */
  }

  /* Improve mobile menu layout */
  .menu-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .search-for-items {
    width: 100%;
  }

  /* Adjust dashboard header for small screens */
  .dashboard-header {
    margin-bottom: 10px;
  }

  .open-sidebar-btn {
    font-size: 14px;
  }

  .open-sidebar-btn .sidebar-icon {
    width: 22px;
    height: 22px;
    margin-right: 15px;
    /* Increased margin to create more space between icon and text */
    vertical-align: middle;
  }

  .open-sidebar-btn .sidebar-text {
    padding-left: 5px;
  }

  .breadcrumb-nav {
    font-size: 14px;
  }

  /* Improve category display */
  .category-header {
    padding: 12px 10px;
  }

  .category-info {
    gap: 8px;
  }

  .category-meta {
    flex-wrap: wrap;
  }

  /* Improve menu item layout */
  .menu-item-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .menu-item-details {
    width: 100%;
    margin-bottom: 8px;
  }

  .menu-item-status-container {
    margin: 5px 0;
  }

  .menu-item-actions {
    align-self: flex-end;
  }

  .mobile-bottom-nav {
    display: flex;
  }

  /* Add padding to the bottom of the content to account for the nav bar */
  body {
    padding-bottom: 60px;
  }

  /* Hide header icons that are duplicated in the bottom nav */
  .header-right .icon-item:nth-child(3),
  .header-right .icon-item:nth-child(4),
  .header-right .icon-item:nth-child(5),
  .header-right .icon-item:nth-child(6),
  .header-right .user-profile {
    display: none;
  }

  .menu-item-image-placeholder i {
    font-size: 18px;
  }

  .no-results-message {
    font-size: 14px;
    margin: 15px 0;
  }

  .no-results-text {
    font-size: 14px;
    line-height: 1.3;
  }

  .search-term {
    font-size: 14px;
    line-height: 1.3;
  }

  .clear-filter {
    font-size: 14px;
  }
}

/* Very small devices */
@media (max-width: 320px) {
  /* 4.1 Menu Manager - Overview page */

  /* Adjust body padding for smallest header */
  body {
    padding-top: 48px;
  }

  .header-left {
    position: relative;
    z-index: 1000;
  }

  .logo {
    height: 20px;
  }

  .header-right {
    max-width: 55%;
    gap: 2px;
  }

  /* Mobile sidebar adjustments */
  .dashboard-sidebar {
    width: 250px !important;
    /* Fixed width for consistency */
  }

  .dashboard-sidebar .menu-item {
    padding: 0 10px 0 10px;
    font-size: 14px;
    /* gap: 10px; */
  }

  .menu-icon {
    width: 18px;
    height: 18px;
  }

  /* Adjust dashboard header for very small screens */
  .dashboard-header {
    margin-bottom: 8px;
  }

  .open-sidebar-btn {
    font-size: 13px;
  }

  .open-sidebar-btn .sidebar-icon {
    width: 20px;
    height: 20px;
    margin-right: 12px;
    /* Increased margin to create more space between icon and text */
    vertical-align: middle;
  }

  .breadcrumb-nav {
    font-size: 13px;
  }

  .search-box {
    width: 70px;
    padding: 3px 3px 3px 3px;
    /* Minimal padding */
    border-radius: 5px;
  }

  .search-box input {
    font-size: 12px;
    margin-left: 3px;
    /* Reduced left margin */
    min-width: 0;
    /* Allow input to shrink */
  }

  .search-box .clear-icon {
    font-size: 11px;
    margin-left: 2px;
  }

  .icon-item {
    width: 22px;
    height: 22px;
  }

  .header-icon {
    width: 14px;
    height: 14px;
  }

  .header-divider {
    height: 16px;
    margin: 0 1px;
  }

  .profile-circle {
    width: 22px;
    height: 22px;
    font-size: 10px;
  }

  /* Further improve mobile menu layout */
  .page-title {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .tab {
    font-size: 12px;
    padding: 4px 8px;
    height: 26px;
  }

  .section-title {
    font-size: 16px;
  }

  .menu-item-image,
  .menu-item-image-placeholder {
    width: 50px;
    height: 50px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .menu-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .category-title {
    font-size: 16px;
  }

  .menu-item-name,
  .menu-item-price {
    font-size: 13px;
  }

  .menu-item-status {
    min-width: 80px;
    font-size: 12px;
  }

  /* Improve touch targets */
  .menu-kebab,
  .toggle-icon {
    min-height: 30px;
    min-width: 30px;
  }

  /* Remove gap between kebab menu and toggle icon in mobile view */
  .category-actions {
    gap: 0;
  }

  /* Ensure category kebab menu matches desktop style even on very small screens */
  .category-actions .menu-kebab {
    width: 28px;
    height: 17px;
    min-height: 17px;
    min-width: 28px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 2px;
  }

  .category-actions .menu-kebab img {
    width: 16px;
    height: 16px;
    opacity: 1;
    filter: brightness(0);
  }

  /* Ensure menu item kebab menu matches desktop style even on very small screens */
  .menu-item-actions .menu-kebab {
    width: 28px;
    height: 17px;
    min-height: 17px;
    min-width: 28px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 2px;
  }

  .menu-item-actions .menu-kebab img {
    width: 16px;
    height: 16px;
    opacity: 1;
    filter: brightness(0);
  }

  /* Improve drag handle touch target for mobile */
  .drag-handle {
    padding: 8px;
    margin: 0;
  }
}

/* ----------- delete header responsive --------- */
@media (max-width: 1200px) {
  .iconmenubar li {
    width: 105px !important;
    padding: 10px;
  }
}

@media (max-width: 767px) {
  header .header-menu ul {
    height: 100%;
    overflow-x: scroll;
    margin: 10px 0;
  }

  #sidebarMenu {
    width: 310px;

    height: 90%;
    padding-bottom: 15px;
  }

  li.dropdown .dropdown-menu a {
    padding: 10px 0;
  }

  .fr-hero-details-products img {
    max-width: 100%;
  }

  .filters .nice-select {
    width: 170px !important;
  }

  .fr3-details .fr3-job-detail {
    display: block;
  }

  .adi-go-data .register-holder {
    margin: 10px auto;
  }

  .services-filter-2 h4 {
    font-size: 14px;
  }

  .result-box span.result-number {
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 12px;
    /*z-index: 2;*/
  }

  .fr-c-details {
    margin-top: 30px;
  }

  .fr3-job-detail .fr3-job-img.plaza-listing {
    float: none;
  }

  .fr-expert .fr-expert-content {
    float: none;
  }

  .fr3-job-detail .fr3-job-img {
    margin-right: 0;
  }

  .fr3-job-detail .fr3-job-img img {
    max-width: 100%;
  }

  .data-table-holder h4 {
    text-align: center;
  }

  .map-main-tabs ul.nav {
    display: block;
  }

  .radius-search .nice-select {
    width: auto;
  }

  .counter-area .counter-holder .counter-box:first-child:after {
    content: "";
    position: absolute;
    display: none;
  }

  .btn-group-spacing {
    display: block;
  }

  .btn-group-spacing button {
    margin: 0;
    margin-bottom: 8px;
  }

  .account-section ul.progress-nav.progress-function {
    padding-left: 0;
  }

  .inner-header {
    background: var(--color-primary-light);
    padding-bottom: 30px;
  }

  .iti.iti--allow-dropdown {
    margin-bottom: 10px !important;
  }

  .inner-header .breadcrumb-section h3 {
    padding-top: 15px;
    font-size: 28px;
  }

  header .mobile-menu {
    display: flex;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    letter-spacing: 0.5px;
  }

  .iconmenubar {
    display: none;
  }

  header .header-logo {
    padding-left: 0px;
    padding-right: 0px;
  }

  header .header-menu .ul-base li {
    display: none;
  }

  header .header-menu .ul-base li.mob-show,
  header .header-menu .ul-base .sidebarMenuInner li {
    display: block;
  }

  header .header-inner {
    padding: 0;
  }

  .search-section h3 {
    font-size: 30px;
  }

  .search-section h5 {
    font-size: 20px;
  }

  .search-container {
    padding-top: 10px;
  }

  .imagepart {
    margin-top: 20px;
  }

  .second-section {
    padding: 40px 0;
  }

  .second-section .row {
    padding: 20px;
  }

  .second-section h4 {
    text-align: center;
    padding-bottom: 15px;
  }

  .pro-btn {
    text-align: center;
  }

  .ocean-section {
    padding: 40px 0;
    margin-bottom: 0;
  }

  .ocean-section h3 {
    font-size: 24px;
  }

  .ocean-section p {
    padding-bottom: 0;
  }

  .textpart2 h5 {
    font-size: 24px;
  }

  .categories-section {
    padding: 20px;
    position: relative;
    margin: 0;
  }

  .infobox ul {
    padding-left: 20px;
  }

  .infobox {
    padding: 10px 0;
  }

  .cat-btn {
    text-align: left;
  }

  .fourth-section {
    padding: 40px 0;
  }

  .fourth-section {
    padding: 40px 0;
  }

  .fourth-section .row {
    padding: 20px;
  }

  .fourth-section h4 {
    text-align: center;
    padding-bottom: 15px;
  }

  .footer-top-part {
    padding-top: 40px;
    padding-bottom: 20px;
  }

  .logoimage img {
    width: 80%;
    padding-bottom: 20px;
  }

  .footermenu {
    padding-left: 0;
    display: block;
    float: none;
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
  }

  .infobox ul {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
  }

  .footermenu li {
    padding-left: 0;
  }

  .footer-bottom-part {
    padding: 10px 0;
  }

  .footer-bottom-part p {
    margin-bottom: 0;
  }

  .d-none-mobile {
    display: none;
  }

  .d-none-desktop {
    display: block;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  #sidebarMenu {
    width: 330px;
    overflow: scroll;
    height: 94%;
    padding-bottom: 15px;
  }

  header .header-menu ul {
    height: 100%;
  }

  .fr-hero-details-information h3 {
    font-size: 20px;
  }

  .adi-go-data .register-holder h4 {
    font-size: 18px;
  }

  .adi-go-data .btn.btn-success {
    margin-bottom: 10px;
  }

  header .mobile-menu {
    display: flex;
  }

  .iconmenubar {
    display: none;
  }

  header .header-inner {
    padding: 0;
  }

  header .header-logo img {
    max-height: 30px;
  }

  .search-section h3 {
    font-size: 40px;
  }

  .text-part {
    padding-top: 40px;
  }

  .first-section {
    margin-top: 0;
  }

  .first-section .row {
    align-items: center;
  }

  .ocean-section h3 {
    font-size: 30px;
  }

  .ocean-section p {
    padding-bottom: 20px;
  }

  .categories-section {
    position: relative;
    margin: 0;
  }

  .textpart2 p {
    font-size: 16px;
    padding-bottom: 0;
  }

  .infobox {
    padding: 10px 0;
  }

  .ocean-section {
    padding: 40px 0;
    margin-bottom: 0;
  }

  .footermenu li {
    padding-left: 10px;
  }

  .footermenu {
    padding: 0;
  }

  .footer-top-part {
    padding: 40px 0 20px;
  }

  .footer-bottom-part {
    padding: 5px 0;
  }

  .footer-bottom-part p {
    margin-bottom: 0;
  }
}

@media (min-width: 991px) and (max-width: 1024px) {
  header .header-menu ul {
    float: right;
  }
}

@media (min-width: 767px) {
  /* -- 2.29 Light Gallery */

  .gallery-view .counter {
    top: 4px;
  }

  .file-grid {
    grid-template-columns: repeat(5, 1fr);
  }

  .gallery-view .main-gallery img {
    max-width: 90%;
    max-height: calc(100vh - 150px);
    object-fit: contain;
  }

  .gallery-view .controls {
    right: 11px;
    top: -12px;
  }

  .gallery-view .gallery-content .main-gallery .counter {
    left: 9px;
  }

  .gallery-view .gallery-content .main-gallery .nav-button.prev {
    left: 20px;
    background-color: transparent !important;
  }

  .gallery-view .gallery-content .main-gallery .nav-button.next {
    right: 20px;
    background-color: transparent !important;
  }

  .thumbnail-parent {
    width: 100px;
    height: 80px;
  }

  .thumbnail-container {
    height: 100px;
  }

  .thumbnail {
    border: 2px solid white;
  }

  .gallery-view .control-button.close {
    font-size: 23px;
  }

  .thumbnail-parent {
    width: 90px;
    height: 75px;
  }

  .thumbnail-parent .play-icon {
    width: 35px;
    height: 35px;
  }

  .thumbnail-parent .play-icon svg {
    width: 1.3rem;
    height: 1.3rem;
  }

  /* ---- */

  .progress-nav li {
    height: 7px;
  }

  .progress-nav li:before {
    width: 25px;
    height: 25px;
    top: -9px;
    background-size: 60%;
    font-size: 15px;
  }

  .progress-nav li.active:before {
    width: 28px;
    height: 28px;
    border-width: 8px;
    top: -11px;
  }

  .progress-nav li.active ~ li:before {
    width: 22px;
    height: 22px;
    top: -7px;
  }

  .progress-nav li a {
    font-size: 20px;
    bottom: calc(100% + 23px);
  }
}

@media (min-width: 992px) {
  .data-table-holder table.dataTable {
    display: table;
  }
}

/*  */
@media (max-width: 1200px) {
  .header-menu {
    width: fit-content !important;
    display: flex;
    justify-content: center;
  }
}

@media (max-width: 1024px) {
  header .header-menu .ul-base li {
    display: none;
  }

  header .nav-btn.nav-slider {
    float: right;
    margin-top: 22px;
    text-align: end;
  }

  /* .inner-header{
		height: 200px;
	} */
  .header-menu {
    display: none;
  }
}

@media (max-width: 567px) {
  .inner-header {
    height: fit-content;
  }
}

/* Medium screens: Adjust main content for fixed sidebar and header */
@media (min-width: 769px) and (max-width: 1100px) {
  /* -- 4.1 Menu Manager - Overview page -- */
  .main-content {
    margin-left: 85px;
    /* Medium screen sidebar width */
    margin-top: 60px;

    /* Header height */
    min-height: calc(100vh - 60px);
  }

  /* Medium to small screens (769px to 1100px) - Icon-only sidebar with hover labels */
  .dashboard-sidebar {
    width: 85px !important;
    /* Narrower fixed width */
    min-width: 85px !important;
    /* Ensure it stays at least 85px */
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s ease;
    /* Smooth animated transition */
    overflow: visible;
    /* Allow labels to show outside sidebar */
    position: fixed !important;
    /* Fixed position for medium screens */
    top: 60px !important;
    /* Below fixed header */
    left: 0 !important;
    height: calc(100vh - 60px) !important;
    z-index: 1001;
    /* Higher z-index for hover expansion */
  }

  .dashboard-sidebar .sidebar-menu {
    gap: 12px;
    /* Tighter spacing for icons */
    padding: 25px 0 20px 0;
  }

  .dashboard-sidebar .menu-item {
    padding: 0 6px;
    display: flex;
    justify-content: center;
    /* Center content when collapsed */
    align-items: center;
    font-size: 16px;
    gap: 0;
    /* No gap when collapsed */
    position: relative;
    height: 44px;
    /* Slightly smaller height */
    /* margin: 0 8px; Tighter margin for narrower sidebar */
    border-radius: 8px;
    transition: background-color 0.2s ease;
    white-space: nowrap;
    overflow: visible;
    /* Allow labels to show outside */
  }

  .dashboard-sidebar .menu-item .menu-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
  }

  /* Label styling - positioned absolutely to slide out */
  .dashboard-sidebar .menu-item span {
    display: block !important;
    /* Override global hide rule */
    position: absolute !important;
    left: 75px !important;
    /* Position further right from icon */
    opacity: 0 !important;
    visibility: hidden !important;
    /* Prevent flash during resize */
    transform: translateX(-10px) !important;
    transition: none !important;
    /* No transitions by default to prevent flash */
    white-space: nowrap !important;
    background-color: white !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    border: 1px solid #e0e0e0 !important;
    z-index: 1000 !important;
    pointer-events: none !important;
  }

  /* Enable transitions only on hover to prevent resize flash */
  .dashboard-sidebar .menu-item:hover span {
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease !important;
    opacity: 1 !important;
    visibility: visible !important;
    /* Show on hover */
    transform: translateX(0) !important;
  }

  .dashboard-sidebar .menu-item:hover {
    background-color: var(--color-hover-bg);
  }

  /* Active state styling */
  .dashboard-sidebar .menu-item.active {
    background-color: rgba(11, 94, 194, 0.08);
  }

  .header-right {
    gap: 6px;
  }

  .search-box {
    width: 180px;
  }
}

/* search page styling */
:root {
  /* For box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.03) inset; */
  --shadow-inset-light: inset 0px 4px 4px 0px rgba(0, 0, 0, 0.03);

  /* For box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25); */
  --shadow-default: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  --font-weight-normal: 400;
  --line-height-normal: 100%;
  --letter-spacing-normal: 0;
  --font-weight-bold: 700;
  --font-size-small: 0.875rem;
  --font-size-medium: 1.125rem;
  --font-size-base: 1rem;
}
body {
  padding: 0;
}
/* common styles-custom utility classes */
.flex {
  display: flex;
}
.flex-c {
  flex-direction: column;
}
.space-b {
  justify-content: space-between;
}
.full-h {
  height: 100%;
}
.full-w {
  width: 100%;
}
.flex-a-j {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flex-a-b {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.font-weight-normal {
  font-weight: var(--font-weight-normal);
}
.gap-five {
  gap: 5px;
}
.fade-out {
  opacity: 0;
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
  /* transform: scale(0.95); */
  transform: translateX(100%);
}
/* Expanded Search bar styling */

.main-header {
  display: flex;
  flex-direction: column;
}
.no-bottom-border {
  border-bottom: 0;
}
.full-header {
  width: 100%;
  height: 100%;
  display: flex;
  margin-top: 12px;
  margin-bottom: 12px;
}
.main-header {
  position: fixed;
  top: 0;
}
/* .full-header {
  margin-top: 0;
  margin-bottom: 0;
} */
.expanded-search-bar-content--wrapper {
  margin-top: 2px;
  background-color: white;
}
/* Search bar styling */
.search-bar-content--wrapper,
.expanded-search-bar-content--wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%; /* Allows it to take full width of its parent */
  max-width: 788px; /* Maximum width as per original design */
  /* Add some horizontal padding for smaller screens */
  box-sizing: border-box; /* Include padding in the width */
}
.expanded-search-bar-content--wrapper-container {
  margin-top: 50px;
  width: 100%;
  height: 68px;
  background-color: white;
  z-index: 1000;
}
.search-bar-content--wrapper {
  margin: 50px auto 0 auto;
  z-index: 5000; /* Center horizontally with margin-top, adjust as needed for full page */
}

/* Contains the search bar and the mic button, uses flexbox for arrangement */
.search-bar-content {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}

/* The main search bar container, rounded and with shadow */
.search-bar--container {
  display: flex;
  align-items: center;
  flex-grow: 1; /* Allows it to grow and shrink */
  background-color: #fff;
  border-radius: 9999px; /* Fully rounded */
  box-shadow: var(--shadow-inset-light);
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.17);

  border: 1px solid rgba(244, 246, 252, 1); /* Hardcoded border-light */
  height: 53px; /* Fixed height for the search bar */
  min-width: 250px; /* Minimum width for the search bar itself */
}

/* Group for the search icon and input field - now exactly 50% width */
.input-group {
  display: flex;
  align-items: center;
  height: inherit;
  flex: 0 0 50%; /* Takes exactly 50% of parent width, doesn't grow/shrink */
  /* Padding for the content within this group */
  padding-left: 21px; /* Hardcoded --group-internal-padding-x */
  padding-right: 2rem; /* Hardcoded --separator-gap-x */
  min-width: 150px; /* Ensure content is readable even when shrinking */
  box-sizing: border-box; /* Include padding in width calculations */
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

.search-input,
.search-bar-location-input {
  flex-grow: 1;
  padding: 0;
  border: none;
  outline: none;
  font-size: var(--font-size-base);
  color: #374151; /* Hardcoded --text-gray-700 */
  min-width: 0; /* Allows input to shrink below its content size */
  background-color: transparent; /* Ensure background is transparent */
  /* Placeholder styling */
  &::placeholder {
    color: #6b7280; /* Hardcoded --text-gray-500 */
  }
}

input[type="search"]::-webkit-search-cancel-button {
  cursor: pointer;
}

/* New container for the right half (separator, location, search button) */
.right-content-wrapper {
  display: flex;
  align-items: center;
  flex: 0 0 50%; /* Takes exactly 50% of parent width */
  box-sizing: border-box;
  /* Padding for content within this wrapper, relative to its own edges */
  padding-left: 2rem; /* Hardcoded --separator-gap-x */
}

/* Separator line */
.separator {
  width: 1px;
  height: 24px;
  background-color: #e5e7eb; /* Hardcoded --border-gray-200 */
  flex-shrink: 0; /* Prevent shrinking */
}

/* Group for the location icon and text */
.location-group {
  display: flex;
  height: inherit;
  align-items: center;
  color: #6b7280; /* Hardcoded --text-gray-500 */
  flex-grow: 1; /* Takes remaining space within right-content-wrapper */
  white-space: nowrap;
  min-width: 80px;
  /* Ensure content is readable */
}

.search-bar-location-input {
  outline: none;
  border: none;
}

.search-bar-location-input:focus-within,
.input-group:focus-within,
.location-group:focus-within {
  background-color: var(--color-primary-light);
}

/* Icons within the search bar */
.svg-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0; /* Prevent icons from shrinking */
}

.location-icon {
  margin-right: 0.5rem;
}

.search-location-icon {
  width: 24px;
  height: 24px;
  margin-left: 23px;
  margin-right: 0.5rem;
}

/* Search and Mic buttons */
.search-button,
.mic-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 53px; /* Fixed width for circular buttons */
  height: 53px; /* Fixed height for circular buttons */
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
  flex-shrink: 0; /* Prevent shrinking */
  padding: 0; /* Remove default button padding */
  border-radius: 9999px; /* Ensure buttons are fully rounded */
}

.search-button {
  background-color: #2e5dc0; /* Hardcoded --color-primary */
  color: #fff; /* Icon color inside button */
  border: 1px solid rgba(46, 93, 192, 1);

  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 9999px; /* Reapply specific rounding for search bar container */
  border-bottom-right-radius: 9999px;
  margin-left: auto; /* Pushes the button to the far right within its flex container */
  margin-right: -1px; /* Overlap border with container to prevent double border */
}

.search-button:hover {
  background-color: #003380; /* Darker blue on hover */
}

.mic-button {
  background-color: #2e5dc0; /* Hardcoded --color-primary */
  box-shadow: var(--shadow-main);
}

.mic-button:hover {
  background-color: #003380; /* Darker blue on hover */
}

.mic-button img {
  width: 24px; /* Adjust size as needed */
  height: 24px; /* Adjust size as needed */
  filter: brightness(0) invert(1); /* This makes the icon white, assuming original is dark */
}

/* Basic SVG icons for demonstration */
.search-location-icon {
  width: 24px;
  height: 24px;
}

/* Style for the mic icon specifically */
.mic-icon {
  width: 24px;
  height: 24px;
  fill: #fff;
}
/* / */
.content-wrapper {
  position: relative;
}
/* Recent and Saved Searches Area */
.area-below-search-input--wrapper,
.expanded-area-below-search-input--wrapper {
  position: absolute;
  /* top: 130px; */
  top: 50px;
  width: 100%;
  height: fit-content;
  max-width: 559px;
  /* max-height: 310px; */
  margin-top: 10px;
  border: 1px solid rgba(232, 232, 232, 1);
  border-radius: 12px;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.04) inset;
  background-color: white;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  padding-bottom: 10px;
}

.area-below-search--input {
  padding: 28px 21px 19px 21px;
}
.recent-saved-searches,
.recent-location-searches {
  display: flex;
  flex-direction: column;
}
.search-pills {
  display: flex;
  overflow-x: auto; /* Enable horizontal scrolling */
  white-space: nowrap;
  gap: 7px;
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
  /* Hide scrollbar for Webkit browsers */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE/Edge */
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Standard syntax */
}
.search-pill {
  height: 35px;
  font-size: var(--font-size-small);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  gap: 6px;
  padding: 9px 13px 9px 13px;
  text-wrap: nowrap;
  border: 1px solid rgba(190, 184, 184, 1);
  border-radius: 9999px;
  cursor: pointer;
  margin-right: 1px;
  margin-left: 1px;
  transition: all 0.3s ease;
}
.search-pill:hover {
  background-color: var(--hover-bg-light);
}
.pill-icon {
  margin-bottom: 2px;
  height: 22px;
  width: 22px;
}
.searches-heading {
  margin-top: 15px;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
}
.searches--common-container,
.location--common-container {
  display: flex;
  height: 100%;
  max-height: 143px;
  flex-direction: column;

  gap: 5px;
  overflow-y: auto;
  scrollbar-width: thin; /* Makes the scrollbar thin */
  scrollbar-color: #e0e0e0 transparent; /* Thumb: light gray, Track: transparent */
}
.location--common-container {
  margin-top: 14px;
}
.searches,
.locations {
  width: 100%;
  min-height: 41px;

  padding: 0px 15px 0 15px;
  border-radius: 20px;

  flex-wrap: nowrap;
}
.searches:hover {
  background-color: var(--color-primary-light);
}
.locations:hover {
  background-color: var(--color-primary-light);
}
.save-delete-buttons {
  display: flex;
  align-items: center;
}
.pointer-cursor {
  cursor: pointer;
}
.search-x-icon {
  margin-left: 4px;
}
.save-search-icon:active {
  fill: rgba(11, 94, 194, 1);
  outline: none;
  color: white;
  stroke: "none"; /* Blue for outlines/paths */
}
.job-title,
.previous-location {
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  cursor: pointer;
}

.previous-location {
  width: 350px;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-top: 9px;
}
.subjects-location {
  color: rgba(79, 87, 95, 1);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  cursor: pointer;
}
.recent-saved-toggle {
  padding: 6px 28px 0 28px;

  border-top: 1px solid rgba(232, 232, 232, 1);
}
.saved-searches-text {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  color: var(--color-link);
}

/* Styles for the area below the location input */
.area-below-location-input--wrapper,
.expanded-area-below-location-input--wrapper {
  position: absolute;
  top: 50px;

  width: 100%;
  height: fit-content;
  max-width: 488px;
  /* max-height: 330px; */
  margin-top: 10px;
  margin-left: 363px;
  border: 1px solid rgba(232, 232, 232, 1);
  border-radius: 12px;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.04) inset;
  background-color: white;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
}
.area-search-loaction-active {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.expanded-area-below-search-input--wrapper,
.expanded-area-below-location-input--wrapper {
  top: 165px;
  height: 330px;
  max-height: 400px;
}
.area-below-location--input,
.expanded-area-below-search-input--wrapper,
.area-below-location--input,
.expanded-area-below-location-input--wrapper {
  padding: 28px 28px 28px 28px;
  height: fit-content;
}

/* Styling for Mic button's modal window */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 100vw;
  max-height: 100vh;
  background-color: rgba(0, 0, 0, 0.29);

  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 2000;
}

.modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Modal Content Box */
.mic-modal-content {
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
  padding: 24px;
  width: 100%;
  height: 100%;
  max-width: 556px;
  max-height: 395px;
  text-align: center;
  transform: translateY(20px);
  transition: transform 0.3s ease;
  position: relative;
}

.modal-overlay.active .mic-modal-content {
  transform: translateY(0); /* Slide up animation */
}

/* Close Button */
.modal-close-button {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #888;
  transition: color 0.2s ease;
  /* padding: 5px; */
  /* Increase clickable area */
}

.modal-close-button:hover {
  color: #333;
}

/* Mic Icon Styling */
.mic-icon-container {
  width: 100%;
  height: 100%;
  margin-top: 170px;
  border-radius: 50%; /* Circular shape */
  margin: 20px auto; /* Center the icon */
  transition: background-color 0.3s ease;
}

.modal-mic-button {
  background-color: var(--color-primary);
  width: 100%;
  height: 100%;
  max-height: 80px;
  max-width: 80px;
  border-radius: inherit;
  border: none;
  transition: all 0.3s ease;
  cursor: pointer;
}
.mic-svg {
  width: 100%; /* Size of the microphone SVG */
  height: 100%;
  max-width: 38.8px;
  max-height: 38.8px;
}

.modal-mic-button:hover {
  opacity: 0.9;
  scale: 1.02;
}
.modal-mic-button:active {
  scale: 0.95;
}

/* Listening Text */
.modal-listening-text {
  font-size: 1.2rem;
  color: #333;
  margin-bottom: 0;
  font-weight: 500;
}
/* Search Result and Map Display styles */

.search-results-display {
  display: flex;
  margin-top: 28px;
  width: 100%;
}
.search-page-search-results {
  display: flex;
  flex-direction: column;
  padding: 0;
  transition: all 0.3s ease;
  margin-top: 0;
}
.card-container-wrapper {
  display: flex;
  flex-direction: column;

  /* margin-bottom: 75px; */
}
.filter-section {
  margin-bottom: 11px;
}
.results-found {
  color: var(--color-text);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
}
.filter-group {
  display: flex;
  align-items: center;
  width: 96px;
  height: 36px;

  gap: 8px;
  padding: 8px;
  border-radius: 2px;
  border: 1px solid var(--color-divider);
  cursor: pointer;
}
.filter-button {
  width: 17px;
  height: 18px;
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  outline: none;
  display: flex;
}

.card-container {
  background-color: rgba(255, 255, 255, 1); /* Darker background for the card */
  padding: 18px 0px 18px 0px;
  margin-bottom: 18px;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0) inset;
  border-radius: 10px;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.19);
  border: 1px solid rgba(230, 235, 241, 1);
  /* Max width for a card-like appearance */
  /* White text for contrast */
  /* Subtle border */
}

/* Reverted to .header-section for consistency with original request */
.card-header-section {
  display: flex;
  align-items: flex-start;
  padding: 0px 28px 0px 28px;
}

.card-header-image {
  width: 80px;
  height: 80px;
  border-radius: 2px;
  object-fit: cover;
  margin-right: 25px;
}

.card-header-info {
  display: flex;
  flex-direction: column;
  margin-top: 11px;
}

.card-header-info h2 {
  margin: 0 0 5px 0;
  font-size: 1.2rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.card-header-section:hover .card-header-info h2 {
  color: var(--color-link);
}
.rating-distance {
  display: flex;
  gap: 3px;
  align-items: center;
  color: rgba(79, 87, 95, 1);
  text-wrap: nowrap;
}
.card-star {
  width: 15px;
  height: 15px;
}
.rated-by {
  color: var(--color-black);
}
.info-dot-icon {
  margin-left: 8px;
  margin-right: 8px;
}

.location-section {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);

  padding: 0px 28px 0px 28px;
  margin-top: 16px;
  margin-bottom: 8px;
}

.card-location-icon {
  width: 17px;
  height: 17px;
  fill: currentColor; /* Inherit color from parent */
}
.tags-wrapper {
  width: 100%;

  overflow: hidden;
}
.tags-section {
  display: flex;

  overflow-x: auto; /* Enable horizontal scrolling */
  white-space: nowrap; /* Prevent tags from wrapping */
  overflow-y: hidden;

  padding: 0px 28px 0px 28px; /* Space for scrollbar */
  margin-bottom: 20px;
  margin-right: 28px;
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
  /* Hide scrollbar for Webkit browsers */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE/Edge */
  user-select: none; /* Standard syntax */
}

.tags-section::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}

.tag {
  background-color: var(--color-primary-light);

  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: capitalize;
  flex-shrink: 0;
  padding: 8px 15px;
  border-radius: 5px;
  margin-right: 5px;
  border: 1px solid rgba(230, 235, 241, 1);
  cursor: pointer;
  transition: background-color 0.3s ease;

  /* Ensure tags are selectable despite parent's user-select: none */
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
}

.tag:last-child {
  margin-right: 0; /* No margin on the last tag */
}

.tag:hover {
  background-color: #e6ebf1;
}

/* Reverted to .footer-section for consistency with original request */
.card-footer-section {
  padding: 8px 28px 0px 28px;
  font-size: 0.9rem;
  border-top: 1px solid rgba(232, 232, 232, 1);
}

.status-dot {
  width: 7px;
  height: 7px;
  /* Green dot for "Open" */
  border-radius: 50%;
  margin-right: 8px;
}

/* Style for Open status (Green) */
.status-dot.open {
  background-color: var(--color-success);
}

/* Style for Closed status (Red) */
.status-dot.closed {
  background-color: #dc3545; /* A common red color */
}

/* Optional: Style for unknown/N/A status if you want a different color */
.status-dot.unknown {
  background-color: #6c757d; /* A gray color */
}
.hours-info {
  display: flex;
  align-items: center;
}

.right-circles {
  display: flex;
  gap: 5px; /* Space between circles */
}

.card-circle {
  position: relative; /* Needed for absolute positioning of the tooltip */
  transition: all 0.3s ease; /* Smooth transition for hover effects */

  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 0.5008px solid rgba(209, 209, 209, 1);
  cursor: pointer;
}
.circle-icons {
  width: 18px;
}
/* Custom tooltip styling */

/* Hover effects for the icon wrapper */
.card-circle:hover {
  transform: translateY(-5px); /* Lift effect on hover */
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); /* Enhanced shadow on hover */
}

/* Styling for the Font Awesome icons themselves */

/* Styling for the tooltip text */
.card-circle .tooltip {
  visibility: hidden; /* Hidden by default */
  background-color: black; /* Dark background for tooltip */
  color: #fff; /* White text color */
  text-align: center;
  border-radius: 6px; /* Rounded corners for tooltip */
  padding: 8px 12px;
  position: absolute; /* Positioned relative to .icon-wrapper */
  z-index: 1; /* Ensure tooltip appears above other content */
  bottom: 120%; /* Position the tooltip above the icon, leaving some space */
  left: 50%;
  transform: translateX(-50%); /* Center the tooltip horizontally */
  opacity: 0; /* Fully transparent by default */
  transition: opacity 0.3s ease, visibility 0.3s ease; /* Smooth fade-in/out */
  white-space: nowrap; /* Prevent text from wrapping inside tooltip */
  font-size: var(--font-size-small);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Shadow for tooltip */
}

/* Arrow/pointer for the tooltip */
.card-circle .tooltip::after {
  content: "";
  position: absolute;
  top: 100%; /* Position at the bottom of the tooltip */
  left: 50%;
  margin-left: -5px; /* Center the arrow */
  border-width: 5px;
  border-style: solid;
  border-color: #333 transparent transparent transparent; /* Dark arrow pointing down */
}

/* Show tooltip on hover */
.card-circle:hover .tooltip {
  visibility: visible;
  opacity: 1;
}

/* Map Display Section  */
.map-display {
  display: flex;
  position: sticky;
  top: 10px;
  left: 565px;
  /* max-width: 890px; */
  width: 100%;
  height: 100vh;
  margin-left: 12px;
}
/* This is to be romoved when the real map is avaiable */
.map-img {
  width: 100%; /* Now, this 100% refers to the dynamically calculated width of .map-display */
  height: auto; /* Maintains aspect ratio */
  display: block;
}
/* .is-sticky {
  position: sticky;
  top: 78px;
  left: 565px; 
  width: 100%; 
  z-index: 1000;
} */
.pagination-wrapper {
  display: flex;
  /* position: fixed;
  top: calc(100vh - 10%); */
  width: 100%;
  justify-content: center;
  padding: 0 60px 0 60px;
}

/* Pagination CSS */
.pagination-container {
  display: flex;
  gap: 4px; /* Reduced gap for a tighter look */
  background-color: #ffffff;
  padding: 8px; /* Reduced padding */
  border-radius: 10px; /* Rounded corners for the container */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  justify-content: center; /* Center items within the container */
  max-width: 100%; /* Ensure container is responsive */
  margin-top: 0;
  border: 1px solid rgba(213, 217, 217, 1);
}

.pagination-button {
  min-width: 36px; /* Slightly smaller min-width for buttons */
  height: 36px; /* Slightly smaller height */
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 8px; /* Reduced horizontal padding */
  border: none; /* No border for default state */
  background-color: transparent; /* Transparent background for default state */
  color: #333333;
  font-size: var(--font-size-base);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none; /* Prevent text selection */
  white-space: nowrap; /* Prevent text from wrapping inside buttons */
  border-radius: 8px; /* Rounded corners for individual buttons */
}

.pagination-button:hover:not(.active):not(.disabled) {
  background-color: rgba(237, 242, 253, 1); /* Subtle background on hover */
}

.pagination-button.active {
  background-color: #e0efff; /* Lighter blue for active page */
  /* Darker blue text for active page */
  border: 1px solid #cce0ff; /* Subtle border for active page */
  cursor: default;
}

.pagination-button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: transparent; /* Disabled buttons are also transparent */
  color: #999999;
}

.pagination-button.ellipsis {
  pointer-events: none; /* Make ellipsis non-clickable */
  background-color: transparent;
  color: #333333;
  opacity: 1; /* Ellipsis should not be faded */
  cursor: default;
}

/* Styling for SVG arrows */
.pagination-button svg {
  width: 7.6px; /* Increased from 7.6px */
  height: 13.3008px; /* Increased from 13.2px, maintaining aspect ratio */
  fill: currentColor;
  display: block;
}
/*Styling for sliding windows  */
.overlay-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.41);
  /* Semi-transparent black */
  z-index: 4000; /* Ensure overlay is above other content */
  opacity: 0; /* Initially hidden */
  visibility: hidden; /* Initially hidden */
  transition: opacity 0.3s ease, visibility 0.3s ease; /* Smooth transition */
  display: flex;
  justify-content: flex-end; /* Align content to the right */
}

.header-sliding-window {
  position: fixed; /* Fixed position relative to viewport */
  top: 0;
  right: 0; /* Position at the right edge */
  transform: translateX(100%); /* Initially off-screen to the right */
  width: fit-content; /* Take full width on small screens */
  /* max-width: 453px; */
  /* Max width as requested */
  height: 100vh;
  /* Full height of the viewport */
  background-color: rgba(255, 255, 255, 1); /* White background */
  z-index: 4001; /* Ensure window is above overlay */
  box-shadow: -4px 0 10px rgba(0, 0, 0, 0.2); /* Shadow on the left */
  transition: transform 0.3s ease; /* Smooth sliding transition using transform */
  box-sizing: border-box; /* Include padding in width/height */
  display: flex;
  flex-direction: column;
}

/* Classes to show/hide the elements - Corrected to match HTML classes */
.overlay-header.show {
  opacity: 1; /* Slide into view */

  visibility: visible;
}

.header-sliding-window.show {
  transform: translateX(0);
}
.sliding-window-heading-btn {
  height: 54px;
  width: 100%;
  padding: 17px 29px 17px 29px; /* Padding inside the window */

  border-bottom: 1px solid rgba(232, 232, 232, 1);
}
.sliding-window-heading {
  font-weight: var(--font-weight-bold);
  font-size: 1.5rem;
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: capitalize;
  margin: 0;
}
.sliding-close-button {
  background: none;
  border: none;

  transition: all 0.2s ease;
  cursor: pointer;
}

.sliding-close-button:hover {
  transform: scale(1.15); /* Moderate enlargement */
  background-color: #f0f0f0; /* Very light gray */
  border-color: #b0b0b0; /* A light, visible border on hover */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}
/* Styling for Cart */
.cart-items-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-height: 545px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  padding-bottom: 150px;
}

.cart-items {
  padding: 29px;
  border-bottom: 1px solid rgba(232, 232, 232, 1);
}
.cart-item-img {
  width: 87px;
  height: 98px;
}
.item-details-container {
  margin-left: 16px;
  margin-top: 12px;
}
.cart-product-name,
.cart-product-price,
.product-quantity {
  color: rgba(0, 0, 0, 1);

  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: capitalize;
  text-wrap: nowrap;
}
.cart-product-price {
  color: rgba(137, 135, 135, 1);
}
.items-quantity {
  display: flex;
  margin-top: 10px;
}
.change-quantity {
  display: flex;
  align-items: center;
  width: 89px;
  height: 28px;
  border-radius: 2px;
  justify-content: space-around;
  border: 1px solid rgba(227, 227, 227, 1);
}
.decrease-item,
.increase-item {
  border: none;
  background: none;
  padding: 0;
}
.remove-cart-product {
  display: flex;
  align-items: center;
  margin-left: 8px;
}
.decrease-btn {
  width: 8px;
  border-radius: 2px; /* Slightly rounded corners for the bars */

  border: 1.5008px solid rgba(0, 0, 0, 1);
}
.cart-product-total-price {
  align-self: self-end;
  margin-left: 74px;
  margin-bottom: 7px;
}
.item-details {
  display: flex;
}
/* Styling for Plus icon created using html */
/* starts here */
.plus-icon-wrapper {
  position: relative;

  border-radius: 8px;
}

.plus-icon-bar {
  position: absolute;
  border: 1.5008px solid rgba(0, 0, 0, 1);
  box-sizing: border-box;
  border-radius: 2px;
}

.plus-icon-bar--horizontal {
  width: 8px;
  height: 1px;
}

.plus-icon-bar--vertical {
  width: 1px;
  height: 8px;
}
.empty-cart-message {
  font-size: var(--font-size-medium);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  width: 475.48px;
  padding: 29px;
}
.cart-bin-icon {
  cursor: pointer;
}
.cart-window {
  position: relative;
  display: flex;
  flex-direction: column;
  /* justify-content: space-between; */
  width: fit-content;
}
/* ends here */
.cart-total-wrapper {
  border-top: 1px solid rgba(232, 232, 232, 1);
  /* margin-top: 220px; */
  position: absolute;
  background-color: white;
  bottom: 0;
  width: 100%;
}
.cart-total-checkout {
  padding: 11px 29px 11px 29px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.subtotal-heading,
.cart-subtotal-price,
.checkout-summary-note,
.cart-checkout-btn {
  font-weight: var(--font-weight-bold);
  font-size: 1.25rem;
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: capitalize;
  margin: 0;
}
.cart-subtotal-price,
.checkout-summary-note,
.cart-checkout-btn {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-medium);
}
.cart-subtotal {
  padding-right: 10px;
}
.checkout-summary-note {
  font-size: 17px;
  color: rgba(0, 0, 0, 1);
  margin: 5px 0 4px 0;
  text-wrap: nowrap;
  letter-spacing: var(--letter-spacing-normal);
  line-height: var(--line-height-normal);
  height: 36px;
}
.cart-checkout-btn {
  border: none;
  width: 100%;
  height: 44px;
  border-radius: 5px;
  color: white;
  background-color: var(--color-primary);
}
/* Styling for message sliding window starts here*/
.messages-window,
.notification-window {
  position: relative;
  height: 100%;
}
.messages-display-section {
  width: fit-content;
  height: 100%;
  max-height: 700px;
  padding-bottom: 200px;
  overflow-y: auto;
}

.message-container--wrapper {
  padding: 10px 10px 0px 9px;
  width: 100%;
}
.message-content-wrapper {
  padding: 10px 20px 10px 20px;
  border-radius: 10px;
  width: 100%;
  transition: all 0.3s ease;
  cursor: pointer;
}
.message-content-wrapper:hover {
  background-color: rgba(248, 249, 250, 1);
}
.message-content-container {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 10px;
}
.message-content,
.message-sender-time {
  display: flex;
}

.message-content {
  flex-direction: column;
  width: 100%;
}
.sender-picture-container {
  min-width: 60px;
  max-width: 60.01px;
  height: 60px;
  overflow: hidden;
  border-radius: 50%;
}
.sender-img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.message-sender-time {
  justify-content: space-between;
}
.message-sender-name,
.message-timestamp,
.unread-message-count,
.message-txt {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-wrap: nowrap;
}
.message-sender-name {
  font-weight: var(--font-weight-bold);
}
.message-timestamp,
.unread-message-count {
  font-size: var(--font-size-small);
  color: rgba(101, 97, 97, 1);
}

.message-txt {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 290px;
  color: rgba(0, 0, 0, 1);
}
.unread-msg-container {
  padding: 0px 6.5008px 0px 6.5008px;
  height: 20px;
  border-radius: 9999px;
  background-color: var(--color-primary);
}
.unread-message-count {
  color: white;
}
.slide-view-all-msg {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 3px;
  width: 100%;
  border-top: 1px solid rgba(226, 226, 226, 1);
  height: 54px;
  padding: 0px 29px 0px 29px;
  background-color: white;
  bottom: 0;
}
.slide-all-msg-txt {
  color: var(--color-link);
  text-decoration: underline;
}
.unread-notification-container {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--color-primary);
}
/* Styling for message sliding window ends here*/

/* Styling for USER drop down */
.user-drop-down {
  position: fixed;
  top: 65px;
  right: 50px;
  width: 295px;
  height: auto;
  display: flex;
  flex-direction: column;
  border-radius: 3px;
  box-shadow: var(--shadow-inset-light);
  background-color: white;
  box-shadow: var(--shadow-default);
  z-index: 1000;
}
.user-wrapper {
  padding: 22px;
  display: flex;
}

.profile-dashboard-content,
.other-user-links-content {
  /* padding: 22px; */
  display: flex;
}
.user-wrapper {
  align-items: center;
  gap: 12px;
}
.profile-dashboard-content,
.other-user-links-content {
  flex-direction: column;
  /* gap: 14px; */
}

.name-username-img,
.profile-dashboard,
.other-user-links {
  display: flex;
  border-bottom: 0.5008px solid rgba(232, 232, 232, 1);
}
.user-full-name {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
}
.user-username {
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  color: var(--color-text);
}
.user-drop-down-common-txt,
.currency-name-txt {
  font-size: var(--font-size-medium);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: capitalize;
}
.name-username-img {
  align-items: center;
}
.user-img-container {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 41px;
  max-width: 41.1px;
  height: 41px;
  border-radius: 50%;
  overflow: hidden;
}
.user-drop-down-img {
  width: inherit;
  height: inherit;
}
.full-name-username,
.profile-dashboard,
.other-user-links {
  display: flex;
  flex-direction: column;
}
.user-drop-down-link,
.profile-dashboard,
.user-profile-link,
.user-dashboard-link {
  text-decoration: none;
  color: rgba(0, 0, 0, 1);
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-medium);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: capitalize;
  cursor: pointer;
}
.user-profile-link,
.user-dashboard-link,
.user-drop-down-link {
  padding: 8px 22px;
  font-size: 18px;
}

.user-profile-link:hover,
.user-drop-down-link:hover,
.user-dashboard-link:hover {
  color: black;
  font-size: 18px;
  background-color: var(--hover-bg-light);
}
.user-sign-out {
  padding: 22px;
}
.user-sign-out-btn {
  width: 256px;
  height: 36px;
  border: none;
  border-radius: 5px;
  transition: all 0.3s ease;
}
.user-sign-out-btn:hover {
  color: white;
  background-color: var(--color-primary);
}
/* Styling for Language and Currency drop down */
.language-currency-drop-down {
  position: fixed;
  top: 65px;
  right: 253px;
  width: 295px;
  display: flex;
  flex-direction: column;
  border-radius: 3px;
  background-color: white;
  box-shadow: var(--shadow-inset-light);

  box-shadow: var(--shadow-default);
  z-index: 1000;
  transition: all 0.3s ease;
}
.language-currency-container {
  display: flex;
  justify-content: space-between;
  padding: 15px 22px 15px 22px;

  border-bottom: 0.5008px solid rgba(232, 232, 232, 1);
}
.mobile-lang-curr-x-icon {
  display: none;
}
.language-currency-heading {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  color: rgba(0, 0, 0, 1);
  margin: 0;
}
.change-language-currency {
  display: flex;
  padding: 15px 22px 15px 22px;

  flex-direction: column;
  gap: 13px;
}
.language-change,
.currency-change {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-small);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  color: rgba(0, 0, 0, 1);
}
.currency-btn,
.language-btn {
  height: 35px;
  width: 100%;
  padding: 16px;
  border: 1px solid rgba(230, 235, 241, 1);
  background-color: rgba(248, 249, 250, 1);
  border-radius: 6px;
}
.language-btn > img,
.currency-btn > img {
  transform: rotate(270deg);
}
.language-btn-container {
  width: 100%;
}
.selected-language,
.selected-currency {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
}
/* Styling for language selection wih radio */
.language-selection,
.currency-selection {
  display: flex;
  flex-direction: column;
  margin-bottom: 60px;
}
.lang-selection-txt {
  font-size: 16px;
}
.lang-selection-txt,
.curr-selection-txt,
.dark-left-arrow {
  margin-left: 22px;
}
.lang-selection-txt,
.Curr-selection-txt {
  margin-bottom: 5px;
}
.language-selection-radio,
.currency-selection-radio {
  display: flex;
  align-items: center;
  margin-left: 12px;
  width: 273px;
  height: 32px;
  border-radius: 5px;
  padding-left: 10px;
  transition: all 0.3s ease;
  cursor: pointer;
}
.language-selection-radio:hover {
  background-color: var(--color-primary-light);
}
.dark-left-arrow {
  margin-top: 10px;
  margin-bottom: 10px;
  cursor: pointer;
  width: 14px;
  height: 11px;
}

.radio-container {
  display: flex;
  flex-direction: column;
  width: 267px;
  /* Stack radio options vertically */
  gap: 16px;
  cursor: pointer;
  /* Space between radio options */
}

/* Custom styling for radio inputs */
/* Wrapper for each custom radio option */
.custom-radio-display {
  padding-top: 5px;
  cursor: pointer;
}
.custom-radio-option {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: var(--font-size-base);
  color: #333;
}

/* Hide the default browser radio button */
.custom-radio-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.custom-radio-label {
  display: flex;
  align-items: center;

  user-select: none;
  flex-grow: 1;
  cursor: pointer;
}
.custom-radio-label,
.currency-txt-symbol {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: capitalize;
  color: rgba(0, 0, 0, 1);
}
.currency-txt-symbol {
  width: 100%;

  padding-right: 25px;
  display: flex;
  justify-content: space-between;
}

/* Style for the container of the custom radio visuals (outer circle) */
.custom-radio-display {
  display: inline-block;
  position: relative;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #ccc;
  background-color: #fff;
  margin-right: 10px;
  box-sizing: border-box;
  transition: border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
  flex-shrink: 0; /* Prevent it from shrinking */
}

/* Style for the custom radio button inner dot (the inner circle) */
.custom-radio-display::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.2s ease-in-out;
}

/* When the radio input is checked, apply styles to its sibling label's custom-radio-display */
.custom-radio-option
  input[type="radio"]:checked
  + .custom-radio-label
  .custom-radio-display {
  border-color: rgba(46, 93, 192, 1);
  background-color: #2e5dc0;
}

/* When the radio input is checked, show the inner dot */
.custom-radio-option
  input[type="radio"]:checked
  + .custom-radio-label
  .custom-radio-display::after {
  transform: translate(-50%, -50%) scale(1);
}

/* Focus styles for accessibility - Removed outline as requested */
.custom-radio-option
  input[type="radio"]:focus
  + .custom-radio-label
  .custom-radio-display {
  outline: none;
}

/* Hover effect for the label's custom radio display */
.custom-radio-option:hover .custom-radio-display {
  border-color: #8ab4f8;
}
.zap-drop-down {
  display: flex;
  flex-direction: column;
  gap: 11px;
  position: fixed;
  top: 65px;
  right: 180px;
  width: fit-content;
  height: fit-content;
  /* padding: 10px 0px; */
  background-color: white;
  box-shadow: var(--shadow-inset-light);

  box-shadow: var(--shadow-default);
  z-index: 1000;
}
.resume-jobs,
.favourite-listings {
  display: flex;
  flex-direction: column;
  /* gap: 11px; */
  /* padding: 11px 12px 0px 12px; */
  /* padding: 11px 0px; */
}
.resume-jobs {
  border-top: 1px solid rgba(232, 232, 232, 1);
}
.zap-drop-down-links {
  text-decoration: none;
  color: rgba(0, 0, 0, 1);
  padding: 5px 20px;
}
.zap-drop-down-links:hover {
  color: rgba(0, 0, 0, 1);
  background-color: var(--hover-bg-light);
}
/* Styling for filter overlay and filter window */
.filter-overlay {
  background-color: rgba(0, 0, 0, 0.32);
  height: 100vh;
  width: 100vw;
  z-index: 2000;
}
.filter-window,
.filter-overlay {
  visibility: hidden;
  top: 0;
  left: 0;
  opacity: 0;

  transition: all 0.3s ease;
}
.filter-overlay {
  position: fixed;
}
.filter-window {
  position: relative;
  height: 100%;
}
.filter-overlay-active {
  opacity: 1;
  visibility: visible;
}

.filter-window {
  width: 391px;
  height: 100%;
  z-index: 2010;
  transform: translateX(-100%);
  background-color: white;
}
.filter-window-inner--content {
  height: 100%;
  max-height: 600px;
  overflow-y: auto;
  padding-bottom: 140px;
}
.filter-window-active {
  transform: translateX(0);

  opacity: 1;

  visibility: visible;
}
.filter-heading-close-btn {
  padding: 15px 34px 15px 34px;
  border-bottom: 1px solid rgba(226, 226, 226, 1);
}
.filter-heading,
.status-heading {
  font-weight: var(--font-weight-bold);
  font-size: 1.5rem;
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  margin: 0;
}
.filters-applied {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 34px 20px 34px;
}
.applied-filter {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: uppercase;
  color: rgba(0, 0, 0, 1);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.applied-filter-container {
  padding: 9px 21px 9px 21px;
  border-radius: 5px;
  background-color: var(--color-primary-light);
}
.filter-applied-x-icon {
  width: 10px;
  height: 9px;
}
.status-heading,
.rating-heading,
.distance-heading {
  margin-top: 30px;
  padding-left: 34px;
  font-size: 18px;
}
.rating-heading,
.distance-heading {
  margin-top: 18px;
  margin-bottom: 0;
}
.filter-checkbox-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 34px;
  margin-top: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(226, 226, 226, 1);
}
.filter-status-checkbox {
  cursor: pointer;
  width: 19px;
  height: 17px;
}
.filter-status-checkbox:checked {
  accent-color: var(--color-link);
}

.filter-radio-container,
.filter-radio-container-distance {
  display: flex;
  flex-direction: column;
  margin-top: 16px;
  padding-left: 34px;
  gap: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(226, 226, 226, 1);
}
.filter-radio-container-distance {
  border-bottom: none;
}
.rating-radio-label,
.distance-radio-label {
  font-weight: var(--font-weight-normal);
  font-size: 18px;
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: capitalize;
}
.apply-filter-button {
  position: absolute;
  bottom: 5px;
  border: none;
  background-color: var(--color-primary);
  width: 318px;
  height: 47px;
  color: white;
  border-radius: 5px;
  margin-left: 34px;
}
/* Mobile UI modifications */
.user-sliding-window,
.user-sliding-overlay {
  display: none;
}
.mobile-search-icon-bar {
  display: none;
}
.hidden {
  display: none;
}

.mobile-globe-icon {
  display: none;
}
.general-sliding-overlay {
  position: fixed;
  visibility: hidden;
  top: 0;
  left: 0;
  min-width: 100vw;
  min-height: 100vh;

  opacity: 0;
  background-color: rgba(0, 0, 0, 0.29);
  transition: all 0.5s ease;
}
.general-sliding-overlay--active {
  visibility: visible;
  opacity: 1;
  z-index: 1000;
}
.mobile-results-found {
  display: none;
}
/* Responsive adjustments */
@media (min-width: 360px) and (max-width: 767px) {
  html {
    overflow-x: hidden !important;
  }
  body {
    font-size: 16px;
  }
  .mobile-content-wrapper-padding {
    padding-bottom: 60px;
  }
  .search-bar-content--wrapper {
    display: none;
  }
  .search-results-display {
    flex-direction: column;
  }

  .map-display {
    display: none;
    /* position: fixed; */

    max-width: 100%;
    height: calc(100dvh - 80px);
    margin: 0;
  }
  .map-display-block {
    display: none;
  }
  .card-container-wrapper {
    width: 100%;
    display: grid;
  }
  .card-container {
    padding: 12px 0px 12px 0px;
  }
  .search-page-search-results {
    width: 100%;
  }
  .search-results-display {
    width: 100%;
    margin-top: 5px;
  }
  .card-header-image {
    width: 80px;
    height: 70px;
    margin-right: 12px;
  }

  .card-header-section,
  .location-section,
  .tags-section,
  .card-footer-section {
    padding: 0px 12px 0px 12px;
  }
  .card-footer-section {
    padding-top: 5px;
  }
  .user-sliding-window,
  .user-sliding-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 400px;
    height: 735px;
    background-color: white;
    z-index: 1000;
  }
  .user-sliding-overlay {
    transform: translateX(-100%);
    visibility: hidden;
    width: 100vw;
    height: 100vh;
    z-index: 5050;
    background-color: rgba(0, 0, 0, 0.27);
    transition: all 0.3s ease;
  }

  .profile-dashboard-content,
  .user-wrapper,
  .other-user-links-content {
    padding: 20px;
  }
  .user-wrapper {
    width: 100%;
  }
  .user-sign-out-btn {
    width: 340px;
    height: 41px;
  }

  .full-name-username {
    width: 100%;
  }
  .user-full-name-x-icon {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .user-slide-x-icon {
    width: 15px;
    height: 15px;
    cursor: pointer;
  }
  .user-sliding-overlay-active {
    transform: translateX(0);

    opacity: 1;

    visibility: visible;
  }
  .filter-section {
    display: flex;
    align-items: center;
    padding: 0;
    width: 100%;
    background-color: transparent;
    /* height: 59px; */
    height: auto;
    border-radius: 10px;

    /* box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.11); */
  }
  .mobile-results-found {
    width: 110px;
    display: flex;
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-small);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
    color: var(--color-text);
    text-wrap: nowrap;
    margin-bottom: 10px;
    /* margin-bottom: 7px; */
  }
  .filter-side-span {
    display: none;
  }
  .filter-group {
    width: 35px;
  }
  .results-found {
    display: none;
  }
  .mobile-search-icon-bar {
    display: flex;
    gap: 10px;
    align-items: center;
    cursor: pointer;
  }
  .mobile-search-details {
    display: flex;
    gap: 6px;
    /* flex-direction: column; */
  }
  .mobile-search-title {
    text-wrap: nowrap;
  }
  .mobile-search-title,
  .mobile-search-location {
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-small);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
  }
  /* .mobile-search-location {
    font-size: 0.8125rem;
    color: var(--color-text);
  } */
  .pagination-wrapper {
    padding: 0;
    left: 0;
    right: 0;
    top: calc(100dvh - 19%);
  }
  .mobile-search-overlay {
    width: 100vw;
    height: 100vh;
    position: fixed;
    visibility: hidden;
    transform: translateX(-100%);
    top: 0;
    left: 0;
    z-index: 1000;
    background-color: rgba(0, 0, 0, 0.43);
    transition: all 0.3s ease;
  }
  .mobile-search-overlay-active {
    visibility: visible;
    transform: translateX(0);
  }

  .mobile-search-container {
    width: 100vw;
    height: 418px;
    background-color: white;
  }
  .mobile-search-heading-x {
    padding: 20px;

    border-bottom: 1px solid rgba(232, 232, 232, 1);
  }
  .mobile-search-heading-x > img {
    width: 12px;
    height: 12px;
  }
  .mobile-search-heading-x > h2 {
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
  }

  .mobile-search-inputs-tags {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 15px;
    padding: 20px;
  }
  .mobile-search-input-container,
  .mobile-search-location-container {
    display: flex;
    align-items: center;
    flex-direction: column;
    border-radius: 5px;
    position: relative;
    border: 1px solid rgba(181, 196, 214, 1);
  }
  .mobile-search-icon-input,
  .mobile-location-icon-input {
    padding: 14px;
    display: flex;
    width: 100%;
    gap: 8px;
  }
  .mobile-search-input {
    border: none;
    width: 100%;
    outline: none;
  }
  .mobile-search-input::placeholder {
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-base);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
    color: rgba(123, 124, 129, 1);
  }
  .mobile-search-mic--container {
    display: flex;
    gap: 8px;
  }
  .mobile-search-btn {
    width: 100%;
    max-width: 100%;
    height: 40px;
    border: none;
    color: white;
    background-color: var(--color-primary);
    border-radius: 5px;
  }
  .mobile-mic {
    width: 44px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background-color: var(--color-primary);
  }
  /* .mobile-search-pill-container {
    max-width: 376px;
  } */
  .mobile-area-below-search-input--wrapper,
  .mobile-area-below-location-input--wrapper {
    border: 1px solid rgba(232, 232, 232, 1);
    z-index: 1050;
    width: 100%;
  }
  .mobile-area-below-search-input--wrapper,
  .mobile-area-below-location-input--wrapper {
    width: 100.5%;
    top: 56px;
    background-color: white;
    position: absolute;
    border-radius: 5px;
  }
  .searches-heading {
    padding: 14px;
    margin: 0;
  }
  .searches,
  .locations {
    min-height: 25px;
    padding: 0px 14px 0px 14px;
  }
  .searches:hover {
    background-color: white;
  }
  .locations:hover {
    background-color: white;
  }
  .mobile-area-below-search--input,
  .mobile-area-below-location--input,
  .recent-location-searches {
    width: 100%;
  }
  .searches--common-container,
  .location--common-container {
    margin-top: 0px;
    gap: 5px;
    padding-bottom: 14px;
  }
  .location--common-container,
  .locations {
    width: 100%;
  }
  .location--common-container {
    padding-top: 14px;
  }
  .search-details,
  .location-details {
    display: flex;

    flex-wrap: nowrap;
    max-width: 270px;
    text-wrap: nowrap;
    cursor: pointer;
  }

  .recent-saved-toggle {
    padding: 14px;
  }
  .subjects-location {
    overflow: hidden;

    text-wrap: nowrap;
    white-space: nowrap;
    overflow: hidden;

    text-overflow: ellipsis;
  }
  /* .mic-modal-content {
    position: fixed;
    min-width: 100vw;
    min-height: 455px;
    border-radius: 0;
    top: 0;
  } */
  .mobile-mic-content {
    padding: 20px;
  }
  .mobile-mic-icon-container {
    width: 70px;
    height: 70px;
    border: none;
    border-radius: 50%;
    background-color: var(--color-primary);
  }
  .mobile-mic-heading-btn {
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);

    width: 100%;
    height: 100%;
  }
  .mobile-mic-btn-container {
    height: 220px;
  }
  .mobile-mic-back-btn {
    gap: 5px;
  }
  .mobile-mic-back-btn > img {
    width: 7px;
  }
  .mobile-mic-back-btn {
    margin-bottom: 30px;
    display: flex;
    align-items: center;
  }
  .mobile-mic-back-btn > span {
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-base);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
    text-transform: capitalize;
  }
  .general-globe-icon {
    display: none;
  }
  .mobile-globe-icon {
    display: block;
  }
  .mobile-lang-curr-x-icon {
    display: block;
  }
  .language-currency-drop-down {
    bottom: 0;
    top: auto;
    height: 240px;
    left: 0;

    width: 100vw;
    transform: translateY(100%);
    z-index: 1050;
  }
  .mobile-lang-curr-drop-down--active {
    transform: translateY(0%);
  }
  .show-map-list-btn {
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-small);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
    text-transform: capitalize;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    text-wrap: nowrap;
    padding: 9px;
    top: calc(100dvh - 11.5%);
    left: 2px;
    z-index: 1000;
    height: 27px;
    border-radius: 3px;
    border: none;
    background-color: var(--color-primary);
    color: white;
    box-shadow: var(--shadow-default);
  }
  .pagination-container {
    height: 50px;
    gap: 0px;
  }
  .pagination-button {
    padding: 0;
  }
  .card-container-wrapper {
    padding-bottom: 30px;
  }
  .message-content {
    max-width: 260px;
  }
  .message-txt {
    max-width: 200px;
  }

  .cart-window,
  .cart-items-list {
    width: 100vw;
  }

  .checkout-summary-note {
    text-wrap: wrap;
  }
  .cart-product-total-price {
    align-self: self-end;
    margin-left: auto;
    margin-bottom: 7px;
  }
  .search-results-section-slide {
    transform: translateX(0);
  }
  .sort-span {
    display: none;
  }
  .apply-filter-button {
    bottom: 100px;
  }
  .filter-group-mobile {
    display: none;
  }
  .show-map-list-btn {
    display: none;
  }
}
@media (max-width: 400px) {
  .cart-total-wrapper,
  .slide-view-all-msg {
    bottom: 60px;
  }
}

/* --- Medium Devices (e.g., landscape tablets, small desktops) --- */
@media (min-width: 768px) and (max-width: 991px) {
  body {
    font-size: 16px;
  }
  .area-below-location-input--wrapper,
  .expanded-area-below-location-input--wrapper {
    right: 0;
  }
  .map-display {
    display: none;
    /* position: fixed; */
    /* top: auto; */
    /* bottom: 7%; */
    /* min-height: 100dvh; */
    max-width: 100%;
    /* left: 0; */
    margin: 0;
    width: 100vw;
  }
  .mobile-content-wrapper-padding {
    padding-bottom: 60px;
  }
  .mobile-search-container {
    display: none;
  }
  .card-container-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 10px;
    column-gap: 10px;
    margin-bottom: 50px;
  }
  .search-page-search-results {
    width: 100%;
  }
  .card-container {
    width: 100%;
    margin: 0;
  }
  .show-map-list-btn {
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-small);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
    text-transform: capitalize;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    text-wrap: nowrap;
    padding: 9px;
    top: calc(100dvh - 9%);
    left: 30px;
    z-index: 1000;
    height: 27px;
    border-radius: 3px;
    border: none;
    background-color: var(--color-primary);
    color: white;
    box-shadow: var(--shadow-default);
  }
  .pagination-wrapper {
    padding: 0;
    left: 0;
    right: 0;
    top: calc(100dvh - 18%);
  }
  .search-results-display {
    flex-direction: column;
  }

  .tags-wrapper {
    width: 100%;

    overflow: hidden;
  }
  .switch-map-list-mobile {
    display: none;
  }
}
/* media queries for tags section to not break layout */
@media (min-width: 952px) and (max-width: 991px) {
  .tags-section {
    max-width: 420px;
  }
}
@media (min-width: 910px) and (max-width: 951px) {
  .tags-section {
    max-width: 400px;
  }
}
@media (min-width: 874px) and (max-width: 909px) {
  .tags-section {
    max-width: 380px;
  }
}
@media (min-width: 860px) and (max-width: 873px) {
  .tags-section {
    max-width: 360px;
  }
}
@media (min-width: 790px) and (max-width: 859px) {
  .tags-section {
    max-width: 340px;
  }
}
@media (min-width: 768px) and (max-width: 790px) {
  .tags-section {
    max-width: 310px;
  }
}
@media (min-width: 731px) and (max-width: 767px) {
  .tags-section {
    max-width: 670px;
  }
}
@media (min-width: 730px) and (max-width: 750px) {
  .tags-section {
    max-width: 650px;
  }
}
@media (min-width: 721px) and (max-width: 731px) {
  .tags-section {
    max-width: 620px;
  }
}
@media (min-width: 710px) and (max-width: 720px) {
  .tags-section {
    max-width: 610px;
  }
}
@media (min-width: 690px) and (max-width: 711px) {
  .tags-section {
    max-width: 600px;
  }
}
@media (min-width: 660px) and (max-width: 691px) {
  .tags-section {
    max-width: 590px;
  }
}
@media (min-width: 627px) and (max-width: 659px) {
  .tags-section {
    max-width: 550px;
  }
}
@media (min-width: 602px) and (max-width: 626px) {
  .tags-section {
    max-width: 530px;
  }
}
@media (min-width: 572px) and (max-width: 601px) {
  .tags-section {
    max-width: 500px;
  }
}
@media (min-width: 545px) and (max-width: 571px) {
  .tags-section {
    max-width: 470px;
  }
}
@media (min-width: 513px) and (max-width: 544px) {
  .tags-section {
    max-width: 440px;
  }
}
@media (min-width: 480px) and (max-width: 512px) {
  .tags-section {
    max-width: 410px;
  }
}
@media (min-width: 449px) and (max-width: 479px) {
  .tags-section {
    max-width: 390px;
  }
}
@media (min-width: 418px) and (max-width: 448px) {
  .tags-section {
    max-width: 370px;
  }
}
@media (min-width: 387px) and (max-width: 417px) {
  .tags-section {
    max-width: 330px;
  }
}
@media (min-width: 356px) and (max-width: 386px) {
  .tags-section {
    max-width: 320px;
  }
}
@media (min-width: 355px) and (max-width: 385px) {
  .tags-section {
    max-width: 310px;
  }
}
@media (max-width: 400px) {
  .tags-section {
    max-width: 320px;
  }
}

/* --- Extra Large Devices (e.g., large desktops) --- */
@media (min-width: 993px) {
  body {
    font-size: 18px;
  }
  .mobile-search-container {
    display: none;
  }
  .tags-section {
    max-width: 509px;
  }
  .show-map-list-btn {
    display: none;
  }
  .pagination-wrapper {
    justify-content: start;
  }
  .switch-map-list-mobile {
    display: none;
  }
}
/* latest search page css */
.auto-search-suggestion {
  font-weight: 400;
  font-size: 18px;
  color: var(--color-text);
  cursor: pointer;
  text-align: left;
}
.auto-search-suggestion:hover {
  color: var(--color-primary);
}
.auto-populated-searches-container {
  max-height: 200px;
  overflow-y: auto;
}
.default-search-results-text {
  width: 538px;
  font-size: 3rem;
  font-weight: 400;
  color: var(--color-text);
}

.mic-button {
  transition: transform 0.3s ease;
}

/* Animation for the listening state */
.mic-button.listening {
  background-color: var(--color-primary);
  animation: pulse-glow 1.5s infinite;
}
@keyframes pulse-glow {
  0%,
  100% {
    /* transform: scale(1); */
    visibility: hidden;
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4);
  }
  50% {
    transform: scale(1.1);
    visibility: visible;
    box-shadow: 0 0 0 15px rgba(34, 197, 94, 0);
  }
}
#map,
#map2 {
  width: 100%;
  height: 100vh;

  /* margin-top: 20px; */
}

/* Style for a custom message box instead of alert */

/* Custom popup styling to match the user's image */
.custom-popup .leaflet-popup-content-wrapper {
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  padding: 15px;
}

/* This CSS hides the popup tip (the small arrow at the bottom) */
.custom-popup .leaflet-popup-tip-container,
.custom-popup .leaflet-popup-tip {
  display: none;
}

.custom-popup .leaflet-popup-content {
  margin: 0;
  min-width: 250px;
  color: #333;
}

.custom-popup .leaflet-popup-close-button {
  color: #333;
  font-size: 20px;
  top: 8px;
  right: 8px;
}

.custom-popup .header {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  position: relative;
}

.custom-popup .profile-pic {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 15px;
}

.custom-popup .details {
  flex-grow: 1;
}

.custom-popup h3 {
  margin: 0;
  font-family: "Times New Roman", Times, serif;
  font-size: 1.2rem;
  font-weight: bold;
  color: #111;
}

.custom-popup .rating {
  display: flex;
  align-items: center;
  color: #555;
  font-size: 0.9rem;
}

.custom-popup .star-icon {
  color: #fdd835;
  margin-right: 5px;
  font-size: 1.1rem;
}

.custom-popup .info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #eee;
}

.custom-popup .info-text {
  display: flex;
  font-family: "Times New Roman", Times, serif;
  align-items: center;
  font-size: 0.9rem;
}

.custom-popup .status-open {
  font-weight: bold;
}

.custom-popup .buttons {
  display: flex;
  justify-content: space-between;
  margin-top: 15px;
}

.custom-popup .contact-btn,
.custom-popup .directions-btn {
  width: 48%;
  padding: 10px;
  font-family: "Times New Roman", Times, serif;
  border-radius: 8px;
  font-weight: normal;
  cursor: pointer;
  transition: background-color 0.2s;
}

.custom-popup .contact-btn {
  background-color: var(--color-primary);
  color: white;
  border: none;
}

.custom-popup .contact-btn:hover {
  background-color: #0056b3;
}

.custom-popup .directions-btn {
  background-color: #fff;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  text-wrap: nowrap;
}

.custom-popup .directions-btn:hover {
  background-color: #f0f8ff;
}
.sort-group {
  margin-right: 2px;
}
.sort-icon {
  width: 17px;
}
.filter-sort-group {
  position: relative;
  user-select: none;
}
.results-sorting-options-wrapper {
  background-color: white;
  position: absolute;
  border-left: 1px solid var(--color-divider);
  border-bottom: 1px solid var(--color-divider);
  border-right: 1px solid var(--color-divider);
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.11);

  transition: all 0.3s ease;
  top: 37px;
  /* right: 98px; */
}
.results-sorting-option {
  font-size: 18px;
  border-top: 1px solid var(--color-divider);
  text-wrap: nowrap;
  padding: 5px 10px;
  cursor: pointer;
}
.results-sorting-option:hover {
  background-color: var(--hover-bg-light);
}
.search-results-section-slide {
  transform: translateX(-100%);
}
/* spinner css */
.spinner-container {
  width: 528px; /* Changed width to 528px */
  height: 200px; /* Fixed height */
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid rgba(0, 0, 0, 0.1); /* Subtle dark border for light mode */
  background-color: #ffffff; /* White background for the container */
  border-radius: 16px; /* More rounded corners */
}

/* The actual spinner element */
.spinner {
  width: 120px; /* Size of the spinner circle */
  height: 120px;
  border-radius: 50%; /* Make it a perfect circle */
  position: relative;
}

/* Pseudo-element for the single animating arc with fading effect */
.spinner::before {
  content: "";
  position: absolute;
  /* Adjust position and size to cover the parent's border area */
  top: -4px; /* Adjusted offset for thinner border */
  left: -4px; /* Adjusted offset for thinner border */
  width: calc(100% + 8px); /* Adjusted width for thinner border */
  height: calc(100% + 8px); /* Adjusted height for thinner border */
  border-radius: 50%;
  box-sizing: border-box; /* Include padding and border in element's total width/height */

  /* Use conic-gradient for the arc and its fade */
  /* The arc now spans 180 degrees (half circumference) with fade-in and fade-out. */
  background: conic-gradient(
    transparent 0deg,
    transparent 0deg,
    /* Start of the invisible part */ hsl(220, 90%, 55%) 20deg,
    /* Arc fades in from 0deg to 20deg */ hsl(220, 90%, 55%) 160deg,
    /* Solid part of the arc from 20deg to 160deg */ transparent 180deg,
    /* Arc fades out from 160deg to 180deg */ transparent 360deg
      /* Rest of the circle remains transparent */
  );
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%; /* Ensure gradient covers the entire pseudo-element */

  /* This is the key for the line thickness and making the gradient appear as a ring. */
  -webkit-mask: radial-gradient(
    circle at center,
    transparent calc(50% - 4px),
    /* Inner transparent part for line thickness */ black calc(50% - 2px),
    /* Start of the visible line */ black calc(50% + 2px),
    /* End of the visible line */ transparent calc(50% + 4px)
      /* Outer transparent part */
  );
  mask: radial-gradient(
    circle at center,
    transparent calc(50% - 4px),
    black calc(50% - 2px),
    black calc(50% + 2px),
    transparent calc(50% + 4px)
  );

  /* Apply an initial rotation to position the arc at the top,
               then apply the continuous spin animation. */
  transform: rotate(-90deg); /* Start the arc from the top */
  animation: spin 1.2s linear infinite;
  transform-origin: center center; /* Ensure rotation is around the center */
}

/* Keyframes for forward rotation */
@keyframes spin {
  0% {
    transform: rotate(-90deg);
  } /* Start animation from the top */
  100% {
    transform: rotate(270deg);
  } /* Rotate 360 degrees from start position */
}
/* styling for directions section */
.map-directions-display {
  width: inherit;
  height: inherit;
  position: relative;
}
.go-to-marker-btn {
  position: absolute;
  z-index: 1000;
  top: 30px;
  left: 10px;
  height: 36px;
  background-color: white;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.11);
  border: 1px solid var(--color-divider);
}
.go-to-marker-img {
  height: 20px;
  width: 50px;
}
.directions-steps-container {
  position: absolute;
  z-index: 1000;
  top: 30px;
  right: 10px;
  height: 36px;
  width: 96px;
  background-color: white;
  border: 1px solid var(--color-divider);
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.11);
}
.show-steps-btn {
  background-color: transparent;
  border: none;
  text-wrap: nowrap;
}
.steps-container {
  position: absolute;
  transform: translateX(100%);
  visibility: hidden;
  top: 36px;
  right: 0px;
  width: 300px; /* Adjust width as needed */
  height: 300px;
  overflow-y: auto;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 15px;
  scrollbar-width: thin;
  transition: all 0.3s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 1000; /* Ensure it's on top of the map tiles */
}
.steps-container-slideIn {
  transform: translateX(0);
  visibility: visible;
}
.steps-container h2 {
  margin-top: 0;
  font-size: 1.2em;
  color: #333;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 15px;
}
.steps-container ol {
  padding-left: 20px;
  list-style-type: decimal;
}
.steps-container li {
  margin-bottom: 8px;
  line-height: 1.4;
  color: #555;
}

.location-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr)); /* grid-cols-1 */
  gap: 1rem; /* gap-4 */
  margin-bottom: 1.5rem; /* mb-6 */
}

.location-card {
  color: #ffffff; /* text-white */
  padding: 1.5rem; /* p-6 */
  border-radius: 0.5rem; /* rounded-lg */
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06); /* shadow-md */
  cursor: pointer; /* cursor-pointer */
  transition: background-color 0.3s ease-in-out; /* transition duration-300 */
}
.location-card.blue {
  background-color: #3b82f6;
} /* bg-blue-500 */
.location-card.blue:hover {
  background-color: #2563eb;
} /* hover:bg-blue-600 */
.location-card.green {
  background-color: #22c55e;
} /* bg-green-500 */
.location-card.green:hover {
  background-color: #16a34a;
} /* hover:bg-green-600 */
.location-card.purple {
  background-color: #a855f7;
} /* bg-purple-500 */
.location-card.purple:hover {
  background-color: #9333ea;
} /* hover:bg-purple-600 */
.location-card.red {
  background-color: #ef4444;
} /* bg-red-500 */
.location-card.red:hover {
  background-color: #dc2626;
} /* hover:bg-red-600 */
.location-card.yellow {
  background-color: #eab308;
} /* bg-yellow-500 */
.location-card.yellow:hover {
  background-color: #ca8a04;
} /* hover:bg-yellow-600 */
.location-card.indigo {
  background-color: #6366f1;
} /* bg-indigo-500 */
.location-card.indigo:hover {
  background-color: #4f46e5;
} /* hover:bg-indigo-600 */
.location-card.pink {
  background-color: #ec4899;
} /* bg-pink-500 */
.location-card.pink:hover {
  background-color: #db2777;
} /* hover:bg-pink-600 */
.location-card.teal {
  background-color: #14b8a6;
} /* bg-teal-500 */
.location-card.teal:hover {
  background-color: #0d9488;
} /* hover:bg-teal-600 */
.auto-populated-searches-container-mobile,
.auto-populated-locations-container-mobile {
  padding-left: 14px;
  max-height: 130px;
  overflow-y: auto;
  scrollbar-width: thin;
}

@keyframes micBlink {
  0% {
    opacity: 0.3;
    transform: scale(0.9);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0.3;
    transform: scale(0.9);
  }
}

/* Class to apply the blinking animation */
.mic-listening {
  animation: micBlink 1.5s infinite ease-in-out;
  color: #ef4444; /* Red color for active state */
}

.ms-container {
  width: fit-content;
  height: 30px; /* Changed from 50px to 40px */
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 20px; /* Changed from 25px to 20px (half of 40px) */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
  cursor: pointer;
}
#msSelectedModuleName {
  font-size: 14px;
  padding: 0px 10px;
}
.ms-selected-display {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  color: #333;
  background-color: #f9f9f9;
  box-sizing: border-box;
  z-index: 2;
  border-radius: 20px; /* Changed from 25px to 20px */
  box-shadow: inset 0 0 0 1.5px var(--color-primary);
}

.ms-absolute-wrapper {
  position: absolute;
  top: 105%;
  left: 50%;
  transform: translateX(-50%);
  height: 40px; /* Changed from 50px to 40px */
  width: max-content;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 20px; /* Changed from 25px to 20px */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: row;
  align-items: center;
  box-sizing: border-box;
  padding: 0 8px;
  pointer-events: none;
  z-index: 1;
  white-space: nowrap;
}

.ms-container.ms-expanded {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.ms-container.ms-expanded .ms-absolute-wrapper {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.ms-module-list {
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 100%;
  width: 100%;
  justify-content: space-around;
}

.ms-module-item {
  padding: 2px 10px;
  color: #555;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  border-radius: 20px; /* Changed from 25px to 20px */
  white-space: nowrap;
  margin: 0 4px;
}

.ms-module-item:hover {
  background-color: #e8e8e8;
  color: #333;
}
@media (min-width: 360px) and (max-width: 767px) {
  .ms-module-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .ms-absolute-wrapper {
    height: fit-content;
    padding: 12px 0px;
  }
  .ms-module-item {
    width: auto; /* Allow the width to shrink to the content */
    text-align: left; /* Align the text to the left */
  }
  .distance-span,
  .mobile-search-location {
    max-width: 100px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
  }
  .mobile-search-location {
    max-width: 110px;
  }
  .results-sorting-options-wrapper {
    right: 0;
    z-index: 1000;
  }
}
/* The spinner container, absolutely positioned to cover the parent */
#map-spinner-container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(
    255,
    255,
    255,
    0.7
  ); /* Equivalent to Tailwind's bg-white/70 */
  backdrop-filter: blur(4px); /* Equivalent to Tailwind's backdrop-blur-sm */
  z-index: 2000;
}

/* The spinner's visual style */
.map-spinner {
  width: 70px;
  height: 70px;
  border: 5px solid #e5e7eb; /* Equivalent to Tailwind's border-gray-200 */
  border-top-color: #3b82f6; /* Equivalent to Tailwind's border-blue-500 */
  border-radius: 50%;
  animation: map-spin 1s linear infinite;
}

/* The animation for the spinner */
@keyframes map-spin {
  to {
    transform: rotate(360deg);
  }
}
.mobile-results-found,
.mobile-search-title,
.mobile-search-location {
  color: #2d3748;
  padding: 5px;
  background-color: white;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
/* --- Custom Modal Styling to override Bootstrap defaults --- */
.module-selector-modal .modal-content {
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  text-align: center;
}

.module-selector-modal .modal-title {
  font-size: 1.2em;
  font-weight: 700;
  color: #333;
}

.module-selector-modal .modal-body {
  padding-top: 0;
}

.module-selector-modal-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 10px 15px;
  color: #555;
  font-size: 14px;
  font-weight: 600;
  background-color: #f0f2f5;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
  text-decoration: none; /* For bootstrap grid links */
}

.module-selector-modal-item:hover {
  background-color: #e8e8e8;
  transform: translateY(-2px);
}
.adi-modules-switch-list {
  padding-top: 20px;
}
.center-adi-modules {
  display: flex;
  align-items: center;

  gap: 5px;
  width: 100%;
}
@media (min-width: 360px) and (max-width: 767px) {
  .filter-group {
    padding: 0;
    border: none;
    height: 25px;
    background-color: white;
  }
  .map-display {
    position: fixed;
    min-width: 100vw;
    min-height: 100vh;
    z-index: 10;
    top: 0;
    right: 0;
    left: 0;
  }
  .filter-section {
    z-index: 500;
  }
  .leaflet-control-zoom {
    /* bottom: 50px !important;
    right: 10px !important; */
    display: none;
  }
  /* .main-header {
    width: 100vw !important;
  } */
  body {
    padding-top: 60px;
  }
  #mainHeader {
    position: fixed;
    width: 100%;
  }
  .go-to-marker-btn {
    left: 20px;
  }
  .directions-steps-container {
    right: 20px;
  }
  .go-to-marker-btn,
  .directions-steps-container {
    top: 93px;
  }

  #switch-map-list-mobile-btn {
    margin-left: 1px;
    width: fit-content;
    padding: 0px 10px;
  }
  #switch-map-list-mobile {
    width: 15px;
  }
}
@media (min-width: 360px) and (max-width: 573px) {
  .center-adi-modules {
    display: flex;

    justify-content: flex-start;
    width: 100%;
    text-wrap: nowrap;
  }
  .module-selector-modal-item {
    width: 100%;
    padding-left: 40%;
  }
}
@media (min-width: 767px) {
  .custom-module-modal-container {
    margin-top: 200px;
  }
}
/* modified mobile search bootstrap window css */
@media (max-width: 768px) {
  .globe-icon2 {
    display: block !important;
  }
  #mobile-globe-icon1 {
    display: none !important;
  }
  .header-right .globe-icon {
    display: none !important;
  }
}
@media (min-width: 769px) {
  .globe-icon2 {
    display: none !important;
  }
  /* .globe-icon1 img {
    display: block !important;
  } */
}

#moduleSelectorModal .module-selector-modal-item {
  padding: 10px !important;
}

@media (max-width: 767px) {
  #moduleSelectorModal .center-adi-modules {
    flex-direction: column;
  }
}
/* end */
/* Styling for the Homepage */
/* Write all your styling in this style.css */

/* -----------------------------------------
  RESPONSIVENESS
  Please write ALL your responsive code 
  under this single section only.
  Avoid spreading media queries throughout 
  different sections.
  
  Guidelines:
  - Limit the number of breakpoints; use only necessary ones.
  - Avoid using excessively large margins or paddings,
    as this often leads to adding unnecessary breakpoints.
-------------------------------------------- */

/* General Styles */
html {
  font-size: 16px;
}

.homepage-content {
  width: 100vw;
  /* padding: 20px 90px 0px 90px !important; */
  height: fit-content;
  position: relative;

  /* background-color: blueviolet; */
}
.speed-searches-edit-group {
  width: 100%;
  padding: 10px;
}
.speed-searches-title {
  font-size: 25.2px;
  color: var(--color-primary);
  text-wrap: nowrap;
  font-weight: 600;
}
.edit-speed-searches-btn {
  font-size: 18px;
}
.edit-speed-searches-icon {
  width: 30px;
  height: 30px;
}
.speed-searches-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  width: 100%;
  padding: 25px 0px;
  /* max-width: 900px; */
  /* margin: auto; */
  /* max-height: 600px;
  overflow-y: auto; */
  overflow-x: hidden;
  justify-items: center;
  scrollbar-width: thin; /* Center cards within grid columns */
}

.speed-search-card {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s, transform 0.3s;
  cursor: pointer;
  width: 312px;
  height: 70px; /* Adjusted height for better fit */
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 15px;
  border: 1px solid #e2e8f0;
}

.speed-search-card:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
  transform: scale(1.05);
}

.speed-search-icon-container {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: all 0.3s ease-in-out;
  background-color: #dbeafe; /* A light blue fallback */
}

.speed-search-icon {
  width: 46px;
  height: 46px;
  border-radius: 2px;
}

.speed-search-card-title {
  flex-grow: 1;
  font-size: 18px;
  font-weight: 700;
  color: #1f2937;
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-height: 1.2;
  margin: 0;
}
#loading {
  font-size: 1.25rem;
  color: #4b5563;
}
.page-footer {
  margin-top: 50px;
  background-color: #083a76;
  padding: 40px 60px;
  width: 100vw;
  height: fit-content;
  color: white;
}
.page-footer-container {
  display: flex;
  width: 100%;
}
.footer-text-one {
  color: #eb841d;
  font-weight: 100;
}
.adi-footer-about-section {
  display: flex;
  flex-direction: column;
}
.adi-one-footer-text {
  margin: 0;
  font-weight: 400;
}
.adi-footer-description {
  max-width: 350px;
  font-size: 16px;
}
.page-footer-link {
  color: white;
  font-weight: 300;
}
.page-footer-link:hover {
  color: #eb841d;
}
.footer-link-group-titles {
  color: #eb841d;

  font-size: 20px;
  padding: 10px 0px;
  font-weight: 600;
}
.footer-copyright-text {
  margin-top: 30px;
  font-weight: 100;
  color: #eb841d;
}
/* Translator css */

/* Keyframes for pulse effects */
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(239, 68, 68, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
  }
}
@keyframes pulse-green {
  0% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(34, 197, 94, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
  }
}
.translator-animate-pulse-red {
  animation: pulse 1.5s infinite;
}
.translator-animate-pulse-green {
  animation: pulse-green 1.5s infinite;
}

/* Main app container styling */
.translator-open-modal-btn {
  background-color: #2563eb;
  color: white;
  font-weight: 600;
  padding: 0.75rem 2rem;
  border-radius: 9999px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transition: all 0.2s ease-in-out;
  border: none;
  cursor: pointer;
}
.translator-open-modal-btn:hover {
  background-color: #1d4ed8;
}

/* Modal styling */
.translator-modal-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(17, 24, 39, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  z-index: 50;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
  z-index: 1100;
}
.translator-modal-overlay.translator-active {
  opacity: 1;
  visibility: visible;
}

.translator-modal-content {
  background-color: white;
  border-radius: 0.75rem;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
  padding: 1.5rem;
  width: 100%;
  max-width: 40rem;
  max-height: 90vh; /* Prevents overflow on small screens */
  overflow-y: auto; /* Adds a scrollbar if content overflows */
  position: relative;
  transform: scale(0.95);
  opacity: 0;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.translator-modal-overlay.translator-active .translator-modal-content {
  transform: scale(1);
  opacity: 1;
}

/* Modal header styling */
.translator-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
}
.translator-modal-header h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1f2937;
}
.translator-close-modal-btn {
  color: #9ca3af;
  font-size: 1.875rem;
  font-weight: 300;
  line-height: 1;
  transition: color 0.2s ease-in-out;
  border: none;
  background: none;
  cursor: pointer;
}
.translator-close-modal-btn:hover {
  color: #4b5563;
}

/* Form and input styling */
.translator-message-box {
  padding: 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  text-align: center;
  display: none;
}
.translator-message-box.translator-info {
  background-color: #dbeafe;
  color: #1e40af;
}
.translator-message-box.translator-danger {
  background-color: #fee2e2;
  color: #991b1b;
}
.translator-message-box.translator-success {
  background-color: #d1fae5;
  color: #065f46;
}

.translator-language-selectors {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.translator-language-selectors > div {
  flex: 1;
}
.translator-language-selectors label {
  display: block;
  color: #374151;
  font-weight: 500;
  margin-bottom: 0.25rem;
}
.translator-language-selectors select {
  width: 100%;
  padding: 0.625rem;
  background-color: #f3f4f6;
  border-radius: 0.375rem;
  border: 1px solid #d1d5db;
  transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.translator-language-selectors select:focus {
  outline: 2px solid #3b82f6;
  border-color: #3b82f6;
}

.translator-switch-btn {
  background-color: #e5e7eb;
  color: #4b5563;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
  margin-bottom: 0.25rem;
  transform: rotate(0deg);
  transition: transform 0.3s ease-in-out;
  border: none;
  cursor: pointer;
}
.translator-switch-btn:hover {
  transform: rotate(180deg);
}

.translator-mic-section {
  text-align: center;
}
.translator-mic-section p {
  color: #374151;
  margin-bottom: 0.5rem;
}
.translator-mic-btn {
  background-color: var(--color-primary);
  color: white;
  width: 4rem;
  height: 4rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.875rem;
  margin: 0 auto;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
  transition: background-color 0.2s ease-in-out;
  border: none;
  cursor: pointer;
}
.translator-mic-btn:hover {
  background-color: var(--color-primary-accent);
}
.translator-mic-btn.translator-active {
  background-color: #22c55e;
}

textarea {
  width: 100%;
  min-height: 5rem; /* Allow text boxes to be flexible */
  padding: 1rem;
  background-color: #f3f4f6;
  border-radius: 0.375rem;
  border: 1px solid #d1d5db;
  outline: none;
  resize: none;
}

.translator-result-section label {
  display: block;
  color: #374151;
  font-weight: 500;
  margin-bottom: 0.25rem;
}

.translator-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.translator-controls audio {
  width: 100%;
  display: none;
}
.translator-controls button,
.translator-controls a {
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  transition: all 0.2s ease-in-out;
  text-decoration: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.translator-play-audio-btn {
  background-color: #22c55e;
  color: white;
  display: none;
}
.translator-play-audio-btn:hover {
  background-color: #16a34a;
}
.translator-download-link {
  background-color: #e5e7eb;
  color: #374151;
  display: none;
}
.translator-download-link:hover {
  background-color: #d1d5db;
}

/* ends here */
@media (min-width: 360px) and (max-width: 767px) {
  .homepage-content {
    width: 100vw;
    padding: 20px !important;
    height: fit-content;
    position: relative;

    /* background-color: blueviolet; */
  }
  .speed-search-card {
    width: 100%;
    height: 50px;
    padding: 10px;
    gap: 8px;
  }

  .speed-searches-container {
    grid-template-columns: repeat(2, 1fr);
  }
  .speed-search-icon-container {
    width: 30px;
    height: 30px;
  }

  .speed-search-icon {
    width: 26px;
    height: 26px;
  }

  .speed-search-card-title {
    font-size: 14px;
  }
  .page-footer {
    margin-bottom: 60px;
  }
  .page-footer-container {
    flex-direction: column;
  }
  .footer-copyright-text {
    font-size: 10px;
    font-weight: 600;
  }
  .expanded-search-bar-content--wrapper-container {
    display: none;
  }
}
@media (min-width: 993px) {
  .page-footer-container {
    gap: 150px;
  }
  .speed-search-card {
    width: 100%;
  }
  .speed-searches-container {
    padding-left: 100px;
    padding-right: 100px;
  }
  .edit-speed-searches-icon {
    margin-right: 80px;
  }
  .edit-speed-searches-icon {
    position: absolute;
    top: -50px;
    right: 40px;

    z-index: 1100;
  }
}
@media (min-width: 1080px) and (max-width: 1400px) {
  .speed-search-card {
    width: 100%;
  }
  .speed-searches-container {
    padding: 30px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 1079px) {
  .speed-search-card {
    width: 100%;
  }
  .speed-searches-container {
    padding: 50px;
    grid-template-columns: repeat(2, 1fr);
  }
}
/* styling for utilites modal */
/* Styling for the button that opens the modal */
.adi--utilities-opener {
  padding: 12px 24px;
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
  background-color: #007bff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s, box-shadow 0.2s;
}

.adi--utilities-opener:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
}

/* Base modal styling - hidden by default */
.adi--modal {
  display: none;
  position: fixed;
  z-index: 1100;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

/* Modal content styling */
.adi--modal-content {
  background-color: #ffffff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  position: relative;
  max-width: 90%;
  width: 600px;
}

/* Show modal with fade-in animation */
.adi--modal.adi--show {
  display: flex;
  opacity: 1;
}

/* Hide modal with fade-out animation */
.adi--modal.adi--hide {
  opacity: 0;
}

.adi--modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 10px;
  margin-bottom: 15px;
}

.adi--modal-header h2 {
  margin: 0;
  font-size: 24px;
  color: #333;
}

.adi--modal-close {
  font-size: 30px;
  font-weight: bold;
  cursor: pointer;
  color: #aaa;
  transition: color 0.2s;
}

.adi--modal-close:hover {
  color: #555;
}

/* Container for the icons using CSS Grid */
.adi--icons-container {
  display: grid;
  grid-gap: 20px;
}

/* Styling for each individual icon block */
.adi--icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  cursor: pointer;
  padding: 15px;
  border-radius: 10px;
  transition: background-color 0.2s, transform 0.2s;
}

.adi--icon-item:hover {
  background-color: #f8f9fa;
  transform: scale(1.05);
}

.adi--icon-item i {
  font-size: 50px;
  color: var(--color-primary);
  margin-bottom: 10px;
}

.adi--icon-item p {
  margin: 0;
  font-size: 14px;
  color: #555;
}

/* --- MEDIA QUERIES --- */

/* Mobile devices (360px to 767px) */
@media (min-width: 360px) and (max-width: 767px) {
  .adi--modal-content {
    padding: 15px;
  }

  .adi--icons-container {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 15px;
  }

  .adi--icon-item i {
    font-size: 40px;
  }
}

/* Tablets (768px to 993px) */
@media (min-width: 768px) and (max-width: 993px) {
  .adi--icons-container {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 15px;
  }

  .adi--icon-item i {
    font-size: 45px;
  }
}

/* Desktops (994px and up) */
@media (min-width: 994px) {
  .adi--icons-container {
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px;
  }

  .adi--icon-item {
    flex-basis: 22%; /* Not needed for grid, but kept for consistency */
  }
}
/* Styling for the fallback content */
.adi--section {
  background-color: #f1f5f9;
  color: #1e293b;
  line-height: 1.6;
  margin-top: 30px;
  padding: 0;
  display: block;
}

.adi--section .adi--container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
}
.adi--container {
  border-radius: 16px;
}
/* Header Styling */
.adi--section .adi--header {
  background-color: #ffffff;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 1.5rem 0;
  text-align: center;
}

.adi--section .adi--header h1 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--color-primary);
}

/* Main Content Section */
.adi--section .adi--main-content {
  padding: 3rem 0;
  text-align: center;
}

.adi--section .adi--main-content h2 {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1.25;
  color: #1e293b;
  margin-bottom: 1.5rem;
}

.adi--section .adi--main-content p {
  max-width: 64rem;
  margin: 0 auto;
  font-size: 1.125rem;
  color: #475569;
}

/* Value Proposition Cards */
.adi--section .adi--value-props {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  padding: 10px;
}

.adi--section .adi--card {
  background-color: #ffffff;
  padding: 2rem;
  border-radius: 1rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.adi--section .adi--card:hover {
  transform: scale(1.02);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.adi--section .adi--card-header {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.adi--section .adi--card-icon {
  font-size: 3rem;
  margin-right: 1rem;
}

.adi--section .adi--card h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e293b;
  margin: 0;
}

.adi--section .adi--card p {
  font-size: 1.125rem;
  color: #475569;
}

/* Responsive design for tablets and desktops */
@media (min-width: 768px) {
  .adi--section .adi--value-props {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Responsive design for larger desktops */
@media (min-width: 1024px) {
  .adi--section .adi--main-content h2 {
    font-size: 3rem;
  }
}
/* ADI FOOD PAGE STYLING */
.adi-food-search-bar--wrapper {
  margin-top: 60px;
  width: 100%;
}
.adi-food-search-form {
  position: relative;
}
.food-search-bar--container {
  display: flex;
  align-items: center;
  position: relative;
  width: 650px;
  height: 50px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
  background-color: white;
  border-radius: 30px;
  padding-left: 25px;
}
.food-search-btn {
  position: absolute;
  right: 2px;
  top: 2px;
  height: 95%;
  border-radius: 0px 50px 50px 0px;
  width: 60px;
  border: none;
  background-image: linear-gradient(to right, #6a8cd4, #2e5dc0);
  transition: background-image 0.3s ease;
}
.food-search-btn:hover {
  background-image: linear-gradient(to right, #2e5dc0, #6a8cd4);
}
.adi-food-search-input {
  width: 490px;
  outline: none;
  border: none;
  font-size: var(--font-size-base);
  color: #374151;
  &::placeholder {
    color: #6b7280;
    font-size: 16px;
  }
}
.adi-food-search-suggestions-container {
  position: absolute;
  top: 60px;
  left: 20px;
  border-radius: 5px;

  width: 510px;
  padding: 10px;
  z-index: 10;
  box-shadow: var(--shadow-default);
  height: fit-content;
  background-color: white;
  max-height: 250px;
  overflow-y: auto;
  scrollbar-width: thin;
}
.auto-search-suggestion {
  font-size: 18px;
}

/* styling for the cuisine seciton */
.adi-food-cuisines-container--wrapper {
  margin-top: 80px;
  width: 100%;
}
.adi-food-cuisines-container {
  display: grid;

  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.adi-restaurant-container {
  width: 100%;
  max-width: 900px;
  display: grid;
  padding: 20px;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.adi-food-modal-dialog {
  display: flex !important;

  justify-content: center !important;
}
.adi-food-modal-content {
  position: relative;
  min-width: 1200px !important;
  height: fit-content !important;
}
.adi-cuisine-card-outer {
  position: relative;
  /* width: 220px;
  height: 80px; */
  width: 312px;
  height: 70px;
  border-radius: 8px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transition: all ease 0.3s;
  border: 1px solid #e2e8f0;

  cursor: pointer;
}
.adi-cuisine-card-outer:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
  transform: scale(1.05);
}

.cuisine-background {
  background-image: linear-gradient(to right, #f7d794, #c2a061);
}
.restaurant-background {
  background-image: linear-gradient(to right, #8bc34a, #4caf50);
}
.adi-cuisine-card-inner {
  position: absolute;
  /* top: 1px; */
  top: 0;
  /* left: 1px; */
  align-items: center;
  padding: 20px;
  /* width: calc(100% - 2px); */
  /* height: calc(100% - 10px); */
  height: 100%;
  width: 100%;
  gap: 15px;
  border-radius: inherit;
  background-color: white;
}
.adi-icon-container {
  flex-shrink: 0;

  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* border-radius: 50%; */
  border-radius: 12px;

  transition: all 0.3s ease-in-out;
  background-color: #dbeafe; /* A light blue fallback */
  overflow: hidden;
}

.adi-restaurant-icon {
  width: 46px;
  height: 46px;
  border-radius: 2px;

  object-fit: cover;
}
.adi-cuisine-name,
.adi-restaurant-name {
  margin-left: 10px;
  font-size: 18px;
  flex-grow: 1;
  font-weight: 700;
  color: #1f2937;
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-height: 1.2;
}
.adi-restaurant-name {
  font-size: 20px;
  max-width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.avaiable-restaurant-indicator {
  position: absolute;
  right: -5px;
  top: -5px;

  height: 20px;
  width: 20px;
  font-size: 14px;
  font-weight: 600;
  color: white;
  background-color: #8b0000;
  border-radius: 50%;
}
.adi-food-map-container,
.food-map-directions-display {
  height: 600px; /* or any other fixed height */
  width: 100%;
  position: absolute;
  z-index: 2000;
  margin-bottom: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
#mapFood {
  height: 100%;
  width: 100%;
}
#mapFoodDirections {
  height: 100%;
  width: 100%;
}
.food-map-directions-display {
  width: inherit;
  height: inherit;
  position: relative;
}
.food-go-to-marker-btn {
  position: absolute;
  z-index: 1000;
  top: 30px;
  left: 10px;
  height: 36px;
  background-color: white;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.11);
  border: 1px solid var(--color-divider);
}
.food-show-list-btn {
  position: absolute;
  z-index: 1000;
  top: 30px;
  right: 110px;
  height: 36px;
  background-color: white;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.11);
  border: 1px solid var(--color-divider);
}
.food-go-to-marker-img {
  height: 20px;
  width: 50px;
}
.food-directions-steps-container {
  position: absolute;
  z-index: 1000;
  top: 30px;
  right: 10px;
  height: 36px;
  width: 96px;
  background-color: white;
  border: 1px solid var(--color-divider);
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.11);
}
.food-show-steps-btn {
  background-color: transparent;
  border: none;
  text-wrap: nowrap;
}

.food-steps-container {
  position: absolute;
  transform: translateX(100%);
  visibility: hidden;
  top: 36px;
  right: 0px;
  width: 300px; /* Adjust width as needed */
  height: 300px;
  overflow-y: auto;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 15px;
  scrollbar-width: thin;
  transition: all 0.3s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 1000; /* Ensure it's on top of the map tiles */
}
.steps-container-slideIn {
  transform: translateX(0);
  visibility: visible;
}
.food-steps-container h2 {
  margin-top: 0;
  font-size: 1.2em;
  color: #333;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 15px;
}
.food-steps-container ol {
  padding-left: 20px;
  list-style-type: decimal;
}
.food-steps-container li {
  margin-bottom: 8px;
  line-height: 1.4;
  color: #555;
}
@media (min-width: 993px) and (max-width: 1300px) {
  .adi-food-cuisines-container {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  .adi-food-cuisines-container {
    grid-template-columns: repeat(2, 1fr);
  }
  .adi-food-modal-content {
    min-width: 550px !important;
  }
}
@media (min-width: 360px) and (max-width: 600px) {
  .adi-food-cuisines-container--wrapper {
    margin-top: 10px;
    width: 100%;
    padding: 20px;
  }
  .adi-food-cuisines-container {
    width: 100%;

    grid-template-columns: repeat(2, 1fr);
  }
  .food-search-bar--container {
    max-width: 340px;
  }
  .adi-icon-container {
    width: 30px;
    height: 30px;
  }
  .adi-restaurant-icon {
    width: 26px;
    height: 26px;
  }
  .adi-food-search-input {
    /* width: 200px; */

    &::placeholder {
      color: #6b7280;
      font-size: 14px;
    }
  }
  .adi-cuisine-card-outer {
    width: 100%;
    height: 50px;
  }
  .adi-cuisine-card-inner {
    padding: 10px;
  }
  .adi-cuisine-name,
  .adi-restaurant-name {
    margin-left: 5px;
    font-size: 14px;
  }
  .adi-food-modal-content {
    min-width: 350px !important;
  }
}
@media (min-width: 601px) and (max-width: 767px) {
  .adi-food-cuisines-container {
    width: 100%;
    max-width: 500px;
    grid-template-columns: repeat(2, 1fr);
  }
  .adi-cuisine-card-outer {
    width: 100%;
    height: 60px;
  }
}
/* styling for the ADI Restaurant menu list page */
.adi-restaurant-menu-cart-wrapper {
  width: 100vw;
  padding: 30px 80px 30px 80px;
  height: fit-content;
}
.adi-restaurant-menu-list-cart--container {
  background-color: white;
  justify-content: center;
  width: 100%;
  gap: 8px;
}
.adi-restaurant-menu-list--container {
  width: 100%;
  height: 100%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  /* box-shadow: var(--shadow-default); */
  padding: 10px;
  max-height: 700px;
  overflow-y: auto;
  scrollbar-width: thin;
}
.adi-restaurant-menu-cart--container {
  width: 800px;
  max-width: 500px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);

  max-height: 800px;
}
.adi-available-menu-cuisines {
  width: 100%;
}
.menu-cusines-container {
  flex-wrap: wrap;
  padding: 5px;
  height: 100%;
  max-height: 115px;
  overflow-y: auto;
  display: flex;
  gap: 8px;
  scrollbar-width: thin;
}
.adi-menu-list-cusine-variant {
  padding: 5px;
  border-radius: 4px;
  width: fit-content;
  cursor: pointer;
  font-weight: 500;
  /* border: 1px solid #0a0f17; */
  height: 30px;

  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  transition: transform 0.1s ease;
}
.adi-menu-list-cusine-variant:hover {
  outline: 1px solid var(--color-primary);

  transform: translateY(-1px);
}
.adi-menu-list-cusine-variant--selected {
  outline: 1px solid var(--color-primary);
}
.adi-available-cuisine-items--container {
  display: grid;
  column-gap: 12px;
  row-gap: 12px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 10px;
  padding: 5px;
}
.adi-available-cuisine-items {
  position: relative;
  height: 320px;

  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--hover-bg-light);
}
.adi-available-cuisine-items > img {
  margin-top: 1px;
  margin-left: 1px;
  border-radius: 12px 12px 0px 0px;
  width: calc(100% - 2px);
  object-fit: cover;
  height: 200px;
}
.adi-cuisine-item-details-container {
  width: 100%;
  height: 100%;
  padding: 10px;
}
.cusine-item-name-desciption {
  height: 100%;
  justify-content: space-between;
}
.cuisine-item-name {
  position: relative;
  font-size: 22px;
  font-weight: 500;
  color: #4a6c84;
  cursor: pointer;
}
.cuisine-item-name-price-container {
  padding-right: 20px;
  padding-left: 20px;
  position: absolute;
  top: 168px;
  right: 1px;
  background-color: white;
  opacity: 0.9;
  border-radius: 6px 0px 0px 0px;
  z-index: 10;
}
.cuisine-item-price-quantity {
  position: absolute;
  width: 100%;
  padding-right: 20px;
  bottom: 10px;
}
.cuisine-item-price {
  font-size: 25px;
  color: #333333;
}
.cuisine-item-description {
  color: var(--color-text);
}
.food-icon {
  position: absolute;
  top: 5px;
  right: -18px;
  width: 16px;
  height: 16px;
  border: 2px solid;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.food-icon span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: block;
}
.veg {
  border-color: #27ae60;
}
.veg span {
  background: #27ae60;
}
.nonveg {
  border-color: #e74c3c;
}
.nonveg span {
  background: #e74c3c;
}
.cuisine-item-change-quantity {
  height: 37.5px;
  align-items: center;
  padding: 0px 10px 0px 10px;
  gap: 10px;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  background-color: white;
}
.cuisine-item-quantity-plus-icon {
  width: 16px;
  cursor: pointer;
}
.cuisine-item-quantity-minus-icon {
  width: 16px;
  height: 16px;
  cursor: pointer;
}
.cuisine-item-quantity {
  font-size: 22px;
}
/* Cart styling */
.divider-line {
  width: calc(100% - 2px);
  margin-left: 1px;
  border: 1px solid var(--color-divider);
}
.adi-restaurant-menu-cart--container > h2 {
  width: 100%;
  padding: 10px;
  margin-bottom: 0;
}
.adi-restaurant-cart--container {
  width: 100%;
  height: 100%;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
}
.adi-restaurant-cart-item-details {
  width: 100%;
  margin-left: 10px;
}
.adi-restaurant-cart-item-name {
  color: var(--color-primary);
  font-weight: 500;
}
.adi-restaurant-cart-item-restaurant {
  color: var(--color-text);
  font-size: 16px;
}
.adi-restaurant-cart-item {
  width: 100%;
  height: 100px;
  border-bottom: 1px solid var(--color-divider);
  padding: 10px;
}
.adi-restaurant-cart-item-img--container {
  min-width: 80px;
  max-width: 80.01px;
  height: 80px;
  overflow: hidden;
  border-radius: 4px;
}
.restaurant-cart-bin-icon {
  width: 25px;
  height: 25px;
  cursor: pointer;
}
.adi-restaurant-cart-item-img--container > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cart-cuisine-item-change-quantity {
  gap: 5px;
  width: 70px;
  height: 30px;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  padding: 2px;
}
.adi-restaurant-cart-item-price {
  color: #333333;
}
.cart-item-change-quantity-remove {
  align-items: center;
}
.adi-restaurant-menu-cart--container {
  position: relative;
}
.restaurant-cart-total-section {
  border-top: 1px solid var(--color-divider);
  padding: 10px;
  position: absolute;
  width: 100%;
  bottom: 0;
  background-color: white;
}
.restaurant-cart-sub-prices {
  color: var(--color-text);
}
.restaurant-delivery-pickup-container {
  margin-top: 10px;
  margin-bottom: 10px;
}
.restaurant-cart-delivery-icon {
  width: 30px;
  height: 20px;
}
.restaurant-cart-deliver-pickup {
  gap: 20px;
}
.restaurant-cart-delivery-icon-container {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  padding: 5px 10px 5px 10px;
  gap: 5px;
  cursor: pointer;
}
.restaurant-cart-delivery-icon-container--selected {
  outline: 2px solid var(--color-primary);
}
.font-weight-bold {
  font-weight: 700;
}

.adi-menu-list-cusine-variant--selected {
  border: 2px solid #3b82f6;
  transform: translateY(-2px);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
}
.adi-restaurant-cart-item.slide-out {
  transform: translateX(100%);
  opacity: 0;
  transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
}
.adi-cuisine-item-description.truncated {
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.adi-cuisine-item-description-wrapper {
  position: relative;
  padding-bottom: 20px;
}
.adi-more-btn {
  position: absolute;
  bottom: 0;
  right: 0;
  background: none;
  border: none;
  color: #3b82f6;
  cursor: pointer;
  font-size: 0.8em;
  padding: 0;
  font-weight: bold;
}
.restaurant-cart-delivery-icon-container {
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
}
.restaurant-cart-delivery-icon-container--selected {
  background-color: #e0f2fe;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.restaurant-cart-delivery-icon-container--disabled {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}
.adi-menu-list-cusine-variant--selected {
  border: 2px solid #3b82f6;
  transform: translateY(-2px);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
}
.adi-restaurant-cart-item.slide-out {
  transform: translateX(100%);
  opacity: 0;
  transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
}
.adi-cuisine-item-description.truncated {
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.adi-cuisine-item-description-wrapper {
  position: relative;
  padding-bottom: 20px;
}
.adi-more-btn {
  position: absolute;
  bottom: 0;
  right: 0;
  background: none;
  border: none;
  color: #3b82f6;
  cursor: pointer;
  font-size: 0.8em;
  padding: 0;
  font-weight: bold;
}
.restaurant-cart-delivery-icon-container {
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
}
.restaurant-cart-delivery-icon-container--selected {
  background-color: #e0f2fe;
  border-radius: 20px;

  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.restaurant-cart-delivery-icon-container--disabled {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}
.cart-checkout-btn-disabled {
  background-color: #cccccc;
  cursor: not-allowed;
}
.cart-checkout-btn-enabled {
  background-color: #3b82f6;
  cursor: pointer;
}
.restaurant-view-cart-btn {
  display: none;
}

@media (min-width: 360px) and (max-width: 767px) {
  .adi-available-cuisine-items--container {
    grid-template-columns: repeat(1, 1fr);
  }

  /* .adi-restaurant-menu-cart--container {
    display: none;
  } */
  .adi-restaurant-cart--container {
    max-height: 350px;
    padding-bottom: 200px;
  }
  .adi-restaurant-menu-cart--container {
    /* position: fixed; */
    /* bottom: 60px; */
    /* transform: translateX(100%); */
    max-width: 100%;
    background-color: white;
    z-index: 20;
    /* height: 100dvh; */

    /* max-height: calc(100dvh - 125px); */
  }
  .adi-restaurant-menu-cart-wrapper {
    padding: 20px;
  }

  /*
  .adi-restaurant-menu-cart--container-slide-in {
    transform: translateX(0);
    visibility: visible;
  }
  .restaurant-view-cart-btn {
    display: flex;
  } */
  /* .restaurant-view-cart-btn,
  .restaurant-hide-cart-btn {
    position: fixed;
    top: 65px;
    right: 20px;
    border: none;
    background-color: white;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  }
  .restaurant-hide-cart-btn {
    z-index: 40;
    right: 15px;
    top: 70px;
  } */
  .cuisine-item-name {
    font-size: 18px;
  }
  .cuisine-item-name-price-container {
    top: 174px;
  }
  .adi-restaurant-menu-cart--container {
    height: 100%;
    /* min-height: 600px; */
  }
  .restaurant-cart-total-section {
    padding: 30px;
  }
  .adi-more-btn {
    position: absolute;
    bottom: 10px;
    right: 0;
  }
}
@media (min-width: 360px) and (max-width: 400px) {
  .cuisine-item-name > span {
    max-width: 170px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    display: inline-block;
  }
}
@media (min-width: 768px) and (max-width: 993px) {
  .adi-restaurant-cart--container {
    max-height: 220px;
    padding-bottom: 50px;
  }
  /* .adi-restaurant-menu-cart--container {
    position: fixed;
    bottom: 0px;
    right: 0;
    transform: translateX(100%);
    max-width: 500px;
    background-color: white;
    z-index: 20;
    height: 100dvh;

    max-height: calc(100dvh - 60px);
    visibility: hidden;
    transition: all 0.3s ease;
  } */
  /* .adi-restaurant-menu-cart--container-slide-in {
    transform: translateX(0);
    visibility: visible;
  } */
  .adi-restaurant-menu-cart-wrapper {
    padding: 20px;
  }
  /* .restaurant-view-cart-btn {
    display: flex;
  } */
  /* .restaurant-view-cart-btn,
  .restaurant-hide-cart-btn {
    position: fixed;
    top: 65px;
    right: 10px;
    border: none;
    background-color: white;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  }
  .restaurant-hide-cart-btn {
    z-index: 40;
    right: 15px;
    top: 70px;
  } */
  .adi-restaurant-menu-cart--container {
    min-height: 600px;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .adi-available-cuisine-items--container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 994px) {
  .restaurant-hide-cart-btn {
    display: none;
  }
  .adi-restaurant-menu-cart--container {
    height: 800px;
    max-height: 700px;
  }
}
/* nav-settings-drop-down stylings and extras */

.nav-settings-drop-down-container {
  position: fixed;

  width: auto;
  /* padding: 22px; */
  height: auto;
  z-index: 1000 !important;
}
.nav-settings-drop-down,
.account-settings-drop-down {
  width: auto;
  /* padding: 22px; */
  height: auto;
  display: flex;
  flex-direction: column;
  border-radius: 3px;
  box-shadow: var(--shadow-inset-light);
  background-color: white;
  box-shadow: var(--shadow-default);
}
.nav-settings-drop-down {
  position: relative;
}
.account-settings-drop-down {
  max-height: 410px;
  display: none;
  overflow-y: auto;
  position: absolute;
  left: 100%;

  /* Style the scrollbar track */

  /* Style the scrollbar thumb */
}
.account-settings-drop-down::-webkit-scrollbar {
  width: 5px;
  background-color: white;
}
.account-settings-drop-down::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 0; /* Makes the thumb rounded */
}

.nav-settings-drop-down-option {
  display: flex;
  text-wrap: nowrap;
  align-items: center;
  text-decoration: none;
  color: rgba(0, 0, 0, 1);
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-medium);
  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: capitalize;
  cursor: pointer;
  padding: 8px 22px;
  font-size: 18px;
}
.nav-settings-drop-down-option:hover {
  color: black;
  font-size: 18px;
  background-color: var(--hover-bg-light);
}

.account-settings-arrow {
  margin-left: 8px;
}
.account-settings-arrow-active {
  transform: rotateZ(180deg);
}
.settings-tick-icon {
  width: 20px;
  margin-left: 8px;
}
@media (min-width: 360px) and (max-width: 767px) {
  .nav-settings-drop-down-container {
    bottom: 61px;
    left: 10px;
  }
  .nav-settings-drop-down-option {
    font-size: 14px;
  }
  .nav-settings-drop-down-option:hover {
    font-size: 14px;
  }
  .account-settings-drop-down {
    bottom: 0;
    max-height: 300px;
  }

  .membership-dropdown {
    top: 65px;
  }
  .default-page-dropdown {
    bottom: 0;
  }
  .qr-settings-dropdown {
    bottom: 0;
  }
}
@media (min-width: 768px) {
  .nav-settings-drop-down-container {
    top: 65px;
    right: 270px;
  }
  .membership-dropdown {
    top: 65px;
  }
  .default-page-dropdown {
    top: 100px;
  }
  .qr-settings-dropdown {
    top: 135px;
  }
}
/* Freight pages styling */
/* flatpickr styling */
.flatpickr-input {
  width: 150px;
  padding: 7px 2rem;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  font-size: 1rem;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}
.flatpickr-input:focus {
  outline: none;
  border-color: #3498db;
  box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.2);
}
/* Custom styling for the Flatpickr calendar to match the theme */
.flatpickr-calendar {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}
.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  background: #3498db;
  border-color: #3498db;
}
.flatpickr-day.today.selected {
  background: #2980b9;
  border-color: #2980b9;
}
/* styling for the search-filter secitons */
.freight-search-filter-section {
  padding: 20px 0px;
  width: 100%;
}
.freight-search-section {
  gap: 10px;
  flex-direction: column;
}
.freight-search-date-group,
.freight-search-place-group {
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  gap: 8px;
  height: fit-content;
  max-width: fit-content;
  padding: 10px 30px;
}
.freight-search-date-group > h5,
.freight-search-place-group > h5 {
  margin: 0;
}
.freight-search-button {
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  gap: 8px;
  height: fit-content;
  max-width: fit-content;
  padding: 10px 30px;
  border: none;
  background-color: var(--color-primary);
  color: white;
  font-size: 18px;
}
.freight-listings-wrapper {
  width: 100%;
  padding: 20px 80px;
}
.freight-listings-container {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  width: 100%;
  padding: 20px;
  border-radius: 8px;
  background-color: var(--hover-bg-light);
}
/* Freight Cards Styling */
/* Card container styling */
.adi-freight-card-container {
  position: relative;
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);

  width: 100%;
  padding: 1.5rem;
  color: #1f2937;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  cursor: pointer;
}
.tooltip {
  position: absolute;
  background-color: #333;
  color: #fff;
  padding: 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  z-index: 100;
  white-space: nowrap;
  display: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  pointer-events: none; /* Make tooltip non-clickable */
}
.adi-freight-card-container:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Specific section styles */
.adi-freight-header-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 1rem;
}

.adi-freight-transport-type {
  font-size: 1.125rem;
  font-weight: 600;
  /* color: #3730a3; */
  color: var(--color-primary);
  max-width: 150px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adi-freight-posted-date {
  font-size: 14px;
  color: var(--color-text);
}

.adi-freight-location-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.adi-freight-location-group {
  display: flex;
  flex-direction: column;
}

.adi-freight-location-group.start {
  align-items: flex-start;
}

.adi-freight-location-group.end {
  align-items: flex-end;
}

.adi-freight-location-name {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}

.adi-freight-location-label {
  font-size: 0.75rem;
  color: #6b7280;
}

.adi-freight-arrow-icon {
  color: #6366f1;
  width: 1.5rem;
  height: 1.5rem;
  transform: rotate(90deg);
}

/* Footer section styles */
.adi-freight-footer-section {
  padding-top: 1rem;
  border-top: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.adi-freight-status-group {
  display: flex;
  align-items: center;
}

.adi-freight-status-group > * + * {
  margin-left: 0.5rem;
}

.adi-freight-status-text {
  font-size: 0.75rem;
  color: #6b7280;
}

.adi-freight-status-value {
  font-size: 0.875rem;
  font-weight: 700;
}
.adi-freight-status-value-open {
  color: #16a34a;
}
.adi-freight-status-value-close {
  color: #dc3545;
}
.adi-freight-status-value-available {
  color: #eb841d;
}
.adi-freight-card-date {
  font-size: 0.75rem;
  color: var(--color-text);
}

/* Media query for desktop layout */
@media (min-width: 768px) {
  .adi-freight-arrow-icon {
    transform: rotate(0deg);
  }
}
.freight-listings-cards-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 12px;
  column-gap: 12px;
}
.freight-request-heading-filter-group {
  margin-bottom: 10px;
}
.freight-filter-btn {
  gap: 8px;
  cursor: pointer;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  background-color: white;
  border-radius: 3px;

  padding: 5px 10px;
}
.freight-filter-icon {
  width: 18px;
}
.freight-filter-section {
  position: relative;
  display: flex;
  gap: 8px;
}
.freight-filter-drop-down {
  position: absolute;
  right: 0px;
  top: 105%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);

  background-color: white;
  z-index: 10;
  border-radius: 2px;
}
.freight-filter-drop-down-option {
  font-weight: var(--font-weight-normal);

  line-height: var(--line-height-normal);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: capitalize;
  cursor: pointer;
  padding: 8px 22px;
  font-size: 18px;
}
.freight-filter-drop-down-option:hover {
  background-color: var(--hover-bg-light);
}
/* styling for freight details page */
.freight-detailed-view-section--wrapper {
  width: 100%;
  height: fit-content;
  padding: 80px;
}

.freight-detailed-view-section,
.freight-map-location-display {
  width: 100%;
  height: 100vh;
}
.freight-map-location-display {
  position: relative;
}
.freight-detailed-view-section {
  gap: 12px;
  margin-bottom: 150px;
  position: relative;
  flex-direction: row-reverse;
}
.freight-complete-details-section {
  width: 50%;
  height: 100%;
}
#freightMap {
  height: 100%;
  width: 100%;

  border-radius: 2px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
/* Base card container styling */
.adi-freight-detailed-card-container {
  width: 100%;
  max-width: 500px;
  border-radius: 12px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  padding: 30px;
  box-sizing: border-box;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}
.talk-and-call-icons-freight {
  padding: 20px 40px;
  height: 50px;
}
.talk-and-call-icons {
  width: 18px;
  height: 18px;

  transition: all ease 0.3s;
  cursor: pointer;
}

/* Hover effect for all cards */
.adi-freight-detailed-card-container:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

/* Base styling for the content layout */
.adi-freight-detailed-main-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 20px;
}

.adi-freight-detailed-contact-info {
  display: flex;
  flex-direction: column;
  gap: 15px;

  margin-top: 20px;
}

.adi-freight-detailed-data-row {
  display: flex;
  flex-direction: column;
}

/* Separator styles */
.adi-freight-detailed-separator {
  width: 100%;
  height: 1px;
}

/* --- Design 4: "Bold & Colorful" --- */
.adi-freight-detailed-card-design-4 {
  background-color: #ffffff;
  color: #333;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.adi-freight-detailed-card-design-4 .adi-freight-detailed-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.adi-freight-detailed-card-design-4 .adi-freight-detailed-card-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 0;
}

.adi-freight-detailed-card-design-4 .adi-freight-detailed-card-status {
  font-size: 0.8rem;
  font-weight: 700;
  color: #16a34a;
  background-color: #dcfce7;
  padding: 4px 8px;
  border-radius: 4px;
  text-transform: uppercase;
}

.adi-freight-detailed-card-design-4 .adi-freight-detailed-data-label {
  font-size: 16px;

  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
}

.adi-freight-detailed-card-design-4 .adi-freight-detailed-data-value {
  font-size: 16px;
  font-weight: 500;
  color: #374151;
  line-height: 1.4;
  word-wrap: break-word;
}

.adi-freight-detailed-card-design-4 .adi-freight-detailed-separator {
  background-color: #e5e7eb;
}
.freight-location-steps-btn {
  position: absolute;
  z-index: 1000;
  right: 10px;
  top: 10px;
  border: none;
  background-color: white;
  /* box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1); */
  border: 2px solid var(--color-divider);
}
.freight-map-details-switch-btn {
  position: absolute;
  z-index: 10;
  left: 10px;
  top: 10px;
  border: none;
  background-color: white;

  border: 2px solid var(--color-divider);
}
.mapDetailBtnShadow {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
}
.leaflet-routing-container {
  margin-top: 41px !important;
  display: none;
}
/* New entry creation */
.adi-btn-primary {
  background-color: var(--color-primary);
  border: none;
  color: white;
  font-size: 18px;
}
.adi-btn-secondary {
  font-size: 18px;
  border: none;
  background-color: var(--hover-bg-light);
}

.adi-btn-primary:hover {
  opacity: 0.9;
}

.adi-modal-content {
  border-radius: 1rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  background-color: white;
}

.adi-modal-header {
  border-bottom: none;
}

.adi-modal-footer {
  border-top: none;
}

.adi-form-label {
  font-weight: 500;
}

.adi-card {
  border-radius: 0.75rem;
  border: 1px solid #e2e8f0;
  background-color: #fff;
}

.adi-switcher {
  display: flex;
  border-radius: 0.5rem;
  background-color: #f1f5f9;
  padding: 0.25rem;
  margin-bottom: 1rem;
}

.adi-switcher-btn {
  flex-grow: 1;
  text-align: center;
  padding: 0.5rem;
  border: none;
  background-color: transparent;
  cursor: pointer;
  font-weight: 500;
  border-radius: 0.5rem;
  transition: all 0.2s ease-in-out;
}

.adi-switcher-btn.active {
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
}
/* New List styling */
@media (min-width: 1280px) {
  .freight-listings-cards-container {
    display: none;
  }
}
@media (max-width: 1279px) {
  .freight-list-listings-container {
    display: none;
  }
}
.freight-list-listings-container {
  gap: 10px;
}
.adi-freight-list-ext {
  width: 100%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  align-items: center;

  background-color: #fff;
  border-radius: 8px;
  padding: 10px 20px;
  color: #1f2937;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  cursor: pointer;
}
.adi-freight-list-ext:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.adi-freight-list-transport {
  font-size: 1.5rem;
  width: 300px;
  min-width: 299.99999px;
  font-weight: 600;
  /* color: #3730a3; */
  color: var(--color-primary);

  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.adi-freight-list-from-text,
.adi-freight-list-to-text {
  width: 150px;
  min-width: 149.9999px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  margin-left: 22px;
  font-size: 1.125rem;

  font-weight: 700;
}
.adi-freight-list-to-text {
  margin-left: 40px;
}
.adi-freight-list-arrow-icon {
  margin-left: 22px;
}
/* Metadata Section */
.adi-list-metadata-section {
  display: flex;
  align-items: center;
  /* margin-left: auto; */
  font-size: 1rem;
}

.adi-list-metadata-section span {
  margin-left: 1rem;
}

.adi-list-status-pill {
  font-weight: 500;

  padding: 3px 10px;
  border-radius: 6px;
  margin-left: auto;
}
.adi-list-status-pill-open {
  color: #16a34a;
  background-color: #dcfce7;
}
.adi-list-status-pill-in-progress {
  color: #c98205;
  background-color: #fef3c7;
}

.adi-list-status-pill-completed {
  color: #2563eb;
  background-color: #dbeafe;
}

.adi-list-status-pill-default {
  color: #4b5563;
  background-color: #e5e7eb;
}
.talk-and-call-freight-btns {
  /* background-color: transparent;
  border: 1px solid var(--color-divider); */
  gap: 8px;
  font-size: 18px;
  /* border-radius: 8px;
  transition: all ease 0.3s;
  padding: 5px 10px; */
}
/* .talk-and-call-freight-btns:hover {
  transform: scale(1.1);
} */
.freight-search-modal-body {
  padding: 0 !important;
}

.freight-search-modal-header {
  padding: 10px 10px 0px 10px;
}
#date-range {
  width: fit-content;
}

.freight-map-details-switch-btn {
  display: none;
}
/* media queries here */
@media (min-width: 993px) and (max-width: 1300px) {
  .freight-listings-cards-container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  .freight-listings-cards-container {
    grid-template-columns: repeat(1, 1fr);
  }
  .freight-search-section {
    flex-direction: column;
  }
}
@media (min-width: 360px) and (max-width: 767px) {
  .freight-search-modal-btn {
    display: none;
  }
  .freight-listings-cards-container {
    grid-template-columns: repeat(1, 1fr);
  }
  .adi-freight-location-label {
    display: none;
  }
  .freight-listings-wrapper,
  .freight-detailed-view-section--wrapper {
    padding: 20px;
  }
  .adi-freight-header-section,
  .adi-freight-location-section,
  .adi-freight-footer-section,
  .freight-search-section,
  .freight-detailed-view-section {
    flex-direction: column;
  }
  .freight-map-details-switch-btn {
    display: block;
  }
  .freight-complete-details-section {
    width: 100%;
  }
  #freightMap {
    position: fixed !important;
    height: 100vh;
    width: 100vw !important;
    top: 60px;
    left: 0;
  }
  .leaflet-control {
    margin-top: 1000px !important;
  }
  .adi-freight-detailed-card-header {
    margin-top: 10px;
  }
  .flatpickr-input {
    width: 130px;
    padding: 7px 10px;
    border: 1px solid #dcdcdc;
    border-radius: 8px;
    font-size: 1rem;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
  }
  .freight-search-date-group > h5,
  .freight-search-place-group > h5 {
    font-size: 18px;
  }
  #freight-from-date,
  #freight-to-date,
  #freight-from-place,
  #freight-to-place {
    width: 80px;
    font-size: 14px;
    padding: 7px 5px;
  }
  .freight-search-button {
    padding: 8px 40px;
    font-size: 16px;
  }
}
/* ADI INNS MEMBER PAGE STYLING */
.adi-inns-container {
  width: 100%;
  padding: 20px 80px 80px 80px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border-radius: 0.5rem;
  /* box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04); */
  overflow: hidden;
}
.adi-inns-title-section {
  background-color: #e5e7eb;
  text-align: center;
  padding: 1rem;
}
.adi-inns-title-section h1 {
  font-size: 1.25rem;
  font-weight: 600;
}
.adi-inns-tabs {
  display: flex;
  justify-content: center;
  padding: 1rem 0 0 0;
  gap: 1rem;
}
.adi-inns-tab-button {
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 1px solid #e5e7eb;
  border-radius: 9999px;
  background-color: transparent;
  font-weight: 500;
  color: #4a5568;
  text-align: center;
  min-width: 150px;
}
.adi-inns-tab-button:hover {
  background-color: #f0f4f8;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.adi-inns-tab-button.active {
  background-color: var(--color-primary);
  color: white;
  border-color: #3182ce;
  font-weight: 600;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.adi-inns-instruction-section {
  text-align: center;
  padding: 1rem;
  background-color: #f3f4f6;
  border-top: 1px solid #e5e7eb;
}
.adi-inns-instruction-section p {
  font-size: 0.875rem;
  font-style: italic;
}
.adi-inns-tab-content {
  display: none;
  padding: 1rem;
}
.adi-inns-tab-content.active {
  display: block;
}
.adi-inns-features-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1rem;
}
#adi-inns-features-tab-text {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .adi-inns-features-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.adi-inns-feature-column {
  display: flex;
  flex-direction: column;
}
.adi-inns-feature-item {
  display: flex;
  align-items: center;
  padding: 1rem;
  border: 1px solid #e2e8f0;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
}
.adi-inns-feature-item span {
  margin-left: 0.5rem;
}
.adi-inns-feature-item:hover {
  background-color: #f0f4f8;
  transform: translateY(-2px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.adi-inns-feature-item.selected {
  background-color: #3182ce;
  color: white;
  border-color: #3182ce;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
/* room cards styling */
.adi-inns-all-room-types-display-section {
  gap: 8px;
  flex-wrap: wrap;
}
.adi-inns-room-type-card {
  background-color: #ffffff;
  border: 1px solid #e0e6ed;
  border-radius: 12px;
  padding: 10px 15px;
  text-align: center;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  min-width: 200px;
  cursor: pointer;
}

/* Hover and Active states */
.adi-inns-room-type-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.adi-inns-room-type-card.active {
  background-color: #007bff;
  border-color: #007bff;
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.adi-inns-room-type-card-card-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0;
  transition: color 0.2s ease-in-out;
}

.adi-inns-room-type-card.active .adi-inns-room-type-card-card-title {
  color: #ffffff;
}
.adi-inns-room-type-details-section {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  margin-top: 30px;
  padding: 50px;
  gap: 12px;
  background-color: #f3f4f6;
  position: relative;
  width: 100%;
}

.adi-inns-room-img-display-section {
  width: 100%;
  max-width: 400px;

  height: 300px;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  /* box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); */
}
.adi-inns-room-img-list {
  display: flex;
  overflow-x: auto;
  gap: 16px; /* Adjust as needed for spacing between images */
  white-space: nowrap;
  scroll-snap-type: x mandatory; /* The main property for snapping */
  scroll-behavior: smooth; /* For a smoother scrolling animation */
  scrollbar-width: none;
  height: inherit;
}

.adi-inns-room-imgs {
  scroll-snap-align: center; /* Aligns each image to the center of the viewport */
  /* Or use 'start' if you want them to align to the left side */
  height: inherit;
  object-fit: cover;

  max-width: 400px;
  width: 100%;
}
.slider-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 12px;
  cursor: pointer;
  z-index: 10;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}

.slider-button:hover {
  background-color: rgba(0, 0, 0, 0.7);
}

.slider-button.prev {
  left: 10px;
}

.slider-button.next {
  right: 10px;
}

/* Styling for disabled buttons */
.slider-button:disabled {
  background-color: rgba(0, 0, 0, 0.2);
  cursor: not-allowed;
}

/* amenities display */
.adi-inns-room-details-display-section {
  box-shadow: 0 0px 5px rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  /* box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); */
  height: 100%;
  padding: 30px;
  background-color: #d3d3d3;
  width: 100%;
}
.adi-inns-room-summary-img-container {
  gap: 12px;
}
.adi-inns-room-summary-card {
  box-shadow: 0 0px 5px rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  padding: 30px;
  background-color: white;
  max-width: 400px;
  width: 100%;
  text-wrap: wrap;
  height: fit-content;
}
.adi-inns-room-summary-card > p {
  text-wrap: wrap;
  height: fit-content;
}
.amenities-content-and-heading {
  height: 100%;
  width: 100%;
}
.adi-inns-room-type-amenities-display {
  max-width: 900px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  /* display: grid; */
  /* grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 20px; */
  animation: fadeIn 0.8s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.adi-inns-room-type-amenities-card {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 10px 20px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.adi-inns-room-type-amenities-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 20px rgba(0, 0, 0, 0.08);
}

.card-text {
  font-size: 1.25rem;
  /* font-weight: 600; */
  color: #1e293b;
  text-transform: capitalize;
  line-height: 1.4;
}
.adi-inns-room-details-edit {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  cursor: pointer;
}
.adi-inns-optional-item {
  display: flex;
  align-items: center;
  padding: 1rem;
  border: 1px solid #e2e8f0;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
  width: fit-content;
}
.adi-inns-room-optional-extras {
  gap: 8px;
  flex-wrap: wrap;
}
/* styling for feedback */
.adi-inns-feedback-option-container {
  /* margin-top: 80px; */
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
  width: 500px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.adi-inns-feedback-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  background-color: #fff;
}
.adi-inns-feedback-text {
  padding: 5px 16px;
  font-size: 1.1em;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-color: #f8f9fa;
}
.adi-inns-feedback-button {
  border: none;
  cursor: pointer;
  font-size: 1em;
  font-weight: bold;
  color: white;
  padding: 10px 16px;

  transition: background-color 0.2s ease;
  background-color: #6c757d;
}
.adi-inns-feedback-button:hover {
  background-color: #5a6268;
}
.adi-inns-feedback-button.selected {
  background-color: #007bff;
}
.adi-inns-feedback-button.selected:hover {
  background-color: #0056b3;
}
/* Custom styles for the modal content to match the image */
.adi-inns-modal .modal-header .btn-close {
  margin: 0;
}
.adi-inns-modal-tabs {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.adi-inns-modal-tab {
  text-align: center;
  padding: 10px;
  font-weight: bold;
  cursor: pointer;
  background-color: #f8f9fa;
  border: 1px solid #ccc;
  border-radius: 4px;
  flex-grow: 1;
  margin: 0 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease-in-out;
}
.adi-inns-modal-tab:first-child {
  margin-left: 0;
}
.adi-inns-modal-tab:last-child {
  margin-right: 0;
}
.adi-inns-modal-tab.active {
  background-color: #007bff;
  color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.adi-inns-modal-tab:not(.active):hover {
  background-color: #f1f1f1;
  transform: translateY(-2px);
}
.adi-inns-modal-tab.active:hover {
  background-color: #0056b3;
  transform: translateY(-2px);
}
.adi-inns-modal-textarea-container {
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 15px;
  position: relative;
}
.adi-inns-modal-textarea-container textarea {
  width: 100%;
  height: 80px;
  border: none;
  resize: none;
  font-size: 1em;
  outline: none;
  background-color: transparent;
}
.adi-inns-info-description {
  position: relative;
}
.adi-inns-char-counter {
  position: absolute;
  bottom: 5px;
  right: 15px;
  font-size: 0.8em;
  color: #666;
}
.adi-inns-tab-feedback-content {
  display: none;
}
.adi-inns-tab-feedback-content.active {
  display: block;
}
.adi-inns-data-submit-section {
  padding: 1rem;
}
.adi-inns-data-submit-section-btns {
  width: 100px;
  height: 40px;
  font-size: 1rem;
}
/* Prperty-Information tab styling */
.adi-inns-form-wrapper {
  background-color: #fff;
  display: flex;
  justify-content: center;
  padding: 30px 40px 40px 40px;
  border-radius: 2px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);

  width: 100%;
  box-sizing: border-box;
}

/* Form styling */

.adi-inns-form-group {
  margin-bottom: 25px;
}

.adi-inns-form-group label {
  display: block;
  margin-bottom: 8px;
  color: #555;
  font-weight: 500;
}

.adi-inns-form-group input[type="text"],
.adi-inns-form-group input[type="number"],
.adi-inns-form-group textarea,
.adi-inns-form-group select {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-sizing: border-box;
  font-size: 1rem;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.adi-inns-form-group input:focus,
.adi-inns-form-group textarea:focus,
.adi-inns-form-group select:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
}

.adi-inns-form-group textarea {
  resize: vertical;
  min-height: 100px;
}

.adi-inns-char-counter {
  text-align: right;
  font-size: 0.8rem;
  color: #888;
  margin-top: 5px;
}

/* Address Grid styling */
.adi-inns-address-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

@media (max-width: 600px) {
  .adi-inns-address-grid {
    grid-template-columns: 1fr;
  }
}

.adi-inns-address-grid .adi-inns-form-group {
  margin-bottom: 0;
}

/* Room types section styling */
#room-types-container {
  margin-top: 20px;
}

.adi-inns-room-type-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.adi-inns-room-type-btn {
  background-color: #f7f9fb;
  color: #4a4a4a;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 10px 15px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.adi-inns-room-type-btn:hover {
  background-color: #e6e9ed;
}

.adi-inns-room-type-btn.adi-inns-active {
  background-color: #007bff;
  color: #fff;
  border-color: #007bff;
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);
}

.adi-inns-selected-room-item {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 10px;
  background-color: #fff;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
}

.adi-inns-selected-room-item span {
  font-weight: bold;
  flex-grow: 1;
  text-wrap: nowrap;
}

.adi-inns-selected-room-item input[type="number"] {
  width: 80px;
}

/* Action Buttons styling */
.adi-inns-actions {
  display: flex;
  justify-content: flex-end;
  gap: 15px;
  margin-top: 30px;
}

.adi-inns-action-button {
  padding: 12px 25px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
  border: none;
}

.adi-inns-action-button.adi-inns-submit {
  background-color: #007bff;
  color: #fff;
}

.adi-inns-action-button.adi-inns-submit:hover {
  background-color: #0056b3;
}

.adi-inns-action-button.adi-inns-cancel {
  background-color: #f0f0f0;
  color: #4a4a4a;
}

.adi-inns-action-button.adi-inns-cancel:hover {
  background-color: #e0e0e0;
}
/* ends here */
@media (min-width: 360px) and (max-width: 767px) {
  .adi-inns-container {
    padding: 20px;
  }
  .adi-inns-room-type-details-section {
    padding: 10px;
  }
  .adi-inns-room-details-edit {
    background-color: white;

    right: 0;
    top: -40px;
  }
  .adi-inns-tabs {
    flex-wrap: wrap;
  }
  .adi-inns-tab-button {
    width: 200px;
  }
  .adi-inns-all-room-types-display-section {
    justify-content: center;
  }
  .adi-inns-room-type-details-section {
    flex-direction: column;
    margin-top: 50px;
  }
  .adi-inns-room-type-card-card-title {
    font-size: 1rem;
  }
  .adi-inns-room-type-card {
    width: 100%;
  }
  .adi-inns-room-img-display-section {
    overflow-x: scroll; /* Makes the images scrollable */
    scroll-snap-type: x mandatory; /* Snaps the scroll to each image */
    -webkit-overflow-scrolling: touch; /* Improves scrolling smoothness on iOS */
    -ms-overflow-style: none; /* Hides scrollbar on IE/Edge */
    scrollbar-width: none; /* Hides scrollbar on Firefox */
  }
  .adi-inns-room-img-display-section::-webkit-scrollbar {
    display: none; /* Hides scrollbar on Chrome/Safari */
  }

  .adi-inns-room-img-list {
    display: flex;
    white-space: nowrap; /* Prevents images from wrapping */
  }

  .adi-inns-room-imgs {
    flex: 0 0 100%; /* Makes each image take up full container width */
    width: 100%;
    scroll-snap-align: start; /* Aligns the snap point to the start of each image */
    margin-right: 16px; /* Space between images */
  }
  .adi-inns-room-optional-extras {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
  .adi-inns-optional-item {
    width: 100%;
    justify-content: center;
  }
  .feedback-options-and-submit-btn {
    flex-direction: column-reverse;
  }
  .adi-inns-feedback-option-container {
    width: 100%;
  }
  .adi-inns-feedback-row {
    display: flex;
    flex-direction: column;
  }
  .adi-inns-title-section {
    padding: 10px;
  }
  .adi-inns-title-section h1 {
    font-size: 1rem;
    font-weight: 600;
  }
  #adi-inns-features-tab-text {
    font-size: 14px;
  }
  .adi-inns-room-type-buttons {
    flex-direction: column;
  }
  .adi-inns-form-group {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 8px;
  }
  .adi-inns-form-wrapper {
    padding: 10px;
  }
  .adi-inns-selected-room-item {
    flex-direction: column;
  }
}
@media (min-width: 993px) {
  .adi-inns-room-img-display-section {
    min-width: 399.9999px;
  }
  #selected-rooms-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 8px;
  }
}
/* CSS FOR ADI INNS PAGES STARTS HERE */
/* Styling for Hotels Search page */
.adi-inns-user-container {
  width: 100%;
  padding: 20px 80px 80px 80px;
  margin: 0 auto;
}

.adi-inns-user-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  position: sticky;
  background-color: white;
  top: 1px;
  border-radius: 12px;
  z-index: 1;
  padding: 20px;
  width: 100%;
  margin-top: 55px;
}
@media (min-width: 768px) {
  .adi-inns-user-header {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }
  .adi-inns-user-b-modal {
    margin-top: 10000px;
    width: 100%;
    height: fit-content;
  }
}

.adi-inns-user-header h1 {
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
}

.adi-inns-user-controls {
  display: flex;
  gap: 10px;
  width: 100%;
  justify-content: space-around;
}
/* @media (min-width: 1190px) {
  .adi-inns-user-controls {
    position: absolute;
    bottom: 40px;
    right: 0;
  }
  .adi-inns-user-header {
    margin-bottom: 0px;
  }
} */

.adi-inns-user-toggle-button,
.adi-inns-user-compare-button,
.adi-inns-user-map-toggle-button {
  /* background-color: var(--color-primary); */
  /* color: white; */
  background-color: transparent;
  border: none;
  padding: 5px 10px;
  border-radius: 2px;
  cursor: pointer;
  font-size: 1rem;
  /* font-weight: 600; */
  transition: background-color 0.3s, transform 0.2s;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
}

.adi-inns-user-compare-button.hidden {
  display: none;
}
.adi-inns-compare-btn {
  position: relative;
}
.adi-inns-live-compare-count {
  position: absolute;
  top: -10px;
  right: -10px;
  color: var(--color-link);
}
.adi-inns-user-toggle-button:hover,
.adi-inns-user-compare-button:hover,
.adi-inns-user-map-toggle-button:hover {
  /* background-color: #357abd; */
  transform: translateY(-2px);
}

.adi-inns-user-compare-count {
  background-color: #ff4d4f;
  color: white;
  border-radius: 50%;
  padding: 2px 6px;
  font-size: 0.75rem;
  position: absolute;
  top: -5px;
  right: -5px;
  font-weight: bold;
}

/* --- View Container Styles --- */
.adi-inns-user-listings-container {
  display: grid;
  gap: 8px;
}

.adi-inns-user-listings-container.adi-inns-user-list-view {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 1200px) {
  .adi-inns-user-listings-container.adi-inns-user-list-view {
    grid-template-columns: repeat(2, 1fr);
  }
}
.adi-inns-user-listings-container.adi-inns-user-grid-view {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  /* grid-template-columns: repeat(6, 1fr); */
}

/* --- Hotel Card Base Styles --- */
.adi-inns-user-hotel-card {
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.3s ease-in-out, border-color 0.3s;
  display: flex;
  flex-direction: column;
  position: relative;
  border: 1px solid #ddd; /* Default border */
}

/* New class for selected state with a blue outline */
.adi-inns-user-hotel-card.adi-inns-user-selected-for-compare {
  border: 2px solid #4a90e2;
  box-shadow: 0 0 10px rgba(74, 144, 226, 0.5);
}

.adi-inns-user-hotel-card .adi-inns-user-select-compare {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 10;
  background-color: rgba(255, 255, 255, 0.8);
  color: #4a90e2;
  border: 1px solid #4a90e2;
  padding: 5px 10px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
  display: none; /* Initially hidden */
}

.adi-inns-user-container.in-compare-mode .adi-inns-user-select-compare {
  display: block; /* Show when in comparison mode */
}

.adi-inns-user-hotel-card .adi-inns-user-select-compare:hover {
  background-color: #4a90e2;
  color: white;
}

.adi-inns-user-hotel-card .adi-inns-user-select-compare.selected {
  background-color: #4a90e2;
  color: white;
}

.adi-inns-user-hotel-card:hover {
  transform: translateY(-5px);
}

/* --- List View Specific Styles --- */
.adi-inns-user-list-view .adi-inns-user-hotel-card {
  flex-direction: row;
  height: fit-content;
  /* align-items: center; */
  padding: 14px;
}

/* @media (max-width: 768px) {
  
} */

.adi-inns-user-list-view .adi-inns-user-hotel-image-container {
  /* flex: 0 0 300px; */

  max-width: 250px;
  min-height: 100%;
}

@media (max-width: 768px) {
  .adi-inns-user-list-view .adi-inns-user-hotel-image-container {
    flex: 1 1 auto;
    width: 100%;
    height: 200px;
  }
}

.adi-inns-user-list-view .adi-inns-user-hotel-details {
  padding: 0 0 0 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-width: 0; /* Fix for scrollable tags */
}

.adi-inns-user-list-view .adi-inns-user-hotel-details-top {
  display: flex;
  flex-direction: column;
}

.adi-inns-user-list-view .adi-inns-user-hotel-details-bottom {
  margin-top: auto;
  align-self: flex-end;
  text-align: right;
}

.adi-inns-user-list-view .adi-inns-user-hotel-name {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 5px;
  color: var(--color-link);
  cursor: pointer;
  max-width: 350px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adi-inns-user-list-view .adi-inns-user-hotel-location {
  color: #666;
  font-size: 1rem;
  margin: 0px 0px 0px 0px;
  max-width: 200px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adi-inns-user-hotel-meta {
  /* margin-top: 10px; */
  margin: 0;
  font-size: 1rem;
  color: #666;
  text-wrap: nowrap;
}

.adi-inns-user-hotel-meta .adi-inns-user-rating {
  font-weight: 600;
  color: #333;
  text-wrap: nowrap;
}

/* --- Scrollable Tags and Common Styles --- */
.adi-inns-user-tags-container {
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 5px; /* For scrollbar visibility */
  /* margin-top: 10px; */

  /* Hide the scrollbar */
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

/* Hide the scrollbar for Webkit browsers (Chrome, Safari) */
.adi-inns-user-tags-container::-webkit-scrollbar {
  display: none;
}

.adi-inns-user-tags-container ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 8px;
}

.adi-inns-user-tags-container li {
  display: inline-block;
  background-color: #e2e8f0;
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 500;
  color: #0e0d0d;
  flex-shrink: 0;
}

.adi-inns-user-list-view .adi-inns-user-hotel-price {
  font-size: 18px;
  font-weight: 700;
  color: #eb841d;
  /* margin-top: 10px; */
}
.adi-inns-user-hotel-price > span {
  color: var(--color-primary);
}
/* --- Grid View Specific Styles --- */
.adi-inns-user-grid-view .adi-inns-user-hotel-card {
  flex-direction: column;
  padding: 6px 6px 0px 6px;
}

.adi-inns-user-grid-view .adi-inns-user-hotel-image-container {
  width: 100%;
  /* max-width: 200px; */
  height: 100%;
}

.adi-inns-user-grid-view .adi-inns-user-hotel-details {
  padding: 15px;
}

.adi-inns-user-grid-view .adi-inns-user-hotel-name {
  font-size: 1.25rem;
  max-width: 200px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  font-weight: 600;
  margin: 0; /* Updated to remove all default margins */
  color: var(--color-link);
  cursor: pointer;
}

/* New style to align name and rating on the same line in grid view */
.adi-inns-user-grid-view .adi-inns-user-hotel-details-header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.adi-inns-pin-icon {
  margin-left: 0;
  width: 16px;
}
.adi-inns-user-grid-view .adi-inns-user-hotel-meta {
  margin: 0; /* Added to remove top margin in grid view */
}
.adi-inns-user-hotel-location {
  display: flex;
  align-items: center;
}
.adi-inns-user-grid-view .adi-inns-user-hotel-location {
  color: #666;
  font-size: 0.85rem;
}

.adi-inns-user-grid-view .adi-inns-user-hotel-price {
  font-size: 1rem;
  font-weight: 700;
  /* color: #4a90e2; */
  color: #eb841d;

  margin-top: 10px;
}
.adi-inns-user-grid-view .adi-inns-user-hotel-discount {
  font-size: 12px;
  padding: 5px 10px;
}
/* --- Image Swiper Styles (for both views) --- */
.adi-inns-user-hotel-image-container {
  position: relative;
  overflow: hidden;
  touch-action: pan-y; /* Allows horizontal swiping */
}
.adi-inns-user-hotel-discount {
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: rgba(255, 0, 0, 0.8);
  color: white;
  padding: 5px 10px;
  font-weight: bold;
  border-radius: 12px 0pc 12px 0px;
  z-index: 0;
}

.adi-inns-user-hotel-image-swiper {
  display: flex;
  transition: transform 0.5s ease-in-out;
  width: 100%;
  height: 100%;
}

.adi-inns-user-hotel-image-swiper img {
  width: 100%;
  min-height: 100%;
  object-fit: cover;

  border-radius: 12px;
}

.adi-inns-user-swiper-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0 10px;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 0.3s;
}

.adi-inns-user-hotel-card:hover .adi-inns-user-swiper-nav,
.adi-inns-user-popup-content:hover .adi-inns-user-swiper-nav {
  opacity: 1;
}

.adi-inns-user-swiper-nav button {
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.adi-inns-user-swiper-dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}

.adi-inns-user-swiper-dot {
  width: 8px;
  height: 8px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  transition: background-color 0.3s;
}

.adi-inns-user-swiper-dot.adi-inns-user-active {
  background-color: #4a90e2;
}

/* --- Comparison Modal Styles --- */
.adi-inns-user-comparison-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(5px);
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
  padding-top: 40px;
}

.adi-inns-user-comparison-modal.visible {
  opacity: 1;
  pointer-events: auto;
}

.adi-inns-user-comparison-content {
  background-color: white;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  width: 90%;
  max-height: 90%;
  overflow-y: auto;
  position: relative;
}

.adi-inns-user-comparison-content::-webkit-scrollbar {
  width: 8px;
  background-color: transparent;
}

.adi-inns-user-comparison-content::-webkit-scrollbar-thumb {
  background-color: #4a90e2;
  border-radius: 12px;
}

.adi-inns-user-comparison-content h2 {
  margin-top: 0;
  font-size: 1.8rem;
  text-align: center;
  color: #4a90e2;
}

.adi-inns-user-close-modal {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: #666;
}

.adi-inns-user-comparison-message {
  text-align: center;
  font-style: italic;
  color: #666;
  margin-top: 20px;
}

/* --- NEW Comparison Grid and Card Styles --- */
.adi-inns-user-comparison-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  /* margin-top: 20px; */
}

@media (max-width: 1024px) {
  .adi-inns-user-comparison-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .adi-inns-user-comparison-grid {
    grid-template-columns: 1fr;
  }
}

.adi-inns-user-comparison-card {
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-align: center;
  border: 1px solid #ddd;
  position: relative;
}

.adi-inns-user-comparison-card .adi-inns-user-image {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 12px 12px 0 0;
}

.adi-inns-user-comparison-card .adi-inns-user-details {
  padding: 15px;
  /* flex-grow: 1; */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 20px;
}

.adi-inns-user-comparison-card .adi-inns-user-name {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 5px;
  color: var(--color-link);
}
.adi-inns-user-comparison-room-type-price,
.adi-inns-user-comparison-room-type-extra-price {
  color: var(--color-primary);
}
.adi-inns-user-comparison-card .adi-inns-user-rating {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 10px;
}

.adi-inns-user-comparison-card .adi-inns-user-price {
  font-size: 1.5rem;
  font-weight: 700;
  color: #4a90e2;
  margin-top: auto;
}

.adi-inns-user-book-now-button {
  background-color: #4a90e2;
  color: white;
  border: none;
  width: 90%;
  padding: 10px 20px;
  border-radius: 25px;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  transition: background-color 0.3s;
  position: absolute;
  bottom: 10px;
}

.adi-inns-user-book-now-button:hover {
  background-color: #357abd;
}

/* --- Map Container Styles --- */
#map-container {
  height: 80vh; /* Takes up 80% of the viewport height */
  width: 100%;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  position: relative;
}
#map-toggle-mobile-list-btn {
  display: none;
}
.hidden {
  display: none !important;
}

/* --- Leaflet Popup Styles --- */
.leaflet-popup-content-wrapper {
  border-radius: 12px;
  padding: 0;
}

.leaflet-popup-content {
  padding: 0;
  margin: 0;
  min-width: 250px;
  max-width: 350px;
}

.adi-inns-user-popup-content {
  display: flex;
  flex-direction: column;
  position: relative;
  background: white;
  border-radius: 12px;
  overflow: hidden;
}

.adi-inns-user-popup-content .adi-inns-user-image-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.adi-inns-user-popup-content .adi-inns-user-details-container {
  padding: 10px 0 0 0;
}

.adi-inns-user-popup-content .adi-inns-user-hotel-name {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
  color: var(--color-link);
  cursor: pointer;
}

.adi-inns-user-popup-content .adi-inns-user-hotel-location {
  color: #666;
  font-size: 0.9rem;
  margin-top: 5px;
  margin-bottom: 0;
}

.adi-inns-user-popup-content .adi-inns-user-hotel-rating {
  font-size: 0.9rem;
  color: #4a90e2;
  margin-top: 5px;
  margin-bottom: 0;
}

.adi-inns-user-popup-content .adi-inns-user-hotel-price {
  /* font-size: 1.5rem; */
  font-weight: 700;
  margin-top: 5px;
  margin-bottom: 10px;
  font-size: 18px;
  color: #eb841d;
  /* margin-top: 10px; */
}
.adi-inns-user-view-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background-color: transparent;
  transition: all 0.3s ease;
}
.adi-inns-user-view-toggle-btn:hover {
  transform: translateY(-2px);
}
.adi-inns-user-view-toggle-btn > img {
  width: 20px;
  height: 20px;
  transition: all 0.3s ease;
}
/* Styling for Hotel booking page */
.adi-inns-user-b-container {
  padding: 20px 80px 80px 80px;
}
.adi-inns-user-b-inner-container {
  background-color: #f2f2f2;
  padding: 20px 60px;
  border-radius: 12px;
}
.adi-inns-user-b-header {
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  justify-content: center;
  margin-bottom: 20px;
}
.adi-inns-user-b-title-rating-container > h1 {
  color: var(--color-link);
  font-size: 2rem;
  margin-bottom: 10px;
}
.adi-inns-user-b-header > h2 {
  color: #eb841d;
}
#hotel-rating {
  font-weight: 500;
  color: #0e0d0d;
}
.adi-inns-user-b-location-rating {
  font-size: 1.1em;
  /* color: #6c757d; */
  display: flex;
  /* justify-content: center; */
  align-items: center;
  gap: 15px;
  margin-top: 10px;
}

.adi-inns-user-b-rating {
  font-weight: 600;
  color: #007bff;
}

.adi-inns-user-b-features-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}

.adi-inns-user-b-features-list li {
  background-color: #e9ecef;
  padding: 8px 15px;
  border-radius: 20px;
  font-size: 0.9em;
  color: #333;
  font-weight: 500;
}

/* Image gallery styling */
.adi-inns-user-b-image-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 15px;
  margin-top: 20px;
}

.adi-inns-user-b-image-gallery img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

/* Room cards styling */
.adi-inns-user-b-rooms-section {
  /* margin-top: 40px; */
  padding: 0;
}
.adi-inns-user-b-rooms-section > h2 {
  margin-bottom: 20px;
  font-size: 1.5rem;
}
.adi-inns-user-b-room-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 12px;
}

.adi-inns-user-b-room-card {
  background-color: #ffffff;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.adi-inns-user-b-room-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 30px rgba(0, 0, 0, 0.1);
}

.adi-inns-user-b-room-image-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.adi-inns-user-b-image-slider-inner {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.adi-inns-user-b-room-image-slider img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  flex-shrink: 0;
}

.adi-inns-user-b-slider-nav {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  padding: 0 10px;
}

.adi-inns-user-b-slider-nav button {
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 10px 10px 15px 10px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.5em;
  line-height: 1;
  transition: background 0.3s ease;
}

.adi-inns-user-b-slider-nav button:hover {
  background: rgba(0, 0, 0, 0.8);
}

.adi-inns-user-b-card-content {
  padding: 10px 25px 25px 25px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.adi-inns-user-b-room-type {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--color-link);
  margin: 0 0 10px 0;
}

.adi-inns-user-b-room-summary {
  font-size: 14px;
  color: #6c757d;
  margin-bottom: 5px;
}

.adi-inns-user-b-amenities-list {
  list-style-type: none;
  padding: 0;
  margin: 0 0 10px 0;
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.adi-inns-user-b-amenities-list li {
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  padding: 0px 10px;
  border-radius: 8px;
  font-size: 12px;
}

.adi-inns-user-b-book-button {
  display: block;
  width: 100%;
  padding: 10px 15px;
  background: linear-gradient(92deg, #53b2fe, #065af3);
  color: white;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
  border-radius: 10px;
  transition: background-color 0.3s ease, transform 0.2s ease;
  border: none;
  cursor: pointer;
  margin-top: auto;
}

.adi-inns-user-b-book-button:hover {
  background-color: #0056b3;
  transform: translateY(-2px);
}

.adi-inns-user-b-room-price {
  font-size: 18px;
  font-weight: 600;
  color: #000000;
  /* margin-top: -10px; */
  margin-bottom: 10px;
}

/* Message box for booking confirmation */
.adi-inns-user-b-message-box {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #333;
  color: white;
  padding: 20px 30px;
  border-radius: 10px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  display: none;
  text-align: center;
}

.adi-inns-user-b-message-box.adi-inns-user-b-show {
  display: block;
  animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Responsive design */
@media (max-width: 768px) {
  .adi-inns-user-b-room-cards-grid {
    grid-template-columns: 1fr;
  }
}

/* --- Modal Styling --- */
.adi-inns-user-b-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  display: none; /* Hidden by default */
  justify-content: center;
  align-items: center;
  z-index: 2099;
  overflow-y: auto;
  padding: 60px 0;
}

.adi-inns-user-b-modal-overlay.adi-inns-user-b-open {
  display: flex;
}

.adi-inns-user-b-modal {
  margin-top: 270px;
  background-color: #ffffff;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
  width: 90%;
  max-width: 700px;
  position: relative;
  transform: scale(0.9);
  opacity: 0;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

.adi-inns-user-b-modal-overlay.adi-inns-user-b-open .adi-inns-user-b-modal {
  transform: scale(1);
  opacity: 1;
}

.adi-inns-user-b-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.adi-inns-user-b-modal-header h3 {
  margin: 0;
  color: #1a1a1a;
  font-size: 1.5em;
}

.adi-inns-user-b-modal-close-btn {
  background: none;
  border: none;
  font-size: 1.8em;
  cursor: pointer;
  color: #6c757d;
  line-height: 1;
}

.adi-inns-user-b-modal-price {
  font-size: 1.2em;
  font-weight: 600;
  color: #007bff;
}

.adi-inns-user-b-modal-body .adi-inns-user-b-form-group {
  margin-bottom: 20px;
}

.adi-inns-user-b-modal-body label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
}

.adi-inns-user-b-modal-body input,
.adi-inns-user-b-modal-body select {
  width: 100%;
  padding: 12px;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  font-size: 1em;
}

.adi-inns-user-b-modal-body .adi-inns-user-b-form-row {
  display: flex;
  gap: 15px;
}

.adi-inns-user-b-modal-body
  .adi-inns-user-b-form-row
  .adi-inns-user-b-form-group {
  flex: 1;
}

.adi-inns-user-b-modal-book-btn {
  width: 100%;
  padding: 15px;
  background-color: #007bff;
  color: white;
  font-weight: 600;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.adi-inns-user-b-modal-book-btn:hover {
  background-color: #0056b3;
}
/* New styling for the hotel info card */
.adi-inns-user-b-info-card {
  width: fit-content;
  max-width: 600px;
  background-color: #fff;
  padding: 20px;
  height: fit-content;
  margin-bottom: 20px;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Container for rating section */
.adi-inns-user-b-info-card-rating {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: white;
  border-radius: 12px;
  padding: 8px;
  margin-bottom: 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Rating badge and text container */
.adi-inns-user-b-info-card-rating-group {
  display: flex;
  align-items: center;
  gap: 15px;
}

/* Rating number badge styling */
.adi-inns-user-b-info-card-rating-badge {
  background-color: #3b82f6;
  color: white;
  padding: 8px;
  border-radius: 12px;
  font-size: 18px;
  font-weight: bold;
}

.adi-inns-user-b-info-card-rating-text {
  display: flex;
  align-items: center;
  gap: 8px;
}

.adi-inns-user-b-info-card-rating-main {
  font-size: 18px;
  font-weight: bold;
  color: #1a1a1a;
}

.adi-inns-user-b-info-card-rating-count {
  font-size: 14px;
  color: #777;
}

.adi-inns-user-b-info-card-link {
  margin-left: 12px;
  color: #3b82f6;
  text-decoration: none;
  font-weight: bold;
}

.adi-inns-user-b-info-card-link:hover {
  text-decoration: underline;
}

hr {
  border: none;
  height: 1px;
  background-color: #e0e0e0;
  margin: 0;
}

/* Container for location section */
.adi-inns-user-b-info-card-location {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.adi-inns-user-b-info-card-location-group {
  display: flex;
  align-items: center;
  gap: 15px;
}

.adi-inns-user-b-info-card-location-icon svg {
  width: 40px;
  height: 40px;
  fill: #3b82f6;
}

.adi-inns-user-b-info-card-location-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.adi-inns-user-b-info-card-location-main {
  font-size: 18px;
  font-weight: bold;
  color: #1a1a1a;
}

.adi-inns-user-b-info-card-location-desc {
  font-size: 14px;
  color: #777;
}
/* Swiper section styling */

.adi-inns-user-b-both-swipers {
  gap: 16px;
}
.adi-inns-user-b-swiper-section {
  width: 100%;
  height: fit-content;
  /* max-width: 480px; */
  /* margin-bottom: 40px; */
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.adi-inns-user-b-swiper-section h2 {
  text-align: center;
  margin-bottom: 10px;
  color: #555;
}

/* Swiper wrapper to contain the slider and navigation buttons */
.adi-inns-user-b-swiper-wrapper {
  position: relative;
  width: 100%;
}

/* New styling for the image count text */
.adi-inns-user-b-swiper-image-count {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 14px;
  z-index: 10;
}

/* Core swiper styling for horizontal scroll and snapping */
.adi-inns-user-b-swiper-container {
  width: 100%;
  height: auto;
  display: flex; /* Use flexbox for a horizontal layout */
  overflow-x: scroll; /* Enable horizontal scrolling */
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
  scroll-snap-type: x mandatory; /* Snap to images after scrolling */
}

/* Individual image styling within the swiper */
.adi-inns-user-b-swiper-container img {
  width: 100%; /* Make each image take up the full width of the container */
  height: auto;
  aspect-ratio: 1000 / 600; /* Maintain aspect ratio */
  object-fit: cover;
  scroll-snap-align: center; /* Center the image in the scroll viewport */
  flex-shrink: 0; /* Prevent images from shrinking */
}

/* Hide scrollbars for a cleaner look */
.adi-inns-user-b-swiper-container::-webkit-scrollbar {
  display: none;
}
.adi-inns-user-b-swiper-container {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

/* Navigation button styling */
.adi-inns-user-b-swiper-nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 10px 15px;
  font-size: 24px;
  cursor: pointer;
  z-index: 10;
  user-select: none;
  transition: background-color 0.3s ease;
}

.adi-inns-user-b-swiper-nav-button:hover {
  background-color: rgba(0, 0, 0, 0.7);
}

.adi-inns-user-b-swiper-nav-button.adi-inns-user-b-swiper-left {
  left: 0;
  border-radius: 0 50% 50% 0;
}

.adi-inns-user-b-swiper-nav-button.adi-inns-user-b-swiper-right {
  right: 0;
  border-radius: 50% 0 0 50%;
}

/* Hidden state for buttons */
.adi-inns-user-b-swiper-nav-button.adi-inns-user-b-swiper-hidden {
  opacity: 0;
  pointer-events: none; /* Prevents clicks on the hidden button */
}
/* Review section styles - Modern UI */
.adi-inns-user-b-reviews-section {
  padding: 20px;
  border-radius: 16px;
  background-color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin-top: 20px;
}

.adi-inns-user-b-reviews-header {
  margin-bottom: 20px;
}

.adi-inns-user-b-reviews-header h2 {
  font-size: 24px;
  font-weight: bold;
  margin: 0;
}

.adi-inns-user-b-reviews-main {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

@media (min-width: 768px) {
  .adi-inns-user-b-reviews-main {
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start; /* Aligns items at the start of the cross axis */
  }
}

.adi-inns-user-b-reviews-panels {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media (min-width: 768px) {
  .adi-inns-user-b-reviews-left-panel {
    flex: 0 0 40%;
  }
  .adi-inns-user-b-reviews-right-panel {
    flex: 1;
  }
}

.adi-inns-user-b-rating-summary {
  display: flex;
  align-items: center;
  gap: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #e9ecef;
}

.adi-inns-user-b-rating-summary-badge {
  background-color: #3b82f6;
  color: white;
  padding: 15px 20px;
  border-radius: 12px;
  font-weight: bold;
  font-size: 24px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.adi-inns-user-b-rating-summary-text {
  display: flex;
  flex-direction: column;
}

.adi-inns-user-b-rating-summary-title {
  font-weight: bold;
  font-size: 18px;
}

.adi-inns-user-b-rating-summary-info {
  font-size: 14px;
  color: #777;
}

.adi-inns-user-b-rating-breakdown {
  margin-top: 20px;
}

.adi-inns-user-b-rating-breakdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.adi-inns-user-b-rating-breakdown-label {
  width: 80px;
  font-size: 14px;
  color: #555;
}

.adi-inns-user-b-progress-bar-container {
  flex-grow: 1;
  background-color: #e9ecef;
  border-radius: 4px;
  height: 8px;
  overflow: hidden;
}

.adi-inns-user-b-progress-bar {
  height: 100%;
  background-color: #3b82f6;
  border-radius: 4px;
}

.adi-inns-user-b-review-percent {
  font-size: 14px;
  width: 40px;
  text-align: right;
  color: #555;
}

.adi-inns-user-b-last-ratings {
  margin-top: 30px;
}

.adi-inns-user-b-last-ratings h3,
.adi-inns-user-b-review-categories h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
}

.adi-inns-user-b-last-ratings-list {
  display: flex;
  gap: 10px;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 10px;
}

.adi-inns-user-b-last-ratings-list::-webkit-scrollbar {
  height: 8px;
}

.adi-inns-user-b-last-ratings-list::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}

.adi-inns-user-b-last-ratings-item {
  background-color: #3b82f6;
  color: white;
  padding: 12px;
  border-radius: 10px;
  flex-shrink: 0;
  font-weight: bold;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.adi-inns-user-b-review-categories {
  margin-top: 30px;
}

.adi-inns-user-b-review-category-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #e9ecef;
}

.adi-inns-user-b-review-category-item:last-child {
  border-bottom: none;
}

.adi-inns-user-b-review-category-label {
  font-size: 16px;
  color: #555;
}

.adi-inns-user-b-review-category-score {
  background-color: #e9ecef;
  color: #333;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: bold;
  font-size: 14px;
}

.adi-inns-user-b-filter-sort-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 20px;
}

.adi-inns-user-b-filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.adi-inns-user-b-filter-group-label {
  font-weight: bold;
  color: #555;
  flex-basis: 100%;
}

.adi-inns-user-b-filter-button {
  padding: 8px 16px;
  background-color: #f0f0f0;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  font-size: 14px;
  transition: background-color 0.2s, color 0.2s;
}

.adi-inns-user-b-filter-button:hover {
  background-color: #e0e0e0;
}

.adi-inns-user-b-filter-button.active {
  background-color: #3b82f6;
  color: white;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.adi-inns-user-b-review-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.adi-inns-user-b-review-item {
  background-color: #fff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border: 1px solid #e9ecef;
}

.adi-inns-user-b-review-meta-line {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.adi-inns-user-b-review-rating-badge {
  background-color: #3b82f6;
  color: white;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: bold;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.adi-inns-user-b-review-user {
  font-weight: bold;
  font-size: 16px;
}

.adi-inns-user-b-review-user-group {
  font-size: 14px;
  color: #777;
}

.adi-inns-user-b-review-title {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 5px;
}

.adi-inns-user-b-review-text {
  line-height: 1.6;
  color: #555;
  margin-top: 10px;
}

.adi-inns-user-b-review-details {
  font-size: 14px;
  color: #777;
  margin-top: 15px;
}

.adi-inns-user-b-room-item {
  display: flex;
  gap: 15px;
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.adi-inns-user-b-room-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.adi-inns-user-b-room-image {
  width: 150px;
  height: 100px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}

.adi-inns-user-b-room-details {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.adi-inns-user-b-room-details h3 {
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 5px 0;
}

.adi-inns-user-b-room-details p {
  font-size: 14px;
  color: #555;
  margin: 0 0 10px 0;
}

.adi-inns-user-b-room-details ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  font-size: 12px;
  color: #777;
}

.adi-inns-user-b-room-details li {
  padding: 3px 8px;
  background-color: #f0f0f0;
  border-radius: 4px;
}

.adi-inns-user-b-sort-container {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 15px;
}

.adi-inns-user-b-sort-container select {
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 14px;
  background-color: white;
  cursor: pointer;
}

/* Pagination styles */
.adi-inns-user-b-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
}

.adi-inns-user-b-pagination-button {
  padding: 10px 14px;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  transition: background-color 0.2s, color 0.2s;
}

.adi-inns-user-b-pagination-button:hover:not(.disabled):not(.active) {
  background-color: #e0e0e0;
}

.adi-inns-user-b-pagination-button.active {
  background-color: #3b82f6;
  color: white;
  border-color: #3b82f6;
}

.adi-inns-user-b-pagination-button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Map Section Styles */
#adi-inns-user-b-map {
  height: 100%;
  width: 300px;

  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  /* margin-top: 20px; */
  z-index: 0;
}

.adi-inns-user-b-map-card {
  background-color: #fff;
  /* width: 100%; */
  padding: 10px;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  /* margin-top: 20px; */
}
@media (min-width: 1200px) {
  .adi-inns-user-b-map-card {
    width: 100%;
    min-width: 450px;
  }
  #adi-inns-user-b-map {
    width: 100%;
  }
  /* .adi-inns-separate-swiper-container {
    min-width: 1100px;
  } */
}
.adi-inns-user-b-map-card h2 {
  font-size: 20px;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 10px;
}

.adi-inns-user-b-card {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
}

.adi-inns-user-b-card-header {
  font-weight: 600;
  font-size: 1.125rem;
  margin-bottom: 8px;
}

.adi-inns-user-b-guest-title {
  font-weight: 600;
  font-size: 1.125rem;
  margin-bottom: 8px;
}

.adi-inns-user-b-input-group {
  display: flex;
  gap: 8px;
}

.adi-inns-user-b-input-group > select,
.adi-inns-user-b-input-group > input {
  flex: 1;
  padding: 8px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
}

.adi-inns-user-b-add-guest-btn {
  color: #2563eb;
  font-weight: 600;
  cursor: pointer;
  margin-top: 8px;
  display: inline-block;
  background: none;
  border: none;
  padding: 0;
}

.adi-inns-user-b-login-prompt {
  background-color: #e5e7eb;
  padding: 12px;
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
}

.adi-inns-user-b-login-btn {
  background-color: white;
  border: 1px solid #d1d5db;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
}

.adi-inns-user-b-error-message {
  color: #ef4444;
  font-size: 0.75rem;
  margin-top: 4px;
  display: none;
}
.adi-inns-user-b-error-message.visible {
  display: block;
}

.adi-inns-user-b-list {
  list-style: disc;
  margin-left: 20px;
  color: #4b5563;
  font-size: 0.875rem;
}
.adi-inns-user-b-list li {
  margin-bottom: 0.5rem;
}
.adi-inns-user-b-link {
  color: #2563eb;
  text-decoration: none;
}
.adi-inns-user-b-link:hover {
  text-decoration: underline;
}
.adi-inns-user-search-pref-booking-container {
  display: flex;
  align-items: center;
  background-color: white;
  padding: 5px 20px 5px 0;
  border-radius: 12px;
  max-width: 1200px;
  width: 100%;
  flex-wrap: wrap;
  gap: 20px;
}

.adi-inns-user-search-pref-text-section {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  padding-right: 20px;
}

.adi-inns-user-search-pref-main-heading {
  font-size: 20px;
  font-weight: bold;
  color: #333;
}

.adi-inns-user-search-pref-sub-heading {
  font-size: 14px;
  color: #666;
  margin-top: 4px;
}

.adi-inns-user-search-pref-input-section {
  display: flex;
  align-items: center;
  width: 100%;
  background-color: white;
  /* justify-content: flex-start; */
  margin-top: 8px;
  padding: 20px;
  border-radius: 8px;
  gap: 15px;
  /* flex-wrap: wrap; */
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.adi-inns-user-search-pref-select-wrapper {
  position: relative;
  /* flex-grow: 1; */
  /* min-width: 180px; */
  text-wrap: nowrap;
}

/* Styling for both select and input elements for consistency */
.adi-inns-user-search-pref-select-wrapper select,
.adi-inns-user-search-pref-select-wrapper input {
  width: 100%;
  /* max-width: 180px; */
  padding: 4px 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  font-size: 18px;
  color: #333;
  /* background-color: #f7f7f7; */
  box-sizing: border-box; /* To include padding and border in the element's total width and height */
}
.adi-inns-user-search-pref-select-wrapper input {
  margin-left: 8px;
  min-width: 180px;
}

/* Custom styling for the rooms & guests input */
.adi-inns-user-search-pref-custom-dropdown {
  padding: 7.5px 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  color: #333;
  /* background-color: #f7f7f7; */
  display: flex;
  justify-content: center;
  align-items: center;
}

.adi-inns-user-search-pref-custom-dropdown
  .adi-inns-user-search-pref-display-text {
  font-weight: bold;
  color: #000;
}

.adi-inns-user-search-pref-select-wrapper select:focus,
.adi-inns-user-search-pref-select-wrapper input:focus,
.adi-inns-user-search-pref-custom-dropdown:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

.adi-inns-user-search-pref-button-section {
  flex-shrink: 0;
}

.adi-inns-user-search-pref-update-button {
  background-color: #007bff;
  color: white;
  border: none;
  padding: 12px 25px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.adi-inns-user-search-pref-update-button:hover {
  background-color: #0056b3;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .adi-inns-user-search-pref-booking-container {
    flex-direction: column;
    align-items: stretch;
  }

  .adi-inns-user-search-pref-text-section {
    padding-right: 0;
    margin-bottom: 15px;
    text-align: center;
  }

  .adi-inns-user-search-pref-input-section {
    flex-direction: column;
    gap: 10px;
  }

  .adi-inns-user-search-pref-select-wrapper {
    min-width: 100%;
  }

  .adi-inns-user-search-pref-button-section {
    width: 100%;
    text-align: center;
  }

  .adi-inns-user-search-pref-update-button {
    width: 100%;
  }
}

/* Custom dropdown for Rooms & Guests */
.adi-inns-user-guest-select-drop-down {
  position: relative;
  z-index: 100;
  width: 100%;
  /* max-width: 270px; */
}
.adi-inns-user-search-pref-dropdown-content {
  display: none;
  position: absolute;
  background-color: white;
  max-width: 275px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  padding: 12px;
  z-index: 100;
  border-radius: 8px;
  top: 100%;
  left: 0;
  margin-top: 5px;
  text-wrap: wrap;
}
.adi-inns-user-search-pref-dropdown-content .adi-inns-user-list-view {
  z-index: 100;
}
.adi-inns-user-search-pref-dropdown-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #eee;
}
.adi-inns-user-search-pref-dropdown-item:last-child {
  border-bottom: none;
}

.adi-inns-user-search-pref-dropdown-label {
  display: flex;
  flex-direction: column;
}

.adi-inns-user-search-pref-dropdown-label small {
  font-size: 12px;
  color: #999;
}

.adi-inns-user-search-pref-counter {
  display: flex;
  align-items: center;
}

.adi-inns-user-search-pref-counter-btn {
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  cursor: pointer;
}

.adi-inns-user-search-pref-counter-value {
  width: 30px;
  text-align: center;
  font-weight: bold;
}

.adi-inns-user-search-pref-apply-btn {
  background-image: linear-gradient(to right, #007bff, #0056b3);
  color: white;
  border: none;
  padding: 10px;
  border-radius: 8px;
  width: 100%;
  margin-top: 10px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
}
/* General container styling */
.adi-inns-user-comparison-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 0;
}

.adi-inns-user-comparison-card {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  width: 300px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.adi-inns-user-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.adi-inns-user-details {
  color: #333;
  padding: 16px;
}

.adi-inns-user-details-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.adi-inns-user-name {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
}

.adi-inns-user-rating {
  font-size: 0.9rem;
  color: #777;
}

.adi-inns-user-price {
  margin-top: 8px;
  font-size: 1.1rem;
  font-weight: 500;
  color: #007bff;
}

.adi-inn-user-comparison-separator {
  border-bottom: 1px solid #e0e0e0;
  margin: 12px 0;
}

.adi-inns-user-additional-details h4,
.optional-extras h4 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.adi-inns-user-additional-details h4 {
  background-color: #fafafa;
  padding: 5px;
  border-radius: 8px;
}
.room-type {
  margin-bottom: 16px;
}

.room-type strong {
  display: block;
  font-size: 1rem;
  color: #222;
}

.room-type .count,
.room-type .price,
.room-type .summary {
  display: block;
  font-size: 0.9rem;
  color: #555;
  margin: 4px 0;
}

.room-type .amenities {
  display: flex;
  /* flex-wrap: wrap; */
  align-items: center;
  overflow-x: auto;
  gap: 8px;
  padding: 4px 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

.room-type .amenities::-webkit-scrollbar {
  height: 6px;
}

.room-type .amenities::-webkit-scrollbar-track {
  background: transparent;
}

.room-type .amenities::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}

.room-type .amenities span {
  background-color: #f0f0f0;
  padding: 6px 12px;
  border-radius: 8px;
  white-space: nowrap;
  font-size: 0.85rem;
  /* font-size: 0.6rem; */
  color: #444;
  flex-shrink: 0;
}

.optional-extras {
  font-size: 0.9rem;
}
.optional-extras h4 {
  background-color: #fafafa;
  padding: 5px;
  border-radius: 8px;
}
.optional-extras div {
  padding: 8px;
  /* background-color: #fafafa; */
  border-radius: 6px;
  margin-bottom: 8px;
  transition: background-color 0.3s;
}

.optional-extras div:hover {
  background-color: #f0f0f0;
}

.optional-extras .extra-name {
  font-weight: 500;
}

.optional-extras .extra-price {
  color: #777;
}
.adi-inns-user-mobile-hotel-search-booking-container {
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 900px;
  overflow: hidden;
  box-sizing: border-box;
}

.adi-inns-user-mobile-hotel-search-booking-row {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.adi-inns-user-mobile-hotel-search-input-group {
  flex: 1;
  padding: 1rem;
  position: relative;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
  border-bottom: 1px solid #e0e0e0;
}

.adi-inns-user-mobile-hotel-search-input-group:hover {
  background-color: #f9f9f9;
}

.adi-inns-user-mobile-hotel-search-input-group:not(:last-child) {
  border-right: none;
}

.adi-inns-user-mobile-hotel-search-input-label {
  font-size: 0.8rem;
  color: #555;
  font-weight: 500;
  display: block;
  margin-bottom: 0.25rem;
}

.adi-inns-user-mobile-hotel-search-input-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.adi-inns-user-mobile-hotel-search-sub-value {
  font-size: 0.9rem;
  font-weight: 400;
  color: #888;
}

.adi-inns-user-mobile-hotel-search-arrow {
  color: #888;
  font-weight: 700;
  font-size: 0.8rem;
}

.adi-inns-user-mobile-hotel-search-location-container {
  /* background-color: #f6f9fc; */
  border-bottom: 1px solid #e0e0e0;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  display: flex;
  flex-direction: column;
}

.adi-inns-user-mobile-hotel-search-location-search-group {
  padding: 0 1rem;
  position: relative;
  /* border-bottom: 1px solid #e0e0e0; */
}

.adi-inns-user-mobile-hotel-search-location-display-group {
  padding: 0 1rem 1rem 1rem;
  position: relative;
}

.adi-inns-user-mobile-hotel-search-location-value {
  font-size: 2.25rem;
  font-weight: 700;
  margin-top: -0.25rem;
}
.adi-inns-user-mobile-hotel-search-location-sub-value {
  font-size: 1rem;
  color: #555;
  margin-top: 0.25rem;
}

.adi-inns-user-mobile-hotel-search-rooms-guests-value {
  font-size: 1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
}

.adi-inns-user-mobile-hotel-search-rooms-guests-value span {
  margin-right: 0.5rem;
}

/* Modal styling adjustments for mobile responsiveness */
.modal-body {
  padding: 0;
}
.modal-content {
  border-radius: 1rem;
  border: none;
}

#checkin-checkout-input {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  cursor: pointer;
}

.adi-inns-user-mobile-hotel-search-date-display-container {
  display: flex;
  width: 100%;
}

.adi-inns-user-mobile-hotel-search-check-date-group {
  flex: 1;
}

.adi-inns-user-mobile-hotel-search-search-button {
  padding: 10px 1rem;
  /* width: 200px; */
  background-color: #1a73e8;
  color: white;
  font-weight: 600;
  font-size: 1.2rem;
  text-align: center;
  /* border-top: 1px solid #e0e0e0; */
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
  border-radius: 0.75rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  margin: 0 50px 30px 50px;
}

.adi-inns-user-mobile-hotel-search-search-button:hover {
  background-color: #1558b3;
}

/* Dropdown Styles */
.adi-inns-user-mobile-hotel-search-dropdown-container {
  width: 100%;
  background-color: white;

  /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); */
  padding: 2rem;
  z-index: 1050;
  display: none; /* Hidden by default */
  margin-bottom: 40px;
  border-bottom: 1px solid #e0e0e0;
}

.adi-inns-user-mobile-hotel-search-dropdown-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid #f0f2f5;
}

.adi-inns-user-mobile-hotel-search-dropdown-row:last-child {
  border-bottom: none;
}

.adi-inns-user-mobile-hotel-search-dropdown-row-label {
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  font-weight: 500;
}

.adi-inns-user-mobile-hotel-search-dropdown-row-label
  .adi-inns-user-mobile-hotel-search-sub-value {
  font-size: 0.8rem;
  margin-top: 0.25rem;
}

.adi-inns-user-mobile-hotel-search-counter {
  display: flex;
  align-items: center;
}

.adi-inns-user-mobile-hotel-search-counter-btn {
  background-color: transparent;
  border: 1px solid #ccc;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  cursor: pointer;
  color: #555;
  transition: background-color 0.2s ease;
}

.adi-inns-user-mobile-hotel-search-counter-btn:hover {
  background-color: #f0f0f0;
}

.adi-inns-user-mobile-hotel-search-counter-value {
  width: 40px;
  text-align: center;
  font-weight: 600;
  font-size: 1.1rem;
}

.adi-inns-user-mobile-hotel-search-apply-btn {
  display: block;
  width: 80%;
  padding: 0.75rem;
  background-color: var(--color-link);
  color: white;
  border: none;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  justify-self: center;
  cursor: pointer;
}

.adi-inns-user-mobile-hotel-search-apply-btn:hover {
  background-color: #1558b3;
}

/* New styles for search and location input fields */
.adi-inns-user-mobile-hotel-search-search-input-container {
  display: flex;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
}

.adi-inns-user-mobile-hotel-search-search-input-container i {
  font-size: 1.25rem;
  color: #888;
  margin-right: 0.75rem;
}

.adi-inns-user-mobile-hotel-search-search-input-container input {
  border: none;
  outline: none;
  background: transparent;
  font-size: 1rem;
  font-weight: 500;
  color: #000;
  width: 100%;
}

.adi-inns-user-mobile-hotel-search-location-value-container {
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
}

.adi-inns-user-mobile-hotel-search-location-value-container input {
  border: none;
  outline: none;
  background: transparent;
  font-size: 1rem;
  font-weight: 500;
  color: #000;
  width: 100%;
}

.adi-inns-user-mobile-hotel-search-location-value-container
  .adi-inns-user-mobile-hotel-search-sub-value {
  font-size: 0.8rem;
}

.adi-inns-user-mobile-hotel-search-date-container {
  display: flex;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  position: relative;
}

.adi-inns-user-mobile-hotel-search-date-container
  .adi-inns-user-mobile-hotel-search-date-label {
  font-weight: 600;
  color: #000;
  margin-right: 0.5rem;
}

.adi-inns-user-mobile-hotel-search-date-container
  .adi-inns-user-mobile-hotel-search-date-value {
  font-weight: 400;
  color: #555;
}

/* New style for the rooms & guests group */
.adi-inns-user-mobile-hotel-search-rooms-guests-container {
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
}
.adi-inns-user-mobile-search-modal-dialog {
  width: 100vw !important;
  height: 100vh !important;
}
.adi-inns-user-mobile-search-modal-content {
  height: 100%;
  min-width: 100vw !important;
  border-radius: 0;
}
.adi-inns-separate-swiper-container {
  gap: 12px;
}
@media (min-width: 768px) and (max-width: 1200px) {
  .adi-inns-user-b-both-swipers {
    flex-wrap: wrap;
    width: 100%;
    gap: 0;
    /* flex-direction: column; */
  }
  .adi-inns-user-b-map-card {
    width: 100%;
    height: 300px;
  }
  #adi-inns-user-b-map {
    width: 100%;
  }
  .adi-inns-separate-swiper-container {
    margin-bottom: 20px;
  }
}
/* media queries */
@media (min-width: 360px) and (max-width: 767px) {
  .adi-inns-separate-swiper-container {
    flex-direction: column;
  }
  .adi-inns-user-container {
    padding: 20px;
  }
  .adi-inns-user-list-view .adi-inns-user-hotel-image-container {
    /* flex: 0 0 300px; */

    max-width: 100%;
    min-height: 100%;
  }
  .adi-inns-user-hotel-image-swiper img {
    min-width: 100%;
    min-height: 100%;
  }
  .adi-inns-user-list-view .adi-inns-user-hotel-card {
    flex-direction: column;
    /* height: auto; */
    text-align: center;
    justify-content: center;
  }
  .adi-inns-user-list-view .adi-inns-user-hotel-details {
    padding: 20px 0 0 0;
  }
  .adi-inns-user-hotel-location {
    display: flex;
    justify-content: center;
  }
  .adi-inns-empty-div {
    display: none;
  }
  .adi-inns-user-controls {
    width: 100%;
    /* flex-direction: column; */
    justify-content: space-around;
    align-items: center;
  }
  .adi-inns-user-toggle-button {
    display: none;
  }
  .leaflet-bottom {
    z-index: 999 !important;
  }
  /* for booking page */
  .adi-inns-user-b-container {
    padding: 20px 5px;
  }
  .adi-inns-user-b-room-image-slider img {
    height: 200px;
  }
  .adi-inns-user-b-card-content {
    padding: 10px 25px;
  }
  .adi-inns-user-b-room-price {
    font-size: 1.2em;
    font-weight: 600;
    color: #007bff;
    margin-top: -10px;
    margin-bottom: 10px;
  }
  .adi-inns-user-b-amenities-list {
    margin-bottom: 10px;
  }
  .adi-inns-user-b-location-rating {
    margin: 0 0 10px 0;
  }
  .adi-inns-user-list-view .adi-inns-user-hotel-details-top {
    align-items: center;
  }
  /* .adi-inns-user-view-toggle-btn {
    z-index: 2000;
  } */
  #map-container {
    position: fixed;
    height: 100vh; /* Takes up 80% of the viewport height */
    width: 100vw !important;
    left: 0 !important;
    top: 60px;
    border-radius: 0px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);

    z-index: 10;
  }
  #map-toggle-mobile-list-btn {
    display: block;
    position: fixed;
    top: 70px;
    right: 20px;
    z-index: 20;
    background-color: white;
    padding: 5px;
  }
  .adi-inns-user-b-swiper-section {
    margin-bottom: 0;
  }
  .adi-inns-user-b-both-swipers {
    flex-direction: column;
    align-items: center;
  }

  .adi-inns-user-b-inner-container {
    padding: 10px;
  }
  .adi-inns-user-b-modal-overlay {
    padding: 20px 0;
  }
  .adi-inns-user-b-modal {
    /* margin-top: 330px; */
    width: 100%;
    height: fit-content;
  }
  .leaflet-popup-content {
    width: 150px;
  }
  .adi-inns-user-b-map-card {
    padding: 10px 0 0 0;
  }
  #adi-inns-user-b-map {
    border-radius: 0 0 8px 8px;
    margin-top: 10px;
  }
  .adi-inns-user-b-map-card > h2 {
    padding: 0px 15px;
    margin-bottom: 0;
  }
  .adi-inns-user-b-last-ratings-list {
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    scrollbar-width: none; /* For Firefox */
    overflow-x: auto; /* Use 'auto' instead of 'scroll' for a more flexible experience */
    touch-action: pan-x; /* Use 'pan-x' to enable horizontal scrolling via touch */
    /* Add 'white-space: nowrap;' to keep all items on a single line */
    white-space: nowrap;
  }
  .adi-inns-user-b-last-ratings-list::-webkit-scrollbar {
    display: none;
  }
  .adi-inns-user-search-pref-booking-container {
    display: none;
  }
}

/* ____________________ADI INNS LANDING PAGE STYLES ______________________________ */
.adi-inns-landing-page-body {
  /* background-color: #f2f2f2; */
  background-color: white;
  width: 100vw;
  height: fit-content;
}
.adi-inns-hmp-content {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 20px 60px 60px 60px;

  height: fit-content;
}
.adi-inns-hmp-container {
  width: 100%;

  padding: 18px;
  background-color: #f8f7f9;
  border-radius: 8px;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease-in-out;
}
.adi-inns-hmp-page-titles {
  align-items: center;
}
/* Specific styles for H1 heading using a class */
.adi-inns-hmp-page-title {
  margin: 0;
  font-weight: 700;
  color: #2c3e50;
  /* text-align: center; */
  font-size: 2.5rem;
}

/* Specific styles for H2 headings using a class */
.adi-inns-hmp-section-title {
  margin: 0;
  font-weight: 700;
  /* text-align: center; */
  font-size: 1.75rem;

  color: #34495e;
}

/* Swiper container styles */
.adi-inns-hmp-swiper-container,
.adi-inns-hmp-top-hotel-swiper-container {
  display: flex;
  overflow-x: scroll;
  gap: 1.5rem;
  padding: 1rem 0;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
.adi-inns-hmp-top-hotel-swiper-container {
  /* flex-wrap: wrap; */
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 768px) and (max-width: 993px) {
  .adi-inns-hmp-top-hotel-swiper-container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 360px) and (max-width: 767px) {
  .adi-inns-hmp-top-hotel-swiper-container {
    grid-template-columns: repeat(1, 1fr);
  }
}
.adi-inns-hmp-swiper-container::-webkit-scrollbar,
.adi-inns-hmp-top-hotel-swiper-container::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* Swiper wrapper for navigation buttons */
.adi-inns-hmp-top-city-swiper-wrapper {
  position: relative;
  padding: 0; /* Space for buttons */
}

/* Modern button styles for the city and hotel image sliders */
.adi-inns-hmp-top-city-swiper-nav-btn,
.adi-inns-hmp-top-hotel-image-swiper button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(8px);
  color: #34495e;
  border: none;
  cursor: pointer;
  padding: 0 0 4px 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 1.5rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.8;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

.adi-inns-hmp-top-city-swiper-nav-btn:hover,
.adi-inns-hmp-top-hotel-image-swiper button:hover {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
  background-color: rgba(255, 255, 255, 0.6);
}

.adi-inns-hmp-top-city-prev-btn {
  left: 10px;
}

.adi-inns-hmp-top-city-next-btn {
  right: 10px;
}

.adi-inns-hmp-top-city-card,
.adi-inns-hmp-top-hotel-card {
  flex: 0 0 auto;
  width: 300px;
  scroll-snap-align: center;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.3s ease-in-out;
  cursor: pointer;
  border: 1px solid #e0e0e0;
}

.adi-inns-hmp-top-city-card {
  position: relative;
  width: 250px; /* Needed for absolute positioning of overlay */
}
.adi-inns-hmp-top-hotel-card {
  width: 100%;
}
.adi-inns-hmp-top-city-card:hover,
.adi-inns-hmp-top-hotel-card:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}

.adi-inns-hmp-top-city-image {
  width: 100%;
  height: 150px;

  object-fit: cover;
  display: block;
  transition: transform 0.3s ease-in-out;
}

.adi-inns-hmp-top-hotel-image {
  width: 100%;
  height: 250px;
  object-fit: cover;
  flex-shrink: 0;
}

.adi-inns-hmp-top-hotel-card-content {
  padding: 1.5rem;
  text-align: center;
}

/* Specific style for h3 inside hotel card content */
.adi-inns-hmp-top-hotel-card-content h3 {
  margin-top: 0;
  font-weight: 700;
  font-size: 1.5rem;
  margin: 0 0 0.5rem 0;
}

.adi-inns-hmp-top-hotel-card-content p {
  font-size: 1rem;
  margin: 0;
  color: #7f8c8d;
}

.adi-inns-hmp-top-hotel-card .adi-inns-hmp-top-hotel-card-content {
  text-align: left;
  padding-top: 0;
}

.adi-inns-hmp-top-hotel-image-swiper {
  position: relative;
  overflow: hidden;
}

.adi-inns-hmp-top-hotel-image-slider {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.adi-inns-hmp-top-hotel-image-swiper .adi-inns-hmp-top-hotel-prev-btn {
  left: 10px;
}

.adi-inns-hmp-top-hotel-image-swiper .adi-inns-hmp-top-hotel-next-btn {
  right: 10px;
}

/* Styles for the rating label */
.adi-inns-hmp-top-hotel-rating-label {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 0.25rem 0.75rem;
  border-radius: 15px;
  font-size: 0.875rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  z-index: 5;
}

.adi-inns-hmp-top-hotel-rating-label .adi-inns-hmp-top-hotel-star-icon {
  color: #f1c40f;
}

/* Styles for the hotel info overlay */
.adi-inns-hmp-top-hotel-info-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
  padding: 1rem;
  padding-top: 3rem; /* Extra padding to fade in the gradient */
  color: white;
  z-index: 4;
}

/* Specific style for h3 inside hotel info overlay */
.adi-inns-hmp-top-hotel-info-overlay h3 {
  margin-top: 0;
  font-weight: 700;
  font-size: 1.25rem;
  margin: 0;
  color: white;
}

/* Styles for the city name overlay */
.adi-inns-hmp-top-city-info-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
  padding: 1.5rem 1rem;
  color: white;
  z-index: 4;
  text-align: center;
}

/* Specific style for h3 inside city info overlay */
.adi-inns-hmp-top-city-info-overlay h3 {
  margin-top: 0;
  font-weight: 700;
  font-size: 1.5rem;
  margin: 0;
  color: white;
}

.adi-inns-hmp-top-hotel-features-list {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0 0;
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  cursor: grab;
}

.adi-inns-hmp-top-hotel-features-list::-webkit-scrollbar {
  display: none;
}

.adi-inns-hmp-top-hotel-features-list.adi-inns-hmp-active {
  cursor: grabbing;
}

.adi-inns-hmp-top-hotel-features-list li {
  background-color: rgba(255, 255, 255, 0.2);
  padding: 0.25rem 0.75rem;
  border-radius: 15px;
  display: inline-block;
  font-size: 0.875rem;
  color: #ecf0f1;
  flex-shrink: 0; /* Prevents shrinking */
  backdrop-filter: blur(4px);
}

/* New spinner animation CSS */
.adi-inns-hmp-spinner {
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-left-color: #2c3e50;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
  margin: 2rem auto; /* Center the spinner */
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Animation Keyframes */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(20px);
  }
}

/* Apply animation to hotel cards */
.adi-inns-hmp-top-hotel-card {
  animation: fadeInUp 0.5s ease-out forwards;
}
.adi-inns-listing-redirect-btn-container {
  display: flex;
  justify-content: flex-end;
}
/* .adi-inns-listing-redirect-btn {
  border: none;
  background-color: transparent;
  color: red;
} */
.adi-inns-listing-redirect-btn {
  /* Box model */
  border: 2px solid #007bff;
  border-radius: 5px;
  padding: 8px 24px;

  /* Typography */
  font-family: "Segoe UI", "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #007bff;
  text-decoration: none;
  text-transform: uppercase;

  /* Interaction */
  background-color: transparent;
  cursor: pointer;
  transition: all 0.3s ease;
}

.adi-inns-listing-redirect-btn:hover {
  background-color: #007bff;
  color: #fff;
}
/* NEW ADI INNS SEARCH BAR STYLING  */
/* .adi-inns-user-search-bar-container {
  width: 100%;
} */
.adi-inns-user-search-bar-wrapper {
  padding: 20px 60px;
  width: 100%;
  margin-bottom: 15px;
}
.search-bar-input-pref-search-container-wrapper {
  background-color: #f8f7f9;
  position: relative;
  width: 100%;
  padding: 28px 28px 50px 28px;
  /* background-color: white; */
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}
.search-bar-input-pref-search-container {
  width: 100%;
  position: relative;
  max-width: 900px;
  background-color: transparent;
  width: 100%;
}
.adi-inns-user-search-container {
  display: flex;
  position: relative;
  align-items: center;
  width: 100%;

  padding: 10px 20px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.adi-inns-user-search-icon {
  height: 20px;
  width: 20px;
  margin-right: 10px;
}

.adi-inns-user-search-input {
  flex-grow: 1;
  border: none;
  outline: none;
  font-size: 16px;
  color: #333;
}
.adi-inns-search-bar-search-btn {
  position: absolute;
  display: block;
  bottom: -15%;
  width: 100%;
  max-width: 490px;
  font-size: 20px;
  padding: 13px 15px;
  font-size: 24px;
  background: linear-gradient(92deg, #53b2fe, #065af3);
  color: white;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
  border-radius: 10px;
  transition: background-color 0.3s ease, transform 0.2s ease;
  border: none;
  cursor: pointer;
  margin-top: auto;
}
.adi-inns-search-bar-search-btn:hover {
  background-color: #0056b3;
  transform: translateY(-2px);
}
.adi-inns-mic-btn-gr {
  background: linear-gradient(92deg, #53b2fe, #065af3);
}
.adi-inns-user-search-suggestions-container {
  position: absolute;
  display: flex;
  align-items: center;
  width: 100%;
  left: 0;
  top: 70px;
  padding: 20px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  z-index: 200;
  height: 200px;
}
/* STYLING FOR HOTEL REVIEW FORM */
.adi-inns-user-b-form-review-form-container {
  background-color: #fff;
  padding: 40px;
  border-radius: 8px;
  /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); */
  max-width: 600px;
  width: 100%;
}

.adi-inns-user-b-form-heading {
  font-size: 24px;
  font-weight: bold;
  color: #333;
  margin-bottom: 20px;
  text-align: center;
}

.adi-inns-user-b-form-form-group {
  margin-bottom: 20px;
}

.adi-inns-user-b-form-form-group label {
  display: block;
  font-weight: 600;
  font-size: 16px;
  color: #555;
  margin-bottom: 8px;
}

.adi-inns-user-b-form-form-group input,
.adi-inns-user-b-form-form-group textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  box-sizing: border-box; /* To include padding and border in the element's total width and height */
}

.adi-inns-user-b-form-form-group textarea {
  min-height: 150px;
  resize: vertical;
}

.adi-inns-user-b-form-star-rating {
  display: flex;
  justify-content: center;
  gap: 5px;
  font-size: 30px;
  cursor: pointer;
  user-select: none;
  margin-right: 20px;
}

.adi-inns-user-b-form-star {
  color: #ccc;
  transition: color 0.2s ease-in-out;
}

.adi-inns-user-b-form-star.filled {
  color: #ffd700;
}

.adi-inns-user-b-form-star-rating:hover .adi-inns-user-b-form-star {
  color: #ffd700;
}

.adi-inns-user-b-form-star-rating
  .adi-inns-user-b-form-star:hover
  ~ .adi-inns-user-b-form-star {
  color: #ccc;
}

.adi-inns-user-b-form-submit-button {
  display: block;
  width: 100%;
  padding: 15px;
  background-color: #3b82f6;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease-in-out;
}

.adi-inns-user-b-form-submit-button:hover {
  background-color: #0056b3;
}
.adi-inns-user-b-form-form-group-rating-container label,
div {
  margin: 0;
}
.adi-inns-user-b-anonymous-review-checkbox-container {
  display: flex;
  align-items: center;
  background-color: white;
  margin-bottom: 20px;
  border-radius: 8px;
}

.adi-inns-user-b-anonymous-review-checkbox-container input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
  outline: none;
  position: relative;
  transition: all 0.2s ease-in-out;
}

.adi-inns-user-b-anonymous-review-checkbox-container
  input[type="checkbox"]:checked {
  background-color: #3b82f6;
  border-color: #3b82f6;
}

.adi-inns-user-b-anonymous-review-checkbox-container
  input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 12px;
  border: solid white;
  border-width: 0 3px 3px 0;
  transform: translate(-50%, -50%) rotate(45deg);
}

.adi-inns-user-b-anonymous-review-checkbox-container label {
  user-select: none;
  margin-left: 0.75rem;
  font-size: 1rem;
  color: #333;
  cursor: pointer;
}
/* media queries for responsiveness */
@media (min-width: 360px) and (max-width: 767px) {
  .adi-inns-hmp-content {
    padding: 0;
  }
  .adi-inns-hmp-section-title {
    font-size: 1rem;
    color: var(--color-primary);
  }
  .adi-inns-hmp-page-title {
    font-size: 18px;
    color: var(--color-link);
  }
  .adi-inns-listing-redirect-btn {
    padding: 3px 5px;
    font-size: 12px;
  }
  .adi-inns-user-search-pref-select-wrapper input {
    margin-left: 0;
  }
  .adi-inns-check-in-check-out-divs {
    display: none;
  }
  .adi-inns-user-b-map-card {
    overflow: hidden;
    padding-right: 10px;
  }
  #adi-inns-user-b-map {
    height: 250px;
    width: 100%;
    margin: 0 10px 10px 10px;
  }
  .adi-inns-user-b-title-rating-container {
    flex-direction: column;
  }
  .adi-inns-user-b-info-card-rating {
    display: none;
  }
  .adi-inns-user-b-map-card,
  .adi-inns-user-b-both-swipers {
    width: 100%;
  }
  .adi-inns-user-search-bar-wrapper {
    display: none;
  }
  .adi-inns-user-header {
    margin-bottom: 0;
    padding-top: 0;
    margin-top: 0;
  }
  .adi-inns-user-comparison-grid {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media (min-width: 360px) and (max-width: 400px) {
  .adi-inns-hmp-page-titles {
    flex-direction: column;
  }
}
@media (min-width: 768px) and (max-width: 993px) {
  .adi-inns-user-search-pref-input-section {
    flex-wrap: wrap;
  }
  .adi-inns-user-search-pref-select-wrapper {
    min-width: 100%;
  }
}
/* Responsive design */
/* @media (max-width: 768px) {
  body {
    padding: 1rem;
  }
  .adi-inns-hmp-container {
    padding: 1rem;
  }
  .adi-inns-hmp-page-title {
    font-size: 2rem;
  }
  .adi-inns-hmp-section-title {
    font-size: 1.5rem;
  }
  .adi-inns-hmp-top-city-card,
  .adi-inns-hmp-top-hotel-card {
    width: 250px;
  }
  .adi-inns-hmp-top-city-swiper-nav-btn,
  .adi-inns-hmp-top-hotel-image-swiper button {
    width: 30px;
    height: 30px;
  }
  .adi-inns-hmp-top-city-swiper-wrapper {
    padding: 0 40px;
  }
} */
.adi-menu-modification-body {
  padding: 30px 80px 30px 80px;
  letter-spacing: 0;
}
.adi-menu-modification-content {
  width: 100%;
  height: 100%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  /* box-shadow: var(--shadow-default); */
  padding: 10px;
  max-height: 700px;
  overflow-y: auto;
  scrollbar-width: thin;
}
.your-menu-heading {
  margin: 0;
}
.adi-menu-modification-dishes-container {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  width: 100%;
}
.adi-menu-modification-dish-card {
  width: 100%;
  /* max-width: 400px; */
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
  padding: 8px 12px 8px 8px;

  gap: 16px;
  transition: transform 0.2s ease-in-out;
  border: 1px solid #e5e7eb;
}
.adi-menu-modification-dish-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
}
.adi-menu-modification-card-img-container {
  width: fit-content;
  min-width: 79.999px;
  max-width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
  overflow: hidden;
}
.adi-menu-modification-card-img {
  /* width: 80px; */
  min-width: inherit;
  max-width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
}
.adi-menu-modification-dish-card-name {
  width: 100%;
  font-size: 1.25rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-width: 200px;
}
.adi-menu-modification-dish-card-details-btns {
  width: 100%;
  justify-content: space-between;
}
.adi-menu-modification-dish-card-price {
  font-weight: 600;
  color: var(--color-primary);
}
.adi-menu-edit-modal-image {
  height: 300px;
}

.adi-menu-edit-modal-details-container,
.adi-menu-edit-form,
.adi-menu-edit-delete-text,
.adi-add-dish-modal-from {
  padding: 0 20px;
}

/* media queries */
@media (min-width: 360px) and (max-width: 768px) {
  .adi-mobile-search-modal-content {
    padding: 10px;
  }
  .adi-menu-modification-body {
    padding: 10px;
  }
  .adi-menu-adi-add-dish-modal-content,
  .adi-menu-adi-add-dish-modal-dialog,
  .adi-menu-adi-edit-dish-modal-dialog,
  .adi-menu-adi-edit-dish-modal-content {
    width: 100vw !important;
    height: 100vh !important;
    border-radius: 0;
  }
  /* .adi-menu-adi-edit-modal-body {
    padding: 0 !important;
    padding-inline: 0 !important;
    flex: auto auto auto !important;
  } */
  .adi-menu-adi-edit-modal-footer {
    justify-content: flex-start;
  }
  .adi-menu-adi-add-dish-modal-content,
  .adi-menu-adi-edit-dish-modal-content {
    padding: 0 0 50px 0;
  }
}
.adi-plaza-page-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1rem 60px;
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
}
/* Main Category Container */
.adi-plaza-container {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  padding: 10px 0;
  border-radius: 2px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.adi-plaza-main-title {
  font-size: 24px;
  font-weight: 700;
  color: #333;
  margin: 0 0 15px 20px;
}

/* --- Main Category Swiper Wrapper (Two Rows Grid) --- */
.adi-plaza-swiper-main-wrapper {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, 1fr);
  gap: 0;
  height: fit-content;

  overflow-x: scroll;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding: 10px 20px;
}
.adi-plaza-swiper-main-wrapper::-webkit-scrollbar {
  display: none;
}

/* --- Individual Main Category Card --- */
.adi-plaza-card-main {
  width: 150px;
  height: 140px;
  text-align: center;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: inherit;
  background-color: #fcfcfc;
}

.adi-plaza-card-main:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15);
  border-color: #007bff;
  background-color: #eaf5ff;
}

.adi-plaza-card-main-img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  display: block;
  border-radius: 50%;
  margin-bottom: 8px;
  border: 3px solid #f0f0f0;
  transition: border-color 0.2s;
}

.adi-plaza-card-main-title {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.3;
  padding: 0 5px;
}

/* --- Swiper Scroll Buttons (Main) --- */
.adi-plaza-swiper-button {
  position: absolute;
  top: 50%;
  /* Base transform for centering */
  transform: translateY(-50%);
  background-color: white;
  border: 1px solid #ccc;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
  z-index: 10;
  /* UPDATED: Added transform to transition for smooth scaling */
  transition: background-color 0.2s, opacity 0.3s, transform 0.2s ease-out;
  outline: none;
}

/* NEW RULE: Scale up when the main container is hovered */
.adi-plaza-container:hover .adi-plaza-swiper-button:not(.hidden) {
  transform: scale(1.15) translateY(-50%);
}

.adi-plaza-swiper-button:hover {
  background-color: #e6e6e6;
  /* Ensure the individual button hover provides slightly stronger feedback */
  transform: scale(1.25) translateY(-50%);
}
.adi-plaza-swiper-button i {
  color: #555;
  font-size: 18px;
}
.adi-plaza-swiper-button.left {
  left: -22px;
}
.adi-plaza-swiper-button.right {
  right: -22px;
}
.adi-plaza-swiper-button.hidden {
  opacity: 0;
  pointer-events: none;
}

/* Media query for mobile: hide buttons for better touch scrolling */
@media (max-width: 600px) {
  .adi-plaza-swiper-button {
    display: none;
  }
  .adi-plaza-container {
    padding: 10px;
    box-shadow: none;
  }
  .adi-plaza-swiper-main-wrapper {
    padding: 0;
    height: fit-content;
  }
}

/* --- Modal Specific Styles (Subcategories) --- */

/* Custom class for modal header */
.adi-plaza-modal-header {
  border-bottom: none;
  padding-bottom: 10px;
}

/* Custom class for modal body */
.adi-plaza-modal-body {
  padding: 0;
}

.adi-plaza-modal-scroll-controls {
  padding: 0; /* Ensures the scroll container is tight to the edges */
}

/* Container for Subcategory Cards */
.adi-plaza-swiper-sub-wrapper {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, 1fr);
  gap: 15px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 10px 20px;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.adi-plaza-swiper-sub-wrapper::-webkit-scrollbar {
  display: none;
}

/* Individual Subcategory Card */
.adi-plaza-card-sub {
  flex: 0 0 auto;
  min-width: 120px;
  width: 100%;
  height: 120px;
  /* margin-right: 15px; */
  text-align: center;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #333;
  background-color: #fcfcfc;
}
/* .adi-plaza-card-sub:first-child {
  margin-left: 20px;
}
.adi-plaza-card-sub:last-child {
  margin-right: 20px;
} */

.adi-plaza-card-sub:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  background-color: #eaf5ff;
}

.adi-plaza-card-sub-img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  display: block;
  border-radius: 50%;
  margin-bottom: 5px;
}

.adi-plaza-card-sub-title {
  font-size: 12px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100px;
}

/* Modal Swiper Scroll Buttons */
.adi-plaza-swiper-modal-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 20;
  transition: opacity 0.3s;
}
.adi-plaza-swiper-modal-button.left {
  left: 0;
}
.adi-plaza-swiper-modal-button.right {
  right: 0;
}
.adi-plaza-swiper-modal-button.hidden {
  opacity: 0;
  pointer-events: none;
}

.adi-plaza-swiper-modal-button i {
  font-size: 14px;
  color: #555;
}
.adi-plaza-toastify-message {
  position: fixed;
  bottom: 20px; /* Bottom right corner */
  right: 20px;
  width: 350px; /* Fixed width for the message card */
  height: 70px;
  z-index: 1000;

  /* Modern Styles */
  border-radius: 12px;
  background: white;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 1px 4px rgba(0, 0, 0, 0.05);
  border: none;
  overflow: hidden;

  /* Initial state: Off-screen to the right */
  transform: translateX(110%);
  /* Transition for the slide effect (0.4s is a good speed for toasts) */
  transition: transform 0.4s ease-out;
  opacity: 0;
  visibility: hidden;

  /* Content Layout */
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px;
  font-size: 16px;
  color: #4a4a4a;

  box-sizing: border-box;
}

/* State when the message is visible (Slide In) */
.adi-plaza-toastify-message.show {
  transform: translateX(0); /* Move to its final position */
  opacity: 1;
  visibility: visible;
}

/* Style for the green checkmark icon container */
.adi-plaza-toastify-success-icon {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #e8f5e9; /* Light green background for modern pop */
}

/* Style for the message text content */
.adi-plaza-toastify-text-content {
  flex-grow: 1;
  text-align: left;
  line-height: 1.4;
  padding-top: 3px;
}

/* --- Progress Bar Styles --- */

/* The container for the progress bar, positioned at the bottom */
.adi-plaza-toastify-progress-track {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px; /* Thin bar height */
  background-color: #e0e0e0; /* Light background for the track */
}

/* The filling bar that animates */
.adi-plaza-toastify-progress-bar {
  height: 100%;
  background-color: #4caf50; /* Green fill */
  width: 100%; /* Start full */
}

/* Keyframe animation for the countdown effect */
@keyframes adi-plaza-toastify-progress-animation {
  from {
    width: 100%;
  }
  to {
    width: 0%;
  }
}

/* Apply the animation when the toast is visible */
.adi-plaza-toastify-message.show .adi-plaza-toastify-progress-bar {
  /* 4s duration (from VISIBILITY_DURATION_MS), linear timing, forwards keeps it at 0% */
  animation: adi-plaza-toastify-progress-animation 4s linear forwards;
}
/* Utility Colors - NOW PREFIXED */
.adi-plaza-color-danger {
  color: #dc3545;
}
.adi-plaza-color-info {
  color: #0dcaf0;
}
.adi-plaza-color-warning {
  color: #ffc107;
}
.adi-plaza-color-success {
  color: #198754;
}
.adi-plaza-color-primary {
  color: #007bff;
}
.adi-plaza-color-gray-dark {
  color: #6c757d;
}

/* NEW: Main container for the overall layout. Now a single column. */
#plaza-main-wrapper {
  display: grid;
  gap: 30px;
  padding-top: 20px;
  grid-template-columns: 1fr;
}

/* === MODULAR CONTENT STYLES (The only remaining column) === */

.adi-plaza-modular-content {
  display: flex;
  width: 100%;
  margin-top: 12px;

  align-items: center;
  flex-direction: column;
  gap: 12px;
}

.adi-plaza-content-block-card {
  width: 100%;
  max-width: 1200px;
  background-color: #fff;
  padding: 20px;
  border-radius: 2px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}
.adi-plaza-content-block-card .swiper {
  height: fit-content;
  padding-right: 100px;
}
.adi-plaza-content-block-title {
  font-size: 18px;
  font-weight: 700;
  color: #007bff;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
}
/* Icon spacing using margin-right */
.adi-plaza-content-block-title span.icon {
  margin-right: 10px;
  font-size: 1.2em;
}

/* Subtitle for the sub-blocks (Hot Right Now / Trending in Location) */
.adi-plaza-sub-block-title {
  font-size: 14px;
  font-weight: 600;
  color: #555;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}

/* --- Trending List Styles --- */
.adi-plaza-trending-blocks-wrapper {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .adi-plaza-trending-blocks-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
  #adi-plaza-hot-right-now-block {
    border-right: 1px solid #eee; /* Add a subtle divider */
    padding-right: 20px;
  }
  #adi-plaza-trending-in-location-block {
    padding-left: 20px;
  }
}

.adi-plaza-trending-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.adi-plaza-trending-item {
  padding: 10px 0;
  border-bottom: 1px dashed #eee;
}
.adi-plaza-trending-item:last-child {
  border-bottom: none;
}
.adi-plaza-trending-item a {
  color: #333;
  font-size: 14px;
  text-decoration: none;
  transition: color 0.2s;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.adi-plaza-trending-item a:hover {
  color: #007bff;
  /* text-decoration: underline; */
}

/* Badge for Hot Right Now */
.adi-plaza-trending-badge {
  font-size: 11px;
  font-weight: 600;
  background-color: #ffeded;
  color: #ff4d4d;
  padding: 3px 8px;
  border-radius: 4px;
}

/* Badge for Trending in Location */
.adi-plaza-location-badge {
  font-size: 11px;
  font-weight: 600;
  background-color: #e6f7ff;
  color: #1890ff;
  padding: 3px 8px;
  border-radius: 4px;
}

/* --- Swiper Styles for Testimonials --- */
.adi-plaza-testimonial-swiper-wrapper {
  display: flex;
  overflow-x: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  width: 100%;
}

.adi-plaza-testimonial-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  padding: 5px;
}

.adi-plaza-testimonial-quote {
  background-color: #f0faff;
  border-left: 4px solid var(--color-primary);
  padding: 15px;
  border-radius: 8px;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.adi-plaza-testimonial-quote p {
  font-style: italic;
  font-size: 15px;
  margin: 0 0 10px 0;
  color: #333;
  line-height: 1.5;
}
.adi-plaza-testimonial-quote .author {
  display: block;
  text-align: right;
  font-weight: 600;
  font-style: normal;
  font-size: 13px;
  color: var(--color-link);
}

/* Dots Indicator */
.adi-plaza-testimonial-dots {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.adi-plaza-dot {
  height: 8px;
  width: 8px;
  background-color: #ccc;
  border-radius: 50%;
  display: inline-block;
  margin: 0 4px;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.3s;
}

.adi-plaza-dot.active {
  background-color: var(--color-link);
  transform: scale(1.2);
}

/* --- Affiliate Tools/Services --- */

/* @media (max-width: 600px) {
  .adi-plaza-affiliate-widget {
    flex-basis: 48%;
    margin-bottom: 5px;
  }
} */

/* --- Community Poll Styles --- */
.adi-plaza-poll-question {
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 15px;
  color: #333;
}
.adi-plaza-poll-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.adi-plaza-poll-btn {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background-color: #f9f9f9;
  cursor: pointer;
  font-size: 14px;
  text-align: left;
  transition: background-color 0.2s;
}
.adi-plaza-poll-btn:hover:not(.voted) {
  background-color: #eaf3ff;
  border-color: #007bff;
}
.adi-plaza-poll-btn.voted {
  background-color: #d1e7fd;
  border-color: #007bff;
  font-weight: 700;
  cursor: default;
}

.adi-plaza-poll-results {
  margin-top: 15px;
  display: none;
}
.adi-plaza-result-bar-container {
  margin-bottom: 8px;
}
.adi-plaza-result-label {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 500;
  color: #555;
  margin-bottom: 3px;
}
.adi-plaza-poll-result-bar {
  height: 10px;
  background-color: #f0f0f0;
  border-radius: 5px;
  overflow: hidden;
}
.adi-plaza-poll-result-fill {
  height: 100%;
  background-color: #007bff;
  transition: width 0.5s ease-out;
}

/* --- Tips & How-Tos Styles --- */
.adi-plaza-tip-callout {
  background-color: #f0faff;
  border-left: 5px solid var(--color-primary);
  padding: 15px;
  border-radius: 8px;
  color: #333;
}
.adi-plaza-tip-callout p {
  margin: 0 0 5px 0;
  font-size: 14px;
  line-height: 1.4;
}
.adi-plaza-tip-callout a {
  color: #007bff;
  font-weight: 600;
  text-decoration: none;
}
.adi-plaza-tip-callout a:hover {
  text-decoration: underline;
}

/* --- Mini Dashboard Styles --- */
.adi-plaza-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.adi-plaza-dashboard-widget {
  padding: 15px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  text-align: center;
  transition: box-shadow 0.2s;
  text-decoration: none;
  color: #333;
  font-size: 1rem;
  font-weight: 600;
  display: block;
}
.adi-plaza-dashboard-widget:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
}
.adi-plaza-dashboard-widget .icon {
  font-size: 20px;
  color: #1890ff;
  margin-bottom: 5px;
  display: block;
}

/* Cleanup for utility classes used in the HTML - NOW PREFIXED */
.adi-plaza-text-center {
  text-align: center;
}
.adi-plaza-text-muted {
  color: #6c757d;
  font-size: 0.85em;
}
.adi-plaza-d-block {
  display: block;
}
.adi-plaza-mt-3 {
  margin-top: 1rem;
}
/* Trending Categories Grid */
.adi-plaza-trending-categories-cards-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}

/* Trending Category Card */
.adi-plaza-trending-category-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid #eee;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
}

.adi-plaza-trending-category-card:hover {
  background: #f9f9f9;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

.adi-plaza-trending-category-card img {
  width: 50px;
  height: 50px;
  border-radius: 6px;
  object-fit: cover;
}

.adi-plaza-trending-category-card span {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
/* Partner Services Swiper */
.partnerServicesSwiper {
  position: relative;
  width: 100%;
  padding: 10px 0;
}

.partnerServicesSwiper .swiper-wrapper {
  display: flex;
  align-items: stretch;
  padding-left: 40px;
  padding-right: 100px;
}

.partnerServicesSwiper .swiper-slide {
  flex: 0 0 auto;
  width: fit-content; /* adjust size */
  text-align: center;
}
/* Partner Services Swiper Navigation */
.partnerServicesSwiper .adi-plaza-swiper-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.partnerServicesSwiper .adi-plaza-swiper-button.left {
  left: 0; /* push left button outside */
}

.partnerServicesSwiper .adi-plaza-swiper-button.right {
  right: 0; /* push right button outside */
}

.partnerServicesSwiper .adi-plaza-swiper-button i {
  font-size: 14px;
  color: #555;
}

.adi-plaza-affiliate-widget {
  display: flex;
  align-items: center;
  width: fit-content;
  gap: 8px;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  text-decoration: none;
  color: #333;
  font-size: 14px;
  font-weight: 600;
  background: #fff;
  transition: box-shadow 0.2s, background 0.2s;
  white-space: normal; /* allow wrapping */
  word-break: break-word; /* break long words if needed */
}

.adi-plaza-affiliate-widget:hover {
  background: #f9f9f9;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.adi-plaza-affiliate-widget .icon {
  font-size: 18px;
  flex-shrink: 0;
}
.adi-plaza-affiliate-widget > span {
  text-wrap: nowrap;
}
/* Media query for mobile: hide buttons for better touch scrolling */
@media (max-width: 600px) {
  .adi-plaza-swiper-button {
    display: none;
  }
  .adi-plaza-content-block-card .adi-plaza-swiper-button {
    display: none;
  }
  .partnerServicesSwiper .swiper-wrapper {
    padding-left: 8px;
  }
  .adi-plaza-container {
    padding: 10px;
    box-shadow: none;
  }
  .adi-plaza-swiper-main-wrapper {
    padding: 0;
    height: fit-content;
  }
  .adi-plaza-trending-categories-cards-container {
    gap: 8px;
  }
}
.adi-plaza-subcategories-modal-dialog {
  display: flex;
  justify-content: center;
  width: 100vw !important;
}
.adi-plaza-subcategories-modal-content {
  width: calc(100vw - 10%);
  height: fit-content;
}
.adi-plaza-modal-body {
  width: 100%;
}
.adi-plaza-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 20px 0;
  flex-wrap: wrap;
}

.adi-plaza-pagination-btn {
  padding: 8px 14px;
  border: none;
  border-radius: 6px;
  background: #f5f5f5;
  color: #333;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.adi-plaza-pagination-btn:hover:not(.active):not(:disabled) {
  background: #e9ecef;
}

.adi-plaza-pagination-btn.active {
  background: var(--color-link);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(0, 123, 255, 0.3);
}

.adi-plaza-pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.adi-plaza-pagination-arrow {
  font-weight: bold;
  font-size: 16px;
  background: #fff;
  border: 1px solid #ddd;
}

.adi-plaza-pagination-dots {
  padding: 6px 10px;
  color: #666;
  font-size: 14px;
}
.adi-plaza-fade-out {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.adi-plaza-fade-in {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.adi-plaza-card-hidden {
  opacity: 0;
  transform: translateY(20px);
}

.adi-plaza-card-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.adi-inns-filters-toggle-btn {
  position: relative;
}

.adi-inns-filters-toggle-btn .adi-plaza-filters-indicator {
  position: absolute;
  top: 0;
  right: 0;
  width: 10px;
  height: 10px;
  background: #dc3545; /* red dot */
  border-radius: 50%;
  display: none; /* hidden by default */
}

.adi-inns-filters-toggle-btn .adi-plaza-filters-indicator.active {
  display: block;
}
.adi-plaza-detailed-view-spec-slider-container {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
}

.adi-plaza-detailed-view-spec-list-wrapper {
  overflow: hidden; /* hides scroll bar */
  flex: 1;
}
.adi-plaza-detailed-view-spec-slider-container {
  position: relative; /* needed for absolute buttons */
  display: flex;
  align-items: center;
  width: 100%;
}

.adi-plaza-btn-slide-light {
  /* Common Existing Styles */
  padding: 2px 12px 4px 12px !important;
  /* Base Appearance */
  background-color: #ffffff;
  color: #333333;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;

  /* Subtle Box Shadow */
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);

  /* Smooth Transitions */
  transition: all 0.2s ease-in-out;
}

/* Hover Effect */
.adi-plaza-btn-slide-light:hover {
  background-color: #f7f7f7;
  border-color: #cccccc;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
}

/* Active/Clicked State */
.adi-plaza-btn-slide-light:active {
  background-color: #eeeeee;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  transform: translateY(0);
}

.adi-plaza-detailed-view-spec-next-btn {
  right: -20px;
  margin-left: 10px;
}

.adi-plaza-detailed-view-spec-prev-btn {
  left: -20px;
  margin-right: 10px;
}
#specList {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, auto);
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
  overflow-x: auto;
  scroll-behavior: smooth;

  -ms-overflow-style: none; /* IE */
  scrollbar-width: none; /* Firefox */
}

#specList::-webkit-scrollbar {
  display: none; /* Chrome, Safari */
}

#specList li {
  width: 100%;
  padding: 8px 12px;
  background: #f4f4f4;
  border-radius: 6px;
  white-space: nowrap;
  user-select: none;
}

.adi-plaza-detailed-view-spec-nav {
  display: none; /* hidden by default */
  background: #333;
  color: #fff;
  border: none;
  padding: 8px 12px;
  cursor: pointer;
  border-radius: 50%;
  font-size: 20px;
  z-index: 1;
  align-items: center;
  justify-content: center;
}

.adi-plaza-detailed-view-spec-nav:disabled {
  opacity: 0.5;
  cursor: default;
}
.adi-plaza-detailed-view-reviews-container-section-container {
  padding: 40px 0px 0px 20px;
  width: 100%;
  margin: 0px auto;
  border-left: 1px solid #eeeeee; /* adi-border-color */
  /* border-radius: 12px; */
  /* box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08); 
  background-color: #fafafa; */
}

.adi-plaza-detailed-view-reviews-container-section-container h2 {
  color: #333333; /* adi-text-dark */
  border-bottom: 3px solid #1f4f8f; /* adi-primary-dark */
  padding-bottom: 12px;
  margin-bottom: 25px;
  font-size: 1.5rem;
  font-weight: 700;
}

/* ========================================================= */
/* MODERN AVERAGE RATING DISPLAY (Horizontal Badge) */
/* ========================================================= */

.adi-plaza-detailed-view-reviews-container-average-rating {
  margin-bottom: 35px;
  text-align: left;
}

.adi-plaza-detailed-view-reviews-container-rating-badge-box {
  display: inline-flex; /* Use inline-flex for fit-content width */
  align-items: stretch;
  background-color: #ffffff; /* adi-card-bg */
  border: 1px solid #eeeeee; /* adi-border-color */
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.adi-plaza-detailed-view-reviews-container-rating-badge-box:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.adi-plaza-detailed-view-reviews-container-rating-score-pill {
  background-color: #3b82f6; /* adi-primary-dark */
  color: white;
  padding: 15px 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.adi-plaza-detailed-view-reviews-container-rating-score-pill
  .adi-plaza-detailed-view-reviews-container-score {
  font-size: 2.5em;
  font-weight: 800;
  line-height: 1;
}

.adi-plaza-detailed-view-reviews-container-rating-score-pill
  .adi-plaza-detailed-view-reviews-container-rating-label {
  font-size: 0.8em;
  opacity: 0.9;
  margin-top: 3px;
  font-weight: 400;
}

.adi-plaza-detailed-view-reviews-container-rating-details {
  padding: 15px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #e6f0fa; /* adi-primary-light */
}

.adi-plaza-detailed-view-reviews-container-star-group {
  white-space: nowrap;
  margin-bottom: 5px;
  line-height: 1;
}

.adi-plaza-detailed-view-reviews-container-star {
  font-size: 1.4em;
  margin: 0 1px;
  display: inline-block;
  line-height: 1;
}

.adi-plaza-detailed-view-reviews-container-star.adi-plaza-detailed-view-reviews-container-filled {
  color: #ffc107; /* adi-rating-gold */
}

.adi-plaza-detailed-view-reviews-container-star.adi-plaza-detailed-view-reviews-container-empty {
  color: #dcdcdc; /* Lighter empty star */
  opacity: 0.8;
}

.adi-plaza-detailed-view-reviews-container-count {
  font-size: 0.9em;
  color: #333333; /* adi-text-dark */
  font-weight: 500;
}

/* Individual Review Cards */
.adi-plaza-detailed-view-reviews-container-reviews-list {
  display: grid;
  gap: 20px;
}

.adi-plaza-detailed-view-reviews-container-review-card {
  padding: 20px;
  border: none;
  border-radius: 8px;
  background-color: #ffffff; /* adi-card-bg */
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05); /* Subtle lift */
  transition: box-shadow 0.3s ease;
}

.adi-plaza-detailed-view-reviews-container-review-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* More pronounced lift on hover */
}

.adi-plaza-detailed-view-reviews-container-review-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  font-size: 0.9em;
}

.adi-plaza-detailed-view-reviews-container-author {
  font-weight: 600;
  color: #333333; /* adi-text-dark */
  font-size: 1.1em;
}

.adi-plaza-detailed-view-reviews-container-date {
  color: #777777; /* adi-text-muted */
  font-size: 0.85em;
}

.adi-plaza-detailed-view-reviews-container-review-rating {
  margin-bottom: 12px;
  line-height: 1;
}

.adi-plaza-detailed-view-reviews-container-review-comment {
  margin-bottom: 0;
  color: #333333; /* adi-text-dark */
  line-height: 1.6;
}
.adi-plaza-detailed-view-reviews-wrapper {
  justify-content: space-between;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  padding-right: 20px;
}
/* Responsive adjustments */
@media (max-width: 600px) {
  .adi-plaza-detailed-view-reviews-container-section-container {
    margin: 20px 10px;
    padding: 15px;
  }

  .adi-plaza-detailed-view-reviews-container-rating-badge-box {
    width: 100%; /* Full width on small screens */
    flex-direction: column;
  }

  .adi-plaza-detailed-view-reviews-container-rating-details {
    align-items: center;
  }
}
/* .adi-plaza-filters-modal {
} */
.adi-plaza-filters-modal-dialog {
  max-width: 60% !important;
  width: 90% !important;
}
.adi-plaza-create-ad-btn:hover{
  background-color: var(--color-primary);
}
/* .adi-plaza-create-ad-modal-dialog{
  max-width: 80% !important;
  width: 90% !important;
} */
/* .adi-plaza-filters-modal-content {
} */
.adi-plaza-filters-attributes-container {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
}
.adi-plaza-filters-modal-section{
  padding: 12px;
  border-radius: 6px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
}
.adi-plaza-filters-modal-section-heading {
  /* 1. Base Styling: Typography & Layout */
   /* A sharp, professional font choice */
  font-size: 1.125rem; /* Slightly larger for clarity */
  font-weight: 600;
  color: #1f2937; /* Deep, professional blue-grey */

  /* 2. Label Appearance (Rectangle/Box) */
  display: inline-block;
  padding: 8px 12px;
  margin: 0 0 10px 0; /* Space below the heading */
  cursor: pointer;
  
  /* Initial State: Very minimal radius */
  border-radius: 4px; /* Slight, professional rounding */
  
  /* Key Professional Element: Subtle Bottom Line */
  border-bottom: 2px solid #e5e7eb; /* Light grey base line */
  
  /* Transition for Smooth Effect */
  transition: background-color 0.25s ease, border-bottom 0.25s ease, box-shadow 0.25s ease;
}

/* 3. Hover State: Interaction and Emphasis */
.adi-plaza-filters-modal-section-heading:hover {
  /* Highlight the Background */
  background-color: #f9fafb; /* A very light hover background */
  
  /* Emphasize the Border */
  border-bottom: 2px solid #3b82f6; /* Bold color on hover (e.g., a corporate blue) */
  
  /* Subtle "Lift" Effect */
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Very light shadow for a lift */
}

/* Optional: Focus state for accessibility (if it's a focusable element) */
.adi-plaza-filters-modal-section-heading:focus {
  outline: 2px solid #3b82f6;
  outline-offset: 2px;
}
.adi-plaza-user-comparison-content{
  width: 95% !important;
}
/* --- Fully Transparent noUiSlider --- */
#priceRangeSlider {
  margin: 35px 5px 0px;
  background: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}



/* === Remove any parent backgrounds === */
#priceRangeSlider .noUi-target,
#priceRangeSlider .noUi-connects,
#priceRangeSlider .noUi-base,
#priceRangeSlider .noUi-origin,
#priceRangeSlider .noUi-background {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* === Blue Active Track === */
#priceRangeSlider .noUi-connect {
  background: var(--bs-primary);
  border-radius: 8px;
  height: 6px;
  box-shadow: 0 0 8px rgba(13, 110, 253, 0.4);
  transition: all 0.3s ease;
}

/* === Track height / layout === */
#priceRangeSlider .noUi-base {
  height: 6px;
  border-radius: 8px;
}

/* === Handles (thumbs) === */
#priceRangeSlider .noUi-handle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--bs-primary);
  box-shadow: 0 2px 6px rgba(13, 110, 253, 0.25);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Hover / Focus */
#priceRangeSlider .noUi-handle:hover {
  transform: scale(1.15);
  box-shadow: 0 4px 10px rgba(13, 110, 253, 0.4);
}

#priceRangeSlider .noUi-handle:focus,
#priceRangeSlider .noUi-handle:active {
  outline: none;
  box-shadow: 0 0 0 6px rgba(13, 110, 253, 0.2);
}

/* === Tooltips === */
#priceRangeSlider .noUi-tooltip {
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  font-size: 13px;
  font-weight: 500;
  background: var(--bs-primary);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 4px 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

#priceRangeSlider .noUi-tooltip::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  background: var(--bs-primary);
}

/* === Transparent Touch Area === */
#priceRangeSlider .noUi-touch-area {
  background: transparent !important;
  cursor: grab;
}

/* Optional subtle glow when active (modern browsers only) */
#priceRangeSlider:has(.noUi-active) .noUi-connect {
  box-shadow: 0 0 12px rgba(13, 110, 253, 0.6);
}
/* Hide the default handle bars in noUiSlider */
#priceRangeSlider .noUi-handle::before,
#priceRangeSlider .noUi-handle::after {
  display: none !important;
  content: none !important;
}
/* === ADI Plaza Independent Image Zoom View === */
#adiPlazaZoomSafeOverlay {
  position: fixed;
  top: 10%;
  right: calc(100vw - 99%);
  /* transform: translateY(-50%); */
  width: calc(100vw - 52%);
  height: calc(100vh - 40%);
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  background-repeat: no-repeat;
  background-size: 200%;
  background-position: center;
  display: none;
  z-index: 9999;
  pointer-events: none;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.25);
  background-color: #fff;
}

@media (max-width: 992px) {
  #adiPlazaZoomSafeOverlay {
    display: none !important; 
  }
}

/* media queires  */
@media (min-width: 360px) and (max-width: 768px) {
  .adi-plaza-page-body {
    padding: 10px;
  }
  .adi-plaza-detailed-view-container {
    padding: 0;
  }
  .adi-plaza-sub-categories-detailed-view-main-container {
    margin: 0px !important;
  }
  .adi-plaza-detailed-view-reviews-wrapper,
  .adi-plaza-sub-categories-detailed-view-right-container,
  .adi-plaza-sub-categories-detailed-view-main-container {
    box-shadow: none !important;
  }
  .adi-plaza-container {
    padding: 10px 8;
  }
  .adi-plaza-toastify-message {
    bottom: 70px; /* Bottom right corner */
    padding: 8px;
  }
  .adi-plaza-toastify-text-content {
    font-size: 12px;
  }
  .adi-plaza-subcategories-modal-content,
  .adi-plaza-subcategories-modal-dialog {
    padding: 0 12px;
  }
  .adi-plaza-swiper-main-wrapper {
    grid-template-rows: repeat(1, 1fr);
  }
  .adi-plaza-content-block-card {
    padding: 12px;
  }
  .adi-plaza-content-block-title {
    margin-bottom: 0;
  }
  .adi-plaza-main-title {
    font-size: 20px;

    margin: 0 0 15px 0px;
  }
  .adi-plaza-card-main-title {
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 150px;
  }
  .adi-plaza-detailed-view-reviews-wrapper {
    flex-direction: column-reverse;
  }
  .adi-plaza-detailed-view-reviews-container-section-container {
    border-left: none;
  }
  .adi-plaza-filters-modal-dialog,.adi-plaza-create-ad-modal-dialog {
    max-width: 100% !important;
    width: 100% !important;
    border-radius: 0 !important;
  }
  .adi-plaza-filters-modal-content {
    border-radius: 0;
  }
}
/* ADI Inns page to Plaza*/
.adi-plaza-sub-categories-meta {
  flex-wrap: wrap;
  gap: 8px;
}
.adi-plaza-sub-categories-meta-infos {
  /* Shape & Spacing */
  display: inline-block;
  padding: 5px 14px;
  border-radius: 9999px; /* Ensures a perfect pill shape */

  /* Appearance */
  background-color: #f7f7f7;
  color: #343a40;
  font-size: 0.85rem;
  font-weight: 500;

  /* Soft Shadow */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  border: 1px solid #e9ecef; /* Very light border for definition */
}
.adi-plaza-sub-categories-cards-img-container {
  max-height: 150px;
}
.adi-plaza-sub-categories-card-img {
  min-width: 100%;
}
.adi-plaza-sub-categories-features-comparison {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
.adi-plaza-sub-categories-comparison-description-container {
  padding-bottom: 40px;
}
.adi-plaza-sub-categories-comparison-price {
  font-size: 18px;
  font-weight: 700;
  color: #eb841d;

  width: 90%;

  position: absolute;
  bottom: 60px;
}
.adi-plaza-sub-categories-leaflet-popup-img-swiper {
  max-height: 200px;
}
.adi-plaza-user-header {
  margin-top: 0;
}
@media (min-width: 993px) {
  .adi-plaza-item-card {
    height: 100% !important;
  }
}

/* ADI Plaza Detailed View Styling */

.adi-plaza-sub-categories-detailed-view-main-container {
  display: flex;
  flex-wrap: wrap;
  width: 100%;

  margin: 20px auto;

  border-radius: 6px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.adi-plaza-sub-categories-detailed-view-left-container,
.adi-plaza-sub-categories-detailed-view-right-container {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
}
.adi-plaza-sub-categories-detailed-view-left-container {
  border-right: 1px solid #e0e0e0;
}
.adi-plaza-sub-categories-detailed-view-image-slider {
  position: relative;
  height: 350px;
  margin-bottom: 20px;
  border-radius: 10px;
  overflow: hidden;
}
.adi-plaza-sub-categories-detailed-view-image-slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: none;
  border-radius: 10px;
}
.adi-plaza-sub-categories-detailed-view-image-slider img.active {
  display: block;
  animation: fadeIn 0.6s ease-in-out;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.adi-plaza-sub-categories-detailed-view-slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.6);
  color: white;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  border-radius: 50%;
  transition: background 0.3s;
}
.adi-plaza-sub-categories-detailed-view-slider-btn:hover {
  background: rgba(0, 0, 0, 0.8);
}
.adi-plaza-sub-categories-detailed-view-slider-btn.prev {
  left: 15px;
}
.adi-plaza-sub-categories-detailed-view-slider-btn.next {
  right: 15px;
}

.adi-plaza-sub-categories-detailed-view-specifications {
  background: #fff;
  padding: 20px;
  margin-top: 15px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.adi-plaza-sub-categories-detailed-view-specifications h3 {
  margin-top: 0;
  color: var(--color-link);
  font-size: 1.3rem;
  border-bottom: 2px solid #eee;
  padding-bottom: 8px;
  margin-bottom: 15px;
}

#adiPlazaDetailedMap {
  height: 350px;
  margin-bottom: 20px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  z-index: 5;
}

.adi-plaza-sub-categories-detailed-view-popup-slider {
  position: relative;
  text-align: center;
}
.adi-plaza-sub-categories-detailed-view-popup-slider img {
  width: 220px;
  height: 150px;
  object-fit: cover;
  display: none;
  border-radius: 8px;
}
.adi-plaza-sub-categories-detailed-view-popup-slider img.active {
  display: block;
}
.adi-plaza-sub-categories-detailed-view-popup-slider button {
  background: rgba(0, 0, 0, 0.6);
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 6px 10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
}
.adi-plaza-sub-categories-detailed-view-popup-slider .prev {
  left: 5px;
}
.adi-plaza-sub-categories-detailed-view-popup-slider .next {
  right: 5px;
}
.adi-plaza-sub-categories-detailed-view-popup-slider .info {
  margin-top: 8px;
  font-size: 0.9rem;
  text-align: left;
  background: #f9f9f9;
  padding: 8px 10px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.adi-plaza-sub-categories-detailed-view-popup-slider .info p {
  margin: 4px 0;
}
.adi-plaza-sub-categories-detailed-view-popup-slider .info p:last-child {
  color: #eb841d;
}
.adi-plaza-sub-categories-detailed-view-popup-slider .info b {
  color: var(--color-link);
}

.adi-plaza-sub-categories-detailed-view-details {
  background: #fff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.adi-plaza-sub-categories-detailed-view-details h3 {
  margin-top: 0;
  font-size: 1.4rem;
  margin-bottom: 12px;
  color: var(--color-link);
}
.adi-plaza-sub-categories-detailed-view-details p {
  margin: 8px 0;
  font-size: 1rem;
  line-height: 1.4;
}
.adi-plaza-sub-categories-detailed-view-details b {
  color: #eb841d;
}

@media (min-width: 360px) and (max-width: 993px) {
  .adi-plaza-sub-categories-detailed-view-main-container {
    flex-direction: column;
  }
  .adi-plaza-sub-categories-detailed-view-left-container {
    border-right: none;
  }
}
@media (min-width: 360px) and (max-width: 768px) {
  .adi-plaza-sub-categories-detailed-view-image-slider {
    height: 250px;
  }
  #specList {
    display: flex;
    flex-direction: column;
  }
}
/* Entries creation page styling */
.adi-plaza-create-entries-container {
  display: flex;
  justify-content: center;
}
.adi-plaza-entries-container {
  width: 100%;
  max-width: 100%;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
  padding: 32px;
  animation: adi-plaza-entries-fadeIn 0.6s ease;
}
@keyframes adi-plaza-entries-fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
h1 {
  margin: 0 0 24px;
  font-size: 26px;
  text-align: center;
  color: #1f2937;
  font-weight: 700;
}
label {
  display: block;
  margin-bottom: 6px;
  font-size: 15px;
  font-weight: 600;
  color: #374151;
}
.adi-plaza-entries-row {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
}
.adi-plaza-entries-row input[type="text"] {
  flex: 1;
}
select,
input[type="text"],
input[type="number"],
textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  font-size: 15px;
  margin-bottom: 18px;
  background: #f9fafb;
  transition: border-color 0.2s, box-shadow 0.2s;
}
select:hover,
input[type="text"]:hover,
input[type="number"]:hover,
textarea:hover {
  border-color: #9ca3af;
}
select:focus,
input[type="text"]:focus,
input[type="number"]:focus,
textarea:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3);
}
textarea {
  resize: vertical;
  min-height: 100px;
}
.adi-plaza-entries-switch {
  position: relative;
  display: inline-block;
  width: 74px;
  height: 36px;
}
.adi-plaza-entries-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.adi-plaza-entries-slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background: #e5e7eb;
  border-radius: 36px;
  transition: 0.4s;
}
.adi-plaza-entries-slider:before {
  position: absolute;
  content: "Rent";
  height: 28px;
  width: 36px;
  left: 4px;
  bottom: 4px;
  background: #fff;
  color: #111827;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  transition: 0.4s;
}
input:checked + .adi-plaza-entries-slider {
  background: var(--color-primary);
}
input:checked + .adi-plaza-entries-slider:before {
  transform: translateX(30px);
  content: "Sale";
}
.adi-plaza-entries-btn {
  display: inline-block;
  padding: 12px 18px;
  font-size: 15px;
  font-weight: 600;
  background: #f3f4f6;
  color: #111827;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
}
.adi-plaza-entries-btn:hover {
  background: #e5e7eb;
}
.adi-plaza-entries-btn.active {
  background: var(--color-primary);
  color: #fff;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3);
}
.adi-plaza-entries-btn-primary {
  width: 100%;
  margin-top: 16px;
  height: 40px;
  background: #2563eb;
  color: #fff;
  border: none;
  border-radius: 8px;
}
.adi-plaza-entries-btn-primary:hover {
  background: #1d4ed8;
}
#output {
  margin-top: 24px;
  background: #f3f4f6;
  padding: 16px;
  border-radius: 12px;
  font-size: 14px;
  white-space: pre-wrap;
  max-height: 260px;
  overflow: auto;
}
.adi-plaza-entries-location-container {
  margin-top: 24px;
}
.adi-plaza-entries-toggle-buttons {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}
.hidden {
  display: none;
}
.adi-plaza-entries-upload-container {
  border: 2px dashed #9ca3af;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  color: #6b7280;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  margin-top: 24px;
  margin-bottom: 16px;
}
.adi-plaza-entries-upload-container.dragover {
  border-color: #2563eb;
  background: #f0f7ff;
  color: #2563eb;
}
.adi-plaza-entries-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}
.adi-plaza-entries-preview img {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.adi-plaza-entries-preview-item {
  position: relative;
  display: inline-block;
}
.adi-plaza-entries-remove-btn {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #ef4444;
  border: none;
  color: #fff;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  font-size: 12px;
  cursor: pointer;
}
.adi-plaza-entries-toast {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: var(--color-primary);
  color: #fff;
  padding: 14px 22px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  font-weight: 600;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s ease;
  z-index: 1000;
}
.adi-plaza-entries-toast.show {
  opacity: 1;
  transform: translateY(0);
}

/* end */
.hidden {
  display: none;
}
