:root{
  --accent:#475569; /* slate-600 */
  --accent-600:#334155; /* slate-700 */
  --text:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;
  --bg:#ffffff;
}
  .page{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;     /* боковые отступы */
  width: 100%;
}
  .page--landing {
  max-width: 100% !important;
  padding: 0;
}

/* По желанию — чуть больше отступы на десктопах */
@media (min-width: 768px){
  .page{ padding: 0 24px; }
}
@media (min-width: 1280px){
  .page{ padding: 0 32px; }
}

  .ylink-reset{ font-size:12px; color:var(--muted);}
  .ylink-reset:hover{ color:var(--text); }

  .facet{
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--bg);
    padding:12px 14px;
  }
  .facet + .facet{ margin-top:12px; }

  .facet-label{ font-size:14px; font-weight:600; color:var(--text); margin-bottom:6px; display:block;}

  .facet-control select,
  .facet-control input[type="text"],
  .facet-control input[type="number"],
  .facet-input{
    width:100%; border:1px solid var(--line);
    border-radius:8px; padding:8px 10px; font-size:14px;
    background:#fff; color:var(--text);
  }
  .facet-hint{ margin-top:6px; font-size:12px; color:var(--muted); }

  .row{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
  .row .w-half{ flex:1 1 140px; max-width:160px; }

  .range-slider{ display:flex; flex-direction:column; gap:6px; }
  .range-track{ position:relative; height:6px; background:#e5ecff; border-radius:9999px; overflow:hidden; }
  .range-fill{ position:absolute; inset:0; background:linear-gradient(90deg, #4f46e5, #1d4ed8); border-radius:9999px; }
  .range-inputs{ position:relative; height:24px; }
  .range-inputs input[type="range"]{
    position:absolute; left:0; top:-9px; width:100%; height:24px;
    background:transparent;
    -webkit-appearance:none; appearance:none;
  }
  .range-inputs input[type="range"]::-webkit-slider-runnable-track{
    background:transparent;
  }
  .range-inputs input[type="range"]::-moz-range-track{
    background:transparent;
  }
  .range-inputs input[type="range"]::-ms-track{
    background:transparent;
    color:transparent;
  }
  .range-inputs input[type="range"]::-webkit-slider-thumb{
    pointer-events:auto;
    -webkit-appearance:none;
    appearance:none;
    width:14px; height:14px; border-radius:50%;
    background:#fff;
    border:2px solid #3b82f6;
    box-shadow:0 4px 10px rgba(59,130,246,0.25);
  }
  .range-inputs input[type="range"]::-moz-range-thumb{
    pointer-events:auto;
    width:14px; height:14px; border-radius:50%;
    background:#fff;
    border:2px solid #3b82f6;
    box-shadow:0 4px 10px rgba(59,130,246,0.25);
  }
  .range-inputs input[type="range"]::-ms-thumb{
    pointer-events:auto;
    width:14px; height:14px; border-radius:50%;
    background:#fff;
    border:2px solid #3b82f6;
    box-shadow:0 4px 10px rgba(59,130,246,0.25);
  }
  .ycheck{ display:inline-flex; align-items:center; gap:8px; cursor:pointer; user-select:none; }
  .ycheck input{ display:none; }
  .ycheck__box{
    width:18px; height:18px; border:1px solid var(--line); border-radius:4px; background:#fff;
    display:inline-block; position:relative;
  }
  .ycheck input:checked + .ycheck__box{ background:var(--accent); border-color:var(--accent);}
  .ycheck input:checked + .ycheck__box::after{
    content:""; position:absolute; left:4px; top:1px; width:8px; height:12px;
    border:2px solid #fff; border-top:0; border-left:0; transform:rotate(45deg);
  }
  .ycheck__label{ font-size:14px; }

  .facet-actions{ display:flex; gap:8px; padding-top:4px;}
  .ybtn{ display:inline-flex; align-items:center; justify-content:center; height:38px; padding:0 14px;
         border-radius:10px; font-size:14px; font-weight:600; border:1px solid transparent; cursor:pointer;}
  .ybtn--primary{ background:var(--accent); color:#fff;}
  .ybtn--primary:hover{ background:var(--accent-600);}
  .ybtn--ghost{ background:#f9fafb; border-color:var(--line);}
  .ybtn--ghost:hover{ background:#e5e7eb; border-color:var(--accent); color:var(--accent);}

  .facet--exclusion .ybtn{ height:32px; }
  .exclusion-summary{ margin-top:8px; font-size:12px; color:var(--muted); }

  .y-modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
    z-index:60;
  }
  .y-modal.hidden{ display:none; }
  .y-modal__overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.45);
  }
  .y-modal__panel{
    position:relative;
    z-index:1;
    width:100%;
    max-width:520px;
    max-height:90vh;
    overflow:auto;
    background:#fff;
    border-radius:18px;
    padding:20px;
    box-shadow:0 20px 45px rgba(15,23,42,0.28);
  }
  .y-modal__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }
  .y-modal__close{
    border:none;
    background:none;
    cursor:pointer;
    font-size:22px;
    line-height:1;
    color:var(--muted);
  }

  .exclusion-list-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
  }
  .exclusion-list-item input{
    margin-top:4px;
  }
  .exclusion-list-body{
    flex:1;
  }
  .exclusion-list-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:4px;
    font-size:12px;
    color:var(--muted);
  }
  .exclusion-chip{
    display:inline-flex;
    align-items:center;
    padding:0 8px;
    border-radius:999px;
    background:#eef2ff;
    color:var(--accent);
    font-size:11px;
    font-weight:600;
  }

  .exclusion-create{
    border:1px dashed var(--line);
    border-radius:12px;
    background:#f9fafb;
    padding:12px;
  }
  .exclusion-create.hidden{ display:none; }
  .exclusion-create input[type="text"],
  .exclusion-create textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:8px;
    padding:8px 10px;
    font-size:14px;
    background:#fff;
  }
  .exclusion-create textarea{
    resize:vertical;
    min-height:96px;
  }
  .exclusion-create__error{
    font-size:13px;
    color:#dc2626;
  }
