@media (min-width:701px) {
  .fs-mobile-catalog-categories { display:none!important; }
}

@media (max-width:700px) {
  .woocommerce-shop .fs-shop-hero {
    width:calc(100% - 32px)!important;
    max-width:none!important;
    min-height:175px!important;
    margin:18px auto 14px!important;
    padding:24px 20px!important;
    border-radius:16px!important;
    box-sizing:border-box!important;
    background:
      linear-gradient(90deg,rgba(10,35,24,.76),rgba(10,35,24,.12)),
      url('/wp-content/uploads/2026/10/florasfera-catalog-banner-768x384.webp')
      center center/cover no-repeat!important;
  }

  .woocommerce-shop .fs-shop-hero h1 {
    color:#fff!important;
    font-size:36px!important;
    line-height:1.05!important;
    max-width:240px!important;
    margin:12px 0!important;
  }

  .woocommerce-shop .fs-shop-hero p {
    color:#fff!important;
    font-size:12px!important;
    line-height:1.5!important;
    max-width:230px!important;
    margin:0!important;
  }

  .woocommerce-shop .fs-shop-crumbs,
  .woocommerce-shop .fs-shop-note {
    display:none!important;
  }

  .fs-mobile-catalog-categories {
    display:flex!important;
    gap:10px!important;
    overflow-x:auto!important;
    padding:4px 16px 16px!important;
    margin:0 0 12px!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .fs-mobile-catalog-categories::-webkit-scrollbar {
    display:none;
  }

  .fs-mobile-catalog-category {
    flex:0 0 94px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    align-items:center!important;
    text-align:center!important;
    color:#173f35!important;
    text-decoration:none!important;
    font:600 11px/1.3 Manrope,sans-serif!important;
  }

  .fs-mobile-catalog-category img {
    display:block!important;
    width:94px!important;
    height:94px!important;
    object-fit:cover!important;
    border-radius:14px!important;
    background:#f4f5ef!important;
  }
}

/* MOBILE CATALOG REFERENCE ALIGNMENT */
@media (max-width:700px) {
  .woocommerce-shop .fs-shop-hero {
    min-height:170px!important;
    padding:0!important;
    background:
      url('/wp-content/uploads/2026/10/florasfera-catalog-banner-768x384.webp')
      center center/cover no-repeat!important;
  }

  .woocommerce-shop .fs-shop-hero h1,
  .woocommerce-shop .fs-shop-hero p {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
  }

  .fs-mobile-catalog-categories {
    width:calc(100% - 32px)!important;
    margin:0 auto 18px!important;
    padding:4px 0 8px!important;
    gap:7px!important;
    overflow-x:visible!important;
    justify-content:space-between!important;
    box-sizing:border-box!important;
  }

  .fs-mobile-catalog-category {
    flex:0 1 20%!important;
    min-width:0!important;
    gap:6px!important;
    font-size:9px!important;
  }

  .fs-mobile-catalog-category img {
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
    border-radius:12px!important;
  }
}

/* FLORASFERA MOBILE FILTER DRAWER */
@media (min-width:701px) {
  .fs-mobile-filter-button,
  .fs-mobile-filter-close,
  .fs-mobile-filter-backdrop {
    display:none!important;
  }
}

@media (max-width:700px) {
  body.fs-filter-lock {
    overflow:hidden!important;
  }

  .woocommerce-shop .fs-catalog-grid,
  .tax-product_cat .fs-catalog-grid {
    display:block!important;
    width:100%!important;
  }

  .fs-mobile-filter-button {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:calc(100% - 32px)!important;
    height:46px!important;
    margin:8px auto 18px!important;
    border:1px solid #e0e8df!important;
    border-radius:12px!important;
    background:#edf3ed!important;
    color:#173f35!important;
    font:600 14px Manrope,sans-serif!important;
    cursor:pointer!important;
  }

  .fs-catalog-left {
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    z-index:10020!important;
    width:min(340px,88vw)!important;
    max-width:88vw!important;
    height:100dvh!important;
    margin:0!important;
    padding:65px 16px 24px!important;
    overflow-y:auto!important;
    box-sizing:border-box!important;
    background:#fff!important;
    box-shadow:10px 0 35px rgba(0,0,0,.12)!important;
    transform:translateX(-110%)!important;
    visibility:hidden!important;
    transition:transform .25s ease,visibility .25s!important;
  }

  .fs-catalog-left.fs-filter-open {
    transform:translateX(0)!important;
    visibility:visible!important;
  }

  .fs-mobile-filter-close {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    top:14px!important;
    right:16px!important;
    width:38px!important;
    height:38px!important;
    border:0!important;
    border-radius:50%!important;
    background:#f0f4ef!important;
    color:#173f35!important;
    font-size:28px!important;
    cursor:pointer!important;
  }

  .fs-mobile-filter-backdrop {
    position:fixed!important;
    inset:0!important;
    z-index:10019!important;
    background:rgba(10,30,20,.48)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .25s ease!important;
  }

  .fs-mobile-filter-backdrop.fs-filter-open {
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .fs-catalog-right {
    width:100%!important;
    min-width:0!important;
  }
}


/* FLORASFERA MOBILE CATALOG CONTROLS AND GRID */
@media (min-width:701px) {
  .fs-mobile-catalog-controls { display:none!important; }
}

@media (max-width:700px) {
  .fs-mobile-catalog-controls {
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:10px!important;
    width:calc(100% - 32px)!important;
    margin:8px auto 14px!important;
  }

  .fs-mobile-catalog-controls > .fs-mobile-filter-button,
  .fs-mobile-catalog-controls > .woocommerce-ordering {
    position:static!important;
    flex:1 1 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    max-width:none!important;
    width:0!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    clear:none!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  .fs-mobile-catalog-controls > .fs-mobile-filter-button {
    white-space:nowrap!important;
    font-size:12px!important;
  }

  .fs-mobile-catalog-controls .woocommerce-ordering select {
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    margin:0!important;
    padding:0 24px 0 10px!important;
    border:1px solid #e0e8df!important;
    border-radius:12px!important;
    background:#f5f6f5!important;
    color:#173f35!important;
    font:500 11px Manrope,sans-serif!important;
    box-sizing:border-box!important;
  }

  .fs-mobile-catalog-controls .ct-sort-icon {
    display:none!important;
  }

  body.woocommerce-shop .fs-shop-toolbar,
  body.tax-product_cat .fs-shop-toolbar {
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 10px!important;
    padding:0!important;
  }

  body .fs-result-count {
    margin:0 0 10px!important;
    font-size:12px!important;
  }

  body.woocommerce-shop .fs-shop-main>ul.products,
  body.tax-product_cat .fs-shop-main>ul.products {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  body.woocommerce-shop .fs-shop-main>ul.products li.product,
  body.tax-product_cat .fs-shop-main>ul.products li.product {
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
}

/* FLORASFERA MOBILE PRODUCT CARDS */
@media (max-width:700px) {
  .woocommerce-shop .fs-shop-main ul.products li.product,
  .tax-product_cat .fs-shop-main ul.products li.product {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    grid-template-rows:auto minmax(66px,auto) 48px!important;
    align-content:start!important;
    column-gap:6px!important;
    padding-bottom:12px!important;
    overflow:hidden!important;
  }

  .fs-shop-main ul.products li.product > figure {
    grid-column:1/-1!important;
    grid-row:1!important;
    margin:0!important;
  }

  .fs-shop-main ul.products li.product > h2.woocommerce-loop-product__title {
    grid-column:1/-1!important;
    grid-row:2!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    align-self:start!important;
    margin:0!important;
    padding:10px 10px 0!important;
    font-size:12px!important;
    line-height:1.4!important;
  }

  .fs-shop-main ul.products li.product > .price {
    grid-column:1!important;
    grid-row:3!important;
    align-self:center!important;
    margin:0!important;
    padding-left:10px!important;
    font-size:17px!important;
    font-weight:700!important;
    white-space:nowrap!important;
  }

  .fs-shop-main ul.products li.product > .entry-meta {
    display:none!important;
  }

  .fs-shop-main ul.products li.product > .ct-woo-card-actions {
    grid-column:2!important;
    grid-row:3!important;
    align-self:center!important;
    justify-self:end!important;
    width:42px!important;
    margin:0 8px 0 0!important;
    padding:0!important;
  }

  .fs-shop-main ul.products li.product .ct-woo-card-actions > a.button {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0!important;
    border-radius:10px!important;
    background:#17633a!important;
    font-size:0!important;
    color:transparent!important;
  }

  .fs-shop-main ul.products li.product .ct-woo-card-actions > a.button::before {
    content:""!important;
    display:block!important;
    width:23px!important;
    height:23px!important;
    background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M2 3h2l3 13h12l2-9H5'/%3E%3C/svg%3E")!important;
  }
}

/* MOBILE CATALOG: QUANTITY CONTROL */
@media (max-width:700px) {
  .fs-shop-main ul.products li.product:has(> .ct-woo-card-actions .fs-loop-qty) > .ct-woo-card-actions {
    grid-column:2!important;
    grid-row:3!important;
    justify-self:end!important;
    align-self:center!important;
    width:108px!important;
    margin:0 8px 0 0!important;
  }

  .fs-shop-main ul.products li.product .ct-woo-card-actions .fs-loop-qty {
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) 32px!important;
    align-items:center!important;
    width:100%!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    border-radius:10px!important;
    background:#17633a!important;
    color:#fff!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .fs-shop-main ul.products li.product .fs-loop-qty button {
    width:32px!important;
    height:42px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    color:#fff!important;
    font-size:19px!important;
  }

  .fs-shop-main ul.products li.product .fs-loop-number {
    display:block!important;
    min-width:0!important;
    text-align:center!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:700!important;
  }
}

/* Florasfera: скрываем мобильные фильтры на десктопе */
@media (min-width: 701px) {
  .fs-mobile-filter-close,
  .fs-mobile-filter-backdrop,
  .fs-mobile-filter-toggle {
    display: none !important;
  }
}
