/* Erox categories. Adjust the tokens and grid here; filtering stays in PrestaShop. */
#category {
  --ef-category-brand: #c96730;
  --ef-category-text: #292929;
  --ef-category-muted: #6b6b6b;
  --ef-category-line: #e8e6e3;
  --ef-category-gap: 16px;
}
#category #wrapper > .container { width:100%; max-width:1440px; padding:0 32px; }
#category #wrapper > .container > .row { margin:0; }
#category .breadcrumb_wrapper { margin:0; padding:0; min-height:0; }
#category .breadcrumb_wrapper > .container { width:100%; max-width:1440px; padding:0; }
#category #content-wrapper { width:100%; float:none; padding:0; min-width:0; }
#category .breadcrumb { width:100%; max-width:1440px; padding:20px 32px; margin:0 auto; }
#category .breadcrumb ol { padding:0; margin:0; }
#category #main { margin-bottom:56px; color:var(--ef-category-text); }
#category .title_category { font-size:28px; font-weight:600; line-height:1.25; text-transform:none; margin:0 0 16px; }
#category .block-category { border:0; box-shadow:none; padding:0; margin:0 0 22px; min-height:0; background:none; }
#category .category-description { font-size:16px; font-weight:400; line-height:1.6; text-transform:none; margin:0; max-width:960px; }
#category .category-description p { font-size:inherit; line-height:inherit; margin:0 0 10px; }
#category .category-cover img { max-width:100%; height:auto; }
#category #products { margin:0; }
#category .ef-category-tools { margin:0 0 20px; width:100%; }
#category .ef-category-quick { display:block; padding:0; margin:0 0 12px; border:0; width:100%; max-width:100%; }
#category .ef-category-quick .efqf__scroller { position:relative; display:flex; flex-wrap:nowrap; gap:8px; overflow-x:auto; scrollbar-width:none; padding:4px 2px 10px; margin:0; scroll-padding:2px; }
#category .ef-category-quick .efqf__scroller::-webkit-scrollbar { display:none; }
#category .ef-category-quick .efqf__chip { display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; min-height:44px; padding:9px 16px; border:1px solid transparent; border-radius:24px; background:#f5f4f2; color:var(--ef-category-text); font:inherit; font-size:14px; line-height:1.35; white-space:nowrap; box-shadow:none; }
#category .ef-category-quick .efqf__chip.is-active { border-color:var(--ef-category-brand); color:#924416; background:#fcf4ed; }
#category .ef-category-quick .efqf__count { font-size:12px; color:var(--ef-category-muted); background:none; padding:0; }
#category .ef-category-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--ef-category-line); padding:0 0 12px; }
#category .ef-category-count { font-size:14px; color:var(--ef-category-muted); margin:0; }
#category .ef-category-open { display:inline-flex; align-items:center; gap:10px; min-height:44px; border:0; background:none; padding:8px 0 8px 12px; color:var(--ef-category-text); font:inherit; font-size:14px; cursor:pointer; }
#category .ef-category-open svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; }
#category .ef-category-reset { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; color:#924416; }
#category :is(a,button,select,input):focus-visible { outline:2px solid var(--ef-category-brand); outline-offset:3px; }

/* Grid owns card sizing; legacy column/list rules have no role in categories. */
#category #js-product-list .products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:var(--ef-category-gap); row-gap:36px; margin:0; width:100%; }
/* These two !important declarations replace legacy mobile width and review-loading display locks. */
body#category #products .products .product-miniature { float:none; width:auto!important; max-width:none; min-width:0; padding:0; margin:0; height:auto; }
#category #products .thumbnail-container { display:flex; flex-direction:column; width:100%; height:100%; margin:0; border:0; box-shadow:none; background:none; }
#category #products .image_item_product { position:relative; width:100%; padding:0; float:none; margin:0 0 14px; }
#category #products .product-thumbnail { display:flex; align-items:center; justify-content:center; width:100%; height:auto; aspect-ratio:4/5; overflow:hidden; border-radius:8px; background:#fff; margin:0; }
#category #products .product-thumbnail img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; margin:0; padding:8px; }
#category #products .product-description { display:flex; flex-direction:column; flex:1; width:100%; float:none; height:auto; min-height:0; padding:0; text-align:left; }
#category #products .product-title { font-size:17px; font-weight:600; line-height:1.35; text-transform:none; height:auto; min-height:0; margin:0 0 5px; white-space:normal; overflow:visible; }
#category #products .product-title a { display:block; font:inherit; color:var(--ef-category-text); white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
#category #products .ef-product-subtitle { font-size:14px; line-height:1.45; font-weight:400; color:var(--ef-category-muted); white-space:normal; overflow:visible; height:auto; margin:0 0 10px; }
#category #products .product-price-and-shipping { display:flex!important; flex-wrap:wrap; align-items:baseline; gap:5px 7px; padding:8px 0 0; margin-top:auto; line-height:1.4; white-space:normal; }
#category #products .price { font-size:17px; font-weight:600; color:#a24b1c; white-space:nowrap; }
#category #products .regular-price { font-size:13px; font-weight:400; color:var(--ef-category-muted); white-space:nowrap; }
#category #products .discount-percentage { font-size:12px; font-weight:600; line-height:1.5; color:#924416; background:#f9e8db; padding:1px 5px; border-radius:3px; white-space:nowrap; }
#category #products .product-flags { width:auto; max-width:calc(100% - 16px); top:8px; left:8px; padding:0; margin:0; pointer-events:none; }
#category #products .product-flag { font-size:11px; line-height:1.3; padding:5px 8px; height:auto; min-height:0; margin:0 0 5px; box-shadow:none; max-width:100%; white-space:normal; }
#category .pagination { display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; margin:36px 0 0; padding:16px 0; border-top:1px solid var(--ef-category-line); background:none; }
#category .pagination > div { width:auto; padding:0; }
#category .pagination a { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
#category .active_filters { display:block; background:none; padding:0 0 18px; margin:0; border:0; }
#category .active-filter-title { font-size:14px; text-transform:none; margin:0 0 8px; }
#category .active_filters ul { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
#category .active_filters .filter-block { display:inline-flex; align-items:center; gap:4px; background:#fcf4ed; border:1px solid #e8cdb9; border-radius:24px; padding:0 2px 0 12px; margin:0; max-width:100%; font-size:13px; overflow-wrap:anywhere; }
#category .filter-block > span { min-width:0; }
#category .filter-block a { display:inline-flex; flex:0 0 44px; align-items:center; justify-content:center; min-height:44px; font-size:22px; color:#924416; }
#category .ef-category-empty { text-align:center; padding:48px 16px; border:1px solid var(--ef-category-line); border-radius:8px; }
#category .ef-category-empty h2 { font-size:22px; text-transform:none; margin:0 0 16px; }
#category .ef-category-empty a { display:inline-flex; align-items:center; min-height:44px; color:#924416; text-decoration:underline; }

/* One native dialog, with the same facets and sorting URLs as the listing. */
.ef-category-panel:not([open]) { display:none; }
#category .ef-category-panel { box-sizing:border-box; width:420px; max-width:100%; height:100vh; height:100dvh; max-height:none; margin:0 0 0 auto; padding:0; border:0; background:#fff; color:var(--ef-category-text); font:inherit; text-align:left; }
#category .ef-category-panel[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.ef-category-panel::backdrop { background:rgb(0 0 0 / 42%); }
html.ef-category-modal { overflow:hidden; }
#category .ef-category-panel-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; border-bottom:1px solid var(--ef-category-line); }
#category .ef-category-panel-head h2 { margin:0 0 4px; font-size:18px; font-weight:600; text-transform:none; }
#category .ef-category-panel-head p { margin:0; font-size:14px; color:var(--ef-category-muted); }
#category .ef-category-close { border:0; background:none; color:inherit; font-size:32px; width:44px; height:44px; cursor:pointer; flex:0 0 44px; }
#category .ef-category-panel-body { padding:24px; overflow-y:auto; overscroll-behavior:contain; min-height:0; }
#category .ef-category-sort-label { display:block; float:none; width:100%; text-align:left; margin:0 0 10px; font-size:16px; font-weight:600; }
#category .ef-category-sort { width:100%; max-width:100%; min-height:48px; border:1px solid #d8d5d1; border-radius:6px; background:#fff; padding:10px; font:inherit; font-size:14px; color:inherit; }
#category .ef-category-facets-title { font-size:16px; text-transform:none; margin:28px 0 16px; }
#category .ef-category-no-facets { font-size:14px; line-height:1.5; }
#category .ef-category-panel #search_filters_wrapper { display:block!important; }
#category .ef-category-panel #search_filter_controls { display:none; }
#category .ef-category-panel #search_filters { border:0; box-shadow:none; padding:0; margin:0; }
#category .ef-category-panel #search_filters > p { display:none!important; }
#category .ef-category-panel .facet { padding:16px 0; border:0; border-top:1px solid var(--ef-category-line); }
#category .ef-category-panel .facet > .facet-title { display:block!important; font-size:14px; font-weight:600; text-transform:none; margin:0 0 10px; padding:0; }
#category .ef-category-panel .facet > .title { display:none!important; }
#category .ef-category-panel .facet > ul { display:block; height:auto!important; margin:0; padding:0; }
#category .ef-category-panel .facet li { border:0; padding:0; }
#category .ef-category-panel .facet-label { display:flex; align-items:center; min-height:44px; gap:8px; margin:0; padding:4px 0; }
#category .ef-category-panel .facet-label a { flex:1; white-space:normal; line-height:1.4; color:inherit; }
#category .ef-category-panel .facet-label input { accent-color:var(--ef-category-brand); }
#category .ef-category-panel :is(.custom-checkbox,.custom-radio):focus-within { outline:2px solid var(--ef-category-brand); outline-offset:3px; }
#category .ef-category-panel .facet .custom-checkbox,#category .ef-category-panel .facet .custom-radio { flex:0 0 20px; margin:0; }
#category .ef-category-panel .facet > .faceted-slider { width:auto; padding:0 12px 10px; }
#category .ef-category-panel .ui-slider { margin:20px 10px 12px; }
#category .ef-category-panel .ui-slider-handle { width:22px; height:28px; top:-12px; margin-left:-11px; cursor:ew-resize; }
#category .ef-category-panel .ui-slider-handle::after { content:''; position:absolute; inset:-8px -11px; }
#category .ef-category-panel .clear-all-wrapper { display:block!important; padding:0 0 12px; }
#category .ef-category-panel .block-categories { display:block!important; margin:24px 0 0; padding:0; border:0; }
#category .ef-category-panel .category-top-menu a { min-height:44px; display:flex; align-items:center; text-transform:none; padding:8px 0; }
#category .ef-category-panel-foot { display:flex; gap:12px; align-items:center; justify-content:flex-end; padding:16px 24px; padding-bottom:max(16px,env(safe-area-inset-bottom)); border-top:1px solid var(--ef-category-line); background:#fff; }
#category .ef-category-panel-foot a { display:inline-flex; min-height:44px; align-items:center; color:#924416; font-size:13px; text-decoration:underline; }
#category .ef-category-results { min-height:46px; padding:10px 20px; border:0; border-radius:24px; background:var(--ef-category-brand); color:#202020; font:inherit; font-weight:600; font-size:14px; cursor:pointer; }
@media (min-width:768px) and (max-width:1023px) { #category #js-product-list .products { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px) {
  #category #wrapper > .container { padding:0 16px; }
  #category .breadcrumb { padding:16px; font-size:12px; line-height:1.5; }
  #category .title_category { font-size:24px; margin-bottom:12px; }
  #category .category-description { font-size:14px; line-height:1.55; }
  #category .block-category { margin-bottom:16px; }
  #category #js-product-list .products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 12px; }
  #category #products .product-title { font-size:14px; }
  #category #products .ef-product-subtitle { font-size:13px; }
  #category #products .price { font-size:15px; }
  #category #products .regular-price { font-size:12px; }
  #category #products .discount-percentage { font-size:11px; }
  #category #products .image_item_product { margin-bottom:10px; }
  #category #products .product-thumbnail img { padding:4px; }
  #category #products .product-flag { font-size:10px; padding:4px 6px; }
  #category .ef-category-quick .efqf__chip { padding:9px 13px; font-size:13px; }
  #category .ef-category-panel { width:calc(100% - 20px); }
  #category .ef-category-panel-body { padding:20px; }
  #category .ef-category-panel-head,#category .ef-category-panel-foot { padding-left:20px; padding-right:20px; }
  #category .pagination { justify-content:center; text-align:center; }
}
