/* ======================================== Stats Section Block Styles Prefix: bkbg-sts- ======================================== */ .bkbg-sts-wrap { --bkbg-sts-num-color: #6c3fb5; --bkbg-sts-label-color: #1e293b; --bkbg-sts-desc-color: #64748b; --bkbg-sts-icon-color: #6c3fb5; --bkbg-sts-div-color: #e2e8f0; --bkbg-sts-card-bg: #ffffff; --bkbg-sts-card-border: #e2e8f0; --bkbg-sts-num-size: 52px; --bkbg-sts-label-size: 15px; --bkbg-sts-desc-size: 13px; --bkbg-sts-icon-size: 36px; --bkbg-sts-weight: 800; --bkbg-sts-radius: 16px; --bkbg-sts-pad: 32px; --bkbg-sts-cols: 4; --bkbg-sts-gap: 40px; --bkbg-sts-pt: 64px; --bkbg-sts-pb: 64px; --bkbg-sts-grad-from: #6c3fb5; --bkbg-sts-grad-to: #2563eb; --bkbg-sts-title-color: #0f172a; --bkbg-sts-sub-color: #64748b; padding-top: var(--bkbg-sts-pt); padding-bottom: var(--bkbg-sts-pb); box-sizing: border-box; } /* ── Section Header ── */ .bkbg-sts-header { margin-bottom: 48px; } .bkbg-sts-header h2.bkbg-sts-title { font-family: var(--bksts-tt-font-family, inherit); font-size: var(--bksts-tt-font-size-d, clamp(24px, 3vw, 36px)); font-weight: var(--bksts-tt-font-weight, 700); font-style: var(--bksts-tt-font-style, normal); text-decoration: var(--bksts-tt-text-decoration, none); text-transform: var(--bksts-tt-text-transform, none); line-height: var(--bksts-tt-line-height-d, 1.2); letter-spacing: var(--bksts-tt-letter-spacing-d, normal); word-spacing: var(--bksts-tt-word-spacing-d, normal); margin: 0 0 12px; color: var(--bkbg-sts-title-color); } .bkbg-sts-subtitle { font-family: var(--bksts-st-font-family, inherit); font-size: var(--bksts-st-font-size-d, 16px); font-weight: var(--bksts-st-font-weight, normal); font-style: var(--bksts-st-font-style, normal); text-decoration: var(--bksts-st-text-decoration, none); text-transform: var(--bksts-st-text-transform, none); line-height: var(--bksts-st-line-height-d, 1.6); letter-spacing: var(--bksts-st-letter-spacing-d, normal); word-spacing: var(--bksts-st-word-spacing-d, normal); color: var(--bkbg-sts-sub-color); margin: 0; max-width: 600px; } .bkbg-sts-header[style*="center"] .bkbg-sts-subtitle { margin-left: auto; margin-right: auto; } /* ── Grid ── */ .bkbg-sts-grid { display: grid; grid-template-columns: repeat(var(--bkbg-sts-cols), 1fr); gap: var(--bkbg-sts-gap); position: relative; } /* ── Item (stat card) ── */ .bkbg-sts-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: var(--bkbg-sts-pad); border-radius: var(--bkbg-sts-radius); box-sizing: border-box; position: relative; } .bkbg-sts-icon { font-size: var(--bkbg-sts-icon-size); line-height: 1; margin-bottom: 4px; } .bkbg-sts-icon svg { width: 1em; height: 1em; fill: currentColor; } .bkbg-sts-icon .dashicons { font-size: inherit; width: 1em; height: 1em; line-height: 1; } .bkbg-sts-icon .bkbg-icon-img { width: 1em; height: 1em; object-fit: contain; } .bkbg-sts-number { font-family: var(--bksts-nm-font-family, inherit); font-size: var(--bksts-nm-font-size-d, var(--bkbg-sts-num-size)); font-weight: var(--bksts-nm-font-weight, var(--bkbg-sts-weight)); font-style: var(--bksts-nm-font-style, normal); text-decoration: var(--bksts-nm-text-decoration, none); text-transform: var(--bksts-nm-text-transform, none); line-height: var(--bksts-nm-line-height-d, 1); letter-spacing: var(--bksts-nm-letter-spacing-d, normal); word-spacing: var(--bksts-nm-word-spacing-d, normal); color: var(--bkbg-sts-num-color); display: flex; align-items: baseline; gap: 2px; } .bkbg-sts-prefix, .bkbg-sts-suffix { font-size: 0.55em; font-weight: 700; opacity: 0.85; } .bkbg-sts-label { font-family: var(--bksts-lb-font-family, inherit); font-size: var(--bksts-lb-font-size-d, var(--bkbg-sts-label-size)); font-weight: var(--bksts-lb-font-weight, 600); font-style: var(--bksts-lb-font-style, normal); text-decoration: var(--bksts-lb-text-decoration, none); text-transform: var(--bksts-lb-text-transform, none); line-height: var(--bksts-lb-line-height-d, 1.3); letter-spacing: var(--bksts-lb-letter-spacing-d, normal); word-spacing: var(--bksts-lb-word-spacing-d, normal); color: var(--bkbg-sts-label-color); } .bkbg-sts-desc { font-family: var(--bksts-ds-font-family, inherit); font-size: var(--bksts-ds-font-size-d, var(--bkbg-sts-desc-size)); font-weight: var(--bksts-ds-font-weight, normal); font-style: var(--bksts-ds-font-style, normal); text-decoration: var(--bksts-ds-text-decoration, none); text-transform: var(--bksts-ds-text-transform, none); line-height: var(--bksts-ds-line-height-d, 1.5); letter-spacing: var(--bksts-ds-letter-spacing-d, normal); word-spacing: var(--bksts-ds-word-spacing-d, normal); color: var(--bkbg-sts-desc-color); } /* ── Dividers (plain layout) ── */ .bkbg-sts-dividers.bkbg-sts-layout--row .bkbg-sts-item:not(:last-child)::after, .bkbg-sts-dividers.bkbg-sts-layout--grid .bkbg-sts-item:not(:last-child)::after { content: ''; position: absolute; right: calc(var(--bkbg-sts-gap) / -2); top: 20%; height: 60%; width: 1px; background: var(--bkbg-sts-div-color); } /* ── Style: Card ── */ .bkbg-sts-style--card .bkbg-sts-item { background: var(--bkbg-sts-card-bg); box-shadow: 0 2px 16px rgba(0,0,0,0.08); border-radius: var(--bkbg-sts-radius); transition: transform 0.2s, box-shadow 0.2s; } .bkbg-sts-style--card .bkbg-sts-item:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(108,63,181,0.15); } /* ── Style: Bordered ── */ .bkbg-sts-style--bordered .bkbg-sts-item { border: 1px solid var(--bkbg-sts-card-border); border-radius: var(--bkbg-sts-radius); background: var(--bkbg-sts-card-bg); } /* ── Style: Gradient number ── */ .bkbg-sts-style--gradient .bkbg-sts-number { background: linear-gradient(135deg, var(--bkbg-sts-grad-from), var(--bkbg-sts-grad-to)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; } /* ── Layout: Row ── */ .bkbg-sts-layout--row .bkbg-sts-grid { grid-template-columns: repeat(var(--bkbg-sts-cols), 1fr); } /* ── Layout: Grid ── */ .bkbg-sts-layout--grid .bkbg-sts-grid { grid-template-columns: repeat(var(--bkbg-sts-cols), 1fr); } /* ── Layout: Centered ── */ .bkbg-sts-layout--centered .bkbg-sts-grid { justify-items: center; max-width: 800px; margin: 0 auto; } .bkbg-sts-layout--centered .bkbg-sts-item { max-width: 200px; width: 100%; } /* ── Typography responsive — tablet ── */ @media (max-width: 1024px) { .bkbg-sts-header h2.bkbg-sts-title { font-size: var(--bksts-tt-font-size-t, var(--bksts-tt-font-size-d, clamp(24px, 3vw, 36px))); line-height: var(--bksts-tt-line-height-t, var(--bksts-tt-line-height-d, 1.2)); letter-spacing: var(--bksts-tt-letter-spacing-t, var(--bksts-tt-letter-spacing-d, normal)); word-spacing: var(--bksts-tt-word-spacing-t, var(--bksts-tt-word-spacing-d, normal)); } .bkbg-sts-subtitle { font-size: var(--bksts-st-font-size-t, var(--bksts-st-font-size-d, 16px)); line-height: var(--bksts-st-line-height-t, var(--bksts-st-line-height-d, 1.6)); letter-spacing: var(--bksts-st-letter-spacing-t, var(--bksts-st-letter-spacing-d, normal)); word-spacing: var(--bksts-st-word-spacing-t, var(--bksts-st-word-spacing-d, normal)); } .bkbg-sts-number { font-size: var(--bksts-nm-font-size-t, var(--bksts-nm-font-size-d, var(--bkbg-sts-num-size))); line-height: var(--bksts-nm-line-height-t, var(--bksts-nm-line-height-d, 1)); letter-spacing: var(--bksts-nm-letter-spacing-t, var(--bksts-nm-letter-spacing-d, normal)); word-spacing: var(--bksts-nm-word-spacing-t, var(--bksts-nm-word-spacing-d, normal)); } .bkbg-sts-label { font-size: var(--bksts-lb-font-size-t, var(--bksts-lb-font-size-d, var(--bkbg-sts-label-size))); line-height: var(--bksts-lb-line-height-t, var(--bksts-lb-line-height-d, 1.3)); letter-spacing: var(--bksts-lb-letter-spacing-t, var(--bksts-lb-letter-spacing-d, normal)); word-spacing: var(--bksts-lb-word-spacing-t, var(--bksts-lb-word-spacing-d, normal)); } .bkbg-sts-desc { font-size: var(--bksts-ds-font-size-t, var(--bksts-ds-font-size-d, var(--bkbg-sts-desc-size))); line-height: var(--bksts-ds-line-height-t, var(--bksts-ds-line-height-d, 1.5)); letter-spacing: var(--bksts-ds-letter-spacing-t, var(--bksts-ds-letter-spacing-d, normal)); word-spacing: var(--bksts-ds-word-spacing-t, var(--bksts-ds-word-spacing-d, normal)); } } /* ── Typography responsive — mobile ── */ @media (max-width: 767px) { .bkbg-sts-header h2.bkbg-sts-title { font-size: var(--bksts-tt-font-size-m, var(--bksts-tt-font-size-t, var(--bksts-tt-font-size-d, clamp(24px, 3vw, 36px)))); line-height: var(--bksts-tt-line-height-m, var(--bksts-tt-line-height-t, var(--bksts-tt-line-height-d, 1.2))); letter-spacing: var(--bksts-tt-letter-spacing-m, var(--bksts-tt-letter-spacing-t, var(--bksts-tt-letter-spacing-d, normal))); word-spacing: var(--bksts-tt-word-spacing-m, var(--bksts-tt-word-spacing-t, var(--bksts-tt-word-spacing-d, normal))); } .bkbg-sts-subtitle { font-size: var(--bksts-st-font-size-m, var(--bksts-st-font-size-t, var(--bksts-st-font-size-d, 16px))); line-height: var(--bksts-st-line-height-m, var(--bksts-st-line-height-t, var(--bksts-st-line-height-d, 1.6))); letter-spacing: var(--bksts-st-letter-spacing-m, var(--bksts-st-letter-spacing-t, var(--bksts-st-letter-spacing-d, normal))); word-spacing: var(--bksts-st-word-spacing-m, var(--bksts-st-word-spacing-t, var(--bksts-st-word-spacing-d, normal))); } .bkbg-sts-number { font-size: var(--bksts-nm-font-size-m, var(--bksts-nm-font-size-t, var(--bksts-nm-font-size-d, var(--bkbg-sts-num-size)))); line-height: var(--bksts-nm-line-height-m, var(--bksts-nm-line-height-t, var(--bksts-nm-line-height-d, 1))); letter-spacing: var(--bksts-nm-letter-spacing-m, var(--bksts-nm-letter-spacing-t, var(--bksts-nm-letter-spacing-d, normal))); word-spacing: var(--bksts-nm-word-spacing-m, var(--bksts-nm-word-spacing-t, var(--bksts-nm-word-spacing-d, normal))); } .bkbg-sts-label { font-size: var(--bksts-lb-font-size-m, var(--bksts-lb-font-size-t, var(--bksts-lb-font-size-d, var(--bkbg-sts-label-size)))); line-height: var(--bksts-lb-line-height-m, var(--bksts-lb-line-height-t, var(--bksts-lb-line-height-d, 1.3))); letter-spacing: var(--bksts-lb-letter-spacing-m, var(--bksts-lb-letter-spacing-t, var(--bksts-lb-letter-spacing-d, normal))); word-spacing: var(--bksts-lb-word-spacing-m, var(--bksts-lb-word-spacing-t, var(--bksts-lb-word-spacing-d, normal))); } .bkbg-sts-desc { font-size: var(--bksts-ds-font-size-m, var(--bksts-ds-font-size-t, var(--bksts-ds-font-size-d, var(--bkbg-sts-desc-size)))); line-height: var(--bksts-ds-line-height-m, var(--bksts-ds-line-height-t, var(--bksts-ds-line-height-d, 1.5))); letter-spacing: var(--bksts-ds-letter-spacing-m, var(--bksts-ds-letter-spacing-t, var(--bksts-ds-letter-spacing-d, normal))); word-spacing: var(--bksts-ds-word-spacing-m, var(--bksts-ds-word-spacing-t, var(--bksts-ds-word-spacing-d, normal))); } } /* ── Responsive ── */ @media (max-width: 900px) { .bkbg-sts-grid { grid-template-columns: repeat(min(var(--bkbg-sts-cols), 2), 1fr); } .bkbg-sts-dividers .bkbg-sts-item::after { display: none; } } @media (max-width: 580px) { .bkbg-sts-grid { grid-template-columns: 1fr 1fr; } .bkbg-sts-wrap { --bkbg-sts-num-size: 36px; } } @media (max-width: 380px) { .bkbg-sts-grid { grid-template-columns: 1fr; } }