/* A horizontal filter bar, larger paper preview and compact native download rows. */
.dsf-download { padding-block: var(--dsf-space-7); background: var(--dsf-color-background); scroll-margin-block-start: calc(var(--dsf-header-height, 5rem) + 1rem); }
.dsf-download__lead { max-inline-size: var(--dsf-measure); margin-block-start: var(--dsf-space-3); color: var(--dsf-color-muted); }
.dsf-download__form { display: grid; grid-template-columns: minmax(18rem, 1.1fr) 7rem minmax(20rem, 1fr); align-items: start; gap: var(--dsf-space-2) var(--dsf-space-5); margin-block-start: var(--dsf-space-5); padding: var(--dsf-space-4) var(--dsf-space-5); border: 1px solid var(--dsf-color-border); border-radius: var(--dsf-radius-medium); background: var(--dsf-color-surface); }
.dsf-download__field { position: relative; min-inline-size: 0; }
.dsf-download__field label, .dsf-download__categories legend { display: block; margin-block-end: var(--dsf-space-2); color: var(--dsf-color-primary); font-size: var(--dsf-text-small); font-weight: 600; }
.dsf-download__field select { appearance: none; inline-size: 100%; block-size: 3rem; padding: var(--dsf-space-2) var(--dsf-space-7) var(--dsf-space-2) var(--dsf-space-4); border-radius: var(--dsf-radius-medium); font-size: var(--dsf-text-small); }
.dsf-download__field::after { content: ""; position: absolute; inset-inline-end: var(--dsf-space-4); inset-block-end: 1.25rem; inline-size: 0.4rem; block-size: 0.4rem; border-inline-end: 1.5px solid var(--dsf-color-primary); border-block-end: 1.5px solid var(--dsf-color-primary); transform: rotate(45deg); pointer-events: none; }
.dsf-download__categories { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.dsf-download__categories > div { display: flex; flex-wrap: wrap; gap: var(--dsf-space-3); }
.dsf-download__categories label { display: flex; align-items: center; gap: var(--dsf-space-2); min-block-size: 3rem; padding: var(--dsf-space-2) var(--dsf-space-4); border: 1px solid var(--dsf-color-border); border-radius: var(--dsf-radius-medium); background: var(--dsf-color-surface); color: var(--dsf-color-primary); font-size: var(--dsf-text-small); }
.dsf-download__categories label:has(input:disabled) { color: var(--dsf-color-muted); background: var(--dsf-color-background); }
.dsf-download__categories label:has(input:checked) { border-color: var(--dsf-color-accent); background: var(--dsf-color-tint); }
.dsf-download__categories input { margin: 0; inline-size: 1rem; block-size: 1rem; }
.dsf-download__public-note { grid-column: 3; color: var(--dsf-color-muted); font-size: var(--dsf-text-small); }
.dsf-download__layout { display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); align-items: stretch; gap: var(--dsf-space-5); margin-block-start: var(--dsf-space-5); }
.dsf-download__preview-panel { display: flex; flex-direction: column; min-inline-size: 0; padding: var(--dsf-space-5); border: 1px solid var(--dsf-color-border); border-radius: var(--dsf-radius-large); background: var(--dsf-color-surface); }
.dsf-download__preview-heading { display: flex; align-items: baseline; justify-content: space-between; gap: var(--dsf-space-3); margin-block-end: var(--dsf-space-4); color: var(--dsf-color-primary); font-family: var(--dsf-font-heading); font-size: var(--dsf-text-lead); }
.dsf-download__preview-heading > span { font-size: var(--dsf-text-body); font-variant-numeric: tabular-nums; }
.dsf-download__months { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--dsf-space-5); }
.dsf-download__calendar { min-inline-size: 0; }
.dsf-download__calendar figcaption { margin-block-end: var(--dsf-space-2); color: var(--dsf-color-primary); font-size: var(--dsf-text-body); font-weight: 600; }
.dsf-download__calendar table { inline-size: 100%; border-collapse: separate; border-spacing: 2px; table-layout: fixed; color: var(--dsf-color-primary); font-size: var(--dsf-text-body); text-align: center; font-variant-numeric: tabular-nums; }
.dsf-download__calendar th { padding-block: var(--dsf-space-1); color: var(--dsf-color-muted); font-size: var(--dsf-text-small); font-weight: 500; }
.dsf-download__calendar td { block-size: 1.75rem; padding: 0; }
.dsf-download__calendar time { display: grid; place-items: center; block-size: 1.75rem; border-radius: var(--dsf-radius-small); line-height: 1.3; }
.dsf-download__calendar .has-holiday { background: var(--dsf-color-tint); color: var(--dsf-color-accent-hover); font-weight: 700; }
.dsf-download__preview-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--dsf-space-4); margin: var(--dsf-space-4) 0 0; padding: var(--dsf-space-4) 0 0; border-block-start: 1px solid var(--dsf-color-border); list-style: none; color: var(--dsf-color-primary); font-size: var(--dsf-text-small); }
.dsf-download__preview-dates li { min-inline-size: 0; }
.dsf-download__preview-dates strong, .dsf-download__preview-dates span { display: block; }
.dsf-download__preview-dates span { margin-block-start: var(--dsf-space-1); color: var(--dsf-color-muted); font-variant-numeric: tabular-nums; }
.dsf-download__preview-actions { display: flex; justify-content: flex-end; margin-block-start: auto; padding-block-start: var(--dsf-space-4); }
.dsf-download__print { font-size: var(--dsf-text-small); }
.dsf-download__options { display: grid; grid-template-rows: repeat(4, minmax(min-content, 1fr)); gap: var(--dsf-space-3); min-inline-size: 0; }
.dsf-download__option { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr) 16rem; align-items: center; gap: var(--dsf-space-3); min-inline-size: 0; padding: var(--dsf-space-4); border: 1px solid var(--dsf-color-border); border-radius: var(--dsf-radius-medium); background: var(--dsf-color-surface); }
.dsf-download__format-icon { flex-shrink: 0; color: var(--dsf-color-accent); }
.dsf-download__option-copy { min-inline-size: 0; }
.dsf-download__option h3 { color: var(--dsf-color-primary); font-size: var(--dsf-text-lead); font-weight: 800; }
.dsf-download__option p { margin-block-start: var(--dsf-space-1); color: var(--dsf-color-muted); font-size: var(--dsf-text-small); line-height: 1.5; }
.dsf-download__button { white-space: nowrap; inline-size: 100%; min-block-size: 2.75rem; padding-inline: var(--dsf-space-3); border-color: var(--dsf-color-border); background: var(--dsf-color-surface); color: var(--dsf-color-primary); font-size: var(--dsf-text-small); }
.dsf-download__button:hover { border-color: var(--dsf-color-accent); background: var(--dsf-color-tint); color: var(--dsf-color-primary); }
.dsf-download__option:first-child .dsf-download__button { border-color: transparent; background: var(--dsf-color-accent); color: var(--dsf-color-surface); }
.dsf-download__option:first-child .dsf-download__button:hover { background: var(--dsf-color-accent-hover); }
.dsf-download__feedback { color: var(--dsf-color-muted); font-size: var(--dsf-text-small); }
.dsf-download__feedback:not(:empty):not(.screen-reader-text) { margin-block-start: var(--dsf-space-3); }
.dsf-download__notice { max-inline-size: var(--dsf-measure); margin-block-start: var(--dsf-space-4); color: var(--dsf-color-muted); font-size: var(--dsf-text-small); }
@media (max-width: 64rem) { .dsf-download__form { grid-template-columns: minmax(0, 1fr) 8rem; } .dsf-download__categories, .dsf-download__public-note { grid-column: 1 / -1; } .dsf-download__layout { grid-template-columns: minmax(0, 1fr); } .dsf-download__options { grid-template-rows: none; } .dsf-download__option { grid-template-columns: 1.75rem minmax(0, 1fr) 16rem; } }
@media (max-width: 38rem) { .dsf-download { padding-block: var(--dsf-space-6); } .dsf-download__form { grid-template-columns: minmax(0, 1fr); padding: var(--dsf-space-4); gap: var(--dsf-space-3); } .dsf-download__categories, .dsf-download__public-note { grid-column: 1; } .dsf-download__field select { font-size: var(--dsf-text-body); } .dsf-download__preview-panel { padding: var(--dsf-space-4); } .dsf-download__months { gap: var(--dsf-space-4); } .dsf-download__option { grid-template-columns: 1.75rem minmax(0, 1fr); } .dsf-download__button { grid-column: 1 / -1; } }
@media (max-width: 30rem) { .dsf-download__months, .dsf-download__preview-dates { grid-template-columns: minmax(0, 1fr); } }
@media print { .dsf-download__form, .dsf-download__options, .dsf-download__preview-actions { display: none; } .dsf-download__layout { display: block; } }
