/*
 * BSM Download Manager — presentation-neutral public CSS.
 *
 * This file intentionally provides only structural/accessibility defaults.
 * Site builders/themes (Divi, Gutenberg, Elementor, Bricks, custom themes,
 * etc.) should own colors, typography, widths, spacing, backgrounds, shadows,
 * borders, and overall visual design.
 */

.bsm-product *,
.bsm-product-archive *,
.bsm-plugin-docs *,
.bsm-plugin-doc-article *,
.bsm-plugin-support * {
    box-sizing: border-box;
}

.bsm-product__screenshots,
.bsm-plugin-product-screenshots {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
}

.bsm-product__screenshots figure,
.bsm-plugin-product-screenshots figure {
    margin: 0;
}

.bsm-product__screenshots img,
.bsm-plugin-product-screenshots img,
.bsm-product-card__image img,
.bsm-plugin-card-image img {
    display: block;
    width: 100%;
    height: auto;
}

.bsm-product__requirements {
    margin: 0;
}

.bsm-product__requirement {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .75rem;
}

.bsm-product__requirement dt,
.bsm-product__requirement dd {
    margin: 0;
}

.bsm-product__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
}

.bsm-product__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;
}

.bsm-product-archive__grid,
.bsm-plugin-archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

.bsm-plugin-faq details,
.bsm-product__faq details {
    padding-block: .75rem;
}

.bsm-plugin-faq summary,
.bsm-product__faq summary {
    cursor: pointer;
}

.bsm-plugin-support-form input,
.bsm-plugin-support-form textarea {
    box-sizing: border-box;
    width: 100%;
}

.bsm-plugin-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.bsm-prm-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 700px) {
    .bsm-plugin-support-grid,
    .bsm-product__requirement {
        grid-template-columns: 1fr;
    }
}


/* Product lifecycle indicators. Themes may override visual styling. */
.bsm-product__retired-notice,
.bsm-plugin-retired-notice {
    display: block;
    margin-block: 1rem;
    padding: 1rem;
    border: 1px solid currentColor;
}

.bsm-product__retired-notice p,
.bsm-plugin-retired-notice p {
    margin-bottom: 0;
}

.bsm-product__retired-badge {
    display: inline-block;
    padding: .2em .55em;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: .8em;
    font-weight: 700;
    line-height: 1.2;
}
