/* Ecosea catalog enhancements — toolbar, chips, bottom-sheet filters, load more.
   Mobile-first additions. Sheet chrome is hidden in this initial CSS (no JS flash). */

/* ---------- utilities ---------- */
.ecosea-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ecosea-sr-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ecosea-js #brxe-c00040{display:none}

/* ---------- toolbar: layout wrappers become invisible (single sticky owner) ---------- */
.ecosea-js #brxe-c00021,
.ecosea-js #brxe-c00021 .ecosea-catbar2,
.ecosea-js #brxe-c00021 .ecosea-catbar-form{display:contents}

.ecosea-search-row{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 10px}
.ecosea-search{flex:1 1 auto;min-width:0;display:block}
.ecosea-search input{width:100%;height:44px;box-sizing:border-box;border:1px solid #D9DED6;border-radius:5px;background:#fff;padding:0 12px;font-size:16px;color:#15263e}
.ecosea-search input::-webkit-search-cancel-button{display:none}
.ecosea-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;border:1px solid #D9DED6;border-radius:5px;background:#fff;color:#15263e;cursor:pointer}
.ecosea-icon-btn:hover{background:#EDF2F7}
.ecosea-search-submit{background:#15263e;border-color:#15263e;color:#fff}
.ecosea-search-submit:hover{background:#1f3557}
.ecosea-icon-btn[hidden]{display:none}

.ecosea-toolbar-row{display:flex;align-items:center;gap:10px;width:100%;padding:6px 0;min-height:52px;box-sizing:border-box}
.ecosea-filters-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid #D9DED6;border-radius:5px;background:#fff;font-size:14px;font-weight:600;color:#15263e;cursor:pointer;flex:0 0 auto}
.ecosea-filters-btn:hover{background:#EDF2F7}
.ecosea-filters-btn[aria-expanded="true"]{border-color:#15263e;background:#EDF2F7}
.ecosea-filters-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#15263e;color:#fff;font-size:12px;font-weight:600}
.ecosea-sortwrap{flex:1 1 150px;min-width:0}
.ecosea-sortwrap select{width:100%;height:44px;box-sizing:border-box;border:1px solid #D9DED6;border-radius:5px;background:#fff;padding:0 12px;font-size:14px;color:#15263e}

/* only the Filters/Sort row sticks; search, count and chips scroll normally */
.ecosea-js .ecosea-toolbar-row{position:sticky;top:var(--ec-header-h,73px);z-index:20;background:#fafaf7}
.ecosea-js .ecosea-toolbar-row::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#E3E7DF}

.ecosea-catbar-info{margin:10px 0 8px;font-size:14px;font-weight:600;color:#15263e}

/* ---------- chips ---------- */
.ecosea-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}
.ecosea-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 6px 0 12px;border:1px solid #D9DED6;border-radius:999px;background:#fff;font-size:13px;font-weight:600;color:#15263e}
.ecosea-chip button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:50%;background:#EDF2F7;color:#15263e;font-size:14px;line-height:1;cursor:pointer}
.ecosea-chip button:hover{background:#D6DFE8}
.ecosea-chip-clear{align-self:center;font-size:13px;color:#465366;background:none;border:0;padding:6px 2px;cursor:pointer;text-decoration:underline}
.ecosea-chip button:focus-visible,.ecosea-chip-clear:focus-visible{outline:3px solid #15263e;outline-offset:2px}

/* ---------- empty state ---------- */
.ecosea-empty{margin:24px 0;padding:24px 20px;border:1px solid #D9DED6;border-radius:8px;background:#fff;text-align:center}
.ecosea-empty[hidden]{display:none}
.ecosea-empty__title{margin:0 0 6px;font-size:17px;font-weight:600;color:#15263e}
.ecosea-empty__hint{margin:0 0 16px;font-size:14px;color:#465366}
.ecosea-empty__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0}
.ecosea-btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid #15263e;border-radius:5px;background:#fff;color:#15263e;font-size:14px;font-weight:600;cursor:pointer}
.ecosea-btn-ghost:hover{background:#EDF2F7}

/* ---------- load more ---------- */
.ecosea-loadmore{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:32px}
.ecosea-loadmore-status{margin:0;font-size:13px;color:#465366}
.ecosea-loadmore-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border:1px solid #15263e;border-radius:5px;background:#fff;color:#15263e;font-size:15px;font-weight:600;cursor:pointer}
.ecosea-loadmore-btn:hover{background:#EDF2F7}
.ecosea-loadmore-btn:disabled{opacity:.6;cursor:default}
.ecosea-loadmore-btn:focus-visible,.ecosea-btn-ghost:focus-visible,.ecosea-filters-btn:focus-visible,.ecosea-icon-btn:focus-visible{outline:3px solid #15263e;outline-offset:2px}

/* ---------- filter sheet (mobile/tablet < 1024px) ---------- */
.ecosea-sheet-head{display:none}
.ecosea-backdrop{display:none}
@media (max-width:1023px){
  html.ecosea-js #brxe-c00013{display:none}
  html.ecosea-js.ecosea-sheet-open #brxe-c00013{
    display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;top:auto;
    max-height:90dvh;height:auto;z-index:210;background:#fafaf7;
    border-top-left-radius:14px;border-top-right-radius:14px;
    box-shadow:0 -10px 40px rgba(15,28,45,.28);
    padding:0 16px calc(12px + env(safe-area-inset-bottom));
    overflow:hidden;overscroll-behavior:contain;
  }
  html.ecosea-js.ecosea-sheet-open.ecosea-sheet-landscape #brxe-c00013{max-height:96dvh}
  html.ecosea-js .ecosea-backdrop{
    display:block;position:fixed;inset:0;z-index:200;background:rgba(15,28,45,.5);
    opacity:0;pointer-events:none;transition:opacity .18s ease;
  }
  html.ecosea-js.ecosea-sheet-open .ecosea-backdrop{opacity:1;pointer-events:auto}
  html.ecosea-js.ecosea-sheet-open{overflow:hidden}
  html.ecosea-js #brxe-c00013 .ecosea-sheet-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    flex:0 0 auto;padding:14px 0;border-bottom:1px solid #E3E7DF;background:#fafaf7;
  }
  html.ecosea-js #brxe-c00013 .ecosea-sheet-title{font-size:16px;font-weight:600;color:#15263e}
  html.ecosea-js #brxe-c00013 .ecosea-dialog-close{
    display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;
    border:1px solid #D9DED6;border-radius:5px;background:#fff;color:#15263e;font-size:14px;font-weight:600;cursor:pointer;
  }
  html.ecosea-js #brxe-c00013 .ecosea-sheet-body{
    flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 0;
  }
  html.ecosea-js #brxe-c00013 .ecosea-sheet-foot{
    flex:0 0 auto;display:flex;gap:10px;align-items:center;padding:12px 0 4px;border-top:1px solid #E3E7DF;background:#fafaf7;
  }
  html.ecosea-js #brxe-c00013 .ecosea-sheet-foot .ecosea-apply{flex:1 1 auto;height:48px;font-size:15px}
  html.ecosea-js #brxe-c00013 .ecosea-field select{height:48px;font-size:16px}
  html.ecosea-js #brxe-c00013 .ecosea-nav-item a{padding:10px 0;font-size:15px}
}
@media (max-width:767px){
  #brx-content #brxe-c00030{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:16px}
  #brx-content .brxe-c00031{border-radius:12px}
  #brx-content .brxe-c00032,#brx-content .brxe-c00031:not(:has(.brxe-c00032))::before{aspect-ratio:4 / 3}
  #brx-content .ecosea-product-card__title{font-size:14px;line-height:1.35;min-height:0}
  #brx-content .ecosea-product-card__meta{font-size:12px;line-height:1.4;padding-left:10px;padding-right:10px;padding-bottom:12px}
  #brx-content .brxe-c00033{padding-left:10px;padding-right:10px}
}

/* desktop sidebar sticky (a5) */
@media (min-width:992px){#brx-content.ecosea-sidebar-sticky{}}
@media (min-width:992px){#brx-content #brxe-c00013{position:sticky;top:calc(var(--ec-header-h,83px) + 16px);align-self:start;max-height:calc(100dvh - var(--ec-header-h,83px) - 32px);overflow-y:auto;overscroll-behavior:contain}}

/* desktop sidebar actions + detail hero + error banner */
@media (min-width:1024px){
#brx-content #brxe-c00013 .ecosea-nav-actions{flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap}
#brx-content #brxe-c00013 .ecosea-apply{flex:0 0 auto}
#brx-content #brxe-c00013 .ecosea-sheet-reset{min-height:38px;padding:0 16px;font-size:13px;border-color:#D9DED6}
}
#brx-content .brxe-sp0009{width:100%;max-width:none}
#brx-content .eco-facts{width:100%;max-width:none}
#brx-content .eco-facts__row{flex-wrap:nowrap}
#brx-content .eco-facts dt{flex:0 0 auto;min-width:126px;white-space:nowrap}
#brx-content .eco-facts dd{flex:1 1 auto}
.ecosea-error{margin:0 0 14px;padding:12px 14px;border:1px solid #E0B4B4;border-radius:8px;background:#FDF3F3;color:#7A2E2E;font-size:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ecosea-error p{margin:0}

#brx-content .eco-detail .eco-rt,#brx-content .eco-rt p,#brx-content .eco-detail__block .eco-rt{font-size:16px;line-height:1.7}
#brx-content #brxe-sp0025{font-size:16px;line-height:1.7}
