/* ============================================================ Icon Feature Grid — style.css Prefix: bkbg-ifg- ============================================================ */ .bkbg-ifg-wrap { box-sizing: border-box; width: 100%; background: var(--bkbg-ifg-bg, #ffffff); padding: var(--bkbg-ifg-pt, 64px) 0 var(--bkbg-ifg-pb, 64px); } /* ---- Section header ---- */ .bkbg-ifg-header { margin-bottom: var(--bkbg-ifg-sect-gap, 56px); } .bkbg-ifg-heading-align--center .bkbg-ifg-header { text-align: center; max-width: 680px; margin-left: auto; margin-right: auto; } .bkbg-ifg-wrap .bkbg-ifg-heading, .bkbg-ifg-wrap h2.bkbg-ifg-heading { margin: 0 0 14px; font-family: var(--bkbg-ifg-hd-font-family, inherit); font-size: var(--bkbg-ifg-hd-font-size-d, var(--bkbg-ifg-heading-sz, 36px)); font-weight: var(--bkbg-ifg-hd-font-weight, var(--bkbg-ifg-heading-w, 800)); font-style: var(--bkbg-ifg-hd-font-style, normal); text-decoration: var(--bkbg-ifg-hd-text-decoration, none); text-transform: var(--bkbg-ifg-hd-text-transform, none); color: var(--bkbg-ifg-heading-c, #0f172a); letter-spacing: var(--bkbg-ifg-hd-letter-spacing-d, -.03em); line-height: var(--bkbg-ifg-hd-line-height-d, var(--bkbg-ifg-heading-lh, 1.15)); word-spacing: var(--bkbg-ifg-hd-word-spacing-d, normal); } .bkbg-ifg-wrap .bkbg-ifg-sub { margin: 0; font-family: var(--bkbg-ifg-sh-font-family, inherit); font-size: var(--bkbg-ifg-sh-font-size-d, var(--bkbg-ifg-sub-sz, 18px)); font-weight: var(--bkbg-ifg-sh-font-weight, var(--bkbg-ifg-sub-w, 600)); font-style: var(--bkbg-ifg-sh-font-style, normal); text-decoration: var(--bkbg-ifg-sh-text-decoration, none); text-transform: var(--bkbg-ifg-sh-text-transform, none); color: var(--bkbg-ifg-sub-c, #64748b); letter-spacing: var(--bkbg-ifg-sh-letter-spacing-d, normal); line-height: var(--bkbg-ifg-sh-line-height-d, var(--bkbg-ifg-sub-lh, 1.65)); word-spacing: var(--bkbg-ifg-sh-word-spacing-d, normal); } /* ---- Grid ---- */ .bkbg-ifg-grid { display: grid; grid-template-columns: repeat(var(--bkbg-ifg-cols, 3), 1fr); gap: var(--bkbg-ifg-gap, 20px); } /* ---- Card ---- */ .bkbg-ifg-card { display: flex; flex-direction: column; gap: 14px; padding: var(--bkbg-ifg-card-pad, 28px); border-radius: var(--bkbg-ifg-card-r, 14px); background: var(--bkbg-ifg-card-bg, #ffffff); transition: transform .18s, box-shadow .18s; } /* ---- Icon box ---- */ .bkbg-ifg-icon-wrap { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: var(--bkbg-ifg-icon-box, 52px); height: var(--bkbg-ifg-icon-box, 52px); border-radius: var(--bkbg-ifg-icon-r, 50px); background: var(--bkbg-ifg-icon-bg, rgba(108,63,181,0.10)); } /* plain: no background */ .bkbg-ifg-icon-style--plain .bkbg-ifg-icon-wrap { background: transparent; width: auto; height: auto; border-radius: 0; } /* square */ .bkbg-ifg-icon-style--square .bkbg-ifg-icon-wrap { border-radius: 12px; } /* outline */ .bkbg-ifg-icon-style--outline .bkbg-ifg-icon-wrap { background: transparent; } .bkbg-ifg-icon-wrap .dashicons { font-size: var(--bkbg-ifg-icon-sz, 24px); width: var(--bkbg-ifg-icon-sz, 24px); height: var(--bkbg-ifg-icon-sz, 24px); } /* ---- Feature title ---- */ .bkbg-ifg-card .bkbg-ifg-title, .bkbg-ifg-card h3.bkbg-ifg-title { margin: 0; font-family: var(--bkbg-ifg-tt-font-family, inherit); font-size: var(--bkbg-ifg-tt-font-size-d, var(--bkbg-ifg-title-sz, 18px)); font-weight: var(--bkbg-ifg-tt-font-weight, var(--bkbg-ifg-title-w, 700)); font-style: var(--bkbg-ifg-tt-font-style, normal); text-decoration: var(--bkbg-ifg-tt-text-decoration, none); text-transform: var(--bkbg-ifg-tt-text-transform, none); color: var(--bkbg-ifg-title-c, #0f172a); letter-spacing: var(--bkbg-ifg-tt-letter-spacing-d, -.01em); line-height: var(--bkbg-ifg-tt-line-height-d, var(--bkbg-ifg-title-lh, 1.3)); word-spacing: var(--bkbg-ifg-tt-word-spacing-d, normal); } /* ---- Description ---- */ .bkbg-ifg-card .bkbg-ifg-desc { margin: 0; font-family: var(--bkbg-ifg-ds-font-family, inherit); font-size: var(--bkbg-ifg-ds-font-size-d, var(--bkbg-ifg-desc-sz, 15px)); font-weight: var(--bkbg-ifg-ds-font-weight, var(--bkbg-ifg-desc-w, 400)); font-style: var(--bkbg-ifg-ds-font-style, normal); text-decoration: var(--bkbg-ifg-ds-text-decoration, none); text-transform: var(--bkbg-ifg-ds-text-transform, none); color: var(--bkbg-ifg-desc-c, #475569); letter-spacing: var(--bkbg-ifg-ds-letter-spacing-d, normal); line-height: var(--bkbg-ifg-ds-line-height-d, var(--bkbg-ifg-desc-lh, 1.7)); word-spacing: var(--bkbg-ifg-ds-word-spacing-d, normal); } /* ============================================================ Style Variants ============================================================ */ /* card */ .bkbg-ifg-style--card .bkbg-ifg-card { box-shadow: 0 2px 8px rgba(0,0,0,.05), 0 0 0 1px rgba(0,0,0,.04); } .bkbg-ifg-style--card .bkbg-ifg-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,.09); } /* bordered */ .bkbg-ifg-style--bordered .bkbg-ifg-card { border: 1px solid var(--bkbg-ifg-card-border, #e2e8f0); } .bkbg-ifg-style--bordered .bkbg-ifg-card:hover { border-color: var(--bkbg-ifg-global-accent, #6c3fb5); box-shadow: 0 4px 16px rgba(0,0,0,.06); } /* minimal */ .bkbg-ifg-style--minimal .bkbg-ifg-card { background: transparent; padding-left: 0; padding-right: 0; border-top: 2px solid var(--bkbg-ifg-card-border, #e2e8f0); border-radius: 0; } /* gradient */ .bkbg-ifg-style--gradient .bkbg-ifg-card { background: linear-gradient(140deg, color-mix(in srgb, var(--bkbg-ifg-global-accent, #6c3fb5) 6%, #ffffff), #ffffff); border: 1px solid color-mix(in srgb, var(--bkbg-ifg-global-accent, #6c3fb5) 12%, transparent); } /* dark */ .bkbg-ifg-style--dark { background: #0f172a; } .bkbg-ifg-style--dark .bkbg-ifg-heading { color: #ffffff; } .bkbg-ifg-style--dark .bkbg-ifg-sub { color: rgba(255,255,255,.5); } .bkbg-ifg-style--dark .bkbg-ifg-card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); } .bkbg-ifg-style--dark .bkbg-ifg-title { color: rgba(255,255,255,.9); } .bkbg-ifg-style--dark .bkbg-ifg-desc { color: rgba(255,255,255,.55); } .bkbg-ifg-style--dark .bkbg-ifg-card:hover { background: rgba(255,255,255,.08); } /* ---- Responsive typography ---- */ @media (max-width: 1024px) { .bkbg-ifg-wrap .bkbg-ifg-heading, .bkbg-ifg-wrap h2.bkbg-ifg-heading { font-size: var(--bkbg-ifg-hd-font-size-t, var(--bkbg-ifg-hd-font-size-d, var(--bkbg-ifg-heading-sz, 36px))); line-height: var(--bkbg-ifg-hd-line-height-t, var(--bkbg-ifg-hd-line-height-d, var(--bkbg-ifg-heading-lh, 1.15))); letter-spacing: var(--bkbg-ifg-hd-letter-spacing-t, var(--bkbg-ifg-hd-letter-spacing-d, -.03em)); word-spacing: var(--bkbg-ifg-hd-word-spacing-t, var(--bkbg-ifg-hd-word-spacing-d, normal)); } .bkbg-ifg-wrap .bkbg-ifg-sub { font-size: var(--bkbg-ifg-sh-font-size-t, var(--bkbg-ifg-sh-font-size-d, var(--bkbg-ifg-sub-sz, 18px))); line-height: var(--bkbg-ifg-sh-line-height-t, var(--bkbg-ifg-sh-line-height-d, var(--bkbg-ifg-sub-lh, 1.65))); letter-spacing: var(--bkbg-ifg-sh-letter-spacing-t, var(--bkbg-ifg-sh-letter-spacing-d, normal)); word-spacing: var(--bkbg-ifg-sh-word-spacing-t, var(--bkbg-ifg-sh-word-spacing-d, normal)); } .bkbg-ifg-card .bkbg-ifg-title, .bkbg-ifg-card h3.bkbg-ifg-title { font-size: var(--bkbg-ifg-tt-font-size-t, var(--bkbg-ifg-tt-font-size-d, var(--bkbg-ifg-title-sz, 18px))); line-height: var(--bkbg-ifg-tt-line-height-t, var(--bkbg-ifg-tt-line-height-d, var(--bkbg-ifg-title-lh, 1.3))); letter-spacing: var(--bkbg-ifg-tt-letter-spacing-t, var(--bkbg-ifg-tt-letter-spacing-d, -.01em)); word-spacing: var(--bkbg-ifg-tt-word-spacing-t, var(--bkbg-ifg-tt-word-spacing-d, normal)); } .bkbg-ifg-card .bkbg-ifg-desc { font-size: var(--bkbg-ifg-ds-font-size-t, var(--bkbg-ifg-ds-font-size-d, var(--bkbg-ifg-desc-sz, 15px))); line-height: var(--bkbg-ifg-ds-line-height-t, var(--bkbg-ifg-ds-line-height-d, var(--bkbg-ifg-desc-lh, 1.7))); letter-spacing: var(--bkbg-ifg-ds-letter-spacing-t, var(--bkbg-ifg-ds-letter-spacing-d, normal)); word-spacing: var(--bkbg-ifg-ds-word-spacing-t, var(--bkbg-ifg-ds-word-spacing-d, normal)); } } @media (max-width: 767px) { .bkbg-ifg-wrap .bkbg-ifg-heading, .bkbg-ifg-wrap h2.bkbg-ifg-heading { font-size: var(--bkbg-ifg-hd-font-size-m, var(--bkbg-ifg-hd-font-size-t, var(--bkbg-ifg-hd-font-size-d, var(--bkbg-ifg-heading-sz, 36px)))); line-height: var(--bkbg-ifg-hd-line-height-m, var(--bkbg-ifg-hd-line-height-t, var(--bkbg-ifg-hd-line-height-d, var(--bkbg-ifg-heading-lh, 1.15)))); letter-spacing: var(--bkbg-ifg-hd-letter-spacing-m, var(--bkbg-ifg-hd-letter-spacing-t, var(--bkbg-ifg-hd-letter-spacing-d, -.03em))); word-spacing: var(--bkbg-ifg-hd-word-spacing-m, var(--bkbg-ifg-hd-word-spacing-t, var(--bkbg-ifg-hd-word-spacing-d, normal))); } .bkbg-ifg-wrap .bkbg-ifg-sub { font-size: var(--bkbg-ifg-sh-font-size-m, var(--bkbg-ifg-sh-font-size-t, var(--bkbg-ifg-sh-font-size-d, var(--bkbg-ifg-sub-sz, 18px)))); line-height: var(--bkbg-ifg-sh-line-height-m, var(--bkbg-ifg-sh-line-height-t, var(--bkbg-ifg-sh-line-height-d, var(--bkbg-ifg-sub-lh, 1.65)))); letter-spacing: var(--bkbg-ifg-sh-letter-spacing-m, var(--bkbg-ifg-sh-letter-spacing-t, var(--bkbg-ifg-sh-letter-spacing-d, normal))); word-spacing: var(--bkbg-ifg-sh-word-spacing-m, var(--bkbg-ifg-sh-word-spacing-t, var(--bkbg-ifg-sh-word-spacing-d, normal))); } .bkbg-ifg-card .bkbg-ifg-title, .bkbg-ifg-card h3.bkbg-ifg-title { font-size: var(--bkbg-ifg-tt-font-size-m, var(--bkbg-ifg-tt-font-size-t, var(--bkbg-ifg-tt-font-size-d, var(--bkbg-ifg-title-sz, 18px)))); line-height: var(--bkbg-ifg-tt-line-height-m, var(--bkbg-ifg-tt-line-height-t, var(--bkbg-ifg-tt-line-height-d, var(--bkbg-ifg-title-lh, 1.3)))); letter-spacing: var(--bkbg-ifg-tt-letter-spacing-m, var(--bkbg-ifg-tt-letter-spacing-t, var(--bkbg-ifg-tt-letter-spacing-d, -.01em))); word-spacing: var(--bkbg-ifg-tt-word-spacing-m, var(--bkbg-ifg-tt-word-spacing-t, var(--bkbg-ifg-tt-word-spacing-d, normal))); } .bkbg-ifg-card .bkbg-ifg-desc { font-size: var(--bkbg-ifg-ds-font-size-m, var(--bkbg-ifg-ds-font-size-t, var(--bkbg-ifg-ds-font-size-d, var(--bkbg-ifg-desc-sz, 15px)))); line-height: var(--bkbg-ifg-ds-line-height-m, var(--bkbg-ifg-ds-line-height-t, var(--bkbg-ifg-ds-line-height-d, var(--bkbg-ifg-desc-lh, 1.7)))); letter-spacing: var(--bkbg-ifg-ds-letter-spacing-m, var(--bkbg-ifg-ds-letter-spacing-t, var(--bkbg-ifg-ds-letter-spacing-d, normal))); word-spacing: var(--bkbg-ifg-ds-word-spacing-m, var(--bkbg-ifg-ds-word-spacing-t, var(--bkbg-ifg-ds-word-spacing-d, normal))); } } /* Responsive */ @media (max-width: 900px) { .bkbg-ifg-grid { grid-template-columns: repeat(min(var(--bkbg-ifg-cols, 3), 2), 1fr); } } @media (max-width: 560px) { .bkbg-ifg-grid { grid-template-columns: 1fr; } }