/* ============================================================
   Fluffo — MODERN storefront listing system (v2, full redesign)
   Scoped under #fluffo. Goal: airy, premium, cohesive — not classic.
   ============================================================ */

:root{
  --fl-ink:#241c16; --fl-ink-soft:#6b5d51; --fl-muted:#9b8b7d;
  --fl-accent:#d98a4e; --fl-accent-deep:#b66f37; --fl-accent-soft:#fbf2e9;
  --fl-line:#efe7de; --fl-bg:#ffffff; --fl-bg-soft:#faf6f1;
  --fl-radius:20px; --fl-shadow:0 10px 30px rgba(120,80,40,.10);
  --fl-shadow-hover:0 22px 50px rgba(120,80,40,.18);
  --fl-container-max:1180px; /* match homepage #fluffo .wrap */
}

#fluffo, #fluffo .ps-product__title, #fluffo .page-title{ font-family:'Nunito','Inter',sans-serif; }

/* ---- page width & rhythm (listing pages use homepage .wrap container) ---- */
#fluffo .fl-listing-page .wrap.fl-listing-wrap{
  max-width:var(--fl-container-max); margin:0 auto; padding:0 24px; width:100%;
}
#fluffo .fl-listing-page .ps-container,
#fluffo .fl-listing-page .container{
  max-width:100% !important; margin-left:0 !important; margin-right:0 !important;
  padding-left:0 !important; padding-right:0 !important; width:100%;
}
#fluffo:not(:has(.fl-listing-page)) .ps-container,
#fluffo:not(:has(.fl-listing-page)) .container{
  max-width:1560px !important; margin-left:auto !important; margin-right:auto !important;
  padding-left:28px; padding-right:28px; width:100%;
}
#fluffo .ps-breadcrumb{ background:transparent; padding:18px 0 4px; }
#fluffo .ps-breadcrumb a, #fluffo .ps-breadcrumb li{ color:var(--fl-muted); font-size:.85rem; }

/* ---- category heading ---- */
#fluffo .page-title, #fluffo h1.page-header, #fluffo .ps-page-header h1{
  font-family:'Fredoka',sans-serif; font-weight:700; font-size:2.2rem; color:var(--fl-ink);
  letter-spacing:-.5px; margin:6px 0 2px;
}

/* ============================================================
   TOOLBAR ("N products found" + sort + view toggle)
   ============================================================ */
#fluffo .ps-shopping__actions, #fluffo .products-toolbar, #fluffo .bb-product-form-filter > .row:first-child{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:var(--fl-bg); border:1px solid var(--fl-line); border-radius:999px;
  padding:10px 20px; margin-bottom:26px; box-shadow:var(--fl-shadow);
}
#fluffo .products-found{ font-weight:800; color:var(--fl-ink); font-size:.95rem; }
#fluffo .products-found span, #fluffo .products-found b{ color:var(--fl-accent-deep); }
#fluffo .ps-shopping__actions form, #fluffo .products-sorting{ display:flex; align-items:center; gap:12px; }
#fluffo select:not(.select2-hidden-accessible),
#fluffo .nice-select,
#fluffo .ps-shopping__actions select:not(.select2-hidden-accessible){
  border:1px solid var(--fl-line)!important; border-radius:999px!important; background:var(--fl-bg)!important;
  padding:9px 16px!important; height:auto!important; font-weight:600; color:var(--fl-ink); box-shadow:none!important;
}
/* Select2 leaves native <select> in DOM — .ps-select {min-width:120px} + overflow:visible bleeds a stray box above the pill */
#fluffo select.select2-hidden-accessible,
#fluffo select.ps-select.select2-hidden-accessible,
#fluffo .tnw-shop-toolbar select.select2-hidden-accessible{
  position:absolute !important; width:1px !important; min-width:0 !important; max-width:1px !important;
  height:1px !important; min-height:0 !important; padding:0 !important; margin:-1px !important;
  overflow:hidden !important; clip:rect(0,0,0,0) !important; clip-path:inset(50%) !important;
  white-space:nowrap !important; border:0 !important; background:transparent !important;
  box-shadow:none !important; border-radius:0 !important; appearance:none !important;
  -webkit-appearance:none !important; opacity:0 !important; pointer-events:none !important;
  visibility:hidden !important; display:none !important; z-index:-1 !important;
}
#fluffo .ps-select.select2-hidden-accessible{ min-width:0 !important; display:none !important; }
#fluffo .tnw-shop-toolbar .d-flex:has(.select2-container),
#fluffo .ps-shopping__actions .d-flex:has(.select2-container),
#fluffo .products-sorting:has(.select2-container){
  position:relative; align-items:center !important; flex-wrap:nowrap !important; overflow:visible;
}
#fluffo .select2-container .dropdown-wrapper{ display:none !important; width:0 !important; height:0 !important; overflow:hidden !important; border:0 !important; }
#fluffo .tnw-shop-toolbar select:not(.select2-hidden-accessible),
#fluffo .ps-shopping__actions select:not(.select2-hidden-accessible){
  max-height:44px;
}
/* --- Select2 (the actual "Default / Sort by" widget) — make it modern --- */
#fluffo .select2-container--default .select2-selection--single{
  border:1px solid var(--fl-line) !important; border-radius:999px !important; background:#fff !important;
  height:44px !important; display:flex; align-items:center; padding:0 42px 0 18px; min-width:170px;
  box-shadow:0 4px 14px rgba(120,80,40,.06); transition:border-color .2s, box-shadow .2s;
  position:relative !important; overflow:hidden !important;
}
#fluffo .select2-container--default.select2-container--open .select2-selection--single,
#fluffo .select2-container--default .select2-selection--single:hover{ border-color:var(--fl-accent) !important; }
#fluffo .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--fl-ink) !important; font-weight:700; font-size:.9rem; line-height:1.4; padding:0;
}
#fluffo .select2-container--default .select2-selection--single .select2-selection__arrow{
  position:absolute !important; height:20px !important; width:20px !important;
  right:16px !important; top:50% !important; transform:translateY(-50%) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  overflow:hidden !important; pointer-events:none;
}
#fluffo .select2-container--default .select2-selection--single .select2-selection__arrow b{ display:none !important; }
#fluffo .select2-container--default .select2-selection--single .select2-selection__arrow::after{
  content:"" !important; width:7px !important; height:7px !important;
  border-right:2px solid var(--fl-accent-deep) !important; border-bottom:2px solid var(--fl-accent-deep) !important;
  transform:rotate(45deg) translateY(-2px) !important; display:block !important;
}
#fluffo .select2-dropdown{ border:1px solid var(--fl-line) !important; border-radius:16px !important; overflow:hidden; box-shadow:var(--fl-shadow) !important; padding:6px; }
#fluffo .select2-container--default .select2-results__option{ border-radius:10px; padding:9px 12px; font-weight:600; color:var(--fl-ink-soft); }
#fluffo .select2-container--default .select2-results__option--highlighted[aria-selected]{ background:var(--fl-accent-soft) !important; color:var(--fl-accent-deep) !important; }
#fluffo .select2-container--default .select2-results__option[aria-selected=true]{ background:#fff; color:var(--fl-accent-deep); }
#fluffo .products-layout a, #fluffo .ps-shopping__view a{
  width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  color:var(--fl-muted); transition:.2s;
}
#fluffo .products-layout a.active, #fluffo .ps-shopping__view a.active{ background:var(--fl-accent-soft); color:var(--fl-accent-deep); }

/* ============================================================
   SIDEBAR — light, sticky, modern (desktop only)
   ============================================================ */
@media (min-width: 1200px) {
  #fluffo .fl-listing-page .ps-layout__left,
  #fluffo .fl-listing-page .ps-sidebar,
  #fluffo .fl-listing-page aside.widget-area{
    position:sticky; top:88px; align-self:flex-start;
  }
}
#fluffo .bb-product-filter, #fluffo .widget_layered_nav, #fluffo .ps-widget--shop, #fluffo .widget{
  background:var(--fl-bg); border:1px solid var(--fl-line); border-radius:var(--fl-radius);
  padding:18px 20px; margin-bottom:16px; box-shadow:none;
}
#fluffo .bb-product-filter-title, #fluffo .ps-widget__title, #fluffo .widget-title{
  font-family:'Fredoka',sans-serif; font-weight:600; color:var(--fl-ink); font-size:1.02rem;
  margin-bottom:14px; padding-bottom:0; border:0; position:relative;
}
#fluffo .bb-product-filter-items{ display:flex; flex-direction:column; gap:2px; }
#fluffo .bb-product-filter-link, #fluffo .widget li a{
  color:var(--fl-ink-soft); font-size:.92rem; padding:7px 10px; border-radius:10px; display:block;
  transition:background .18s, color .18s, padding .18s;
}
#fluffo .bb-product-filter-link:hover, #fluffo .widget li a:hover{ background:var(--fl-accent-soft); color:var(--fl-accent-deep); }
#fluffo .bb-product-filter-item.active > .bb-product-filter-link, #fluffo .current-cat > a{
  background:var(--fl-accent-soft); color:var(--fl-accent-deep); font-weight:700;
}

/* refined filter cards */
#fluffo .ps-layout__left .bb-product-filter{ padding:20px 22px; box-shadow:0 6px 22px rgba(120,80,40,.06); }
#fluffo .bb-product-filter-title{ border:0 !important; padding-bottom:0; margin-bottom:16px; }

/* price slider — modern track + handles */
#fluffo .price-slider.ui-slider, #fluffo .ui-slider-horizontal{ height:5px !important; background:#efe7de !important; border:0 !important; border-radius:999px; margin:14px 6px 16px; }
#fluffo .noUi-connect, #fluffo .ui-slider-range{ background:var(--fl-accent)!important; }
#fluffo .ui-slider .ui-slider-handle{
  width:18px !important; height:18px !important; border-radius:50% !important; background:#fff !important;
  border:3px solid var(--fl-accent) !important; box-shadow:0 3px 10px rgba(180,110,55,.35)!important;
  top:-7px !important; margin-left:-9px !important; cursor:grab;
}
#fluffo .bb-product-price-filter-info, #fluffo .price-slider-amount{ font-weight:700; color:var(--fl-ink); font-size:.92rem; }

/* Filter checkboxes (On Sale etc.) — plugin hides native input & paints label ::after; restore spacing killed by fluffo-store reset */
#fluffo .fl-listing-page .bb-product-filter-items.filter-checkbox li.bb-product-filter-item{
  display:block; padding:4px 0;
}
#fluffo .fl-listing-page .bb-product-filter-items.filter-checkbox li.bb-product-filter-item label,
#fluffo .fl-listing-page .bb-product-filter-items li label{
  margin:0 !important; padding-inline-start:28px !important; cursor:pointer;
  color:var(--fl-ink-soft) !important; font-size:.92rem !important; line-height:22px !important;
  position:relative !important; display:block !important;
}
#fluffo .fl-listing-page .bb-product-filter-items.filter-checkbox .bb-product-filter-item label::after{
  width:20px !important; height:20px !important; border:2px solid #e2d6c8 !important;
  border-radius:6px !important; top:1px !important; inset-inline-start:0 !important;
  left:0 !important; background:#fff !important; box-sizing:border-box !important;
}
#fluffo .fl-listing-page .bb-product-filter-items.filter-checkbox .bb-product-filter-item label::before{
  top:3px !important; inset-inline-start:4px !important; left:4px !important;
  width:12px !important; height:12px !important; line-height:12px !important;
}
#fluffo .fl-listing-page .bb-product-filter-items.filter-checkbox input:checked ~ label::after{
  background:var(--fl-accent) !important; border-color:var(--fl-accent) !important;
}

/* hide stray empty header artifact above the toolbar/select */
#fluffo .ps-block__header:empty, #fluffo .header__filter:empty{ display:none !important; }

/* ---- FIX broken icon glyphs (tofu squares) → clean inline SVG ---- */
#fluffo .icon-grid, #fluffo .icon-list4, #fluffo .icon-equalizer{ font-size:0 !important; line-height:1; color:transparent; }
#fluffo .icon-grid::before, #fluffo .icon-list4::before, #fluffo .icon-equalizer::before{
  content:"" !important; display:inline-block; width:20px; height:20px; vertical-align:middle;
  background-color:#9b8b7d; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-image:var(--ic); mask-image:var(--ic); transition:background-color .2s;
}
#fluffo a.active .icon-grid::before, #fluffo a.active .icon-list4::before,
#fluffo .icon-grid:hover::before, #fluffo .icon-list4:hover::before{ background-color:var(--fl-accent-deep); }
#fluffo .icon-grid::before{ --ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='3' width='8' height='8' rx='1.6'/%3E%3Crect x='13' y='3' width='8' height='8' rx='1.6'/%3E%3Crect x='3' y='13' width='8' height='8' rx='1.6'/%3E%3Crect x='13' y='13' width='8' height='8' rx='1.6'/%3E%3C/svg%3E"); }
#fluffo .icon-list4::before{ --ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='3' rx='1.5'/%3E%3Crect x='3' y='10.5' width='18' height='3' rx='1.5'/%3E%3Crect x='3' y='17' width='18' height='3' rx='1.5'/%3E%3C/svg%3E"); }
#fluffo .icon-equalizer::before{ --ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239b8b7d' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='4' y1='8' x2='20' y2='8'/%3E%3Cline x1='4' y1='16' x2='20' y2='16'/%3E%3Ccircle cx='9' cy='8' r='2.4' fill='%23fff'/%3E%3Ccircle cx='15' cy='16' r='2.4' fill='%23fff'/%3E%3C/svg%3E"); background-color:transparent; }

/* tidy the view-toggle buttons */
#fluffo .products-layout a, #fluffo .ps-shopping__view a{
  width:40px; height:40px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--fl-line); transition:.2s;
}
#fluffo .products-layout a.active, #fluffo .ps-shopping__view a.active{ background:var(--fl-accent-soft); border-color:#ecd9c4; }

/* ---- pagination — spaced, modern (was cramped/overlapping) ---- */
#fluffo .ps-pagination .pagination{
  display:flex !important; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center;
  margin:38px 0 10px; padding:0; list-style:none;
}
#fluffo .ps-pagination .page-item{ margin:0 !important; }
#fluffo .ps-pagination .page-link{
  min-width:44px; height:44px; display:flex; align-items:center; justify-content:center; padding:0 14px;
  border-radius:12px !important; border:1px solid var(--fl-line) !important; background:#fff; color:var(--fl-ink-soft);
  font-weight:700; font-size:.95rem; text-decoration:none; transition:.2s; box-shadow:none; margin:0 !important;
}
#fluffo .ps-pagination .page-link:hover{ border-color:var(--fl-accent) !important; color:var(--fl-accent-deep); background:var(--fl-accent-soft); }
#fluffo .ps-pagination .page-item.active .page-link{ background:var(--fl-accent) !important; border-color:var(--fl-accent) !important; color:#fff; box-shadow:0 6px 16px rgba(180,110,55,.30); }
#fluffo .ps-pagination .page-item.disabled .page-link{ opacity:.4; }

/* ============================================================
   PRODUCT GRID — 4 per row, airy
   ============================================================ */
#fluffo .ps-shopping-product .row{ row-gap:30px; margin-left:-15px; margin-right:-15px; }
#fluffo .ps-shopping-product .row > [class*="col-"]{
  flex:0 0 25%; max-width:25%; padding-left:15px; padding-right:15px; display:flex;
}
@media(max-width:1199px){ #fluffo .ps-shopping-product .row > [class*="col-"]{ flex:0 0 33.333%; max-width:33.333%; } }
@media(max-width:767px){ #fluffo .ps-shopping-product .row > [class*="col-"]{ flex:0 0 50%; max-width:50%; } }

/* ---- card ---- */
#fluffo .ps-shopping-product .ps-product{
  background:var(--fl-bg); border:0; border-radius:var(--fl-radius); overflow:hidden; width:100%;
  display:flex; flex-direction:column; position:relative; box-shadow:var(--fl-shadow);
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
  animation:flCardIn .55s ease both;
}
@keyframes flCardIn{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;} }
#fluffo .ps-shopping-product .ps-product:hover{ transform:translateY(-8px); box-shadow:var(--fl-shadow-hover); }

/* image — consistent, soft frame, zoom */
#fluffo .ps-product__thumbnail{ position:relative; overflow:hidden; background:var(--fl-bg-soft); aspect-ratio:1/1; }
#fluffo .ps-product__thumbnail > a, #fluffo .ps-product__thumbnail .ps-product__image{ display:block; height:100%; }
#fluffo .ps-product__thumbnail img{ width:100%!important; height:100%!important; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
#fluffo .ps-product:hover .ps-product__thumbnail img{ transform:scale(1.08); }

/* hover action buttons — clean row */
#fluffo .ps-product__actions{
  position:absolute; left:12px; right:12px; bottom:12px; display:flex; gap:8px; justify-content:center;
  opacity:0; transform:translateY(18px); transition:opacity .32s ease, transform .32s cubic-bezier(.2,.7,.2,1);
  z-index:3; margin:0; padding:0; list-style:none;
}
#fluffo .ps-product:hover .ps-product__actions{ opacity:1; transform:translateY(0); }
#fluffo .ps-product__actions li{ list-style:none; }
#fluffo .ps-product__actions a, #fluffo .ps-product__actions button{
  width:44px; height:44px; border-radius:50%; background:#fff; color:var(--fl-ink-soft); border:0;
  display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(80,50,30,.20);
  transition:background .2s, color .2s, transform .2s; backdrop-filter:saturate(1.2);
}
#fluffo .ps-product__actions a:hover, #fluffo .ps-product__actions button:hover{ background:var(--fl-accent); color:#fff; transform:translateY(-3px); }

/* content */
#fluffo .ps-product__content{ padding:16px 16px 18px; display:flex; flex-direction:column; gap:7px; flex:1; }
#fluffo .ps-product__title, #fluffo .ps-product__title a{
  font-weight:700; font-size:.96rem; line-height:1.38; color:var(--fl-ink);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.65em; transition:color .2s;
}
#fluffo .ps-product__title a:hover{ color:var(--fl-accent-deep); }
/* star rating — render real ★ (the theme's FontAwesome star glyph is broken) */
#fluffo .rating_wrap{ display:inline-flex; align-items:center; gap:7px; margin:1px 0; }
#fluffo .rating{ position:relative; display:inline-block; height:16px; line-height:16px; font-size:15px; font-family:Arial,"Segoe UI Symbol",sans-serif !important; }
#fluffo .rating::before{ content:"★★★★★"; color:#e4d8ca; letter-spacing:3px; }
#fluffo .product_rate{ position:absolute !important; left:0; top:0; height:100%; overflow:hidden; white-space:nowrap; transform:none !important; }
#fluffo .product_rate::before{ content:"★★★★★"; color:#f6b53d; letter-spacing:3px; font-family:Arial,"Segoe UI Symbol",sans-serif !important; }
#fluffo .rating_avg{ font-weight:800; color:var(--fl-ink); font-size:.85rem; margin-left:1px; }
#fluffo .rating_num{ color:var(--fl-muted); font-size:.8rem; font-weight:600; }
#fluffo .rating_num--empty{ font-style:italic; color:var(--fl-muted); }
#fluffo .ps-product__price{ font-family:'Fredoka',sans-serif; font-weight:600; font-size:1.18rem; color:var(--fl-accent-deep); margin-top:auto; }
#fluffo .ps-product__price del{ color:var(--fl-muted); font-weight:500; font-size:.85rem; margin-left:8px; }

/* ---- LIST view (ps-product--wide): horizontal card — image | content | price+CTA ---- */
#fluffo .ps-shopping-product:has(> .ps-product--wide){
  display:flex; flex-direction:column; gap:18px;
}
#fluffo .ps-shopping-product > .ps-product--wide,
#fluffo .ps-shopping-product .ps-product--wide{
  flex-direction:row !important; align-items:stretch !important; width:100% !important; max-width:100% !important;
  min-height:200px; border:1px solid var(--fl-line); gap:0;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .25s;
  animation:flCardIn .55s ease both;
}
#fluffo .ps-product--wide .ps-product__thumbnail{
  flex:0 0 200px; width:200px; max-width:200px; height:auto; aspect-ratio:1/1;
  border-radius:calc(var(--fl-radius) - 2px) 0 0 calc(var(--fl-radius) - 2px); overflow:hidden;
}
#fluffo .ps-product--wide .ps-product__container{
  flex:1 1 auto; display:flex !important; flex-direction:row !important; align-items:center !important;
  justify-content:space-between; min-width:0; gap:16px;
}
#fluffo .ps-product--wide .ps-product__content{
  flex:1 1 auto; padding:22px 24px; gap:8px; min-width:0; width:auto;
}
#fluffo .ps-product--wide .ps-product__title{
  font-size:1.12rem; min-height:0; -webkit-line-clamp:2; margin:0;
}
#fluffo .ps-product--wide .ps-product__desc,
#fluffo .ps-product--wide .ps-product__description,
#fluffo .ps-product--wide .ps-product__content > p,
#fluffo .ps-product--wide .ps-product__short-description{
  color:var(--fl-ink-soft); font-size:.9rem; line-height:1.55;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0;
}
#fluffo .ps-product--wide .ps-product__shopping{
  flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; justify-content:center;
  gap:12px; padding:22px 26px 22px 0; min-width:148px;
}
#fluffo .ps-product--wide .ps-product__price{
  font-size:1.32rem; font-weight:700; margin:0 !important; text-align:right; white-space:nowrap;
}
#fluffo .ps-product--wide .ps-btn.add-to-cart-button,
#fluffo .ps-product--wide a.add-to-cart-button{
  display:inline-flex !important; align-items:center; justify-content:center;
  padding:10px 22px !important; background:var(--fl-accent) !important; color:#fff !important;
  border-radius:999px !important; font-weight:700 !important; font-size:.86rem !important;
  border:0 !important; text-decoration:none !important; width:auto !important; height:auto !important;
  box-shadow:0 6px 18px rgba(180,110,55,.28); transition:background .2s, transform .2s, box-shadow .2s;
}
#fluffo .ps-product--wide .ps-btn.add-to-cart-button:hover,
#fluffo .ps-product--wide a.add-to-cart-button:hover{
  background:var(--fl-accent-deep) !important; transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(180,110,55,.35);
}
#fluffo .ps-product--wide .ps-product__actions{
  position:static !important; opacity:1 !important; transform:none !important;
  justify-content:flex-end !important; margin:0 !important; gap:10px !important; flex-wrap:wrap;
}
#fluffo .ps-product--wide .ps-product__actions li{ list-style:none; }
#fluffo .ps-product--wide .ps-product__actions a,
#fluffo .ps-product--wide .ps-product__actions button{
  width:auto !important; height:auto !important; border-radius:8px !important; background:transparent !important;
  box-shadow:none !important; color:var(--fl-muted) !important; font-size:.78rem !important; font-weight:600 !important;
  padding:4px 0 !important; gap:4px;
}
#fluffo .ps-product--wide .ps-product__actions a:hover{ color:var(--fl-accent-deep) !important; background:transparent !important; transform:none !important; }
#fluffo .ps-product--wide .ps-product__actions i{ display:none; }
#fluffo .ps-product--wide:hover{
  transform:translateY(-6px); box-shadow:var(--fl-shadow-hover); border-color:#ecd9c4;
}
#fluffo .ps-shopping-product > .ps-product--wide:nth-child(1){ animation-delay:.04s; }
#fluffo .ps-shopping-product > .ps-product--wide:nth-child(2){ animation-delay:.08s; }
#fluffo .ps-shopping-product > .ps-product--wide:nth-child(3){ animation-delay:.12s; }
#fluffo .ps-shopping-product > .ps-product--wide:nth-child(4){ animation-delay:.16s; }
#fluffo .ps-shopping-product > .ps-product--wide:nth-child(n+5){ animation-delay:.20s; }
@media(max-width:768px){
  #fluffo .ps-shopping-product .ps-product--wide{ flex-direction:column !important; min-height:0; }
  #fluffo .ps-product--wide .ps-product__thumbnail{
    flex:none; width:100%; max-width:100%;
    border-radius:calc(var(--fl-radius) - 2px) calc(var(--fl-radius) - 2px) 0 0;
  }
  #fluffo .ps-product--wide .ps-product__container{ flex-direction:column !important; align-items:stretch !important; }
  #fluffo .ps-product--wide .ps-product__content{ padding:18px 18px 0; }
  #fluffo .ps-product--wide .ps-product__shopping{ align-items:stretch; padding:10px 18px 18px; min-width:0; }
  #fluffo .ps-product--wide .ps-product__price{ text-align:left; }
  #fluffo .ps-product--wide .ps-btn.add-to-cart-button{ width:100% !important; justify-content:center !important; }
}

/* badges */
#fluffo .ps-product .ps-product__badge, #fluffo .ps-product .product-label, #fluffo .ps-product .ribbon{
  border-radius:999px; font-weight:800; padding:5px 12px; font-size:.7rem; letter-spacing:.3px; text-transform:uppercase;
  background:var(--fl-accent); color:#fff; box-shadow:0 6px 16px rgba(180,110,55,.30);
}
#fluffo .ps-product__badges{ position:absolute; top:12px; left:12px; z-index:4; display:flex; flex-direction:column; gap:6px; }

/* ============================================================
   PAGE SHELL — layout grid, hero, fluffo-store reset fixes
   ============================================================ */
#fluffo .fl-listing-page{
  background:#FAF4EC; margin:0; padding:20px 0 48px;
}
#fluffo .ps-container > .mt-40:has(.fl-listing-page){ margin-top:12px !important; margin-bottom:32px !important; }
#fluffo .fl-listing-wrap > .fl-cat-hero{ margin-bottom:24px; }

/* Undo fluffo-store.css global reset inside shop markup */
#fluffo .fl-listing-page .row{ display:flex; flex-wrap:wrap; margin-left:-15px; margin-right:-15px; }
#fluffo .fl-listing-page [class*="col-"],
#fluffo .fl-listing-page .ps-shopping-product .row > [class*="col-"]{
  padding-left:15px !important; padding-right:15px !important;
}
#fluffo .fl-listing-page .bb-product-filter ul,
#fluffo .fl-listing-page .ps-product__actions{
  list-style:none !important; padding-left:0 !important; margin:0 !important;
}
#fluffo .fl-listing-page .ps-product__content p{ margin:0; }

/* Scoped undo of fluffo-store * reset for shop form controls */
#fluffo .fl-listing-page .ps-layout--shop input,
#fluffo .fl-listing-page .ps-layout--shop select,
#fluffo .fl-listing-page .ps-layout--shop button,
#fluffo .fl-listing-page .ps-layout--shop label{
  box-sizing:border-box;
}
#fluffo .fl-listing-page .ps-layout--shop .ui-slider .ui-slider-handle{
  margin-left:-9px !important; padding:0 !important;
}
#fluffo .fl-listing-page .tnw-shop-toolbar .d-flex{
  display:flex !important; align-items:center !important; gap:8px !important; flex-wrap:nowrap !important;
}

/* Two-column shop layout (desktop only; mobile uses bottom sheet) */
@media (min-width: 1200px) {
  #fluffo .fl-listing-page .fl-listing-body.ps-layout--shop{
    display:flex !important; flex-wrap:nowrap !important; align-items:flex-start !important;
    gap:32px !important; width:100% !important;
  }
  #fluffo .fl-listing-page .ps-layout__left{
    flex:0 0 260px !important; max-width:260px !important; width:260px !important;
    min-width:260px !important;
    position:sticky !important; top:88px !important; align-self:flex-start !important;
    padding-right:0 !important; margin-top:0 !important; z-index:2;
  }
  #fluffo .fl-listing-page .ps-layout__right{
    flex:1 1 auto !important; min-width:0 !important; width:auto !important;
  }
  /* Sidebar top aligns with sort bar + product grid (hero sits above this row) */
  #fluffo .fl-listing-page .ps-layout__left-content > .bb-product-filter:first-child,
  #fluffo .fl-listing-page .ps-layout__left-content > .widget:first-child{
    margin-top:0;
  }
}

/* Category / shop hero */
#fluffo .fl-cat-hero{
  background:linear-gradient(135deg,#fff 0%,#fbf2e9 100%);
  border:1px solid var(--fl-line); border-radius:24px;
  padding:28px 32px 24px; margin-bottom:22px;
  box-shadow:var(--fl-shadow); text-align:center;
}
#fluffo .fl-cat-hero h1{
  font-family:'Fredoka',sans-serif; font-weight:700; font-size:2.35rem; color:var(--fl-ink);
  letter-spacing:-.5px; margin:0 0 6px; line-height:1.15;
}
#fluffo .fl-cat-hero__count{
  font-size:14px; font-weight:800; color:var(--fl-accent-deep);
  background:var(--fl-accent-soft); display:inline-block; padding:5px 14px;
  border-radius:999px; margin:0 0 10px;
}
#fluffo .fl-cat-hero__desc{
  font-size:15px; color:var(--fl-ink-soft); line-height:1.6; max-width:640px; margin:10px auto 0;
}
#fluffo .fl-cat-hero__desc p{ margin:0; }

/* Toolbar row (tnw-shop-toolbar) */
#fluffo .tnw-shop-toolbar-wrap{ margin-bottom:8px; }
#fluffo .tnw-shop-toolbar{
  background:var(--fl-bg) !important; border:1px solid var(--fl-line) !important;
  border-radius:999px !important; padding:10px 18px !important; margin-bottom:20px !important;
  box-shadow:var(--fl-shadow) !important;
}
#fluffo .tnw-shop-toolbar .container-fluid{ padding:0 !important; }
#fluffo .tnw-shop-toolbar .row{ align-items:center !important; margin:0 !important; }
#fluffo .header__filter button,
#fluffo #products-filter-sidebar{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  background:var(--fl-accent-soft) !important; border:1px solid #ecd9c4 !important;
  color:var(--fl-accent-deep) !important; font-weight:700 !important; font-size:14px !important;
  border-radius:999px !important; padding:10px 18px !important; cursor:pointer !important;
  min-height:44px !important; min-width:44px !important;
  touch-action:manipulation !important; -webkit-tap-highlight-color:transparent !important;
  pointer-events:auto !important; position:relative !important; z-index:2 !important;
  transition:background .2s, transform .2s !important;
}
#fluffo .header__filter button:hover{ background:#f5e4d4 !important; transform:translateY(-1px); }
#fluffo .ps-shopping__view ul.products-layout{ display:flex !important; gap:6px !important; list-style:none !important; margin:0 !important; padding:0 !important; }
#fluffo .ps-shopping__view ul.products-layout li{ list-style:none !important; margin:0 !important; padding:0 !important; }
#fluffo .ps-shopping__view ul.products-layout li a{ display:inline-flex !important; }

/* Card stagger fade-in */
#fluffo .ps-shopping-product .ps-product:nth-child(1){ animation-delay:.03s; }
#fluffo .ps-shopping-product .ps-product:nth-child(2){ animation-delay:.06s; }
#fluffo .ps-shopping-product .ps-product:nth-child(3){ animation-delay:.09s; }
#fluffo .ps-shopping-product .ps-product:nth-child(4){ animation-delay:.12s; }
#fluffo .ps-shopping-product .ps-product:nth-child(n+5){ animation-delay:.15s; }

/* Recommended carousel — compact, no duplicate-looking stack */
#fluffo .tnw-recommended{
  background:#fff; border:1px solid var(--fl-line); border-radius:20px;
  padding:18px 20px 8px; margin-bottom:24px; box-shadow:var(--fl-shadow);
}
#fluffo .tnw-recommended .ps-block__header{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;
}
#fluffo .tnw-recommended .ps-block__header h3{
  font-family:'Fredoka',sans-serif; font-size:1.1rem; font-weight:600; color:var(--fl-ink); margin:0;
}
#fluffo .tnw-recommended .ps-product{ box-shadow:0 6px 18px rgba(120,80,40,.08); animation:none; }
#fluffo .tnw-recommended .ps-product:hover{ transform:translateY(-4px); }

/* Mobile / tablet filter — bottom sheet via fluffo-app-mobile.css (<1200px).
   Desktop sidebar stays sticky; no left-drawer on smaller screens. */
@media(max-width:1199px){
  #fluffo .fl-listing-page .ps-layout--shop{ flex-direction:column !important; }
  #fluffo .fl-listing-page .ps-layout__right{ width:100% !important; }
  #fluffo .fl-listing-page .fl-cat-hero{ padding:22px 18px 18px; border-radius:20px; }
  #fluffo .fl-listing-page .fl-cat-hero h1{ font-size:1.75rem; }
}
@media(max-width:767px){
  #fluffo .ps-shopping-product .row > [class*="col-"]{ flex:0 0 50% !important; max-width:50% !important; }
  #fluffo .ps-product__content{ padding:12px 12px 14px !important; }
  #fluffo .ps-product__title{ font-size:.88rem !important; min-height:2.4em !important; }
  #fluffo .ps-product__price{ font-size:1.05rem !important; }
  #fluffo .ps-product__actions{ opacity:1 !important; transform:none !important; }
  #fluffo .ps-product__actions a,#fluffo .ps-product__actions button{ width:36px !important; height:36px !important; }
}
@media(min-width:1200px){
  #fluffo .ps-filter__header{ display:none !important; }
  #fluffo .ps-layout__left .screen-darken{ display:none !important; }
  #fluffo .fl-filter-apply-wrap{ display:none !important; }
}
@media(prefers-reduced-motion:reduce){
  #fluffo .ps-shopping-product .ps-product{ animation:none !important; }
}
