/* Lokalna galeria DryFireSystem; kolory i karty zgodne ze wspólnym stylem. */
.dfs-gallery-link { display: inline-flex; gap: 18px; margin-top: 12px; color: var(--cyan, #39c7d3); font-weight: 700; }
.dfs-scenes { scroll-margin-top: 110px; }
.dfs-scene-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.dfs-scene-filters[hidden], .dfs-scene-card[hidden] { display: none; }
.dfs-scene-filters button { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 15px; border: 1px solid rgba(57,199,211,.24); border-radius: 6px; background: rgba(247,249,250,.04); color: var(--text); font: inherit; font-size: .88rem; cursor: pointer; }
.dfs-scene-filters button span { color: var(--muted); font-size: .75rem; }
.dfs-scene-filters button[aria-pressed="true"] { background: rgba(57,199,211,.13); border-color: var(--cyan, #39c7d3); }
.dfs-scene-filters button[aria-pressed="true"] span { color: var(--text); }
.dfs-scene-filters button:hover { border-color: var(--cyan, #39c7d3); }
.dfs-scene-context { color: var(--muted); font-size: .9rem; margin: 0 0 22px; max-width: 860px; }
.dfs-scene-image { display: block; border: 0; padding: 0; width: 100%; background: transparent; cursor: zoom-in; }
.dfs-scenes .dfs-scene-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: contain; }
.dfs-scene-card h3 { margin: 0 0 10px; font-size: 1.04rem; line-height: 1.3; color: var(--text); }
.dfs-scene-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 26px; padding-top: 20px; border-top: 1px solid rgba(57,199,211,.18); }
.dfs-scene-notes p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.7; }
.dfs-scene-notes strong { color: var(--text); }
.dfs-scenes :focus-visible, .dfs-gallery-link:focus-visible { outline: 2px solid var(--cyan, #39c7d3); outline-offset: 4px; }
@media (max-width: 760px) { .dfs-scene-notes { grid-template-columns: 1fr; gap: 14px; } .dfs-scene-filters button { flex-grow: 1; justify-content: space-between; } }

.dfs-downloads { width: min(100% - 40px, var(--max)); margin: 0 auto; padding: 0 0 48px; scroll-margin-top: 110px; }
.dfs-downloads .section-head { margin-bottom: 24px; }
.dfs-terms { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 18px; padding: 19px 22px; border: 1px solid rgba(57,199,211,.32); border-radius: 8px; background: rgba(57,199,211,.07); }
.dfs-terms strong { display: block; margin-bottom: 5px; color: var(--text); font-size: .99rem; }
.dfs-terms p { margin: 0; max-width: 640px; color: var(--muted); font-size: .88rem; line-height: 1.55; }
.dfs-terms-link { display: inline-flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 15px; min-height: 42px; padding: 9px 14px; border: 1px solid var(--cyan, #39c7d3); border-radius: 7px; color: var(--cyan, #39c7d3); font-size: .88rem; font-weight: 800; text-decoration: none; }
.dfs-terms-link:hover { background: rgba(57,199,211,.12); color: #79e1e9; }
.dfs-terms-link:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 760px) { .dfs-terms { align-items: stretch; flex-direction: column; gap: 14px; padding: 18px; } .dfs-terms-link { justify-content: center; } }
.dfs-macos-help { margin: 18px 0 0; }
.dfs-download-list { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); }
.dfs-download-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 22px; }
.dfs-download-row + .dfs-download-row { border-top: 1px solid var(--line); }
.dfs-download-platform { color: var(--cyan, #39c7d3); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.dfs-download-row h3 { display: inline; margin: 0 0 0 12px; color: var(--text); font-size: 1rem; }
.dfs-download-row p { margin: 3px 0 0; color: var(--muted); font-size: .87rem; }
.dfs-download-button { display: inline-flex; align-items: center; justify-content: space-between; flex: 0 0 245px; gap: 16px; min-height: 42px; padding: 9px 14px; border: 1px solid var(--cyan, #39c7d3); border-radius: 7px; background: var(--cyan, #39c7d3); color: #092129; font-size: .88rem; font-weight: 800; text-decoration: none; }
.dfs-download-button:hover { background: #79e1e9; border-color: #79e1e9; color: #092129; }
.dfs-download-button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 760px) { .dfs-downloads { width: min(100% - 36px, var(--max)); padding: 0 0 38px; } .dfs-download-row { align-items: stretch; flex-direction: column; gap: 12px; padding: 18px; } .dfs-download-button { flex-basis: auto; width: 100%; } }
