/********************
  Part - Category Description
********************/
.category-description-section {
  background    : #fff;
  padding       : 2rem 0;
}

.category-description-section__content {
  max-width : 1200px;
  margin    : 0 auto;
  padding   : 0 1.5rem;
}

.category-description-section__content p {
  color       : var(--color-grey-font-default, #516765);
  line-height : 1.7;
  margin      : 0;
}

.category-description-section__content p + p {
  margin-top : 1rem;
}

/********************
  Part - category page layout
********************/
.wrapper__inner {
  padding-top    : 2rem;
  padding-bottom : 5rem;
}

@media (max-width : 991px) {
  .wrapper__inner {
    padding-top    : 1rem;
    padding-bottom : 3rem;
  }
}

.category-content-wrapper {
  display   : flex;
  gap       : 2rem;
  max-width : 1600px;
  margin    : 0 auto;
}

@media (max-width : 767px) {
  .category-content-wrapper {
    flex-direction : column;
  }
}

/********************
  Part - Sidebar
********************/
.category-sidebar {
  width       : 256px;
  flex-shrink : 0;
}

@media (max-width : 991px) {
  .category-sidebar {
    width : 250px;
  }
}

@media (max-width : 767px) {
  .category-sidebar {
    width   : 100%;
    display : none;
  }

  .category-sidebar.mobile-open {
    display    : block;
    position   : fixed;
    top        : 0;
    left       : 0;
    right      : 0;
    bottom     : 0;
    z-index    : 9999;
    background : #fff;
    overflow-y : auto;
    padding    : 1rem;
  }
}

.sidebar-sticky {
  position : sticky;
  top      : 200px;
}

@media (max-width : 991px) {
  .sidebar-sticky {
    position : relative;
    top      : 0;
  }
}

/********************
  Part - Main Content
********************/
.category-main-content {
  flex      : 1;
  min-width : 0;
}

/********************
  Part - active filters
********************/
.product_list_active_filters {
  margin-bottom : 1.5rem;
  padding       : 1rem;
  background    : #fff;
  border-radius : var(--radius-xl, 16px);
  box-shadow    : 0 2px 10px rgba(9, 28, 52, 0.08);
}

.product_list_active_filters:empty {
  display : none;
}

/********************
  Part - subcategories section (Pills style)
********************/
.subcategories-section {
  margin-bottom : 2rem;
}

.subcategories-section__title {
  font-size   : 1.125rem;
  font-weight : 600;
  color       : var(--color-black-default, #091C34);
  margin      : 0 0 1rem;
}

.subcategories-pills {
  display   : flex;
  flex-wrap : wrap;
  gap       : 0.5rem;
}

.subcategory-pill {
  display         : inline-flex;
  align-items     : center;
  padding         : 0.5rem 1rem;
  font-size       : 0.875rem;
  font-weight     : 500;
  color           : var(--color-black-default, #091C34);
  background      : var(--color-white-default, #fff);
  border          : 1px solid hsl(210, 20%, 90%);
  border-radius   : var(--radius-lg, 12px);
  text-decoration : none;
  transition      : all 0.2s ease;
}

.subcategory-pill:hover {
  border-color    : var(--color-secondary);
  background      : rgba(255, 187, 77, 0.05);
  color           : var(--color-secondary);
  text-decoration : none;
}

@media (max-width : 575px) {
  .subcategories-section {
    margin-bottom : 1.5rem;
  }

  .subcategories-section__title {
    font-size : 1rem;
  }

  .subcategory-pill {
    padding   : 0.375rem 0.75rem;
    font-size : 0.8125rem;
  }
}

/********************
  Part - subcategories section (Cards style - legacy)
********************/
.subcategories-list {
  display               : grid;
  grid-template-columns : repeat(auto-fill, minmax(160px, 1fr));
  gap                   : 1.25rem;
  text-align            : center;
  list-style            : none;
  padding               : 0;
  margin                : 0;
}

.subcategory-item {
  display : flex;
}

.subcategory-link {
  display         : flex;
  flex-direction  : column;
  align-items     : center;
  width           : 100%;
  text-decoration : none;
  padding         : 1rem;
  border-radius   : var(--radius-xl, 16px);
  background      : #fff;
  box-shadow      : 0 2px 10px rgba(9, 28, 52, 0.06);
  transition      : transform 0.3s ease, box-shadow 0.3s ease;
}

.subcategory-link:hover {
  transform  : translateY(-4px);
  box-shadow : 0 8px 25px rgba(9, 28, 52, 0.12);
}

.subcategory__image {
  aspect-ratio    : 1 / 1;
  width           : 100%;
  max-width       : 140px;
  overflow        : hidden;
  border-radius   : var(--radius-lg, 12px);
  background      : var(--color-grey-default, #f3f5f7);
  margin-bottom   : 0.75rem;
  display         : flex;
  align-items     : center;
  justify-content : center;
}

.subcategory__image img,
.subcategory__image picture {
  width      : 100%;
  height     : 100%;
  object-fit : cover;
}

.subcategory__image--placeholder {
  padding : 1rem;
}

.subcategory__image--placeholder svg {
  width  : 48px;
  height : 48px;
  color  : var(--color-grey-font-default, #516765);
}

.subcategory__name-wrapper {
  margin : 0;
  width  : 100%;
}

.subcategory__name {
  display         : block;
  font-size       : 0.875rem;
  font-weight     : 500;
  color           : var(--color-black-default, #091C34);
  text-decoration : none;
  transition      : color 0.2s ease;
  line-height     : 1.4;
}

.subcategory-link:hover .subcategory__name {
  color : var(--color-primary, hsl(210, 90%, 45%));
}

@media (max-width : 991px) {
  .subcategories-list {
    grid-template-columns : repeat(auto-fill, minmax(140px, 1fr));
    gap                   : 1rem;
  }

  .subcategory-link {
    padding : 0.75rem;
  }

  .subcategory__image {
    max-width : 100px;
  }
}

/********************
  Part - products
********************/
#products {
  display        : flex;
  flex-direction : column;
}

/********************
  Part - Mobile Filter Button
********************/
.mobile-filter-toggle {
  display       : none;
  width         : 100%;
  padding       : 0.875rem 1rem;
  margin-bottom : 1rem;
  background    : #fff;
  border        : 2px solid var(--color-primary, hsl(210, 90%, 45%));
  border-radius : var(--radius-lg, 12px);
  color         : var(--color-primary, hsl(210, 90%, 45%));
  font-size     : 0.9375rem;
  font-weight   : 600;
  cursor        : pointer;
  transition    : all 0.2s ease;
}

.mobile-filter-toggle:hover {
  background : var(--color-primary, hsl(210, 90%, 45%));
  color      : #fff;
}

.mobile-filter-toggle__icon {
  display      : inline-flex;
  margin-right : 0.5rem;
}

.mobile-filter-toggle__icon svg {
  width  : 20px;
  height : 20px;
}

.mobile-filter-toggle__count {
  display         : inline-flex;
  align-items     : center;
  justify-content : center;
  min-width       : 24px;
  height          : 24px;
  padding         : 0 0.5rem;
  margin-left     : 0.5rem;
  background      : var(--color-primary, hsl(210, 90%, 45%));
  color           : #fff;
  border-radius   : 20px;
  font-size       : 0.75rem;
  font-weight     : 700;
}

@media (max-width : 767px) {
  .mobile-filter-toggle {
    display         : flex;
    align-items     : center;
    justify-content : center;
  }
}

/********************
  Part - Mobile Filter Modal
********************/
.mobile-filter-modal {
  display    : none;
  position   : fixed;
  top        : 0;
  left       : 0;
  right      : 0;
  bottom     : 0;
  z-index    : 10000;
  background : #fff;
  overflow-y : auto;
}

.mobile-filter-modal.active {
  display : block;
}

.mobile-filter-modal__header {
  display         : flex;
  align-items     : center;
  justify-content : space-between;
  padding         : 1rem 1.5rem;
  border-bottom   : 1px solid var(--color-grey-default, #f3f5f7);
  position        : sticky;
  top             : 0;
  background      : #fff;
  z-index         : 10;
}

.mobile-filter-modal__title {
  font-size   : 1.125rem;
  font-weight : 600;
  color       : var(--color-black-default, #091C34);
  margin      : 0;
}

.mobile-filter-modal__close {
  display         : flex;
  align-items     : center;
  justify-content : center;
  width           : 40px;
  height          : 40px;
  background      : none;
  border          : none;
  border-radius   : 50%;
  cursor          : pointer;
  transition      : background-color 0.2s ease;
}

.mobile-filter-modal__close:hover {
  background-color : var(--color-grey-default, #f3f5f7);
}

.mobile-filter-modal__close svg {
  width  : 24px;
  height : 24px;
  color  : var(--color-black-default, #091C34);
}

.mobile-filter-modal__content {
  padding : 1.5rem;
}

.mobile-filter-modal__footer {
  padding    : 1rem 1.5rem;
  border-top : 1px solid var(--color-grey-default, #f3f5f7);
  position   : sticky;
  bottom     : 0;
  background : #fff;
  display    : flex;
  gap        : 1rem;
}

.mobile-filter-modal__apply {
  flex          : 1;
  padding       : 0.875rem 1rem;
  background    : var(--color-primary, hsl(210, 90%, 45%));
  color         : #fff;
  border        : none;
  border-radius : var(--radius-lg, 12px);
  font-size     : 0.9375rem;
  font-weight   : 600;
  cursor        : pointer;
  transition    : background-color 0.2s ease;
}

.mobile-filter-modal__apply:hover {
  background : var(--color-secondary, hsl(213, 70%, 20%));
}

.mobile-filter-modal__reset {
  padding       : 0.875rem 1rem;
  background    : #fff;
  color         : var(--color-grey-font-default, #516765);
  border        : 2px solid var(--color-grey-default, #f3f5f7);
  border-radius : var(--radius-lg, 12px);
  font-size     : 0.9375rem;
  font-weight   : 600;
  cursor        : pointer;
  transition    : all 0.2s ease;
}

.mobile-filter-modal__reset:hover {
  border-color : var(--color-primary, hsl(210, 90%, 45%));
  color        : var(--color-primary, hsl(210, 90%, 45%));
}

/********************
  Part - amazzing_filter clear all button
********************/
#_desktop_search_filters_clear_all {
  margin-bottom : 1rem;
}

#_desktop_search_filters_clear_all a {
  display         : inline-flex;
  align-items     : center;
  gap             : 0.375rem;
  font-size       : 0.8125rem;
  color           : var(--color-grey-font-default, #516765);
  text-decoration : none;
  transition      : color 0.2s ease;
  padding         : 0.5rem 0.75rem;
  background      : var(--color-grey-default, #f3f5f7);
  border-radius   : var(--radius-sm, 5px);
}

#_desktop_search_filters_clear_all a:hover {
  color      : var(--color-primary, hsl(210, 90%, 45%));
  background : rgba(59, 130, 246, 0.1);
}

#_desktop_search_filters_clear_all .material-icons,
#_desktop_search_filters_clear_all i {
  font-size : 16px;
}

/********************
  Part - global responsive
********************/
@media (max-width : 575px) {
  .category-page #left-column {
    width : 100%;
  }

  .category-page #left-column #search_filters_wrapper {
    margin-left  : -15px;
    margin-right : -15px;
  }
}

@media (max-width : 767px) {
  .category-page #left-column #search_filters_wrapper {
    margin-left  : -30px;
    margin-right : -30px;
  }

  .category-page #left-column #search_filter_controls {
    text-align    : center;
    margin-bottom : 1rem;
  }

  .category-page #left-column #search_filter_controls button {
    margin : 0 0.5rem;
  }

  .category-page #left-column #search_filters {
    margin-bottom : 0;
    box-shadow    : none;
    padding       : 0;
    border-top    : 1px solid #f6f6f6;
  }

  .category-page #left-column #search_filters .facet {
    padding-top   : 0;
    border-bottom : 1px solid #f6f6f6;
  }

  .category-page #content-wrapper,
  .category-page #search_filter_toggler {
    width : 100%;
  }

  .category-cover {
    display : none;
  }
}

@media (max-width : 991px) {
  .block-category .category-cover {
    position   : relative;
    text-align : center;
  }
}

/********************
  Part - additional_description category
********************/
@supports not (-webkit-touch-callout: none) {
  .additional-description-text {
    overflow           : hidden;
    text-overflow      : ellipsis;
    display            : -webkit-box;
    -webkit-line-clamp : 3;
    line-clamp         : 3;
    -webkit-box-orient : vertical;
    transition         : 0.4s ease;
  }

  .additional-description-text p {
    line-height : 1.4rem;
  }
}

.additional-description__container {
  margin-top : 20px;
}

.additional-description-text a {
  color : var(--color-secondary);
}

.additional-description-text a:hover {
  text-decoration : underline;
}

@supports (-webkit-touch-callout: none) {
  .additional-description-text {
    overflow   : hidden;
    max-height : 200px;
  }

  .additional-description-text p {
    display     : inline-block;
    line-height : 1.4rem;
  }
}

.see-more-btn {
  position    : relative;
  display     : flex;
  align-items : center;
  background  : transparent;
  color       : var(--color-secondary);
  cursor      : pointer;
  padding-top : 10px;
}

.see-more-btn-text--is-hidden,
.see-less-btn-text--is-hidden {
  display : none !important;
}

.see-more-btn-text,
.see-less-btn-text {
  display : block;
}

.additional-description-text--is-extended {
  -webkit-line-clamp : unset;
  line-clamp         : unset;
}

/********************
  Part - sibling categories
********************/
.siblingcategories-container {
  margin   : 2em auto 0 auto;
  position : relative;
}

.siblingcategories-container .swiper-container {
  width  : 100%;
  height : 100%;
}

.siblingcategories__item {
  border-radius   : 50px;
  border          : 1px solid var(--color-tertiary);
  padding         : 15px 50px;
  color           : var(--color-black-default);
  font-size       : 14px;
  font-weight     : 400;
  text-align      : center;
  text-transform  : initial;
  text-decoration : none;
}

.siblingcategories__item:hover {
  background      : var(--color-tertiary);
  color           : var(--color-white-default);
  text-decoration : none;
}

.siblingcategories-slider .siblingcategories-swiper-button-prev {
  right : 20px;
}

.siblingcategories-slider .siblingcategories-swiper-button-next {
  right : 0;
}

.siblingcategories-slider .siblingcategories-swiper-button-prev,
.siblingcategories-slider .siblingcategories-swiper-button-next {
  position   : absolute;
  background : none;
  top        : 0;
}

/********************
  Part - block category
********************/
.block-category {
  justify-content  : space-between;
  padding          : 0.75rem;
  background-color : #fff;
  margin           : 0;
}

.block-category #category-description p,
.block-category #category-description strong {
  font-weight : 400;
  color       : var(--color-grey-font-default);
}

.block-category #category-description p {
  color         : var(--color-black-default);
  margin-bottom : 0;
}

.block-category #category-description p:first-child {
  margin-bottom : 1.25rem;
}

@media (max-width : 767px) {
  .block-category {
    min-height    : 0;
    margin-bottom : 0;
  }
}

@media (min-width : 768px) {
  .block-category {
    flex-direction : row;
  }
}

@media (max-width : 991px) {
  .block-category {
    padding-bottom : 0;
  }
}
