/* ========================================================= Author Box – bkbg-ab-* ========================================================= */ .bkbg-ab-wrap { --bkbg-ab-size: 88px; --bkbg-ab-pad: 28px; --bkbg-ab-gap: 24px; --bkbg-ab-bg: #f9fafb; --bkbg-ab-border: #e5e7eb; --bkbg-ab-radius: 14px; --bkbg-ab-name-size: 20px; --bkbg-ab-name-w: 700; --bkbg-ab-name-clr: #111827; --bkbg-ab-role-size: 14px; --bkbg-ab-role-clr: #6b7280; --bkbg-ab-bio-size: 15px; --bkbg-ab-bio-clr: #374151; --bkbg-ab-bio-lh: 1.7; --bkbg-ab-link-clr: #2563eb; --bkbg-ab-link-hov: #1d4ed8; background: var(--bkbg-ab-bg); border-radius: var(--bkbg-ab-radius); padding: var(--bkbg-ab-pad); box-sizing: border-box; } .bkbg-ab-bordered { border: 1px solid var(--bkbg-ab-border); } /* ── Inner flex ── */ .bkbg-ab-inner { display: flex; gap: var(--bkbg-ab-gap); align-items: flex-start; } /* ── Vertical layout ── */ .bkbg-ab-layout--vertical .bkbg-ab-inner { flex-direction: column; align-items: center; text-align: center; } .bkbg-ab-layout--vertical .bkbg-ab-links { justify-content: center; } /* ── Avatar column ── */ .bkbg-ab-avatar-col { flex-shrink: 0; } .bkbg-ab-avatar { width: var(--bkbg-ab-size); height: var(--bkbg-ab-size); object-fit: cover; display: block; } .bkbg-ab-avatar--circle { border-radius: 50%; } .bkbg-ab-avatar--rounded { border-radius: 12px; } .bkbg-ab-avatar--square { border-radius: 4px; } /* Placeholder avatar */ .bkbg-ab-avatar-placeholder { width: var(--bkbg-ab-size); height: var(--bkbg-ab-size); background: #e5e7eb; display: flex; align-items: center; justify-content: center; color: #9ca3af; } .bkbg-ab-avatar-placeholder svg { width: 50%; height: 50%; } .bkbg-ab-avatar-placeholder.bkbg-ab-avatar--circle { border-radius: 50%; } .bkbg-ab-avatar-placeholder.bkbg-ab-avatar--rounded { border-radius: 12px; } .bkbg-ab-avatar-placeholder.bkbg-ab-avatar--square { border-radius: 4px; } /* ── Content ── */ .bkbg-ab-content { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; } /* Name */ .bkbg-ab-name { font-family: var(--bkbg-ab-name-font-family, inherit); font-size: var(--bkbg-ab-name-font-size-d, var(--bkbg-ab-name-font-size, var(--bkbg-ab-name-size, 20px))); font-weight: var(--bkbg-ab-name-font-weight, var(--bkbg-ab-name-w, 700)); font-style: var(--bkbg-ab-name-font-style, normal); text-transform: var(--bkbg-ab-name-text-transform, none); text-decoration: var(--bkbg-ab-name-text-decoration, none); line-height: var(--bkbg-ab-name-line-height-d, var(--bkbg-ab-name-line-height, 1.25)); letter-spacing: var(--bkbg-ab-name-letter-spacing-d, var(--bkbg-ab-name-letter-spacing, normal)); word-spacing: var(--bkbg-ab-name-word-spacing-d, var(--bkbg-ab-name-word-spacing, normal)); color: var(--bkbg-ab-name-clr); margin: 0; } /* Role */ .bkbg-ab-role { font-family: var(--bkbg-ab-role-font-family, inherit); font-size: var(--bkbg-ab-role-font-size-d, var(--bkbg-ab-role-font-size, var(--bkbg-ab-role-size, 14px))); font-weight: var(--bkbg-ab-role-font-weight, 500); font-style: var(--bkbg-ab-role-font-style, normal); text-transform: var(--bkbg-ab-role-text-transform, none); text-decoration: var(--bkbg-ab-role-text-decoration, none); line-height: var(--bkbg-ab-role-line-height-d, var(--bkbg-ab-role-line-height, 1.3)); letter-spacing: var(--bkbg-ab-role-letter-spacing-d, var(--bkbg-ab-role-letter-spacing, 0.01em)); word-spacing: var(--bkbg-ab-role-word-spacing-d, var(--bkbg-ab-role-word-spacing, normal)); color: var(--bkbg-ab-role-clr); margin: 0; } /* Bio */ .bkbg-ab-bio { font-family: var(--bkbg-ab-bio-font-family, inherit); font-size: var(--bkbg-ab-bio-font-size-d, var(--bkbg-ab-bio-font-size, var(--bkbg-ab-bio-size, 15px))); font-weight: var(--bkbg-ab-bio-font-weight, 400); font-style: var(--bkbg-ab-bio-font-style, normal); text-transform: var(--bkbg-ab-bio-text-transform, none); text-decoration: var(--bkbg-ab-bio-text-decoration, none); line-height: var(--bkbg-ab-bio-line-height-d, var(--bkbg-ab-bio-line-height, var(--bkbg-ab-bio-lh, 1.7))); letter-spacing: var(--bkbg-ab-bio-letter-spacing-d, var(--bkbg-ab-bio-letter-spacing, normal)); word-spacing: var(--bkbg-ab-bio-word-spacing-d, var(--bkbg-ab-bio-word-spacing, normal)); color: var(--bkbg-ab-bio-clr); margin: 4px 0 0; } .bkbg-ab-bio:empty { display: none; } /* ── Social links ── */ .bkbg-ab-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; } .bkbg-ab-link { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; color: var(--bkbg-ab-link-clr); text-decoration: none; border-radius: 6px; transition: color 0.2s, transform 0.2s, background 0.2s; } .bkbg-ab-link:hover { color: var(--bkbg-ab-link-hov); background: rgba(37,99,235,.08); transform: translateY(-2px); } .bkbg-ab-link svg { width: 18px; height: 18px; pointer-events: none; } /* ── Editor: link-row spacing ── */ .bkbg-ab-link-row { border: 1px dashed #d1d5db; border-radius: 6px; padding: 10px; margin-bottom: 8px; background: #fff; } /* ── Editor: text controls look like preview ── */ .bkbg-ab-name-input input, .bkbg-ab-role-input input { border: none; background: transparent; padding: 0; font-weight: 600; } /* ── Responsive ── */ @media (max-width: 1024px) { .bkbg-ab-name { font-size: var(--bkbg-ab-name-font-size-t, var(--bkbg-ab-name-font-size-d, var(--bkbg-ab-name-font-size, var(--bkbg-ab-name-size, 20px)))); line-height: var(--bkbg-ab-name-line-height-t, var(--bkbg-ab-name-line-height-d, var(--bkbg-ab-name-line-height, 1.25))); letter-spacing: var(--bkbg-ab-name-letter-spacing-t, var(--bkbg-ab-name-letter-spacing-d, var(--bkbg-ab-name-letter-spacing, normal))); word-spacing: var(--bkbg-ab-name-word-spacing-t, var(--bkbg-ab-name-word-spacing-d, var(--bkbg-ab-name-word-spacing, normal))); } .bkbg-ab-role { font-size: var(--bkbg-ab-role-font-size-t, var(--bkbg-ab-role-font-size-d, var(--bkbg-ab-role-font-size, var(--bkbg-ab-role-size, 14px)))); line-height: var(--bkbg-ab-role-line-height-t, var(--bkbg-ab-role-line-height-d, var(--bkbg-ab-role-line-height, 1.3))); letter-spacing: var(--bkbg-ab-role-letter-spacing-t, var(--bkbg-ab-role-letter-spacing-d, var(--bkbg-ab-role-letter-spacing, 0.01em))); word-spacing: var(--bkbg-ab-role-word-spacing-t, var(--bkbg-ab-role-word-spacing-d, var(--bkbg-ab-role-word-spacing, normal))); } .bkbg-ab-bio { font-size: var(--bkbg-ab-bio-font-size-t, var(--bkbg-ab-bio-font-size-d, var(--bkbg-ab-bio-font-size, var(--bkbg-ab-bio-size, 15px)))); line-height: var(--bkbg-ab-bio-line-height-t, var(--bkbg-ab-bio-line-height-d, var(--bkbg-ab-bio-line-height, var(--bkbg-ab-bio-lh, 1.7)))); letter-spacing: var(--bkbg-ab-bio-letter-spacing-t, var(--bkbg-ab-bio-letter-spacing-d, var(--bkbg-ab-bio-letter-spacing, normal))); word-spacing: var(--bkbg-ab-bio-word-spacing-t, var(--bkbg-ab-bio-word-spacing-d, var(--bkbg-ab-bio-word-spacing, normal))); } } @media (max-width: 767px) { .bkbg-ab-name { font-size: var(--bkbg-ab-name-font-size-m, var(--bkbg-ab-name-font-size-t, var(--bkbg-ab-name-font-size-d, var(--bkbg-ab-name-font-size, var(--bkbg-ab-name-size, 20px))))); line-height: var(--bkbg-ab-name-line-height-m, var(--bkbg-ab-name-line-height-t, var(--bkbg-ab-name-line-height-d, var(--bkbg-ab-name-line-height, 1.25)))); letter-spacing: var(--bkbg-ab-name-letter-spacing-m, var(--bkbg-ab-name-letter-spacing-t, var(--bkbg-ab-name-letter-spacing-d, var(--bkbg-ab-name-letter-spacing, normal)))); word-spacing: var(--bkbg-ab-name-word-spacing-m, var(--bkbg-ab-name-word-spacing-t, var(--bkbg-ab-name-word-spacing-d, var(--bkbg-ab-name-word-spacing, normal)))); } .bkbg-ab-role { font-size: var(--bkbg-ab-role-font-size-m, var(--bkbg-ab-role-font-size-t, var(--bkbg-ab-role-font-size-d, var(--bkbg-ab-role-font-size, var(--bkbg-ab-role-size, 14px))))); line-height: var(--bkbg-ab-role-line-height-m, var(--bkbg-ab-role-line-height-t, var(--bkbg-ab-role-line-height-d, var(--bkbg-ab-role-line-height, 1.3)))); letter-spacing: var(--bkbg-ab-role-letter-spacing-m, var(--bkbg-ab-role-letter-spacing-t, var(--bkbg-ab-role-letter-spacing-d, var(--bkbg-ab-role-letter-spacing, 0.01em)))); word-spacing: var(--bkbg-ab-role-word-spacing-m, var(--bkbg-ab-role-word-spacing-t, var(--bkbg-ab-role-word-spacing-d, var(--bkbg-ab-role-word-spacing, normal)))); } .bkbg-ab-bio { font-size: var(--bkbg-ab-bio-font-size-m, var(--bkbg-ab-bio-font-size-t, var(--bkbg-ab-bio-font-size-d, var(--bkbg-ab-bio-font-size, var(--bkbg-ab-bio-size, 15px))))); line-height: var(--bkbg-ab-bio-line-height-m, var(--bkbg-ab-bio-line-height-t, var(--bkbg-ab-bio-line-height-d, var(--bkbg-ab-bio-line-height, var(--bkbg-ab-bio-lh, 1.7))))); letter-spacing: var(--bkbg-ab-bio-letter-spacing-m, var(--bkbg-ab-bio-letter-spacing-t, var(--bkbg-ab-bio-letter-spacing-d, var(--bkbg-ab-bio-letter-spacing, normal)))); word-spacing: var(--bkbg-ab-bio-word-spacing-m, var(--bkbg-ab-bio-word-spacing-t, var(--bkbg-ab-bio-word-spacing-d, var(--bkbg-ab-bio-word-spacing, normal)))); } } @media (max-width: 480px) { .bkbg-ab-layout--horizontal .bkbg-ab-inner { flex-direction: column; align-items: center; text-align: center; } .bkbg-ab-layout--horizontal .bkbg-ab-links { justify-content: center; } }