/**
 * JD Credit — author components.
 * Ported from author-box.html. Every rule is namespaced under .jd-authorbox,
 * .jd-byline, .jd-reviewed or .jd-disclaimer, and nothing is set on a bare
 * element selector, so there is no collision with the theme or Elementor.
 *
 * Colours resolve to Elementor's global palette, each with the current palette
 * value as a literal fallback so the component still renders correctly where
 * Elementor's variables are absent — the author archive template, the block
 * editor, or an email client.
 */

/* ===================== AUTHOR BOX ===================== */
.jd-authorbox{
  /* Retune the component from here. */
  --jd-surface: var(--e-global-color-secondary, #E9F7FF);   /* panel background */
  --jd-border:  var(--e-global-color-primary, #1565A8);     /* panel border     */
  --jd-accent:  #1E40AF;                                    /* links, role, icons */
  --jd-chip-bg: #FFFFFF;
  --jd-line:    #E2E8F0;                                    /* internal dividers */
  --jd-heading: #0F172A;
  --jd-body:    #475569;
  --jd-muted:   #64748B;

  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--jd-heading);
  background:var(--jd-surface);
  border:1px solid var(--jd-border);
  border-radius:20px;padding:24px;margin:36px 0;box-sizing:border-box;
}
.jd-authorbox *{box-sizing:border-box}
.jd-ab-top{display:flex;gap:20px;align-items:flex-start}

/* photo */
.jd-ab-photo{
  flex:0 0 auto;width:96px;height:96px;border-radius:50%;overflow:hidden;
  background:var(--jd-line);border:3px solid #fff;box-shadow:0 0 0 2px var(--jd-border);
  display:flex;align-items:center;justify-content:center;
}
.jd-ab-photo img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0;max-width:none}
.jd-ab-photo svg{width:100%;height:100%;display:block}

.jd-ab-body{min-width:0;flex:1}
.jd-ab-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--jd-muted);margin-bottom:5px}
.jd-ab-name{font-family:'Space Grotesk','Inter',sans-serif;font-size:20px;font-weight:700;letter-spacing:-.01em;margin:0 0 3px;line-height:1.25}
.jd-ab-name a{color:var(--jd-heading);text-decoration:none}
.jd-ab-name a:hover{color:var(--jd-accent)}
.jd-ab-role{font-size:13.5px;color:var(--jd-accent);font-weight:600;margin-bottom:12px}
.jd-ab-bio{font-size:14px;line-height:1.7;color:var(--jd-body);margin:0 0 14px}
.jd-ab-bio a{color:var(--jd-accent);font-weight:500}

/* credential chips */
.jd-ab-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}
.jd-ab-chip{
  display:inline-flex;align-items:center;gap:6px;background:var(--jd-chip-bg);
  border:1px solid var(--jd-line);border-radius:999px;padding:5px 11px;
  font-size:11.5px;font-weight:600;color:#334155;line-height:1.5;
}

/* meta row */
.jd-ab-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:12.5px;color:var(--jd-muted);margin:0}
.jd-ab-meta a{color:var(--jd-accent);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.jd-ab-meta a:hover{text-decoration:underline}
.jd-ab-dot{width:3px;height:3px;border-radius:50%;background:#CBD5E1;flex:0 0 auto}

/* icons — icon_picker renders a dashicon span or an uploaded img */
.jd-ab-chip .jd-icon,.jd-ab-meta .jd-icon,.jd-ab-chip i,.jd-ab-meta i{flex:0 0 auto;color:var(--jd-accent)}
.jd-ab-chip span.jd-icon,.jd-ab-chip i{width:13px;height:13px;font-size:13px;line-height:1}
.jd-ab-meta span.jd-icon,.jd-ab-meta i{width:14px;height:14px;font-size:14px;line-height:1}
.jd-ab-chip img.jd-icon{width:13px;height:13px;object-fit:contain}
.jd-ab-meta img.jd-icon{width:14px;height:14px;object-fit:contain}

/* publisher credit */
.jd-ab-pub{
  margin-top:20px;padding-top:18px;border-top:1px solid var(--jd-line);
  display:flex;gap:16px;align-items:flex-start;
}
.jd-ab-pub-logo{flex:0 0 auto;width:132px;height:auto;margin-top:2px;display:block;max-width:132px}
.jd-ab-pub-text{font-size:12.5px;line-height:1.65;color:var(--jd-muted)}
.jd-ab-pub-text strong{color:var(--jd-heading);font-weight:600}
.jd-ab-pub-text a{color:var(--jd-accent);text-decoration:none;font-weight:600}
.jd-ab-pub-text a:hover{text-decoration:underline}

@media (max-width:560px){
  .jd-authorbox{padding:20px}
  .jd-ab-top{flex-direction:column;gap:14px}
  .jd-ab-photo{width:76px;height:76px}
  .jd-ab-meta{gap:10px}
  .jd-ab-pub{flex-direction:column;gap:12px}
  .jd-ab-pub-logo{width:120px;max-width:120px}
}

/* ===================== AUTHOR PROFILE PAGE ===================== */
/* Only the parts Elementor cannot express as widgets. Panels, headings, the
   post grid and the CTA are all styled in the archive template itself. */
.jd-pf-crumbs{font-size:12.5px;color:#94A3B8;line-height:1.6}
.jd-pf-crumbs a{color:#64748B;font-weight:500;text-decoration:none}
.jd-pf-crumbs a:hover{color:var(--e-global-color-primary,#1565A8);text-decoration:underline}
.jd-pf-crumbs span{margin:0 7px;color:#CBD5E1}

.jd-pf-photo{
  width:150px;height:150px;border-radius:50%;overflow:hidden;background:#E2E8F0;
  border:4px solid #fff;box-shadow:0 0 0 2px var(--e-global-color-primary,#1565A8);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.jd-pf-photo img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0;max-width:none}
.jd-pf-photo svg{width:100%;height:100%;display:block}

/* credential chips — larger than the author box variant, per the mockup */
.jd-pf-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.jd-pf-chip{
  display:inline-flex;align-items:center;gap:7px;background:#F8FAFC;
  border:1px solid #E2E8F0;border-radius:999px;padding:6px 13px;
  font-size:12.5px;font-weight:600;color:#334155;line-height:1.5;
}
.jd-pf-chip .jd-icon{flex:0 0 auto;color:var(--e-global-color-primary,#1565A8)}
.jd-pf-chip span.jd-icon{width:13px;height:13px;font-size:13px;line-height:1}
.jd-pf-chip img.jd-icon{width:13px;height:13px;object-fit:contain}

/* social links */
.jd-pf-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:13.5px;color:#64748B;margin:0}
.jd-pf-links a{
  color:var(--e-global-color-primary,#1565A8);font-weight:600;text-decoration:none;
  display:inline-flex;align-items:center;gap:7px;
}
.jd-pf-links a:hover{text-decoration:underline}
.jd-pf-links .jd-icon{flex:0 0 auto;color:currentColor}
.jd-pf-links span.jd-icon{width:14px;height:14px;font-size:14px;line-height:1}
.jd-pf-links img.jd-icon{width:14px;height:14px;object-fit:contain}

/* areas of focus — reset hard, the list sits inside an Elementor shortcode
   widget and both the theme and Elementor style bare ul/li/a */
ul.jd-pf-focus-list{list-style:none;margin:0;padding:0}
ul.jd-pf-focus-list li{border-bottom:1px solid #E2E8F0;margin:0;padding:0;list-style:none}
ul.jd-pf-focus-list li:last-child{border-bottom:0}
ul.jd-pf-focus-list li a,
ul.jd-pf-focus-list li span{
  display:block;padding:10px 0;font-size:14px;font-weight:500;
  color:#334155;text-decoration:none;line-height:1.5;
}
ul.jd-pf-focus-list li a:hover{color:var(--e-global-color-primary,#1565A8);text-decoration:none}

@media (max-width:767px){
  .jd-pf-photo{width:110px !important;height:110px !important}
}
