/* ISBAT sitewide page/post experience — final compatibility overrides. */

body.isbat-content-redesign .elementor-widget-html {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow-x: clip !important;
}

body.isbat-content-redesign :where(.entry-content, .inside-article, .site-main, .content-area, .site-content) {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.isbat-content-redesign :where(.sv-hero-content, .sv-hero-copy, .nh-hero-content).is25-reveal,
body.isbat-content-redesign :where(.sv-hero-content, .sv-hero-copy, .nh-hero-content).sv-reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body.isbat-content-redesign :where(.sv-btn, .ps-btn, [class*="btn--"]) {
  letter-spacing: 0 !important;
}

body.isbat-content-redesign :where(.sv-btn, .ps-btn, [class*="btn--"]):focus-visible {
  outline-color: var(--isbat-ui-cyan) !important;
}

body.isbat-content-redesign .sv-hero-slide:first-child img[data-isbat-lcp="true"] {
  opacity: 1 !important;
  visibility: visible !important;
}

body.isbat-content-redesign .isbat-gallery-controls button {
  color: var(--text) !important;
}

body.isbat-content-redesign .mobile-toggle {
  color: var(--bg) !important;
}

body.isbat-content-redesign .mobile-toggle .mobile-toggle__bars span {
  background: var(--bg) !important;
}

body.isbat-content-redesign :where(.is25-btn--ice, .sv-btn--ice, .sv-btn--hero-ice) {
  color: var(--text) !important;
  text-shadow: 0 1px 3px var(--isbat-ui-shadow);
}

@media (min-width: 769px) {
  body.isbat-content-redesign :where(.sv-hero-content, .sv-hero-copy, .nh-hero-content) {
    max-width: min(780px, calc(100vw - 96px)) !important;
  }
}

@media (max-width: 768px) {
  body.isbat-content-redesign .entry-content > :where(.elementor-widget-html, main, [data-isbat-content-optimized]) {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  body.isbat-content-redesign :where(.v24-page, .sv-page, .sv-icebear-page, .isbat-page--prosjekt, .isbat-ps) {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  body.isbat-content-redesign :where(.sv-hero, [class*="sv-hero--"], .nh-hero, .is25-hero) {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;
  }

  body.isbat-content-redesign :where(.sv-hero-content, .sv-hero-copy, .nh-hero-content) {
    width: min(100% - 32px, 760px) !important;
    max-width: min(100% - 32px, 760px) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  body.isbat-content-redesign :where(.sv-container, .is25-wrap, .nh-container, .pg-container) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.isbat-content-redesign :where(.sv-hero h1, .sv-hero-title, .sv-hero-title--article, .nh-hero h1) {
    font-size: clamp(2rem, 11vw, 3.2rem) !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere;
  }

  body.isbat-content-redesign :where(.sv-hero p, .nh-hero p) {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  body.isbat-content-redesign :where(.sv-section, .nh-section, .is25-section) {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
}

body.isbat-project-story .isbat-project-browser__filter.is-active .isbat-project-browser__count,
body.isbat-project-story .isbat-project-browser__filter[aria-selected="true"] .isbat-project-browser__count {
  background: #7f1d1d;
  color: #fff;
}

/* ISBAT urgent frontend safety — 2026-08-28 */
/* Hero copy must remain readable even while WP Rocket delays non-critical reveal JS. */
.mx-hero .mx-rv {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Header controls own their colors; dark-page body tokens must not leak in. */
.site-header[data-header] .nav-link--search {
  color: #16273d !important;
}
.site-header[data-header] .nav-link--cta {
  color: #fff !important;
  background: linear-gradient(165deg, #e30613 0%, #c9000d 55%, #a9000b 100%) !important;
}
.site-header[data-header] .nav-link--cta:hover,
.site-header[data-header] .nav-link--cta:focus-visible {
  color: #fff !important;
  background: linear-gradient(165deg, #c9000d 0%, #990009 100%) !important;
}

/* Compact desktop header for common laptop widths, including the scrollbar. */
@media (min-width: 1181px) and (max-width: 1300px) {
  .site-header[data-header] .main-nav__inner {
    justify-content: flex-start !important;
    gap: 12px;
  }

  .site-header[data-header] .desktop-nav {
    display: flex !important;
    margin-left: 0;
  }

  .site-header[data-header] .nav-trigger {
    min-height: 40px;
    padding-inline: 7px;
    gap: 3px;
    font-size: .8125rem;
  }

  .site-header[data-header] .nav-trigger svg {
    width: 10px;
    height: 10px;
  }

  .site-header[data-header] .nav-actions {
    display: flex !important;
    margin-left: auto;
    gap: 6px;
  }

  .site-header[data-header] .nav-link--search {
    width: 40px;
    min-height: 40px;
  }

  .site-header[data-header] .nav-link--cta {
    min-height: 40px;
    padding-inline: 12px;
    font-size: .8125rem;
  }

  .site-header[data-header] .mobile-toggle {
    display: none !important;
  }

  .site-header[data-header] .mega-root {
    display: block !important;
  }

  .mobile-menu,
  .mobile-backdrop {
    display: none !important;
  }
}
