
/* Unified v3 helpers */
.oc-mobile-fav-btn{display:none;}
@media (max-width:767px){
  body.product-product .oc-desktop-wishlist-link{display:none!important;}
  body.product-product .oc-mobile-fav-btn{display:flex!important;}
}


/* ===== v2.4.9 list/wishlist/compact ===== */
/* Opto Zero v2.4.9 — list view + active wishlist hearts + compact optimized cards */

/* --- Wishlist state --- */
.oc-card-heart-top,
.oc-product-card .oc-heart-btn,
.oc-product-info-card .oc-heart-btn{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
.oc-card-heart-top.oc-wishlist-active,
.oc-product-card .oc-heart-btn.oc-wishlist-active,
.oc-product-info-card .oc-heart-btn.oc-wishlist-active{
  color:#e53955!important;
  border-color:#ffd0d8!important;
  background:#fff1f4!important;
  box-shadow:0 5px 14px rgba(229,57,85,.12)!important;
}
.oc-card-heart-top.oc-wishlist-active:active,
.oc-product-card .oc-heart-btn.oc-wishlist-active:active,
.oc-product-info-card .oc-heart-btn.oc-wishlist-active:active{
  transform:scale(.94);
}

/* --- Compact grid: desktop --- */
@media (min-width:992px){
  .oc-products-grid,
  .oc-home-products,
  .search-grid-fix{
    margin-left:-4px!important;
    margin-right:-4px!important;
  }
  .oc-products-grid .oc-product-col,
  .oc-home-products .oc-product-col,
  .search-grid-fix .oc-product-col{
    padding:4px!important;
  }
  .oc-products-grid .oc-product-card,
  .oc-home-products .oc-product-card,
  .search-grid-fix .oc-product-card{
    padding:7px!important;
    border-radius:9px!important;
  }
  .oc-products-grid .oc-product-image-wrap,
  .oc-home-products .oc-product-image-wrap,
  .search-grid-fix .oc-product-image-wrap{
    height:112px!important;
    margin-bottom:3px!important;
  }
  .oc-products-grid .oc-product-title,
  .oc-home-products .oc-product-title,
  .search-grid-fix .oc-product-title{
    font-size:10.8px!important;
    line-height:1.2!important;
    min-height:26px!important;
    height:2.4em!important;
    margin-bottom:4px!important;
  }
  .oc-products-grid .oc-product-prices,
  .oc-home-products .oc-product-prices,
  .search-grid-fix .oc-product-prices{
    min-height:36px!important;
    margin-bottom:4px!important;
    gap:1px 6px!important;
  }
  .oc-products-grid .oc-main-price,
  .oc-home-products .oc-main-price,
  .search-grid-fix .oc-main-price{font-size:14px!important}
  .oc-products-grid .oc-second-price,
  .oc-home-products .oc-second-price,
  .search-grid-fix .oc-second-price{font-size:11.5px!important}
  .oc-products-grid .oc-main-price small,
  .oc-products-grid .oc-second-price small,
  .oc-home-products .oc-main-price small,
  .oc-home-products .oc-second-price small,
  .search-grid-fix .oc-main-price small,
  .search-grid-fix .oc-second-price small{font-size:7px!important}
  .oc-products-grid .oc-pack-note,
  .oc-home-products .oc-pack-note,
  .search-grid-fix .oc-pack-note{font-size:7.5px!important;min-height:8px!important}
  .oc-products-grid .oc-sale-type-switch,
  .oc-home-products .oc-sale-type-switch,
  .search-grid-fix .oc-sale-type-switch{margin-bottom:4px!important}
  .oc-products-grid .oc-sale-type-switch button,
  .oc-home-products .oc-sale-type-switch button,
  .search-grid-fix .oc-sale-type-switch button{padding:3px 2px!important;font-size:8.5px!important}
  .oc-products-grid .oc-product-actions,
  .oc-home-products .oc-product-actions,
  .search-grid-fix .oc-product-actions{
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:4px!important;
  }
  .oc-products-grid .oc-product-actions>.oc-heart-btn,
  .oc-home-products .oc-product-actions>.oc-heart-btn,
  .search-grid-fix .oc-product-actions>.oc-heart-btn{
    display:none!important;
  }
  .oc-products-grid .oc-card-heart-top,
  .oc-home-products .oc-card-heart-top,
  .search-grid-fix .oc-card-heart-top{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:27px!important;
    height:27px!important;
  }
  .oc-products-grid .oc-qty-control,
  .oc-home-products .oc-qty-control,
  .search-grid-fix .oc-qty-control,
  .oc-products-grid .oc-add-cart-btn,
  .oc-home-products .oc-add-cart-btn,
  .search-grid-fix .oc-add-cart-btn{
    height:28px!important;
  }
  .oc-products-grid .oc-add-cart-btn,
  .oc-home-products .oc-add-cart-btn,
  .search-grid-fix .oc-add-cart-btn{
    font-size:9px!important;
    border-radius:7px!important;
  }
}

/* --- Real list view: overrides later grid rules --- */
.oc-products-grid.oc-list-view,
.oc-home-products.oc-list-view,
.search-grid-fix.oc-list-view{
  display:block!important;
  margin-left:0!important;
  margin-right:0!important;
}
.oc-products-grid.oc-list-view .oc-product-col,
.oc-home-products.oc-list-view .oc-product-col,
.search-grid-fix.oc-list-view .oc-product-col{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  flex:0 0 100%!important;
  padding:0 0 8px!important;
}
.oc-products-grid.oc-list-view .oc-product-card,
.oc-home-products.oc-list-view .oc-product-card,
.search-grid-fix.oc-list-view .oc-product-card{
  width:100%!important;
  min-height:116px!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:104px minmax(180px,1fr) minmax(250px,315px)!important;
  grid-template-rows:auto auto 1fr!important;
  align-items:center!important;
  column-gap:14px!important;
  row-gap:4px!important;
  padding:9px!important;
  border-radius:12px!important;
}
.oc-products-grid.oc-list-view .oc-product-image-wrap,
.oc-home-products.oc-list-view .oc-product-image-wrap,
.search-grid-fix.oc-list-view .oc-product-image-wrap{
  grid-column:1!important;
  grid-row:1 / 4!important;
  width:100%!important;
  height:96px!important;
  margin:0!important;
  padding:4px!important;
}
.oc-products-grid.oc-list-view .oc-product-title,
.oc-home-products.oc-list-view .oc-product-title,
.search-grid-fix.oc-list-view .oc-product-title{
  grid-column:2!important;
  grid-row:1!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.25!important;
  -webkit-line-clamp:2!important;
}
.oc-products-grid.oc-list-view .oc-product-prices,
.oc-home-products.oc-list-view .oc-product-prices,
.search-grid-fix.oc-list-view .oc-product-prices{
  grid-column:2!important;
  grid-row:2 / 4!important;
  min-height:0!important;
  margin:0!important;
  align-self:start!important;
}
.oc-products-grid.oc-list-view .oc-sale-type-switch,
.oc-home-products.oc-list-view .oc-sale-type-switch,
.search-grid-fix.oc-list-view .oc-sale-type-switch{
  grid-column:3!important;
  grid-row:1!important;
  margin:0!important;
}
.oc-products-grid.oc-list-view .oc-product-actions,
.oc-home-products.oc-list-view .oc-product-actions,
.search-grid-fix.oc-list-view .oc-product-actions{
  grid-column:3!important;
  grid-row:2 / 4!important;
  width:100%!important;
  align-self:center!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  gap:6px!important;
}
.oc-products-grid.oc-list-view .oc-product-actions>.oc-heart-btn,
.oc-home-products.oc-list-view .oc-product-actions>.oc-heart-btn,
.search-grid-fix.oc-list-view .oc-product-actions>.oc-heart-btn{
  display:none!important;
}

/* --- Mobile / tablet --- */
@media (max-width:991px){
  .oc-view-toggle.hidden-xs{
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    flex:0 0 auto!important;
  }
  .oc-view-toggle button{
    width:36px!important;
    height:36px!important;
    border-radius:10px!important;
  }

  .oc-products-grid .oc-product-col,
  .oc-home-products .oc-product-col,
  .search-grid-fix .oc-product-col{
    padding:3px!important;
  }
  .oc-products-grid .oc-product-card,
  .oc-home-products .oc-product-card,
  .search-grid-fix .oc-product-card{
    padding:6px!important;
    border-radius:10px!important;
  }
  .oc-products-grid .oc-product-image-wrap,
  .oc-home-products .oc-product-image-wrap,
  .search-grid-fix .oc-product-image-wrap{
    height:88px!important;
    margin-bottom:2px!important;
    padding:5px!important;
  }
  .oc-products-grid .oc-product-title,
  .oc-home-products .oc-product-title,
  .search-grid-fix .oc-product-title{
    font-size:9.8px!important;
    line-height:1.18!important;
    height:2.36em!important;
    min-height:23px!important;
    margin-bottom:3px!important;
  }
  .oc-products-grid .oc-product-prices,
  .oc-home-products .oc-product-prices,
  .search-grid-fix .oc-product-prices{
    min-height:0!important;
    margin-bottom:3px!important;
    gap:1px!important;
  }
  .oc-products-grid .oc-main-price,
  .oc-home-products .oc-main-price,
  .search-grid-fix .oc-main-price{font-size:11.5px!important}
  .oc-products-grid .oc-second-price,
  .oc-home-products .oc-second-price,
  .search-grid-fix .oc-second-price{font-size:9.5px!important}
  .oc-products-grid .oc-main-price small,
  .oc-products-grid .oc-second-price small,
  .oc-home-products .oc-main-price small,
  .oc-home-products .oc-second-price small,
  .search-grid-fix .oc-main-price small,
  .search-grid-fix .oc-second-price small{font-size:6.6px!important}
  .oc-products-grid .oc-pack-note,
  .oc-home-products .oc-pack-note,
  .search-grid-fix .oc-pack-note{font-size:7px!important;min-height:8px!important}
  .oc-products-grid .oc-sale-type-switch,
  .oc-home-products .oc-sale-type-switch,
  .search-grid-fix .oc-sale-type-switch{margin-bottom:3px!important;border-radius:7px!important}
  .oc-products-grid .oc-sale-type-switch button,
  .oc-home-products .oc-sale-type-switch button,
  .search-grid-fix .oc-sale-type-switch button{
    padding:3px 1px!important;
    font-size:7.5px!important;
    min-height:24px!important;
  }
  .oc-products-grid .oc-product-actions,
  .oc-home-products .oc-product-actions,
  .search-grid-fix .oc-product-actions{
    grid-template-columns:53px minmax(0,1fr)!important;
    gap:3px!important;
  }
  .oc-products-grid .oc-product-actions>.oc-heart-btn,
  .oc-home-products .oc-product-actions>.oc-heart-btn,
  .search-grid-fix .oc-product-actions>.oc-heart-btn{
    display:none!important;
  }
  .oc-products-grid .oc-card-heart-top,
  .oc-home-products .oc-card-heart-top,
  .search-grid-fix .oc-card-heart-top{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    right:5px!important;
    top:5px!important;
    width:25px!important;
    height:25px!important;
    font-size:11px!important;
  }
  .oc-products-grid .oc-qty-control,
  .oc-home-products .oc-qty-control,
  .search-grid-fix .oc-qty-control,
  .oc-products-grid .oc-add-cart-btn,
  .oc-home-products .oc-add-cart-btn,
  .search-grid-fix .oc-add-cart-btn{
    height:26px!important;
  }
  .oc-products-grid .oc-qty-control,
  .oc-home-products .oc-qty-control,
  .search-grid-fix .oc-qty-control{
    grid-template-columns:17px 1fr 17px!important;
  }
  .oc-products-grid .oc-qty-btn,
  .oc-home-products .oc-qty-btn,
  .search-grid-fix .oc-qty-btn{font-size:12px!important}
  .oc-products-grid .oc-qty-input,
  .oc-home-products .oc-qty-input,
  .search-grid-fix .oc-qty-input{font-size:9px!important}
  .oc-products-grid .oc-add-cart-btn,
  .oc-home-products .oc-add-cart-btn,
  .search-grid-fix .oc-add-cart-btn{
    font-size:8.5px!important;
    padding:0 4px!important;
  }

  /* mobile list */
  .oc-products-grid.oc-list-view .oc-product-col,
  .oc-home-products.oc-list-view .oc-product-col,
  .search-grid-fix.oc-list-view .oc-product-col{
    width:100%!important;
    max-width:100%!important;
    flex:0 0 100%!important;
    padding:0 0 6px!important;
  }
  .oc-products-grid.oc-list-view .oc-product-card,
  .oc-home-products.oc-list-view .oc-product-card,
  .search-grid-fix.oc-list-view .oc-product-card{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto!important;
    min-height:98px!important;
    padding:7px!important;
    column-gap:8px!important;
    row-gap:3px!important;
  }
  .oc-products-grid.oc-list-view .oc-product-image-wrap,
  .oc-home-products.oc-list-view .oc-product-image-wrap,
  .search-grid-fix.oc-list-view .oc-product-image-wrap{
    grid-column:1!important;
    grid-row:1 / 5!important;
    height:78px!important;
    align-self:start!important;
  }
  .oc-products-grid.oc-list-view .oc-product-title,
  .oc-home-products.oc-list-view .oc-product-title,
  .search-grid-fix.oc-list-view .oc-product-title{
    grid-column:2!important;
    grid-row:1!important;
    font-size:10.5px!important;
    min-height:0!important;
    height:auto!important;
  }
  .oc-products-grid.oc-list-view .oc-product-prices,
  .oc-home-products.oc-list-view .oc-product-prices,
  .search-grid-fix.oc-list-view .oc-product-prices{
    grid-column:2!important;
    grid-row:2!important;
  }
  .oc-products-grid.oc-list-view .oc-sale-type-switch,
  .oc-home-products.oc-list-view .oc-sale-type-switch,
  .search-grid-fix.oc-list-view .oc-sale-type-switch{
    grid-column:2!important;
    grid-row:3!important;
    margin:0!important;
  }
  .oc-products-grid.oc-list-view .oc-product-actions,
  .oc-home-products.oc-list-view .oc-product-actions,
  .search-grid-fix.oc-list-view .oc-product-actions{
    grid-column:2!important;
    grid-row:4!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    align-self:end!important;
  }
}

@media (max-width:380px){
  .oc-products-grid .oc-product-image-wrap,
  .oc-home-products .oc-product-image-wrap,
  .search-grid-fix .oc-product-image-wrap{height:80px!important}
  .oc-products-grid .oc-product-title,
  .oc-home-products .oc-product-title,
  .search-grid-fix .oc-product-title{font-size:9.2px!important}
  .oc-products-grid .oc-main-price,
  .oc-home-products .oc-main-price,
  .search-grid-fix .oc-main-price{font-size:10.5px!important}
  .oc-products-grid .oc-second-price,
  .oc-home-products .oc-second-price,
  .search-grid-fix .oc-second-price{font-size:8.8px!important}
  .oc-products-grid .oc-add-cart-btn,
  .oc-home-products .oc-add-cart-btn,
  .search-grid-fix .oc-add-cart-btn{font-size:7.8px!important}

  .oc-products-grid.oc-list-view .oc-product-card,
  .oc-home-products.oc-list-view .oc-product-card,
  .search-grid-fix.oc-list-view .oc-product-card{
    grid-template-columns:72px minmax(0,1fr)!important;
  }
  .oc-products-grid.oc-list-view .oc-product-image-wrap,
  .oc-home-products.oc-list-view .oc-product-image-wrap,
  .search-grid-fix.oc-list-view .oc-product-image-wrap{height:68px!important}
}

/* Cheap rendering optimization for long product pages. */
@supports (content-visibility:auto){
  .oc-products-grid:not(.oc-list-view) .oc-product-col,
  .oc-home-products:not(.oc-list-view) .oc-product-col,
  .search-grid-fix:not(.oc-list-view) .oc-product-col{
    content-visibility:auto;
    contain-intrinsic-size:250px;
  }
}


/* ===== v2.4.10 polished list ===== */
/* Opto Zero v2.4.10 — polished list layout */

/* Desktop list: image | product info | purchase controls */
@media (min-width: 992px) {
  .oc-products-grid.oc-list-view,
  .oc-home-products.oc-list-view,
  .search-grid-fix.oc-list-view {
    display: block !important;
    margin: 0 !important;
  }

  .oc-products-grid.oc-list-view .oc-product-col,
  .oc-home-products.oc-list-view .oc-product-col,
  .search-grid-fix.oc-list-view .oc-product-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 0 8px !important;
  }

  .oc-products-grid.oc-list-view .oc-product-card,
  .oc-home-products.oc-list-view .oc-product-card,
  .search-grid-fix.oc-list-view .oc-product-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 118px minmax(0, 1fr) 330px !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 18px !important;
    row-gap: 5px !important;
    align-items: center !important;
    min-height: 126px !important;
    padding: 12px 46px 12px 12px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .oc-products-grid.oc-list-view .oc-product-image-wrap,
  .oc-home-products.oc-list-view .oc-product-image-wrap,
  .search-grid-fix.oc-list-view .oc-product-image-wrap {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    width: 118px !important;
    height: 102px !important;
    margin: 0 !important;
    padding: 5px !important;
    align-self: center !important;
    justify-self: center !important;
    background: #fff !important;
    border-radius: 10px !important;
  }

  .oc-products-grid.oc-list-view .oc-product-image,
  .oc-home-products.oc-list-view .oc-product-image,
  .search-grid-fix.oc-list-view .oc-product-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .oc-products-grid.oc-list-view .oc-product-title,
  .oc-home-products.oc-list-view .oc-product-title,
  .search-grid-fix.oc-list-view .oc-product-title {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    -webkit-line-clamp: 2 !important;
  }

  .oc-products-grid.oc-list-view .oc-product-prices,
  .oc-home-products.oc-list-view .oc-product-prices,
  .search-grid-fix.oc-list-view .oc-product-prices {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 5px 24px !important;
    min-height: 0 !important;
    margin: 0 !important;
    align-self: start !important;
  }

  .oc-products-grid.oc-list-view .oc-main-price,
  .oc-home-products.oc-list-view .oc-main-price,
  .search-grid-fix.oc-list-view .oc-main-price {
    flex: 0 0 auto !important;
    text-align: left !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  .oc-products-grid.oc-list-view .oc-second-price,
  .oc-home-products.oc-list-view .oc-second-price,
  .search-grid-fix.oc-list-view .oc-second-price {
    flex: 0 0 auto !important;
    text-align: left !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
  }

  .oc-products-grid.oc-list-view .oc-main-price small,
  .oc-products-grid.oc-list-view .oc-second-price small,
  .oc-home-products.oc-list-view .oc-main-price small,
  .oc-home-products.oc-list-view .oc-second-price small,
  .search-grid-fix.oc-list-view .oc-main-price small,
  .search-grid-fix.oc-list-view .oc-second-price small {
    font-size: 9px !important;
  }

  .oc-products-grid.oc-list-view .oc-pack-note,
  .oc-home-products.oc-list-view .oc-pack-note,
  .search-grid-fix.oc-list-view .oc-pack-note {
    flex: 0 0 100% !important;
    text-align: left !important;
    min-height: 0 !important;
    margin: 0 !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
  }

  .oc-products-grid.oc-list-view .oc-sale-type-switch,
  .oc-home-products.oc-list-view .oc-sale-type-switch,
  .search-grid-fix.oc-list-view .oc-sale-type-switch {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: end !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 9px !important;
  }

  .oc-products-grid.oc-list-view .oc-sale-type-switch button,
  .oc-home-products.oc-list-view .oc-sale-type-switch button,
  .search-grid-fix.oc-list-view .oc-sale-type-switch button {
    min-height: 31px !important;
    padding: 5px 8px !important;
    font-size: 10px !important;
  }

  .oc-products-grid.oc-list-view .oc-product-actions,
  .oc-home-products.oc-list-view .oc-product-actions,
  .search-grid-fix.oc-list-view .oc-product-actions {
    grid-column: 3 !important;
    grid-row: 2 / 4 !important;
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-self: start !important;
    width: 100% !important;
    margin-top: 5px !important;
  }

  .oc-products-grid.oc-list-view .oc-qty-control,
  .oc-home-products.oc-list-view .oc-qty-control,
  .search-grid-fix.oc-list-view .oc-qty-control {
    height: 36px !important;
    grid-template-columns: 28px 1fr 28px !important;
    border-radius: 9px !important;
  }

  .oc-products-grid.oc-list-view .oc-add-cart-btn,
  .oc-home-products.oc-list-view .oc-add-cart-btn,
  .search-grid-fix.oc-list-view .oc-add-cart-btn {
    height: 36px !important;
    padding: 0 14px !important;
    border-radius: 9px !important;
    font-size: 11px !important;
  }

  .oc-products-grid.oc-list-view .oc-card-heart-top,
  .oc-home-products.oc-list-view .oc-card-heart-top,
  .search-grid-fix.oc-list-view .oc-card-heart-top {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: 10px !important;
    right: 10px !important;
    width: 30px !important;
    height: 30px !important;
    font-size: 13px !important;
  }

  .oc-products-grid.oc-list-view .oc-badge,
  .oc-home-products.oc-list-view .oc-badge,
  .search-grid-fix.oc-list-view .oc-badge {
    top: 8px !important;
    left: 8px !important;
  }
}

/* Tablet list */
@media (min-width: 576px) and (max-width: 991px) {
  .oc-products-grid.oc-list-view .oc-product-card,
  .oc-home-products.oc-list-view .oc-product-card,
  .search-grid-fix.oc-list-view .oc-product-card {
    grid-template-columns: 100px minmax(0,1fr) 245px !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    min-height: 112px !important;
    padding: 9px 40px 9px 9px !important;
  }

  .oc-products-grid.oc-list-view .oc-product-image-wrap,
  .oc-home-products.oc-list-view .oc-product-image-wrap,
  .search-grid-fix.oc-list-view .oc-product-image-wrap {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    width: 96px !important;
    height: 88px !important;
  }

  .oc-products-grid.oc-list-view .oc-product-title,
  .oc-home-products.oc-list-view .oc-product-title,
  .search-grid-fix.oc-list-view .oc-product-title {
    grid-column: 2 !important;
    grid-row: 1 !important;
    height: auto !important;
    min-height: 0 !important;
    font-size: 13px !important;
  }

  .oc-products-grid.oc-list-view .oc-product-prices,
  .oc-home-products.oc-list-view .oc-product-prices,
  .search-grid-fix.oc-list-view .oc-product-prices {
    grid-column: 2 !important;
    grid-row: 2 / 4 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    gap: 3px 14px !important;
  }

  .oc-products-grid.oc-list-view .oc-main-price,
  .oc-home-products.oc-list-view .oc-main-price,
  .search-grid-fix.oc-list-view .oc-main-price { font-size: 14px !important; text-align:left!important; }

  .oc-products-grid.oc-list-view .oc-second-price,
  .oc-home-products.oc-list-view .oc-second-price,
  .search-grid-fix.oc-list-view .oc-second-price { font-size: 12px !important; text-align:left!important; }

  .oc-products-grid.oc-list-view .oc-pack-note,
  .oc-home-products.oc-list-view .oc-pack-note,
  .search-grid-fix.oc-list-view .oc-pack-note {
    flex: 0 0 100% !important;
    text-align: left !important;
    min-height: 0 !important;
  }

  .oc-products-grid.oc-list-view .oc-sale-type-switch,
  .oc-home-products.oc-list-view .oc-sale-type-switch,
  .search-grid-fix.oc-list-view .oc-sale-type-switch {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  .oc-products-grid.oc-list-view .oc-product-actions,
  .oc-home-products.oc-list-view .oc-product-actions,
  .search-grid-fix.oc-list-view .oc-product-actions {
    grid-column: 3 !important;
    grid-row: 2 / 4 !important;
    grid-template-columns: 78px minmax(0,1fr) !important;
  }
}

/* Phones: clean compact row without giant gaps */
@media (max-width: 575px) {
  .oc-products-grid.oc-list-view .oc-product-col,
  .oc-home-products.oc-list-view .oc-product-col,
  .search-grid-fix.oc-list-view .oc-product-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 0 6px !important;
  }

  .oc-products-grid.oc-list-view .oc-product-card,
  .oc-home-products.oc-list-view .oc-product-card,
  .search-grid-fix.oc-list-view .oc-product-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 78px minmax(0,1fr) !important;
    grid-template-rows: auto auto auto auto !important;
    column-gap: 8px !important;
    row-gap: 4px !important;
    min-height: 112px !important;
    padding: 8px 34px 8px 8px !important;
    border-radius: 11px !important;
  }

  .oc-products-grid.oc-list-view .oc-product-image-wrap,
  .oc-home-products.oc-list-view .oc-product-image-wrap,
  .search-grid-fix.oc-list-view .oc-product-image-wrap {
    grid-column: 1 !important;
    grid-row: 1 / 5 !important;
    width: 76px !important;
    height: 76px !important;
    margin: 0 !important;
    padding: 3px !important;
    align-self: start !important;
  }

  .oc-products-grid.oc-list-view .oc-product-title,
  .oc-home-products.oc-list-view .oc-product-title,
  .search-grid-fix.oc-list-view .oc-product-title {
    grid-column: 2 !important;
    grid-row: 1 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .oc-products-grid.oc-list-view .oc-product-prices,
  .oc-home-products.oc-list-view .oc-product-prices,
  .search-grid-fix.oc-list-view .oc-product-prices {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 2px 10px !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  .oc-products-grid.oc-list-view .oc-main-price,
  .oc-home-products.oc-list-view .oc-main-price,
  .search-grid-fix.oc-list-view .oc-main-price {
    font-size: 12px !important;
    text-align: left !important;
  }

  .oc-products-grid.oc-list-view .oc-second-price,
  .oc-home-products.oc-list-view .oc-second-price,
  .search-grid-fix.oc-list-view .oc-second-price {
    font-size: 10px !important;
    text-align: left !important;
  }

  .oc-products-grid.oc-list-view .oc-pack-note,
  .oc-home-products.oc-list-view .oc-pack-note,
  .search-grid-fix.oc-list-view .oc-pack-note {
    flex: 0 0 100% !important;
    text-align: left !important;
    min-height: 0 !important;
    font-size: 7.5px !important;
  }

  .oc-products-grid.oc-list-view .oc-sale-type-switch,
  .oc-home-products.oc-list-view .oc-sale-type-switch,
  .search-grid-fix.oc-list-view .oc-sale-type-switch {
    grid-column: 2 !important;
    grid-row: 3 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .oc-products-grid.oc-list-view .oc-sale-type-switch button,
  .oc-home-products.oc-list-view .oc-sale-type-switch button,
  .search-grid-fix.oc-list-view .oc-sale-type-switch button {
    min-height: 24px !important;
    padding: 3px 2px !important;
    font-size: 8px !important;
  }

  .oc-products-grid.oc-list-view .oc-product-actions,
  .oc-home-products.oc-list-view .oc-product-actions,
  .search-grid-fix.oc-list-view .oc-product-actions {
    grid-column: 2 !important;
    grid-row: 4 !important;
    display: grid !important;
    grid-template-columns: 58px minmax(0,1fr) !important;
    gap: 5px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .oc-products-grid.oc-list-view .oc-qty-control,
  .oc-home-products.oc-list-view .oc-qty-control,
  .search-grid-fix.oc-list-view .oc-qty-control,
  .oc-products-grid.oc-list-view .oc-add-cart-btn,
  .oc-home-products.oc-list-view .oc-add-cart-btn,
  .search-grid-fix.oc-list-view .oc-add-cart-btn {
    height: 28px !important;
  }

  .oc-products-grid.oc-list-view .oc-add-cart-btn,
  .oc-home-products.oc-list-view .oc-add-cart-btn,
  .search-grid-fix.oc-list-view .oc-add-cart-btn {
    font-size: 8.5px !important;
  }

  .oc-products-grid.oc-list-view .oc-card-heart-top,
  .oc-home-products.oc-list-view .oc-card-heart-top,
  .search-grid-fix.oc-list-view .oc-card-heart-top {
    top: 6px !important;
    right: 6px !important;
    width: 25px !important;
    height: 25px !important;
  }
}


/* ===== v2.4.11 mobile header/search/category cards ===== */
/* Opto Zero v2.4.11 — MOBILE ONLY header/search/category-card redesign */
@media (max-width: 767px) {
  html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* =========================
     Mobile header
     ========================= */
  .oc-header {
    position: relative !important;
    top: auto !important;
    background: #fff !important;
    border-bottom: 1px solid #e8edf5 !important;
    box-shadow: 0 4px 16px rgba(32, 48, 74, .04) !important;
  }

  .oc-header .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .oc-header-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "logo actions"
      "center center" !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 11px 0 12px !important;
    align-items: center !important;
  }

  /* On mobile replace "1000 мелочей" with Optokaz.
     Desktop remains untouched. */
  .oc-logo {
    grid-area: logo !important;
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: 42px !important;
    text-align: left !important;
    line-height: 1 !important;
    text-decoration: none !important;
  }

  .oc-logo .oc-logo-top,
  .oc-logo .oc-logo-bottom {
    display: none !important;
  }

  .oc-logo::before {
    content: "Optokaz";
    display: block;
    color: #0d5de6;
    font-size: 31px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -1.1px;
    white-space: nowrap;
  }

  .oc-header-actions {
    grid-area: actions !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    min-width: 0 !important;
  }

  .oc-header-actions .oc-action-link,
  .oc-header-actions .oc-cart-header-button,
  .oc-header-actions .oc-header-dropdown-button,
  .oc-mobile-cart-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    border: 1px solid #e2e8f1 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #222d40 !important;
    box-shadow: none !important;
  }

  .oc-header-actions .oc-action-icon,
  .oc-header-actions .oc-profile {
    width: auto !important;
    height: auto !important;
    font-size: 20px !important;
    border: 0 !important;
  }

  .oc-header-actions .oc-action-icon em {
    top: -8px !important;
    right: -9px !important;
    min-width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
    padding: 0 4px !important;
    font-size: 10px !important;
  }

  .oc-header-actions .oc-action-text {
    display: none !important;
  }

  .oc-mobile-menu-toggle {
    display: none !important;
  }

  .oc-header-center {
    grid-area: center !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Catalog + search are a single clean mobile row */
  .oc-menu-shell {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: stretch !important;
  }

  .oc-catalog-dropdown,
  .oc-menu-search {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .oc-catalog-button {
    width: 100% !important;
    height: 42px !important;
    min-width: 0 !important;
    padding: 0 10px !important;
    justify-content: center !important;
    gap: 6px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    box-shadow: none !important;
  }

  .oc-catalog-button span {
    font-size: 13px !important;
  }

  .oc-search-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 42px !important;
    overflow: hidden !important;
    border: 1.5px solid #2f73e9 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  .oc-search-input {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 39px !important;
    padding: 0 11px !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    background: #fff !important;
    font-size: 12px !important;
    line-height: 39px !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
  }

  .oc-search-input::placeholder {
    color: #8a95a6 !important;
    opacity: 1 !important;
  }

  .oc-search-button {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 39px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 0 !important;
    overflow: hidden !important;
  }

  .oc-search-button::before {
    content: "\f002";
    font-family: FontAwesome;
    font-size: 15px;
    line-height: 1;
    color: #fff;
  }

  .oc-header-dropdown {
    position: fixed !important;
    top: 66px !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    max-width: none !important;
    border-radius: 16px !important;
  }

  /* =========================
     Category page layout
     ========================= */
  .oc-page-wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 10px !important;
  }

  .oc-breadcrumbs {
    margin: 0 0 10px !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }
  .oc-breadcrumbs::-webkit-scrollbar { display: none !important; }
  .oc-breadcrumbs > li { font-size: 11px !important; }

  .oc-catalog-layout {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .oc-main-catalog {
    width: 100% !important;
    min-width: 0 !important;
  }

  .oc-page-head {
    display: block !important;
    width: 100% !important;
    margin-bottom: 10px !important;
  }

  .oc-page-head > div:first-child {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    width: 100% !important;
  }

  .oc-main-catalog h1 {
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1.12 !important;
    letter-spacing: -.4px !important;
  }

  .oc-page-count {
    margin: 0 !important;
    padding: 5px 8px !important;
    border-radius: 8px !important;
    font-size: 10px !important;
  }

  .oc-page-head-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 8px !important;
    margin-top: 9px !important;
  }

  .oc-mobile-filter-btn {
    height: 38px !important;
    padding: 0 13px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
  }

  .oc-view-toggle.hidden-xs {
    display: flex !important;
    margin-left: auto !important;
    gap: 6px !important;
  }

  .oc-view-toggle button {
    width: 38px !important;
    height: 38px !important;
    border-radius: 11px !important;
  }

  /* No chopped controls: two-column mobile toolbar */
  .oc-toolbar.oc-toolbar-ref {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .oc-toolbar.oc-toolbar-ref > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .oc-toolbar.oc-toolbar-ref .oc-sort-pill-wrap {
    min-width: 0 !important;
  }

  .oc-toolbar.oc-toolbar-ref .oc-sort-pill,
  .oc-toolbar.oc-toolbar-ref .oc-toolbar-pill {
    width: 100% !important;
    height: 36px !important;
    padding: 0 9px !important;
    border-radius: 10px !important;
    font-size: 10px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .oc-toolbar.oc-toolbar-ref .oc-toolbar-stock {
    grid-column: 1 / -1 !important;
    width: auto !important;
    height: 30px !important;
    margin: 0 !important;
    justify-self: start !important;
    font-size: 10px !important;
  }

  /* Category intro should not make the mobile page bulky. */
  .oc-category-intro {
    margin-bottom: 9px !important;
    padding: 8px !important;
    border-radius: 10px !important;
  }

  .oc-category-thumb {
    max-width: 56px !important;
    max-height: 56px !important;
  }

  .oc-category-description {
    max-height: 42px !important;
    overflow: hidden !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  /* =========================
     Compact clean category cards
     ========================= */
  .oc-page-wrap .oc-products-grid:not(.oc-list-view) {
    display: flex !important;
    flex-wrap: wrap !important;
    width: calc(100% + 6px) !important;
    margin-left: -3px !important;
    margin-right: -3px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-col {
    display: flex !important;
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    padding: 3px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 7px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 3px 10px rgba(34, 50, 77, .05) !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap {
    width: 100% !important;
    height: 104px !important;
    min-height: 104px !important;
    margin: 0 0 5px !important;
    padding: 5px !important;
    border-radius: 9px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-image {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-title {
    display: -webkit-box !important;
    width: 100% !important;
    height: 31px !important;
    min-height: 31px !important;
    margin: 0 0 5px !important;
    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    font-size: 11px !important;
    line-height: 1.38 !important;
    font-weight: 800 !important;
  }

  /* Prices are stacked instead of squeezing side by side. */
  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-prices {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 0 5px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-main-price,
  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-second-price {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    letter-spacing: 0 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-main-price {
    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-second-price {
    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-main-price small,
  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-second-price small {
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 7px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-pack-note {
    min-height: 9px !important;
    margin-top: 0 !important;
    text-align: right !important;
    font-size: 7px !important;
    line-height: 1.1 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch {
    width: 100% !important;
    margin: 0 0 5px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch button {
    min-width: 0 !important;
    min-height: 27px !important;
    padding: 4px 2px !important;
    font-size: 8.5px !important;
    line-height: 1 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-actions {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 5px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-top: auto !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-actions > .oc-heart-btn {
    display: none !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-control {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) 18px !important;
    width: 58px !important;
    min-width: 58px !important;
    height: 30px !important;
    border-radius: 8px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-btn {
    padding: 0 !important;
    font-size: 13px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-input {
    min-width: 0 !important;
    padding: 0 !important;
    font-size: 9px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 30px !important;
    padding: 0 5px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    font-size: 8.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn .fa {
    margin-right: 2px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-card-heart-top {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: 6px !important;
    right: 6px !important;
    width: 27px !important;
    height: 27px !important;
    border-radius: 50% !important;
    font-size: 12px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-badge {
    top: 6px !important;
    left: 6px !important;
    padding: 4px 7px !important;
    border-radius: 8px !important;
    font-size: 8px !important;
  }
}

/* Extra narrow phones */
@media (max-width: 380px) {
  .oc-logo::before {
    font-size: 28px !important;
  }

  .oc-header-actions {
    gap: 5px !important;
  }

  .oc-header-actions .oc-action-link,
  .oc-header-actions .oc-cart-header-button,
  .oc-header-actions .oc-header-dropdown-button,
  .oc-mobile-cart-toggle {
    width: 33px !important;
    min-width: 33px !important;
    height: 33px !important;
  }

  .oc-menu-shell {
    grid-template-columns: 100px minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  .oc-catalog-button {
    padding: 0 7px !important;
  }

  .oc-catalog-button span {
    font-size: 12px !important;
  }

  .oc-search-wrap {
    grid-template-columns: minmax(0, 1fr) 38px !important;
  }

  .oc-search-button {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
  }

  .oc-search-input {
    padding: 0 8px !important;
    font-size: 11px !important;
  }

  .oc-page-wrap {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .oc-main-catalog h1 {
    font-size: 22px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap {
    height: 92px !important;
    min-height: 92px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-title {
    font-size: 10px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-main-price {
    font-size: 12px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-second-price {
    font-size: 10px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-actions {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 4px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-control {
    width: 54px !important;
    min-width: 54px !important;
    grid-template-columns: 17px minmax(0, 1fr) 17px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn {
    font-size: 7.7px !important;
    padding: 0 3px !important;
  }
}


/* ===== v2.4.12 mobile mock design ===== */
/* Opto Zero v2.4.12 — mobile-only redesign based on provided mockup
   Desktop/tablet > 767px are untouched. */

@media (max-width: 767px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
    background: #f6f8fc !important;
  }

  .container,
  .container-fluid,
  .oc-page-wrap,
  #content {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* =====================
     Hide compare + bottom nav (mobile only)
     ===================== */
  a[href*="product/compare"],
  .oc-compare-link,
  .oc-compare-header-link,
  .header-compare,
  .compare-link,
  .oc-mobile-bottom-nav,
  .mobile-bottom-nav,
  .bottom-mobile-nav,
  .app-bottom-nav,
  .oc-sticky-bottom-nav {
    display: none !important;
  }

  /* =====================
     Mobile header like the reference
     ===================== */
  .oc-top-strip {
    display: none !important;
  }

  .oc-header {
    position: relative !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e8edf5 !important;
    box-shadow: 0 4px 18px rgba(29, 48, 79, 0.05) !important;
    z-index: 50 !important;
  }

  .oc-header .container-fluid {
    padding: 14px 14px 12px !important;
  }

  .oc-header-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-areas:
      "logo actions"
      "catalog search" !important;
    gap: 14px 12px !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .oc-logo {
    grid-area: logo !important;
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    text-decoration: none !important;
  }

  .oc-logo .oc-logo-top,
  .oc-logo .oc-logo-bottom {
    display: none !important;
  }

  .oc-logo::before {
    content: "Optokaz";
    display: block !important;
    color: #0d5de6 !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: -1.2px !important;
  }

  .oc-header-actions {
    grid-area: actions !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    width: auto !important;
  }

  .oc-header-actions .oc-action-text,
  .oc-mobile-menu-toggle {
    display: none !important;
  }

  .oc-header-actions .oc-action-link,
  .oc-header-actions .oc-cart-header-button,
  .oc-header-actions .oc-header-dropdown-button,
  .oc-header-actions > * {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    border-radius: 14px !important;
    border: 1px solid #e6ebf4 !important;
    background: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 10px rgba(26, 45, 74, .03) !important;
  }

  .oc-header-actions .oc-action-icon,
  .oc-header-actions .oc-profile {
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    font-size: 22px !important;
    color: #1f2f49 !important;
  }

  .oc-header-actions .oc-action-icon em {
    top: -8px !important;
    right: -9px !important;
    min-width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
  }

  .oc-header-center {
    display: contents !important;
  }

  .oc-menu-shell {
    display: contents !important;
  }

  .oc-catalog-dropdown {
    grid-area: catalog !important;
    width: 132px !important;
    min-width: 132px !important;
  }

  .oc-catalog-button {
    width: 100% !important;
    height: 56px !important;
    padding: 0 14px !important;
    border-radius: 18px !important;
    justify-content: center !important;
    gap: 10px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 24px rgba(13, 93, 230, .18) !important;
  }

  .oc-catalog-button span {
    font-size: 16px !important;
  }

  .oc-menu-search {
    grid-area: search !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .oc-search-wrap {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 74px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    background: #fff !important;
    border: 2px solid #e5ebf4 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 10px rgba(26, 45, 74, .03) !important;
  }

  .oc-search-input {
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    color: #23314a !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .oc-search-input::placeholder {
    color: #9aa5b6 !important;
    opacity: 1 !important;
  }

  .oc-search-button {
    position: relative !important;
    width: 74px !important;
    min-width: 74px !important;
    height: 54px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #0d5de6 !important;
    font-size: 0 !important;
  }

  .oc-search-button::before {
    content: "\f002";
    font-family: FontAwesome;
    font-size: 22px;
    color: #fff;
    line-height: 1;
  }

  /* Dropdowns from header */
  .oc-header-dropdown {
    position: fixed !important;
    top: 86px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
    border-radius: 18px !important;
  }

  /* =====================
     Category/catalog head
     ===================== */
  .oc-page-wrap {
    padding: 14px 14px 22px !important;
    background: #f6f8fc !important;
  }

  .oc-breadcrumbs {
    margin: 0 0 12px !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    scrollbar-width: none !important;
  }
  .oc-breadcrumbs::-webkit-scrollbar { display: none !important; }
  .oc-breadcrumbs li,
  .oc-breadcrumbs a {
    font-size: 12px !important;
    color: #9aa5b6 !important;
  }

  .oc-catalog-layout,
  .oc-main-catalog,
  .oc-main-catalog > .row,
  .oc-main-catalog > div {
    width: 100% !important;
    min-width: 0 !important;
  }

  .oc-page-head {
    display: block !important;
    margin: 0 0 12px !important;
  }

  .oc-page-head > div:first-child {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }

  .oc-main-catalog h1 {
    margin: 0 !important;
    font-size: 28px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    color: #1f2f49 !important;
    letter-spacing: -0.8px !important;
  }

  .oc-page-count {
    margin: 0 !important;
    padding: 8px 14px !important;
    border-radius: 14px !important;
    background: #ebf3ff !important;
    color: #5e7eb0 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  .oc-page-head-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-top: 14px !important;
  }

  .oc-mobile-filter-btn {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 52px !important;
    padding: 0 18px !important;
    border-radius: 18px !important;
    background: #fff !important;
    border: 1px solid #e5ebf4 !important;
    box-shadow: 0 2px 10px rgba(26, 45, 74, .03) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    justify-content: space-between !important;
  }

  .oc-mobile-filter-btn:after {
    content: "\f105";
    font-family: FontAwesome;
    font-size: 18px;
    line-height: 1;
    color: #58657d;
    margin-left: 10px;
  }

  .oc-view-toggle.hidden-xs,
  .oc-view-toggle {
    display: flex !important;
    flex: 0 0 auto !important;
    gap: 10px !important;
    margin-left: 0 !important;
  }

  .oc-view-toggle button {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    border-radius: 18px !important;
    border: 1px solid #e5ebf4 !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(26,45,74,.03) !important;
  }

  .oc-view-toggle button.active {
    background: #0d5de6 !important;
    border-color: #0d5de6 !important;
    color: #fff !important;
  }

  /* Toolbar exactly as clean pills */
  .oc-toolbar,
  .oc-toolbar.oc-toolbar-ref {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .oc-toolbar > *,
  .oc-toolbar.oc-toolbar-ref > * {
    flex: 0 0 calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
    min-width: 0 !important;
  }

  .oc-toolbar .oc-toolbar-stock,
  .oc-toolbar.oc-toolbar-ref .oc-toolbar-stock {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #4f5d75 !important;
  }

  .oc-toolbar .oc-sort-pill,
  .oc-toolbar .oc-toolbar-pill,
  .oc-toolbar select,
  .oc-toolbar.oc-toolbar-ref .oc-sort-pill,
  .oc-toolbar.oc-toolbar-ref .oc-toolbar-pill,
  .oc-toolbar.oc-toolbar-ref select {
    width: 100% !important;
    height: 54px !important;
    padding: 0 16px !important;
    border: 1px solid #e5ebf4 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(26,45,74,.03) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #1f2f49 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* =====================
     Product cards — mobile only, like mockup
     ===================== */
  .oc-page-wrap .oc-products-grid:not(.oc-list-view),
  .oc-main-catalog .oc-products-grid:not(.oc-list-view),
  .search-grid-fix:not(.oc-list-view),
  .oc-home-products:not(.oc-list-view) {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -7px !important;
    margin-right: -7px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-col,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-col,
  .search-grid-fix:not(.oc-list-view) .oc-product-col,
  .oc-home-products:not(.oc-list-view) .oc-product-col {
    display: flex !important;
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    padding: 7px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-card,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-card,
  .search-grid-fix:not(.oc-list-view) .oc-product-card,
  .oc-home-products:not(.oc-list-view) .oc-product-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: #fff !important;
    border: 1px solid #e5ebf4 !important;
    box-shadow: 0 6px 18px rgba(30, 48, 78, .05) !important;
    overflow: hidden !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap,
  .search-grid-fix:not(.oc-list-view) .oc-product-image-wrap,
  .oc-home-products:not(.oc-list-view) .oc-product-image-wrap {
    width: 100% !important;
    height: 160px !important;
    min-height: 160px !important;
    margin: 0 0 12px !important;
    padding: 10px !important;
    border-radius: 16px !important;
    background: #fff !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-image,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-image,
  .search-grid-fix:not(.oc-list-view) .oc-product-image,
  .oc-home-products:not(.oc-list-view) .oc-product-image {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-title,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-title,
  .search-grid-fix:not(.oc-list-view) .oc-product-title,
  .oc-home-products:not(.oc-list-view) .oc-product-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    min-height: 45px !important;
    margin: 0 0 10px !important;
    font-size: 15px !important;
    line-height: 1.28 !important;
    font-weight: 800 !important;
    color: #1f2f49 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-prices,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-prices,
  .search-grid-fix:not(.oc-list-view) .oc-product-prices,
  .oc-home-products:not(.oc-list-view) .oc-product-prices {
    display: block !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 0 10px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-main-price,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-main-price,
  .search-grid-fix:not(.oc-list-view) .oc-main-price,
  .oc-home-products:not(.oc-list-view) .oc-main-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    margin: 0 0 4px !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    color: #162742 !important;
    text-align: left !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-second-price,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-second-price,
  .search-grid-fix:not(.oc-list-view) .oc-second-price,
  .oc-home-products:not(.oc-list-view) .oc-second-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    color: #7b8799 !important;
    text-align: left !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-main-price small,
  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-second-price small,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-main-price small,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-second-price small,
  .search-grid-fix:not(.oc-list-view) .oc-main-price small,
  .search-grid-fix:not(.oc-list-view) .oc-second-price small,
  .oc-home-products:not(.oc-list-view) .oc-main-price small,
  .oc-home-products:not(.oc-list-view) .oc-second-price small {
    font-size: 8px !important;
    font-weight: 700 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-pack-note,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-pack-note,
  .search-grid-fix:not(.oc-list-view) .oc-pack-note,
  .oc-home-products:not(.oc-list-view) .oc-pack-note {
    margin-top: 3px !important;
    font-size: 8px !important;
    line-height: 1.15 !important;
    color: #8a97aa !important;
    text-align: left !important;
    min-height: 9px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch,
  .search-grid-fix:not(.oc-list-view) .oc-sale-type-switch,
  .oc-home-products:not(.oc-list-view) .oc-sale-type-switch {
    width: 100% !important;
    margin: 0 0 10px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    border: 1px solid #dce4f0 !important;
    background: #f7f9fc !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch button,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch button,
  .search-grid-fix:not(.oc-list-view) .oc-sale-type-switch button,
  .oc-home-products:not(.oc-list-view) .oc-sale-type-switch button {
    min-height: 42px !important;
    padding: 6px 4px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-actions,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-actions,
  .search-grid-fix:not(.oc-list-view) .oc-product-actions,
  .oc-home-products:not(.oc-list-view) .oc-product-actions {
    display: grid !important;
    grid-template-columns: 78px minmax(0,1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: auto !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-actions > .oc-heart-btn,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-actions > .oc-heart-btn,
  .search-grid-fix:not(.oc-list-view) .oc-product-actions > .oc-heart-btn,
  .oc-home-products:not(.oc-list-view) .oc-product-actions > .oc-heart-btn {
    display: none !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-control,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-control,
  .search-grid-fix:not(.oc-list-view) .oc-qty-control,
  .oc-home-products:not(.oc-list-view) .oc-qty-control {
    display: grid !important;
    grid-template-columns: 24px minmax(0,1fr) 24px !important;
    height: 48px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-btn,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-btn,
  .search-grid-fix:not(.oc-list-view) .oc-qty-btn,
  .oc-home-products:not(.oc-list-view) .oc-qty-btn {
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-input,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-input,
  .search-grid-fix:not(.oc-list-view) .oc-qty-input,
  .oc-home-products:not(.oc-list-view) .oc-qty-input {
    font-size: 18px !important;
    font-weight: 700 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn,
  .search-grid-fix:not(.oc-list-view) .oc-add-cart-btn,
  .oc-home-products:not(.oc-list-view) .oc-add-cart-btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    padding: 0 10px !important;
    border-radius: 16px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-card-heart-top,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-card-heart-top,
  .search-grid-fix:not(.oc-list-view) .oc-card-heart-top,
  .oc-home-products:not(.oc-list-view) .oc-card-heart-top {
    top: 12px !important;
    right: 12px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid #e5ebf4 !important;
    box-shadow: 0 4px 12px rgba(24,40,64,.05) !important;
    font-size: 16px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-badge,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-badge,
  .search-grid-fix:not(.oc-list-view) .oc-badge,
  .oc-home-products:not(.oc-list-view) .oc-badge {
    top: 12px !important;
    left: 12px !important;
    border-radius: 16px !important;
    padding: 6px 12px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
  }

  /* Drawer / filters keep same style */
  .oc-filter-drawer-body {
    width: min(92vw, 390px) !important;
    padding: 16px !important;
    border-radius: 20px 0 0 20px !important;
  }
}

/* Narrow phones */
@media (max-width: 420px) {
  .oc-header .container-fluid { padding: 12px 12px 10px !important; }

  .oc-logo::before { font-size: 29px !important; }

  .oc-header-actions { gap: 8px !important; }
  .oc-header-actions .oc-action-link,
  .oc-header-actions .oc-cart-header-button,
  .oc-header-actions .oc-header-dropdown-button,
  .oc-header-actions > * {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
  }

  .oc-catalog-dropdown { width: 118px !important; min-width: 118px !important; }
  .oc-catalog-button { height: 52px !important; border-radius: 16px !important; font-size: 15px !important; }
  .oc-catalog-button span { font-size: 15px !important; }

  .oc-search-wrap { grid-template-columns: minmax(0,1fr) 64px !important; height: 52px !important; border-radius: 16px !important; }
  .oc-search-input { height: 50px !important; padding: 0 14px !important; font-size: 13px !important; }
  .oc-search-button { width: 64px !important; min-width: 64px !important; height: 50px !important; }

  .oc-main-catalog h1 { font-size: 24px !important; }
  .oc-page-count { font-size: 11px !important; padding: 7px 12px !important; }

  .oc-mobile-filter-btn { height: 48px !important; font-size: 14px !important; border-radius: 16px !important; }
  .oc-view-toggle button { width: 48px !important; min-width: 48px !important; height: 48px !important; border-radius: 16px !important; }

  .oc-toolbar .oc-sort-pill,
  .oc-toolbar .oc-toolbar-pill,
  .oc-toolbar select,
  .oc-toolbar.oc-toolbar-ref .oc-sort-pill,
  .oc-toolbar.oc-toolbar-ref .oc-toolbar-pill,
  .oc-toolbar.oc-toolbar-ref select {
    height: 48px !important;
    border-radius: 16px !important;
    font-size: 14px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-col,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-col,
  .search-grid-fix:not(.oc-list-view) .oc-product-col,
  .oc-home-products:not(.oc-list-view) .oc-product-col {
    padding: 6px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-card,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-card,
  .search-grid-fix:not(.oc-list-view) .oc-product-card,
  .oc-home-products:not(.oc-list-view) .oc-product-card {
    padding: 12px !important;
    border-radius: 20px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap,
  .search-grid-fix:not(.oc-list-view) .oc-product-image-wrap,
  .oc-home-products:not(.oc-list-view) .oc-product-image-wrap {
    height: 145px !important;
    min-height: 145px !important;
    margin-bottom: 10px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-title,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-title,
  .search-grid-fix:not(.oc-list-view) .oc-product-title,
  .oc-home-products:not(.oc-list-view) .oc-product-title {
    min-height: 40px !important;
    font-size: 14px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-main-price,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-main-price,
  .search-grid-fix:not(.oc-list-view) .oc-main-price,
  .oc-home-products:not(.oc-list-view) .oc-main-price {
    font-size: 15px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-second-price,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-second-price,
  .search-grid-fix:not(.oc-list-view) .oc-second-price,
  .oc-home-products:not(.oc-list-view) .oc-second-price {
    font-size: 11px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch button,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch button,
  .search-grid-fix:not(.oc-list-view) .oc-sale-type-switch button,
  .oc-home-products:not(.oc-list-view) .oc-sale-type-switch button {
    min-height: 39px !important;
    font-size: 10px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-actions,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-actions,
  .search-grid-fix:not(.oc-list-view) .oc-product-actions,
  .oc-home-products:not(.oc-list-view) .oc-product-actions {
    grid-template-columns: 72px minmax(0,1fr) !important;
    gap: 8px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-control,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-control,
  .search-grid-fix:not(.oc-list-view) .oc-qty-control,
  .oc-home-products:not(.oc-list-view) .oc-qty-control {
    height: 44px !important;
    border-radius: 14px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn,
  .search-grid-fix:not(.oc-list-view) .oc-add-cart-btn,
  .oc-home-products:not(.oc-list-view) .oc-add-cart-btn {
    height: 44px !important;
    border-radius: 14px !important;
    font-size: 11px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-card-heart-top,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-card-heart-top,
  .search-grid-fix:not(.oc-list-view) .oc-card-heart-top,
  .oc-home-products:not(.oc-list-view) .oc-card-heart-top {
    width: 34px !important;
    height: 34px !important;
  }
}

@media (max-width: 360px) {
  .oc-logo::before { font-size: 26px !important; }
  .oc-catalog-dropdown { width: 110px !important; min-width: 110px !important; }
  .oc-catalog-button { gap: 7px !important; padding: 0 10px !important; }
  .oc-search-wrap { grid-template-columns: minmax(0,1fr) 58px !important; }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap,
  .search-grid-fix:not(.oc-list-view) .oc-product-image-wrap,
  .oc-home-products:not(.oc-list-view) .oc-product-image-wrap {
    height: 132px !important;
    min-height: 132px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-card,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-card,
  .search-grid-fix:not(.oc-list-view) .oc-product-card,
  .oc-home-products:not(.oc-list-view) .oc-product-card {
    padding: 10px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-title,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-title,
  .search-grid-fix:not(.oc-list-view) .oc-product-title,
  .oc-home-products:not(.oc-list-view) .oc-product-title {
    font-size: 13px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-main-price,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-main-price,
  .search-grid-fix:not(.oc-list-view) .oc-main-price,
  .oc-home-products:not(.oc-list-view) .oc-main-price {
    font-size: 14px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-second-price,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-second-price,
  .search-grid-fix:not(.oc-list-view) .oc-second-price,
  .oc-home-products:not(.oc-list-view) .oc-second-price {
    font-size: 10px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn,
  .search-grid-fix:not(.oc-list-view) .oc-add-cart-btn,
  .oc-home-products:not(.oc-list-view) .oc-add-cart-btn {
    font-size: 10px !important;
  }
}


/* ===== v2.4.13 mobile cleanup ===== */
/* Opto Zero v2.4.13 — mobile cleanup only */
@media (max-width: 767px) {
  html, body { overflow-x: hidden !important; }

  /* Mobile header: hide catalog button near search, keep only search full width */
  .oc-header .container-fluid { padding: 12px 12px 10px !important; }

  .oc-header-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-areas:
      "logo actions"
      "search search" !important;
    gap: 12px 10px !important;
    align-items: center !important;
  }

  .oc-logo::before {
    content: "Optokaz" !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    letter-spacing: -1px !important;
    color: #0d5de6 !important;
  }

  .oc-catalog-dropdown,
  .oc-catalog-button,
  .oc-mobile-menu-toggle,
  .oc-header-center .oc-catalog-dropdown {
    display: none !important;
  }

  .oc-header-center,
  .oc-menu-shell,
  .oc-menu-search {
    display: block !important;
    grid-area: search !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .oc-header-actions {
    gap: 8px !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  .oc-header-actions .oc-action-link,
  .oc-header-actions .oc-cart-header-button,
  .oc-header-actions .oc-header-dropdown-button,
  .oc-header-actions > * {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
  }

  .oc-search-wrap {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 58px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 50px !important;
    border: 1.5px solid #dfe6f1 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(26,45,74,.03) !important;
  }

  .oc-search-input {
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
    color: #23314a !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .oc-search-input::placeholder {
    color: #9aa5b6 !important;
    opacity: 1 !important;
  }

  .oc-search-button {
    width: 58px !important;
    min-width: 58px !important;
    height: 48px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #0d5de6 !important;
    font-size: 0 !important;
  }

  .oc-search-button::before {
    content: "\f002";
    font-family: FontAwesome;
    font-size: 20px;
    line-height: 1;
    color: #fff;
  }

  /* Category header / actions */
  .oc-page-wrap { padding: 14px 12px 22px !important; }

  .oc-main-catalog h1 {
    font-size: 26px !important;
    line-height: 1.08 !important;
    letter-spacing: -.5px !important;
  }

  .oc-page-count {
    padding: 8px 12px !important;
    font-size: 12px !important;
    border-radius: 14px !important;
  }

  .oc-page-head-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }

  .oc-mobile-filter-btn {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 50px !important;
    padding: 0 16px !important;
    border-radius: 18px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
  }

  .oc-view-toggle,
  .oc-view-toggle.hidden-xs {
    display: flex !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
  }

  .oc-view-toggle button {
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    border-radius: 18px !important;
  }

  /* Toolbar pills compact and clearly selected */
  .oc-toolbar,
  .oc-toolbar.oc-toolbar-ref {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
  }

  .oc-toolbar > *,
  .oc-toolbar.oc-toolbar-ref > * {
    flex: 0 0 calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
    min-width: 0 !important;
  }

  .oc-toolbar .oc-toolbar-stock,
  .oc-toolbar.oc-toolbar-ref .oc-toolbar-stock {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #4f5d75 !important;
  }

  .oc-toolbar .oc-sort-pill,
  .oc-toolbar .oc-toolbar-pill,
  .oc-toolbar select,
  .oc-toolbar button,
  .oc-toolbar a,
  .oc-toolbar.oc-toolbar-ref .oc-sort-pill,
  .oc-toolbar.oc-toolbar-ref .oc-toolbar-pill,
  .oc-toolbar.oc-toolbar-ref select,
  .oc-toolbar.oc-toolbar-ref button,
  .oc-toolbar.oc-toolbar-ref a {
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    padding: 0 14px !important;
    border: 1px solid #e5ebf4 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(26,45,74,.03) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #1f2f49 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .oc-toolbar .oc-sort-pill.active,
  .oc-toolbar .oc-toolbar-pill.active,
  .oc-toolbar .active.oc-sort-pill,
  .oc-toolbar .active.oc-toolbar-pill,
  .oc-toolbar button.active,
  .oc-toolbar a.active,
  .oc-toolbar [aria-pressed='true'],
  .oc-toolbar.oc-toolbar-ref .oc-sort-pill.active,
  .oc-toolbar.oc-toolbar-ref .oc-toolbar-pill.active,
  .oc-toolbar.oc-toolbar-ref .active.oc-sort-pill,
  .oc-toolbar.oc-toolbar-ref .active.oc-toolbar-pill,
  .oc-toolbar.oc-toolbar-ref button.active,
  .oc-toolbar.oc-toolbar-ref a.active,
  .oc-toolbar.oc-toolbar-ref [aria-pressed='true'] {
    background: #0d5de6 !important;
    border-color: #0d5de6 !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(13, 93, 230, .16) !important;
  }

  .oc-toolbar .oc-sort-pill.active .fa,
  .oc-toolbar .oc-toolbar-pill.active .fa,
  .oc-toolbar button.active .fa,
  .oc-toolbar a.active .fa,
  .oc-toolbar.oc-toolbar-ref .oc-sort-pill.active .fa,
  .oc-toolbar.oc-toolbar-ref .oc-toolbar-pill.active .fa,
  .oc-toolbar.oc-toolbar-ref button.active .fa,
  .oc-toolbar.oc-toolbar-ref a.active .fa {
    color: #fff !important;
  }

  /* Cards slightly cleaner on mobile category pages */
  .oc-page-wrap .oc-products-grid:not(.oc-list-view),
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) {
    margin-left: -6px !important;
    margin-right: -6px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-col,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-col {
    padding: 6px !important;
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-card,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-card {
    padding: 11px !important;
    border-radius: 18px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap {
    height: 136px !important;
    min-height: 136px !important;
    margin-bottom: 8px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-title,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-title {
    min-height: 36px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-main-price,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-main-price {
    font-size: 14px !important;
    margin-bottom: 3px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-second-price,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-second-price {
    font-size: 10px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-pack-note,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-pack-note {
    font-size: 8px !important;
    margin-top: 2px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch {
    margin: 0 0 8px !important;
    border-radius: 13px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch button,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch button {
    min-height: 38px !important;
    font-size: 10px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-actions,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-actions {
    grid-template-columns: 68px minmax(0,1fr) !important;
    gap: 8px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-control,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-control {
    height: 42px !important;
    border-radius: 14px !important;
    grid-template-columns: 22px minmax(0,1fr) 22px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn {
    height: 42px !important;
    border-radius: 14px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 380px) {
  .oc-logo::before { font-size: 28px !important; }
  .oc-search-wrap { grid-template-columns: minmax(0,1fr) 54px !important; height: 48px !important; }
  .oc-search-input { height: 46px !important; font-size: 12px !important; }
  .oc-search-button { width: 54px !important; min-width: 54px !important; height: 46px !important; }
  .oc-mobile-filter-btn,
  .oc-view-toggle button,
  .oc-toolbar .oc-sort-pill,
  .oc-toolbar .oc-toolbar-pill,
  .oc-toolbar select,
  .oc-toolbar button,
  .oc-toolbar a,
  .oc-toolbar.oc-toolbar-ref .oc-sort-pill,
  .oc-toolbar.oc-toolbar-ref .oc-toolbar-pill,
  .oc-toolbar.oc-toolbar-ref select,
  .oc-toolbar.oc-toolbar-ref button,
  .oc-toolbar.oc-toolbar-ref a { height: 46px !important; font-size: 14px !important; }
  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap { height: 126px !important; min-height: 126px !important; }
}


/* ===== v2.4.14 mobile quantity ===== */
/* Opto Zero v2.4.14 — mobile qty compact fix only */
@media (max-width: 767px) {
  /* Make quantity block compact and always readable in mobile cards */
  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-actions,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-actions,
  .search-grid-fix:not(.oc-list-view) .oc-product-actions,
  .oc-home-products:not(.oc-list-view) .oc-product-actions {
    display: grid !important;
    grid-template-columns: 62px minmax(0,1fr) !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-control,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-control,
  .search-grid-fix:not(.oc-list-view) .oc-qty-control,
  .oc-home-products:not(.oc-list-view) .oc-qty-control {
    display: grid !important;
    grid-template-columns: 20px minmax(0,1fr) 20px !important;
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    height: 38px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid #dbe3ef !important;
    background: #fff !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-btn,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-btn,
  .search-grid-fix:not(.oc-list-view) .oc-qty-btn,
  .oc-home-products:not(.oc-list-view) .oc-qty-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: #3d4b63 !important;
    background: #fff !important;
    border: 0 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-input,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-input,
  .search-grid-fix:not(.oc-list-view) .oc-qty-input,
  .oc-home-products:not(.oc-list-view) .oc-qty-input {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 38px !important;
    color: #1f2f49 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #1f2f49 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-input::placeholder,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-input::placeholder,
  .search-grid-fix:not(.oc-list-view) .oc-qty-input::placeholder,
  .oc-home-products:not(.oc-list-view) .oc-qty-input::placeholder {
    color: #1f2f49 !important;
    opacity: 1 !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn,
  .search-grid-fix:not(.oc-list-view) .oc-add-cart-btn,
  .oc-home-products:not(.oc-list-view) .oc-add-cart-btn {
    height: 38px !important;
    border-radius: 12px !important;
    padding: 0 8px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }
}

@media (max-width: 420px) {
  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-product-actions,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-product-actions,
  .search-grid-fix:not(.oc-list-view) .oc-product-actions,
  .oc-home-products:not(.oc-list-view) .oc-product-actions {
    grid-template-columns: 58px minmax(0,1fr) !important;
    gap: 7px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-control,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-control,
  .search-grid-fix:not(.oc-list-view) .oc-qty-control,
  .oc-home-products:not(.oc-list-view) .oc-qty-control {
    grid-template-columns: 18px minmax(0,1fr) 18px !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 36px !important;
    border-radius: 11px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-btn,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-btn,
  .search-grid-fix:not(.oc-list-view) .oc-qty-btn,
  .oc-home-products:not(.oc-list-view) .oc-qty-btn {
    width: 18px !important;
    min-width: 18px !important;
    height: 36px !important;
    font-size: 15px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-qty-input,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-qty-input,
  .search-grid-fix:not(.oc-list-view) .oc-qty-input,
  .oc-home-products:not(.oc-list-view) .oc-qty-input {
    height: 36px !important;
    font-size: 12px !important;
    line-height: 36px !important;
  }

  .oc-page-wrap .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn,
  .oc-main-catalog .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn,
  .search-grid-fix:not(.oc-list-view) .oc-add-cart-btn,
  .oc-home-products:not(.oc-list-view) .oc-add-cart-btn {
    height: 36px !important;
    border-radius: 11px !important;
    font-size: 9.5px !important;
    padding: 0 6px !important;
  }
}


/* ===== v2.4.15 home/category alignment ===== */
/* Opto Zero v2.4.15
   Mobile only:
   1) Home cards match category-card design.
   2) "/ за шт" and "/ за коробку" stay on the right side.
*/
@media (max-width: 767px) {

  /* =========================================================
     HOME PAGE: force the same card geometry as category pages
     ========================================================= */
  .oc-home-page-v15 .oc-products-grid:not(.oc-list-view),
  .oc-home-page-v15 .oc-home-products:not(.oc-list-view) {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -6px !important;
    margin-right: -6px !important;
  }

  .oc-home-page-v15 .oc-products-grid:not(.oc-list-view) .oc-product-col,
  .oc-home-page-v15 .oc-home-products:not(.oc-list-view) .oc-product-col {
    display: flex !important;
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    padding: 6px !important;
  }

  .oc-home-page-v15 .oc-products-grid:not(.oc-list-view) .oc-product-card,
  .oc-home-page-v15 .oc-home-products:not(.oc-list-view) .oc-product-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 11px !important;
    border: 1px solid #e5ebf4 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(30,48,78,.05) !important;
    overflow: hidden !important;
  }

  .oc-home-page-v15 .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap,
  .oc-home-page-v15 .oc-home-products:not(.oc-list-view) .oc-product-image-wrap {
    width: 100% !important;
    height: 136px !important;
    min-height: 136px !important;
    margin: 0 0 8px !important;
    padding: 7px !important;
    border-radius: 13px !important;
    background: #fff !important;
  }

  .oc-home-page-v15 .oc-products-grid:not(.oc-list-view) .oc-product-image,
  .oc-home-page-v15 .oc-home-products:not(.oc-list-view) .oc-product-image {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  .oc-home-page-v15 .oc-products-grid:not(.oc-list-view) .oc-product-title,
  .oc-home-page-v15 .oc-home-products:not(.oc-list-view) .oc-product-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    width: 100% !important;
    height: auto !important;
    min-height: 36px !important;
    margin: 0 0 8px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #1f2f49 !important;
  }

  .oc-home-page-v15 .oc-products-grid:not(.oc-list-view) .oc-product-prices,
  .oc-home-page-v15 .oc-home-products:not(.oc-list-view) .oc-product-prices {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 4px !important;
    min-height: 58px !important;
    margin: 0 0 8px !important;
  }

  /* =========================================================
     BOTH HOME + CATEGORY:
     amount on the left, "/ за ..." aligned to far right
     ========================================================= */
  .oc-home-page-v15 .oc-main-price,
  .oc-home-page-v15 .oc-second-price,
  .oc-page-wrap .oc-main-price,
  .oc-page-wrap .oc-second-price,
  .oc-main-catalog .oc-main-price,
  .oc-main-catalog .oc-second-price {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 8px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .oc-home-page-v15 .oc-main-price,
  .oc-page-wrap .oc-main-price,
  .oc-main-catalog .oc-main-price {
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
  }

  .oc-home-page-v15 .oc-second-price,
  .oc-page-wrap .oc-second-price,
  .oc-main-catalog .oc-second-price {
    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
  }

  .oc-home-page-v15 .oc-main-price small,
  .oc-home-page-v15 .oc-second-price small,
  .oc-page-wrap .oc-main-price small,
  .oc-page-wrap .oc-second-price small,
  .oc-main-catalog .oc-main-price small,
  .oc-main-catalog .oc-second-price small {
    display: inline-block !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    padding-left: 8px !important;
    text-align: right !important;
    font-size: 8px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  .oc-home-page-v15 .oc-pack-note,
  .oc-page-wrap .oc-pack-note,
  .oc-main-catalog .oc-pack-note {
    display: block !important;
    width: 100% !important;
    min-height: 9px !important;
    margin-top: -2px !important;
    text-align: right !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    color: #8b97aa !important;
  }

  /* Same switch/action geometry on home as category */
  .oc-home-page-v15 .oc-sale-type-switch {
    width: 100% !important;
    margin: 0 0 8px !important;
    border-radius: 13px !important;
    overflow: hidden !important;
  }

  .oc-home-page-v15 .oc-sale-type-switch button {
    min-height: 38px !important;
    padding: 5px 3px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
  }

  .oc-home-page-v15 .oc-product-actions {
    display: grid !important;
    grid-template-columns: 62px minmax(0,1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: auto !important;
  }

  .oc-home-page-v15 .oc-product-actions > .oc-heart-btn {
    display: none !important;
  }

  .oc-home-page-v15 .oc-qty-control {
    display: grid !important;
    grid-template-columns: 20px minmax(0,1fr) 20px !important;
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    height: 38px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  .oc-home-page-v15 .oc-qty-btn {
    width: 20px !important;
    min-width: 20px !important;
    height: 38px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
  }

  .oc-home-page-v15 .oc-qty-input {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 13px !important;
    line-height: 38px !important;
    font-weight: 800 !important;
    color: #1f2f49 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #1f2f49 !important;
  }

  .oc-home-page-v15 .oc-add-cart-btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    padding: 0 8px !important;
    border-radius: 12px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
  }

  .oc-home-page-v15 .oc-card-heart-top {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: 10px !important;
    right: 10px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
  }

  .oc-home-page-v15 .oc-badge {
    top: 10px !important;
    left: 10px !important;
    padding: 5px 9px !important;
    border-radius: 12px !important;
    font-size: 9px !important;
  }
}

@media (max-width: 380px) {
  .oc-home-page-v15 .oc-products-grid:not(.oc-list-view) .oc-product-card,
  .oc-home-page-v15 .oc-home-products:not(.oc-list-view) .oc-product-card {
    padding: 10px !important;
    border-radius: 16px !important;
  }

  .oc-home-page-v15 .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap,
  .oc-home-page-v15 .oc-home-products:not(.oc-list-view) .oc-product-image-wrap {
    height: 126px !important;
    min-height: 126px !important;
  }

  .oc-home-page-v15 .oc-products-grid:not(.oc-list-view) .oc-product-title,
  .oc-home-page-v15 .oc-home-products:not(.oc-list-view) .oc-product-title {
    font-size: 12px !important;
    min-height: 34px !important;
  }

  .oc-home-page-v15 .oc-main-price,
  .oc-page-wrap .oc-main-price,
  .oc-main-catalog .oc-main-price {
    font-size: 13px !important;
  }

  .oc-home-page-v15 .oc-second-price,
  .oc-page-wrap .oc-second-price,
  .oc-main-catalog .oc-second-price {
    font-size: 10px !important;
  }
}


/* ===== v2.4.16 exact home cards ===== */
/* Opto Zero v2.4.16 — mobile home cards match category cards exactly */
@media (max-width: 767px) {
  body.oc-mobile-home-match-v2416 {
    background: #f6f8fc !important;
  }

  /* Apply only on HOME page mobile */
  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view),
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -6px !important;
    margin-right: -6px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-col,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-col {
    display: flex !important;
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    padding: 6px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-card,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 14px !important;
    border: 1px solid #e5ebf4 !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 6px 18px rgba(30,48,78,.05) !important;
    overflow: hidden !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-image-wrap,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap {
    width: 100% !important;
    height: 150px !important;
    min-height: 150px !important;
    margin: 0 0 12px !important;
    padding: 8px !important;
    border-radius: 14px !important;
    background: #fff !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-image,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    max-width: 100% !important;
    max-height: 100% !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-title,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-title {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 52px !important;
    margin: 0 0 10px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: #1f2f49 !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-prices,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-prices {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 3px !important;
    min-height: 60px !important;
    margin: 0 0 10px !important;
  }

  /* main piece price: amount left, / за шт right */
  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-main-price,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-main-price,
  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-second-price,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-second-price {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-main-price,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-main-price {
    font-size: 16px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    color: #162742 !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-second-price,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-second-price {
    font-size: 12px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    color: #7c8798 !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-main-price small,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-main-price small,
  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-second-price small,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-second-price small {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    text-align: right !important;
    padding-left: 6px !important;
    font-size: 8px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-pack-note,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-pack-note {
    display: block !important;
    width: 100% !important;
    min-height: 10px !important;
    margin-top: 0 !important;
    text-align: left !important;
    font-size: 8px !important;
    line-height: 1.12 !important;
    color: #8b97aa !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-sale-type-switch,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch {
    width: 100% !important;
    margin: 0 0 10px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    border: 1px solid #dce4f0 !important;
    background: #f7f9fc !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-sale-type-switch button,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch button {
    min-height: 42px !important;
    padding: 6px 4px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-actions,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-actions {
    display: grid !important;
    grid-template-columns: 68px minmax(0,1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    align-items: center !important;
    margin-top: auto !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-actions > .oc-heart-btn,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-actions > .oc-heart-btn {
    display: none !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-qty-control,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-qty-control {
    display: grid !important;
    grid-template-columns: 22px minmax(0,1fr) 22px !important;
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 42px !important;
    border: 1px solid #dbe3ef !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-qty-btn,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-qty-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    min-width: 22px !important;
    height: 42px !important;
    padding: 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #3d4b63 !important;
    background: #fff !important;
    border: 0 !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-qty-input,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-qty-input {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 42px !important;
    font-weight: 800 !important;
    color: #1f2f49 !important;
    border: 0 !important;
    background: #fff !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #1f2f49 !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-add-cart-btn,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    padding: 0 10px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-card-heart-top,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-card-heart-top {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: 12px !important;
    right: 12px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid #e5ebf4 !important;
    box-shadow: 0 4px 12px rgba(24,40,64,.05) !important;
    font-size: 16px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-badge,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-badge {
    top: 12px !important;
    left: 12px !important;
    padding: 6px 12px !important;
    border-radius: 16px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
  }
}

@media (max-width: 420px) {
  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-col,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-col {
    padding: 5px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-card,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-card {
    padding: 12px !important;
    border-radius: 20px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-image-wrap,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-image-wrap {
    height: 144px !important;
    min-height: 144px !important;
    margin-bottom: 10px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-title,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-title {
    min-height: 48px !important;
    font-size: 14px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-main-price,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-main-price {
    font-size: 15px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-second-price,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-second-price {
    font-size: 11px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-sale-type-switch button,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-sale-type-switch button {
    min-height: 40px !important;
    font-size: 10px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-product-actions,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-product-actions {
    grid-template-columns: 62px minmax(0,1fr) !important;
    gap: 8px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-qty-control,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-qty-control {
    grid-template-columns: 20px minmax(0,1fr) 20px !important;
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    height: 38px !important;
    border-radius: 12px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-qty-btn,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-qty-btn {
    width: 20px !important;
    min-width: 20px !important;
    height: 38px !important;
    font-size: 16px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-qty-input,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-qty-input {
    height: 38px !important;
    line-height: 38px !important;
    font-size: 13px !important;
  }

  body.oc-mobile-home-match-v2416 .oc-home-products:not(.oc-list-view) .oc-add-cart-btn,
  body.oc-mobile-home-match-v2416 .oc-products-grid:not(.oc-list-view) .oc-add-cart-btn {
    height: 38px !important;
    border-radius: 12px !important;
    font-size: 10px !important;
  }
}


/* ===== v2.4.18 compact product page ===== */
/* Opto Zero v2.4.18 — mobile compact product page */
@media (max-width: 767px) {
  body.product-product,
  body.product-product .oc-page-wrap {
    background: #f6f8fc !important;
  }

  body.product-product .oc-page-wrap {
    padding: 10px !important;
  }

  body.product-product .oc-breadcrumbs {
    margin: 0 0 8px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
  }

  body.product-product .oc-product-page {
    display: block !important;
  }

  body.product-product .oc-product-gallery {
    margin-bottom: 10px !important;
  }

  body.product-product .oc-product-main-image {
    min-height: 220px !important;
    padding: 12px !important;
    border: 1px solid #e3eaf3 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 6px 18px rgba(29,43,70,.04) !important;
    overflow: hidden !important;
  }

  body.product-product .oc-product-main-image img {
    max-width: 100% !important;
    max-height: 195px !important;
    object-fit: contain !important;
  }

  body.product-product .oc-product-thumbs {
    display: flex !important;
    gap: 8px !important;
    margin-top: 8px !important;
    padding: 0 1px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.product-product .oc-thumb {
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    padding: 5px !important;
    border-radius: 14px !important;
    border: 1px solid #dfe6f0 !important;
    background: #fff !important;
  }

  body.product-product .oc-thumb.active {
    border-color: #0d5de6 !important;
    box-shadow: 0 4px 14px rgba(13,93,230,.12) !important;
  }

  body.product-product .oc-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body.product-product .oc-product-info-card {
    padding: 14px !important;
    border: 1px solid #e3eaf3 !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 6px 18px rgba(29,43,70,.04) !important;
  }

  body.product-product .oc-stock-line {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    margin-bottom: 10px !important;
    border-radius: 999px !important;
    background: #eaf8ef !important;
    color: #2e9856 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  body.product-product .oc-product-info-card h1 {
    margin: 0 0 12px !important;
    font-size: 22px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    color: #1e2d48 !important;
    letter-spacing: -.4px !important;
  }

  body.product-product .oc-product-prices.product-detail-prices {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 6px 10px !important;
    margin: 0 0 12px !important;
    align-items: end !important;
  }

  body.product-product .oc-main-price,
  body.product-product .oc-second-price {
    display: contents !important;
  }

  body.product-product .oc-main-price {
    color: #172844 !important;
  }

  body.product-product .oc-main-price::before,
  body.product-product .oc-second-price::before { display: none !important; }

  body.product-product .product-detail-prices > .oc-main-price,
  body.product-product .product-detail-prices > .oc-second-price { display: contents !important; }

  body.product-product .product-detail-prices > .oc-main-price > *,
  body.product-product .product-detail-prices > .oc-second-price > * { all: unset; }

  body.product-product .product-detail-prices > .oc-main-price,
  body.product-product .product-detail-prices > .oc-second-price { font-size: inherit !important; }

  /* Fallback when direct text exists before <small> */
  body.product-product .product-detail-prices .oc-main-price,
  body.product-product .product-detail-prices .oc-second-price {
    position: relative !important;
    width: auto !important;
    margin: 0 !important;
  }

  body.product-product .product-detail-prices .oc-main-price {
    grid-column: 1 / 3 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    font-size: 17px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    color: #172844 !important;
  }

  body.product-product .product-detail-prices .oc-second-price {
    grid-column: 1 / 3 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    color: #798598 !important;
  }

  body.product-product .product-detail-prices .oc-main-price small,
  body.product-product .product-detail-prices .oc-second-price small {
    display: inline-block !important;
    margin-left: 10px !important;
    text-align: right !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    color: #5e6a7d !important;
    white-space: nowrap !important;
  }

  body.product-product .product-detail-prices .oc-pack-note {
    grid-column: 1 / 3 !important;
    margin-top: -2px !important;
    text-align: right !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    color: #98a4b6 !important;
  }

  /* Compact, not stretched switch */
  body.product-product .oc-sale-type-switch.big {
    display: inline-flex !important;
    align-items: stretch !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    border: 1px solid #dce4f0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f8fafe !important;
  }

  body.product-product .oc-sale-type-switch.big button {
    min-width: 108px !important;
    height: 38px !important;
    padding: 0 16px !important;
    border: 0 !important;
    background: transparent !important;
    color: #56657b !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  body.product-product .oc-sale-type-switch.big button.active {
    background: #0d5de6 !important;
    color: #fff !important;
  }

  body.product-product .oc-product-buy-row {
    display: grid !important;
    grid-template-columns: 84px minmax(0,1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    margin-bottom: 10px !important;
  }

  body.product-product .oc-heart-btn.large {
    display: none !important;
  }

  body.product-product .oc-qty-control.large {
    display: grid !important;
    grid-template-columns: 24px minmax(0,1fr) 24px !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 44px !important;
    border: 1px solid #dbe3ef !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.product-product .oc-qty-control.large .oc-qty-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #3b4860 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
  }

  body.product-product .oc-qty-control.large .oc-qty-input {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    text-align: center !important;
    font-size: 16px !important;
    line-height: 44px !important;
    font-weight: 800 !important;
    color: #1f2f49 !important;
    -webkit-text-fill-color: #1f2f49 !important;
    opacity: 1 !important;
  }

  body.product-product .oc-add-cart-btn.large {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 12px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  body.product-product .oc-extra-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  body.product-product .oc-secondary-btn,
  body.product-product .oc-mobile-fav-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 10px !important;
    border: 1.5px solid #d9e2ef !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #1d56d8 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  body.product-product .oc-mobile-fav-btn i {
    font-size: 15px !important;
  }

  body.product-product .oc-mobile-fav-btn.is-active {
    border-color: #0d5de6 !important;
    background: #eef4ff !important;
    color: #0d5de6 !important;
  }

  body.product-product .oc-description-box,
  body.product-product .oc-tags-box {
    padding-top: 14px !important;
    border-top: 1px solid #edf1f6 !important;
  }

  body.product-product .oc-description-box h3 {
    margin: 0 0 10px !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    color: #1d2b46 !important;
  }

  body.product-product .oc-description-box,
  body.product-product .oc-description-box div,
  body.product-product .oc-tags-box {
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #5f697a !important;
  }
}
