/* Public localized discovery filters. All selectors are scoped to this component. */
.df { --df-bg:#292929; --df-panel:#323232; --df-border:#515151; --df-text:#f0f0f0; --df-muted:#c0c0c0; --df-orange:#ff6800; --df-blue:#428bca; color:var(--df-text); font-family:'Open Sans',sans-serif; margin:0; padding:0 24px 20px; background:#2b2b2b; }
.df-bar,.df-selection-row,.df-feedback,.df-error,.df > .df-conflict { max-width:1272px; margin-left:auto; margin-right:auto; }
.df ~ .feed-wrapper #feed-anchor { padding-top:0; }
.df ~ .feed-wrapper #feed-anchor > .try {
  display:flex; align-items:center; justify-content:center;
  margin:0 !important; padding:24px 15px !important;
}
@media (min-width:768px) {
  .df { padding-bottom:0; }
  .df ~ .feed-wrapper { padding-top:0 !important; }
}
body[data-feed-identity="search"] #offer > .df { padding-top:88px; }
body[data-feed-identity="search"] .df ~ .feed-wrapper { padding-top:2px !important; }
.df[hidden], .df [hidden] { display:none !important; }
.df button,.df input { font:inherit; }
.df button { cursor:pointer; }
.df button:focus-visible,.df input:focus-visible,.df a:focus-visible { outline:2px solid #ff9953; outline-offset:3px; }
.df-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; border-top:1px solid #444; border-bottom:1px solid #444; padding:18px 0; }
.df-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.df-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:42px; padding:9px 14px; border:1px solid var(--df-border); border-radius:8px; background:#303030; color:var(--df-text); font-size:13px; line-height:22px; transition:background .15s,border-color .15s; }
.df-button:hover { background:#3d3d3d; border-color:#858585; }
.df-open-all { background:#3b3b3b; border-color:#707070; font-weight:500; }
.df .df-button[aria-pressed="true"],.df .df-facet-button.is-active { background:#4a3326; color:#ffd5b9; border-color:#cf6521; }
.df .df-gold { color:#f0d28a; border-color:#76613a; margin-left:8px; }
.df .df-gold[aria-pressed="true"] { color:#ffe29a; background:#554322; border-color:#c99c42; }
.df-count { display:inline-flex; align-items:center; justify-content:center; background:var(--df-orange); border-radius:12px; color:#171717; min-width:20px; height:20px; padding:0 5px; font-size:12px; font-weight:600; }
.df-context { display:flex; align-items:center; gap:7px; margin-left:auto; color:var(--df-muted); font-size:12px; white-space:nowrap; }
.df-live-dot { width:6px; height:6px; border-radius:50%; background:#9ac370; }
.df-selection-row { display:flex; align-items:center; flex-wrap:wrap; gap:16px; padding-top:14px; }
.df-chips { display:flex; flex-wrap:wrap; gap:7px; flex:1; }
.df-chip { display:inline-flex; align-items:center; gap:8px; min-height:34px; padding:5px 10px; background:#423328; color:#ffcfad; border:1px solid #785136; border-radius:6px; font-size:12px; }
.df-chip:hover { background:#523c2c; }
.df-chip span:last-child { font-size:18px; line-height:1; }
.df-reset { border:0; background:transparent; color:#d4d4d4; min-height:40px; padding:6px 0; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; font-size:13px; }
.df-reset:hover { color:#fff; }
.df-feedback { display:none; justify-content:space-between; gap:12px; flex-wrap:wrap; color:var(--df-muted); font-size:12px; min-height:20px; margin-top:10px; }
.df-error,.df-dialog-error { margin:10px 0 0; padding:10px 14px; color:#ffd3c9; background:#4a302c; border:1px solid #a76d5b; border-radius:6px; font-size:13px; }
.df-dialog { box-sizing:border-box; padding:0; width:min(860px,calc(100% - 48px)); max-width:none; max-height:min(740px,calc(100dvh - 64px)); border:1px solid var(--czt-modal-border,#626262); border-radius:var(--czt-modal-radius,14px); background:var(--czt-modal-bg,#292929); color:var(--df-text); box-shadow:var(--czt-modal-shadow,0 24px 80px #0009); overflow:hidden; margin:auto; }
.df-dialog::backdrop { background:#0009; backdrop-filter:blur(3px); }
.df-dialog[open] { display:flex; flex-direction:column; }
.df-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px 28px 20px; background:var(--czt-modal-header-bg,#333); border-bottom:1px solid var(--czt-modal-accent,#ff6801); }
.df-dialog h2 { margin:0; color:var(--df-text); font-size:22px; line-height:1.4; font-weight:500; }
.df-dialog-header p { margin:6px 0 0; color:var(--df-muted); font-size:13px; line-height:1.5; }
.df-close { flex:0 0 36px; width:36px; height:36px; border:0; border-radius:7px; background:#414141; color:#ddd; display:inline-flex; align-items:center; justify-content:center; padding:0; line-height:1; }
.df-close-icon { display:block; width:16px; height:16px; flex:none; pointer-events:none; }
.df-close:hover { background:#505050; color:#fff; }
.df-form { display:flex; flex-direction:column; min-height:0; margin:0; }
.df-scope { flex-shrink:0; padding:12px 28px; border-bottom:1px solid #484848; background:#303030; }
.df-scope-control { display:flex; align-items:center; gap:12px; position:relative; width:fit-content; max-width:100%; min-height:32px; margin:0; font-size:13px; font-weight:400; line-height:1.5; cursor:pointer; }
.df-scope-control input { position:absolute; left:0; width:38px; height:100%; margin:0; opacity:0; cursor:pointer; z-index:1; }
.df-switch-track { flex:0 0 38px; width:38px; height:22px; padding:3px; border-radius:12px; background:#666; box-sizing:border-box; }
.df-switch-track::after { content:''; display:block; width:16px; height:16px; border-radius:50%; background:#fff; transition:transform .15s; }
.df-scope-control input:checked + .df-switch-track { background:var(--df-orange); }
.df-scope-control input:checked + .df-switch-track::after { transform:translateX(16px); }
.df-scope-control input:focus-visible + .df-switch-track { outline:2px solid #ff9953; outline-offset:3px; }
.df-dialog-body { display:flex; min-height:0; overflow:hidden; }
.df-sections { flex:0 0 175px; padding:18px 12px; border-right:1px solid #484848; background:#262626; overflow-y:auto; }
.df-sections button { display:flex; align-items:center; gap:8px; width:100%; text-align:left; min-height:46px; margin:0 0 5px; padding:10px 12px; border:1px solid transparent; border-radius:7px; color:#ccc; background:transparent; font-size:13px; }
.df-sections button i { margin-left:auto; }
.df-sections button:hover { background:#353535; color:#fff; }
.df-sections button[aria-pressed="true"] { background:#493426; border-color:#81502f; color:#ffc49d; }
.df-fields { flex:1; min-width:0; padding:22px 28px 26px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#666 transparent; min-height:300px; }
.df-group h3 { font-size:17px; line-height:1.4; font-weight:500; color:var(--df-text); margin:0 0 18px; }
.df-fieldset { padding:0; margin:0 0 24px; border:0; min-width:0; }
.df-fieldset:last-child { margin-bottom:0; }
.df-fieldset legend { width:auto; padding:0; margin:0 0 10px; font-size:13px; font-weight:500; color:#ededed; border:0; line-height:1.5; }
.df-field-hint { margin:-2px 0 15px; color:#bbb; font-size:12px; line-height:1.7; }
.df-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }

.df-option { display:flex; align-items:center; gap:10px; min-height:45px; padding:10px 12px; margin:0; border:1px solid #505050; border-radius:7px; background:#313131; font-size:13px; line-height:1.5; font-weight:400; cursor:pointer; }
.df-option:hover { border-color:#919191; background:#393939; }
.df-option:has(input:checked) { border-color:#cb6b2c; background:#493426; color:#ffcfad; }
.df-option input { accent-color:var(--df-orange); width:16px; height:16px; margin:0; flex:0 0 16px; }
.df-option:has(input:disabled) { opacity:.5; cursor:not-allowed; }
.df-option:has(input:disabled):hover { border-color:#505050; background:#313131; }
.df-conflict { margin:14px 0 0; padding:10px 12px; border-left:3px solid #cc8f55; color:#f2d1b4; background:#3b3028; font-size:12px; line-height:1.7; }
.df-age-inputs input { box-sizing:border-box; width:100%; min-height:44px; padding:10px 12px; color:#eee; background:#232323; border:1px solid #666; border-radius:7px; font-size:16px; line-height:22px; color-scheme:dark; }
.df-age-presets { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.df-age-presets .df-button { flex:1; }
.df-age-inputs { display:flex; align-items:flex-end; gap:14px; }
.df-age-inputs label { flex:1; min-width:0; color:#ccc; font-size:12px; font-weight:400; }
.df-age-inputs input { display:block; margin-top:8px; }
.df-age-inputs > span { align-self:flex-end; line-height:44px; color:#aaa; }
.df-dialog-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 28px; border-top:1px solid #484848; background:#303030; }
.df-dialog-footer > div { display:flex; align-items:center; flex-wrap:wrap; column-gap:18px; }
.df-draft-count { font-size:12px; color:#bbb; }
.df .df-apply { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:48px; padding:10px 20px; border:1px solid #357ebd; border-radius:6px; background:var(--df-blue); color:#fff; white-space:nowrap; font-size:14px; font-weight:500; line-height:1.4; }
.df .df-apply:hover,.df .df-apply:focus { background:#3276b1; border-color:#285e8e; }
.df-apply:disabled { opacity:.7; cursor:wait; }
.df-dialog-error { margin:0; border:0; border-radius:0; padding:12px 28px; }
.df-mobile-dock,.df-sheet-handle { display:none; }
.feedW[aria-busy="true"] { opacity:.55; transition:opacity .15s; }
.df-empty { margin:24px auto; padding:28px 20px; max-width:740px; text-align:center; color:#ddd; background:#303030; border:1px solid #555; border-radius:10px; line-height:1.8; }
body.df-dialog-open { overflow:hidden; }
/* The toolbar supplies the desktop divider; omit the old feed border below it. */
@media (min-width:768px) { .df ~ .feed-wrapper { border-top:0; } }
@media (max-width:991px) { body[data-feed-identity="search"] #offer > .df { padding-top:20px; } }
@media (max-width:767px) {
  .df { padding:0 16px 18px; }
  .df-bar { padding:13px 0; gap:10px; }
  .df-facet-button { display:none; }
  .df-tools { width:100%; justify-content:space-between; }
  .df .df-gold { margin-left:0; }
  .df-context { width:auto; font-size:11px; }
  .df-button { min-height:44px; }
  .df-selection-row { gap:10px; }
  .df-chip { min-height:40px; font-size:12px; }
  .df-feedback { display:flex; }
  body:has([data-discovery-filter]:not([hidden])) { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
  body:has([data-discovery-filter]:not([hidden])) #toPageTop { bottom:calc(80px + env(safe-area-inset-bottom)); }
  .df-mobile-dock { display:block; position:fixed; bottom:0; left:0; right:0; z-index:1030; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:#252525f5; border-top:1px solid #555; box-shadow:0 -5px 18px #0003; backdrop-filter:blur(8px); }
  .df-mobile-dock .df-button { width:100%; background:#3a3a3a; border-color:#767676; font-size:14px; }
  .df-dock-summary { font-size:11px; color:#ccc; margin-left:auto; font-weight:400; }
  .df-dialog { width:100vw; max-height:92dvh; max-height:min(92dvh,900px); margin:auto 0 0; border-radius:18px 18px 0 0; border-left:0; border-right:0; border-bottom:0; }
  .df-dialog[open] { animation:df-slide-up .2s ease-out; }
  .df-sheet-handle { display:block; width:36px; height:4px; border-radius:4px; background:#777; margin:10px auto 0; flex-shrink:0; }
  .df-dialog-header { padding:16px 20px 18px; }
  .df-scope { padding:10px 20px; }
  .df-scope-control { min-height:44px; font-size:12px; }
  .df-close { flex-basis:44px; width:44px; height:44px; }
  .df-dialog h2 { font-size:20px; }
  .df-dialog-header p { font-size:12px; }
  .df-dialog-body { display:block; overflow-y:auto; overscroll-behavior:contain; }
  .df-sections { display:none; }
  .df-fields { overflow:visible; min-height:0; padding:22px 20px; }
  .df-group { margin-bottom:28px; padding-bottom:26px; border-bottom:1px solid #4d4d4d; }
  .df-group:last-child { margin:0; padding:0; border:0; }
  .df-fieldset { margin-bottom:20px; }
  .df-group h3 { font-size:17px; margin-bottom:16px; }
  .df-options { gap:8px; }
  .df-option { min-height:48px; padding:10px; font-size:12px; }
  .df-age-presets .df-button { padding-left:10px; padding-right:10px; font-size:12px; white-space:nowrap; }
  .df-dialog-footer { padding:14px 20px calc(14px + env(safe-area-inset-bottom)); gap:12px; }
  .df-dialog-footer > div { display:block; min-width:0; }
  .df-draft-count { display:block; font-size:11px; }
  .df-dialog-footer .df-reset { min-height:30px; white-space:normal; text-align:left; }
  .df-apply { flex:1; max-width:240px; min-height:48px; }
  .df .df-apply { min-width:0; white-space:normal; }
  .df-apply [data-apply-label] { min-width:0; }
  .df-dialog-error { padding:10px 20px; }
}
@media (max-width:359px) { .df-dock-summary { display:none; } .df-mobile-dock .fa-angle-up { margin-left:auto; } .df-option { gap:7px; } }
@keyframes df-slide-up { from { transform:translateY(100%); } to { transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .df *, .df-dialog[open], .feedW { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

.df-show-icon { margin-right:8px; }
.df-star { color:#edc15b; }
.df-party-dot { color:#8dca75; font-size:.8em; }
.df-help-trigger { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; margin:-7px 0; border:0; border-radius:50%; background:transparent; color:#bebebe; vertical-align:middle; }
.df-help-trigger:hover { background:#414141; color:#fff; }
.df-help-dialog { width:min(600px,calc(100% - 48px)); }
.df-help-body { padding:22px 28px; overflow-y:auto; line-height:1.8; font-size:14px; }
.df-help-body h3 { margin:0 0 8px; font-size:16px; color:#eee; }
.df-help-body p { margin:0 0 22px; }
.df-help-body p:last-child { margin-bottom:0; }
.df-help-body h3 i { margin-right:6px; }
.df-help-dialog .df-dialog-footer { justify-content:flex-end; }
@media (max-width:767px) {
  .df:not(.df-has-filters) { padding-bottom:0; }
  .df > .df-bar { display:none; }
  .df:not(.df-has-filters):not(.df-is-loading) > .df-feedback { display:none; }
  .df-help-dialog { width:100vw; max-height:85dvh; }
  .df-help-body { padding:20px; }
  .df-help-trigger { width:44px; height:44px; margin:-12px 0; }
}

.df-show-description { padding:18px 0; border-top:1px solid #4a4a4a; }
.df-help-body .df-show-description h3 { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.df-help-body .df-show-description p { margin-bottom:0; }
.df-price { margin-left:auto; white-space:nowrap; font-size:16px; letter-spacing:2px; font-weight:600; }
.df-price-active { color:#8bc96c; }
.df-price-muted { color:#777; }
.df-price small { color:#bbb; font-size:11px; letter-spacing:0; font-weight:400; }
.df-help-body .df-price-key { color:#bbb; font-size:12px; margin-bottom:18px; }
.df-price-key .df-price { font-size:12px; letter-spacing:1px; }
.df-help-body a { color:#b5cce0; text-decoration:underline; }


.df-gold-tools { display:inline-flex; align-items:center; gap:4px; }
.df-gold-tools .df-help-trigger {
  position:relative; width:36px; height:42px; margin:0;
  border:0; background:transparent; color:#d7d7d7; font-size:20px;
}
.df-gold-tools .df-help-trigger:hover,
.df-gold-tools .df-help-trigger:focus-visible { background:transparent; color:#fff; }


@media (min-width:992px) and (max-width:1100px) {
  .df-bar { gap:10px; }
  .df-tools { gap:6px; }
  .df-facet-button { padding-left:10px; padding-right:10px; font-size:12px; }
}

@media (min-width:768px) {
  .df #df-dialog { height:min(740px,calc(100dvh - 64px)); }
  .df #df-dialog > .df-dialog-header,.df #df-dialog .df-dialog-footer,.df #df-dialog .df-dialog-error { flex-shrink:0; }
  .df #df-dialog > .df-form,.df #df-dialog .df-dialog-body { flex:1; }
  .df #df-dialog .df-fields { min-height:0; }
  .df-bar { flex-wrap:nowrap; gap:12px; }
  .df-tools { flex-wrap:nowrap; flex:0 0 auto; }
  .df-context { min-width:0; }
  .df-context [data-live-total] { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .df-live-dot { flex-shrink:0; }
}
@media (min-width:768px) and (max-width:1199px) {
  .df-facet-button[data-open-filter="appearance"],
  .df-facet-button[data-open-filter="region"],
  .df-facet-button[data-open-filter="language"] { display:none; }
}

.df-match-count { color:var(--df-muted); font-size:12px; white-space:nowrap; }
@media (max-width:767px) { .df-match-count { display:none; } }

