/*
 * Ideal Spaces UI Clean v1.0.11.29
 * Surgical palette correction only.
 * No typography, dimensions, spacing, positioning, hero, card or menu-behaviour changes.
 */

:root {
  --is29-bone-white: #f6f1ed;
  --is29-navy: #26314a;
  --is29-german-red: #f08aad;
}

/*
 * HEADER SURFACE
 * Repaint the real header shell and its edge layers as one uninterrupted
 * bone-white surface. This removes the grey side plates without changing
 * the header's size or placement.
 */
body.is-modern-ui-test #masthead,
body.is-modern-ui-test header#masthead,
body.is-modern-ui-test .site-header,
body.is-modern-ui-test .site-header > .mainHeader,
body.is-modern-ui-test .site-header .mainHeader,
body.is-modern-ui-test header.mainHeader,
body.isclean-loss-page #masthead,
body.isclean-loss-page header#masthead,
body.isclean-loss-page .site-header,
body.isclean-loss-page .site-header > .mainHeader,
body.isclean-loss-page .site-header .mainHeader,
body.isclean-loss-page header.mainHeader {
  background: var(--is29-bone-white) !important;
  background-color: var(--is29-bone-white) !important;
  background-image: none !important;
  border-color: var(--is29-bone-white) !important;
}

body.is-modern-ui-test #masthead::before,
body.is-modern-ui-test #masthead::after,
body.is-modern-ui-test .site-header::before,
body.is-modern-ui-test .site-header::after,
body.is-modern-ui-test .site-header > .mainHeader::before,
body.is-modern-ui-test .site-header > .mainHeader::after,
body.is-modern-ui-test header.mainHeader::before,
body.is-modern-ui-test header.mainHeader::after,
body.isclean-loss-page #masthead::before,
body.isclean-loss-page #masthead::after,
body.isclean-loss-page .site-header::before,
body.isclean-loss-page .site-header::after,
body.isclean-loss-page .site-header > .mainHeader::before,
body.isclean-loss-page .site-header > .mainHeader::after,
body.isclean-loss-page header.mainHeader::before,
body.isclean-loss-page header.mainHeader::after {
  background: var(--is29-bone-white) !important;
  background-color: var(--is29-bone-white) !important;
  background-image: none !important;
  border-color: var(--is29-bone-white) !important;
  box-shadow: none !important;
}

/* Logo sits directly on the shared header surface: no local plate or box. */
body.is-modern-ui-test .site-header .mainHeaderLogo,
body.is-modern-ui-test .site-header .mainHeaderLogo .logo,
body.is-modern-ui-test .site-header .mainHeaderLogo .logo > a,
body.is-modern-ui-test header.mainHeader .mainHeaderLogo,
body.is-modern-ui-test header.mainHeader .mainHeaderLogo .logo,
body.is-modern-ui-test header.mainHeader .mainHeaderLogo .logo > a,
body.isclean-loss-page .site-header .mainHeaderLogo,
body.isclean-loss-page .site-header .mainHeaderLogo .logo,
body.isclean-loss-page .site-header .mainHeaderLogo .logo > a,
body.isclean-loss-page header.mainHeader .mainHeaderLogo,
body.isclean-loss-page header.mainHeader .mainHeaderLogo .logo,
body.isclean-loss-page header.mainHeader .mainHeaderLogo .logo > a {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Exact navy treatment for a raster top logo. The runtime safeguard applies
 * the same declaration inline when the theme has an inline !important rule. */
body.is-modern-ui-test .site-header .mainHeaderLogo img,
body.is-modern-ui-test header.mainHeader .mainHeaderLogo img,
body.isclean-loss-page .site-header .mainHeaderLogo img,
body.isclean-loss-page header.mainHeader .mainHeaderLogo img {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  filter: brightness(0) saturate(100%) invert(14%) sepia(42%) saturate(1192%) hue-rotate(184deg) brightness(65%) contrast(77%) !important;
  -webkit-filter: brightness(0) saturate(100%) invert(14%) sepia(42%) saturate(1192%) hue-rotate(184deg) brightness(65%) contrast(77%) !important;
  opacity: 1 !important;
}

body.is-modern-ui-test .site-header .mainHeaderLogo svg,
body.is-modern-ui-test .site-header .mainHeaderLogo svg *,
body.isclean-loss-page .site-header .mainHeaderLogo svg,
body.isclean-loss-page .site-header .mainHeaderLogo svg * {
  color: var(--is29-navy) !important;
  fill: var(--is29-navy) !important;
  stroke: var(--is29-navy) !important;
}

/* Keep the menu row bone white and normal links footer-navy. */
body.is-modern-ui-test .mainHeaderMenu,
body.is-modern-ui-test .mainHeaderMenu nav,
body.is-modern-ui-test .mainHeaderMenu .mainMenu,
body.is-modern-ui-test .menuOpened .mainMenu,
body.isclean-loss-page .mainHeaderMenu,
body.isclean-loss-page .mainHeaderMenu nav,
body.isclean-loss-page .mainHeaderMenu .mainMenu,
body.isclean-loss-page .menuOpened .mainMenu {
  background: var(--is29-bone-white) !important;
  background-color: var(--is29-bone-white) !important;
  background-image: none !important;
  border-color: var(--is29-bone-white) !important;
}

body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a:not([href*="idealspaces.org"]),
body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a:not([href*="idealspaces.org"]):link,
body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a:not([href*="idealspaces.org"]):visited,
body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a:not([href*="idealspaces.org"]):hover,
body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a:not([href*="idealspaces.org"]):focus,
body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a:not([href*="idealspaces.org"]),
body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a:not([href*="idealspaces.org"]):link,
body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a:not([href*="idealspaces.org"]):visited,
body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a:not([href*="idealspaces.org"]):hover,
body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a:not([href*="idealspaces.org"]):focus {
  color: var(--is29-navy) !important;
  -webkit-text-fill-color: var(--is29-navy) !important;
}

body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"],
body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:link,
body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:visited,
body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:hover,
body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:focus,
body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"],
body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:link,
body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:visited,
body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:hover,
body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:focus {
  color: var(--is29-german-red) !important;
  -webkit-text-fill-color: var(--is29-german-red) !important;
}

/*
 * SUBMENU CONTAINER
 * Keep its existing position and dimensions, but remove every visible frame,
 * shadow and rounded outer box. The transparent ::before hover bridge remains.
 */
body.is-modern-ui-test .site-header .mainHeaderMenu .mainMenu > li > ul,
body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > ul,
body.is-modern-ui-test .mainHeaderMenu .mainMenu li > ul,
body.isclean-loss-page .site-header .mainHeaderMenu .mainMenu > li > ul,
body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > ul,
body.isclean-loss-page .mainHeaderMenu .mainMenu li > ul {
  background: var(--is29-bone-white) !important;
  background-color: var(--is29-bone-white) !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.is-modern-ui-test .site-header .mainHeaderMenu .mainMenu > li > ul::before,
body.is-modern-ui-test .site-header .mainHeaderMenu .mainMenu > li > ul::after,
body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > ul::before,
body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > ul::after,
body.isclean-loss-page .site-header .mainHeaderMenu .mainMenu > li > ul::before,
body.isclean-loss-page .site-header .mainHeaderMenu .mainMenu > li > ul::after,
body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > ul::before,
body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > ul::after {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.is-modern-ui-test .mainHeaderMenu .mainMenu li > ul > li,
body.isclean-loss-page .mainHeaderMenu .mainMenu li > ul > li {
  background: var(--is29-bone-white) !important;
  background-color: var(--is29-bone-white) !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.is-modern-ui-test .mainHeaderMenu .mainMenu li > ul li > a,
body.is-modern-ui-test .mainHeaderMenu .mainMenu li > ul li > a:link,
body.is-modern-ui-test .mainHeaderMenu .mainMenu li > ul li > a:visited,
body.isclean-loss-page .mainHeaderMenu .mainMenu li > ul li > a,
body.isclean-loss-page .mainHeaderMenu .mainMenu li > ul li > a:link,
body.isclean-loss-page .mainHeaderMenu .mainMenu li > ul li > a:visited {
  color: var(--is29-navy) !important;
  -webkit-text-fill-color: var(--is29-navy) !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Clear hover/focus feedback without white text: navy text stays unchanged,
 * while a pale navy field shows exactly which submenu item is active. */
body.is-modern-ui-test .mainHeaderMenu .mainMenu li > ul li > a:hover,
body.is-modern-ui-test .mainHeaderMenu .mainMenu li > ul li > a:focus,
body.is-modern-ui-test .mainHeaderMenu .mainMenu li > ul li > a:focus-visible,
body.isclean-loss-page .mainHeaderMenu .mainMenu li > ul li > a:hover,
body.isclean-loss-page .mainHeaderMenu .mainMenu li > ul li > a:focus,
body.isclean-loss-page .mainHeaderMenu .mainMenu li > ul li > a:focus-visible {
  color: var(--is29-navy) !important;
  -webkit-text-fill-color: var(--is29-navy) !important;
  background: rgba(38, 49, 74, 0.11) !important;
  background-color: rgba(38, 49, 74, 0.11) !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
