/*
 * PKDEV HV Finder — archive layout: sticky sidebar filters (desktop), bottom sheet (mobile), bottom
 * "Zpět na začátek" bar (mobile), results grid, load more. Namespace .hvf-*.
 * Cards keep the Builderius classes (mm-card, lnk-card, dl-card) and are styled by the archive template CSS.
 * Tokens: --hv-* (Core Framework). Sizes in px where a fixed size matters: the site uses a 62.5% (10px) rem baseline.
 * Animations: transform/opacity only.
 */

.hvf {
  --hvf-top: 24px;
  max-width: 1366px;
  margin-inline: auto;
  padding: var(--hv-space-l, 32px) var(--hv-space-m, 20px) var(--hv-space-xl, 48px);
  font-family: var(--cf-font-family--mulish, 'Mulish', system-ui, sans-serif);
  color: var(--hv-text-primary, hsla(193, 9%, 19%, 1));
}
.hvf *, .hvf *::before, .hvf *::after { box-sizing: border-box; }

.hvf .hvf-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--hv-space-l, 32px); align-items: start; margin: 0; }
.hvf .hvf-main { min-width: 0; }

/* ---------- panel (sidebar on desktop, bottom sheet on mobile) ---------- */
.hvf .hvf-panel {
  background: var(--hv-bg-sand, #E8E0D4);
  border: 1px solid var(--hv-border-secondary, hsla(106, 10%, 50%, .08));
  border-radius: var(--hv-radius-m, 12px);
  box-shadow: var(--hv-shadow-s, 0 2px 8px hsla(221, 40%, 15%, .12));
}
.hvf .hvf-panel-head { display: flex; align-items: center; justify-content: space-between; gap: var(--hv-space-xs, 12px); padding: var(--hv-space-s, 16px) var(--hv-space-m, 20px) 0; }
.hvf .hvf-panel-title { margin: 0; font-family: var(--cf-font-family--lora, 'Lora', Georgia, serif); font-size: var(--hv-text-l, 20px); font-weight: 600; line-height: 1.3; color: var(--hv-text-heading, hsla(221, 47%, 21%, 1)); }
.hvf .hvf-panel-body { display: grid; gap: var(--hv-space-m, 20px); padding: var(--hv-space-s, 16px) var(--hv-space-m, 20px) var(--hv-space-m, 20px); }
.hvf .hvf-panel-close, .hvf .hvf-panel-foot { display: none; }

.hvf .hvf-label {
  display: block; margin: 0 0 var(--hv-space-3xs, 6px); padding: 0;
  font-size: var(--hv-text-xs, 13px); font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--hv-text-secondary, #6B7280);
}
.hvf .hvf-field { display: grid; }
.hvf .hvf-search { position: relative; }
.hvf .hvf-search-ico { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--hv-text-secondary, #6B7280); pointer-events: none; }
.hvf .hvf-input {
  width: 100%; min-height: 44px; margin: 0; padding: 8px 12px 8px 38px;
  border: 1px solid var(--hv-border-accent, hsla(106, 23%, 33%, .2)); border-radius: var(--hv-radius-s, 8px);
  background: var(--hv-bg-primary, #F5F2ED); color: var(--hv-text-primary, hsla(193, 9%, 19%, 1));
  font: 500 16px/1.3 var(--cf-font-family--mulish, 'Mulish', system-ui, sans-serif); /* 16px: no iOS focus zoom */
}
.hvf .hvf-input::placeholder { color: var(--hv-text-secondary, #6B7280); }
.hvf .hvf-input:hover { border-color: var(--hv-olive, hsla(106, 23%, 33%, 1)); }
.hvf .hvf-input:focus-visible { outline: 2px solid var(--hv-border-focus, hsla(185, 23%, 46%, 1)); outline-offset: 1px; border-color: var(--hv-border-focus, hsla(185, 23%, 46%, 1)); }

/* facet options */
.hvf .hvf-facet { margin: 0; padding: 0; border: 0; min-width: 0; }
.hvf .hvf-options { display: grid; gap: 2px; }
.hvf .hvf-opt {
  position: relative; display: flex; align-items: center; gap: var(--hv-space-2xs, 8px);
  min-height: 40px; padding: 6px 10px; border-radius: var(--hv-radius-s, 8px);
  font-size: var(--hv-text-s, 15px); line-height: 1.3; color: var(--hv-text-primary, hsla(193, 9%, 19%, 1));
  cursor: pointer; transition: transform .15s ease, opacity .15s ease;
}
.hvf .hvf-opt input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.hvf .hvf-opt-name { flex: 1 1 auto; min-width: 0; }
.hvf .hvf-opt-count {
  flex: none; min-width: 32px; padding: 2px 8px; border-radius: var(--hv-radius-full, 999px);
  background: var(--hv-bg-primary, #F5F2ED); color: var(--hv-text-secondary, #6B7280);
  font-size: var(--hv-text-xs, 13px); font-weight: 600; text-align: center; font-variant-numeric: tabular-nums;
}
.hvf .hvf-opt-icon {
  flex: none; width: 22px; height: 22px; background-color: var(--hv-olive, hsla(106, 23%, 33%, 1));
  -webkit-mask: var(--icon-url) center / contain no-repeat; mask: var(--icon-url) center / contain no-repeat;
}
.hvf .hvf-opt:hover { background: var(--hv-olive-10, hsla(106, 23%, 33%, .1)); }
.hvf .hvf-opt:active { transform: scale(.99); }
.hvf .hvf-opt:has(input:focus-visible) { outline: 2px solid var(--hv-border-focus, hsla(185, 23%, 46%, 1)); outline-offset: 1px; }
.hvf .hvf-opt:has(input:checked) { background: var(--hv-olive, hsla(106, 23%, 33%, 1)); color: var(--hv-text-inverse, #F5F2ED); font-weight: 700; }
.hvf .hvf-opt:has(input:checked) .hvf-opt-count { background: hsla(0, 0%, 100%, .18); color: var(--hv-text-inverse, #F5F2ED); }
.hvf .hvf-opt:has(input:checked) .hvf-opt-icon { background-color: var(--hv-text-inverse, #F5F2ED); }
/* Inline tema icons: thin line art, so draw it in currentColor with a heavier stroke. */
.hvf .hvf-opt-icon--svg { width: 28px; height: 28px; background: none; -webkit-mask: none; mask: none; color: var(--hv-olive, hsla(106, 23%, 33%, 1)); }
.hvf .hvf-opt-icon--svg svg { display: block; width: 100%; height: 100%; overflow: visible; }
.hvf .hvf-opt-icon--svg svg * { stroke: currentColor; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; vector-effect: none; }
/* Long unbroken titles ("Leprominium/Leprosinum") must wrap inside the card instead of pushing the PRO badge out:
   the title may shrink and break anywhere when nothing else fits; the badge never shrinks. */
.hvf .mm-card-title, .hvf .lnk-card-title, .hvf .dl-card-title { min-inline-size: 0; overflow-wrap: anywhere; }
.hvf .mm-card-pro, .hvf .dl-badge { flex-shrink: 0; }

/* Same tile as the template's .mm-card-letter:has(.mm-card-letter-icon) (40px / 32px on phones). */
.hvf .mm-card-letter:has(.hvf-card-icon) { inline-size: 40px; block-size: 40px; padding: 6px; }
.hvf .hvf-card-icon { display: block; inline-size: 100%; block-size: 100%; color: var(--hv-olive, hsla(106, 23%, 33%, 1)); }
@media (max-width: 478px) { .hvf .mm-card-letter:has(.hvf-card-icon) { inline-size: 32px; block-size: 32px; padding: 4px; } }
.hvf .hvf-card-icon svg { display: block; width: 100%; height: 100%; overflow: visible; }
.hvf .hvf-card-icon svg * { stroke: currentColor; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.hvf .hvf-opt:has(input:checked) .hvf-opt-icon--svg { background: none; color: var(--hv-text-inverse, #F5F2ED); }
.hvf .hvf-opt.is-empty { opacity: .45; }
.hvf .hvf-opt:has(input:disabled) { cursor: default; }
.hvf .hvf-opt:has(input:disabled):hover { background: none; }

/* Materia medica: letter index as a compact grid of chips */
.hvf .hvf-facet--rejstrik .hvf-options { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.hvf .hvf-facet--rejstrik .hvf-opt { justify-content: center; min-height: 40px; padding: 4px; border: 1px solid var(--hv-border-accent, hsla(106, 23%, 33%, .2)); background: var(--hv-bg-primary, #F5F2ED); font-family: var(--cf-font-family--lora, 'Lora', Georgia, serif); font-weight: 700; }
.hvf .hvf-facet--rejstrik .hvf-opt-name { flex: none; text-transform: uppercase; }
.hvf .hvf-facet--rejstrik .hvf-opt-count { display: none; }
.hvf .hvf-facet--rejstrik .hvf-opt--all { grid-column: 1 / -1; font-family: var(--cf-font-family--mulish, 'Mulish', system-ui, sans-serif); }
.hvf .hvf-facet--rejstrik .hvf-opt--all .hvf-opt-name { text-transform: none; }
.hvf .hvf-facet--rejstrik .hvf-opt--all .hvf-opt-count { display: inline-block; margin-left: 6px; }
.hvf .hvf-facet--rejstrik .hvf-opt:has(input:checked) { border-color: var(--hv-olive, hsla(106, 23%, 33%, 1)); }

.hvf .hvf-reset { justify-self: start; color: var(--hv-teal, hsla(185, 23%, 46%, 1)); font-size: var(--hv-text-s, 15px); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.hvf .hvf-reset:hover { color: var(--hv-navy, hsla(221, 47%, 20%, 1)); }
.hvf .hvf-reset:focus-visible { outline: 2px solid var(--hv-border-focus, hsla(185, 23%, 46%, 1)); outline-offset: 2px; }
.hvf .hvf-reset:active { opacity: .7; }
.hvf [hidden] { display: none; }

/* ---------- buttons ---------- */
.hvf .hvf-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: var(--hv-btn-space, 12px 24px); border: 1px solid var(--hv-navy, hsla(221, 47%, 20%, 1));
  border-radius: var(--hv-radius-s, 8px); background: var(--hv-navy, hsla(221, 47%, 20%, 1)); color: var(--hv-text-inverse, #F5F2ED);
  font: 600 var(--hv-text-s, 15px)/1.2 var(--cf-font-family--mulish, 'Mulish', system-ui, sans-serif);
  text-decoration: none; cursor: pointer; transition: transform .15s ease, opacity .15s ease;
}
.hvf .hvf-btn:hover { opacity: .9; }
.hvf .hvf-btn:active { transform: translateY(1px); }
.hvf .hvf-btn:focus-visible { outline: 2px solid var(--hv-border-focus, hsla(185, 23%, 46%, 1)); outline-offset: 2px; }
.hvf .hvf-btn--ghost { background: transparent; border-color: var(--hv-olive, hsla(106, 23%, 33%, 1)); color: var(--hv-olive, hsla(106, 23%, 33%, 1)); }
.hvf .hvf-btn--ghost:hover { background: var(--hv-olive, hsla(106, 23%, 33%, 1)); color: var(--hv-text-inverse, #F5F2ED); opacity: 1; }
/* Load more: same as the search page button (.pkdev-search__loadmore-btn). */
.hvf .hvf-btn--more { min-height: 0; padding: var(--hv-space-xs, 14px) var(--hv-space-m, 28px); border: 0; background: var(--hv-teal, hsla(185, 23%, 46%, 1)); color: var(--hv-text-inverse, #F5F2ED); font-size: var(--hv-text-m, 18px); font-weight: 600; }
.hvf .hvf-btn--more:hover { background: var(--hv-teal-d-1, hsla(185, 23%, 38%, 1)); opacity: 1; }
.hvf .hvf-more-count { font-size: var(--hv-text-s, 15px); font-weight: 500; opacity: .85; }
.hvf .hvf-more-count::before { content: '\00B7'; margin-inline-end: 6px; } /* escaped: the file is served without a charset */

/* ---------- results ---------- */
.hvf .hvf-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--hv-space-s, 16px); margin-block-end: var(--hv-space-xs, 12px); min-height: 44px; }
.hvf .hvf-count { margin: 0; font-size: var(--hv-text-s, 15px); font-weight: 500; color: var(--hv-text-secondary, #6B7280); font-variant-numeric: tabular-nums; }
.hvf .hvf-open { display: none; }
.hvf .hvf-open-n {
  display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: var(--hv-radius-full, 999px);
  background: var(--hv-gold, hsla(39, 46%, 61%, 1)); color: var(--hv-navy, hsla(221, 47%, 20%, 1)); font-size: 12px; font-weight: 800;
}
.hvf .hvf-open-n[hidden] { display: none; }

.hvf .hvf-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-block-end: var(--hv-space-s, 16px); }
.hvf .hvf-tags:empty { display: none; }
.hvf .hvf-tag {
  display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 4px 10px 4px 12px;
  border: 1px solid var(--hv-border-accent, hsla(106, 23%, 33%, .2)); border-radius: var(--hv-radius-full, 999px);
  background: var(--hv-bg-sage, #E8EDE5); color: var(--hv-text-heading, hsla(221, 47%, 21%, 1));
  font: 600 var(--hv-text-xs, 13px)/1.2 var(--cf-font-family--mulish, 'Mulish', system-ui, sans-serif); cursor: pointer;
  transition: transform .15s ease, opacity .15s ease;
}
.hvf .hvf-tag:hover { opacity: .85; }
.hvf .hvf-tag:active { transform: scale(.97); }
.hvf .hvf-tag:focus-visible { outline: 2px solid var(--hv-border-focus, hsla(185, 23%, 46%, 1)); outline-offset: 2px; }

.hvf .hvf-grid { display: grid; gap: var(--hv-space-xs, 12px); grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.hvf .hvf-grid--odkaz, .hvf .hvf-grid--subor { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: var(--hv-space-s, 16px); }
.hvf .hvf-divider {
  grid-column: 1 / -1; margin: var(--hv-space-m, 20px) 0 var(--hv-space-3xs, 4px); padding-block-start: var(--hv-space-s, 16px);
  border-top: 1px solid var(--hv-border-primary, hsla(106, 10%, 50%, .12));
  font-family: var(--cf-font-family--lora, 'Lora', Georgia, serif); font-size: var(--hv-text-l, 20px); font-weight: 600; color: var(--hv-text-heading, hsla(221, 47%, 21%, 1));
}
.hvf .hvf-divider span { font-family: var(--cf-font-family--mulish, 'Mulish', system-ui, sans-serif); font-size: var(--hv-text-s, 15px); font-weight: 500; color: var(--hv-text-secondary, #6B7280); }
.hvf .hvf-empty { margin: var(--hv-space-l, 32px) 0; padding: var(--hv-space-xl, 48px) var(--hv-space-m, 20px); border-radius: var(--hv-radius-m, 12px); background: var(--hv-bg-secondary, #F0EBE1); text-align: center; }
.hvf .hvf-empty[hidden] { display: none; }
.hvf .hvf-empty p { margin: 0; }
.hvf .hvf-empty-title { font-family: var(--cf-font-family--lora, 'Lora', Georgia, serif); font-size: var(--hv-text-xl, 24px); font-weight: 600; line-height: 1.3; color: var(--hv-text-heading, hsla(221, 47%, 21%, 1)); }
.hvf .hvf-empty-text { margin-block-start: var(--hv-space-2xs, 8px); font-size: var(--hv-text-m, 17px); line-height: 1.65; color: var(--hv-text-secondary, #6B7280); }
.hvf .hvf-more { display: flex; justify-content: center; margin-block-start: var(--hv-space-l, 32px); }
.hvf .hvf-more:has(> [hidden]) { display: none; }

/* ---------- desktop: sticky sidebar ---------- */
@media (min-width: 1024px) {
  .hvf .hvf-layout { grid-template-columns: 280px minmax(0, 1fr); }
  /* Encyklopedie: wider sidebar for the long tema names + icons, 3 card columns. */
  .hvf--encyklopedia .hvf-layout { grid-template-columns: 320px minmax(0, 1fr); }
  .hvf--encyklopedia .hvf-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
  /* Materia medica: 3 columns too — many long remedy names ("… / … (PD)"), 4 columns made them wrap into 3–5 lines. */
  .hvf--materie-medika .hvf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hvf .hvf-panel { position: sticky; top: calc(var(--hvf-offset, 0px) + var(--hvf-top)); align-self: start; max-height: calc(100vh - var(--hvf-offset, 0px) - var(--hvf-top) * 2); display: flex; flex-direction: column; overflow: hidden; }
  .hvf .hvf-panel-body { overflow-y: auto; overscroll-behavior: contain; }
  .hvf .hvf-overlay { display: none; }
}

/* ---------- mobile / tablet: bottom sheet (CSS :target works without JS; finder.js adds focus trap + Esc) ---------- */
@media (max-width: 1023px) {
  .hvf .hvf-open {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px;
    border: 1px solid var(--hv-border-accent, hsla(106, 23%, 33%, .2)); border-radius: var(--hv-radius-full, 999px);
    background: var(--hv-bg-sand, #E8E0D4); color: var(--hv-text-heading, hsla(221, 47%, 21%, 1));
    font-size: var(--hv-text-s, 15px); font-weight: 700; text-decoration: none; transition: transform .15s ease, opacity .15s ease;
  }
  .hvf .hvf-open:hover { opacity: .85; }
  .hvf .hvf-open:active { transform: scale(.97); }
  .hvf .hvf-open:focus-visible { outline: 2px solid var(--hv-border-focus, hsla(185, 23%, 46%, 1)); outline-offset: 2px; }

  .hvf .hvf-panel {
    position: fixed; inset: auto 0 0 0; z-index: 1000; max-height: 88dvh; display: flex; flex-direction: column;
    border: 0; border-radius: var(--hv-radius-l, 16px) var(--hv-radius-l, 16px) 0 0; box-shadow: var(--hv-shadow-xl, 0 16px 48px hsla(221, 40%, 15%, .24));
    transform: translateY(100%); visibility: hidden; transition: transform .25s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .25s;
  }
  .hvf .hvf-panel.is-open, .hvf .hvf-panel:target { transform: none; visibility: visible; transition: transform .25s cubic-bezier(.2, .8, .2, 1); }
  .hvf .hvf-panel-head { padding-block-end: var(--hv-space-xs, 12px); border-bottom: 1px solid var(--hv-border-primary, hsla(106, 10%, 50%, .12)); }
  .hvf .hvf-panel-body { overflow-y: auto; overscroll-behavior: contain; }
  .hvf .hvf-panel-close {
    display: grid; place-items: center; width: 44px; height: 44px; margin-right: -8px; border-radius: var(--hv-radius-full, 999px);
    color: var(--hv-text-heading, hsla(221, 47%, 21%, 1)); transition: transform .15s ease;
  }
  .hvf .hvf-panel-close:hover { background: var(--hv-olive-10, hsla(106, 23%, 33%, .1)); }
  .hvf .hvf-panel-close:active { transform: scale(.94); }
  .hvf .hvf-panel-close:focus-visible { outline: 2px solid var(--hv-border-focus, hsla(185, 23%, 46%, 1)); outline-offset: 2px; }
  .hvf .hvf-panel-foot { display: block; padding: var(--hv-space-xs, 12px) var(--hv-space-m, 20px) calc(var(--hv-space-xs, 12px) + env(safe-area-inset-bottom)); border-top: 1px solid var(--hv-border-primary, hsla(106, 10%, 50%, .12)); background: var(--hv-bg-sand, #E8E0D4); }
  .hvf .hvf-panel-foot .hvf-btn { width: 100%; }
  .hvf .hvf-panel.is-open ~ .hvf-overlay, .hvf .hvf-panel:target ~ .hvf-overlay { display: block; position: fixed; inset: 0; z-index: 999; background: var(--hv-bg-overlay, hsla(221, 47%, 20%, .7)); }
  .hvf .hvf-overlay { display: none; }
  .hvf .hvf-facet--rejstrik .hvf-options { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}
html.hvf-sheet-open { overflow: hidden; }

/* ---------- floating "Filtry" button (mobile, when the results bar is scrolled away) ---------- */

/* ---------- bottom bar "Zpět na začátek výsledků" (+ Filtry on mobile) ---------- */
.hvf-totop {
  position: fixed; left: var(--hvf-totop-l, 0); width: var(--hvf-totop-w, 100%); bottom: -140px; z-index: 940;
  display: flex; align-items: stretch; padding-bottom: env(safe-area-inset-bottom);
  background: var(--hv-navy, hsla(221, 47%, 20%, 1)); color: var(--hv-text-inverse, #F5F2ED);
  border-top: 3px solid var(--hv-olive, hsla(106, 23%, 33%, 1)); border-radius: var(--hv-radius-m, 12px) var(--hv-radius-m, 12px) 0 0;
  box-shadow: 0 -8px 24px hsla(221, 40%, 15%, .28); visibility: hidden;
  /* Slides via `bottom`, not `transform`: a transform animation leaves the text rasterised in a compositor layer
     at an in-between position in Chrome — it looked blurred until a hover forced a repaint. */
  transition: bottom .25s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .25s;
}
.hvf-totop[hidden] { display: none; }
.hvf-totop.is-visible { bottom: 0; visibility: visible; transition: bottom .25s cubic-bezier(.2, .8, .2, 1); }
.hvf-totop button { display: flex; align-items: center; gap: 12px; min-height: 60px; margin: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; transition: opacity .15s ease; }
.hvf-totop button:hover { opacity: .85; }
.hvf-totop button:active { opacity: .7; }
.hvf-totop button:focus-visible { outline: 2px solid var(--hv-gold, hsla(39, 46%, 61%, 1)); outline-offset: -4px; }
.hvf-totop .hvf-totop-main { flex: 1 1 auto; min-width: 0; padding: 8px 20px; text-align: left; font-family: var(--cf-font-family--mulish, 'Mulish', system-ui, sans-serif); }
.hvf-totop .hvf-totop-main svg { flex: none; color: var(--hv-light-sage, #B2C4A8); }
.hvf-totop .hvf-totop-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hvf-totop .hvf-totop-title { font-size: var(--hv-text-s, 15px); font-weight: 700; line-height: 1.2; }
.hvf-totop .hvf-totop-sub { font-size: var(--hv-text-xs, 13px); line-height: 1.3; color: var(--hv-navy-l-4, #c6cee0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hvf-totop .hvf-totop-sub:empty { display: none; }
.hvf-totop .hvf-totop-filters { flex: none; padding: 0 18px; border-left: 1px solid hsla(0, 0%, 100%, .18); font-weight: 700; font-size: var(--hv-text-s, 15px); }
/* Lift the cookie button above the bar while it is shown. */
html.hvf-totop-on .hv-consent-fab { bottom: calc(76px + env(safe-area-inset-bottom)); }

@media (max-width: 599px) {
  .hvf { padding-inline: var(--hv-space-s, 16px); }
  .hvf .hvf-grid { grid-template-columns: minmax(0, 1fr); }
  .hvf .hvf-grid--odkaz, .hvf .hvf-grid--subor { grid-template-columns: minmax(0, 1fr); }
  .hvf-totop .hvf-totop-main { padding-inline: 14px 8px; gap: 8px; }
  .hvf-totop .hvf-totop-filters { padding: 0 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .hvf .hvf-panel, .hvf-totop, .hvf .hvf-opt, .hvf .hvf-btn, .hvf .hvf-tag { transition: none; }
}
@media print { .hvf .hvf-panel, .hvf-totop, .hvf .hvf-more { display: none; } }

/* Download dialog buttons are links: keep them looking like buttons (the theme underlines content links). */
.dl-modal a.dl-btn, .dl-modal a.dl-btn:hover, .dl-modal a.dl-btn:focus-visible { text-decoration: none; }
