
  body { padding-top:80px; }

  /* Hero compact catégorie */
  .cat-hero {
    position:relative; height:55vh; min-height:420px; overflow:hidden;
    background:var(--ink) center/cover no-repeat;
    background-image:url('https://images.unsplash.com/photo-1571115177098-24ec42ed204d?auto=format&fit=crop&w=2400&q=85');
  }
  .cat-hero::after {
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(43,37,34,0.35) 0%, rgba(43,37,34,0.25) 50%, rgba(43,37,34,0.55) 100%);
  }
  .cat-hero-content {
    position:relative; z-index:2; height:100%;
    max-width:var(--container); margin:0 auto; padding:0 1.5rem;
    display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
    color:var(--ivory);
  }
  .cat-hero-content .eyebrow { color:var(--gold-light); margin:0 0 .75rem; }
  .cat-hero-content h1 {
    font-family:var(--serif); font-weight:300; font-size:clamp(2.5rem, 5vw, 4rem);
    line-height:1.05; letter-spacing:-.01em; margin:0 0 1rem; color:var(--ivory);
  }
  .cat-hero-content p { max-width:48ch; font-size:1.3rem; font-family:var(--serif); font-weight:300; opacity:.92; margin:0; }

  /* Breadcrumb */
  .breadcrumb {
    padding:1.5rem 0; font-family:var(--sans); font-size:.75rem;
    letter-spacing:.08em; color:var(--ink-muted);
  }
  .breadcrumb a { color:var(--ink-soft); text-decoration:none; transition:color 250ms; }
  .breadcrumb a:hover { color:var(--gold-deep); }
  .breadcrumb span { margin:0 .5rem; color:var(--ink-muted); }

  /* Layout listing */
  .listing { display:grid; grid-template-columns:260px 1fr; gap:3.5rem; align-items:start; }

  /* Filters sticky */
  .filters { position:sticky; top:100px; }
  .filters h3 {
    font-family:var(--serif); font-weight:500; font-size:1.2rem;
    letter-spacing:0; text-transform:none; color:var(--ink);
    margin:0 0 1.25rem; padding-bottom:.75rem; border-bottom:1px solid var(--line);
    display:flex; justify-content:space-between; align-items:baseline;
  }
  .filters h3 small {
    font-family:var(--serif); font-style:italic; font-weight:400; font-size:1.2rem;
    letter-spacing:0; text-transform:none; color:var(--gold-deep); cursor:pointer;
  }
  .filter-group { margin-bottom:2rem; }
  .filter-group h4 {
    font-family:var(--serif); font-weight:400; font-style:italic; font-size:1.0625rem;
    color:var(--ink); margin:0 0 .75rem;
  }
  .filter-group ul { list-style:none; padding:0; margin:0; }
  .filter-group li { margin-bottom:.55rem; }
  .filter-group label {
    display:flex; align-items:center; gap:.6rem; cursor:pointer;
    font-family:var(--sans); font-size:.875rem; color:var(--ink-soft);
    transition: color 250ms;
  }
  .filter-group label:hover { color:var(--ink); }
  .filter-group input[type="checkbox"] { display:none; }
  .filter-group label .box {
    width:16px; height:16px; border:1px solid var(--border-strong); background:var(--white);
    display:inline-flex; align-items:center; justify-content:center;
    transition: background 250ms, border-color 250ms; flex-shrink:0;
  }
  .filter-group label .box::after {
    content:""; width:8px; height:8px; background:var(--gold);
    opacity:0; transition:opacity 200ms;
  }
  .filter-group input:checked + label .box { border-color:var(--gold); }
  .filter-group input:checked + label .box::after { opacity:1; }
  .filter-group label .count { margin-left:auto; font-size:.75rem; color:var(--ink-muted); }
  .filter-group .chips { display:flex; flex-wrap:wrap; gap:.4rem; }
  .filter-group .chips label {
    padding:.4rem .85rem; border:1px solid var(--border-strong); background:var(--white);
    font-size:.75rem; letter-spacing:.04em;
    transition: all 250ms;
  }
  .filter-group .chips label .box, .filter-group .chips label .count { display:none; }
  .filter-group .chips input:checked + label { background:var(--ink); color:var(--ivory); border-color:var(--ink); }

  /* Range slider */
  .range-wrap { padding:.5rem 0; }
  .range-vals {
    display:flex; justify-content:space-between; font-family:var(--serif);
    font-weight:500; font-size:.95rem; color:var(--gold-deep); margin-bottom:.5rem;
  }
  .range-slider {
    position:relative; height:2px; background:var(--border-strong);
  }
  .range-slider .track { position:absolute; top:0; bottom:0; background:var(--gold); }
  .range-slider .dot {
    position:absolute; top:50%; transform:translate(-50%,-50%);
    width:14px; height:14px; border-radius:50%; background:var(--ivory);
    border:2px solid var(--gold-deep); cursor:pointer;
  }

  /* Listing head : count + sort + view */
  .listing-head {
    display:flex; justify-content:space-between; align-items:center;
    padding-bottom:1.25rem; margin-bottom:2rem; border-bottom:1px solid var(--line);
    flex-wrap:wrap; gap:1rem;
  }
  .listing-head .count { font-family:var(--serif); font-style:italic; font-size:1.2rem; color:var(--ink-soft); }
  .listing-head .sort {
    display:flex; align-items:center; gap:.75rem;
    font-family:var(--sans); font-size:.75rem; color:var(--ink-soft);
  }
  .listing-head .sort select {
    background:transparent; border:none; border-bottom:1px solid var(--ink);
    font-family:var(--sans); font-size:.8125rem; padding:.4rem .25rem;
    cursor:pointer; color:var(--ink); letter-spacing:.04em;
  }
  .listing-head .sort select:focus { outline:none; border-bottom-color:var(--gold); }

  /* Cards grid 3 col */
  .listing .grid-products { grid-template-columns:repeat(3, 1fr); }
  @media (max-width:1100px) {
    .listing .grid-products { grid-template-columns:repeat(2, 1fr); }
  }
  @media (max-width:768px) {
    .listing { grid-template-columns:1fr; gap:2rem; }
    .filters { position:static; }
    .listing .grid-products { grid-template-columns:repeat(2, 1fr); }
  }
  @media (max-width:540px) {
    .listing .grid-products { grid-template-columns:1fr; }
  }

  /* Pagination */
  .pagination {
    display:flex; justify-content:center; align-items:center; gap:.5rem;
    margin-top:4rem;
  }
  .pagination a, .pagination span {
    width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center;
    font-family:var(--sans); font-size:.875rem; color:var(--ink); text-decoration:none;
    border:1px solid transparent; transition: all 250ms var(--ease-elegant);
  }
  .pagination a:hover { border-color:var(--gold); color:var(--gold-deep); }
  .pagination .is-active { background:var(--ink); color:var(--ivory); border-color:var(--ink); }
  .pagination .dots { border:none; }
  .pagination .arrow {
    border:1px solid var(--border-strong); padding:0 .75rem; width:auto;
    font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  }
  .pagination .arrow:hover { background:var(--ink); color:var(--ivory); border-color:var(--ink); }

  /* ============================================================
     FILTRES RÉELS — ps_facetedsearch (override style PS9)
     ============================================================ */
  .nc-facets #search_filters {
    padding: 0;
    font-family: var(--sans);
  }
  /* Titre "Filter By" / clear button */
  .nc-facets #search_filters > .h6,
  .nc-facets #search_filters > p.text-uppercase {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.5rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    color: var(--ink);
    margin: 0 0 1.5rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--line);
  }
  .nc-facets .clear-all-wrapper {
    margin: 0 0 1.5rem;
  }
  .nc-facets .clear-all-wrapper .js-search-filters-clear-all,
  .nc-facets .clear-all-wrapper button {
    background: transparent;
    border: none;
    padding: 0;
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold-deep);
    cursor: pointer;
    transition: color .2s var(--ease-out);
  }
  .nc-facets .clear-all-wrapper button:hover { color: var(--ink); }
  .nc-facets .clear-all-wrapper .material-icons { display: none !important; }

  /* Chaque facet (groupe) */
  .nc-facets .facet {
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--line);
  }
  .nc-facets .facet:last-child { border-bottom: none; }
  .nc-facets .facet .facet-title,
  .nc-facets .facet p.h6 {
    font-family: var(--sans);
    font-size: .7rem;
    font-weight: 500;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--ink-muted);
    margin: 0 0 .85rem;
  }
  /* Cacher le toggle mobile désuet */
  .nc-facets .facet .title.hidden-md-up,
  .nc-facets .navbar-toggler,
  .nc-facets .collapse-icons {
    display: none !important;
  }
  .nc-facets .facet ul,
  .nc-facets .facet .collapse {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block !important;
  }
  .nc-facets .facet li {
    padding: 0;
    margin: 0;
  }
  .nc-facets .facet-label {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .35rem 0;
    cursor: pointer;
    font-family: var(--sans);
    font-size: .9rem;
    color: var(--ink);
    transition: color .2s var(--ease-out);
  }
  .nc-facets .facet-label:hover { color: var(--gold-deep); }
  .nc-facets .facet-label.active { color: var(--gold-deep); font-weight: 500; }

  /* Checkbox custom */
  .nc-facets .custom-checkbox {
    position: relative;
    display: inline-flex;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
  }
  .nc-facets .custom-checkbox input[type="checkbox"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
  }
  .nc-facets .custom-checkbox > span:not(.color):not(.texture) {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 1px solid var(--border-strong);
    background: var(--white);
    position: relative;
    transition: background .2s var(--ease-out), border-color .2s var(--ease-out);
  }
  .nc-facets .custom-checkbox input[type="checkbox"]:checked + span:not(.color) {
    background: var(--gold);
    border-color: var(--gold);
  }
  .nc-facets .custom-checkbox .checkbox-checked,
  .nc-facets .custom-checkbox .material-icons {
    position: absolute;
    inset: 0;
    color: var(--ivory);
    font-size: 14px;
    line-height: 16px;
    text-align: center;
    opacity: 0;
    transition: opacity .15s var(--ease-out);
  }
  .nc-facets .custom-checkbox input[type="checkbox"]:checked ~ .checkbox-checked,
  .nc-facets .custom-checkbox input[type="checkbox"]:checked + span .checkbox-checked,
  .nc-facets .custom-checkbox input[type="checkbox"]:checked + span .material-icons {
    opacity: 1;
  }
  /* Couleur swatches (si features) */
  .nc-facets .custom-checkbox .color,
  .nc-facets .custom-checkbox .texture {
    width: 16px;
    height: 16px;
    display: inline-block;
    border-radius: 50%;
    border: 1px solid var(--border-strong);
  }

  /* Custom radio (single-choice) */
  .nc-facets .custom-radio {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid var(--border-strong);
    background: var(--white);
    display: inline-block;
    position: relative;
    flex-shrink: 0;
  }
  .nc-facets .custom-radio input[type="radio"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
  }
  .nc-facets .custom-radio input[type="radio"]:checked + span,
  .nc-facets .custom-radio.active::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold-deep);
  }

  /* Magnitude (count) à droite */
  .nc-facets .facet-label .magnitude {
    margin-left: auto;
    font-family: var(--sans);
    font-size: .75rem;
    color: var(--ink-muted);
    font-weight: 400;
  }

  /* Range price slider PS9 (jQuery UI) */
  .nc-facets .ui-slider-horizontal {
    height: 2px !important;
    background: var(--border-strong) !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 1.25rem 0 .75rem;
  }
  .nc-facets .ui-slider-horizontal .ui-slider-range {
    background: var(--gold) !important;
  }
  .nc-facets .ui-slider-horizontal .ui-slider-handle {
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    background: var(--ivory) !important;
    border: 2px solid var(--gold-deep) !important;
    top: -7px !important;
    margin-left: -7px !important;
  }
  .nc-facets .ui-slider-handle:focus { outline: none; }
  .nc-facets .facet-label-text,
  .nc-facets .facet-label > .facet-label--name {
    flex: 1;
  }

  /* "Voir plus" / "Show more" links */
  .nc-facets .show-more,
  .nc-facets a.text-muted {
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--gold-deep);
    text-decoration: none;
    margin-top: .5rem;
    display: inline-block;
  }
  .nc-facets .show-more:hover { color: var(--ink); }

  /* Active filters chips au-dessus de la grille */
  .nc-active-filters {
    margin-bottom: 1.5rem;
    padding: .5rem 0;
  }
  .nc-active-filters .active-filter-title,
  .nc-active-filters .h6,
  .nc-active-filters p {
    display: none;
  }
  .nc-active-filters ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
  }
  .nc-active-filters .filter-block,
  .nc-active-filters li {
    background: var(--blush-light);
    border: 1px solid var(--blush);
    padding: .4rem .75rem;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--sans);
    font-size: .75rem;
    color: var(--ink);
  }
  .nc-active-filters .close,
  .nc-active-filters [class*="js-search-link"] .material-icons {
    cursor: pointer;
    color: var(--gold-deep);
    text-decoration: none;
    font-family: sans-serif;
    font-size: 1rem;
    line-height: 1;
  }

  /* Empty state */
  .nc-facets-empty {
    font-family: var(--serif);
    font-style: italic;
    color: var(--ink-soft);
    margin: 0;
  }

  /* ============================================================
     SIDEBAR PIXEL-PERFECT (wireframe) — JS-driven
     ============================================================ */
  .nc-facets {
    font-family: var(--sans);
    padding: 0;
    color: var(--ink);
  }
  .nc-facets-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: .25rem;
    margin-bottom: 1rem;
    border-bottom: none;
  }
  .nc-facets-head h3 {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
    font-size: 1.625rem;
    color: var(--ink);
    margin: 0;
    letter-spacing: -.005em;
  }
  .nc-facets .nc-facets-clear {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.625rem !important;
    color: var(--gold-deep);
    text-decoration: none;
    transition: color .2s var(--ease-out);
  }
  .nc-facets .nc-facets-clear:hover { color: var(--ink); }

  /* Filter group */
  .nc-facets .filter-group {
    padding: 0;
    margin-bottom: 1rem;
    border-bottom: none;
  }
  .nc-facets .filter-group:last-child { margin-bottom: 0; }
  .nc-facets .filter-group h4 {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
    font-size: 1.625rem;
    color: var(--ink);
    margin: 0 0 .65rem;
    letter-spacing: -.005em;
  }
  .nc-facets .filter-group ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .nc-facets .filter-group li {
    margin: 0;
    padding: 0;
  }

  /* Checkbox + label list */
  .nc-facets .filter-group input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }
  .nc-facets .filter-group label {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .3rem 0;
    cursor: pointer;
    font-family: var(--sans);
    font-size: .825rem;
    color: var(--ink);
    transition: color .2s var(--ease-out);
  }
  .nc-facets .filter-group label:hover { color: var(--gold-deep); }
  .nc-facets .filter-group .box {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 1px solid var(--border-strong);
    background: var(--white);
    flex-shrink: 0;
    transition: background .2s var(--ease-out), border-color .2s var(--ease-out);
    position: relative;
  }
  .nc-facets .filter-group input[type="checkbox"]:checked + label .box,
  .nc-facets .filter-group label.is-checked .box {
    background: var(--gold);
    border-color: var(--gold);
  }
  .nc-facets .filter-group input[type="checkbox"]:checked + label .box::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 5px;
    width: 4px;
    height: 8px;
    border: solid var(--ivory);
    border-width: 0 1.5px 1.5px 0;
    transform: rotate(45deg);
  }
  .nc-facets .filter-group .count {
    margin-left: auto;
    font-size: .8rem;
    color: var(--ink-muted);
    font-weight: 400;
  }
  .nc-facets .filter-group input[type="checkbox"]:checked + label {
    color: var(--ink);
    font-weight: 500;
  }

  /* Prix slider dual range */
  .nc-facets .filter-price {
    padding: .5rem 0;
  }
  .nc-facets .nc-price-vals {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--sans);
    font-size: .8rem;
    color: var(--ink-soft);
    margin-bottom: .85rem;
    gap: .5rem;
  }
  .nc-facets .nc-price-input-wrap {
    display: inline-flex;
    align-items: center;
    background: var(--white);
    border: 1px solid var(--border-strong);
    padding: .25rem .45rem;
    min-width: 0;
    flex: 0 1 auto;
    transition: border-color .2s var(--ease-out);
  }
  .nc-facets .nc-price-input-wrap:focus-within {
    border-color: var(--gold-deep);
  }
  .nc-facets .nc-price-sym {
    font-family: var(--sans);
    font-size: .8rem;
    color: var(--ink-soft);
    margin-right: .15rem;
  }
  .nc-facets .nc-price-number {
    width: 4ch;
    border: none;
    outline: none;
    background: transparent;
    font-family: var(--sans);
    font-size: .85rem;
    color: var(--ink);
    padding: 0;
    -moz-appearance: textfield;
  }
  .nc-facets .nc-price-number::-webkit-outer-spin-button,
  .nc-facets .nc-price-number::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  .nc-facets .nc-price-number--max {
    text-align: right;
  }
  .nc-facets .nc-price-slider {
    position: relative;
    height: 28px;
    margin: 0 7px;
  }
  .nc-facets .nc-price-track {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    height: 1px;
    background: var(--border-strong);
  }
  .nc-facets .nc-price-range {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 2px;
    background: var(--gold);
  }
  .nc-facets .nc-price-input {
    position: absolute;
    inset: 0;
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    pointer-events: none;
    margin: 0;
  }
  .nc-facets .nc-price-input--min { z-index: 3; }
  .nc-facets .nc-price-input--max { z-index: 2; }
  .nc-facets .nc-price-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--ivory);
    border: 2px solid var(--gold-deep);
    cursor: pointer;
    pointer-events: auto;
    margin-top: 0;
    box-shadow: none;
  }
  .nc-facets .nc-price-input::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--ivory);
    border: 2px solid var(--gold-deep);
    cursor: pointer;
    pointer-events: auto;
  }
  .nc-facets .nc-price-input::-webkit-slider-runnable-track,
  .nc-facets .nc-price-input::-moz-range-track {
    background: transparent;
    border: none;
  }

  /* Chips (Saveurs) */
  .nc-facets .chips {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
  }
  .nc-facets .chips input[type="checkbox"] { display: none; }
  .nc-facets .chips label {
    display: inline-block;
    padding: .5rem .9rem;
    border: 1px solid var(--border-strong);
    background: var(--white);
    font-family: var(--sans);
    font-size: .8rem;
    color: var(--ink);
    cursor: pointer;
    transition: all .2s var(--ease-out);
  }
  .nc-facets .chips label .box { display: none; }
  .nc-facets .chips input[type="checkbox"]:checked + label {
    background: var(--ink);
    color: var(--ivory);
    border-color: var(--ink);
  }
  .nc-facets .chips label:hover {
    border-color: var(--gold);
  }

  /* ============================================================
     CARDS PRODUIT PIXEL-PERFECT (alignées wireframe)
     ============================================================ */
  .nc-product-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  .nc-product-card .card-media {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--sand);
  }
  .nc-product-card .card-media .img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform .6s var(--ease-elegant);
  }
  .nc-product-card:hover .card-media .img {
    transform: scale(1.04);
  }
  .nc-product-card .nc-card-title {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
    font-size: 1.3rem;
    color: var(--ink);
    margin: 1.25rem 0 .35rem;
    letter-spacing: -.005em;
    line-height: 1.25;
  }
  .nc-product-card .nc-card-eyebrow {
    font-family: var(--sans);
    font-size: .7rem;
    font-weight: 500;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--ink-muted);
    margin: 0 0 .85rem;
  }
  .nc-product-card .nc-card-price {
    font-family: var(--sans);
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin: 0 0 1rem;
    display: flex;
    align-items: baseline;
    gap: .55rem;
    flex-wrap: nowrap;
  }
  .nc-product-card .nc-card-price .from {
    color: var(--ink-soft);
    white-space: nowrap;
  }
  .nc-product-card .nc-card-price strong {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--gold-deep);
    letter-spacing: -.005em;
    text-transform: none;
    white-space: nowrap;
  }
  .nc-product-card .nc-card-cta {
    display: block !important;
    width: 100%;
    padding: .95rem 1rem !important;
    background: var(--gold) !important;
    color: var(--ivory) !important;
    font-family: var(--sans) !important;
    font-size: .75rem !important;
    font-weight: 500 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    border: 1px solid var(--gold) !important;
    border-radius: 0 !important;
    transition: background .25s var(--ease-out), border-color .25s var(--ease-out);
    box-shadow: none !important;
  }
  .nc-product-card:hover .nc-card-cta {
    background: var(--gold-deep) !important;
    border-color: var(--gold-deep) !important;
  }
  .nc-product-card .actions {
    margin: 0;
  }
  /* Override potential ghost styles inherited */
  .nc-product-card .actions .btn,
  .nc-product-card .actions .nc-card-cta {
    background: var(--gold) !important;
    color: var(--ivory) !important;
    border: 1px solid var(--gold) !important;
  }
  .nc-product-card:hover .actions .nc-card-cta {
    background: var(--gold-deep) !important;
    border-color: var(--gold-deep) !important;
  }

  /* Empty state filtres */
  .nc-no-results {
    text-align: center;
    padding: 3rem 1rem;
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.1rem;
    color: var(--ink-soft);
    grid-column: 1 / -1;
  }

  /* Listing full-width quand pas de filtres */
  .listing > div.is-full-width {
    grid-column: 1 / -1;
  }
  @supports (grid-template-columns: 1fr) {
    .listing:has(> div.is-full-width:only-child) {
      grid-template-columns: 1fr;
    }
  }
