/* شهاب — author: صفحة الكاتب.

   على الأبيض بترتيب واحد: البروفايل (الصورة، الاسم، الوظيفة، النبذة، وجنبها
   الأقسام اللي بيكتب فيها وروابط التواصل — ثلاثة أعمدة تملأ العرض)، «أبرز ما
   كتب» ثلاث بطاقات .sh-reveal (نوع المادة في الركن، والعنوان والتاريخ يطلعوا
   مع الهوفر)، ثم «آخر ما كتب»: مادة رئيسية جنب أربع بطاقات عناوينها ظاهرة،
   والترقيم. لا أعداد متخيَّلة، لا عمود جانبي، لا شرائط كحلية. */
a{transition:color .16s ease,opacity .16s ease,border-color .16s ease,background .16s ease,gap .16s ease}

/* =============================================================== profile */
.sh-au-profile{padding-top:24px}
.sh-au-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 9px;font-family:var(--sh-font);font-size:14px;color:var(--sh-mute)}
.sh-au-crumbs a{color:var(--sh-mute)}
.sh-au-crumbs a::after{content:"/";margin-inline-start:9px;color:var(--color-text-faint)}
@media (hover:hover){.sh-au-crumbs a:hover{color:var(--sh-blue)}}
.sh-au-crumbs span{color:var(--sh-navy);font-weight:700}
.sh-au-profile__row{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,300px);gap:24px 40px;align-items:center;margin-top:22px}
.sh-au-profile__pic{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--sh-navy-2)}
.sh-au-profile__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.sh-au-profile__body{min-width:0}
.sh-au-name{margin:0;font-family:var(--sh-font);font-size:clamp(34px,3.6vw,48px);font-weight:800;line-height:1.2;color:var(--sh-navy)}
.sh-au-role{display:block;margin-top:8px;font-family:var(--sh-font);font-size:17px;font-weight:700;color:var(--sh-blue)}
.sh-au-bio{margin:12px 0 0;font-family:var(--sh-font);font-size:17px;line-height:1.85;color:var(--sh-ink-2);max-width:64ch;text-wrap:pretty}
.sh-au-profile__aside{display:flex;flex-direction:column;gap:12px;min-width:0;align-self:stretch;justify-content:center;padding:22px 24px;background:var(--color-surface-soft)}   /* where to find the writer, on the soft tint: no line, no frame */
.sh-au-aside__h{font-family:var(--sh-font);font-size:14px;font-weight:700;color:var(--sh-mute)}
.sh-au-desks{display:flex;flex-wrap:wrap;gap:6px 18px}
.sh-au-desks a{font-family:var(--sh-font);font-size:17px;font-weight:800;color:var(--sh-navy)}
@media (hover:hover){.sh-au-desks a:hover{color:var(--sh-blue)}}
.sh-au-social{display:flex;gap:8px;margin-top:6px}
.sh-au-social__a{width:42px;height:42px;display:grid;place-items:center;background:var(--color-surface-soft);color:var(--sh-navy)}
.sh-au-social__a .sh-i{font-size:15px}
@media (hover:hover){.sh-au-social__a:hover{background:var(--sh-navy);color:#fff}}
.sh-au-social__a:focus-visible{outline:2px solid var(--sh-blue);outline-offset:2px}

/* ============================================================== sections */
.sh-au-sec{margin-top:64px}
.sh-au-sec--last{margin-bottom:64px}
.sh-au-sec .sh-section__head{align-items:baseline;gap:18px}
.sh-au-sec .sh-section__title{font-size:clamp(24px,2.2vw,30px);font-weight:800;gap:12px}

.sh-au-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:22px}

/* latest: the lead beside four cards whose titles stay visible; hover eases the picture and blues the title */
.sh-au-latest{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:28px 24px;margin-top:22px}
.sh-au-card{--au-ease:cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;min-width:0;color:var(--sh-ink)}
@media (hover:hover){.sh-au-card:hover{color:var(--sh-ink)}}
.sh-au-card:focus-visible{outline:2px solid var(--sh-blue);outline-offset:3px}
.sh-au-card--lead{grid-row:span 2}
.sh-au-card__pic{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--sh-navy-2)}
.sh-au-card--lead .sh-au-card__pic{aspect-ratio:auto;flex:1 1 auto;min-height:260px}   /* the lead's picture takes what the two card rows leave, so both sides end together */
.sh-au-card__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--au-ease)}
@media (hover:hover){.sh-au-card:hover .sh-au-card__pic img{transform:scale(1.05)}}
.sh-au-card__body{display:flex;flex-direction:column;gap:4px;padding-top:12px}
.sh-au-card__meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-family:var(--sh-font);font-size:14px;color:var(--sh-mute)}
.sh-au-card__meta b{color:var(--sh-blue);font-weight:700}
.sh-au-card__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-family:var(--sh-font);font-size:18px;font-weight:800;line-height:1.5;color:var(--sh-navy);text-wrap:pretty;transition:color .2s ease}
@media (hover:hover){.sh-au-card:hover .sh-au-card__title{color:var(--sh-blue)}}
.sh-au-card--lead .sh-au-card__title{-webkit-line-clamp:3;font-size:clamp(24px,2.2vw,30px);line-height:1.4}
.sh-au-card__dek{display:block;margin-top:4px;font-family:var(--sh-font);font-size:16px;line-height:1.8;color:var(--sh-ink-2);max-width:62ch;text-wrap:pretty}

.sh-au-pager{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:44px;font-family:var(--sh-font);font-size:16px;font-weight:700}
.sh-au-pager .sh-pager__btn{width:44px;height:44px}
.sh-au-pager__prev{color:var(--sh-grey-3);padding:8px 14px;pointer-events:none}
.sh-au-pager__cur,.sh-au-pager__cur:hover{color:#fff}   /* base.css a:hover would paint the label blue on blue */
.sh-au-pager__cur{width:44px;height:44px;display:grid;place-items:center;background:var(--sh-blue);font-variant-numeric:tabular-nums}
.sh-au-pager__next{display:inline-flex;align-items:center;gap:7px;color:var(--sh-blue);padding:8px 14px}
@media (hover:hover){.sh-au-pager__next:hover{gap:11px}}

/* ============================================================ breakpoints */
@media (max-width:1023px){
  .sh-au-profile__row{grid-template-columns:160px minmax(0,1fr)}
  .sh-au-profile__aside{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:16px 20px}
  .sh-au-social{margin:0;margin-inline-start:auto}
  .sh-au-latest{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sh-au-card--lead{grid-column:1/-1;grid-row:auto}
  .sh-au-card--lead .sh-au-card__pic{aspect-ratio:16/9;flex:none;min-height:0}
  .sh-au-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
}
@media (max-width:767px){
  .sh-au-profile__row{grid-template-columns:96px minmax(0,1fr);gap:16px 16px;align-items:start}
  .sh-au-name{font-size:30px}
  .sh-au-role{font-size:15px;margin-top:4px}
  .sh-au-bio{grid-column:1/-1;font-size:16px}
  .sh-au-top{grid-template-columns:minmax(0,1fr);gap:16px}
  .sh-au-sec{margin-top:48px}
  .sh-au-sec--last{margin-bottom:48px}
  .sh-au-latest{grid-template-columns:minmax(0,1fr);gap:18px}
  /* the four cards become rows: the picture small beside the title */
  .sh-au-card:not(.sh-au-card--lead){display:grid;grid-template-columns:136px minmax(0,1fr);gap:0 14px;align-items:center}
  .sh-au-card:not(.sh-au-card--lead) .sh-au-card__pic{aspect-ratio:4/3}
  .sh-au-card:not(.sh-au-card--lead) .sh-au-card__body{padding-top:0}
  .sh-au-card__title{-webkit-line-clamp:3;font-size:16.5px}
  .sh-au-card--lead .sh-au-card__title{font-size:23px}
  .sh-au-card__meta{font-size:13px}
  .sh-au-card__dek{font-size:15px}
}
@media (max-width:640px){
  .sh-au-profile{padding-top:18px}
  .sh-au-crumbs{font-size:13px}
  .sh-au-profile__row{display:flex;flex-wrap:wrap}
  .sh-au-profile__pic{width:96px;flex:none}
  .sh-au-profile__body{flex:1 1 180px}
  .sh-au-bio{flex-basis:100%}
  .sh-au-profile__aside{flex-basis:100%}
  .sh-au-social{margin-inline-start:0}
  .sh-au-profile__aside{padding:14px 16px}
  .sh-au-pager{gap:4px}
  .sh-au-pager__prev{display:none}
  .sh-au-pager__next{min-height:44px}
}
@media (prefers-reduced-motion:reduce){
  .sh-au-card__pic img{transition:none}
  .sh-au-card:hover .sh-au-card__pic img{transform:none}
}

/* A press has to answer on a touch screen, where :hover never fires: the ground
   steps to navy for as long as the control is held. No transform and no radius —
   the timing is the colour transition the control already carries. */
body[data-sh-page="author"] :where(.sh-more,.sh-pager__btn,.sh-chip,.sh-tag,.sh-btn):active{
  background:var(--sh-navy);color:#fff;border-color:var(--sh-navy);
}

/* the burger and its chevron live in the shared css/responsive.css, which feeds
   the four locked pages, so their guard is written here, per page */
@media (prefers-reduced-motion:reduce){
  body[data-sh-page="author"] .sh-nav-toggle span,
  body[data-sh-page="author"] header nav .sh-menu > a > span:last-child{transition:none}
}
