/* ── Container ─────────────────────────────────────────────── */
.jft-author-box,
.jft-author-list {
    display: grid;
    gap: 16px;
    margin: 24px 0;
}

/* ── Card ───────────────────────────────────────────────────── */
.jft-author-card {
    border: 1px solid var(--jft-border, #6d28d9);
    background: var(--jft-bg, #f7fafc);
    color: var(--jft-text, #1e5dbc);
    border-radius: 12px;
    padding: var(--jft-space, 18px);
    font-size: var(--jft-font, 16px);
    line-height: 1.45;
    box-shadow: 0 6px 20px rgba(133, 209, 0, 0.12);
}

/* ── Top row: avatar + header side by side ──────────────────── */
.jft-author-top {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 14px;
}

.jft-author-header {
    flex: 1;
}

/* ── Assignment label ───────────────────────────────────────── */
.jft-author-assignment {
    display: inline-block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--jft-accent, #85d100);
    margin-bottom: 4px;
    font-weight: 700;
}

/* ── Name / role / org ──────────────────────────────────────── */
.jft-author-name {
    margin: 0 0 4px;
    font-size: 1.2em;
    color: var(--jft-text, #1e5dbc);
}

.jft-author-role,
.jft-author-org,
.jft-author-bio,
.jft-author-expertise,
.jft-author-email,
.jft-author-website {
    margin: 4px 0;
}

.jft-author-role,
.jft-author-org,
.jft-author-expertise strong {
    color: #6d28d9;
}

.jft-author-role {
    color: var(--jft-role-color, #6d28d9);
    font-size: var(--jft-role-font, 15px);
}

.jft-author-bio {
    color: var(--jft-bio-color, #1e5dbc);
    font-size: var(--jft-bio-font, 15px);
    white-space: pre-line;
    overflow-wrap: anywhere;
    word-break: break-word;
    display: block;
    width: 100%;
    margin-top: 8px;
}

/* ── Avatar ─────────────────────────────────────────────────── */
.jft-author-avatar {
    flex-shrink: 0;
    object-fit: cover;
    display: block;
}

/* Sizes */
.jft-avatar-small  { width: 60px;  height: 60px; }
.jft-avatar-medium { width: 84px;  height: 84px; }
.jft-avatar-large  { width: 120px; height: 120px; }

/* Shapes */
.jft-avatar-circle  { border-radius: 50%; }
.jft-avatar-rounded { border-radius: 10px; }
.jft-avatar-square  { border-radius: 0; }

/* ── Social links ───────────────────────────────────────────── */
.jft-author-social {
    margin-top: 8px;
}

.jft-author-social a,
.jft-author-email a,
.jft-author-website a {
    margin-right: 8px;
    color: #ff6900;
    text-decoration: none;
}

.jft-author-social a:hover,
.jft-author-email a:hover,
.jft-author-website a:hover {
    color: #6d28d9;
}

/* ── Button — branded solid style ───────────────────────────── */
.jft-author-button {
    display: inline-block;
    margin-top: 14px;
    text-decoration: none;
    background: var(--jft-btn-bg, #ff6900);
    color: var(--jft-btn-text, #ffffff);
    border: none;
    padding: 9px 22px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.9em;
    letter-spacing: 0.02em;
    transition: background 0.15s, color 0.15s;
}

.jft-author-button:hover {
    background: #6d28d9;
    color: #ffffff;
}

/* ── Layout variants ────────────────────────────────────────── */
.jft-layout-horizontal .jft-author-top {
    flex-direction: row;
}

.jft-layout-simple {
    border-radius: 0;
    background: #fff;
    border-left: 4px solid #85d100;
}

.jft-layout-profile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}
