/* Catalog composition: dark persistent filters + cream result surface. */
.enco-catalog { padding: 0; background: #f7f0e6; }
.enco-catalog-layout { display: grid; grid-template-columns: 286px minmax(0, 1fr); min-height: 900px; }
.enco-catalog-sidebar {
  position: relative;
  z-index: 5;
  min-width: 0;
  color: #fff;
  background: linear-gradient(180deg, #11191f 0%, #0b1115 100%);
}
.enco-catalog-results { min-width: 0; background: #f8f1e7; }
.enco-catalog-results__inner { width: 100%; max-width: 1460px; margin: 0; padding: 28px 28px 46px; }
.enco-catalog .woocommerce-breadcrumb { margin: 0 0 14px; color: #8b8177; font-size: 11px; }
.enco-catalog .woocommerce-breadcrumb a { color: #8b8177; }
.enco-catalog__header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.enco-catalog__header h1 { margin: 0; color: #1f1813; font-size: clamp(35px, 4vw, 50px); letter-spacing: -.035em; line-height: 1; }
.enco-catalog__header h1 small { color: #42382f; font-family: var(--font-ui); font-size: 12px; font-weight: 600; letter-spacing: 0; vertical-align: middle; }
.enco-catalog__header .term-description { margin-top: 10px; color: #61584f; font-size: 13px; }
.enco-catalog__header .term-description p { margin: 0; }
.enco-catalog-mobilebar { display: none; }
.enco-catalog-results__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 44px;
  margin-bottom: 18px;
}
.enco-catalog-results__toolbar .woocommerce-result-count { margin: 0; color: #5d554e; font-size: 12px; }
.enco-catalog-results__toolbar .woocommerce-ordering { margin: 0 0 0 auto; }
.enco-catalog-results__toolbar select { min-width: 210px; min-height: 38px; padding: 7px 34px 7px 10px; border: 1px solid #c8b9a6; border-radius: 4px; background: #fffaf2; font-size: 11px; font-weight: 700; }

.enco-filter-panel { position: sticky; top: 0; max-height: 100vh; overflow: auto; scrollbar-width: thin; }
.enco-filter-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 13px; border-bottom: 1px solid rgba(255,255,255,.09); }
.enco-filter-panel__eyebrow { display: none; }
.enco-filter-panel__head h2 { margin: 0; color: #fff; font-family: var(--font-ui); font-size: 14px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.enco-filter-panel__head h2::before { content: "FILTRES"; }
.enco-filter-panel__head h2 { font-size: 0; }
.enco-filter-panel__head h2::before { font-size: 13px; }
.enco-filter-close { display: none; }
.enco-filter-form { padding: 0 20px 18px; }
.enco-filter-group { border-bottom: 1px solid rgba(255,255,255,.10); }
.enco-filter-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  cursor: pointer;
  list-style: none;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.enco-filter-group summary::-webkit-details-marker { display: none; }
.enco-filter-group summary span:last-child { color: #bfc7cc; font-size: 15px; transition: transform .2s ease; }
.enco-filter-group[open] summary span:last-child { transform: rotate(45deg); }
.enco-filter-options { display: grid; gap: 8px; max-height: 245px; padding: 0 0 14px; overflow: auto; scrollbar-width: thin; }
.enco-filter-options--compact { max-height: none; }
.enco-filter-option { position: relative; display: grid; grid-template-columns: 14px minmax(0,1fr) auto; align-items: center; gap: 8px; min-height: 22px; cursor: pointer; color: #e7e8e9; font-size: 10px; }
.enco-filter-option[hidden] { display: none; }
.enco-filter-option input { position: absolute; opacity: 0; pointer-events: none; }
.enco-filter-option__box { position: relative; display: block; width: 13px; height: 13px; border: 1px solid #9ca4aa; border-radius: 1px; background: transparent; }
.enco-filter-option input:checked + .enco-filter-option__box { border-color: var(--c-gold); background: var(--c-gold); }
.enco-filter-option:has(input:checked) { color: #fff; }
.enco-filter-option input:checked + .enco-filter-option__box::after { content: ""; position: absolute; left: 3px; top: 0; width: 4px; height: 8px; border: solid #111; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.enco-filter-option input:focus-visible + .enco-filter-option__box { outline: 2px solid var(--c-gold); outline-offset: 2px; }
.enco-filter-option__count { color: #8f999f; font-size: 9px; }
.enco-filter-help { margin: -2px 0 10px; color: #8f999f; font-size: 9px; line-height: 1.4; }
.enco-filter-search { display: block; margin: 0 0 10px; }
.enco-filter-search input,
.enco-filter-range input { width: 100%; min-height: 35px; padding: 7px 9px; border: 1px solid #465158; border-radius: 3px; color: #fff; background: #10181d; font-size: 10px; }
.enco-filter-search input::placeholder { color: #8d979d; }
.enco-filter-subtitle { margin: 0 0 8px; color: var(--c-gold); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.enco-filter-subtitle:not(:first-child) { margin-top: 11px; }
.enco-filter-range { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 0 14px; }
.enco-filter-range label { display: grid; gap: 5px; color: #9da5aa; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.enco-filter-actions { position: sticky; z-index: 4; bottom: 0; display: grid; gap: 9px; margin-inline: -20px; padding: 14px 20px 18px; border-top: 1px solid rgba(255,255,255,.10); background: linear-gradient(180deg, rgba(11,17,21,.94), #0b1115 28%); }
.enco-filter-actions__status { margin: 0; color: #9ca6ac; font-size: 9px; line-height: 1.4; text-align: center; }
.enco-filter-actions .button { width: 100%; min-height: 38px; border-radius: 3px; font-size: 10px; }
.enco-filter-actions .button.is-dirty { box-shadow: 0 0 0 2px rgba(211,156,62,.2); }
.enco-filter-actions .button:disabled { cursor: wait; opacity: .72; }
.enco-filter-reset { color: #d0d4d7; font-size: 10px; text-align: center; text-decoration: underline; text-underline-offset: 3px; }
.enco-active-filters { display: grid; gap: 8px; margin-bottom: 14px; }
.enco-active-filters__title { color: #6d635a; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.enco-active-filters__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.enco-filter-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 5px 8px 5px 10px; border: 1px solid #d5bd92; border-radius: 999px; color: #5c3a17; background: #fff8ec; font-size: 10px; font-weight: 700; }
.enco-filter-chip b { display: grid; width: 16px; height: 16px; place-items: center; border-radius: 50%; color: #fff; background: var(--c-gold-dark); }
.enco-filter-clear { color: #6d635a; font-size: 10px; font-weight: 700; text-decoration: underline; }
.enco-filter-overlay { position: fixed; z-index: 1190; inset: 0; background: rgba(4,7,9,.68); backdrop-filter: blur(3px); }

.enco-catalog-trust { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; padding: 24px 28px; border-top: 1px solid #dfd2c0; background: #fffaf2; }
.enco-catalog-trust > div { display: grid; grid-template-columns: 30px 1fr; align-items: start; column-gap: 10px; padding: 0 14px; border-right: 1px solid #e2d6c5; }
.enco-catalog-trust > div:last-child { border-right: 0; }
.enco-catalog-trust .icon { grid-row: 1 / 3; width: 24px; color: var(--c-gold-dark); }
.enco-catalog-trust strong { font-size: 9px; letter-spacing: .03em; text-transform: uppercase; }
.enco-catalog-trust span { color: #6a6158; font-size: 9px; line-height: 1.4; }
