/* ============================================================
   DAILY TRADE — ADVANCED FILTER DRAWER (dtfd-*)
   Reuses the site's existing tokens: --bg --gold --gold2 --gold3
   --line --panel --text --muted --green --red --radius --shadow
   Falls back to hardcoded values if those vars aren't in scope.
   ============================================================ */

.dtfd-backdrop{
  position:fixed;inset:0;z-index:9990;
  background:rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.dtfd-backdrop.open{opacity:1;pointer-events:auto}

.dtfd-drawer{
  position:fixed;top:0;bottom:0;
  inset-inline-end:0;
  width:min(420px,92vw);
  z-index:9995;
  display:flex;flex-direction:column;
  background:linear-gradient(165deg,rgba(20,20,26,.96),rgba(9,9,12,.94));
  border-inline-start:1px solid var(--line,rgba(191,149,63,.24));
  box-shadow:-30px 0 90px rgba(0,0,0,.65);
  backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);
  transform:translateX(105%);
  transition:transform .38s cubic-bezier(.16,1,.3,1);
  font-family:'Cairo',system-ui,sans-serif;
  color:var(--text,#fff);
}
html[dir="rtl"] .dtfd-drawer{
  inset-inline-end:auto;inset-inline-start:0;
  border-inline-start:0;border-inline-end:1px solid var(--line,rgba(191,149,63,.24));
  box-shadow:30px 0 90px rgba(0,0,0,.65);
}
.dtfd-drawer.open{transform:translateX(0)}

/* ---- header ---- */
.dtfd-head{
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:22px 22px 18px;border-bottom:1px solid rgba(255,255,255,.08);
}
.dtfd-head-title{display:flex;align-items:center;gap:12px;min-width:0}
.dtfd-head-title h2{font-size:19px;font-weight:900;margin:0;color:#fff;white-space:nowrap}
.dtfd-count-pill{
  flex:0 0 auto;font-size:11px;font-weight:900;padding:5px 11px;border-radius:999px;
  background:rgba(191,149,63,.14);border:1px solid var(--line,rgba(191,149,63,.35));
  color:var(--gold2,#FCF6BA);white-space:nowrap;
}
.dtfd-count-pill[data-empty="true"]{opacity:.45}
.dtfd-close{
  flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);
  color:#fff;cursor:pointer;display:grid;place-items:center;transition:.2s;
}
.dtfd-close:hover{border-color:var(--gold,#BF953F);color:var(--gold2,#FCF6BA)}

/* ---- scroll body ---- */
.dtfd-body{flex:1 1 auto;overflow-y:auto;padding:20px 22px 8px;scrollbar-width:thin}
.dtfd-body::-webkit-scrollbar{width:6px}
.dtfd-body::-webkit-scrollbar-thumb{background:rgba(191,149,63,.35);border-radius:99px}
.dtfd-section{margin-bottom:22px}
.dtfd-section-label{
  font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted,#a1a1aa);margin:0 0 10px 2px;
}

/* ---- quick toggle chips ---- */
.dtfd-quickrow{
  display:flex;flex-wrap:wrap;gap:8px;
}
.dtfd-chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:10px 14px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);
  color:#e4e4e7;font-weight:800;font-size:13px;font-family:inherit;
  cursor:pointer;white-space:nowrap;transition:transform .18s ease,background .2s,border-color .2s,color .2s,box-shadow .2s;
}
.dtfd-chip:hover{border-color:rgba(191,149,63,.5);transform:translateY(-1px)}
.dtfd-chip-emoji{font-size:14px;line-height:1}
.dtfd-chip.active{
  background:linear-gradient(135deg,var(--gold2,#FCF6BA),var(--gold,#BF953F));
  color:#0a0a0a;border-color:transparent;
  box-shadow:0 10px 26px rgba(191,149,63,.28);
}

/* ---- sliders ---- */
.dtfd-slider-block{margin-bottom:20px}
.dtfd-slider-block:last-child{margin-bottom:0}
.dtfd-slider-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.dtfd-slider-label-row label{font-size:13.5px;font-weight:800;color:#e4e4e7}
.dtfd-slider-value{font-size:12.5px;font-weight:900;color:var(--gold2,#FCF6BA)}

/* dual-handle range */
.dtfd-range-dual{position:relative;height:26px}
.dtfd-range-track{
  position:absolute;top:50%;left:0;right:0;height:4px;transform:translateY(-50%);
  border-radius:99px;background:rgba(255,255,255,.12);
}
.dtfd-range-fill{
  position:absolute;top:50%;height:4px;transform:translateY(-50%);
  border-radius:99px;background:linear-gradient(90deg,var(--gold,#BF953F),var(--gold2,#FCF6BA));
}
.dtfd-range-input{
  position:absolute;top:0;left:0;width:100%;height:26px;margin:0;
  appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none;
}
.dtfd-range-input::-webkit-slider-thumb{
  appearance:none;-webkit-appearance:none;pointer-events:auto;
  width:20px;height:20px;border-radius:50%;cursor:pointer;
  background:linear-gradient(135deg,var(--gold2,#FCF6BA),var(--gold,#BF953F));
  border:2px solid #0a0a0a;box-shadow:0 4px 12px rgba(191,149,63,.5);
  margin-top:0;
}
.dtfd-range-input::-moz-range-thumb{
  pointer-events:auto;width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid #0a0a0a;
  background:linear-gradient(135deg,var(--gold2,#FCF6BA),var(--gold,#BF953F));box-shadow:0 4px 12px rgba(191,149,63,.5);
}
.dtfd-range-input::-webkit-slider-runnable-track{background:transparent}
.dtfd-range-input::-moz-range-track{background:transparent}

/* single-handle range */
.dtfd-range-single{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:99px;
  background:linear-gradient(90deg,var(--gold,#BF953F) var(--dtfd-fill,100%),rgba(255,255,255,.12) var(--dtfd-fill,100%));
  cursor:pointer;
}
.dtfd-range-single::-webkit-slider-thumb{
  appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;cursor:pointer;
  background:linear-gradient(135deg,var(--gold2,#FCF6BA),var(--gold,#BF953F));
  border:2px solid #0a0a0a;box-shadow:0 4px 12px rgba(191,149,63,.5);
}
.dtfd-range-single::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid #0a0a0a;
  background:linear-gradient(135deg,var(--gold2,#FCF6BA),var(--gold,#BF953F));box-shadow:0 4px 12px rgba(191,149,63,.5);
}

/* ---- accordions ---- */
.dtfd-accordion{
  border:1px solid rgba(255,255,255,.08);border-radius:14px;margin-bottom:10px;overflow:hidden;
  background:rgba(255,255,255,.03);
}
.dtfd-accordion-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 16px;cursor:pointer;user-select:none;background:transparent;border:0;width:100%;
  color:#fff;font-family:inherit;text-align:start;
}
.dtfd-accordion-head-left{display:flex;align-items:center;gap:10px;min-width:0}
.dtfd-accordion-head i.dtfd-acc-icon{color:var(--gold2,#FCF6BA);font-size:13px;width:16px;text-align:center}
.dtfd-accordion-title{font-weight:900;font-size:14px}
.dtfd-accordion-badge{
  font-size:10.5px;font-weight:900;padding:2px 8px;border-radius:999px;
  background:rgba(191,149,63,.18);color:var(--gold2,#FCF6BA);
}
.dtfd-accordion-chevron{color:var(--muted,#a1a1aa);transition:transform .25s ease;font-size:12px}
.dtfd-accordion.open .dtfd-accordion-chevron{transform:rotate(180deg)}
.dtfd-accordion-panel{
  max-height:0;overflow:hidden;transition:max-height .3s ease;
}
.dtfd-accordion.open .dtfd-accordion-panel{max-height:400px}
.dtfd-accordion-panel-inner{
  padding:2px 16px 14px;display:grid;gap:2px;
}
.dtfd-check-row{
  display:flex;align-items:center;gap:10px;padding:9px 6px;border-radius:10px;cursor:pointer;
  transition:background .18s ease;
}
.dtfd-check-row:hover{background:rgba(255,255,255,.045)}
.dtfd-check-row input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;width:19px;height:19px;flex:0 0 auto;
  border-radius:6px;border:1.5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.04);
  cursor:pointer;display:grid;place-items:center;transition:.18s;
}
.dtfd-check-row input[type="checkbox"]:checked{
  background:linear-gradient(135deg,var(--gold2,#FCF6BA),var(--gold,#BF953F));border-color:transparent;
}
.dtfd-check-row input[type="checkbox"]:checked::after{
  content:"\2713";font-size:12px;font-weight:900;color:#0a0a0a;
}
.dtfd-check-row span{font-size:13.5px;font-weight:750;color:#e4e4e7}
.dtfd-check-row.dtfd-perk span{color:var(--gold2,#FCF6BA)}

/* ---- footer CTAs ---- */
.dtfd-footer{
  flex:0 0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:10px;
  padding:16px 22px 22px;border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.18);
}
.dtfd-reset-btn{
  border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);
  color:#d4d4d8;font-weight:900;font-size:13.5px;cursor:pointer;font-family:inherit;transition:.2s;
}
.dtfd-reset-btn:hover{border-color:rgba(251,113,133,.5);color:#fb7185}
.dtfd-confirm-btn{
  border:0;border-radius:14px;
  background:linear-gradient(135deg,var(--gold2,#FCF6BA),var(--gold,#BF953F));
  color:#080808;font-weight:900;font-size:13.5px;cursor:pointer;font-family:inherit;
  box-shadow:0 14px 34px rgba(191,149,63,.28);transition:transform .2s ease,filter .2s ease;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.dtfd-confirm-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.dtfd-confirm-btn span{opacity:.75;font-weight:800}

@media(max-width:480px){
  .dtfd-footer{grid-template-columns:1fr 1.6fr;padding:14px 16px 18px}
  .dtfd-body{padding:16px 16px 8px}
  .dtfd-head{padding:18px 16px 14px}
}

/* ============================================================
   Floating "Compare Selected Firms" bar
   ============================================================ */
.dtfd-compare-bar{
  position:fixed;left:50%;bottom:26px;z-index:9980;
  transform:translate(-50%,140%);
  display:flex;align-items:center;gap:18px;
  padding:14px 16px 14px 22px;border-radius:999px;
  background:linear-gradient(160deg,rgba(20,20,26,.97),rgba(9,9,12,.95));
  border:1px solid var(--line,rgba(191,149,63,.35));
  box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 40px rgba(191,149,63,.12);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  transition:transform .35s cubic-bezier(.16,1,.3,1);
  max-width:94vw;
}
.dtfd-compare-bar.show{transform:translate(-50%,0)}
.dtfd-compare-info{
  font-size:13.5px;font-weight:800;color:#e4e4e7;white-space:nowrap;
}
.dtfd-compare-info b{color:var(--gold2,#FCF6BA)}
.dtfd-compare-actions{display:flex;align-items:center;gap:10px}
.dtfd-compare-actions button{font-family:inherit;cursor:pointer;white-space:nowrap}
#dtfdCompareClear{
  border:0;background:none;color:var(--muted,#a1a1aa);font-weight:800;font-size:12.5px;
  text-decoration:underline;padding:6px;
}
#dtfdCompareClear:hover{color:#fff}
#dtfdCompareGo{
  border:0;border-radius:999px;padding:12px 20px;
  background:linear-gradient(135deg,var(--gold2,#FCF6BA),var(--gold,#BF953F));
  color:#080808;font-weight:900;font-size:13px;
  box-shadow:0 10px 26px rgba(191,149,63,.3);transition:transform .2s ease;
}
#dtfdCompareGo:hover{transform:translateY(-2px)}
@media(max-width:640px){
  .dtfd-compare-bar{flex-direction:column;align-items:stretch;gap:10px;bottom:16px;padding:14px 16px;border-radius:22px;width:min(360px,92vw)}
  .dtfd-compare-info{text-align:center}
  .dtfd-compare-actions{justify-content:space-between}
}

/* ---- compare checkbox added onto each firm-card (see integration doc) ---- */
.dtfd-compare-toggle{
  display:inline-flex;align-items:center;gap:7px;margin-top:10px;
  font-size:12px;font-weight:800;color:var(--muted,#a1a1aa);cursor:pointer;
}
.dtfd-compare-toggle input{
  appearance:none;-webkit-appearance:none;width:17px;height:17px;border-radius:5px;
  border:1.5px solid rgba(255,255,255,.28);background:rgba(255,255,255,.04);cursor:pointer;
  display:grid;place-items:center;
}
.dtfd-compare-toggle input:checked{background:linear-gradient(135deg,var(--gold2,#FCF6BA),var(--gold,#BF953F));border-color:transparent}
.dtfd-compare-toggle input:checked::after{content:"\2713";font-size:11px;font-weight:900;color:#0a0a0a}
.dtfd-compare-toggle input:disabled{opacity:.35;cursor:not-allowed}
