.qc-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    gap: 18px
}

.qc-gallery-grid .panel {
    min-width: 0;
    margin: 0;
    text-align: center
}

.qc-gallery-grid img,
.qc-gallery-grid video {
    width: 100%;
    max-height: 480px;
    object-fit: contain;
    border-radius: 8px
}

.qc-gallery-slider figure {
    margin: 0
}

.qc-gallery-slider img {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: contain
}

.qc-gallery-slider figcaption {
    margin-top: 8px;
    overflow-wrap: anywhere
}

.qc-gallery-slider [hidden] {
    display: none !important
}

.qc-gallery-slider button {
    min-width: 40px;
    min-height: 40px;
    padding: 5px
}

.qc-poll {
    min-width: 0;
    text-align: center
}

.qc-poll label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    overflow-wrap: anywhere
}

.qc-poll input[type=radio] {
    width: auto;
    flex: none;
    margin: 0
}

.qc-poll meter {
    width: 100%;
    height: 16px
}

.qc-poll h3 {
    overflow-wrap: anywhere
}

.qc-gallery-grid form {
    margin-top: 8px
}

@media(max-width:600px) {
    .qc-gallery-grid {
        grid-template-columns: minmax(0, 1fr)
    }
}
.qc-admin-gallery-preview,
.qc-admin-gallery-video {
    display: block;
    width: 160px;
    height: 160px;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 8px;
    margin: 10px 0;
    object-fit: cover;
}

.qc-admin-gallery-video {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #18251c;
    color: #b8e5bf;
    font-size: 20px;
    font-weight: 600;
}
