/* Responsive layer — typography itself is fluid and generated from Theme Options. */
@media (max-width: 1280px) {
  .sph-primary-menu { gap: .78rem; }
  .sph-primary-menu a { font-size: max(12.5px, calc(var(--sph-nav-size) - 1px)); }
  .sph-footer__grid { grid-template-columns: 1.45fr repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
  .sph-header-actions .sph-button--outline { display: none; }
  .sph-primary-menu { gap: .58rem; }
}

@media (max-width: 1024px) {
  .admin-bar .sph-header { top: 32px; }
  .sph-utility__nav { display: none; }
  .sph-utility__inner { justify-content: flex-end; }
  .sph-mainbar__inner { grid-template-columns: 1fr auto; min-height: 68px; }
  .sph-logo { grid-column: 1; grid-row: 1; }
  .sph-nav-toggle { display: grid; place-items: center; grid-column: 2; grid-row: 1; }
  .sph-header-actions { display: none; }

  .sph-primary-nav {
    position: fixed;
    top: var(--sph-mobile-nav-top, 100px);
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--sph-dropdown-bg, #fff);
    padding: 22px 24px 100px;
    transform: translateX(100%);
    visibility: hidden;
    opacity: 0;
    transition: transform .42s var(--sph-motion-easing, cubic-bezier(.2,.8,.2,1)), opacity .28s ease, visibility .42s;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .sph-primary-nav.is-open { transform: translateX(0); visibility: visible; opacity: 1; }
  .sph-primary-menu { display: block; }
  .sph-primary-menu > li { border-bottom: 1px solid var(--sph-border); }
  .sph-primary-menu a {
    width: 100%;
    padding: 15px 0;
    font-family: var(--sph-nav-font);
    font-size: clamp(17px, 2.5vw, 22px);
    font-weight: var(--sph-nav-weight);
  }
  .sph-primary-menu .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: 0;
    padding: 0 0 14px 16px;
    background: transparent;
  }
  .sph-primary-menu .sub-menu a {
    padding: 9px 0;
    font-family: var(--sph-dropdown-font);
    font-size: 14px;
    font-weight: var(--sph-dropdown-weight);
  }

  .sph-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sph-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sph-footer__brand { grid-column: 1 / -1; max-width: 650px; }

  .sph-mobile-account {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    left: 16px;
    right: 16px;
    bottom: max(14px, env(safe-area-inset-bottom));
    min-height: 54px;
    z-index: 490;
    border-radius: var(--sph-radius-sm);
    background: var(--sph-accent);
    color: var(--sph-accent-button-text);
    font: var(--sph-button-weight) var(--sph-button-size)/1 var(--sph-button-font);
    text-decoration: none;
    box-shadow: 0 15px 42px rgba(7, 16, 36, .2);
  }
  .sph-mobile-account:hover { color: var(--sph-accent-button-text); }

  .sph-sticky-story { grid-template-columns: 1fr; }
  .sph-sticky-story__media { position: relative; top: auto; }
}

@media (max-width: 782px) {
  .admin-bar .sph-header { top: 46px; }
}

@media (max-width: 767px) {
  .sph-utility { display: none; }
  .sph-mainbar__inner { padding-inline: 16px; }
  .sph-logo .custom-logo,
  .sph-brand-logo img { width: var(--sph-logo-width-mobile); max-height: 50px; }
  .sph-post-grid { grid-template-columns: 1fr; }
  .sph-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 18px; padding-bottom: 96px; }
  .sph-footer__brand { grid-column: 1 / -1; }
  .sph-regulatory-list,
  .sph-legal-links { display: block; }
  .sph-regulatory-list span,
  .sph-legal-links a { display: block; margin-bottom: 7px; }
  .sph-footer__bottom { display: block; }
  .sph-footer__developer { margin-top: 8px; }
  .sph-error-page .search-form { display: block; }
  .sph-error-page .search-field,
  .sph-error-page .search-submit { width: 100%; }
  .sph-error-page .search-submit { margin-top: 8px; }

  .sph-horizontal-cards { grid-auto-columns: min(86vw, 390px); }
  .sph-layered-cards > * { top: 88px; }
}

@media (max-width: 520px) {
  .sph-footer__grid { grid-template-columns: 1fr; }
  .sph-footer__brand { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
