/* Skidki24 0.4 — price filter sheet. All selectors scoped to the catalog. */
.discounts-app .discounts-catalog-controls {
    display: grid;
    gap: 10px;
    margin: 6px 0 12px;
    padding: 0;
}
.discounts-app .discounts-control-label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 650;
    color: var(--muted-text, #777);
}
.discounts-app .discounts-search-box {
    min-height: 48px;
    border: 1px solid var(--border, #dce2e9);
    border-radius: 14px;
    padding: 0 13px;
    display: flex;
    align-items: center;
    gap: 9px;
    background: var(--card, #fff);
    box-sizing: border-box;
}
.discounts-app .discounts-search-box > svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: var(--muted-text, #777);
    stroke-width: 2;
    stroke-linecap: round;
}
.discounts-app .discounts-search-input {
    border: 0 !important;
    outline: 0;
    min-width: 0;
    flex: 1;
    padding: 11px 0;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text, #151515);
    font: inherit;
    font-size: 14px;
}
.discounts-app .discounts-search-box:focus-within {
    border-color: var(--accent, #2271b1);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent, #2271b1), transparent 80%);
}
.discounts-app .discounts-control-row { display: flex; gap: 9px; align-items: stretch; }
.discounts-app .discounts-filter-trigger {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    min-height: 46px;
    min-width: 126px;
    border: 1px solid var(--border, #dce2e9);
    border-radius: 12px;
    background: var(--card, #fff);
    color: var(--text, #181818);
    font-size: 14px;
    font-weight: 650;
    cursor: pointer;
}
.discounts-app .discounts-filter-trigger.is-active {
    color: var(--accent, #2271b1);
    border-color: var(--accent, #2271b1);
}
.discounts-app .discounts-filter-trigger svg,
.discounts-app .discounts-filter-close svg {
    width: 19px; height: 19px;
    stroke: currentColor; fill: none; stroke-width: 1.9; stroke-linecap: round;
}
.discounts-app .discounts-filter-count {
    box-sizing: border-box;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 99px;
    color: #fff;
    background: var(--accent, #2271b1);
    font-size: 11px;
}
.discounts-app .discounts-filter-count[hidden] { display: none; }
.discounts-app .discounts-sort-field { min-width: 0; flex: 1; }
.discounts-app .discounts-sort-select,
.discounts-app .discounts-filter-select {
    box-sizing: border-box;
    width: 100%; min-width: 0;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid var(--border, #dce2e9);
    border-radius: 12px;
    background: var(--card, #fff);
    color: var(--text, #181818);
    font: inherit;
    font-size: 13px;
}
.discounts-app .discounts-active-filters {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.discounts-app .discounts-active-filters[hidden] { display: none; }
.discounts-app .discounts-active-chip {
    border: 1px solid var(--border, #dce2e9);
    background: var(--card-muted, #f4f8fb);
    color: var(--text, #111);
    border-radius: 100px;
    font-size: 12px;
    padding: 5px 10px;
}
.discounts-app .discounts-filter-overlay {
    position: fixed;
    inset: 0;
    z-index: 100100;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    isolation: isolate;
}
.discounts-app .discounts-filter-overlay[hidden] { display: none !important; }
.discounts-app .discounts-filter-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.52); }
.discounts-app .discounts-filter-panel {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 540px;
    max-height: min(90dvh, 850px);
    border-radius: 22px 22px 0 0;
    background: var(--card, #fff);
    color: var(--text, #111);
    box-shadow: 0 -5px 30px rgba(0,0,0,.16);
    outline: none;
}
.discounts-app .discounts-filter-handle {
    flex-shrink: 0;
    width: 40px;
    height: 4px;
    border-radius: 30px;
    margin: 9px auto 0;
    background: var(--border, #dce2e9);
}
.discounts-app .discounts-filter-heading {
    display: flex;
    flex-shrink: 0;
    justify-content: space-between;
    align-items: center;
    padding: 11px 18px 14px;
    border-bottom: 1px solid var(--border, #dce2e9);
}
.discounts-app .discounts-filter-heading h2 { margin: 0; padding: 0; font-size: 19px; font-weight: 750; }
.discounts-app .discounts-filter-close {
    border: 1px solid var(--border, #dce2e9);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px; height: 36px;
    border-radius: 50%;
    color: var(--text, #111);
    background: var(--card-muted, #f4f8fb);
    cursor: pointer;
}
.discounts-app .discounts-filter-body {
    overflow-y: auto;
    overscroll-behavior: contain;
    min-height: 0;
    padding: 20px 18px;
}
.discounts-app .discounts-filter-section-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}
.discounts-app .discounts-filter-section-title h3 {
    margin: 0; padding: 0;
    font-size: 16px; font-weight: 750;
}
.discounts-app .discounts-filter-section-title > span { font-size: 12px; color: var(--muted-text, #777); }
.discounts-app .discounts-price-range {
    position: relative;
    margin: 22px 9px 23px;
    height: 22px;
}
.discounts-app .discounts-price-track,
.discounts-app .discounts-price-track-fill {
    position: absolute;
    height: 5px;
    top: 9px;
    border-radius: 10px;
}
.discounts-app .discounts-price-track { left: 0; right: 0; background: var(--border, #e1e6eb); }
.discounts-app .discounts-price-track-fill { left: 0; width: 100%; background: var(--accent, #2271b1); }
.discounts-app .discounts-price-range input[type="range"] {
    position: absolute;
    left: 0; top: 0;
    width: 100%; height: 22px;
    margin: 0; padding: 0;
    appearance: none; -webkit-appearance: none;
    border: 0; background: transparent;
    pointer-events: none;
}
.discounts-app .discounts-price-range input[type="range"]::-webkit-slider-thumb {
    appearance: none; -webkit-appearance: none;
    pointer-events: auto;
    width: 24px; height: 24px;
    border-radius: 50%;
    border: 3px solid var(--accent, #2271b1);
    background: var(--card, #fff);
    box-shadow: 0 2px 6px rgba(0,0,0,.17);
    cursor: grab;
}
.discounts-app .discounts-price-range input[type="range"]::-moz-range-thumb {
    pointer-events: auto;
    width: 18px; height: 18px;
    border-radius: 50%;
    border: 3px solid var(--accent, #2271b1);
    background: var(--card, #fff);
    box-shadow: 0 2px 6px rgba(0,0,0,.17);
    cursor: grab;
}
.discounts-app .discounts-price-range input[type="range"]:focus-visible { outline: 0; }
.discounts-app .discounts-price-range input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(42,127,255,.22); }
.discounts-app .discounts-price-range input[type="range"]:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 4px rgba(42,127,255,.22); }
.discounts-app .discounts-price-inputs { display: flex; gap: 9px; align-items: end; }
.discounts-app .discounts-price-inputs label { flex: 1; min-width: 0; color: var(--muted-text, #777); font-size: 12px; font-weight: 600; }
.discounts-app .discounts-price-input-wrap {
    display: flex; min-height: 48px; box-sizing: border-box;
    align-items: center; gap: 5px; margin-top: 6px; padding: 0 10px;
    border: 1px solid var(--border, #dce2e9); border-radius: 11px;
    background: var(--card-muted, #f4f8fb);
}
.discounts-app .discounts-price-input-wrap:focus-within { border-color: var(--accent, #2271b1); }
.discounts-app .discounts-price-input-wrap input {
    flex: 1; width: 100%; min-width: 0;
    border: 0; outline: none; background: transparent;
    color: var(--text, #111); padding: 9px 0;
    font: inherit; font-size: 15px; box-shadow: none;
}
.discounts-app .discounts-price-input-wrap > span { white-space: nowrap; color: var(--muted-text, #777); font-size: 11px; }
.discounts-app .discounts-price-separator { align-self: center; color: var(--muted-text, #777); }
.discounts-app .discounts-price-presets { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 13px; }
.discounts-app .discounts-price-preset {
    border: 1px solid var(--border, #dce2e9); border-radius: 40px;
    padding: 8px 11px; min-height: 36px;
    font-size: 12px; color: var(--text, #111); background: var(--card-muted, #f4f8fb);
    cursor: pointer;
}
.discounts-app .discounts-price-preset[hidden] { display: none !important; }
.discounts-app .discounts-price-range input:disabled { opacity: .5; cursor: not-allowed; }
.discounts-app .discounts-price-preset.is-selected {
    border-color: var(--accent, #2271b1);
    color: var(--accent, #2271b1);
    background: var(--card, #fff);
}
.discounts-app .discounts-price-hint { font-size: 13px; color: var(--muted-text, #777); }
.discounts-app .discounts-price-error { color: #d63a3a; font-size: 12px; }
.discounts-app .discounts-price-error[hidden] { display: none; }
.discounts-app .discounts-filter-selects {
    display: grid;
    gap: 15px;
    border-top: 1px solid var(--border, #dce2e9);
    margin-top: 20px;
    padding-top: 20px;
}
.discounts-app .discounts-filter-selects > label { display: flex; flex-direction: column; gap: 7px; font-size: 13px; font-weight: 650; }
.discounts-app .discounts-filter-select { background: var(--card-muted, #f4f8fb); min-height: 46px; font-size: 14px; }
.discounts-app .discounts-filter-footer {
    flex-shrink: 0;
    display: flex;
    gap: 12px;
    padding: 13px 18px max(18px, env(safe-area-inset-bottom));
    border-top: 1px solid var(--border, #dce2e9);
    background: var(--card, #fff);
}
.discounts-app .discounts-filter-reset,
.discounts-app .discounts-filter-apply {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 12px;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 750;
}
.discounts-app .discounts-filter-reset {
    width: 36%;
    background: var(--card-muted, #f4f8fb);
    border: 1px solid var(--border, #dce2e9);
    color: var(--text, #111);
}
.discounts-app .discounts-filter-apply {
    flex: 1;
    border: 1px solid transparent;
    color: #fff;
    background: #ef5a24;
}
.discounts-app .discounts-filter-trigger:focus-visible,
.discounts-app .discounts-filter-close:focus-visible,
.discounts-app .discounts-filter-reset:focus-visible,
.discounts-app .discounts-filter-apply:focus-visible,
.discounts-app .discounts-price-preset:focus-visible,
.discounts-app .discounts-page-btn:focus-visible,
.discounts-app .discounts-sort-select:focus-visible,
.discounts-app .discounts-filter-select:focus-visible {
    outline: 2px solid var(--accent, #2271b1);
    outline-offset: 2px;
}
.discounts-app .discounts-results-summary { margin: 5px 0 10px; color: var(--muted-text, #777); font-size: 13px; }
.discounts-app .discounts-pagination { display: flex; gap: 10px; justify-content: space-between; align-items: center; margin: 0 0 24px; padding: 12px 0; }
.discounts-app .discounts-pagination[hidden] { display: none; }
.discounts-app .discounts-page-btn {
    box-sizing: border-box; display: flex; justify-content: center; align-items: center;
    flex: 0 0 auto; min-width: 76px; min-height: 44px; padding: 8px 10px;
    border: 1px solid var(--border, #dce2e9); border-radius: 9px;
    background: var(--card, #fff); color: var(--accent, #2271b1);
    font: inherit; font-size: 13px; font-weight: 650; cursor: pointer;
}
.discounts-app .discounts-page-btn:disabled { opacity: .4; cursor: default; }
.discounts-app .discounts-page-status { min-width: 0; text-align: center; font-size: 12px; color: var(--muted-text, #777); }
.discounts-app .discounts-load-error,
.discounts-app .discounts-no-results { margin: 12px 0; color: var(--muted-text, #777); font-size: 14px; }
@media (min-width: 720px) {
    .discounts-app .discounts-filter-overlay { justify-content: flex-end; align-items: stretch; }
    .discounts-app .discounts-filter-panel { border-radius: 18px 0 0 18px; width: min(420px, 100%); max-height: 100dvh; }
    .discounts-app .discounts-filter-handle { display: none; }
}
@media (prefers-reduced-motion: no-preference) {
    .discounts-app .discounts-filter-panel { animation: discounts-filter-enter .22s ease-out; }
    @keyframes discounts-filter-enter { from { transform: translateY(15px); opacity: .8; } to { transform: translateY(0); opacity: 1; } }
}


/* ============================================================
   Skidki24 0.4.3 — visual refresh of filters (CSS only).
   No changes to AJAX, country/currency or price-bound logic.
   Scoped styles so theme header/cards stay unchanged.
   ============================================================ */
.discounts-app .discounts-filter-overlay {
    --sf-surface: #ffffff;
    --sf-canvas: #f6f7f9;
    --sf-input: #f8f9fc;
    --sf-text: #1e2531;
    --sf-muted: #707987;
    --sf-line: #e7eaf0;
    --sf-accent: #ed513c;
    --sf-accent-soft: #fff0eb;
    --sf-track: #e9edf2;
    --sf-shadow: 0 -12px 45px rgba(19, 24, 36, .17);
    font-family: inherit;
    line-height: 1.45;
}
[data-theme="dark"] .discounts-app .discounts-filter-overlay {
    --sf-surface: #24262b;
    --sf-canvas: #181a1e;
    --sf-input: #303239;
    --sf-text: #f6f6f7;
    --sf-muted: #adb4c0;
    --sf-line: #3a3e46;
    --sf-accent: #ff7755;
    --sf-accent-soft: #3a2b2a;
    --sf-track: #484b53;
    --sf-shadow: 0 -12px 45px rgba(0, 0, 0, .45);
}
.discounts-app .discounts-filter-backdrop {
    background: rgba(12, 18, 28, .60);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}
.discounts-app .discounts-filter-panel {
    background: var(--sf-canvas);
    color: var(--sf-text);
    width: 100%;
    height: min(94dvh, 830px);
    max-height: calc(100dvh - 12px);
    max-width: 540px;
    border-radius: 24px 24px 0 0;
    box-shadow: var(--sf-shadow);
    overflow: hidden;
}
.discounts-app .discounts-filter-handle {
    width: 38px;
    height: 4px;
    margin: 8px auto 0;
    background: var(--sf-line);
    opacity: .95;
}
.discounts-app .discounts-filter-heading {
    min-height: 60px;
    padding: 11px 16px 13px;
    background: var(--sf-surface);
    border-bottom: 1px solid var(--sf-line);
    box-sizing: border-box;
}
.discounts-app .discounts-filter-heading h2 {
    font-size: 19px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: -.025em;
    color: var(--sf-text);
}
.discounts-app .discounts-filter-close {
    width: 36px;
    height: 36px;
    border: 1px solid var(--sf-line);
    background: var(--sf-input);
    color: var(--sf-text);
    border-radius: 11px;
}
.discounts-app .discounts-filter-close:hover,
.discounts-app .discounts-filter-close:active {
    background: var(--sf-accent-soft);
    color: var(--sf-accent);
}
.discounts-app .discounts-filter-body {
    flex: 1 1 auto;
    padding: 12px 12px 20px;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--sf-line) transparent;
}
.discounts-app .discounts-price-section,
.discounts-app .discounts-filter-selects {
    box-sizing: border-box;
    margin: 0 0 12px;
    border: 1px solid var(--sf-line);
    border-radius: 16px;
    background: var(--sf-surface);
    padding: 16px;
    box-shadow: 0 1px 3px rgba(18, 23, 33, .025);
}
.discounts-app .discounts-filter-section-title {
    align-items: center;
    gap: 8px;
}
.discounts-app .discounts-filter-section-title h3 {
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -.015em;
    color: var(--sf-text);
}
.discounts-app .discounts-filter-section-title > span {
    display: inline-flex;
    align-items: center;
    border-radius: 100px;
    background: var(--sf-accent-soft);
    color: var(--sf-accent);
    padding: 5px 10px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}
.discounts-app .discounts-price-range {
    margin: 18px 11px 17px;
    height: 26px;
}
.discounts-app .discounts-price-track,
.discounts-app .discounts-price-track-fill {
    height: 6px;
    top: 10px;
    border-radius: 9px;
}
.discounts-app .discounts-price-track { background: var(--sf-track); }
.discounts-app .discounts-price-track-fill { background: var(--sf-accent); }
.discounts-app .discounts-price-range input[type="range"] {
    height: 26px;
    cursor: pointer;
    background: transparent !important;
}
.discounts-app .discounts-price-range input[type="range"]::-webkit-slider-thumb {
    width: 24px;
    height: 24px;
    border: 3px solid var(--sf-accent);
    background: var(--sf-surface);
    box-shadow: 0 1px 6px rgba(15, 22, 36, .22);
}
.discounts-app .discounts-price-range input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border: 3px solid var(--sf-accent);
    background: var(--sf-surface);
    box-shadow: 0 1px 6px rgba(15, 22, 36, .22);
}
.discounts-app .discounts-price-range input[type="range"]:focus-visible::-webkit-slider-thumb {
    box-shadow: 0 0 0 4px rgba(237, 81, 60, .20);
}
.discounts-app .discounts-price-range input[type="range"]:focus-visible::-moz-range-thumb {
    box-shadow: 0 0 0 4px rgba(237, 81, 60, .20);
}
.discounts-app .discounts-price-inputs { gap: 9px; align-items: flex-end; }
.discounts-app .discounts-price-inputs label {
    min-width: 0;
    flex: 1 1 0;
    color: var(--sf-muted);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.4;
}
.discounts-app .discounts-price-input-wrap {
    min-height: 49px;
    margin-top: 5px;
    border-radius: 12px;
    border: 1px solid var(--sf-line);
    background: var(--sf-input);
    padding: 0 12px;
    transition: border-color .16s ease, box-shadow .16s ease;
}
.discounts-app .discounts-price-input-wrap:focus-within {
    border-color: var(--sf-accent);
    box-shadow: 0 0 0 3px rgba(237, 81, 60, .10);
}
.discounts-app .discounts-price-input-wrap input {
    padding: 10px 0;
    min-height: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--sf-text);
    font-size: 16px;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
    -moz-appearance: textfield;
}
.discounts-app .discounts-price-input-wrap input::-webkit-inner-spin-button,
.discounts-app .discounts-price-input-wrap input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.discounts-app .discounts-price-input-wrap input::placeholder { color: var(--sf-muted); opacity: .80; }
.discounts-app .discounts-price-input-wrap > span {
    font-size: 11px;
    font-weight: 650;
    color: var(--sf-muted);
}
.discounts-app .discounts-price-separator { color: var(--sf-muted); font-size: 14px; }
.discounts-app .discounts-price-presets {
    gap: 8px;
    margin-top: 13px;
}
.discounts-app .discounts-price-preset {
    min-height: 37px;
    padding: 7px 12px;
    border: 1px solid var(--sf-line);
    border-radius: 100px;
    background: var(--sf-input);
    color: var(--sf-text);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    transition: background .15s ease, border-color .15s ease;
}
.discounts-app .discounts-price-preset:hover {
    border-color: var(--sf-accent);
    color: var(--sf-accent);
}
.discounts-app .discounts-price-preset.is-selected {
    border-color: var(--sf-accent);
    background: var(--sf-accent-soft);
    color: var(--sf-accent);
}
.discounts-app .discounts-price-hint,
.discounts-app .discounts-price-error { margin: 10px 0 0; line-height: 1.4; }
.discounts-app .discounts-price-hint { color: var(--sf-muted); font-size: 12px; }
.discounts-app .discounts-price-error { color: #e54845; }
.discounts-app .discounts-filter-selects {
    display: grid;
    gap: 13px;
    border-top: 1px solid var(--sf-line);
    margin-top: 12px;
    padding-top: 16px;
}
.discounts-app .discounts-filter-selects > label {
    gap: 6px;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 750;
    color: var(--sf-text);
}
.discounts-app .discounts-filter-select {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 46px;
    border: 1px solid var(--sf-line);
    border-radius: 12px;
    background-color: var(--sf-input);
    color: var(--sf-text);
    font: inherit;
    font-size: 14px;
    font-weight: 550;
    padding: 8px 36px 8px 12px;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23858b96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 16px;
}
.discounts-app .discounts-filter-select:focus-visible,
.discounts-app .discounts-price-input-wrap:focus-within {
    outline: none;
    border-color: var(--sf-accent);
}
.discounts-app .discounts-filter-footer {
    gap: 10px;
    padding: 12px 14px max(15px, env(safe-area-inset-bottom));
    background: var(--sf-surface);
    border-top: 1px solid var(--sf-line);
    box-shadow: 0 -7px 22px rgba(16, 21, 34, .035);
}
.discounts-app .discounts-filter-reset,
.discounts-app .discounts-filter-apply {
    min-height: 49px;
    box-sizing: border-box;
    border-radius: 13px;
    font-size: 14px;
    font-weight: 800;
}
.discounts-app .discounts-filter-reset {
    width: 36%;
    border: 1px solid var(--sf-line);
    background: var(--sf-input);
    color: var(--sf-text);
}
.discounts-app .discounts-filter-apply {
    background: linear-gradient(105deg, #ff703c, #ee493f);
    color: #fff;
    border: 1px solid transparent;
    box-shadow: 0 4px 10px rgba(238, 73, 63, .15);
}
.discounts-app .discounts-filter-apply:active { transform: scale(.99); }
.discounts-app .discounts-filter-apply:disabled { opacity: .7; cursor: wait; }
.discounts-app .discounts-filter-trigger.is-active {
    color: var(--sf-accent, #ed513c);
    border-color: #ed513c;
    background: #fff3ef;
}
[data-theme="dark"] .discounts-app .discounts-filter-trigger.is-active {
    background: #3a2b2a;
    color: #ff7755;
    border-color: #ff7755;
}
.discounts-app .discounts-filter-count {
    background: #ed513c;
    color: #fff;
}
.discounts-app .discounts-price-preset:focus-visible,
.discounts-app .discounts-filter-close:focus-visible,
.discounts-app .discounts-filter-reset:focus-visible,
.discounts-app .discounts-filter-apply:focus-visible,
.discounts-app .discounts-filter-select:focus-visible {
    outline: 2px solid var(--sf-accent);
    outline-offset: 2px;
}
@media (max-width: 365px) {
    .discounts-app .discounts-filter-body { padding-inline: 9px; }
    .discounts-app .discounts-price-section, .discounts-app .discounts-filter-selects { padding: 13px; }
    .discounts-app .discounts-filter-footer { padding-inline: 9px; }
    .discounts-app .discounts-price-preset { padding-inline: 9px; }
}
@media (min-width: 720px) {
    .discounts-app .discounts-filter-panel {
        width: min(430px, 100%);
        max-width: 430px;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 22px 0 0 22px;
    }
    .discounts-app .discounts-filter-body { padding: 16px; }
}
@media (prefers-reduced-motion: no-preference) {
    .discounts-app .discounts-filter-panel { animation: sf-sheet-enter .25s cubic-bezier(.20,.75,.3,1); }
    @keyframes sf-sheet-enter { from { transform: translateY(20px); opacity: .95; } to { transform: translateY(0); opacity: 1; } }
    @media (min-width: 720px) {
        .discounts-app .discounts-filter-panel { animation-name: sf-side-enter; }
        @keyframes sf-side-enter { from { transform: translateX(24px); opacity: .95; } to { transform: translateX(0); opacity: 1; } }
    }
}

/* === SKIDKI24: PRICE RANGE SLIDER === */

.discounts-app .discounts-price-range {
    position: relative;
    height: 30px;
    margin: 16px 10px 20px;
}

/* Основная линия */
.discounts-app .discounts-price-track,
.discounts-app .discounts-price-track-fill {
    position: absolute;
    top: 13px;
    height: 4px;
    border-radius: 999px;
}

.discounts-app .discounts-price-track {
    left: 0;
    right: 0;
    background: var(--sf-track, #e5e7eb);
}

/* Выбранный диапазон */
.discounts-app .discounts-price-track-fill {
    background: #ff6536;
    top: 0px;
}

/* Два ползунка */
.discounts-app .discounts-price-range input[type="range"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 30px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent !important;
    appearance: none;
    -webkit-appearance: none;
    pointer-events: none;
}

/* Убираем системную линию Chrome / Safari */
.discounts-app .discounts-price-range
input[type="range"]::-webkit-slider-runnable-track {
    height: 4px;
    background: transparent;
    border: none;
}

/* Бегунки Chrome / Safari / Edge */
.discounts-app .discounts-price-range
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;

    width: 18px;
    height: 18px;
    margin-top: -7px;

    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #ff6536;

    box-shadow: 0 2px 6px rgba(0,0,0,0.2);

    cursor: grab;
    pointer-events: auto;
}

/* Firefox */
.discounts-app .discounts-price-range
input[type="range"]::-moz-range-track {
    height: 4px;
    background: transparent;
    border: none;
}

.discounts-app .discounts-price-range
input[type="range"]::-moz-range-thumb {
    box-sizing: border-box;
    width: 18px;
    height: 18px;

    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #ff6536;

    box-shadow: 0 2px 6px rgba(0,0,0,0.2);

    cursor: grab;
    pointer-events: auto;
}

/* При перетаскивании */
.discounts-app .discounts-price-range
input[type="range"]:active::-webkit-slider-thumb {
    cursor: grabbing;
    box-shadow: 0 0 0 5px rgba(255,101,54,0.15);
}

.discounts-app .discounts-price-range
input[type="range"]:active::-moz-range-thumb {
    cursor: grabbing;
    box-shadow: 0 0 0 5px rgba(255,101,54,0.15);
}

/* Skidki24 0.4.5 — discount and expiry quick filters */
.discounts-app .discounts-choice-section {
    border: 1px solid var(--sf-line, var(--border, #e4e6ec));
    border-radius: 16px;
    background: var(--sf-surface, var(--card, #fff));
    padding: 15px 16px;
    margin-top: 12px;
    box-sizing: border-box;
}
.discounts-app .discounts-choice-section .discounts-filter-section-title { margin-bottom: 12px; }
.discounts-app .discounts-choice-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.discounts-app .discounts-choice-chip {
    box-sizing: border-box;
    min-height: 40px;
    padding: 9px 13px;
    border-radius: 22px;
    border: 1px solid var(--sf-line, var(--border, #e4e6ec));
    background: var(--sf-input, var(--card-muted, #f6f7f9));
    color: var(--sf-text, var(--text, #191919));
    font: inherit;
    font-size: 13px;
    font-weight: 650;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color .12s ease, background-color .12s ease;
}
.discounts-app .discounts-choice-chip.is-selected {
    border-color: #ed513c;
    background: #fff0e9;
    color: #c64028;
    font-weight: 750;
}
[data-theme="dark"] .discounts-app .discounts-choice-chip.is-selected {
    background: #3a2928;
    color: #ff9378;
    border-color: #f26a4e;
}
.discounts-app .discounts-choice-chip:focus-visible {
    outline: 2px solid #f26a4e;
    outline-offset: 2px;
}
.discounts-app .discounts-choice-hint {
    margin: 9px 0 0;
    color: var(--sf-muted, var(--muted-text, #777));
    font-size: 11px;
    line-height: 1.45;
}
@media (max-width: 365px) {
    .discounts-app .discounts-choice-section { padding: 13px; }
    .discounts-app .discounts-choice-chip { padding: 8px 10px; font-size: 12px; }
}

/* Skidki24 0.4.6 — proximity filter; appended to user's canonical CSS. */
.discounts-app .discounts-nearby-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: space-between;
    cursor: pointer;
    padding: 6px 0;
    color: var(--sf-text, var(--text, #191919));
}
.discounts-app .discounts-nearby-copy { font-size: 14px; font-weight: 650; flex: 1; }
.discounts-app .discounts-nearby-toggle input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.discounts-app .discounts-nearby-switch {
    position: relative;
    width: 44px;
    height: 26px;
    flex: 0 0 44px;
    border-radius: 99px;
    background: var(--sf-line, #dce2e9);
    transition: background .16s ease;
}
.discounts-app .discounts-nearby-switch::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: white;
    box-shadow: 0 1px 4px rgba(0,0,0,.20);
    transition: transform .16s ease;
}
.discounts-app .discounts-nearby-toggle input:checked + .discounts-nearby-switch {
    background: var(--sf-accent, #ed513c);
}
.discounts-app .discounts-nearby-toggle input:checked + .discounts-nearby-switch::after {
    transform: translateX(18px);
}
.discounts-app .discounts-nearby-toggle input:focus-visible + .discounts-nearby-switch {
    outline: 2px solid var(--sf-accent, #ed513c);
    outline-offset: 3px;
}
.discounts-app .discounts-nearby-toggle input:disabled + .discounts-nearby-switch { opacity: .6; }
.discounts-app .discounts-nearby-controls { margin: 10px 0 0; }
.discounts-app .discounts-nearby-controls[hidden],
.discounts-app .discounts-nearby-status[hidden] { display: none !important; }
.discounts-app .discounts-nearby-status {
    margin: 9px 0 0;
    font-size: 12px;
    line-height: 1.4;
    color: var(--sf-muted, var(--muted-text, #777));
}
.discounts-app .discounts-nearby-status.is-error { color: #e54845; }
.discounts-app .discount-nearby-distance,
.discounts-app .discount-nearby-distance { color: var(--sf-accent, #ed513c); font-size: 13px; font-weight: 700; margin: 8px 0; }


/* Skidki24 0.4.7 — in-card photo gallery and actions.
   Appended to the user's actual catalog-controls.css; previous styles untouched. */
.discounts-app .skidki24-card-gallery {
    position: relative;
    overflow: hidden;
    width: 100%;
    background: var(--card, #fff);
    touch-action: auto;
}
.discounts-app .skidki24-gallery-viewport {
    display: flex;
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
}
.discounts-app .skidki24-gallery-viewport::-webkit-scrollbar { display: none; }
.discounts-app .skidki24-gallery-slide {
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
.discounts-app .card .skidki24-gallery-slide img.card-image {
    display: block;
    width: 100% !important;
    height: clamp(165px, 48vw, 240px) !important;
    object-fit: cover;
    object-position: center;
}
.discounts-app .skidki24-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 50%;
    background: rgba(14,19,27,.57);
    color: #fff;
    font-size: 26px;
    line-height: 1;
    padding: 0 0 3px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.discounts-app .skidki24-gallery-prev { left: 10px; }
.discounts-app .skidki24-gallery-next { right: 10px; }
.discounts-app .skidki24-gallery-arrow:disabled { opacity: .25; cursor: default; }
.discounts-app .skidki24-gallery-counter {
    position: absolute;
    right: 12px;
    bottom: 11px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(14,19,27,.68);
    color: #fff;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    pointer-events: none;
}
.discounts-app .skidki24-card-description .description {
    margin: 8px 0 3px;
    white-space: pre-line;
    overflow-wrap: anywhere;
}
.discounts-app .skidki24-description-short[hidden],
.discounts-app .skidki24-description-full[hidden] { display: none !important; }
.discounts-app .skidki24-description-toggle {
    background: none;
    border: 0;
    color: var(--accent-soft, #ed513c);
    padding: 5px 0 8px;
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
}
.discounts-app .skidki24-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border, #e4e6ec);
}
.discounts-app .skidki24-card-actions > button,
.discounts-app .skidki24-card-actions > a {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 37px;
    border: 1px solid var(--border, #e4e6ec);
    border-radius: 999px;
    padding: 7px 13px;
    background: var(--card, #fff);
    color: var(--text, #222);
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}
.discounts-app .skidki24-card-actions .skidki24-contact-whatsapp {
    border-color: #278e59;
    color: #278e59;
}
.discounts-app .skidki24-card-actions > button:focus-visible,
.discounts-app .skidki24-card-actions > a:focus-visible,
.discounts-app .skidki24-gallery-arrow:focus-visible,
.discounts-app .skidki24-description-toggle:focus-visible,
.discounts-app .skidki24-gallery-viewport:focus-visible {
    outline: 2px solid var(--sf-accent, #ed513c);
    outline-offset: 2px;
}
@media (max-width: 380px) {
    .discounts-app .skidki24-card-actions { gap: 6px; }
    .discounts-app .skidki24-card-actions > button,
    .discounts-app .skidki24-card-actions > a { padding: 7px 10px; font-size: 12px; }
}


/* Skidki24 0.4.8 — mobile offer-card visual refinement.
   Based on the user's catalog-controls.css and 0.4.7 card interactions.
   Only .discount-card and .favorite-card within .discounts-app are affected. */
.discounts-app .discount-card,
.discounts-app .favorite-card {
    --offer-accent: #ed563d;
    --offer-soft: #fff1ec;
    --offer-surface: var(--card, #fff);
    --offer-muted: var(--muted-text, #777);
    --offer-line: var(--border, #e5e7eb);
    position: relative;
    box-sizing: border-box;
    margin: 12px 0 16px;
    background: var(--offer-surface);
    border: 1px solid var(--offer-line);
    border-radius: 19px;
    overflow: hidden;
    box-shadow: 0 5px 22px rgba(19, 24, 36, .08);
}
[data-theme="dark"] .discounts-app .discount-card,
[data-theme="dark"] .discounts-app .favorite-card {
    --offer-accent: #ff8061;
    --offer-soft: #3b2927;
    box-shadow: 0 7px 25px rgba(0, 0, 0, .25);
}
.discounts-app .discount-card.is-active,
.discounts-app .favorite-card.is-active {
    outline: 2px solid var(--offer-accent);
    outline-offset: 0;
    box-shadow: 0 0 0 3px rgba(237, 86, 61, .12);
    transform: none;
}
.discounts-app .discount-card .skidki24-card-gallery,
.discounts-app .favorite-card .skidki24-card-gallery {
    border-radius: 18px 18px 0 0;
    background: var(--card-muted, #f5f5f6);
}
.discounts-app .discount-card .skidki24-gallery-slide img.card-image,
.discounts-app .favorite-card .skidki24-gallery-slide img.card-image {
    height: clamp(182px, 54vw, 234px) !important;
    object-fit: cover;
}
.discounts-app .discount-card .skidki24-gallery-arrow,
.discounts-app .favorite-card .skidki24-gallery-arrow {
    width: 29px;
    height: 29px;
    border: 1px solid rgba(255,255,255,.3);
    background: rgba(18,22,28,.48);
    font-size: 24px;
}
.discounts-app .discount-card .skidki24-gallery-counter,
.discounts-app .favorite-card .skidki24-gallery-counter {
    bottom: 10px;
    right: 10px;
    padding: 5px 9px;
    font-size: 11px;
    letter-spacing: .025em;
    background: rgba(18,22,28,.70);
}
.discounts-app .discount-card .favorite-btn,
.discounts-app .favorite-card .favorite-btn {
    top: 11px;
    right: 11px;
    width: 39px;
    height: 39px;
    border: 1px solid rgba(255,255,255,.7);
    background: rgba(255,255,255,.97);
    color: #333;
    box-shadow: 0 2px 11px rgba(10, 15, 25, .15);
}
.discounts-app .discount-card .card-content,
.discounts-app .favorite-card .card-content {
    padding: 15px 15px 16px;
}
.discounts-app .discount-card .card-header,
.discounts-app .favorite-card .card-header {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    justify-content: space-between;
    padding: 0 !important;
    margin: 0 0 7px;
    border: 0 !important;
    background: none !important;
}
.discounts-app .discount-card .card-header h3,
.discounts-app .favorite-card .card-header h3 {
    min-width: 0;
    margin: 0;
    padding: 0;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: -.018em;
    color: var(--text, #171717);
    overflow-wrap: anywhere;
}
.discounts-app .discount-card .card-header .discount,
.discounts-app .favorite-card .card-header .discount {
    flex: 0 0 auto;
    box-sizing: border-box;
    margin-top: 1px;
    padding: 5px 9px;
    background: var(--offer-soft);
    color: var(--offer-accent);
    border-radius: 9px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 850;
    white-space: nowrap;
}
.discounts-app .discount-card .price,
.discounts-app .favorite-card .price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 9px;
    row-gap: 0;
    margin: 4px 0 8px;
    font-variant-numeric: tabular-nums;
}
.discounts-app .discount-card .price .new,
.discounts-app .favorite-card .price .new {
    order: -1;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 850;
    letter-spacing: -.02em;
    color: var(--offer-accent);
}
.discounts-app .discount-card .price .old,
.discounts-app .favorite-card .price .old {
    font-size: 13px;
    line-height: 1.4;
    margin: 0;
    font-weight: 550;
    color: var(--offer-muted);
}
.discounts-app .discount-card .skidki24-card-description .description,
.discounts-app .favorite-card .skidki24-card-description .description {
    margin: 7px 0 4px;
    color: var(--offer-muted);
    font-size: 13px;
    line-height: 1.5;
}
.discounts-app .discount-card .skidki24-description-toggle,
.discounts-app .favorite-card .skidki24-description-toggle {
    display: inline-flex;
    padding: 3px 0 7px;
    color: var(--offer-accent);
    font-size: 12px;
    font-weight: 800;
    text-underline-offset: 3px;
}
.discounts-app .discount-card .meta,
.discounts-app .favorite-card .meta { margin: 9px 0 0; }
.discounts-app .discount-card .meta .tag,
.discounts-app .favorite-card .meta .tag {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 8px;
    background: var(--card-muted, #f4f7fb);
    border: 1px solid var(--offer-line);
    font-size: 11px;
    line-height: 1.2;
    color: var(--text, #333);
    font-weight: 650;
}
.discounts-app .discount-card .discount-period,
.discounts-app .favorite-card .discount-period {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 5px 9px;
    margin: 11px 0 5px;
    padding: 0;
    font-size: 12px;
    line-height: 1.4;
}
.discounts-app .discount-card .period-status,
.discounts-app .favorite-card .period-status {
    padding: 4px 8px;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}
.discounts-app .discount-card .period-dates,
.discounts-app .favorite-card .period-dates {
    color: var(--offer-muted);
    font-variant-numeric: tabular-nums;
}
.discounts-app .discount-card .discount-location,
.discounts-app .favorite-card .discount-location {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: 9px;
    color: var(--offer-muted);
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.discounts-app .discount-card .discount-location::before,
.discounts-app .favorite-card .discount-location::before {
    content: '';
    flex: 0 0 14px;
    width: 14px;
    height: 17px;
    margin-top: 1px;
    background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea6149' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}
.discounts-app .discount-card .show-on-map-btn,
.discounts-app .favorite-card .show-on-map-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    padding: 3px 0;
    color: var(--offer-accent);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 750;
}
.discounts-app .discount-card .show-on-map-btn:hover,
.discounts-app .favorite-card .show-on-map-btn:hover {
    color: var(--offer-accent);
    text-decoration: underline;
}
.discounts-app .discount-card .skidki24-card-actions,
.discounts-app .favorite-card .skidki24-card-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid var(--offer-line);
}
.discounts-app .discount-card .skidki24-card-actions > button,
.discounts-app .discount-card .skidki24-card-actions > a,
.discounts-app .favorite-card .skidki24-card-actions > button,
.discounts-app .favorite-card .skidki24-card-actions > a {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;
    min-height: 42px;
    padding: 8px 7px;
    border-radius: 11px;
    border: 1px solid var(--offer-line);
    background: var(--card-muted, #f7f8fa);
    color: var(--text, #222);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 750;
    box-shadow: none;
    text-decoration: none;
    white-space: normal;
    text-align: center;
}
.discounts-app .discount-card .skidki24-card-actions .skidki24-card-contact:not(.skidki24-contact-whatsapp),
.discounts-app .favorite-card .skidki24-card-actions .skidki24-card-contact:not(.skidki24-contact-whatsapp) {
    background: var(--offer-accent);
    color: #fff;
    border-color: var(--offer-accent);
}
.discounts-app .discount-card .skidki24-card-actions .skidki24-contact-whatsapp,
.discounts-app .favorite-card .skidki24-card-actions .skidki24-contact-whatsapp {
    background: transparent;
    color: #208552;
    border-color: #8ec8a6;
}
[data-theme="dark"] .discounts-app .skidki24-contact-whatsapp { color: #83e1a9 !important; border-color: #3e8662 !important; }
/* Flex distributes one, two or three available actions evenly. */
@media (max-width: 355px) {
    .discounts-app .discount-card .card-content,
    .discounts-app .favorite-card .card-content { padding-inline: 12px; }
    .discounts-app .discount-card .skidki24-card-actions,
    .discounts-app .favorite-card .skidki24-card-actions { gap: 5px; }
    .discounts-app .discount-card .skidki24-card-actions > button,
    .discounts-app .discount-card .skidki24-card-actions > a,
    .discounts-app .favorite-card .skidki24-card-actions > button,
    .discounts-app .favorite-card .skidki24-card-actions > a { font-size: 11px; padding-inline: 3px; }
}

/* Skidki24 0.4.9 — publication date range (TZ section 4). */
.discounts-app .discounts-posted-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}
.discounts-app .discounts-posted-fields label {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 6px;
    font-size: 12px;
    font-weight: 650;
    color: var(--sf-muted, var(--muted-text, #777));
}
.discounts-app .discounts-posted-date {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 10px 9px;
    border: 1px solid var(--sf-line, var(--border, #dce2e9));
    border-radius: 12px;
    background: var(--sf-input, var(--card-muted, #f8f9fc));
    color: var(--sf-text, var(--text, #111));
    color-scheme: light;
    font: inherit;
    font-size: 13px;
}
[data-theme="dark"] .discounts-app .discounts-posted-date { color-scheme: dark; }
.discounts-app .discounts-posted-date:focus-visible {
    outline: 2px solid var(--sf-accent, #ed513c);
    outline-offset: 2px;
}
.discounts-app .discounts-posted-section .discounts-price-error { margin-top: 9px; }
@media (max-width: 350px) {
    .discounts-app .discounts-posted-fields { gap: 7px; }
    .discounts-app .discounts-posted-date { padding-inline: 6px; font-size: 12px; }
}


/* Skidki24 0.4.10 — price before / after discount (existing design tokens) */
.discounts-app .discounts-price-kind {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 4px;
    margin: 14px 0 3px;
    border: 1px solid var(--sf-line, var(--border, #e4e6ec));
    border-radius: 12px;
    background: var(--sf-input, var(--card-muted, #f6f7f9));
}
.discounts-app .discounts-price-kind-btn {
    min-width: 0;
    min-height: 38px;
    padding: 7px 5px;
    border: 1px solid transparent;
    border-radius: 9px;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--sf-muted, var(--muted-text, #777));
    background: transparent;
    cursor: pointer;
}
.discounts-app .discounts-price-kind-btn.is-selected {
    color: var(--sf-accent, #ed513c);
    background: var(--sf-surface, var(--card, #fff));
    border-color: var(--sf-line, var(--border, #e4e6ec));
    box-shadow: 0 1px 4px rgba(15, 22, 36, .09);
}
.discounts-app .discounts-price-kind-btn:focus-visible {
    outline: 2px solid var(--sf-accent, #ed513c);
    outline-offset: 2px;
}

/* Skidki24 0.4.11 — offer expiry label from section 7 of the specification.
   Existing custom catalog styling above is preserved verbatim. */
.discounts-app .discount-card .period-status.skidki24-period-active,
.discounts-app .favorite-card .period-status.skidki24-period-active {
    background: #e6f7ee;
    color: #1b7a3a;
}
.discounts-app .discount-card .period-status.skidki24-period-upcoming,
.discounts-app .favorite-card .period-status.skidki24-period-upcoming {
    background: #fff4e5;
    color: #985400;
}
.discounts-app .discount-card .period-status.skidki24-period-expired,
.discounts-app .favorite-card .period-status.skidki24-period-expired {
    background: #ffeaea;
    color: #ad1631;
}
[data-theme="dark"] .discounts-app .period-status.skidki24-period-active {
    background: #213d30;
    color: #9de7b4;
}
[data-theme="dark"] .discounts-app .period-status.skidki24-period-upcoming {
    background: #483522;
    color: #f6c983;
}
[data-theme="dark"] .discounts-app .period-status.skidki24-period-expired {
    background: #42252e;
    color: #ffb4c0;
}


/* Skidki24 0.4.12 — company website / Instagram, specified in TZ section 7.
   Deliberately a second row: contact buttons keep their existing mobile width. */
.discounts-app .discount-card .skidki24-card-external-links,
.discounts-app .favorite-card .skidki24-card-external-links {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin-top: 8px;
}
.discounts-app .discount-card .skidki24-card-external-links > a,
.discounts-app .favorite-card .skidki24-card-external-links > a {
    display: inline-flex;
    box-sizing: border-box;
    flex: 1 1 0;
    min-width: 0;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border: 1px solid var(--offer-line, var(--border, #dce2e9));
    border-radius: 11px;
    background: var(--card, #fff);
    color: var(--offer-accent, var(--sf-accent, #ed513c));
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
}
.discounts-app .skidki24-card-external-links > a:hover { text-decoration: underline; }
.discounts-app .skidki24-card-external-links > a:focus-visible {
    outline: 2px solid var(--sf-accent, #ed513c);
    outline-offset: 2px;
}
[data-theme="dark"] .discounts-app .skidki24-card-external-links > a {
    background: var(--card-muted, #303239);
    color: #ff9378;
}


/* Skidki24 0.4.13 — Section 14: Collaborate / For business page. */
.skidki24-partner {
    box-sizing: border-box;
    width: min(100%, 480px);
    margin: 20px auto 100px;
    padding: 22px 18px 26px;
    border: 1px solid var(--border, #e3e6ea);
    border-radius: 16px;
    background: var(--card, #fff);
    color: var(--text, #111);
}
.skidki24-partner h1 {
    margin: 0 0 18px;
    padding: 0;
    color: inherit;
    font-size: clamp(22px, 6vw, 28px);
    line-height: 1.25;
    font-weight: 800;
}
.skidki24-partner p {
    margin: 0 0 14px;
    color: inherit;
    font-size: 15px;
    line-height: 1.55;
}
.skidki24-partner .skidki24-partner-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 48px;
    margin-top: 22px;
    padding: 12px 16px;
    border-radius: 12px;
    color: #fff;
    background: #ed513c;
    text-decoration: none;
    text-align: center;
    font-size: 15px;
    font-weight: 750;
    transition: background .15s ease;
}
.skidki24-partner .skidki24-partner-cta:hover { color: #fff; background: #d83f2e; }
.skidki24-partner .skidki24-partner-cta:focus-visible { outline: 3px solid #ff9477; outline-offset: 3px; }
@media (max-width: 365px) {
    .skidki24-partner { margin-top: 10px; padding: 17px 14px 20px; }
}

/* Keep all six bottom navigation items legible on narrow screens. */
.page-partner .app-bottom-nav a[href="/partner/"] { color: var(--accent, #ed513c); }
@media (max-width: 390px) {
    .app-bottom-nav .tab-item { min-width: 0; }
    .app-bottom-nav .tab-label { font-size: 10px; white-space: nowrap; }
    .app-bottom-nav .tab-icon { font-size: 18px; }
}


/* Skidki24 0.4.17: Contacts section (specification §16). */
.skidki24-contacts {
    box-sizing: border-box;
    width: min(100%, 680px);
    margin: 12px auto 96px;
    padding: 22px 18px;
    border-radius: 18px;
    border: 1px solid var(--border, #e4e6eb);
    background: var(--card, #fff);
    color: var(--text, #1d2129);
}
.skidki24-contacts h1 {
    margin: 0 0 22px;
    color: inherit;
    font-size: 24px;
    font-weight: 800;
}
.skidki24-contacts-list { margin: 0; padding: 0; }
.skidki24-contact-item {
    display: grid;
    gap: 7px;
    padding: 13px 0;
    border-top: 1px solid var(--border, #e4e6eb);
}
.skidki24-contact-item dt {
    color: var(--muted-text, #707987);
    font-weight: 700;
    font-size: 13px;
}
.skidki24-contact-item dd {
    min-width: 0;
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.skidki24-contact-item a { color: var(--accent, #ed513c); text-decoration: none; }
.skidki24-contact-item a:hover { text-decoration: underline; }
.skidki24-contact-item a:focus-visible { outline: 2px solid var(--accent, #ed513c); outline-offset: 3px; }
.skidki24-social-links { display: flex; flex-wrap: wrap; gap: 10px 16px; }
.skidki24-contacts-empty { margin: 0; color: var(--muted-text, #707987); }
@media (max-width: 365px) {
    .skidki24-contacts { padding: 18px 14px; border-radius: 14px; }
}


/* Skidki24 0.4.18 — category navigation within the existing Catalog page.
   The user's original filter styling above remains unchanged. */
.discounts-app .discounts-category-nav {
    margin: 10px 0 16px;
    display: grid;
    gap: 9px;
    min-width: 0;
}
.discounts-app .discounts-category-main,
.discounts-app .discounts-category-children {
    display: flex;
    gap: 8px;
    align-items: center;
    overflow-x: auto;
    max-width: 100%;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding: 2px 1px 6px;
}
.discounts-app .discounts-category-children[hidden],
.discounts-app .discounts-category-child[hidden] { display: none !important; }
.discounts-app .discounts-category-tab,
.discounts-app .discounts-category-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 42px;
    padding: 9px 14px;
    border-radius: 999px;
    border: 1px solid var(--border, #dce2e9);
    background: var(--card, #fff);
    color: var(--text, #181818);
    font: inherit;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.25;
    cursor: pointer;
    white-space: nowrap;
}
.discounts-app .discounts-category-child {
    min-height: 38px;
    padding: 8px 12px;
    background: var(--card-muted, #f4f8fb);
    font-size: 12px;
}
.discounts-app .discounts-category-tab.is-selected,
.discounts-app .discounts-category-child.is-selected {
    background: #ed513c;
    color: #fff;
    border-color: #ed513c;
}
.discounts-app .discounts-category-tab:focus-visible,
.discounts-app .discounts-category-child:focus-visible {
    outline: 2px solid #ed513c;
    outline-offset: 2px;
}
[data-theme="dark"] .discounts-app .discounts-category-tab,
[data-theme="dark"] .discounts-app .discounts-category-child {
    border-color: #3a3e46;
    background: #303239;
    color: #f6f6f7;
}
[data-theme="dark"] .discounts-app .discounts-category-tab.is-selected,
[data-theme="dark"] .discounts-app .discounts-category-child.is-selected {
    border-color: #ff7755;
    background: #ed513c;
    color: #fff;
}
