/* ---------- STRUCTURE & SYSTÈME VISUEL ---------- */
html.filters-screen-open,
html.filters-screen-open body,
html.compare-modal-open,
html.compare-modal-open body{
  overflow:hidden;
}

.filtrage-section {
  --parfum-ink: #1c232f;
  --parfum-muted: #5b6475;
  --parfum-warm: #c97232;
  --parfum-warm-soft: rgba(201, 114, 50, 0.16);
  --parfum-botanical: #2f8a6d;
  --parfum-botanical-soft: rgba(47, 138, 109, 0.16);
  --parfum-surface: rgba(255, 255, 255, 0.95);
  --parfum-border: rgba(94, 78, 60, 0.2);
  background:
    radial-gradient(1100px 520px at 12% -15%, rgba(201, 114, 50, 0.18), transparent 60%),
    radial-gradient(820px 520px at 88% 0%, rgba(47, 138, 109, 0.18), transparent 55%),
    linear-gradient(180deg, #f7f1e8 0%, #eef2f8 50%, #f8f9fb 100%);
  padding: clamp(2rem, 6vw, 4.5rem) 0;
  position: relative;
  isolation: isolate;
}

.filtrage-section::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: radial-gradient(circle at 1px 1px, rgba(28, 35, 47, 0.06) 1px, transparent 0);
  background-size: 28px 28px;
  opacity:0.35;
  pointer-events:none;
  z-index:-1;
}

.filtrage-section.compare-dock-visible{
  padding-bottom: calc(clamp(2rem, 6vw, 4.5rem) + 6.5rem);
}

.site-main {
  padding-top: clamp(1.25rem, 2vw, 2.25rem);
}

.filtrage-layout{
  max-width: 1220px;
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 3.25rem);
  color:var(--parfum-ink);
  display:grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.4rem, 3vw, 2.6rem);
  position:relative;
  overflow:visible;
}

.scent-search-container{
  display:flex;
  flex-direction:column;
  gap: clamp(1.3rem, 2.8vw, 2.4rem);
  min-width:0;
}

@media (min-width: 1024px){
  .filtrage-layout{
    grid-template-columns: minmax(0, 1fr) clamp(224px, 240px, 272px);
    gap: 24px;
  }

  .filtrage-layout > .page-header,
  .filtrage-layout > .parfum-toolbar-row{
    grid-column: 1 / -1;
  }
}
.page-header {
  text-align: left;
  display: grid;
  gap: 0.4rem;
  padding-left: 1rem;
  border-left: 3px solid color-mix(in srgb, var(--parfum-warm) 70%, transparent);
}

.page-kicker {
  text-transform: uppercase;
  letter-spacing: 0.35em;
  font-size: 0.7rem;
  font-weight: 650;
  color: color-mix(in srgb, var(--parfum-warm) 86%, #2e2b2b);
  margin: 0;
  font-family: var(--font-display);
}

.page-title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 650;
  font-size: clamp(1.55rem, 2.6vw, 2.25rem);
  color: var(--parfum-ink);
}

.page-subtitle {
  margin: 0;
  color: var(--parfum-muted);
  font-size: clamp(1.02rem, 2vw, 1.15rem);
  max-width: 58ch;
}

.parfum-toolbar-row{
  width:100%;
}

.parfum-search-card{
  padding: 1.1rem;
  border-radius: 22px;
  border: 1px solid color-mix(in srgb, var(--parfum-warm) 35%, transparent);
  background: linear-gradient(120deg, rgba(255,255,255,0.98), rgba(255,244,236,0.92));
  box-shadow: 0 20px 40px rgba(17, 24, 39, 0.1);
  position: relative;
  overflow: hidden;
}

.parfum-search-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(220px 160px at 85% -20%, rgba(47, 138, 109, 0.25), transparent 65%),
    radial-gradient(200px 160px at 5% 100%, rgba(201, 114, 50, 0.2), transparent 70%);
  opacity:0.7;
  pointer-events:none;
}

.parfum-search-card.card:hover,
.parfum-search-card.card:focus-visible,
.parfum-search-card.card:focus-within{
  transform:none;
}

.parfum-search-card__row{
  display:flex;
  align-items:center;
  gap: 0.9rem;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}

.parfum-search-card__query{
  margin:0;
  flex: 1 1 320px;
  align-self: flex-start;
}

.parfum-search-card__query.form-field{
  margin-bottom: 0;
  gap: 0.25rem;
}

.parfum-search-card__query > .form-input{
  width:100%;
  min-height: 2.1rem;
  padding: 0.35rem 0.6rem;
  font-size: 0.9rem;
  line-height: 1.2;
  border-color: rgba(94, 78, 60, 0.25);
  background: rgba(255,255,255,0.92);
}

.parfum-search-card__query > .form-input:focus,
.parfum-search-card__query > .form-input:focus-visible{
  border-color: rgba(201, 114, 50, 0.6);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--parfum-warm) 55%, transparent);
}

.parfum-search-card__action-group{
  display:flex;
  align-items:center;
  gap: 0;
  border: 1px solid rgba(94, 78, 60, 0.22);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(17, 24, 39, 0.08);
  overflow:hidden;
  flex: 0 0 auto;
  position:relative;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.parfum-search-card__action-group:focus-within{
  border-color: rgba(201, 114, 50, 0.45);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--parfum-warm) 40%, transparent),
    0 12px 24px rgba(17, 24, 39, 0.12);
}

.parfum-search-card__sort-prefix{
  padding: 0 0.8rem;
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--parfum-muted);
  white-space:nowrap;
  background: transparent;
  border-right: none;
  letter-spacing: 0.01em;
  border-radius: 16px 0 0 16px;
}

.parfum-search-card__sort-select.form-select{
  border: none;
  background: transparent;
  min-height: 3.05rem;
  padding: 0 2rem 0 0.8rem;
  border-left: none;
  border-radius: 0;
  min-width: 180px;
  font-weight: 600;
  color: var(--parfum-ink);
  cursor:pointer;
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--parfum-ink) 50%),
    linear-gradient(135deg, var(--parfum-ink) 50%, transparent 50%);
  background-position:
    calc(100% - 1.15rem) 50%,
    calc(100% - 0.9rem) 50%;
  background-size:
    6px 6px,
    6px 6px;
  background-repeat:no-repeat;
  transition: background-color .2s ease, box-shadow .2s ease;
  position:relative;
}

.parfum-search-card__sort-select.form-select:hover{
  background-color: rgba(201, 114, 50, 0.06);
}

.parfum-search-card__sort-select.form-select:focus,
.parfum-search-card__sort-select.form-select:focus-visible{
  outline:none;
  box-shadow:none;
}

.parfum-search-card__share.button{
  min-height: 3.05rem;
  width: 3.05rem;
  padding: 0;
  border-radius: 0 16px 16px 0;
  border: none;
  border-left: 1px solid rgba(94, 78, 60, 0.2);
  background: transparent;
  color: var(--parfum-ink);
  box-shadow: none;
}

.parfum-search-card__share.button:hover,
.parfum-search-card__share.button:focus-visible{
  background: rgba(201, 114, 50, 0.12);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--parfum-warm) 60%, transparent);
  transform:none;
}

.parfum-search-card__filters.button{
  display:none;
  min-height: 3.05rem;
  padding: 0 1rem;
  border-radius: 14px;
  white-space:nowrap;
  background: var(--parfum-ink);
  color: #fff;
  border: none;
  box-shadow: 0 12px 24px rgba(17, 24, 39, 0.2);
}

.parfum-search-card__filters.button:hover,
.parfum-search-card__filters.button:focus-visible{
  background: color-mix(in srgb, var(--parfum-ink) 88%, #000);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--parfum-ink) 35%, transparent),
    0 12px 24px rgba(17, 24, 39, 0.24);
}

@media (max-width: 1023px){
  .parfum-search-card__filters.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  #filter-parfum{
    height: 1.6rem;
    min-height: 1.6rem;
    padding: 0.15rem 0.45rem;
    font-size: 0.82rem;
    line-height: 1.2;
  }
}

@media (max-width: 720px){
  .filtrage-layout{
    padding: clamp(1.25rem, 6vw, 1.6rem);
    padding-right: clamp(1.25rem, 6vw, 1.6rem);
  }

  .page-header{
    padding-left: 0;
    border-left: none;
  }

  .parfum-search-card__row{
    flex-direction: column;
    align-items: stretch;
  }

  .parfum-search-card__query{
    flex: 0 0 auto;
  }

  .parfum-search-card__query.form-field{
    gap: 0.15rem;
  }

  .parfum-search-card__query .form-input{
    height: 1.6rem;
    min-height: 1.6rem;
    padding: 0.15rem 0.45rem;
    font-size: 0.82rem;
    line-height: 1.2;
  }

  .parfum-search-card__action-group{
    width: 100%;
  }

  .parfum-search-card__sort-select.form-select{
    min-width: 0;
    flex: 1 1 auto;
  }

  .parfum-search-card__filters.button{
    width: 100%;
  }

  .results-panel__header{
    flex-direction: column;
    align-items: flex-start;
  }

  .scent-filter-card,
  .results-panel{
    padding: 1rem;
  }

  .scent-filter-card__lead{
    font-size:0.88rem;
  }

  .scent-filter-card__search-input{
    padding: 0.3rem 0.75rem;
  }

  .scent-card{
    min-height: 2.35rem;
    padding: 0.35rem 0.6rem;
  }

}

.parfum-toolbar__share-status{
  margin:0.5rem 0 0;
}

.results-panel__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 1rem;
  flex-wrap:wrap;
}

.results-panel__title{
  display:inline-flex;
  align-items:baseline;
  gap: 0.55rem;
  margin:0;
  font-family: var(--font-display);
  color: var(--parfum-ink);
}

.results-panel__dot{
  color: color-mix(in srgb, var(--parfum-botanical) 60%, #9aa4b2);
}

.results-panel__reset.button{
  min-height: 2.75rem;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(47, 138, 109, 0.28);
  color: var(--parfum-ink);
}

.results-panel__reset.button:hover,
.results-panel__reset.button:focus-visible{
  background: rgba(47, 138, 109, 0.12);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--parfum-botanical) 45%, transparent);
}

.results-panel__filters{
  margin-top: 0.75rem;
}

.scent-filter-card__reset{
  background: transparent;
  border: none;
  padding: 0.25rem 0.35rem;
  font-weight: 700;
  color: #6b7791;
  cursor:pointer;
  border-radius: 10px;
}

.scent-filter-card__reset:hover,
.scent-filter-card__reset:focus-visible{
  background: rgba(41,96,172,0.08);
  color: #2960ac;
}

.scent-filter-card__reset:focus-visible{
  outline: 2px solid transparent;
  box-shadow: 0 0 0 3px var(--focus-ring-color);
}

.results-count{
  font-weight: 750;
  color: var(--parfum-ink);
}

.results-count[data-mode="number"]{
  font-variant-numeric: tabular-nums;
}

.parfum-toolbar-compact{
  display:grid;
  gap:0.75rem;
  padding: 0.85rem;
}

.parfum-toolbar-compact.card:hover,
.parfum-toolbar-compact.card:focus-visible,
.parfum-toolbar-compact.card:focus-within{
  transform:none;
}

.parfum-toolbar-compact__controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:0.75rem;
  align-items:center;
}

.parfum-toolbar-compact__query{
  margin:0;
}

.parfum-toolbar-compact__query .form-input{
  width:100%;
  min-height: 3.1rem;
}

.parfum-toolbar-compact__right{
  display:flex;
  gap:0.6rem;
  align-items:center;
}

.parfum-toolbar-compact__sort{
  margin:0;
}

.parfum-toolbar-compact__sort .form-select{
  width:100%;
  min-width: 150px;
  min-height: 3.1rem;
}

.results-count {
  font-weight: 700;
  color: var(--parfum-ink);
  font-size: 1rem;
}

.parfum-toolbar-compact__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0.75rem;
  flex-wrap:wrap;
}

.parfum-toolbar-compact__reset.button,
.parfum-toolbar-compact__share.button{
  min-height: 3.1rem;
  background: rgba(255,255,255,0.94);
  color: var(--parfum-ink);
  border: 1px solid rgba(94, 78, 60, 0.25);
  box-shadow: 0 12px 26px rgba(17, 24, 39, 0.08);
}

.parfum-toolbar-compact__reset.button:hover,
.parfum-toolbar-compact__reset.button:focus-visible,
.parfum-toolbar-compact__share.button:hover,
.parfum-toolbar-compact__share.button:focus-visible{
  background: rgba(201, 114, 50, 0.12);
  color: var(--parfum-ink);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--parfum-warm) 50%, transparent),
    0 12px 26px rgba(17, 24, 39, 0.14);
}

.parfum-toolbar-compact__share.button{
  width: 3.1rem;
  padding: 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

@media (max-width: 900px){
  .parfum-search-card__action-group{
    width:100%;
    justify-content:flex-end;
  }

  .parfum-search-card__sort-select.form-select{
    min-width: 0;
    flex: 1 1 auto;
  }

  .parfum-toolbar-compact__controls{
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .parfum-toolbar-compact__right{
    justify-content:flex-end;
  }

  .parfum-toolbar-compact__sort{
    flex:1 1 auto;
  }

  .parfum-toolbar-compact__sort .form-select{
    min-width: 0;
  }
}

@media (max-width: 520px){
  .parfum-toolbar-compact__right{
    width:100%;
  }
}

.section-heading{
  font-weight:600;
  color:var(--parfum-ink);
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  margin:0 0 0.5rem;
}

.filter-insights{
  margin:0;
  padding:12px 16px;
  border-radius:999px;
  background:rgba(41,96,172,0.08);
  color:#1b2a4b;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.filter-insights__pill{
  background:#fff;
  border-radius:999px;
  padding:6px 14px;
  box-shadow:0 2px 6px rgba(0,0,0,0.08);
}

.filter-insights__divider{
  color:#6b7791;
}

.filters-meta {
  display: grid;
  gap: 0.65rem;
}

.filters-summary {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 700;
  color: #1d4ed8;
  font-size: 0.95rem;
  padding: 0.4rem 0.9rem;
  border-radius: 14px;
  background: rgba(191, 219, 254, 0.6);
  border: 1px solid rgba(96, 165, 250, 0.6);
}

.parfum-toolbar__share-status{
  margin:0;
}

.parfum-toolbar__share-status[data-tone="success"]{
  color:#166534;
}

.parfum-toolbar__share-status[data-tone="error"]{
  color:#b91c1c;
}

.quick-filters{
  margin-top:0;
  display:grid;
  gap:0.75rem;
  grid-template-columns: 1fr;
}

@media(min-width:720px){
  .quick-filters{grid-template-columns:1fr;}
}

.quick-filter-card{
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(252,246,241,0.96));
  border:1px solid color-mix(in srgb, var(--parfum-warm) 28%, transparent);
  border-radius:14px;
  padding:0.75rem;
  box-shadow:0 12px 26px rgba(17, 24, 39, 0.08);
  width:100%;
  max-width:100%;
  margin:0;
}

.quick-filter-card__header{
  display:grid;
  gap:0.35rem;
  margin-bottom:0.55rem;
}
.quick-filter-card__hint{margin:0;font-size:0.9rem;color:var(--parfum-muted);}

.filter-chip-group{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.filter-chip{
  border:1px solid rgba(94, 78, 60, 0.22);
  border-radius:999px;
  padding:0.35rem 0.55rem;
  background:#fff;
  color:var(--parfum-ink);
  font-size:0.78rem;
  font-weight:600;
  line-height:1.2;
  cursor:pointer;
  transition:background .2s,border-color .2s,transform .2s,color .2s, box-shadow .2s ease;
  max-width:100%;
  box-sizing:border-box;
}

.filter-chip-group[data-chip-group="filter-gender"],
.filter-chip-group[data-chip-group="filter-season"]{
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  width:100%;
}
.filter-chip-group[data-chip-group="filter-gender"] .filter-chip,
.filter-chip-group[data-chip-group="filter-season"] .filter-chip{
  width:100%;
  max-width:100%;
  align-self:stretch;
  justify-content:flex-start;
  text-align:left;
  border-radius:12px;
  box-sizing:border-box;
  margin:0;
  padding:0.45rem 0.6rem 0.45rem 2.1rem;
  position:relative;
}

.filter-chip-group[data-chip-group="filter-season"] .filter-chip::before{
  content:"";
  position:absolute;
  left:0.6rem;
  top:50%;
  width:0.65rem;
  height:0.65rem;
  border-radius:50%;
  transform:translateY(-50%);
  box-shadow:0 0 0 3px rgba(255,255,255,0.85);
}

.filter-chip-group[data-chip-group="filter-season"] .filter-chip[data-value="printemps"]{
  background:linear-gradient(135deg, rgba(103, 197, 135, 0.18), rgba(255,255,255,0.9));
  border-color: rgba(103, 197, 135, 0.4);
}
.filter-chip-group[data-chip-group="filter-season"] .filter-chip[data-value="printemps"]::before{
  background: #67c587;
}

.filter-chip-group[data-chip-group="filter-season"] .filter-chip[data-value="ete"]{
  background:linear-gradient(135deg, rgba(244, 176, 70, 0.2), rgba(255,255,255,0.9));
  border-color: rgba(244, 176, 70, 0.45);
}
.filter-chip-group[data-chip-group="filter-season"] .filter-chip[data-value="ete"]::before{
  background: #f4b046;
}

.filter-chip-group[data-chip-group="filter-season"] .filter-chip[data-value="automne"]{
  background:linear-gradient(135deg, rgba(201, 114, 50, 0.2), rgba(255,255,255,0.9));
  border-color: rgba(201, 114, 50, 0.45);
}
.filter-chip-group[data-chip-group="filter-season"] .filter-chip[data-value="automne"]::before{
  background: #c97232;
}

.filter-chip-group[data-chip-group="filter-season"] .filter-chip[data-value="hiver"]{
  background:linear-gradient(135deg, rgba(96, 165, 250, 0.2), rgba(255,255,255,0.9));
  border-color: rgba(96, 165, 250, 0.45);
}

.filter-chip-group[data-chip-group="filter-season"] .filter-chip.filter-chip--active[data-value="printemps"]{
  background:linear-gradient(135deg, #67c587, #3aa06e);
}
.filter-chip-group[data-chip-group="filter-season"] .filter-chip.filter-chip--active[data-value="ete"]{
  background:linear-gradient(135deg, #f4b046, #d98a1b);
}
.filter-chip-group[data-chip-group="filter-season"] .filter-chip.filter-chip--active[data-value="automne"]{
  background:linear-gradient(135deg, #c97232, #9f4e1b);
}
.filter-chip-group[data-chip-group="filter-season"] .filter-chip.filter-chip--active[data-value="hiver"]{
  background:linear-gradient(135deg, #60a5fa, #3b82f6);
}
.filter-chip-group[data-chip-group="filter-season"] .filter-chip[data-value="hiver"]::before{
  background: #60a5fa;
}

.filter-chip-group[data-chip-group="filter-season"] .filter-chip.filter-chip--active{
  color:#fff;
  border-color: rgba(28, 35, 47, 0.2);
}
.filter-chip-group[data-chip-group="filter-season"] .filter-chip.filter-chip--active::before{
  box-shadow:0 0 0 3px rgba(255,255,255,0.7), 0 6px 12px rgba(17, 24, 39, 0.2);
}

.filter-chip:hover{
  transform:translateY(-1px);
  border-color:rgba(201, 114, 50, 0.45);
  box-shadow:0 8px 16px rgba(17, 24, 39, 0.12);
}
.filter-chip--active{
  background:linear-gradient(140deg, var(--parfum-botanical), #2f7f6b);
  color:#fff;
  border-color:var(--parfum-botanical);
  box-shadow:0 8px 18px rgba(47, 138, 109, 0.28);
  transform:translateY(-1px);
}

.form-field--inline{
  flex:1 1 260px;
  margin:0;
}

#filter-parfum{max-width:100%;}

.filters-sidebar{
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,244,238,0.96));
  border: 1px solid color-mix(in srgb, var(--parfum-warm) 26%, transparent);
  border-radius: 22px;
  box-shadow: 0 18px 36px rgba(17, 24, 39, 0.1);
  display:flex;
  flex-direction:column;
  min-width:0;
  transition: box-shadow .2s ease, transform .2s ease;
  position: relative;
  overflow: hidden;
}

.filters-sidebar:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 42px rgba(17, 24, 39, 0.14);
}

.filters-sidebar::before{
  content:"";
  position:absolute;
  inset:-30% -10% auto auto;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(47, 138, 109, 0.25), transparent 70%);
  opacity:0.7;
  pointer-events:none;
}

.filters-sidebar::after{
  content:"";
  position:absolute;
  inset:auto -10% -30% auto;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(201, 114, 50, 0.22), transparent 70%);
  opacity:0.7;
  pointer-events:none;
}

@media (min-width: 1024px){
  .filters-sidebar{
    grid-column: 2;
    align-self:start;
    position:sticky;
    top: calc(var(--site-header-height, 72px) + 16px);
    max-height: calc(100vh - var(--site-header-height, 72px) - 32px);
  }
}

@supports (height: 100dvh) {
  @media (min-width: 1024px){
    .filters-sidebar{
      max-height: calc(100dvh - var(--site-header-height, 72px) - 32px);
    }
  }
}

.filters-sidebar__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.85rem;
  border-bottom: 1px solid rgba(201, 114, 50, 0.2);
  background: rgba(255,255,255,0.94);
  border-radius: 22px 22px 0 0;
  backdrop-filter: blur(12px);
}


.filters-sidebar__header-main{
  display:flex;
  align-items:center;
  gap:0.6rem;
  min-width:0;
  flex:1 1 auto;
  flex-wrap:wrap;
}

.filters-sidebar__title{
  margin:0;
  font-weight: 650;
  letter-spacing: 0.02em;
  color:var(--parfum-ink);
  font-size: 0.95rem;
  font-family: var(--font-display);
}

.filters-sidebar__summary{
  margin:0;
  display:inline-flex;
  align-items:center;
  gap:0.45rem;
  font-weight: 700;
  color: var(--parfum-ink);
  font-size: 0.65rem;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: rgba(201, 114, 50, 0.14);
  border: 1px solid rgba(201, 114, 50, 0.35);
  width: fit-content;
  margin-left: auto;
}

.filters-sidebar__clear.button{
  min-height: 2.5rem;
  padding: 0.45rem 0.75rem;
  white-space:nowrap;
  border-radius: 999px;
  border: 1px solid rgba(201, 114, 50, 0.3);
  background: rgba(255,255,255,0.9);
  color: var(--parfum-ink);
}

.filters-sidebar__clear.button:hover,
.filters-sidebar__clear.button:focus-visible{
  background: rgba(201, 114, 50, 0.12);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--parfum-warm) 50%, transparent);
}

@media (min-width: 1024px){
  .filters-sidebar__clear.button{
    display:none;
  }
}

.filters-sidebar__back{
  display:none;
  min-height: 2.5rem;
  width: 2.5rem;
  padding: 0;
  border-radius: 12px;
  border: 1px solid rgba(94, 78, 60, 0.25);
  background: rgba(255,255,255,0.95);
  color: var(--parfum-ink);
}

.filters-sidebar__back:focus-visible{
  outline: 2px solid transparent;
  box-shadow: 0 0 0 3px var(--focus-ring-color);
}

.filters-sidebar__back:hover{
  background: rgba(201, 114, 50, 0.12);
  border-color: rgba(201, 114, 50, 0.35);
}

.filters-panel{
  flex: 1 1 auto;
  min-height: 0;
  display:flex;
}

.filters-panel__body{
  padding: 0.65rem 0.75rem 0.8rem;
  overflow-y:auto;
  overflow-x:hidden;
  display:grid;
  gap: 0.75rem;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(201, 114, 50, 0.45) rgba(255, 255, 255, 0.6);
  width:100%;
  position:relative;
  z-index:1;
}

.filters-panel__body::-webkit-scrollbar{
  width: 8px;
}

.filters-panel__body::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, rgba(201, 114, 50, 0.6), rgba(47, 138, 109, 0.45));
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.7);
}

.filters-panel__body::-webkit-scrollbar-track{
  background: rgba(255, 255, 255, 0.6);
  border-radius: 999px;
}

.filters-sidebar .form-input:not(.search-input__field),
.filters-sidebar .form-select{
  border-color: rgba(94, 78, 60, 0.25);
  background: rgba(255,255,255,0.94);
  max-width:100%;
  width:100%;
  box-sizing:border-box;
}

.year-range-inputs .form-input{
  min-height: 1.7rem;
  padding: 0.25rem 0.45rem;
  font-size: 0.82rem;
}

.filters-sidebar .form-input:not(.search-input__field):focus,
.filters-sidebar .form-input:not(.search-input__field):focus-visible,
.filters-sidebar .form-select:focus,
.filters-sidebar .form-select:focus-visible{
  border-color: rgba(201, 114, 50, 0.6);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--parfum-warm) 55%, transparent);
}

.filters-accordion{
  border: 1px solid rgba(94, 78, 60, 0.2);
  border-radius: 16px;
  background: rgba(255,255,255,0.94);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  min-width: 0;
}

.filters-accordion__summary{
  list-style:none;
  cursor:pointer;
  padding: 0.5rem 0.6rem;
  font-weight: 700;
  color:var(--parfum-ink);
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 0.6rem;
  flex-wrap:wrap;
  row-gap:0.35rem;
  position:relative;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,250,246,0.96));
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.filters-accordion__summary::-webkit-details-marker{
  display:none;
}

.filters-accordion__summary:focus-visible{
  outline: 2px solid transparent;
  box-shadow: 0 0 0 3px var(--focus-ring-color);
}

.filters-accordion__summary:hover{
  box-shadow: 0 8px 18px rgba(17, 24, 39, 0.12);
}

.filters-accordion__summary::after{
  content:"";
  width:0.55rem;
  height:0.55rem;
  border-right:2px solid color-mix(in srgb, var(--parfum-warm) 70%, #6b7280);
  border-bottom:2px solid color-mix(in srgb, var(--parfum-warm) 70%, #6b7280);
  transform: rotate(45deg);
  transition: transform .2s ease;
  margin-left:auto;
}

.filters-accordion__summary-text{
  font-family: var(--font-display);
  font-size: 0.9rem;
  letter-spacing: 0.01em;
  flex:1 1 auto;
  min-width:0;
}

.filters-accordion__tag{
  font-size:0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight:700;
  padding: 0.14rem 0.34rem;
  border-radius: 999px;
  color: var(--parfum-ink);
  background: rgba(201, 114, 50, 0.16);
  border: 1px solid rgba(201, 114, 50, 0.3);
  white-space: nowrap;
}

.filters-accordion__content{
  position: relative;
  padding: 0.5rem 0.6rem 0.6rem;
  display:grid;
  gap: 0.75rem;
  animation: filterFadeIn .28s ease;
  transform-origin: top;
  border-top: 1px dashed rgba(94, 78, 60, 0.2);
  min-width: 0;
}

.filters-accordion[open]{
  border-color: rgba(201, 114, 50, 0.35);
  box-shadow: 0 14px 26px rgba(17, 24, 39, 0.08);
  transform: translateY(-1px);
}

.filters-accordion[open] > .filters-accordion__summary{
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,240,228,0.92));
}

.filters-accordion[open] > .filters-accordion__summary::after{
  transform: rotate(-135deg);
}

.filters-sidebar__footer{
  display:none;
  gap: 0.75rem;
  padding: 1rem;
  border-top: 1px solid rgba(201, 114, 50, 0.2);
  background: rgba(255,255,255,0.95);
}

.filters-sidebar__apply.button{
  width:100%;
  border-radius: 999px;
  background: var(--parfum-ink);
  color:#fff;
  border:none;
  box-shadow: 0 14px 26px rgba(17, 24, 39, 0.24);
}

.filters-sidebar__apply.button:hover,
.filters-sidebar__apply.button:focus-visible{
  background: color-mix(in srgb, var(--parfum-ink) 88%, #000);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--parfum-ink) 40%, transparent),
    0 16px 30px rgba(17, 24, 39, 0.28);
}

@media (max-width: 1023px){
  .filters-sidebar{
    position:fixed;
    inset:0;
    z-index: 200;
    border-radius: 0;
    max-height: none;
    display:none;
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,241,233,0.98));
    border: none;
    box-shadow: none;
  }

  .filters-sidebar.filters-sidebar--open{
    display:flex;
  }

  .filters-sidebar__header{
    border-radius: 0;
    padding: 1rem;
    align-items:center;
    position: sticky;
    top: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,249,244,0.95));
  }

  .filters-sidebar__back{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .filters-sidebar__footer{
    display:flex;
    position: sticky;
    bottom: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(255,249,244,0.95), rgba(255,255,255,0.98));
  }

  .filters-panel__body{
    padding: 0.85rem 1rem 1.1rem;
    gap: 0.9rem;
  }

  .filters-accordion__summary{
    padding: 0.65rem 0.75rem;
  }

  .filters-accordion__summary-text{
    font-size: 0.95rem;
  }

  .filters-accordion__content{
    padding: 0.6rem 0.75rem 0.75rem;
  }
}

.filter-group{margin-top:16px;display:grid;gap:12px;}
.selection-panel{margin-top:32px;}
.selection-panel--standalone{
  background:#f8f9fd;
  border:1px solid #dfe5f4;
  border-radius:16px;
  padding:16px;
  box-shadow:0 10px 24px rgba(27,42,75,0.08);
}
.selection-panel__header{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.selection-panel__hint{
  margin:0;
  color:#4b5563;
  font-size:0.95rem;
}
.selection-panel__dropzone{width:100%;}
.scent-search-inline{
  display:grid;
  gap:0.75rem;
  margin-top:0;
  margin-bottom:0;
}
.scent-panel{
  background:#fff;
  border:1px solid #e4e8f3;
  border-radius:16px;
  padding:14px;
  box-shadow:0 8px 20px rgba(27,42,75,0.06);
  margin-bottom:16px;
  position:relative;
  transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease,background .2s ease;
}
.scent-panel__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.scent-panel__title{
  position:relative;
  display:flex;
  align-items:center;
  gap:0.6rem;
  flex-wrap:wrap;
}
.scent-panel__eyebrow{
  margin:0;
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size:0.8rem;
  color:#6b7280;
}
.scent-panel__toggle{
  border:1px solid #d1d5db;
  background:#f8fafc;
  color:#1f2937;
  border-radius:10px;
  padding:8px 12px;
  font-weight:600;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.scent-panel__toggle:hover{
  background:#eef2ff;
  border-color:#c7d2fe;
  box-shadow:0 6px 14px rgba(59,130,246,0.14);
}
.scent-panel__content{
  overflow:hidden;
  transition:max-height .45s cubic-bezier(0.25,0.8,0.4,1),opacity .35s ease,transform .35s ease;
  max-height:none;
  opacity:1;
  transform:translateY(0);
  transform-origin:top;
}
.scent-panel__content.is-animating{
  will-change:max-height,opacity,transform;
}
.scent-panel.is-collapsed .scent-panel__content{
  max-height:0;
  opacity:0;
  padding-top:0;
  pointer-events:none;
  transform:translateY(-8px);
}
.scent-panel__collapsed{
  display:none;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  padding:6px 4px 10px;
}
.scent-panel.is-collapsed .scent-panel__collapsed{
  display:flex;
}
.scent-panel__collapsed-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  overflow:hidden;
  border:1px solid #e5e7eb;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.scent-panel__collapsed-icon,
.scent-panel__collapsed-count{
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.scent-panel__collapsed-icon img{
  width:28px;
  height:28px;
  object-fit:cover;
}
.scent-panel__collapsed-count{
  padding:6px 10px;
  border-radius:12px;
  background:#eef2ff;
  color:#1f2937;
  font-weight:600;
  border:1px solid #c7d2fe;
}
.scent-panel__footer{
  display:flex;
  justify-content:center;
  margin-top:10px;
}
.scent-panel__collapse{
  border:none;
  background:#f1f5f9;
  color:#111827;
  padding:8px 12px;
  border-radius:12px;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(15,23,42,0.12);
  transition:transform .2s ease,box-shadow .2s ease;
}
.scent-panel__collapse-icon{
  font-size:1.35rem;
  line-height:1;
  display:inline-block;
  transform:translateY(-1px);
}
.scent-panel__collapse:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(59,130,246,0.14);
}
.scent-panel.is-collapsed{
  cursor:pointer;
  box-shadow:0 8px 20px rgba(59,130,246,0.12);
  border-color:#dbeafe;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
  overflow:hidden;
}
.scent-panel.is-collapsed::after{
  content:"+";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.6rem;
  font-weight:800;
  color:#1f4d8a;
  opacity:0;
  transform:scale(0.9);
  transition:opacity .2s ease,transform .2s ease;
  pointer-events:none;
}
.scent-panel.is-collapsed:hover{
  box-shadow:0 12px 26px rgba(59,130,246,0.18);
  background:linear-gradient(180deg,#e9f1ff 0%,#ffffff 100%);
  border-color:#2960ac;
  transform:translateY(-1px);
}
.scent-panel.is-collapsed:hover::after{
  opacity:1;
  transform:scale(1);
}
.scent-panel.is-collapsed .section-heading{
  transition:color .2s ease;
}
.scent-panel.is-collapsed:hover .section-heading{
  color:#1f4d8a;
}
.scent-panel.is-collapsed:hover .scent-panel__collapsed-icon{
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(41,96,172,0.12);
  border-color:#c7d2fe;
}
.scent-panel.is-collapsed:hover .scent-panel__collapsed-count{
  background:#dbeafe;
  border-color:#c7d2fe;
  color:#1f2937;
}
.results-panel{
  margin-top:0;
  padding: 1.2rem;
  border-radius: 22px;
  border: 1px solid color-mix(in srgb, var(--parfum-botanical) 24%, transparent);
  background: linear-gradient(160deg, rgba(255,255,255,0.98), rgba(235,246,241,0.92));
  box-shadow: 0 20px 38px rgba(17, 24, 39, 0.1);
  display:grid;
  gap:0.9rem;
}

.results-panel__header{
  padding-bottom:0.4rem;
  border-bottom:1px solid rgba(47, 138, 109, 0.18);
}

.results-panel__filters{
  margin-top:0;
}
.perfume-card__compare{display:flex;justify-content:flex-end;margin-bottom:8px;}
.perfume-card__compare-label{display:inline-flex;align-items:center;gap:6px;font-size:0.85rem;font-weight:600;color:#1b2a4b;cursor:pointer;}
.perfume-card__compare-input{width:16px;height:16px;cursor:pointer;}
.parfum-card--listing .perfume-card__compare{
  position:absolute;
  top:12px;
  left:12px;
  z-index:4;
  margin:0;
  justify-content:flex-start;
}
.parfum-card--listing .perfume-card__compare-label{gap:0;}
.parfum-card--listing .perfume-card__compare-input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  margin:0;
}
.parfum-card--listing .perfume-card__compare-label > span{
  display:inline-flex;
  align-items:center;
  padding:2px 6px;
  border-radius:999px;
  border:1px solid rgba(41,96,172,0.28);
  background:rgba(41,96,172,0.10);
  color:#1b2a4b;
  backdrop-filter:blur(6px);
  box-shadow:0 8px 14px rgba(27,42,75,0.08);
  font-size:0.62rem;
  font-weight:600;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
  user-select:none;
}
.parfum-card--listing .perfume-card__compare-label:hover > span{
  background:rgba(41,96,172,0.16);
  border-color:rgba(41,96,172,0.4);
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(27,42,75,0.12);
}
.parfum-card--listing .perfume-card__compare-input:focus-visible + span{
  outline:2px solid rgba(41,96,172,0.55);
  outline-offset:3px;
}
.parfum-card--listing .perfume-card__compare-input:checked + span{
  background:#2960ac;
  border-color:#2960ac;
  color:#fff;
}
@media (hover:hover) and (pointer:fine){
  .parfum-card--listing .perfume-card__compare{
    opacity:0;
    transform:translateY(-6px);
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease;
  }
  .parfum-card--listing:hover .perfume-card__compare,
  .parfum-card--listing:focus-within .perfume-card__compare{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }
}
.filters-grid{display:flex;gap:0.75rem;flex-wrap:wrap;}
.filters-grid .form-label{
  display:block;
  margin:0 0 0.5rem;
  font-size:0.85rem;
  font-weight:700;
  color:var(--parfum-ink);
}
.year-range-inputs{
  display:grid;
  gap:0.55rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.year-range-inputs .form-input{
  text-align:center;
  font-variant-numeric: tabular-nums;
}
.filter-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:rgba(201, 114, 50, 0.14);border-radius:32px;font-size:14px;font-weight:600;color:var(--parfum-ink);cursor:pointer;border:1.5px solid rgba(201, 114, 50, 0.35);transition:background .2s,color .2s,border .2s;user-select:none;line-height:1;}
.filter-badge.active{background:var(--parfum-warm);color:#fff;border-color:var(--parfum-warm);}
#active-filters{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0;}
#active-filters .filter-badge::after{content:'\2715';margin-left:6px;font-weight:600;}
#active-filters .filter-badge--locked{cursor:default;background:rgba(201, 114, 50, 0.2);border-color:rgba(201, 114, 50, 0.45);}
#active-filters .filter-badge--locked::after{content:' FIXE';margin-left:6px;font-weight:700;}
#active-filters .filter-badge__icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;}
#active-filters .filter-badge__icon img{width:26px;height:26px;object-fit:contain;border-radius:4px;}

.scent-filter-card{
  padding: 1.2rem;
  border-radius: 22px;
  border: 1px solid color-mix(in srgb, var(--parfum-warm) 30%, transparent);
  background: linear-gradient(160deg, rgba(255,255,255,0.98), rgba(255,241,230,0.92));
  box-shadow: 0 20px 36px rgba(17, 24, 39, 0.1);
  display:grid;
  gap:0.85rem;
}

.scent-filter-card__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:0;
}

.scent-filter-card__title{
  margin:0;
  font-size: clamp(0.98rem, 1.4vw, 1.15rem);
}

.scent-filter-card__lead{
  margin:0.25rem 0 0;
  color: var(--parfum-muted);
  font-size:0.95rem;
  max-width:54ch;
}

.scent-filter-card__search{
  display:grid;
  gap:0.4rem;
}

.scent-filter-card__search-input{
  border: 1px solid rgba(94, 78, 60, 0.22);
  background: rgba(255,255,255,0.95);
  box-shadow: 0 12px 24px rgba(17, 24, 39, 0.08);
  padding: 0.18rem 0.6rem;
  gap: 0.6rem;
}

.scent-filter-card__hint{
  margin:0;
  font-size:0.78rem;
  color: var(--parfum-muted);
}

.scent-grid{
  --scent-card-min-width: 110px;
  display:flex;
  flex-wrap:nowrap;
  gap: 0.6rem;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom: 0.25rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(94, 78, 60, 0.35) transparent;
}

.scent-grid::-webkit-scrollbar{
  height: 6px;
}

.scent-grid::-webkit-scrollbar-thumb{
  background: rgba(94, 78, 60, 0.35);
  border-radius: 999px;
}

.scent-grid::-webkit-scrollbar-track{
  background: transparent;
}

.scent-results__empty-note{margin:4px 0 0;font-size:13px;color:var(--parfum-muted);}
.scent-results__more-note{flex-basis:100%;margin:6px 0 0;font-size:13px;color:var(--parfum-muted);}

.scent-card{
  width:auto;
  max-width:100%;
  display:flex;
  align-items:center;
  gap:0.55rem;
  flex:0 0 auto;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(94, 78, 60, 0.22);
  box-shadow: none;
  color:var(--parfum-ink);
  text-decoration:none;
  cursor:pointer;
  min-height: 2.3rem;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.scent-card:hover{
  transform:none;
  background: rgba(201, 114, 50, 0.08);
  border-color:rgba(201, 114, 50, 0.4);
  box-shadow: none;
}

.scent-card:focus-visible{
  outline:2px solid transparent;
  box-shadow: 0 0 0 3px var(--focus-ring-color),
    0 14px 30px rgba(15, 23, 42, 0.1);
}

.scent-card__icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 18px;
}

.scent-card__icon img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.scent-card__label{
  font-size:0.72rem;
  font-weight:650;
  line-height:1.2;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.scent-card__count{
  margin-left: 0.2rem;
  font-size: 0.85rem;
  font-weight: 700;
  color:var(--parfum-muted);
  font-variant-numeric: tabular-nums;
}

.scent-card[aria-pressed="true"],
.scent-card.is-selected{
  background: var(--parfum-warm-soft);
  border-color: rgba(201, 114, 50, 0.5);
}

.scent-card:disabled,
.scent-card[aria-disabled="true"]{
  opacity:0.6;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}

.compare-selection[hidden],
.compare-selection[aria-hidden="true"]{
  display:none;
}

.compare-selection{
  border:1px solid rgba(94, 78, 60, 0.22);
  border-radius:20px;
  padding:16px;
  background:linear-gradient(160deg, rgba(255,255,255,0.98), rgba(252,246,241,0.96));
  box-shadow:0 16px 34px rgba(17, 24, 39, 0.12);
  display:grid;
  gap:12px;
}
.compare-selection--dock{
  position:fixed;
  left:50%;
  bottom:clamp(0.9rem, 3vw, 1.5rem);
  transform:translateX(-50%);
  width:min(720px, calc(100% - 2rem));
  z-index:140;
  border-radius:26px;
  border:1px solid rgba(201, 114, 50, 0.3);
  background:linear-gradient(160deg, rgba(255,255,255,0.96), rgba(248,240,232,0.92));
  box-shadow:0 24px 54px rgba(17, 24, 39, 0.2);
  backdrop-filter:blur(18px);
}
html.compare-modal-open .compare-selection--dock{
  opacity:0;
  pointer-events:none;
  transform:translate(-50%, 20px);
}
.compare-selection--launcher{
  padding:10px 12px;
  gap:8px;
}
.compare-selection--launcher .compare-selection__help{
  display:none;
}
.compare-selection--launcher .compare-selection__header{
  align-items:center;
  flex:1;
}
.compare-selection--launcher .compare-selection__footer{
  margin-top:0;
  flex:0 0 auto;
  align-items:center;
}
.compare-selection--launcher .compare-selection__message{
  display:none;
}
.compare-selection--launcher .compare-selection__action{
  margin-top:0;
  padding:7px 14px;
  border-radius:999px;
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.02em;
  background: linear-gradient(135deg, var(--parfum-ink), #0f172a);
  box-shadow:0 8px 16px rgba(17, 24, 39, 0.2);
}
.compare-selection__header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.compare-selection__title-wrap{display:flex;flex-direction:column;gap:4px;}
.compare-selection__title{margin:0;font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:700;color:var(--parfum-ink);}
.compare-selection__help{margin:0;font-size:0.92rem;color:var(--parfum-muted);max-width:42ch;}
.compare-selection__actions{display:flex;align-items:center;gap:10px;}
.compare-selection__close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.1rem;
  height:2.1rem;
  border-radius:999px;
  border:none;
  background:transparent;
  color:var(--parfum-muted);
  font-size:1.15rem;
  line-height:1;
  cursor:pointer;
}
.compare-selection__close:hover{
  background:rgba(201, 114, 50, 0.12);
  color:var(--parfum-ink);
}
.compare-selection__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.1rem;
  height:1.85rem;
  border-radius:999px;
  background:var(--parfum-warm);
  color:#fff;
  font-weight:700;
  font-size:0.82rem;
  box-shadow:0 10px 18px rgba(201, 114, 50, 0.25);
}
.compare-selection__reset{background:transparent;border:none;color:var(--parfum-ink);font-weight:700;cursor:pointer;padding:6px 10px;border-radius:10px;}
.compare-selection__reset:hover{background:rgba(201, 114, 50, 0.12);}
.compare-selection__list{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 0;}
.compare-selection__chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:rgba(201, 114, 50, 0.12);border-radius:999px;font-weight:600;color:var(--parfum-ink);border:1px solid rgba(201, 114, 50, 0.25);}
.compare-selection__chip button{background:transparent;border:none;color:var(--parfum-muted);cursor:pointer;font-size:0.85rem;line-height:1;}
.compare-selection__chip button:hover{color:#b42318;}
.compare-selection__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.compare-selection__message{margin:0;font-size:0.9rem;color:var(--parfum-muted);min-height:1.2em;flex:1;}
.compare-selection__message[data-tone="warning"]{color:#b45309;}
.compare-selection__action{margin-left:auto;background:var(--parfum-ink);color:#fff;border:none;border-radius:12px;padding:10px 22px;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;}
.compare-selection__action:hover:not([disabled]){background:color-mix(in srgb, var(--parfum-ink) 88%, #000);transform:translateY(-1px);box-shadow:0 12px 20px rgba(17, 24, 39, 0.2);}
.compare-selection__action[disabled]{opacity:0.5;cursor:not-allowed;box-shadow:none;transform:none;}

.compare-modal{
  position:fixed;
  inset:0;
  z-index:160;
  display:block;
  pointer-events:none;
}
.compare-modal--open{pointer-events:auto;}
.compare-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,0.45);
  opacity:0;
  transition:opacity .25s ease;
}
.compare-modal__panel{
  position:absolute;
  inset:0;
  height:100%;
  width:100%;
  background:linear-gradient(180deg,#f8f9fc 0%, #eef2fb 100%);
  transform:translateX(100%);
  transition:transform .3s ease;
  box-shadow:-30px 0 60px rgba(15,23,42,0.25);
  display:flex;
  flex-direction:column;
  pointer-events:auto;
}
.compare-modal--open .compare-modal__backdrop{opacity:1;pointer-events:auto;}
.compare-modal--open .compare-modal__panel{transform:translateX(0);}
.compare-modal__header{
  padding:clamp(1.2rem, 3vw, 1.8rem);
  border-bottom:1px solid #dfe5f4;
  background:rgba(255,255,255,0.92);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.compare-modal__heading{display:flex;flex-direction:column;gap:6px;}
.compare-modal__eyebrow{margin:0;font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:700;color:#1b2a4b;}
.compare-modal__title{margin:0;font-size:clamp(1.4rem, 2.8vw, 1.8rem);color:#1b2a4b;}
.compare-modal__subtitle{margin:0;color:#5b657d;font-size:0.95rem;max-width:46ch;}
.compare-modal__actions{display:flex;align-items:center;gap:10px;}
.compare-modal__reset{background:transparent;border:none;color:#2960ac;font-weight:700;cursor:pointer;padding:6px 10px;border-radius:10px;}
.compare-modal__reset:hover{background:rgba(41,96,172,0.08);}
.compare-modal__close{
  border:none;
  background:#1b2a4b;
  color:#fff;
  width:2.2rem;
  height:2.2rem;
  border-radius:999px;
  cursor:pointer;
  font-size:1.2rem;
  line-height:1;
  box-shadow:0 12px 20px rgba(27,42,75,0.18);
}
.compare-modal__body{
  padding:clamp(1.2rem, 3vw, 1.8rem);
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:clamp(1.2rem, 3vw, 1.8rem);
  max-width:1400px;
  margin:0 auto;
  width:100%;
}
.compare-modal__selection{
  background:#fff;
  border:1px solid #e2e8f3;
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 20px rgba(27,42,75,0.06);
}
.compare-modal__selection-list{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.compare-modal__selection-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:14px;
  background:#f7f8fc;
  border:1px solid rgba(41,96,172,0.12);
}
.compare-modal__selection-image{
  width:44px;
  height:56px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  padding:4px;
}
.compare-modal__selection-name{margin:0;font-weight:700;color:#1b2a4b;font-size:0.95rem;}
.compare-modal__selection-brand{margin:0;font-size:0.85rem;color:#6b7791;}
.compare-modal__selection-remove{
  margin-left:auto;
  border:none;
  background:transparent;
  color:#6b7791;
  font-size:1.1rem;
  cursor:pointer;
}
.compare-modal__selection-remove:hover{color:#b42318;}
.compare-modal__selection-message{margin:10px 0 0;font-size:0.9rem;color:#6b7791;}
.compare-modal__content{display:grid;gap:18px;}
.compare-modal__main{min-width:0;}
.compare-modal__side{
  display:grid;
  gap:16px;
}
@media(min-width:900px){
  .compare-modal__content{grid-template-columns:minmax(0, 3fr) minmax(0, 1.2fr);}
}

.compare-insight{
  background:#fff;
  border:1px solid #e4e8f3;
  border-radius:18px;
  padding:16px;
  box-shadow:0 12px 24px rgba(27,42,75,0.08);
  display:grid;
  gap:12px;
}
.compare-insight__title{margin:0;font-size:0.95rem;color:#1b2a4b;text-transform:uppercase;letter-spacing:0.08em;}
.compare-insight__chips{display:flex;flex-wrap:wrap;gap:8px;}
.compare-insight__chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#f1f5ff;
  font-size:0.85rem;
  font-weight:600;
  color:#1b2a4b;
}
.compare-insight__dot{width:10px;height:10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;}
.compare-insight__dot .accord-dot__svg{width:100%;height:100%;display:block;}
.compare-insight__unique{display:grid;gap:12px;}
.compare-insight__stack{display:grid;gap:8px;}
.compare-insight__name{margin:0;font-size:0.9rem;font-weight:700;color:#1b2a4b;}
.compare-insight__chip--unique{background:#eef6ff;border:1px solid rgba(41,96,172,0.18);}
.compare-insight__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#2960ac;
  color:#fff;
  font-size:0.7rem;
  font-weight:700;
}
.compare-insight__empty{color:#94a3b8;font-size:0.9rem;}

.compare-results{margin-top:24px;padding-top:16px;border-top:1px solid #e4e8f3;display:none;}
.compare-results--modal{margin:0;padding:0;border:none;display:block;}
.compare-results--visible{display:block;}
.compare-results__title{margin:0 0 16px;font-size:1.1rem;color:#1b2a4b;font-weight:700;}
.compare-results__empty{margin:0;color:#94a3b8;font-size:0.95rem;}
.compare-grid{display:grid;gap:16px;}
@media(min-width:640px){.compare-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}}
.compare-card{background:#fff;border:1px solid #e4e8f3;border-radius:20px;padding:16px;box-shadow:0 16px 32px rgba(27,42,75,0.08);display:flex;flex-direction:column;gap:12px;}
.compare-card__header{display:flex;align-items:center;gap:12px;}
.compare-card__image{width:52px;height:62px;object-fit:contain;border-radius:14px;background:#f6f7fb;padding:4px;}
.compare-card__name{margin:0;font-weight:700;color:#1b2a4b;}
.compare-card__brand{margin:2px 0 0;font-size:0.88rem;color:#6b7791;}
.compare-card__meta{margin:0;font-size:0.8rem;color:#8b95ad;}
.compare-card__metrics{display:grid;gap:10px;}
.compare-card__metric{background:#f7f8fc;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px;}
.compare-card__metric-label{font-size:0.72rem;font-weight:700;color:#6b7791;text-transform:uppercase;letter-spacing:0.08em;}
.compare-card__metric-value{font-size:1rem;font-weight:700;color:#1b2a4b;display:flex;align-items:center;gap:8px;}
.compare-card__metric-delta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:999px;
  font-size:0.75rem;
  font-weight:700;
}
.compare-card__metric-delta--up{background:#dcfce7;color:#15803d;}
.compare-card__metric-delta--down{background:#fee2e2;color:#b91c1c;}
.compare-card__notes{display:flex;flex-wrap:wrap;gap:8px;}
.compare-card__note{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:12px;
  background:#fff7ed;
  border:1px solid rgba(234, 179, 8, 0.2);
  font-size:0.82rem;
  color:#7c2d12;
  font-weight:600;
}
.compare-card__note-icon{width:18px;height:18px;object-fit:contain;}
.compare-card__note-empty{font-size:0.85rem;color:#94a3b8;}
.compare-card__accords{display:flex;flex-wrap:wrap;gap:6px;}
.compare-card__accord{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:12px;background:#f1f5ff;font-size:0.85rem;color:#1b2a4b;}
.compare-card__accord-dot{width:10px;height:10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;}
.compare-card__accord-dot .accord-dot__svg{width:100%;height:100%;display:block;}

@media(max-width:640px){
  .compare-selection--dock{width:calc(100% - 1.5rem);padding:12px;}
  .compare-selection__help{max-width:100%;}
  .compare-selection__list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
  .compare-selection__footer{align-items:stretch;}
  .compare-selection__action{width:100%;}
  .compare-modal__panel{width:100%;transform:translateY(100%);right:auto;left:0;}
  .compare-modal--open .compare-modal__panel{transform:translateY(0);}
}
.filters-grid{margin:0;}
.filters-grid select,
.filters-grid input{
  padding:0.65rem 0.75rem;
  font-size:0.95rem;
  min-width:0;
  width:100%;
  border:1px solid rgba(94, 78, 60, 0.25);
  border-radius:12px;
  flex:1;
  background:rgba(255,255,255,0.96);
  box-shadow:0 8px 18px rgba(17, 24, 39, 0.08);
  transition:border-color .2s ease, box-shadow .2s ease;
}

.filters-grid select:focus,
.filters-grid input:focus{
  outline:none;
  border-color:rgba(201, 114, 50, 0.6);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--parfum-warm) 45%, transparent),
    0 10px 20px rgba(17, 24, 39, 0.12);
}
#filtered-parfums{margin-top:20px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.parfum-card--listing{max-width:280px;margin:auto;opacity:0;transform:translateY(10px);transition:transform .3s ease,opacity .3s ease;padding:clamp(0.85rem,2vw,1.1rem);}
.parfum-card--listing.show{opacity:1;transform:translateY(0);animation:float-in .4s ease-out;}
.parfum-card--listing .perfume-card__logo{top:14px;right:14px;width:32px;height:32px;}
.parfum-card--listing .perfume-card__notes-slot,.parfum-card--listing .perfume-card__notes-slot--flip{min-height:68px;}
.parfum-card--listing .perfume-card__notes{gap:0.55rem;}
.parfum-card--listing .perfume-card__note-link{width:2.2rem;height:2.2rem;}
.parfum-card--listing .perfume-card__note-icon{width:1.6rem;height:1.6rem;}
.fade-out{opacity:0!important;transform:translateY(10px);transition:opacity .3s,transform .3s;}
@media(max-width:600px){.parfum-card--listing{min-width:140px;max-width:94vw;padding:.8rem 10px;min-height:270px}.parfum-card--listing .perfume-card__image{width:95px;height:115px}.parfum-card--listing .perfume-card__logo{width:24px;height:24px;top:10px;right:8px}.parfum-card--listing .perfume-card__notes-slot,.parfum-card--listing .perfume-card__notes-slot--flip{min-height:56px}.parfum-card--listing .perfume-card__note-link{width:2.05rem;height:2.05rem}.parfum-card--listing .perfume-card__note-icon{width:1.45rem;height:1.45rem}}
@keyframes filterFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes float-in{0%{opacity:0;transform:translateY(20px) scale(.96)}100%{opacity:1;transform:translateY(0) scale(1)}}
.loading-spinner{display:none;width:40px;height:40px;border:4px solid rgba(28, 35, 47, 0.15);border-top-color:var(--parfum-warm);border-radius:50%;margin:20px auto;animation:spin .8s linear infinite;}
.loading-spinner.is-visible{display:block;}
@keyframes spin{to{transform:rotate(360deg);}}

@media (prefers-reduced-motion: reduce){
  .filters-accordion__content{
    animation: none;
  }

  .filters-accordion{
    transition: none;
  }
}

/* --- Suggestions marque (dropdown) --- */
#brand-suggestions{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 4px);
  width:auto;
  z-index: 60;
  display:none;
  transform:translateY(-4px);
  opacity:0;
  transition:opacity .18s ease, transform .18s ease;
}

#brand-suggestions.is-open{
  display:block;
  opacity:1;
  transform:translateY(0);
}

@media (min-width: 1024px){
  .filters-sidebar{
    overflow: visible;
  }

  .filters-panel__body{
    overflow: visible;
  }

  #brand-suggestions{
    left:auto;
    right:calc(100% + 12px);
    width:min(320px, 40vw);
  }
}

.brand-suggestions__list{
  margin:0;
  padding:8px 0;
  list-style:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,246,239,0.96));
  border:1px solid rgba(201, 114, 50, 0.25);
  border-radius:14px;
  box-shadow:0 18px 30px rgba(17, 24, 39, 0.18);
  max-height:280px;
  overflow:auto;
}

.clipboard-helper{
  position:absolute;
  left:-9999px;
}

.brand-suggestions__item{
  padding:10px 16px;
  font-size:15px;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--parfum-ink);
  transition:background .15s ease, color .15s ease, transform .15s ease;
}

.brand-suggestions__item:hover,
.brand-suggestions__item--active{
  background:rgba(201, 114, 50, 0.14);
  color:var(--parfum-ink);
  transform:translateX(2px);
}

.brand-suggestions__empty{
  margin:0;
  padding:12px 16px;
  font-size:14px;
  color:var(--parfum-muted);
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,246,239,0.96));
  border:1px solid rgba(201, 114, 50, 0.2);
  border-radius:12px;
  box-shadow:0 12px 28px rgba(17, 24, 39, 0.12);
}

#filter-brand{
  color:var(--parfum-ink);
  background:transparent;
}
#filter-brand::placeholder{
  color:var(--parfum-muted);
}

.pagination{
  margin-top: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  align-items: center;
  justify-content: center;
}

.pagination__link{
  text-decoration: none;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  border: 1px solid var(--parfum-border);
  background: var(--parfum-surface);
  color: var(--parfum-ink);
  font-weight: 600;
  transition: border var(--transition-base), background var(--transition-base), transform var(--transition-base);
}

.pagination__link:hover,
.pagination__link:focus-visible{
  border-color: color-mix(in srgb, var(--parfum-warm) 45%, var(--parfum-border));
  background: color-mix(in srgb, var(--parfum-warm) 8%, var(--parfum-surface));
  transform: translateY(-1px);
}

.pagination__link.is-disabled{
  opacity: 0.5;
  pointer-events: none;
}

.pagination__meta{
  color: var(--parfum-muted);
  font-size: 0.95rem;
}
.parfum-search-card__search-input{
  min-height: 3.35rem;
  padding: 0.5rem 0.85rem;
}

.parfum-search-card__search-input .search-input__field{
  font-size: 0.95rem;
}
