/**
 * ds_faq — bloki na karcie produktu. Zakres klasą .dsfaq (bez wpływu na motyw), zmienne do nadpisania
 * w motywie klienta, czytelne stany fokusu, odstępy stałe (bez przeskoków układu przy ładowaniu).
 */
.dsfaq {
    --dsfaq-accent: #24b9d7;
    --dsfaq-accent-text: #0e6f83;
    --dsfaq-border: #e3e6ea;
    --dsfaq-bg: #fff;
    --dsfaq-muted: #6b7280;
    --dsfaq-soft: #f4f8fa;
    --dsfaq-radius: 6px;
    margin: 2rem 0;
    clear: both;
}
.dsfaq__title { margin: 0 0 1rem; }
.dsfaq__list { border-top: 1px solid var(--dsfaq-border); }
.dsfaq__item { border-bottom: 1px solid var(--dsfaq-border); background: var(--dsfaq-bg); }
.dsfaq__item[hidden] { display: none; }
.dsfaq__q {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;
    padding: .95rem .25rem; cursor: pointer; list-style: none; font-weight: 600; line-height: 1.4;
}
.dsfaq__q::-webkit-details-marker { display: none; }
.dsfaq__q::marker { content: ''; }
.dsfaq__q:focus-visible { outline: 2px solid var(--dsfaq-accent); outline-offset: 2px; border-radius: 2px; }
.dsfaq__chevron { flex: 0 0 auto; margin-top: .1rem; transition: transform .2s ease; color: var(--dsfaq-muted); }
.dsfaq__item[open] > .dsfaq__q .dsfaq__chevron { transform: rotate(180deg); }
.dsfaq__a { padding: 0 .25rem 1.1rem; }
.dsfaq__meta { margin: 0 0 .5rem; font-size: .85rem; color: var(--dsfaq-muted); display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.dsfaq__author { font-weight: 600; color: inherit; }
.dsfaq__badge {
    display: inline-flex; align-items: center; gap: .3rem; margin: 0 0 .5rem; padding: .15rem .55rem;
    border-radius: 999px; background: var(--dsfaq-soft); color: var(--dsfaq-accent-text); font-size: .8rem; font-weight: 600;
}
.dsfaq__answer { line-height: 1.6; }
.dsfaq__answer > :last-child { margin-bottom: 0; }
.dsfaq__answer img { max-width: 100%; height: auto; }
.dsfaq__gallery { display: flex; flex-wrap: wrap; gap: .5rem; margin: .9rem 0 0; padding: 0; list-style: none; }
.dsfaq__gallery-item { margin: 0; }
.dsfaq__thumb {
    position: relative; display: block; width: 96px; height: 96px; overflow: hidden;
    border: 1px solid var(--dsfaq-border); border-radius: var(--dsfaq-radius); background: var(--dsfaq-soft);
}
.dsfaq__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1 / 1; transition: transform .2s ease; }
.dsfaq__thumb:hover img { transform: scale(1.05); }
.dsfaq__thumb:focus-visible { outline: 2px solid var(--dsfaq-accent); outline-offset: 2px; }
.dsfaq__zoom-ico { position: absolute; right: 4px; bottom: 4px; padding: 3px; border-radius: 50%; background: rgba(255, 255, 255, .85); color: #222; width: 22px; height: 22px; }
.dsfaq__files { margin-top: .9rem; }
.dsfaq__files-title { margin: 0 0 .35rem; font-size: .85rem; font-weight: 600; color: var(--dsfaq-muted); }
.dsfaq__files-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .35rem; }
.dsfaq__file {
    display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .7rem; max-width: 100%;
    border: 1px solid var(--dsfaq-border); border-radius: var(--dsfaq-radius); text-decoration: none; color: inherit;
}
.dsfaq__file:hover, .dsfaq__file:focus-visible { border-color: var(--dsfaq-accent); text-decoration: none; }
.dsfaq__file-ico { flex: 0 0 auto; color: var(--dsfaq-accent-text); }
.dsfaq__file--pdf .dsfaq__file-ico { color: #c0392b; }
.dsfaq__file--doc .dsfaq__file-ico { color: #2b5797; }
.dsfaq__file--xls .dsfaq__file-ico { color: #1e7145; }
.dsfaq__file--zip .dsfaq__file-ico { color: #7a5c00; }
.dsfaq__file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dsfaq__file-size { flex: 0 0 auto; font-size: .8rem; color: var(--dsfaq-muted); }
.dsfaq__more {
    margin-top: 1rem; padding: .5rem 1rem; border: 1px solid var(--dsfaq-border); border-radius: var(--dsfaq-radius);
    background: var(--dsfaq-bg); color: var(--dsfaq-accent-text); font-weight: 600; cursor: pointer;
}
.dsfaq__more:hover, .dsfaq__more:focus-visible { border-color: var(--dsfaq-accent); outline: none; }
.dsfaq__empty { margin: 0 0 1rem; color: var(--dsfaq-muted); }
.dsfaq-ask { margin-top: 1.25rem; border: 1px solid var(--dsfaq-border); border-radius: var(--dsfaq-radius); background: var(--dsfaq-soft); }
.dsfaq-ask__toggle {
    display: flex; align-items: center; gap: .5rem; padding: .85rem 1rem; cursor: pointer; list-style: none;
    font-weight: 600; color: var(--dsfaq-accent-text);
}
.dsfaq-ask__toggle::-webkit-details-marker { display: none; }
.dsfaq-ask__toggle::marker { content: ''; }
.dsfaq-ask__toggle:focus-visible { outline: 2px solid var(--dsfaq-accent); outline-offset: 2px; }
.dsfaq-ask__form { padding: 0 1rem 1rem; }
.dsfaq-ask__intro { margin: 0 0 .9rem; font-size: .9rem; color: var(--dsfaq-muted); }
.dsfaq-ask__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 1rem; }
.dsfaq-ask__field { margin-bottom: .85rem; }
.dsfaq-ask__field label { display: block; margin-bottom: .3rem; font-weight: 600; font-size: .9rem; text-align: left; }
.dsfaq-ask__field input[type="text"], .dsfaq-ask__field input[type="email"], .dsfaq-ask__field textarea {
    display: block; width: 100%; box-sizing: border-box; padding: .55rem .7rem; font: inherit;
    border: 1px solid #c8cdd2; border-radius: 4px; background: #fff;
}
.dsfaq-ask__field input:focus, .dsfaq-ask__field textarea:focus { outline: 2px solid var(--dsfaq-accent); outline-offset: 0; border-color: var(--dsfaq-accent); }
.dsfaq-ask__field textarea { resize: vertical; min-height: 110px; }
.dsfaq-ask__opt { font-weight: 400; color: var(--dsfaq-muted); }
.dsfaq-ask__hint { display: block; margin-top: .3rem; font-size: .8rem; color: var(--dsfaq-muted); }
.dsfaq-ask__hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.dsfaq-ask__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.dsfaq-ask__msg { margin: 0; font-size: .9rem; }
.dsfaq-ask__msg.is-ok { color: #1e7145; }
.dsfaq-ask__msg.is-error { color: #b42318; }
@media (prefers-reduced-motion: reduce) {
    .dsfaq__chevron, .dsfaq__thumb img { transition: none; }
}
