/* Panthera Team Pages v1.0.0
 * Tokens lifted from the live theme (app-*.css):
 *  --color-purple #571b6e, gradient #290130 -> #3d0c46, light purple #f7f3f8,
 *  greys #2a2a2a/#434343/#848484/#dadada, accent range #af18e1/#9410bb/#7b0f99.
 * Betm Rounded is loaded by the theme; fallbacks cover the plugin running standalone.
 * Contrast: body text #2a2a2a on white 14.9:1; white on #571b6e 10.6:1;
 * links use #7b0f99 (6.4:1 on white) not #af18e1 (3.9:1, decorative/large only).
 */
.ptp{--ptp-purple:#571b6e;--ptp-ink:#2a2a2a;--ptp-grey:#434343;--ptp-mid:#848484;
  --ptp-line:#dadada;--ptp-tint:#f7f3f8;--ptp-accent:#af18e1;--ptp-accent-deep:#7b0f99;
  --ptp-grad-a:#290130;--ptp-grad-b:#3d0c46;--ptp-radius:20px;
  font-family:"Betm Rounded","Betm Rounded Semi light",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ptp-ink);line-height:1.65;font-weight:300}
.ptp *{box-sizing:border-box}
.ptp a{color:var(--ptp-accent-deep)}
.ptp a:focus-visible{outline:3px solid var(--ptp-accent);outline-offset:2px;border-radius:4px}

/* Breadcrumbs */
.ptp-crumbs{max-width:1160px;margin:0 auto;padding:20px 24px 8px;font-size:.875rem;color:var(--ptp-mid)}
.ptp-crumbs a{color:var(--ptp-mid);text-decoration:none}
.ptp-crumbs a:hover{color:var(--ptp-accent-deep)}
.ptp-crumbs span[aria-current]{color:var(--ptp-grey);font-weight:600}

/* Hero */
.ptp-hero{max-width:1160px;margin:8px auto 0;padding:0 24px}
.ptp-hero__inner{background:linear-gradient(135deg,var(--ptp-grad-a),var(--ptp-grad-b));
  border-radius:var(--ptp-radius);color:#fff;display:flex;gap:40px;align-items:center;
  padding:48px;flex-wrap:wrap}
.ptp-hero__photo img{width:220px;height:220px;object-fit:cover;border-radius:var(--ptp-radius);
  display:block;box-shadow:0 12px 32px rgba(0,0,0,.35)}
.ptp-hero__text h1{font-size:clamp(1.9rem,4vw,2.75rem);font-weight:600;margin:0 0 6px;letter-spacing:.01em}
.ptp-hero__role{font-size:1.15rem;color:#e8a4ff;margin:0 0 10px;font-weight:500}
.ptp-hero__clinic{display:inline-flex;align-items:center;gap:8px;margin:0;
  background:rgba(255,255,255,.12);border-radius:999px;padding:8px 16px;font-size:.95rem}

/* GMC registration strip: trust signal, not small print */
.ptp-gmc{max-width:1160px;margin:16px auto 0;padding:0 24px}
.ptp-gmc__inner{background:var(--ptp-tint);border:1.5px solid var(--ptp-purple);
  border-radius:var(--ptp-radius);padding:16px 24px;display:flex;align-items:center;
  gap:14px;flex-wrap:wrap;font-size:1rem;color:var(--ptp-ink)}
.ptp-gmc__badge{color:var(--ptp-purple);display:inline-flex}
.ptp-gmc__link{margin-left:auto;font-weight:600}

/* Body sections */
.ptp-body{max-width:840px;margin:0 auto;padding:16px 24px 40px}
.ptp-section{margin-top:44px}
.ptp-section h2{font-size:1.6rem;font-weight:600;color:var(--ptp-purple);margin:0 0 16px}
.ptp-prose p{margin:0 0 1em;color:var(--ptp-grey)}

/* Qualifications */
.ptp-quals{list-style:none;margin:0;padding:0;border:1px solid var(--ptp-line);
  border-radius:var(--ptp-radius);overflow:hidden}
.ptp-quals li{display:grid;grid-template-columns:1fr auto;grid-template-areas:"t d" "i d";
  gap:2px 16px;padding:14px 20px}
.ptp-quals li+li{border-top:1px solid var(--ptp-line)}
.ptp-quals__title{grid-area:t;font-weight:600}
.ptp-quals__inst{grid-area:i;color:var(--ptp-mid);font-size:.95rem}
.ptp-quals__date{grid-area:d;align-self:center;color:var(--ptp-accent-deep);font-weight:600;font-size:.95rem;white-space:nowrap}

/* Expertise chips */
.ptp-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ptp-tags li{background:var(--ptp-tint);color:var(--ptp-purple);font-weight:500;
  border-radius:999px;padding:8px 18px;font-size:.95rem}

/* Publications */
.ptp-pubs{margin:0;padding-left:22px;color:var(--ptp-grey)}
.ptp-pubs li{margin-bottom:10px}

/* Articles feed (Phase 2) */
.ptp-articles{list-style:none;margin:0;padding:0}
.ptp-articles li{padding:12px 0;border-bottom:1px solid var(--ptp-line)}
.ptp-articles a{text-decoration:none;font-weight:600}
.ptp-articles a:hover{text-decoration:underline}

/* Trials CTA band */
.ptp-trials{background:var(--ptp-tint);margin-top:24px;padding:56px 24px}
.ptp-trials__inner{max-width:1160px;margin:0 auto}
.ptp-trials h2{font-size:1.6rem;font-weight:600;color:var(--ptp-purple);margin:0 0 24px}
.ptp-trials__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.ptp-card{background:#fff;border-radius:var(--ptp-radius);overflow:hidden;
  box-shadow:0 4px 18px rgba(42,42,42,.08);display:flex;flex-direction:column}
.ptp-card__img{width:100%;height:180px;object-fit:cover;display:block}
.ptp-card h3{font-size:1.05rem;font-weight:600;margin:16px 20px 8px;color:var(--ptp-ink)}
.ptp-card__link{margin:auto 20px 18px;text-decoration:none;font-weight:600;font-size:.95rem}

/* Byline component (Phase 2 shortcode) */
.ptp-byline{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin:16px 0;
  font-family:"Betm Rounded",ui-sans-serif,system-ui,sans-serif}
.ptp-byline__item{display:inline-flex;align-items:center;gap:8px;color:#848484;font-size:.9rem}
.ptp-byline__item a{display:inline-flex;align-items:center;gap:8px;color:#7b0f99;font-weight:600;text-decoration:none}
.ptp-byline__avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}

/* Hub page */
.ptp-hubhero{max-width:1160px;margin:8px auto 0;padding:48px 24px 16px;text-align:center}
.ptp-hubhero h1{font-size:clamp(2rem,4.5vw,2.9rem);font-weight:600;color:var(--ptp-ink);margin:0 0 10px}
.ptp-hubhero h1 span{color:var(--ptp-accent-deep)}
.ptp-hubhero p{color:var(--ptp-grey);font-size:1.1rem;margin:0}
.ptp-hubgroup{max-width:1160px;margin:0 auto;padding:32px 24px}
.ptp-hubgroup h2{font-size:1.5rem;font-weight:600;color:var(--ptp-purple);margin:0 0 20px}
.ptp-hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px}
.ptp-person{background:#fff;border:1px solid var(--ptp-line);border-radius:var(--ptp-radius);
  padding:0 0 20px;text-decoration:none;color:inherit;overflow:hidden;transition:box-shadow .2s,transform .2s}
.ptp-person:hover{box-shadow:0 10px 28px rgba(87,27,110,.16);transform:translateY(-2px)}
.ptp-person__img{width:100%;height:240px;object-fit:cover;display:block;margin-bottom:14px}
.ptp-person h3{font-size:1.1rem;font-weight:600;margin:0 20px 4px;color:var(--ptp-ink)}
.ptp-person p{margin:0 20px 10px;color:var(--ptp-mid);font-size:.92rem}
.ptp-person__cta{margin:0 20px;color:var(--ptp-accent-deep);font-weight:600;font-size:.92rem}

@media (max-width:640px){
  .ptp-hero__inner{padding:28px;gap:24px}
  .ptp-hero__photo img{width:140px;height:140px}
  .ptp-gmc__link{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  .ptp-person{transition:none}
}

/* Fallback shell (used only when the active theme has no header.php, e.g. Sage) */
.ptp-shellbody{margin:0;background:#fff;font-family:"Betm Rounded",ui-sans-serif,system-ui,sans-serif}
.ptp-shellnav{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;gap:16px;flex-wrap:wrap}
.ptp-shellnav__logo{font-size:1.6rem;font-weight:600;color:#2a2a2a;text-decoration:none;letter-spacing:.02em}
.ptp-shellnav__links{display:flex;gap:26px;flex-wrap:wrap}
.ptp-shellnav__links a{color:#434343;text-decoration:none;font-size:.95rem}
.ptp-shellnav__links a:hover{color:#7b0f99}
.ptp-shellfooter{background:linear-gradient(160deg,#290130,#3d0c46);color:#fff;margin-top:56px;padding:36px 24px;text-align:center;font-size:.9rem}
.ptp-hubempty{text-align:center;color:#434343;font-size:1.05rem;padding-top:8px}


/* v1.0.2 typography + polish */
.ptp h1,.ptp h2,.ptp h3,.ptp strong,.ptp .ptp-person__cta,.ptp .ptp-card__link,
.ptp-shellnav__links a,.ptp-gmc__link{font-family:"Betm Rounded Semi","Betm Rounded",ui-sans-serif,system-ui,sans-serif}
.ptp h1,.ptp h2,.ptp h3{font-weight:600}

/* Hero polish: soft accent glow echoing the site's gradient panels */
.ptp-hero__inner{position:relative;overflow:hidden}
.ptp-hero__inner::after{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;
  border-radius:50%;background:radial-gradient(circle,rgba(175,24,225,.35),transparent 70%);pointer-events:none}
.ptp-hero__text{position:relative;z-index:1}
.ptp-hero__photo{position:relative;z-index:1}

/* Initials avatar when no headshot has been uploaded yet */
.ptp-avatar{width:220px;height:220px;border-radius:var(--ptp-radius);display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#7b0f99,#af18e1);color:#fff;font-size:4rem;
  font-family:"Betm Rounded Semi","Betm Rounded",sans-serif;box-shadow:0 12px 32px rgba(0,0,0,.35)}
.ptp-person__ph{width:100%;height:240px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--ptp-tint),#f0ccff);color:var(--ptp-purple);font-size:2.6rem;
  font-family:"Betm Rounded Semi","Betm Rounded",sans-serif;margin-bottom:14px}

/* Shell chrome refinements */
.ptp-shellbody{font-weight:300}
.ptp-shellnav{border-bottom:1px solid #f0f0f0}
.ptp-shellnav__logo{display:inline-flex;align-items:center}
.ptp-logo{width:168px;height:32px;max-width:42vw;display:block}
.ptp-shellnav__links a{font-weight:600;font-size:.92rem}
.ptp-shellfooter{text-align:left;padding:48px 24px 40px}
.ptp-shellfooter__tag{max-width:1160px;margin:0 auto 18px;font-family:"Betm Rounded Semi","Betm Rounded",sans-serif;
  font-weight:600;font-size:1.15rem}
.ptp-shellfooter__links{max-width:1160px;margin:0 auto 22px;display:flex;gap:10px 26px;flex-wrap:wrap}
.ptp-shellfooter__links a{color:#e8a4ff;text-decoration:none;font-size:.92rem}
.ptp-shellfooter__links a:hover{color:#fff;text-decoration:underline}
.ptp-shellfooter__legal{max-width:1160px;margin:0 auto 8px;color:#c9b3d1;font-size:.82rem;line-height:1.6}
@media (max-width:640px){.ptp-avatar{width:140px;height:140px;font-size:2.6rem}}
