/* شهاب — sections: أقسام شهاب.

   دليل غرفة الأخبار على الأبيض بترتيب واحد: رأس فاتح (المسار، العنوان، الوصف)،
   الأقسام الإخبارية الأربعة غلافات طولية 4:5 في صف (اسم القسم لوحة زرقاء في
   الركن، وآخر خبر فيه يطلع مع الهوفر — .sh-reveal في components.css)، باقي
   الأقسام نصًّا (الاسم وآخر خبر)، أقسام الوسائط أربع بطاقات 16:9 بنفس التفاعل،
   ثم فريق التحرير. لا أعداد متخيَّلة، لا شرائط كحلية، لا لافتات. */
a{transition:color .16s ease,opacity .16s ease,border-color .16s ease,background .16s ease,gap .16s ease}

/* ================================================================== head */
/* the page opens in type on white: no band, no picture behind the title */
.sh-sc-head{padding-top:24px}
.sh-sc-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-sc-crumbs a{color:var(--sh-mute)}
.sh-sc-crumbs a::after{content:"/";margin-inline-start:9px;color:var(--color-text-faint)}
@media (hover:hover){.sh-sc-crumbs a:hover{color:var(--sh-blue)}}
.sh-sc-crumbs span{color:var(--sh-navy);font-weight:700}
.sh-sc-title{margin:12px 0 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-sc-dek{margin:10px 0 0;font-family:var(--sh-font);font-size:18px;font-weight:400;line-height:1.8;color:var(--sh-ink-2);max-width:72ch;text-wrap:pretty}

/* ============================================================ news desks */
.sh-sc-desks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:32px}
.sh-sc-desks .sh-reveal{--rv-ratio:4/5}   /* the desks stand as portrait covers */
.sh-sc-desks .sh-reveal__title{font-size:21px}

/* the other desks in type: name above its latest story, on the soft tint, no frame */
.sh-sc-more{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}   /* flex, not a grid: a short last row stretches instead of leaving a hole */
.sh-sc-row{flex:1 1 220px;display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px 18px 18px;background:var(--color-surface-soft);color:var(--sh-ink);transition:background .25s ease}
@media (hover:hover){.sh-sc-row:hover{background:var(--color-surface-blue);color:var(--sh-ink)}}
.sh-sc-row:focus-visible{outline:2px solid var(--sh-blue);outline-offset:3px}
.sh-sc-row__name{font-family:var(--sh-font);font-size:19px;font-weight:800;line-height:1.3;color:var(--sh-navy)}
@media (hover:hover){.sh-sc-row:hover .sh-sc-row__name{color:var(--sh-blue)}}
.sh-sc-row__t{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-family:var(--sh-font);font-size:15px;line-height:1.65;color:var(--sh-ink-2);text-wrap:pretty}

/* ============================================================== sections */
.sh-sc-sec{margin-top:64px}
.sh-sc-sec--last{margin-bottom:64px}
.sh-sc-sec .sh-section__head{align-items:baseline;gap:18px}
.sh-sc-sec .sh-section__title{font-size:clamp(24px,2.2vw,30px);font-weight:800;gap:12px}
.sh-sc-all{font-size:15px;color:var(--sh-blue)}
@media (hover:hover){.sh-sc-all:hover{color:var(--sh-blue)}}

/* media desks: the same card, 16:9 */
.sh-sc-media{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:22px}
.sh-sc-media .sh-reveal__title{font-size:17px;font-weight:700;line-height:1.55}

/* the team: a face or the unit's letter, the name, the desk */
.sh-sc-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 24px;margin-top:22px}
.sh-sc-person{display:flex;align-items:center;gap:14px;min-width:0;color:var(--sh-ink)}
@media (hover:hover){.sh-sc-person:hover{color:var(--sh-ink)}}
.sh-sc-person:focus-visible{outline:2px solid var(--sh-blue);outline-offset:3px}
.sh-sc-person__pic{position:relative;flex:none;width:64px;height:64px;overflow:hidden;background:var(--sh-navy-2)}
.sh-sc-person__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sh-sc-person__pic--mark{display:grid;place-items:center;background:var(--sh-navy);color:#fff;font-family:var(--sh-font);font-size:24px;font-weight:800}
.sh-sc-person__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.sh-sc-person__name{font-family:var(--sh-font);font-size:18px;font-weight:800;line-height:1.4;color:var(--sh-navy)}
@media (hover:hover){.sh-sc-person:hover .sh-sc-person__name{color:var(--sh-blue)}}
.sh-sc-person__role{font-family:var(--sh-font);font-size:14px;line-height:1.5;color:var(--sh-mute)}

/* ============================================================ breakpoints */
@media (max-width:1023px){
  .sh-sc-desks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sh-sc-media,.sh-sc-team{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .sh-sc-desks,.sh-sc-media{grid-template-columns:minmax(0,1fr);gap:16px}
  .sh-sc-desks .sh-reveal__title{font-size:17px}
  .sh-sc-media .sh-reveal__title{font-size:15px}
  .sh-sc-more{gap:10px}
  .sh-sc-row{flex-basis:150px;padding:12px 14px 14px}
  .sh-sc-row__name{font-size:17px}
  .sh-sc-row__t{font-size:14px}
  .sh-sc-sec{margin-top:48px}
  .sh-sc-sec--last{margin-bottom:48px}
  .sh-sc-team{grid-template-columns:minmax(0,1fr);gap:14px}
}
@media (max-width:640px){
  .sh-sc-head{padding-top:18px}
  .sh-sc-crumbs{font-size:13px}
  .sh-sc-title{margin-top:8px}
  .sh-sc-dek{font-size:16px;margin-top:6px}
  .sh-sc-desks{margin-top:22px}
  .sh-sc-all{display:inline-flex;align-items:center;min-height:44px}
}
@media (prefers-reduced-motion:reduce){
  .sh-sc-row{transition: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="sections"] :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="sections"] .sh-nav-toggle span,
  body[data-sh-page="sections"] header nav .sh-menu > a > span:last-child{transition:none}
}
