/* Red Sky — Download Resources. All rules scoped under .rsl-dl.
   Descendant selectors carry an extra `.rsl-dl ` prefix so theme rules
   (Astra's `.entry-content h1`, its global `button` colours) cannot win on
   specificity — without it a heading or a button inherits a colour that
   matches the background and turns invisible. */
.rsl-dl{
  --rsd-navy:#04093A;
  --rsd-accent:#BD081C;
  --rsd-line:#E4E7EC;
  --rsd-muted:#667085;
  --rsd-bg:#F7F8FA;
  --rsd-radius:10px;
  color:#101828;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.rsl-dl *,.rsl-dl *::before,.rsl-dl *::after{box-sizing:border-box}

/* The hero is full-bleed, so any top spacing the theme puts on its content
   wrapper shows up as a band of empty page above it. Astra wraps the content
   as .ast-container > #primary > .ast-article-single > .entry-content; the
   author left padding on the last two. :has() keeps this scoped to pages that
   actually contain our block. */
.rsl-dl{margin-top:0}
#content:has(.rsl-dl),.site-content:has(.rsl-dl),.entry-content:has(.rsl-dl),
.ast-container:has(.rsl-dl),.site-main:has(.rsl-dl),
#primary:has(.rsl-dl),.content-area:has(.rsl-dl),
.ast-article-single:has(.rsl-dl),.ast-article-post:has(.rsl-dl){
  padding-top:0;margin-top:0;border-top:0
}
.entry-content:has(.rsl-dl) > .rsl-dl:first-child{margin-top:0;padding-top:0}
.ast-separate-container:has(.rsl-dl) .ast-article-single{padding-top:0;padding-bottom:0}

/* --- intro banner (Astra title bar is disabled on this page) --- */
.rsl-dl .rsl-dl__hero{background:var(--rsd-navy);color:#fff;padding:52px 0 0;margin-bottom:0}
.rsl-dl .rsl-dl__heroin{max-width:1080px;margin:0 auto;padding:0 20px}
.rsl-dl .rsl-dl__h1{margin:0 0 10px;font-size:clamp(28px,4vw,42px);font-weight:700;
  letter-spacing:-.02em;color:#fff;line-height:1.15}
.rsl-dl .rsl-dl__lead{margin:0;color:#B9C0D4;font-size:15px;max-width:640px;line-height:1.6}

/* --- tabs --- */
.rsl-dl .rsl-dl__tabs{display:flex;gap:4px;margin-top:32px;flex-wrap:wrap}
.rsl-dl .rsl-dl__tab{appearance:none;-webkit-appearance:none;border:0;background:transparent;
  color:#B9C0D4;font:inherit;font-size:15px;line-height:1.4;font-weight:600;padding:14px 18px;
  cursor:pointer;border-bottom:3px solid transparent;border-radius:0;box-shadow:none;
  text-transform:none;letter-spacing:normal;transition:color .15s,border-color .15s}
.rsl-dl .rsl-dl__tab:hover{color:#fff;background:transparent}
.rsl-dl .rsl-dl__tab[aria-selected=true]{color:#fff;border-bottom-color:#fff}
.rsl-dl .rsl-dl__tabcount{font-weight:400;opacity:.55;margin-left:6px;font-size:13px}

/* --- toolbar --- */
.rsl-dl .rsl-dl__body{max-width:1080px;margin:0 auto;padding:0 20px 72px}
.rsl-dl .rsl-dl__toolbar{display:flex;gap:12px;align-items:center;margin:26px 0 18px;flex-wrap:wrap}
.rsl-dl .rsl-dl__search{flex:1;min-width:240px}
.rsl-dl .rsl-dl__search input{width:100%;padding:12px 14px;border:1px solid var(--rsd-line);
  border-radius:var(--rsd-radius);font:inherit;font-size:15px;background:#fff;color:#101828;
  box-shadow:none}
.rsl-dl .rsl-dl__search input:focus{outline:2px solid var(--rsd-navy);outline-offset:-1px;border-color:transparent}
.rsl-dl .rsl-dl__search input::placeholder{color:#98A2B3}
.rsl-dl .rsl-dl__count{color:var(--rsd-muted);font-size:14px;white-space:nowrap}
.rsl-dl .rsl-dl__actions{display:flex;gap:8px}
.rsl-dl .rsl-dl__actions button{border:1px solid var(--rsd-line);background:#fff;border-radius:8px;
  padding:9px 14px;font:inherit;font-size:14px;color:#344054;cursor:pointer;box-shadow:none;
  text-transform:none}
.rsl-dl .rsl-dl__actions button:hover{border-color:var(--rsd-navy);color:var(--rsd-navy);background:#fff}

/* --- groups --- */
.rsl-dl .rsl-dl__group{background:#fff;border:1px solid var(--rsd-line);border-radius:var(--rsd-radius);
  margin-bottom:10px;overflow:hidden}
.rsl-dl .rsl-dl__ghead{display:flex;align-items:center;gap:12px;width:100%;padding:16px 18px;
  background:none;border:0;font:inherit;color:#101828;cursor:pointer;text-align:left;
  border-radius:0;box-shadow:none;text-transform:none;letter-spacing:normal}
.rsl-dl .rsl-dl__ghead:hover{background:#FAFBFC}
.rsl-dl .rsl-dl__ghead::before{content:"";width:0;height:0;border-left:6px solid var(--rsd-muted);
  border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .18s}
.rsl-dl .rsl-dl__group[data-open=true] .rsl-dl__ghead::before{transform:rotate(90deg)}
.rsl-dl .rsl-dl__gname{font-weight:600;font-size:16px;flex:1;color:#101828}
.rsl-dl .rsl-dl__gcount{color:var(--rsd-muted);font-size:13px;background:var(--rsd-bg);padding:3px 10px;
  border-radius:20px;font-variant-numeric:tabular-nums}
.rsl-dl .rsl-dl__gbody{display:none;border-top:1px solid var(--rsd-line)}
.rsl-dl .rsl-dl__group[data-open=true] .rsl-dl__gbody{display:block}

/* --- rows --- */
.rsl-dl .rsl-dl__row{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid #F2F4F7}
.rsl-dl .rsl-dl__row:last-child{border-bottom:0}
.rsl-dl .rsl-dl__row:hover{background:#FAFBFC}
.rsl-dl .rsl-dl__ext{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.06em;padding:4px 7px;
  border-radius:5px;background:#EEF2FF;color:#3538CD;min-width:38px;text-align:center}
.rsl-dl .rsl-dl__ext--zip{background:#FFF4ED;color:#C4320A}
.rsl-dl .rsl-dl__ext--ies{background:#ECFDF3;color:#027A48}
.rsl-dl .rsl-dl__name{flex:1;font-size:15px;color:#101828;word-break:break-word}
.rsl-dl .rsl-dl__dl{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;background:var(--rsd-navy);
  color:#fff;text-decoration:none;font-size:13px;font-weight:600;padding:9px 15px;border-radius:20px;
  white-space:nowrap;border:0;box-shadow:none}
.rsl-dl .rsl-dl__dl:hover{background:var(--rsd-accent);color:#fff}
.rsl-dl .rsl-dl__row[hidden]{display:none}
.rsl-dl .rsl-dl__group[hidden]{display:none}
.rsl-dl .rsl-dl__panel[hidden]{display:none}
.rsl-dl .rsl-dl__empty{padding:56px 20px;text-align:center;color:var(--rsd-muted);background:#fff;
  border:1px solid var(--rsd-line);border-radius:var(--rsd-radius)}
.rsl-dl .rsl-dl__error{padding:24px;background:#FEF3F2;border:1px solid #FDA29B;border-radius:var(--rsd-radius);
  color:#B42318}
.rsl-dl mark{background:#FEF3C7;padding:0 2px;border-radius:3px;color:#101828}

@media(max-width:620px){
  .rsl-dl .rsl-dl__hero{padding-top:36px}
  .rsl-dl .rsl-dl__row{flex-wrap:wrap;gap:10px}
  .rsl-dl .rsl-dl__name{flex:1 1 100%;order:2}
  .rsl-dl .rsl-dl__dl{margin-left:auto}
}
