/* ────────────────────────────────────────────────────────────────── Feature Tabs — blockenberg/feature-tabs ────────────────────────────────────────────────────────────────── */ .bkbg-ftb-wrapper { box-sizing: border-box; width: 100%; } /* ── Layout ─────────────────────────────────────────────────────── */ .bkbg-ftb-layout { display: flex; align-items: flex-start; gap: var(--bkbg-ftb-gap, 48px); width: 100%; } .bkbg-ftb--top { flex-direction: column; } .bkbg-ftb--left { flex-direction: row; } .bkbg-ftb--right { flex-direction: row-reverse; } /* ── Tab list ───────────────────────────────────────────────────── */ .bkbg-ftb-tab-list { flex-shrink: 0; display: flex; } .bkbg-ftb--left .bkbg-ftb-tab-list, .bkbg-ftb--right .bkbg-ftb-tab-list { flex-direction: column; width: var(--bkbg-ftb-tabs-w, 300px); } .bkbg-ftb--top .bkbg-ftb-tab-list { flex-direction: row; flex-wrap: wrap; width: 100%; gap: 6px; } /* ── Single tab button ──────────────────────────────────────────── */ .bkbg-ftb-tab-btn { display: flex; align-items: flex-start; gap: 12px; padding: 16px 18px; cursor: pointer; border: none; background: var(--bkbg-ftb-inactive-bg, #f9fafb); border-radius: 10px; text-align: left; width: 100%; font-family: inherit; transition: background 0.2s, border-color 0.2s, box-shadow 0.2s; } .bkbg-ftb--top .bkbg-ftb-tab-btn { width: auto; } .bkbg-ftb--left .bkbg-ftb-tab-btn, .bkbg-ftb--right .bkbg-ftb-tab-btn { margin-bottom: 6px; border-left: 3px solid transparent; } .bkbg-ftb-tab-btn.is-active { background: var(--bkbg-ftb-active-bg, #ede9f7); border-left-color: var(--bkbg-ftb-accent, #6c3fb5); } .bkbg-ftb-tab-icon { font-size: var(--bkbg-ftb-icon-sz, 28px); line-height: 1; flex-shrink: 0; } .bkbg-ftb-tab-icon svg { width: 1em; height: 1em; fill: currentColor; } .bkbg-ftb-tab-icon .dashicons { font-size: inherit; width: 1em; height: 1em; line-height: 1; } .bkbg-ftb-tab-icon .bkbg-icon-img { width: 1em; height: 1em; object-fit: contain; } .bkbg-ftb-tab-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; } .bkbg-ftb-tab-label { font-family: var(--bkbg-ftb-tl-font-family, inherit); font-size: var(--bkbg-ftb-tl-font-size-d, 15px); font-weight: var(--bkbg-ftb-tl-font-weight, 700); font-style: var(--bkbg-ftb-tl-font-style, normal); text-transform: var(--bkbg-ftb-tl-text-transform, none); text-decoration: var(--bkbg-ftb-tl-text-decoration, none); line-height: var(--bkbg-ftb-tl-line-height-d, 1.3); letter-spacing: var(--bkbg-ftb-tl-letter-spacing-d, normal); word-spacing: var(--bkbg-ftb-tl-word-spacing-d, normal); color: var(--bkbg-ftb-inactive-color, #374151); display: block; } .bkbg-ftb-tab-btn.is-active .bkbg-ftb-tab-label { color: var(--bkbg-ftb-active-color, #4c1d95); } .bkbg-ftb-tab-preview-desc { font-family: var(--bkbg-ftb-td-font-family, inherit); font-size: var(--bkbg-ftb-td-font-size-d, 15px); color: var(--bkbg-ftb-desc, #6b7280); line-height: var(--bkbg-ftb-td-line-height-d, 1.5); letter-spacing: var(--bkbg-ftb-td-letter-spacing-d, normal); word-spacing: var(--bkbg-ftb-td-word-spacing-d, normal); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; max-height: 0; opacity: 0; transition: max-height 0.3s, opacity 0.3s; } .bkbg-ftb-tab-btn.is-active .bkbg-ftb-tab-preview-desc { max-height: 60px; opacity: 1; } /* ── Panels ─────────────────────────────────────────────────────── */ .bkbg-ftb-panels { flex: 1; min-width: 0; position: relative; } .bkbg-ftb-panel { display: none; } .bkbg-ftb-panel.is-active { display: block; } .bkbg-ftb-image-pane { border-radius: var(--bkbg-ftb-img-r, 16px); overflow: hidden; background: var(--bkbg-ftb-placeholder-bg, #f3f4f6); position: relative; } .bkbg-ftb-image-pane img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; } .bkbg-ftb-panel-content { padding: 24px 4px 0; } .bkbg-ftb-wrapper .bkbg-ftb-headline { font-family: var(--bkbg-ftb-th-font-family, inherit); font-size: var(--bkbg-ftb-th-font-size-d, 28px); font-weight: var(--bkbg-ftb-th-font-weight, 800); font-style: var(--bkbg-ftb-th-font-style, normal); text-transform: var(--bkbg-ftb-th-text-transform, none); text-decoration: var(--bkbg-ftb-th-text-decoration, none); line-height: var(--bkbg-ftb-th-line-height-d, 1.2); letter-spacing: var(--bkbg-ftb-th-letter-spacing-d, normal); word-spacing: var(--bkbg-ftb-th-word-spacing-d, normal); color: var(--bkbg-ftb-headline, #111827); margin: 0 0 10px; } .bkbg-ftb-desc { font-family: var(--bkbg-ftb-td-font-family, inherit); font-size: var(--bkbg-ftb-td-font-size-d, 15px); font-weight: var(--bkbg-ftb-td-font-weight, 400); font-style: var(--bkbg-ftb-td-font-style, normal); text-transform: var(--bkbg-ftb-td-text-transform, none); text-decoration: var(--bkbg-ftb-td-text-decoration, none); line-height: var(--bkbg-ftb-td-line-height-d, 1.65); letter-spacing: var(--bkbg-ftb-td-letter-spacing-d, normal); word-spacing: var(--bkbg-ftb-td-word-spacing-d, normal); color: var(--bkbg-ftb-desc, #6b7280); margin: 0; } /* ── Animate ────────────────────────────────────────────────────── */ [data-animate="1"] .bkbg-ftb-panel.is-active { animation: bkbgFtFadeIn 0.35s ease both; } @keyframes bkbgFtFadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } /* ── Responsive: tablet typography ─────────────────────────────────── */ @media (max-width: 1024px) { .bkbg-ftb-tab-label { font-size: var(--bkbg-ftb-tl-font-size-t, var(--bkbg-ftb-tl-font-size-d, 15px)); line-height: var(--bkbg-ftb-tl-line-height-t, var(--bkbg-ftb-tl-line-height-d, 1.3)); letter-spacing: var(--bkbg-ftb-tl-letter-spacing-t, var(--bkbg-ftb-tl-letter-spacing-d, normal)); word-spacing: var(--bkbg-ftb-tl-word-spacing-t, var(--bkbg-ftb-tl-word-spacing-d, normal)); } .bkbg-ftb-wrapper .bkbg-ftb-headline { font-size: var(--bkbg-ftb-th-font-size-t, var(--bkbg-ftb-th-font-size-d, 28px)); line-height: var(--bkbg-ftb-th-line-height-t, var(--bkbg-ftb-th-line-height-d, 1.2)); letter-spacing: var(--bkbg-ftb-th-letter-spacing-t, var(--bkbg-ftb-th-letter-spacing-d, normal)); word-spacing: var(--bkbg-ftb-th-word-spacing-t, var(--bkbg-ftb-th-word-spacing-d, normal)); } .bkbg-ftb-desc, .bkbg-ftb-tab-preview-desc { font-size: var(--bkbg-ftb-td-font-size-t, var(--bkbg-ftb-td-font-size-d, 15px)); line-height: var(--bkbg-ftb-td-line-height-t, var(--bkbg-ftb-td-line-height-d, 1.65)); letter-spacing: var(--bkbg-ftb-td-letter-spacing-t, var(--bkbg-ftb-td-letter-spacing-d, normal)); word-spacing: var(--bkbg-ftb-td-word-spacing-t, var(--bkbg-ftb-td-word-spacing-d, normal)); } } /* ── Responsive: mobile typography ─────────────────────────────────── */ @media (max-width: 767px) { .bkbg-ftb-tab-label { font-size: var(--bkbg-ftb-tl-font-size-m, var(--bkbg-ftb-tl-font-size-t, var(--bkbg-ftb-tl-font-size-d, 15px))); line-height: var(--bkbg-ftb-tl-line-height-m, var(--bkbg-ftb-tl-line-height-t, var(--bkbg-ftb-tl-line-height-d, 1.3))); letter-spacing: var(--bkbg-ftb-tl-letter-spacing-m, var(--bkbg-ftb-tl-letter-spacing-t, var(--bkbg-ftb-tl-letter-spacing-d, normal))); word-spacing: var(--bkbg-ftb-tl-word-spacing-m, var(--bkbg-ftb-tl-word-spacing-t, var(--bkbg-ftb-tl-word-spacing-d, normal))); } .bkbg-ftb-wrapper .bkbg-ftb-headline { font-size: var(--bkbg-ftb-th-font-size-m, var(--bkbg-ftb-th-font-size-t, var(--bkbg-ftb-th-font-size-d, 28px))); line-height: var(--bkbg-ftb-th-line-height-m, var(--bkbg-ftb-th-line-height-t, var(--bkbg-ftb-th-line-height-d, 1.2))); letter-spacing: var(--bkbg-ftb-th-letter-spacing-m, var(--bkbg-ftb-th-letter-spacing-t, var(--bkbg-ftb-th-letter-spacing-d, normal))); word-spacing: var(--bkbg-ftb-th-word-spacing-m, var(--bkbg-ftb-th-word-spacing-t, var(--bkbg-ftb-th-word-spacing-d, normal))); } .bkbg-ftb-desc, .bkbg-ftb-tab-preview-desc { font-size: var(--bkbg-ftb-td-font-size-m, var(--bkbg-ftb-td-font-size-t, var(--bkbg-ftb-td-font-size-d, 15px))); line-height: var(--bkbg-ftb-td-line-height-m, var(--bkbg-ftb-td-line-height-t, var(--bkbg-ftb-td-line-height-d, 1.65))); letter-spacing: var(--bkbg-ftb-td-letter-spacing-m, var(--bkbg-ftb-td-letter-spacing-t, var(--bkbg-ftb-td-letter-spacing-d, normal))); word-spacing: var(--bkbg-ftb-td-word-spacing-m, var(--bkbg-ftb-td-word-spacing-t, var(--bkbg-ftb-td-word-spacing-d, normal))); } } /* ── Responsive: layout ───────────────────────────────────────── */ @media (max-width: 768px) { .bkbg-ftb-layout { flex-direction: column !important; } .bkbg-ftb-tab-list { width: 100% !important; flex-direction: row; flex-wrap: wrap; gap: 6px; } .bkbg-ftb-tab-btn { width: auto; flex: 1 1 auto; margin-bottom: 0 !important; border-left-width: 0 !important; border-bottom: 3px solid transparent; } .bkbg-ftb-tab-btn.is-active { border-bottom-color: var(--bkbg-ftb-accent, #6c3fb5); } }