/* ============================================================ CTA with Countdown — style.css Prefix: bkbg-ctc- ============================================================ */ .bkbg-ctc-wrap { box-sizing: border-box; width: 100%; background: var(--bkbg-ctc-bg, #0f172a); padding: var(--bkbg-ctc-pt, 80px) 24px var(--bkbg-ctc-pb, 80px); border-radius: var(--bkbg-ctc-r, 0px); } .bkbg-ctc-inner { width: 100%; } /* ============================================================ Layout: Centered (default) ============================================================ */ .bkbg-ctc-layout--centered .bkbg-ctc-centered { display: flex; flex-direction: column; align-items: center; gap: 40px; text-align: center; max-width: 800px; margin: 0 auto; } .bkbg-ctc-layout--centered .bkbg-ctc-content { display: flex; flex-direction: column; align-items: center; gap: 16px; } /* ============================================================ Layout: Split ============================================================ */ .bkbg-ctc-layout--split .bkbg-ctc-split { display: grid; grid-template-columns: 1fr auto; gap: 64px; align-items: center; max-width: 1100px; margin: 0 auto; } .bkbg-ctc-layout--split .bkbg-ctc-content { display: flex; flex-direction: column; gap: 16px; } /* ---- Content elements ---- */ .bkbg-ctc-eyebrow { font-size: var(--bkbg-ctc-eye-font-size-d, var(--bkbg-ctc-eyebrow-sz, 12px)); font-family: var(--bkbg-ctc-eye-font-family, inherit); font-weight: var(--bkbg-ctc-eye-font-weight, 700); font-style: var(--bkbg-ctc-eye-font-style, normal); letter-spacing: var(--bkbg-ctc-eye-letter-spacing-d, .1em); text-transform: var(--bkbg-ctc-eye-text-transform, uppercase); text-decoration: var(--bkbg-ctc-eye-text-decoration, none); line-height: var(--bkbg-ctc-eye-line-height-d, normal); word-spacing: var(--bkbg-ctc-eye-word-spacing-d, normal); color: var(--bkbg-ctc-eyebrow-c, #a78bfa); } .bkbg-ctc-wrap .bkbg-ctc-heading { margin: 0; font-size: var(--bkbg-ctc-hdg-font-size-d, var(--bkbg-ctc-heading-sz, 36px)); font-family: var(--bkbg-ctc-hdg-font-family, inherit); font-weight: var(--bkbg-ctc-hdg-font-weight, var(--bkbg-ctc-heading-w, 800)); font-style: var(--bkbg-ctc-hdg-font-style, normal); text-transform: var(--bkbg-ctc-hdg-text-transform, none); text-decoration: var(--bkbg-ctc-hdg-text-decoration, none); color: var(--bkbg-ctc-heading-c, #ffffff); letter-spacing: var(--bkbg-ctc-hdg-letter-spacing-d, -.03em); line-height: var(--bkbg-ctc-hdg-line-height-d, 1.15); word-spacing: var(--bkbg-ctc-hdg-word-spacing-d, normal); } .bkbg-ctc-sub { margin: 0; font-size: var(--bkbg-ctc-sub-font-size-d, var(--bkbg-ctc-sub-sz, 17px)); font-family: var(--bkbg-ctc-sub-font-family, inherit); font-weight: var(--bkbg-ctc-sub-font-weight, normal); font-style: var(--bkbg-ctc-sub-font-style, normal); text-transform: var(--bkbg-ctc-sub-text-transform, none); text-decoration: var(--bkbg-ctc-sub-text-decoration, none); color: var(--bkbg-ctc-sub-c, rgba(255,255,255,0.7)); letter-spacing: var(--bkbg-ctc-sub-letter-spacing-d, normal); line-height: var(--bkbg-ctc-sub-line-height-d, 1.65); word-spacing: var(--bkbg-ctc-sub-word-spacing-d, normal); max-width: 560px; } /* ---- Buttons ---- */ .bkbg-ctc-buttons { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 4px; } .bkbg-ctc-layout--centered .bkbg-ctc-buttons { justify-content: center; } .bkbg-ctc-btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 28px; font-size: var(--bkbg-ctc-btn-sz, 16px); font-weight: 700; border-radius: var(--bkbg-ctc-btn-r, 8px); text-decoration: none; cursor: pointer; white-space: nowrap; transition: filter .15s, transform .15s; border: none; } .bkbg-ctc-btn:hover { filter: brightness(1.1); transform: translateY(-1px); } .bkbg-ctc-btn--primary { background: var(--bkbg-ctc-btn-bg, #6c3fb5); color: var(--bkbg-ctc-btn-text, #ffffff); } .bkbg-ctc-btn--secondary { background: var(--bkbg-ctc-btn2-bg, transparent); color: var(--bkbg-ctc-btn2-text, #ffffff); border: 1px solid var(--bkbg-ctc-btn2-border, rgba(255,255,255,0.3)); } /* ============================================================ Timer ============================================================ */ .bkbg-ctc-timer { display: flex; gap: var(--bkbg-ctc-timer-gap, 12px); align-items: flex-start; flex-shrink: 0; } /* Timer: box */ .bkbg-ctc-timer--box .bkbg-ctc-unit { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: calc(var(--bkbg-ctc-num-sz, 48px) * 1.6); padding: 18px 14px; background: var(--bkbg-ctc-timer-bg, rgba(255,255,255,0.08)); border: 1px solid var(--bkbg-ctc-timer-border, rgba(255,255,255,0.12)); border-radius: 12px; } /* Timer: minimal (no box) */ .bkbg-ctc-timer--minimal .bkbg-ctc-unit { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0 12px; border-right: 1px solid rgba(255,255,255,.15); } .bkbg-ctc-timer--minimal .bkbg-ctc-unit:last-child { border-right: none; } /* Timer: outlined */ .bkbg-ctc-timer--outlined .bkbg-ctc-unit { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: calc(var(--bkbg-ctc-num-sz, 48px) * 1.6); padding: 12px; border: 2px solid var(--bkbg-ctc-timer-border, rgba(255,255,255,0.25)); border-radius: 8px; } .bkbg-ctc-unit-num { font-size: var(--bkbg-ctc-num-font-size-d, var(--bkbg-ctc-num-sz, 48px)); font-family: var(--bkbg-ctc-num-font-family, inherit); font-weight: var(--bkbg-ctc-num-font-weight, var(--bkbg-ctc-num-w, 800)); font-style: var(--bkbg-ctc-num-font-style, normal); text-transform: var(--bkbg-ctc-num-text-transform, none); text-decoration: var(--bkbg-ctc-num-text-decoration, none); color: var(--bkbg-ctc-num-c, #ffffff); font-variant-numeric: tabular-nums; letter-spacing: var(--bkbg-ctc-num-letter-spacing-d, -.04em); line-height: var(--bkbg-ctc-num-line-height-d, 1); word-spacing: var(--bkbg-ctc-num-word-spacing-d, normal); } .bkbg-ctc-unit-label { font-size: var(--bkbg-ctc-label-sz, 12px); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--bkbg-ctc-label-c, rgba(255,255,255,0.5)); } /* ============================================================ Style Variants ============================================================ */ /* light */ .bkbg-ctc-style--light { background: var(--bkbg-ctc-bg, #f8fafc); } .bkbg-ctc-style--light .bkbg-ctc-heading { color: #0f172a; } .bkbg-ctc-style--light .bkbg-ctc-sub { color: #64748b; } .bkbg-ctc-style--light .bkbg-ctc-eyebrow { color: var(--bkbg-ctc-accent, #6c3fb5); } .bkbg-ctc-style--light .bkbg-ctc-unit-num { color: #0f172a; } .bkbg-ctc-style--light .bkbg-ctc-unit-label { color: #64748b; } .bkbg-ctc-style--light .bkbg-ctc-timer--box .bkbg-ctc-unit { background: #ffffff; border: 1px solid #e2e8f0; } .bkbg-ctc-style--light .bkbg-ctc-btn--secondary { color: var(--bkbg-ctc-accent, #6c3fb5); border-color: color-mix(in srgb, var(--bkbg-ctc-accent, #6c3fb5) 30%, transparent); } /* gradient */ .bkbg-ctc-style--gradient { background: linear-gradient(135deg, var(--bkbg-ctc-accent, #6c3fb5) 0%, color-mix(in srgb, var(--bkbg-ctc-accent, #6c3fb5) 60%, #1e1b4b) 100%); } /* banner (wide, less padding, no border-radius) */ .bkbg-ctc-style--banner { border-radius: 0; padding-top: 32px; padding-bottom: 32px; } .bkbg-ctc-style--banner .bkbg-ctc-heading { font-size: clamp(22px, 3vw, 32px); } /* Responsive */ @media (max-width: 768px) { .bkbg-ctc-layout--split .bkbg-ctc-split { grid-template-columns: 1fr; gap: 32px; } .bkbg-ctc-timer { flex-wrap: wrap; justify-content: center; } .bkbg-ctc-wrap .bkbg-ctc-heading { font-size: clamp(24px, 6vw, 40px); } } /* Typography responsive — tablet */ @media (max-width: 1024px) { .bkbg-ctc-wrap .bkbg-ctc-heading { font-size: var(--bkbg-ctc-hdg-font-size-t, var(--bkbg-ctc-hdg-font-size-d, var(--bkbg-ctc-heading-sz, 36px))); letter-spacing: var(--bkbg-ctc-hdg-letter-spacing-t, var(--bkbg-ctc-hdg-letter-spacing-d, -.03em)); line-height: var(--bkbg-ctc-hdg-line-height-t, var(--bkbg-ctc-hdg-line-height-d, 1.15)); word-spacing: var(--bkbg-ctc-hdg-word-spacing-t, var(--bkbg-ctc-hdg-word-spacing-d, normal)); } .bkbg-ctc-sub { font-size: var(--bkbg-ctc-sub-font-size-t, var(--bkbg-ctc-sub-font-size-d, var(--bkbg-ctc-sub-sz, 17px))); letter-spacing: var(--bkbg-ctc-sub-letter-spacing-t, var(--bkbg-ctc-sub-letter-spacing-d, normal)); line-height: var(--bkbg-ctc-sub-line-height-t, var(--bkbg-ctc-sub-line-height-d, 1.65)); word-spacing: var(--bkbg-ctc-sub-word-spacing-t, var(--bkbg-ctc-sub-word-spacing-d, normal)); } .bkbg-ctc-eyebrow { font-size: var(--bkbg-ctc-eye-font-size-t, var(--bkbg-ctc-eye-font-size-d, var(--bkbg-ctc-eyebrow-sz, 12px))); letter-spacing: var(--bkbg-ctc-eye-letter-spacing-t, var(--bkbg-ctc-eye-letter-spacing-d, .1em)); line-height: var(--bkbg-ctc-eye-line-height-t, var(--bkbg-ctc-eye-line-height-d, normal)); word-spacing: var(--bkbg-ctc-eye-word-spacing-t, var(--bkbg-ctc-eye-word-spacing-d, normal)); } .bkbg-ctc-unit-num { font-size: var(--bkbg-ctc-num-font-size-t, var(--bkbg-ctc-num-font-size-d, var(--bkbg-ctc-num-sz, 48px))); letter-spacing: var(--bkbg-ctc-num-letter-spacing-t, var(--bkbg-ctc-num-letter-spacing-d, -.04em)); line-height: var(--bkbg-ctc-num-line-height-t, var(--bkbg-ctc-num-line-height-d, 1)); word-spacing: var(--bkbg-ctc-num-word-spacing-t, var(--bkbg-ctc-num-word-spacing-d, normal)); } } /* Typography responsive — mobile */ @media (max-width: 767px) { .bkbg-ctc-wrap .bkbg-ctc-heading { font-size: var(--bkbg-ctc-hdg-font-size-m, var(--bkbg-ctc-hdg-font-size-t, var(--bkbg-ctc-hdg-font-size-d, var(--bkbg-ctc-heading-sz, 36px)))); letter-spacing: var(--bkbg-ctc-hdg-letter-spacing-m, var(--bkbg-ctc-hdg-letter-spacing-t, var(--bkbg-ctc-hdg-letter-spacing-d, -.03em))); line-height: var(--bkbg-ctc-hdg-line-height-m, var(--bkbg-ctc-hdg-line-height-t, var(--bkbg-ctc-hdg-line-height-d, 1.15))); word-spacing: var(--bkbg-ctc-hdg-word-spacing-m, var(--bkbg-ctc-hdg-word-spacing-t, var(--bkbg-ctc-hdg-word-spacing-d, normal))); } .bkbg-ctc-sub { font-size: var(--bkbg-ctc-sub-font-size-m, var(--bkbg-ctc-sub-font-size-t, var(--bkbg-ctc-sub-font-size-d, var(--bkbg-ctc-sub-sz, 17px)))); letter-spacing: var(--bkbg-ctc-sub-letter-spacing-m, var(--bkbg-ctc-sub-letter-spacing-t, var(--bkbg-ctc-sub-letter-spacing-d, normal))); line-height: var(--bkbg-ctc-sub-line-height-m, var(--bkbg-ctc-sub-line-height-t, var(--bkbg-ctc-sub-line-height-d, 1.65))); word-spacing: var(--bkbg-ctc-sub-word-spacing-m, var(--bkbg-ctc-sub-word-spacing-t, var(--bkbg-ctc-sub-word-spacing-d, normal))); } .bkbg-ctc-eyebrow { font-size: var(--bkbg-ctc-eye-font-size-m, var(--bkbg-ctc-eye-font-size-t, var(--bkbg-ctc-eye-font-size-d, var(--bkbg-ctc-eyebrow-sz, 12px)))); letter-spacing: var(--bkbg-ctc-eye-letter-spacing-m, var(--bkbg-ctc-eye-letter-spacing-t, var(--bkbg-ctc-eye-letter-spacing-d, .1em))); line-height: var(--bkbg-ctc-eye-line-height-m, var(--bkbg-ctc-eye-line-height-t, var(--bkbg-ctc-eye-line-height-d, normal))); word-spacing: var(--bkbg-ctc-eye-word-spacing-m, var(--bkbg-ctc-eye-word-spacing-t, var(--bkbg-ctc-eye-word-spacing-d, normal))); } .bkbg-ctc-unit-num { font-size: var(--bkbg-ctc-num-font-size-m, var(--bkbg-ctc-num-font-size-t, var(--bkbg-ctc-num-font-size-d, var(--bkbg-ctc-num-sz, 48px)))); letter-spacing: var(--bkbg-ctc-num-letter-spacing-m, var(--bkbg-ctc-num-letter-spacing-t, var(--bkbg-ctc-num-letter-spacing-d, -.04em))); line-height: var(--bkbg-ctc-num-line-height-m, var(--bkbg-ctc-num-line-height-t, var(--bkbg-ctc-num-line-height-d, 1))); word-spacing: var(--bkbg-ctc-num-word-spacing-m, var(--bkbg-ctc-num-word-spacing-t, var(--bkbg-ctc-num-word-spacing-d, normal))); } }