/* ==========================================================================
   Succes News — shell.css
   Extras beyond main.css for the site shell: header variants 2–4, top bar
   (newspaper), header actions, drawer details, footer variants, sidebar lists.
   Loaded on every page after main.css (enqueued from header.php, handle sn-shell).
   ========================================================================== */

/* --- Header: shared extras ------------------------------------------------ */
.sn-header--full .sn-container { max-width: none; }
.sn-header__social { gap: .15rem; }
.sn-header__social .sn-social__link { width: 34px; height: 34px; background: transparent; color: var(--sn-header-text); }
.sn-header__social .sn-social__link:hover { background: color-mix(in srgb, var(--sn-header-text) 10%, transparent); color: var(--sn-primary); transform: none; }
@media (max-width: 1279px) { .sn-header__social { display: none; } }
.sn-header__login { text-decoration: none; }
.sn-menu__label { display: inline-block; }
/* Esc closes a dropdown while its parent link keeps focus (overrides :focus-within). */
.sn-menu li.is-closed:focus-within > .sub-menu,
.sn-menu > li.sn-has-mega.is-closed:focus-within > .sn-mega { opacity: 0; visibility: hidden; transform: translateY(8px); }
.sn-header__placeholder { width: 100%; }

/* --- Header 2: centered logo row + nav row --------------------------------- */
.sn-header__top { border-bottom: 1px solid var(--sn-header-border); }
.sn-header__inner--centered { justify-content: center; min-height: calc(var(--sn-header-h) + 12px); }
.sn-header__brand--centered { justify-content: center; text-align: center; }
.sn-logo--centered { align-items: center; }
.sn-header__navrow { background: var(--sn-header-bg); }
.sn-header__navrow .sn-header__inner { min-height: 54px; }
.sn-header__navrow .sn-header__actions { margin-left: auto; }
.sn-nav--centered { flex: 1; display: none; }
@media (min-width: 1024px) { .sn-nav--centered { display: flex; justify-content: center; } }
.sn-header--sticky .sn-header__navrow.is-stuck { position: fixed; top: 0; left: 0; right: 0; z-index: var(--sn-z-header); box-shadow: var(--sn-shadow); }
.admin-bar .sn-header--sticky .sn-header__navrow.is-stuck { top: 32px; }
@media (max-width: 782px) { .admin-bar .sn-header--sticky .sn-header__navrow.is-stuck { top: 46px; } }
@media (max-width: 1023px) { .sn-header--header-2 .sn-header__inner--centered { min-height: var(--sn-header-h-m); } }

/* --- Header 3: newspaper --------------------------------------------------- */
.sn-topbar--newspaper .sn-topbar__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.sn-topbar--newspaper .sn-topbar__right { justify-content: flex-end; }
.sn-topbar__center { display: flex; justify-content: center; }
@media (max-width: 767px) { .sn-topbar--newspaper .sn-topbar__inner { grid-template-columns: 1fr auto; } .sn-topbar__center { display: none; } }
.sn-masthead { text-align: center; padding: var(--sn-space-6) 0 var(--sn-space-5); border-bottom: 1px solid var(--sn-header-border); }
.sn-masthead__inner { display: flex; flex-direction: column; align-items: center; gap: var(--sn-space-2); }
.sn-logo--masthead { align-items: center; }
.sn-logo--masthead .sn-logo__img { max-height: calc(var(--sn-logo-h) * 1.6); max-width: min(90vw, 520px); }
.sn-logo--masthead .sn-logo__text { font-size: clamp(2.25rem, 1.4rem + 4vw, 4.25rem); letter-spacing: -.03em; }
.sn-masthead__tagline { margin: 0; font-family: var(--sn-font-ui); font-size: var(--sn-fs-sm); letter-spacing: .08em; text-transform: uppercase; color: color-mix(in srgb, var(--sn-header-text) 70%, transparent); }
.sn-masthead__meta { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--sn-space-4); font-family: var(--sn-font-ui); font-size: var(--sn-fs-xs); color: color-mix(in srgb, var(--sn-header-text) 75%, transparent); }
.sn-masthead__meta .sn-topbar__weather { opacity: 1; }
@media (max-width: 767px) { .sn-masthead { padding: var(--sn-space-4) 0 var(--sn-space-3); } .sn-logo--masthead .sn-logo__img { max-height: calc(var(--sn-logo-h-m) * 1.4); } }
.sn-header__navrow--rules { border-top: 1px solid var(--sn-header-border); border-bottom: 3px double var(--sn-header-border); }
.sn-header__navrow--rules .sn-header__inner { min-height: 50px; }
.sn-menu--uppercase > li > a { text-transform: uppercase; letter-spacing: .06em; font-size: var(--sn-fs-sm); font-weight: 700; }

/* --- Header 4: modern magazine (colors come from inline vars on #sn-header) - */
.sn-header--header-4 .sn-logo--has-dark .sn-logo__img--light { display: none; }
.sn-header--header-4 .sn-logo--has-dark .sn-logo__img--dark { display: block; }
.sn-header--header-4 .sn-menu > li > a:hover,
.sn-header--header-4 .sn-menu > li:focus-within > a,
.sn-header--header-4 .sn-menu > li.current-menu-item > a,
.sn-header--header-4 .sn-menu > li.current-menu-ancestor > a { background: rgba(255, 255, 255, .14); color: var(--sn-header-text); }
.sn-header--header-4 .sn-topbar__menu a:hover { color: var(--sn-header-text); }
.sn-header--header-4 .sn-topbar .sn-social__link:hover,
.sn-header--header-4 .sn-header__social .sn-social__link:hover { color: var(--sn-header-text); }
.sn-header--header-4 .sn-logo__text, .sn-header--header-4 .sn-logo__tagline { color: var(--sn-header-text); }
.sn-header__cta--pill { border-radius: var(--sn-radius-full); padding-inline: 1.35em; }
.sn-header--header-4.sn-header--bordered { box-shadow: none; }

/* --- Drawer extras --------------------------------------------------------- */
.sn-drawer__head .sn-logo__img { max-height: 32px; }
.sn-drawer__head .sn-logo__text { font-size: 1.35rem; color: var(--sn-text); }
.sn-drawer__close { color: var(--sn-text); }
.sn-drawer__close:hover { background: var(--sn-surface-2); color: var(--sn-text); }
.sn-drawer__theme { justify-content: center; width: 100%; color: var(--sn-text); }
.sn-drawer__cta { width: 100%; }
.sn-drawer__footer .sn-social { justify-content: center; }
.sn-menu-mobile .sn-menu__color { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--sn-cat, var(--sn-category)); margin-right: .5em; flex: 0 0 auto; }
.sn-menu-mobile .sn-menu__label { flex: 1; }
.sn-menu-mobile a[aria-current="page"] { color: var(--sn-primary); }

/* --- Topbar extras --------------------------------------------------------- */
.sn-topbar__text { opacity: .85; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sn-topbar__weather-city { opacity: .8; }
.sn-topbar__weather-temp { font-weight: 600; }

/* --- Search overlay submit (icon only) ------------------------------------- */
.sn-search-overlay__submit { flex: 0 0 auto; align-self: center; padding: .6em .9em; }

/* --- Footer variants ------------------------------------------------------- */
.sn-footer__grid--cols-1 { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
.sn-footer__grid--cols-2 { grid-template-columns: 1.4fr 1fr; }
.sn-footer__grid--cols-3 { grid-template-columns: 1.3fr 1fr 1.2fr; }
.sn-footer__grid--even.sn-footer__grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sn-footer__grid--even.sn-footer__grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sn-footer__grid--even.sn-footer__grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1023px) { .sn-footer__grid--cols-3, .sn-footer__grid--even.sn-footer__grid--cols-3, .sn-footer__grid--even.sn-footer__grid--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .sn-footer__grid[class*="sn-footer__grid--cols-"] { grid-template-columns: 1fr; } }
.sn-footer__col { min-width: 0; }
.sn-footer__col--group { display: flex; flex-direction: column; gap: var(--sn-space-6); }
.sn-footer__col--stacked { min-width: 0; }
.sn-logo--footer .sn-logo__img { max-height: calc(var(--sn-logo-h) * .85); }
.sn-footer__cats a, .sn-footer__links a { display: inline-flex; align-items: center; gap: .5em; }
.sn-footer__dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--sn-cat, var(--sn-primary)); flex: 0 0 auto; }
.sn-footer__recent { display: flex; flex-direction: column; gap: var(--sn-space-4); }
.sn-footer__recent .sn-card--compact .sn-card__media { flex-basis: 64px; width: 64px; }
.sn-footer__recent .sn-card--compact + .sn-card--compact { margin-top: 0; padding-top: var(--sn-space-4); border-top: 1px solid var(--sn-footer-border); }
.sn-footer__copy { display: flex; flex-wrap: wrap; gap: .35em 1em; }
.sn-footer__credit { opacity: .8; }
.sn-footer__legal-menu { display: flex; flex-wrap: wrap; gap: var(--sn-space-4); list-style: none; margin: 0; padding: 0; }
.sn-footer__legal li { padding: 0; }
.sn-footer__cookies { display: inline-flex; align-items: center; gap: .35em; cursor: pointer; }
.sn-footer__nav--column .sn-footer__links { display: flex; flex-direction: column; }
/* Footer 2: everything centered. */
.sn-footer__center { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--sn-space-5); max-width: 720px; }
.sn-footer--footer-2 .sn-footer__about { margin: 0; }
.sn-footer__menu--centered { justify-content: center; }
.sn-footer__newsletter--centered { width: 100%; max-width: 480px; }
.sn-footer--footer-2 .sn-footer__bottom-inner { flex-direction: column; justify-content: center; text-align: center; }
.sn-footer--footer-2 .sn-footer__legal { justify-content: center; }
/* Footer 3: light surface (vars set inline on #sn-footer). */
.sn-footer--footer-3 { border-top: 1px solid var(--sn-footer-border); }
.sn-footer--footer-3 .sn-social__link { background: color-mix(in srgb, var(--sn-footer-text) 8%, transparent); }
/* Footer 4: magazine. */
.sn-footer__main--magazine { padding-top: var(--sn-space-10); }

/* --- Sidebar lists --------------------------------------------------------- */
.sn-sidebar__list { display: flex; flex-direction: column; }
.sn-sidebar__ad-label { display: block; margin-bottom: .5rem; font-family: var(--sn-font-ui); font-size: var(--sn-fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--sn-text-muted); }
.sn-cat-list { list-style: none; margin: 0; padding: 0; }
.sn-cat-list__item { border-bottom: 1px solid var(--sn-border); }
.sn-cat-list__item:last-child { border-bottom: 0; }
.sn-cat-list__link { display: flex; align-items: center; gap: .6em; padding: .55em 0; color: var(--sn-text); font-family: var(--sn-font-ui); font-weight: 600; font-size: var(--sn-fs-md); }
.sn-cat-list__link:hover, .sn-cat-list__item.is-current .sn-cat-list__link { color: var(--sn-primary); }
.sn-cat-list__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--sn-cat, var(--sn-primary)); flex: 0 0 auto; }
.sn-cat-list__name { flex: 1; }
.sn-cat-list__count { font-size: var(--sn-fs-xs); font-weight: 600; color: var(--sn-text-muted); background: var(--sn-surface-2); padding: .15em .55em; border-radius: var(--sn-radius-full); }

/* --- Archive fallback ------------------------------------------------------ */
.sn-archive-empty { padding: var(--sn-space-8) 0; color: var(--sn-text-muted); }
.sn-archive-empty .sn-search-form { max-width: 440px; margin-top: var(--sn-space-4); }
.sn-front-page { padding-top: var(--sn-space-8); }
.sn-front-page--blog { padding-top: var(--sn-space-8); }
