/* ==================================================== Image Cards — bkbg-imgc-* ==================================================== */ .bkbg-imgc-wrap { box-sizing: border-box; width: 100%; padding-top: var(--bkbg-imgc-pt, 0px); padding-bottom: var(--bkbg-imgc-pb, 0px); } /* Grid */ .bkbg-imgc-grid { display: grid; grid-template-columns: repeat(var(--bkbg-imgc-cols, 3), 1fr); gap: var(--bkbg-imgc-gap, 28px); } .bkbg-imgc-equal-h { align-items: stretch; } .bkbg-imgc-equal-h .bkbg-imgc-card { display: flex; flex-direction: column; } .bkbg-imgc-equal-h .bkbg-imgc-body { flex: 1; display: flex; flex-direction: column; } .bkbg-imgc-equal-h .bkbg-imgc-cta { margin-top: auto; } /* Card base */ .bkbg-imgc-card { border-radius: var(--bkbg-imgc-r, 16px); background: var(--bkbg-imgc-card-bg, #ffffff); overflow: hidden; transition: transform .25s, box-shadow .25s; } /* Style variants */ .bkbg-imgc-card--shadow { box-shadow: 0 4px 20px rgba(0,0,0,.08); } .bkbg-imgc-card--shadow:hover { box-shadow: 0 12px 40px rgba(0,0,0,.14); } .bkbg-imgc-card--bordered { border: 1px solid var(--bkbg-imgc-brd, #e2e8f0); } .bkbg-imgc-card--flat { border: 1px solid var(--bkbg-imgc-brd, #e2e8f0); box-shadow: none; } /* Overlay style: image fills full card, text on dark gradient */ .bkbg-imgc-card--overlay { position: relative; min-height: 320px; } .bkbg-imgc-card--overlay .bkbg-imgc-image-wrap { position: absolute; inset: 0; border-radius: 0; } .bkbg-imgc-card--overlay .bkbg-imgc-img { height: 100%; object-fit: cover; } .bkbg-imgc-card--overlay .bkbg-imgc-body { position: relative; z-index: 1; margin-top: auto; background: linear-gradient(to top, rgba(0,0,0,.85) 0%, transparent 100%); padding: 32px 24px 24px; } .bkbg-imgc-card--overlay .bkbg-imgc-title { color: #fff; } .bkbg-imgc-card--overlay .bkbg-imgc-desc { color: rgba(255,255,255,.8); } .bkbg-imgc-card--overlay .bkbg-imgc-tag { background: rgba(255,255,255,.18) !important; color: #fff !important; } /* Hover effects */ .bkbg-imgc-hover--lift:hover { transform: translateY(-5px); } .bkbg-imgc-hover--scale .bkbg-imgc-img { transition: transform .35s; } .bkbg-imgc-hover--scale:hover .bkbg-imgc-img { transform: scale(1.04); } /* Image */ .bkbg-imgc-image-wrap { overflow: hidden; border-radius: var(--bkbg-imgc-img-r, 12px) var(--bkbg-imgc-img-r, 12px) 0 0; aspect-ratio: var(--bkbg-imgc-aspect, 16/9); background: var(--bkbg-imgc-ph-bg, #f3f0ff); display: flex; align-items: center; justify-content: center; } .bkbg-imgc-img { width: 100%; height: 100%; object-fit: cover; display: block; } .bkbg-imgc-img-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; } .bkbg-imgc-upload-btn.components-button { opacity: .8; } /* Card body */ .bkbg-imgc-body { padding: 20px 24px 24px; } /* Tag */ .bkbg-imgc-tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 3px 10px; border-radius: 100px; margin-bottom: 10px; } /* Title */ .bkbg-imgc-card .bkbg-imgc-title, .bkbg-imgc-card h3.bkbg-imgc-title { margin: 0 0 10px; font-family: var(--bkbg-imgc-tt-font-family, inherit); font-size: var(--bkbg-imgc-tt-font-size-d, var(--bkbg-imgc-title-sz, 19px)); font-weight: var(--bkbg-imgc-tt-font-weight, var(--bkbg-imgc-title-w, 700)); font-style: var(--bkbg-imgc-tt-font-style, normal); text-decoration: var(--bkbg-imgc-tt-text-decoration, none); text-transform: var(--bkbg-imgc-tt-text-transform, none); line-height: var(--bkbg-imgc-tt-line-height-d, var(--bkbg-imgc-title-lh, 1.3)); letter-spacing: var(--bkbg-imgc-tt-letter-spacing-d, normal); word-spacing: var(--bkbg-imgc-tt-word-spacing-d, normal); color: var(--bkbg-imgc-title-c, #1e293b); } /* Description */ .bkbg-imgc-desc { margin: 0 0 16px; font-family: var(--bkbg-imgc-ds-font-family, inherit); font-size: var(--bkbg-imgc-ds-font-size-d, var(--bkbg-imgc-desc-sz, 14px)); font-weight: var(--bkbg-imgc-ds-font-weight, var(--bkbg-imgc-desc-w, 400)); font-style: var(--bkbg-imgc-ds-font-style, normal); text-decoration: var(--bkbg-imgc-ds-text-decoration, none); text-transform: var(--bkbg-imgc-ds-text-transform, none); line-height: var(--bkbg-imgc-ds-line-height-d, var(--bkbg-imgc-desc-lh, 1.65)); letter-spacing: var(--bkbg-imgc-ds-letter-spacing-d, normal); word-spacing: var(--bkbg-imgc-ds-word-spacing-d, normal); color: var(--bkbg-imgc-desc-c, #64748b); } /* CTA */ .bkbg-imgc-cta { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; text-decoration: none; transition: opacity .2s; } .bkbg-imgc-cta:hover { opacity: .75; } .bkbg-imgc-arrow { transition: transform .2s; } .bkbg-imgc-cta:hover .bkbg-imgc-arrow { transform: translateX(4px); } .bkbg-imgc-cta--btn { background: currentColor; color: #fff; padding: 8px 18px; border-radius: 50px; } .bkbg-imgc-cta--btn { color: #fff !important; } /* ---- Responsive typography ---- */ @media (max-width: 1024px) { .bkbg-imgc-card .bkbg-imgc-title, .bkbg-imgc-card h3.bkbg-imgc-title { font-size: var(--bkbg-imgc-tt-font-size-t, var(--bkbg-imgc-tt-font-size-d, var(--bkbg-imgc-title-sz, 19px))); line-height: var(--bkbg-imgc-tt-line-height-t, var(--bkbg-imgc-tt-line-height-d, var(--bkbg-imgc-title-lh, 1.3))); letter-spacing: var(--bkbg-imgc-tt-letter-spacing-t, var(--bkbg-imgc-tt-letter-spacing-d, normal)); word-spacing: var(--bkbg-imgc-tt-word-spacing-t, var(--bkbg-imgc-tt-word-spacing-d, normal)); } .bkbg-imgc-desc { font-size: var(--bkbg-imgc-ds-font-size-t, var(--bkbg-imgc-ds-font-size-d, var(--bkbg-imgc-desc-sz, 14px))); line-height: var(--bkbg-imgc-ds-line-height-t, var(--bkbg-imgc-ds-line-height-d, var(--bkbg-imgc-desc-lh, 1.65))); letter-spacing: var(--bkbg-imgc-ds-letter-spacing-t, var(--bkbg-imgc-ds-letter-spacing-d, normal)); word-spacing: var(--bkbg-imgc-ds-word-spacing-t, var(--bkbg-imgc-ds-word-spacing-d, normal)); } } @media (max-width: 767px) { .bkbg-imgc-card .bkbg-imgc-title, .bkbg-imgc-card h3.bkbg-imgc-title { font-size: var(--bkbg-imgc-tt-font-size-m, var(--bkbg-imgc-tt-font-size-t, var(--bkbg-imgc-tt-font-size-d, var(--bkbg-imgc-title-sz, 19px)))); line-height: var(--bkbg-imgc-tt-line-height-m, var(--bkbg-imgc-tt-line-height-t, var(--bkbg-imgc-tt-line-height-d, var(--bkbg-imgc-title-lh, 1.3)))); letter-spacing: var(--bkbg-imgc-tt-letter-spacing-m, var(--bkbg-imgc-tt-letter-spacing-t, var(--bkbg-imgc-tt-letter-spacing-d, normal))); word-spacing: var(--bkbg-imgc-tt-word-spacing-m, var(--bkbg-imgc-tt-word-spacing-t, var(--bkbg-imgc-tt-word-spacing-d, normal))); } .bkbg-imgc-desc { font-size: var(--bkbg-imgc-ds-font-size-m, var(--bkbg-imgc-ds-font-size-t, var(--bkbg-imgc-ds-font-size-d, var(--bkbg-imgc-desc-sz, 14px)))); line-height: var(--bkbg-imgc-ds-line-height-m, var(--bkbg-imgc-ds-line-height-t, var(--bkbg-imgc-ds-line-height-d, var(--bkbg-imgc-desc-lh, 1.65)))); letter-spacing: var(--bkbg-imgc-ds-letter-spacing-m, var(--bkbg-imgc-ds-letter-spacing-t, var(--bkbg-imgc-ds-letter-spacing-d, normal))); word-spacing: var(--bkbg-imgc-ds-word-spacing-m, var(--bkbg-imgc-ds-word-spacing-t, var(--bkbg-imgc-ds-word-spacing-d, normal))); } } /* Responsive */ @media (max-width: 960px) { .bkbg-imgc-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 560px) { .bkbg-imgc-grid { grid-template-columns: 1fr; } }