/* ==================================================== Client Showcase — bkbg-cshw-* ==================================================== */ /* Wrapper */ .bkbg-cshw-wrap { box-sizing: border-box; width: 100%; padding-top: var(--bkbg-cshw-pt, 64px); padding-bottom: var(--bkbg-cshw-pb, 64px); } /* ── Header ── */ .bkbg-cshw-headline { margin: 0 0 8px; font-family: var(--bkbg-cshw-hl-font-family, inherit); font-size: var(--bkbg-cshw-hl-font-size-d, 28px); font-weight: var(--bkbg-cshw-hl-font-weight, 600); line-height: var(--bkbg-cshw-hl-line-height-d, 1.3); text-transform: var(--bkbg-cshw-hl-text-transform, uppercase); font-style: var(--bkbg-cshw-hl-font-style, normal); text-decoration: var(--bkbg-cshw-hl-text-decoration, none); letter-spacing: var(--bkbg-cshw-hl-letter-spacing-d, .05em); word-spacing: var(--bkbg-cshw-hl-word-spacing-d, normal); color: var(--bkbg-cshw-h-color, #64748b); } .bkbg-cshw-subhead { margin: 0; font-family: var(--bkbg-cshw-sh-font-family, inherit); font-size: var(--bkbg-cshw-sh-font-size-d, 16px); font-weight: var(--bkbg-cshw-sh-font-weight, 400); line-height: var(--bkbg-cshw-sh-line-height-d, 1.4); text-transform: var(--bkbg-cshw-sh-text-transform, none); font-style: var(--bkbg-cshw-sh-font-style, normal); text-decoration: var(--bkbg-cshw-sh-text-decoration, none); letter-spacing: var(--bkbg-cshw-sh-letter-spacing-d, normal); word-spacing: var(--bkbg-cshw-sh-word-spacing-d, normal); color: var(--bkbg-cshw-sub-color, #94a3b8); } /* ── Logo grid (row = flex centred; grid = fixed columns) ── */ .bkbg-cshw-logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--bkbg-cshw-gap, 32px); } .bkbg-cshw-layout--grid .bkbg-cshw-logos { display: grid; grid-template-columns: repeat(var(--bkbg-cshw-cols, 6), 1fr); gap: var(--bkbg-cshw-gap, 32px); } /* Individual logo item */ .bkbg-cshw-logo-item { display: flex; align-items: center; justify-content: center; height: var(--bkbg-cshw-logo-h, 40px); padding: 0; transition: opacity .25s, filter .25s; } /* box variant */ .bkbg-cshw-logo-bg.bkbg-cshw-logo-item { background: var(--bkbg-cshw-logo-bg, #f8fafc); border: 1px solid var(--bkbg-cshw-logo-brd, #e2e8f0); border-radius: var(--bkbg-cshw-logo-r, 8px); padding: var(--bkbg-cshw-logo-pad, 16px); height: auto; min-height: var(--bkbg-cshw-logo-h, 40px); } /* Logo image */ .bkbg-cshw-logo-img { max-height: var(--bkbg-cshw-logo-h, 40px); width: auto; max-width: 100%; object-fit: contain; display: block; } /* Placeholder text (no image) */ .bkbg-cshw-logo-placeholder { font-size: 13px; font-weight: 600; color: var(--bkbg-cshw-logo-tint, #94a3b8); white-space: nowrap; } /* Grayscale */ .bkbg-cshw-grayscale .bkbg-cshw-logo-img { filter: grayscale(100%) opacity(0.55); transition: filter .25s; } /* Hover restore */ .bkbg-cshw-hover-color .bkbg-cshw-logo-item:hover .bkbg-cshw-logo-img { filter: grayscale(0%) opacity(1); } /* ── Upload button (editor only) ── */ .bkbg-cshw-logo-upload-btn.components-button { display: block; font-size: 10px; line-height: 1; margin-top: 4px; opacity: 0; transition: opacity .2s; } .bkbg-cshw-logo-item:hover .bkbg-cshw-logo-upload-btn.components-button { opacity: 1; } /* ── Pull quote ── */ .bkbg-cshw-quote { position: relative; margin: 0 auto; max-width: 720px; background: var(--bkbg-cshw-q-bg, #f8fafc); border-left: 4px solid var(--bkbg-cshw-q-brd, #6c3fb5); border-radius: 0 12px 12px 0; padding: 32px 36px; text-align: left; } /* decorative quotation mark */ .bkbg-cshw-quote::before { content: '\201C'; position: absolute; top: 12px; left: 20px; font-size: 96px; line-height: 1; color: var(--bkbg-cshw-accent, #6c3fb5); opacity: .12; font-family: Georgia, serif; pointer-events: none; } .bkbg-cshw-quote-text { margin: 0 0 20px; border: none; padding: 0; } .bkbg-cshw-quote-text p { margin: 0; font-family: var(--bkbg-cshw-qt-font-family, inherit); font-size: var(--bkbg-cshw-qt-font-size-d, 18px); font-weight: var(--bkbg-cshw-qt-font-weight, 400); line-height: var(--bkbg-cshw-qt-line-height-d, 1.65); text-transform: var(--bkbg-cshw-qt-text-transform, none); font-style: var(--bkbg-cshw-qt-font-style, italic); text-decoration: var(--bkbg-cshw-qt-text-decoration, none); letter-spacing: var(--bkbg-cshw-qt-letter-spacing-d, normal); word-spacing: var(--bkbg-cshw-qt-word-spacing-d, normal); color: var(--bkbg-cshw-q-text, #1e293b); } .bkbg-cshw-quote-author { display: flex; align-items: center; gap: 12px; } .bkbg-cshw-quote-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex-shrink: 0; } .bkbg-cshw-quote-meta { display: flex; flex-direction: column; gap: 2px; } .bkbg-cshw-quote-name { font-size: 14px; font-weight: 700; color: var(--bkbg-cshw-q-text, #1e293b); } .bkbg-cshw-quote-role { font-size: 13px; color: var(--bkbg-cshw-q-meta, #64748b); } /* ── Typography responsive ── */ @media (max-width: 1024px) { .bkbg-cshw-headline { font-size: var(--bkbg-cshw-hl-font-size-t, var(--bkbg-cshw-hl-font-size-d, 28px)); line-height: var(--bkbg-cshw-hl-line-height-t, var(--bkbg-cshw-hl-line-height-d, 1.3)); letter-spacing: var(--bkbg-cshw-hl-letter-spacing-t, var(--bkbg-cshw-hl-letter-spacing-d, .05em)); word-spacing: var(--bkbg-cshw-hl-word-spacing-t, var(--bkbg-cshw-hl-word-spacing-d, normal)); } .bkbg-cshw-subhead { font-size: var(--bkbg-cshw-sh-font-size-t, var(--bkbg-cshw-sh-font-size-d, 16px)); line-height: var(--bkbg-cshw-sh-line-height-t, var(--bkbg-cshw-sh-line-height-d, 1.4)); letter-spacing: var(--bkbg-cshw-sh-letter-spacing-t, var(--bkbg-cshw-sh-letter-spacing-d, normal)); word-spacing: var(--bkbg-cshw-sh-word-spacing-t, var(--bkbg-cshw-sh-word-spacing-d, normal)); } .bkbg-cshw-quote-text p { font-size: var(--bkbg-cshw-qt-font-size-t, var(--bkbg-cshw-qt-font-size-d, 18px)); line-height: var(--bkbg-cshw-qt-line-height-t, var(--bkbg-cshw-qt-line-height-d, 1.65)); letter-spacing: var(--bkbg-cshw-qt-letter-spacing-t, var(--bkbg-cshw-qt-letter-spacing-d, normal)); word-spacing: var(--bkbg-cshw-qt-word-spacing-t, var(--bkbg-cshw-qt-word-spacing-d, normal)); } } @media (max-width: 767px) { .bkbg-cshw-headline { font-size: var(--bkbg-cshw-hl-font-size-m, var(--bkbg-cshw-hl-font-size-t, var(--bkbg-cshw-hl-font-size-d, 28px))); line-height: var(--bkbg-cshw-hl-line-height-m, var(--bkbg-cshw-hl-line-height-t, var(--bkbg-cshw-hl-line-height-d, 1.3))); letter-spacing: var(--bkbg-cshw-hl-letter-spacing-m, var(--bkbg-cshw-hl-letter-spacing-t, var(--bkbg-cshw-hl-letter-spacing-d, .05em))); word-spacing: var(--bkbg-cshw-hl-word-spacing-m, var(--bkbg-cshw-hl-word-spacing-t, var(--bkbg-cshw-hl-word-spacing-d, normal))); } .bkbg-cshw-subhead { font-size: var(--bkbg-cshw-sh-font-size-m, var(--bkbg-cshw-sh-font-size-t, var(--bkbg-cshw-sh-font-size-d, 16px))); line-height: var(--bkbg-cshw-sh-line-height-m, var(--bkbg-cshw-sh-line-height-t, var(--bkbg-cshw-sh-line-height-d, 1.4))); letter-spacing: var(--bkbg-cshw-sh-letter-spacing-m, var(--bkbg-cshw-sh-letter-spacing-t, var(--bkbg-cshw-sh-letter-spacing-d, normal))); word-spacing: var(--bkbg-cshw-sh-word-spacing-m, var(--bkbg-cshw-sh-word-spacing-t, var(--bkbg-cshw-sh-word-spacing-d, normal))); } .bkbg-cshw-quote-text p { font-size: var(--bkbg-cshw-qt-font-size-m, var(--bkbg-cshw-qt-font-size-t, var(--bkbg-cshw-qt-font-size-d, 18px))); line-height: var(--bkbg-cshw-qt-line-height-m, var(--bkbg-cshw-qt-line-height-t, var(--bkbg-cshw-qt-line-height-d, 1.65))); letter-spacing: var(--bkbg-cshw-qt-letter-spacing-m, var(--bkbg-cshw-qt-letter-spacing-t, var(--bkbg-cshw-qt-letter-spacing-d, normal))); word-spacing: var(--bkbg-cshw-qt-word-spacing-m, var(--bkbg-cshw-qt-word-spacing-t, var(--bkbg-cshw-qt-word-spacing-d, normal))); } } /* ── Responsive ── */ @media (max-width: 900px) { .bkbg-cshw-layout--grid .bkbg-cshw-logos { grid-template-columns: repeat(4, 1fr); } } @media (max-width: 620px) { .bkbg-cshw-logos { gap: 20px; } .bkbg-cshw-layout--grid .bkbg-cshw-logos { grid-template-columns: repeat(3, 1fr); } .bkbg-cshw-quote { padding: 24px 20px; } } @media (max-width: 420px) { .bkbg-cshw-layout--grid .bkbg-cshw-logos { grid-template-columns: repeat(2, 1fr); } }