/* ============================================================
    PRODUCTS GRID — LIGHT THEME
    Hero reuses about-pg.css / 0-hero.css classes as-is.
    ============================================================ */

.bd-products-section {
    padding: 100px 24px 70px;
    background: #ffffff;
}

.bd-products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 48px;
    align-items: stretch;
}

.bd-product-card {
    display: flex;
    flex-direction: column;
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    border: 1px solid rgba(40, 110, 220, .14);
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.bd-product-card:hover,
.bd-product-card:focus-within {
    transform: translateY(-6px);
    border-color: rgba(40, 110, 220, .38);
    box-shadow: 0 22px 55px rgba(30, 90, 200, .12);
}

.bd-product-card-img {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #eef2f7;
}

.bd-product-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}

.bd-product-card:hover .bd-product-card-img img {
    transform: scale(1.06);
}

.bd-product-card-body {
    padding: 26px 28px 30px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 10px;
}

.bd-product-tag {
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #2f6fe0;
    font-weight: 600;
}

.bd-product-title {
    font-size: 26px;
    font-weight: 700;
    color: #0f1728;
    margin: 0;
    font-family: Montserrat, sans-serif;
}

.bd-product-desc {
    font-size: 14.5px;
    line-height: 1.65;
    color: #4b5563;
    margin: 0;
}

/* margin-top:auto keeps the link at the bottom of equal-height cards */
.bd-product-cta {
    margin-top: auto;
    padding-top: 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: #2f6fe0;
    text-decoration: none;
    width: fit-content;
}

.bd-product-cta .material-icons-round {
    font-size: 16px;
    transition: transform .3s ease;
}

.bd-product-cta:hover { color: #0f1728; }
.bd-product-cta:hover .material-icons-round { transform: translateX(4px); }

.bd-product-cta:focus-visible {
    outline: 2px solid #2f6fe0;
    outline-offset: 4px;
    border-radius: 4px;
}

/* Tablet: 2 columns, third card centred on its own row */
@media (max-width: 1100px) {
    .bd-products-grid { grid-template-columns: repeat(2, 1fr); }

    .bd-products-grid .bd-product-card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        justify-self: center;
        width: calc(50% - 16px);
    }
}

/* Mobile: 1 column */
@media (max-width: 700px) {
    .bd-products-grid { grid-template-columns: 1fr; gap: 24px; }

    .bd-products-grid .bd-product-card:last-child:nth-child(odd) {
        grid-column: auto;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bd-product-card,
    .bd-product-card-img img,
    .bd-product-cta .material-icons-round { transition: none; }

    .bd-product-card:hover { transform: none; }
    .bd-product-card:hover .bd-product-card-img img { transform: none; }
}