/* ─────────────────────────────────────────────────────────────────────────────
   Feature Grid — bkbg-fg-
   ───────────────────────────────────────────────────────────────────────────── */

/* Wrapper */
.bkbg-fg-wrapper {
    box-sizing: border-box;
}

/* Grid */
.bkbg-fg-grid {
    display: grid;
    grid-template-columns: repeat(var(--bkbg-fg-cols, 3), 1fr);
    gap: var(--bkbg-fg-gap, 24px);
}

/* Card base */
.bkbg-fg-card {
    background: var(--bkbg-fg-card-bg, #ffffff);
    border-radius: var(--bkbg-fg-radius, 12px);
    padding: var(--bkbg-fg-pad, 32px);
    text-align: var(--bkbg-fg-text-align, center);
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* ── Card styles ──────────────────────────────────────────────────────────── */
.bkbg-fg-card-shadow .bkbg-fg-card {
    box-shadow: var(--bkbg-fg-shadow, 0 2px 12px rgba(0,0,0,0.1));
}

.bkbg-fg-card-outlined .bkbg-fg-card {
    border: 1.5px solid var(--bkbg-fg-card-border, #e5e7eb);
    box-shadow: none;
}

.bkbg-fg-card-flat .bkbg-fg-card {
    background: var(--bkbg-fg-card-bg, #f9fafb);
    box-shadow: none;
}

.bkbg-fg-card-plain .bkbg-fg-card {
    background: transparent;
    box-shadow: none;
    padding-left: 0;
    padding-right: 0;
}

/* ── Hover effects ────────────────────────────────────────────────────────── */
.bkbg-fg-hover-lift .bkbg-fg-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.13);
}

.bkbg-fg-hover-scale .bkbg-fg-card:hover {
    transform: scale(1.03);
    box-shadow: 0 8px 28px rgba(0,0,0,0.12);
}

.bkbg-fg-hover-glow .bkbg-fg-card:hover {
    border-color: var(--bkbg-fg-icon-color, #3b82f6);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--bkbg-fg-icon-color, #3b82f6) 18%, transparent);
}

/* ── Icon position: top (column) ──────────────────────────────────────────── */
.bkbg-fg-icon-pos-top .bkbg-fg-card {
    flex-direction: column;
    align-items: center;
}

.bkbg-fg-icon-pos-top .bkbg-fg-icon-area {
    display: flex;
    justify-content: var(--bkbg-fg-text-align, center);
    margin-bottom: 16px;
}

/* ── Icon position: left (row) ────────────────────────────────────────────── */
.bkbg-fg-icon-pos-left .bkbg-fg-card {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
}

.bkbg-fg-icon-pos-left .bkbg-fg-icon-area {
    margin-right: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    padding-top: 2px;
}

/* ── Icon wrap (shape background) ───────────────────────────────────────────── */
.bkbg-fg-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--bkbg-fg-shape-size, 72px);
    height: var(--bkbg-fg-shape-size, 72px);
    background: var(--bkbg-fg-icon-bg, #eff6ff);
    flex-shrink: 0;
}

/* None / shape override via JS inline styles takes precedence */

.bkbg-fg-icon-pos-top .bkbg-fg-icon-wrap {
    margin: 0 auto;
}
.bkbg-fg-icon-pos-left .bkbg-fg-icon-wrap {
    margin: 0;
}

.bkbg-fg-icon-area .dashicons {
    color: var(--bkbg-fg-icon-color, #3b82f6);
    font-size: var(--bkbg-fg-icon-size, 42px) !important;
    width: var(--bkbg-fg-icon-size, 42px) !important;
    height: var(--bkbg-fg-icon-size, 42px) !important;
    line-height: 1;
}

/* ── Body ─────────────────────────────────────────────────────────────────── */
.bkbg-fg-body {
    flex: 1;
    min-width: 0;
}

/* ── Typography ───────────────────────────────────────────────────────────── */
.bkbg-fg-wrapper .bkbg-fg-title {
    font-family: var(--bkbg-fg-tt-font-family, inherit);
    font-size: var(--bkbg-fg-tt-font-size-d, 18px);
    font-weight: var(--bkbg-fg-tt-font-weight, 700);
    font-style: var(--bkbg-fg-tt-font-style, normal);
    text-transform: var(--bkbg-fg-tt-text-transform, none);
    text-decoration: var(--bkbg-fg-tt-text-decoration, none);
    line-height: var(--bkbg-fg-tt-line-height-d, 1.3);
    letter-spacing: var(--bkbg-fg-tt-letter-spacing-d, normal);
    word-spacing: var(--bkbg-fg-tt-word-spacing-d, normal);
    color: var(--bkbg-fg-title-color, #111827);
    margin: 0 0 10px;
}

.bkbg-fg-text {
    font-family: var(--bkbg-fg-tx-font-family, inherit);
    font-size: var(--bkbg-fg-tx-font-size-d, 14px);
    font-weight: var(--bkbg-fg-tx-font-weight, 400);
    font-style: var(--bkbg-fg-tx-font-style, normal);
    text-transform: var(--bkbg-fg-tx-text-transform, none);
    text-decoration: var(--bkbg-fg-tx-text-decoration, none);
    line-height: var(--bkbg-fg-tx-line-height-d, 1.65);
    letter-spacing: var(--bkbg-fg-tx-letter-spacing-d, normal);
    word-spacing: var(--bkbg-fg-tx-word-spacing-d, normal);
    color: var(--bkbg-fg-text-color, #6b7280);
    margin: 0 0 12px;
}

.bkbg-fg-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--bkbg-fg-lk-font-family, inherit);
    font-size: var(--bkbg-fg-lk-font-size-d, 14px);
    font-weight: var(--bkbg-fg-lk-font-weight, 600);
    font-style: var(--bkbg-fg-lk-font-style, normal);
    text-transform: var(--bkbg-fg-lk-text-transform, none);
    text-decoration: var(--bkbg-fg-lk-text-decoration, none);
    line-height: var(--bkbg-fg-lk-line-height-d, 1.4);
    letter-spacing: var(--bkbg-fg-lk-letter-spacing-d, normal);
    word-spacing: var(--bkbg-fg-lk-word-spacing-d, normal);
    color: var(--bkbg-fg-link-color, #3b82f6);
    transition: gap 0.2s ease, opacity 0.2s ease;
}

.bkbg-fg-link:hover {
    opacity: 0.8;
    gap: 8px;
}

.bkbg-fg-link-arrow {
    font-style: normal;
    transition: transform 0.2s ease;
}

.bkbg-fg-link:hover .bkbg-fg-link-arrow {
    transform: translateX(3px);
}

/* ── Scroll reveal animation ──────────────────────────────────────────────── */
.bkbg-fg-card.bkbg-fg-anim {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}

.bkbg-fg-card.bkbg-fg-anim.bkbg-fg-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger delay for each card position */
.bkbg-fg-card.bkbg-fg-anim:nth-child(2) { transition-delay: 0.08s; }
.bkbg-fg-card.bkbg-fg-anim:nth-child(3) { transition-delay: 0.16s; }
.bkbg-fg-card.bkbg-fg-anim:nth-child(4) { transition-delay: 0.24s; }
.bkbg-fg-card.bkbg-fg-anim:nth-child(5) { transition-delay: 0.32s; }
.bkbg-fg-card.bkbg-fg-anim:nth-child(6) { transition-delay: 0.40s; }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .bkbg-fg-grid {
        grid-template-columns: repeat(var(--bkbg-fg-cols-tab, 2), 1fr);
    }
    .bkbg-fg-wrapper .bkbg-fg-title {
        font-size: var(--bkbg-fg-tt-font-size-t, var(--bkbg-fg-tt-font-size-d, 18px));
        line-height: var(--bkbg-fg-tt-line-height-t, var(--bkbg-fg-tt-line-height-d, 1.3));
        letter-spacing: var(--bkbg-fg-tt-letter-spacing-t, var(--bkbg-fg-tt-letter-spacing-d, normal));
        word-spacing: var(--bkbg-fg-tt-word-spacing-t, var(--bkbg-fg-tt-word-spacing-d, normal));
    }
    .bkbg-fg-text {
        font-size: var(--bkbg-fg-tx-font-size-t, var(--bkbg-fg-tx-font-size-d, 14px));
        line-height: var(--bkbg-fg-tx-line-height-t, var(--bkbg-fg-tx-line-height-d, 1.65));
        letter-spacing: var(--bkbg-fg-tx-letter-spacing-t, var(--bkbg-fg-tx-letter-spacing-d, normal));
        word-spacing: var(--bkbg-fg-tx-word-spacing-t, var(--bkbg-fg-tx-word-spacing-d, normal));
    }
    .bkbg-fg-link {
        font-size: var(--bkbg-fg-lk-font-size-t, var(--bkbg-fg-lk-font-size-d, 14px));
        line-height: var(--bkbg-fg-lk-line-height-t, var(--bkbg-fg-lk-line-height-d, 1.4));
        letter-spacing: var(--bkbg-fg-lk-letter-spacing-t, var(--bkbg-fg-lk-letter-spacing-d, normal));
        word-spacing: var(--bkbg-fg-lk-word-spacing-t, var(--bkbg-fg-lk-word-spacing-d, normal));
    }
}

@media (max-width: 480px) {
    .bkbg-fg-grid {
        grid-template-columns: repeat(var(--bkbg-fg-cols-mob, 1), 1fr);
    }
    .bkbg-fg-icon-pos-left .bkbg-fg-card {
        flex-direction: column;
        text-align: var(--bkbg-fg-text-align, center);
    }
    .bkbg-fg-icon-pos-left .bkbg-fg-icon-area {
        margin-right: 0;
        margin-bottom: 14px;
        justify-content: center;
        align-items: center;
    }
    .bkbg-fg-wrapper .bkbg-fg-title {
        font-size: var(--bkbg-fg-tt-font-size-m, var(--bkbg-fg-tt-font-size-t, var(--bkbg-fg-tt-font-size-d, 18px)));
        line-height: var(--bkbg-fg-tt-line-height-m, var(--bkbg-fg-tt-line-height-t, var(--bkbg-fg-tt-line-height-d, 1.3)));
        letter-spacing: var(--bkbg-fg-tt-letter-spacing-m, var(--bkbg-fg-tt-letter-spacing-t, var(--bkbg-fg-tt-letter-spacing-d, normal)));
        word-spacing: var(--bkbg-fg-tt-word-spacing-m, var(--bkbg-fg-tt-word-spacing-t, var(--bkbg-fg-tt-word-spacing-d, normal)));
    }
    .bkbg-fg-text {
        font-size: var(--bkbg-fg-tx-font-size-m, var(--bkbg-fg-tx-font-size-t, var(--bkbg-fg-tx-font-size-d, 14px)));
        line-height: var(--bkbg-fg-tx-line-height-m, var(--bkbg-fg-tx-line-height-t, var(--bkbg-fg-tx-line-height-d, 1.65)));
        letter-spacing: var(--bkbg-fg-tx-letter-spacing-m, var(--bkbg-fg-tx-letter-spacing-t, var(--bkbg-fg-tx-letter-spacing-d, normal)));
        word-spacing: var(--bkbg-fg-tx-word-spacing-m, var(--bkbg-fg-tx-word-spacing-t, var(--bkbg-fg-tx-word-spacing-d, normal)));
    }
    .bkbg-fg-link {
        font-size: var(--bkbg-fg-lk-font-size-m, var(--bkbg-fg-lk-font-size-t, var(--bkbg-fg-lk-font-size-d, 14px)));
        line-height: var(--bkbg-fg-lk-line-height-m, var(--bkbg-fg-lk-line-height-t, var(--bkbg-fg-lk-line-height-d, 1.4)));
        letter-spacing: var(--bkbg-fg-lk-letter-spacing-m, var(--bkbg-fg-lk-letter-spacing-t, var(--bkbg-fg-lk-letter-spacing-d, normal)));
        word-spacing: var(--bkbg-fg-lk-word-spacing-m, var(--bkbg-fg-lk-word-spacing-t, var(--bkbg-fg-lk-word-spacing-d, normal)));
    }
}

/* ── Editor: keep cards readable at any width ─────────────────────────────── */
.wp-block-blockenberg-feature-grid .bkbg-fg-title {
    min-height: 1em;
}
