/* =========================================================================
   lion-author.css — авторы-эксперты: страница автора, бокс в статье, сетка авторов.
   Токены темы: --color-blue #003F8F, --color-red #992222, --color-brand-light #f3f3f3,
   --color-text #505050, радиусы --radius-1/2/3, 1rem = 10px.
   ========================================================================= */

:root {
  --leo-a-line: #e7e7ea;
  --leo-a-radius: var(--radius-1, 4rem);
  --leo-a-radius-s: var(--radius-2, 2rem);
  --leo-a-shadow: 0 1.2rem 3.2rem rgba(0, 0, 0, .08);
}

/* ---------- Аватар (общий класс) ---------- */
.leo-avatar,
.leo-author-hero__img,
.leo-author-box__img,
.leo-author-card__img {
  display: block;
  border-radius: 50%;
  object-fit: cover;
  background: var(--color-brand-light, #f3f3f3);
}

/* =========================================================================
   1. Шапка страницы автора
   ========================================================================= */
.leo-author-hero {
  position: relative;
  padding: 3.2rem 0 4.8rem;
}

.leo-author-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 42%;
  background:
    radial-gradient(120% 100% at 12% 0%, rgba(0, 63, 143, .10) 0%, rgba(0, 63, 143, 0) 62%),
    radial-gradient(90% 120% at 92% 12%, rgba(153, 34, 34, .09) 0%, rgba(153, 34, 34, 0) 58%);
  pointer-events: none;
}

.leo-author-hero__card {
  position: relative;
  display: grid;
  gap: 3.2rem;
  grid-template-columns: 1fr;
  align-items: start;
  background: #fff;
  border: 1px solid var(--leo-a-line);
  border-radius: var(--leo-a-radius);
  padding: 3.2rem;
  box-shadow: var(--leo-a-shadow);
}

@media (min-width: 860px) {
  .leo-author-hero__card { grid-template-columns: 20rem 1fr; padding: 4rem; gap: 4rem; }
}

.leo-author-hero__ava {
  position: relative;
  justify-self: start;
  width: 16rem;
  max-width: 100%;
}

.leo-author-hero__img {
  width: 16rem;
  height: 16rem;
  border: .4rem solid #fff;
  box-shadow: 0 0 0 .1rem var(--leo-a-line), 0 1.2rem 2.8rem rgba(0, 0, 0, .12);
}

.leo-author-hero__badge {
  position: absolute;
  left: 50%;
  bottom: -1.2rem;
  transform: translateX(-50%);
  white-space: nowrap;
  padding: .5rem 1.2rem;
  border-radius: 999px;
  background: var(--color-blue, #003F8F);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .02em;
}

.leo-author-hero__body { min-width: 0; }

.leo-author-hero__eyebrow {
  margin: 0 0 .6rem;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-blue, #003F8F);
}

.leo-author-hero__name {
  margin: 0 0 .6rem;
  font-family: var(--font-display, inherit);
  font-size: 4.2rem;
  line-height: 1.06;
  font-weight: 600;
  color: var(--color-black, #000);
}

@media (max-width: 600px) { .leo-author-hero__name { font-size: 3.2rem; } }

.leo-author-hero__position {
  margin: 0 0 2rem;
  font-size: 1.9rem;
  color: var(--color-text, #505050);
}

.leo-author-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2.8rem;
  margin: 0 0 2.4rem;
  padding: 0;
  list-style: none;
  font-size: 1.5rem;
  color: var(--color-text, #505050);
}

.leo-author-hero__stats b {
  display: inline-block;
  margin-right: .4rem;
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--color-black, #000);
}

.leo-author-hero__bio {
  margin: 0 0 2.4rem;
  max-width: 76rem;
  font-size: 1.7rem;
  line-height: 1.65;
  color: var(--color-text, #505050);
}

.leo-author-hero__skills {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-bottom: 1.8rem;
}

.leo-author-skill {
  display: inline-flex;
  align-items: center;
  padding: .6rem 1.3rem;
  border-radius: 999px;
  background: var(--color-brand-light, #f3f3f3);
  border: 1px solid var(--leo-a-line);
  font-size: 1.35rem;
  color: var(--color-text, #505050);
}

.leo-author-hero__topics {
  margin-bottom: 2.6rem;
  font-size: 1.45rem;
  color: var(--color-text, #505050);
}

.leo-author-hero__topics-label { font-weight: 600; color: var(--color-black, #000); margin-right: .4rem; }

.leo-author-topic {
  display: inline-block;
  margin: 0 .8rem .4rem 0;
  color: var(--color-blue, #003F8F);
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 63, 143, .25);
}

.leo-author-topic:hover { color: var(--color-blue-hover, #2A72CF); border-bottom-color: currentColor; }

.leo-author-hero__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem 2.4rem;
}

.leo-author-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  padding: 1.3rem 2.6rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--color-blue, #003F8F) 0%, var(--color-red, #992222) 100%);
  color: #fff;
  font-size: 1.55rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.leo-author-hero__cta::after { content: "↓"; font-size: 1.4rem; }
.leo-author-hero__cta:hover { transform: translateY(-2px); box-shadow: 0 1rem 2.4rem rgba(0, 63, 143, .28); filter: saturate(1.1); }

.leo-author-hero__socials { display: flex; flex-wrap: wrap; gap: 1.2rem; }

.leo-author-social {
  display: inline-flex;
  align-items: center;
  padding: .9rem 1.6rem;
  border-radius: 999px;
  border: 1px solid var(--leo-a-line);
  background: #fff;
  color: var(--color-text, #505050);
  font-size: 1.4rem;
  text-decoration: none;
  transition: border-color .18s ease, color .18s ease;
}

.leo-author-social:hover { border-color: var(--color-blue, #003F8F); color: var(--color-blue, #003F8F); }

/* Ссылка-автор в чипе статьи */
.leo-chip--author a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(0, 0, 0, .14); }
.leo-chip--author a:hover { color: var(--color-blue, #003F8F); border-bottom-color: currentColor; }

/* =========================================================================
   2. Бокс автора в статье
   ========================================================================= */
.leo-author-box {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
  align-items: start;
  margin: 3.2rem 0 0;
  padding: 2.8rem;
  border: 1px solid var(--leo-a-line);
  border-radius: var(--leo-a-radius-s);
  background: linear-gradient(180deg, #fff 0%, var(--color-brand-light, #f3f3f3) 100%);
}

@media (min-width: 700px) { .leo-author-box { grid-template-columns: 12rem 1fr; gap: 2.8rem; } }

.leo-author-box__img {
  width: 9.6rem;
  height: 9.6rem;
  border: .3rem solid #fff;
  box-shadow: 0 0 0 .1rem var(--leo-a-line);
}

.leo-author-box__eyebrow {
  margin: 0 0 .4rem;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-blue, #003F8F);
}

.leo-author-box__name { margin: 0 0 .4rem; font-size: 2.4rem; font-weight: 600; }
.leo-author-box__name a { color: var(--color-black, #000); text-decoration: none; }
.leo-author-box__name a:hover { color: var(--color-blue, #003F8F); }

.leo-author-box__position { margin: 0 0 1.2rem; font-size: 1.5rem; color: var(--color-text, #505050); }
.leo-author-box__bio { margin: 0 0 1.8rem; font-size: 1.55rem; line-height: 1.6; color: var(--color-text, #505050); }

.leo-author-box__links { display: flex; flex-wrap: wrap; gap: 1.2rem 2.4rem; margin: 0; font-size: 1.5rem; }

.leo-author-box__all { color: var(--color-blue, #003F8F); font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(0, 63, 143, .25); }
.leo-author-box__all:hover { color: var(--color-blue-hover, #2A72CF); border-bottom-color: currentColor; }
.leo-author-box__tg { color: var(--color-text, #505050); text-decoration: none; border-bottom: 1px solid var(--leo-a-line); }
.leo-author-box__tg:hover { color: var(--color-blue, #003F8F); border-bottom-color: currentColor; }

/* =========================================================================
   3. Сетка авторов (шорткод [lion_authors])
   ========================================================================= */
.leo-authors-grid {
  display: grid;
  gap: var(--grid-gap, 2rem);
  grid-template-columns: repeat(1, 1fr);
  margin: 3.2rem 0;
}

@media (min-width: 640px)  { .leo-authors-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .leo-authors-grid { grid-template-columns: repeat(3, 1fr); } }

.leo-author-card {
  border: 1px solid var(--leo-a-line);
  border-radius: var(--leo-a-radius-s);
  background: #fff;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}

.leo-author-card:hover { transform: translateY(-3px); box-shadow: var(--leo-a-shadow); }
.leo-author-card__link { display: block; padding: 2.8rem 2.4rem; text-decoration: none; color: inherit; }

.leo-author-card__img {
  width: 9.6rem;
  height: 9.6rem;
  margin: 0 0 1.6rem;
  border: .3rem solid #fff;
  box-shadow: 0 0 0 .1rem var(--leo-a-line);
}

.leo-author-card__name { margin: 0 0 .4rem; font-size: 2.1rem; font-weight: 600; color: var(--color-black, #000); }
.leo-author-card__position { margin: 0 0 1rem; font-size: 1.4rem; color: var(--color-blue, #003F8F); font-weight: 600; }
.leo-author-card__bio { margin: 0 0 1.6rem; font-size: 1.45rem; line-height: 1.55; color: var(--color-text, #505050); }
.leo-author-card__more { font-size: 1.45rem; font-weight: 600; color: var(--color-blue, #003F8F); }

/* =========================================================================
   4. Мобильные правки
   ========================================================================= */
@media (max-width: 600px) {
  .leo-author-hero { padding: 2rem 0 3.2rem; }
  .leo-author-hero__card { padding: 2.4rem; gap: 2.4rem; }
  .leo-author-hero__ava { width: 12rem; }
  .leo-author-hero__img { width: 12rem; height: 12rem; }
  .leo-author-hero__stats { gap: 1rem 1.8rem; font-size: 1.4rem; }
  .leo-author-box { padding: 2rem; }
  .leo-author-box__img { width: 7.2rem; height: 7.2rem; }
}
