/* Satellite header. Same family as edj.ro (crest, blue, gold, red label), but its own structure:
   a slim return strip to the parent site, the sector name as the wordmark, and a solid blue menu band. */

.sf-header { position: relative; z-index: 30; background: #fff; border-top: 4px solid var(--gold); }

/* Return strip. */
.sf-top { background: var(--blue-soft); border-bottom: 1px solid var(--line); font: 650 .78rem/1.3 var(--sans); }
.sf-top__inner { display: flex; min-height: 40px; align-items: center; justify-content: space-between; gap: 16px; }
.sf-top a { display: inline-flex; gap: 8px; align-items: center; color: var(--blue-dark); text-decoration: none; }
.sf-top a:hover { color: var(--wine); }
.sf-top__parent b { padding: 2px 8px; color: var(--blue-dark); background: #fff; border: 1px solid #cbd9eb; border-radius: 999px; font-weight: 750; letter-spacing: .02em; }
.sf-top__contact svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Wordmark and search. */
.sf-main { display: flex; min-height: 124px; align-items: center; justify-content: space-between; gap: 20px 32px; padding-block: 18px; }
.sf-brand { display: flex; min-width: 0; gap: 20px; align-items: center; color: var(--ink); text-decoration: none; }
.sf-brand__crest { flex: 0 0 auto; width: auto; height: 88px; }
.sf-brand__text { display: block; min-width: 0; padding-left: 20px; border-left: 2px solid var(--gold); }
.sf-brand__parent { display: block; color: var(--wine); font: 800 .72rem/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.sf-brand__name { display: block; margin-top: 6px; color: var(--blue-dark); font: 700 clamp(1.6rem, 3vw, 2.4rem)/1.05 var(--sans); letter-spacing: -.025em; }
.sf-brand__name span { color: inherit; font-weight: inherit; }
.sf-brand:hover .sf-brand__name { color: var(--blue); }
.sf-search { flex: 0 1 340px; width: auto; margin: 0; }
.sf-main .menu-toggle { flex: 0 0 auto; border-color: #cbd9eb; border-radius: 4px; }
.sf-main .menu-toggle { width: 44px; height: 44px; padding: 0; }
@media (max-width: 980px) { .sf-main .menu-toggle { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; } }
.sf-main .menu-toggle > span:not(.screen-reader-text) { flex: none; width: 24px; height: 3px; margin: 0; background: var(--blue-dark); border-radius: 1px; }

/* Menu band. */
.sf-nav { position: relative; background: var(--blue-dark); border-bottom: 3px solid var(--gold); font-family: var(--sans); }
.sf-nav .shell { position: relative; }
.sf-nav ul { margin: 0; padding: 0; list-style: none; }
.sf-nav #primary-menu { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0 4px; margin-inline: -16px; }
.sf-nav li { position: relative; }
.sf-nav a { display: block; padding: 16px; color: #fff; font-size: .84rem; font-weight: 750; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; white-space: nowrap; box-shadow: inset 0 -4px 0 transparent; transition: background-color .18s ease, box-shadow .18s ease; }
.sf-nav a:hover { color: #fff; background: rgba(255, 255, 255, .1); }
.sf-nav .current-menu-item > a, .sf-nav .current_page_item > a, .sf-nav .current-menu-ancestor > a { color: #fff; background: rgba(255, 255, 255, .12); box-shadow: inset 0 -4px 0 var(--gold); }
.sf-nav .sub-menu { position: absolute; z-index: 15; top: 100%; left: 0; display: none; min-width: 240px; padding: 6px 0; background: var(--blue-dark); box-shadow: 0 18px 40px rgba(16, 33, 59, .25); }
.sf-nav li:hover > .sub-menu, .sf-nav li:focus-within > .sub-menu { display: block; }
.sf-nav .sub-menu a { padding: 11px 18px; white-space: normal; }
.sf-nav .menu-item--mega { position: static; }
.sf-nav .menu-item--mega > a { display: flex; align-items: center; gap: 9px; }
.sf-nav .menu-item--mega > a::after { width: 7px; height: 7px; margin-top: -4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; content: ""; transform: rotate(45deg); transition: transform .2s ease; }
.sf-nav .menu-item--mega:hover > a::after, .sf-nav .menu-item--mega:focus-within > a::after, .sf-nav .menu-item--mega.is-mega-open > a::after { margin-top: 3px; transform: rotate(225deg); }
.sf-nav .menu-item--mega > .sub-menu { display: none !important; }

/* Wide editorial panels. */
.sf-mega { position: absolute; z-index: 20; top: 100%; right: 0; left: 0; visibility: hidden; padding: 26px; color: var(--ink); background: #fff; border: 1px solid #dbe3ed; border-top: 4px solid var(--gold); box-shadow: 0 24px 54px rgba(10, 32, 62, .22); font-family: var(--sans); opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.menu-item--mega:hover > .sf-mega, .menu-item--mega:focus-within > .sf-mega, .menu-item--mega.is-mega-open > .sf-mega { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
.sf-mega__inner { display: grid; grid-template-columns: minmax(190px, .72fr) minmax(0, 2.28fr); gap: 30px; }
.sf-mega__intro { padding: 2px 28px 2px 2px; border-right: 1px solid var(--line); }
.sf-mega__kicker { margin: 0 0 8px; color: var(--wine); font-size: .7rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.sf-mega__intro h2 { margin: 0; color: var(--blue-dark); font: 750 clamp(1.35rem, 1.8vw, 1.75rem)/1.12 var(--sans); letter-spacing: -.025em; }
.sf-mega__intro > p:not(.sf-mega__kicker) { margin: 12px 0 18px; color: #556273; font-size: .83rem; line-height: 1.55; }
.sf-nav .sf-mega__all { display: inline-flex; padding: 0 0 4px; color: var(--blue); border-bottom: 2px solid var(--gold); font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; box-shadow: none; }
.sf-nav .sf-mega__all:hover { color: var(--wine); background: none; }
/* Category panel: text-led layout inspired by the institutional navigation. */
.sf-mega--categories { padding-block: 30px; }
.sf-mega--categories .sf-mega__inner { grid-template-columns: minmax(220px, .78fr) minmax(0, 2.22fr); gap: 0; }
.sf-mega__popular { min-width: 0; padding-left: 38px; }
.sf-mega__popular-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 34px; }
.sf-mega__popular-grid li { min-width: 0; }
.sf-nav .sf-mega__popular-grid a { position: relative; display: flex; min-height: 76px; align-items: center; padding: 10px 28px 10px 0; color: var(--ink); letter-spacing: normal; text-transform: none; white-space: normal; box-shadow: none; }
.sf-nav .sf-mega__popular-grid a::after { position: absolute; top: 50%; right: 3px; width: 8px; height: 8px; border-top: 2px solid var(--blue); border-right: 2px solid var(--blue); content: ""; transform: translateY(-50%) rotate(45deg); transition: right .18s ease; }
.sf-nav .sf-mega__popular-grid a:hover { color: var(--blue); background: none; }
.sf-nav .sf-mega__popular-grid a:hover::after { right: 0; }
.sf-mega__popular-grid strong { display: block; font-size: .86rem; font-weight: 780; line-height: 1.24; }
.sf-mega__popular-grid small { display: block; margin-top: 5px; color: #6f7a8c; font-size: .61rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }

/* News panel: text-led, so it reads as navigation rather than a second homepage. */
.sf-mega--news { padding-block: 30px; }
.sf-mega--news .sf-mega__inner { grid-template-columns: minmax(190px, .72fr) minmax(420px, 1.75fr) minmax(150px, .53fr); gap: 0; }
.sf-mega__intro--news { padding-right: 30px; }
.sf-mega__latest { min-width: 0; padding: 2px 30px; border-right: 1px solid var(--line); }
.sf-mega__section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.sf-mega__section-head .sf-mega__kicker { margin: 0; }
.sf-mega__section-head > span { color: #7b8594; font-size: .66rem; font-weight: 650; }
.sf-mega__news-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin: 0; padding: 0; list-style: none; }
.sf-mega__story { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 11px; min-width: 0; padding: 15px 0 16px; border-top: 1px solid var(--line); }
.sf-mega__story-number { padding-top: 2px; color: #b8913f; font: 800 .72rem/1 var(--sans); }
.sf-mega__story time { display: block; margin-bottom: 6px; color: var(--wine); font-size: .61rem; font-weight: 850; letter-spacing: .065em; text-transform: uppercase; }
.sf-mega__story h3 { margin: 0; font: 750 .91rem/1.28 var(--sans); letter-spacing: -.01em; }
.sf-nav .sf-mega__story h3 a { display: inline; padding: 0; color: var(--blue-dark); font: inherit; letter-spacing: normal; text-transform: none; white-space: normal; box-shadow: none; }
.sf-nav .sf-mega__story h3 a span { display: inline-block; color: var(--gold); transition: transform .18s ease; }
.sf-nav .sf-mega__story h3 a:hover { color: var(--wine); background: none; }
.sf-nav .sf-mega__story h3 a:hover span { transform: translateX(3px); }
.sf-mega__news-aside { min-width: 0; padding: 2px 0 2px 28px; }
.sf-mega__news-aside h3 { margin: 0; color: var(--blue-dark); font: 750 1.05rem/1.2 var(--sans); letter-spacing: -.015em; }
.sf-mega__years { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 15px; }
.sf-nav .sf-mega__years a { display: block; padding: 7px 8px; color: var(--blue-dark); background: var(--blue-soft); border: 1px solid #d4dfed; border-radius: 3px; font-size: .67rem; letter-spacing: 0; text-align: center; text-transform: none; box-shadow: none; }
.sf-nav .sf-mega__years a:hover { color: #fff; background: var(--blue); }
.sf-nav .sf-mega__rss { display: inline-flex; gap: 7px; align-items: center; margin-top: 17px; padding: 0; color: #697586; font-size: .67rem; letter-spacing: .035em; text-transform: uppercase; box-shadow: none; }
.sf-nav .sf-mega__rss span { color: var(--gold); font-size: .56rem; }
.sf-nav .sf-mega__rss:hover { color: var(--wine); background: none; }
.sf-header a:focus-visible, .sf-main .menu-toggle:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.sf-nav a:focus-visible { outline-color: var(--gold); outline-offset: -3px; }

@media (max-width: 980px) {
  .sf-main { min-height: 96px; flex-wrap: wrap; padding-block: 14px; }
  .sf-brand { gap: 14px; }
  .sf-brand { flex: 1 1 0; order: 1; }
  .sf-main .menu-toggle { order: 2; margin-left: auto; align-self: flex-start; }
  .sf-brand__crest { height: 62px; }
  .sf-brand__text { padding-left: 14px; }
  .sf-search { flex: 1 0 100%; order: 3; }
  .sf-nav { border-bottom-width: 3px; }
  .sf-nav #primary-menu { display: none; margin: 0; padding-block: 8px 14px; }
  .sf-nav #primary-menu.is-open { display: block; }
  .sf-nav a { padding: 12px 0; white-space: normal; box-shadow: none; border-bottom: 1px solid rgba(255, 255, 255, .14); }
  .sf-nav a:hover, .sf-nav .current-menu-item > a, .sf-nav .current_page_item > a, .sf-nav .current-menu-ancestor > a { background: none; box-shadow: none; }
  .sf-nav .current-menu-item > a, .sf-nav .current_page_item > a { color: #efd9ad; }
  .sf-nav .sub-menu { position: static; display: block; padding: 0 0 0 18px; box-shadow: none; }
  .sf-nav .menu-item--mega > a { justify-content: space-between; }
  .sf-nav .menu-item--mega > a::after { margin-right: 5px; }
  .sf-mega { position: static; display: none; visibility: visible; margin: 0 0 8px; padding: 18px; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .2); border-radius: 0 0 5px 5px; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; }
  .menu-item--mega.is-mega-open > .sf-mega { display: block; }
  .sf-mega__inner, .sf-mega--categories .sf-mega__inner, .sf-mega--news .sf-mega__inner { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .sf-mega__intro { padding: 0 0 16px; border-right: 0; border-bottom: 1px solid var(--line); }
  .sf-mega__intro > p:not(.sf-mega__kicker) { max-width: 620px; }
  .sf-mega__popular { padding-left: 0; }
  .sf-mega__popular-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
  .sf-mega__latest { padding: 0 0 4px; border-right: 0; border-bottom: 1px solid var(--line); }
  .sf-mega__news-aside { padding: 0; }
  .sf-mega__years { display: flex; flex-wrap: wrap; }
  .sf-nav .sf-mega__years a { min-width: 58px; }
}
@media (max-width: 560px) {
  .sf-top__parent b { display: none; }
  .sf-brand { gap: 10px; }
  .sf-brand__crest { height: 48px; }
  .sf-brand__text { padding-left: 10px; }
  .sf-brand__parent { font-size: .56rem; letter-spacing: .1em; }
  .sf-brand__name { margin-top: 4px; font-size: clamp(1.05rem, 5vw, 1.4rem); line-height: 1.1; }
  .sf-main { align-items: flex-start; }
  .sf-brand { align-items: flex-start; }
  .sf-brand__crest { margin-top: 2px; }
  .sf-mega { margin-inline: -4px; padding: 16px 12px; }
  .sf-mega__popular-grid, .sf-mega__news-list { grid-template-columns: 1fr; }
  .sf-nav .sf-mega__popular-grid a { min-height: 62px; border-bottom: 1px solid var(--line); }
  .sf-mega__section-head > span { display: none; }
  .sf-mega__story { padding-block: 13px; }
}
/* Archive photo galleries inside articles. */
.archive-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; clear: both; margin-block: 28px; }
.archive-gallery a { display: block; overflow: hidden; aspect-ratio: 3 / 2; background: var(--blue-soft); border-radius: 4px; }
.archive-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.archive-gallery a:hover img { transform: scale(1.05); }
.archive-gallery a:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
@media (max-width: 760px) { .archive-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; } }
@media (max-width: 460px) { .archive-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media print {
  .sf-top, .sf-nav, .sf-search, .sf-main .menu-toggle { display: none !important; }
}
