/* 1. Global Page Layout */
body {
  /* background-color: #f7f9fc; */
}
.plp-container {
  padding-top: 20px;
}

/* 2. Search & Info Bar */
.search-input-container {
  margin-bottom: 25px;
}
.mattresses_ListingPanel .search-input-container {
}
.mattresses_ListingPanel .search-input-container .input-group {
  border: 1px solid #ddd;
  border-radius: 10px;
}
.mattresses_ListingPanel
  .search-input-container
  .input-group
  .input-group-text {
  border-top-left-radius: 10px !important;
  border-bottom-left-radius: 10px !important;
}

.search-input-container .form-control {
  border-radius: 0px;
  padding: 10px 15px;
  font-size: 1rem;
  height: auto;
  border-top-right-radius: 10px !important;
  border-bottom-right-radius: 10px !important;
  border: none;
}
.mattresses_ListingPanel .search-input-container .input-group:focus-within {
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #86b7fe;
  outline: 0;
  box-shadow: none !important;
  /*box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);*/
}
.results-info-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: 1px solid #e9ecef;
}

/* 3. Filter Sidebar */
.filters-sidebar {
  background-color: white;
  border-radius: 8px;
  padding: 70px 20px;
  box-shadow: 0 4px 5px 0px rgba(0, 0, 0, 0.05);
}
.filters-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 6px;
}
.filters-header .text-primary {
  font-weight: bold;
  font-size: 0.9rem;
  cursor: pointer;
}

/* 4. Filter Collapse Sections */
.filter-accordion .accordion-item {
  border: none;
  border-bottom: 1px solid #e9ecef;
  margin-bottom: 0;
  border-radius: 0 !important;
}
.filter-accordion .accordion-button {
  font-weight: 500;
  font-size: 1rem;
  color: #333;
  padding: 12px 0;
  background-color: white;
}
.filter-accordion .accordion-button:focus,
.filter-accordion .accordion-button:not(.collapsed) {
  box-shadow: none;
  color: #007bff;
  background-color: white;
}

/* 5. Price Range Slider Simulation (Requires a third-party library like noUiSlider for real functionality) */
.price-range-inputs {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}
.price-range-inputs .form-control {
  width: 45%;
  text-align: center;
  font-size: 0.9rem;
}
.range-slider-placeholder {
  height: 5px;
  background-color: #e0e0e0;
  border-radius: 3px;
  margin: 15px 0;
  position: relative;
}
.range-slider-placeholder .slider-track {
  position: absolute;
  top: 0;
  left: 10%; /* Simulated start position */
  width: 70%; /* Simulated width */
  height: 100%;
  background-color: #007bff;
  border-radius: 3px;
}
.range-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: #999;
  margin-top: 5px;
}

/* 6. Product Card Styles (Reusing your previous design) */
.product-card {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e0e0e0;
  height: 100%;
  /*margin-bottom: 25px;*/
  border: 1px solid #ddd;
  box-shadow: 0px 0px 5px 3px #ddd;
  border-radius: 10px;
}
.product-card:hover {
  border: 1px solid #aaa;
  box-shadow: 0px 0px 8px 5px #aaa;
}
.card-img-container {
  position: relative;
}
.discount-badge {
  position: absolute;
  bottom: 10px;
  left: 0;
  background-color: #28a745;
  color: white;
  padding: 5px 15px;
  font-size: 0.9rem;
  font-weight: bold;
  border-radius: 0 5px 5px 0;
  z-index: 10;
}
.card-body-custom {
  padding: 15px;
  text-align: left !important;
}
.card-title-main {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 5px;
  color: #333;
}
.price-original {
  text-decoration: line-through;
  color: #999;
  font-size: 0.9rem;
  margin-left: 5px;
}
.price-final {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}
.cart-icon-btn {
  background-color: #007bff;
  border-radius: 8px;
  padding: 6px 10px;
  line-height: 1;
  font-size: 1rem;
}
.noUi-horizontal {
    height: 5px !important;
}

.noUi-base,
.noUi-connects {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    height: 5px;
}

.noUi-connects {
    border-radius: 3px;
    height: 5px !important;
}

.noUi-horizontal .noUi-handle {
    width: 10px !important;
    height: 10px !important;
    right: 0px !important;
    top: -3px !important;
}

.noUi-handle:after,
.noUi-handle:before {
    content: "";
    display: block;
    position: absolute;
    height: 5px;
    width: 5px;
    background: #e8e7e6;
    left: 14px;
    top: 6px;
}
/* Custom CSS from the Product Listing Page Design */
.filters-sidebar1 {
    background-color: white;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.price-range-inputs {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

    .price-range-inputs .form-control {
        width: 45%;
        text-align: center;
        font-size: 0.9rem;
    }

/* Customizing noUiSlider to match the blue theme */
.noUi-connect {
    background: #007bff; /* Primary Blue */
}

.noUi-horizontal .noUi-handle {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #007bff;
    background: #ffffff;
    box-shadow: none;
}

.noUi-handle:after,
.noUi-handle:before {
    display: none !important; /* Remove default indicators */
}
.mattress_link{
    text-decoration:none;
}