/*
Theme Name: Market Synergy Group 2025
Template: twentytwentyfive
Description: MSG brand child theme of Twenty Twenty-Five for the portal modernization smoke test.
Version: 2.5
*/

/* ---------- Page frame: pin footer to viewport bottom on short pages ---------- */
.wp-site-blocks {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
}
.wp-site-blocks > main {
  flex-grow: 1;
}

/* ---------- Header ---------- */
.msg-header {
  background: #fff;
  border-bottom: 1px solid #ececec;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}
.msg-header .wp-block-navigation a {
  font-family: "Open Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 300;
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #333;
}
.msg-header .wp-block-navigation a:hover {
  color: #417fb9;
}
/* Dropdown submenus — match the old Avada dropdown: Open Sans 13px items
   on a light-gray panel with separators and a blue top border. */
.msg-header .wp-block-navigation .wp-block-navigation__submenu-container {
  background: #e0e0e0;
  border: 0;
  border-top: 2px solid #417fb9;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  min-width: 250px;
  padding: 0;
}
.msg-header .wp-block-navigation .wp-block-navigation__submenu-container a,
.msg-header .wp-block-navigation .wp-block-navigation__submenu-container a.wp-block-navigation-item__content {
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 19px;
  /* core navigation.css sets submenu padding with !important */
  padding: 7px 20px !important;
  white-space: nowrap;
  text-transform: none;
  letter-spacing: 0;
  color: #333;
  border-bottom: 1px solid #ccc;
}
.msg-header .wp-block-navigation .wp-block-navigation__submenu-container li:last-child a {
  border-bottom: 0;
}
.msg-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover {
  background: #efefef;
  color: #417fb9;
}
.msg-logo img {
  height: 55px;
  width: auto;
  display: block;
}

/* ---------- Headings ---------- */
/* Live site has title_style_type=none — no underlines on headings. */
/* Margins match the live Avada h*_typography-margin-* variables; the
   block layout's default gap alone left headings flush against the
   paragraph below them. */
:is(.entry-content, .editor-styles-wrapper) h1 {
  margin-top: 0.67em;
  margin-bottom: 0.37em;
}
:is(.entry-content, .editor-styles-wrapper) h2 {
  margin-top: 0;
  margin-bottom: 1.1em;
}
:is(.entry-content, .editor-styles-wrapper) h3 {
  margin-top: 1em;
  margin-bottom: 1em;
}
/* Avada h4/h5 typography from fusion_options */
:is(.entry-content, .editor-styles-wrapper) h4 {
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.5;
  color: #417fb9;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
:is(.entry-content, .editor-styles-wrapper) h5 {
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.5;
  color: #686868;
  margin-top: 0;
  margin-bottom: 10px;
}

/* ---------- Buttons: Avada outline style ---------- */
.wp-block-button__link,
.wp-block-button .wp-block-button__link.wp-element-button {
  background: #fff;
  color: #417fb9;
  border: 1px solid #417fb9;
  border-radius: 2px;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 0.65em 1.8em;
}
.wp-block-button .wp-block-button__link.wp-element-button:hover {
  background: #417fb9;
  color: #fff;
}

/* ---------- Lists: circled-arrow bullets like Avada checklists ---------- */
:is(.entry-content, .editor-styles-wrapper) ul.wp-block-list {
  list-style: none;
  padding-left: 0;
}
:is(.entry-content, .editor-styles-wrapper) ul.wp-block-list > li {
  position: relative;
  padding-left: 1.9em;
  margin-bottom: 0.55em;
}
:is(.entry-content, .editor-styles-wrapper) ul.wp-block-list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.28em;
  width: 1.15em;
  height: 1.15em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23417fb9" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12h7M12 8.5 15.5 12 12 15.5"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
}
:is(.entry-content, .editor-styles-wrapper) ul:not(.wp-block-list) li::marker {
  color: #417fb9;
}

/* ---------- Avada checklists with literal Font Awesome icons ---------- */
/* Content carries <ul class="fusion-checklist"><li class="fusion-li-item">
   <i class="fusion-li-icon fa-file-pdf far"></i>… straight from the live
   site — no bullet, just the gray icon. */
:is(.entry-content, .editor-styles-wrapper) ul.fusion-checklist {
  list-style: none;
  padding-left: 0;
}
:is(.entry-content, .editor-styles-wrapper) ul.fusion-checklist > li {
  position: relative;
  padding-left: 1.7em;
  margin-bottom: 0.55em;
}
:is(.entry-content, .editor-styles-wrapper) li .fusion-li-icon {
  position: absolute;
  left: 0;
  top: 0.35em;
  color: var(--msg-icon, #bababa);
  /* Fixed width so wide glyphs (link, youtube) align with narrow ones (pdf) */
  width: 1.25em;
  text-align: center;
  font-size: 0.95em;
}
:is(.entry-content, .editor-styles-wrapper) .fusion-li-item-content {
  display: block;
}
/* Converted shortcode checklists that carry their own icons */
:is(.entry-content, .editor-styles-wrapper) ul.wp-block-list.msg-fa-list > li::before {
  content: none;
}
:is(.entry-content, .editor-styles-wrapper) ul.wp-block-list.msg-fa-list > li {
  padding-left: 1.7em;
}

/* ---------- Native checklists (converted from fusion-checklist) ---------- */
/* Icons live in CSS so clients edit plain List blocks. Editors opt in with
   the "Resource icons" block style (is-style-msg-resources); the migration
   used the equivalent msg-checklist class. A list that mixed icons was split
   into consecutive ul runs, one msg-icon-* class each. */
:is(.entry-content, .editor-styles-wrapper) ul:is(.msg-checklist, .is-style-msg-resources) {
  list-style: none;
  padding-left: 0;
}
:is(.entry-content, .editor-styles-wrapper) ul:is(.msg-checklist, .is-style-msg-resources) > li {
  position: relative;
  padding-left: 1.7em;
  margin-bottom: 0.55em;
}
:is(.entry-content, .editor-styles-wrapper) ul:is(.msg-checklist, .is-style-msg-resources) > li::before {
  content: "\f192";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  line-height: 1;
  /* cancel the circled-arrow bullet the generic wp-block-list rule paints */
  background: none;
  height: auto;
  position: absolute;
  left: 0;
  top: 0.35em;
  /* Fixed width so wide glyphs (link, youtube) align with narrow ones (pdf) */
  width: 1.25em;
  text-align: center;
  color: var(--msg-icon, #bababa);
  font-size: 0.95em;
}
/* Split runs read as one continuous list */
:is(.entry-content, .editor-styles-wrapper)
  ul:is(.msg-checklist, .is-style-msg-resources) + ul:is(.msg-checklist, .is-style-msg-resources) {
  margin-top: 0;
}
/* Section labels above lists keep the breathing room the old divs had */
:is(.entry-content, .editor-styles-wrapper) * + p.msg-checklist-intro {
  margin-top: 1.2em;
}

/* Per-run icons from the fusion migration. These set the icon every item in
   the run FALLS BACK to when its link carries no file-type signal. */
:is(.entry-content, .editor-styles-wrapper) ul.msg-icon-pdf > li::before        { content: "\f1c1"; font-weight: 400; }
:is(.entry-content, .editor-styles-wrapper) ul.msg-icon-link > li::before       { content: "\f0c1"; font-weight: 900; }
:is(.entry-content, .editor-styles-wrapper) ul.msg-icon-angle > li::before      { content: "\f105"; font-weight: 900; }
:is(.entry-content, .editor-styles-wrapper) ul.msg-icon-dot > li::before        { content: "\f192"; font-weight: 400; }
:is(.entry-content, .editor-styles-wrapper) ul.msg-icon-youtube > li::before    { content: "\f167"; font-family: "Font Awesome 5 Brands"; font-weight: 400; }
:is(.entry-content, .editor-styles-wrapper) ul.msg-icon-archive > li::before    { content: "\f1c6"; font-weight: 400; }
:is(.entry-content, .editor-styles-wrapper) ul.msg-icon-angle2 > li::before     { content: "\f101"; font-weight: 900; }
:is(.entry-content, .editor-styles-wrapper) ul.msg-icon-powerpoint > li::before { content: "\f1c4"; font-weight: 400; }
:is(.entry-content, .editor-styles-wrapper) ul.msg-icon-calculator > li::before { content: "\f1ec"; font-weight: 900; }

/* Automatic icons — editors never touch a class.
   Weak signals (generic link, no link) only apply to lists without a
   migrated per-run icon; strong file-type signals below beat the run icon
   too, so links added to existing lists get the right glyph. Decorative
   arrow/dot/calculator runs stay pinned for every item. */
:is(.entry-content, .editor-styles-wrapper)
  ul:is(.msg-checklist, .is-style-msg-resources):not([class*="msg-icon-"]) > li:has(a)::before {
  content: "\f0c1"; /* generic link */
  font-weight: 900;
}
:is(.entry-content, .editor-styles-wrapper)
  ul:is(.msg-checklist, .is-style-msg-resources):not(.msg-icon-angle):not(.msg-icon-angle2):not(.msg-icon-dot):not(.msg-icon-calculator)
  > li:has(a[href$=".pdf" i])::before {
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}
:is(.entry-content, .editor-styles-wrapper)
  ul:is(.msg-checklist, .is-style-msg-resources):not(.msg-icon-angle):not(.msg-icon-angle2):not(.msg-icon-dot):not(.msg-icon-calculator)
  > li:has(a[href$=".zip" i])::before {
  content: "\f1c6";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}
:is(.entry-content, .editor-styles-wrapper)
  ul:is(.msg-checklist, .is-style-msg-resources):not(.msg-icon-angle):not(.msg-icon-angle2):not(.msg-icon-dot):not(.msg-icon-calculator)
  > li:is(:has(a[href$=".ppt" i]), :has(a[href$=".pptx" i]))::before {
  content: "\f1c4";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}
:is(.entry-content, .editor-styles-wrapper)
  ul:is(.msg-checklist, .is-style-msg-resources):not(.msg-icon-angle):not(.msg-icon-angle2):not(.msg-icon-dot):not(.msg-icon-calculator)
  > li:is(:has(a[href$=".doc" i]), :has(a[href$=".docx" i]))::before {
  content: "\f1c2";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}
:is(.entry-content, .editor-styles-wrapper)
  ul:is(.msg-checklist, .is-style-msg-resources):not(.msg-icon-angle):not(.msg-icon-angle2):not(.msg-icon-dot):not(.msg-icon-calculator)
  > li:is(:has(a[href$=".xls" i]), :has(a[href$=".xlsx" i]), :has(a[href$=".csv" i]))::before {
  content: "\f1c3";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}
/* Videos — raw files and hosted — use the same play glyph the site always
   used for video content. */
:is(.entry-content, .editor-styles-wrapper)
  ul:is(.msg-checklist, .is-style-msg-resources):not(.msg-icon-angle):not(.msg-icon-angle2):not(.msg-icon-dot):not(.msg-icon-calculator)
  > li:is(:has(a[href$=".mp4" i]), :has(a[href$=".mov" i]), :has(a[href*="youtube.com"]), :has(a[href*="youtu.be"]), :has(a[href*="vimeo.com"]), :has(a[href*="gotomeeting.com"]))::before {
  content: "\f167";
  font-family: "Font Awesome 5 Brands";
  font-weight: 400;
}
:is(.entry-content, .editor-styles-wrapper) ul:is(.msg-checklist, .is-style-msg-resources).msg-icon-c-blue  { --msg-icon: #417fb9; }
:is(.entry-content, .editor-styles-wrapper) ul:is(.msg-checklist, .is-style-msg-resources).msg-icon-c-slate { --msg-icon: #b4b6b8; }

/* ---------- Details / toggles: plus-minus indicator like the live site ---------- */
.wp-block-details {
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  padding: 0.9em 1.1em;
}
.wp-block-details summary {
  font-family: "Open Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 300;
  font-size: 22px;
  color: #417fb9;
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-left: 1.6em;
}
.wp-block-details[open] > summary {
  /* divider between the toggle title and its content, like Avada's
     accordion_divider_color */
  border-bottom: 1px solid #e0dede;
  padding-bottom: 0.55em;
  margin-bottom: 0.9em;
}
.wp-block-details summary::-webkit-details-marker {
  display: none;
}
.wp-block-details summary:focus,
.wp-block-details summary:focus-visible {
  outline: none;
}
.wp-block-details summary::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 0.6em;
  height: 0.6em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23417fb9" stroke-width="2.5"><path d="M12 4v16M4 12h16"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
}
.wp-block-details[open] > summary::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23417fb9" stroke-width="2.5"><path d="M4 12h16"/></svg>');
}

/* ---------- Layout niceties ---------- */
.entry-content > .wp-block-group {
  margin-top: 2.2rem;
}
:is(.entry-content, .editor-styles-wrapper) p {
  margin-top: 0;
  margin-bottom: 20px;
}
:is(.entry-content, .editor-styles-wrapper) li p {
  margin-bottom: 0;
}
.wp-block-column > .wp-block-image {
  display: flex;
  justify-content: center;
}
.wp-block-image + .wp-block-buttons {
  justify-content: center;
}
:is(.entry-content, .editor-styles-wrapper) .wp-block-column > i[class*="fa-"] + .wp-block-buttons {
  justify-content: center;
}
.wp-block-separator {
  border-color: #e0dede;
}
/* Avada icon separator: line with a circled dot centered on it */
:is(.entry-content, .editor-styles-wrapper) .wp-block-separator.msg-sep-circle {
  position: relative;
  overflow: visible;
}
:is(.entry-content, .editor-styles-wrapper) .wp-block-separator.msg-sep-circle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  height: 30px;
  background: #ffffff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><circle cx="15" cy="15" r="4" fill="%23e0dede"/></svg>') center / contain no-repeat;
  border: 1px solid #e0dede;
  border-radius: 50%;
}

/* ---------- CF7 form grid: replaces easy-bootstrap-shortcodes [row]/[column] ---------- */
/* Bootstrap-3 breakpoints to match the widths the forms were authored for. */
.msg-row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -12px;
  margin-right: -12px;
}
.msg-col {
  flex: 0 0 100%;
  max-width: 100%;
  padding-left: 12px;
  padding-right: 12px;
  box-sizing: border-box;
}
.msg-col-xs-1 { flex-basis: 8.3333%; max-width: 8.3333%; }
.msg-col-xs-2 { flex-basis: 16.6667%; max-width: 16.6667%; }
.msg-col-xs-3 { flex-basis: 25%; max-width: 25%; }
.msg-col-xs-4 { flex-basis: 33.3333%; max-width: 33.3333%; }
.msg-col-xs-6 { flex-basis: 50%; max-width: 50%; }
.msg-col-xs-8 { flex-basis: 66.6667%; max-width: 66.6667%; }
.msg-col-xs-9 { flex-basis: 75%; max-width: 75%; }
.msg-col-xs-12 { flex-basis: 100%; max-width: 100%; }
@media (min-width: 768px) {
  .msg-col-sm-1 { flex-basis: 8.3333%; max-width: 8.3333%; }
  .msg-col-sm-2 { flex-basis: 16.6667%; max-width: 16.6667%; }
  .msg-col-sm-3 { flex-basis: 25%; max-width: 25%; }
  .msg-col-sm-4 { flex-basis: 33.3333%; max-width: 33.3333%; }
  .msg-col-sm-6 { flex-basis: 50%; max-width: 50%; }
  .msg-col-sm-8 { flex-basis: 66.6667%; max-width: 66.6667%; }
  .msg-col-sm-9 { flex-basis: 75%; max-width: 75%; }
  .msg-col-sm-12 { flex-basis: 100%; max-width: 100%; }
}
@media (min-width: 992px) {
  .msg-col-md-1 { flex-basis: 8.3333%; max-width: 8.3333%; }
  .msg-col-md-2 { flex-basis: 16.6667%; max-width: 16.6667%; }
  .msg-col-md-3 { flex-basis: 25%; max-width: 25%; }
  .msg-col-md-4 { flex-basis: 33.3333%; max-width: 33.3333%; }
  .msg-col-md-6 { flex-basis: 50%; max-width: 50%; }
  .msg-col-md-8 { flex-basis: 66.6667%; max-width: 66.6667%; }
  .msg-col-md-9 { flex-basis: 75%; max-width: 75%; }
  .msg-col-md-12 { flex-basis: 100%; max-width: 100%; }
}
@media (min-width: 1200px) {
  .msg-col-lg-1 { flex-basis: 8.3333%; max-width: 8.3333%; }
  .msg-col-lg-2 { flex-basis: 16.6667%; max-width: 16.6667%; }
  .msg-col-lg-3 { flex-basis: 25%; max-width: 25%; }
  .msg-col-lg-4 { flex-basis: 33.3333%; max-width: 33.3333%; }
  .msg-col-lg-6 { flex-basis: 50%; max-width: 50%; }
  .msg-col-lg-8 { flex-basis: 66.6667%; max-width: 66.6667%; }
  .msg-col-lg-9 { flex-basis: 75%; max-width: 75%; }
  .msg-col-lg-12 { flex-basis: 100%; max-width: 100%; }
}
/* CF7 field basics so inputs fill their columns like the live form */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid #d2d2d2;
  border-radius: 2px;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  color: #333;
  background: #fff;
}
/* Safari paints native select chrome and ignores the box styling above
   unless appearance is reset; Chrome only half-applies it. Reset both and
   draw our own chevron so all browsers match. */
.wpcf7 select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 8" fill="none" stroke="%23666" stroke-width="2"><path d="M1 1.5 6 6.5 11 1.5"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px 8px;
  padding-right: 32px;
}
.wpcf7 .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 14px;
}
/* Bootstrap-3 visibility utilities the old site got from
   easy-bootstrap-shortcodes' bundled bootstrap.css. The NAF form keeps
   responsive twins of its name fields: a stacked pair in .hide-lg (small
   screens) and a combined pair in .hide.visible-lg (desktop). Without these
   rules both twins show and the required fields double up. */
.hide { display: none; }
@media (min-width: 1200px) {
  .hide-lg { display: none; }
  /* contents, not block: the wrapper sits between a flex row and its
     columns; it must not become a flex item itself */
  .hide.visible-lg { display: contents; }
}
/* class:width50 pairs (First/Last on one line). The control-wrap span is
   what stacks (display:block above), so size the wrap, not just the input. */
.wpcf7 .wpcf7-form-control-wrap:has(> .width50) {
  display: inline-block;
  width: 49%;
}
/* Some forms (Agent Search) carry literal Bootstrap-3 grid markup instead of
   the [row]/[column] shortcodes — cover those class names, CF7-scoped. */
.wpcf7 .row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -12px;
  margin-right: -12px;
}
/* ^= / *=" " match class tokens that START with "col-", so the theme's own
   msg-col-* columns (which carry their widths in media queries above) are
   not captured and flattened to 100%. */
.wpcf7 [class^="col-"],
.wpcf7 [class*=" col-"] {
  flex: 0 0 100%;
  max-width: 100%;
  padding-left: 12px;
  padding-right: 12px;
  box-sizing: border-box;
}
@media (min-width: 1200px) {
  .wpcf7 .col-lg-4 { flex-basis: 33.3333%; max-width: 33.3333%; }
  .wpcf7 .col-lg-6 { flex-basis: 50%; max-width: 50%; }
}
/* CF7 submit buttons: match the site's Avada outline buttons */
.wpcf7 input[type="submit"] {
  background: #fff;
  color: #417fb9;
  border: 1px solid #417fb9;
  border-radius: 2px;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 0.65em 1.8em;
  cursor: pointer;
}
.wpcf7 input[type="submit"]:hover {
  background: #417fb9;
  color: #fff;
}

/* ---------- Footer ---------- */
.msg-footer {
  background: #363839;
  color: #fff;
}
.msg-footer a {
  color: #fff;
  text-decoration: none;
}
.msg-footer a:hover {
  color: #9ec6ee;
}
.msg-footer .wp-block-heading,
.msg-footer h2,
.msg-footer h3 {
  color: #fff;
  border-bottom: none;
}
.msg-footer .msg-footer-logo img {
  height: 48px;
  width: auto;
}
.msg-footer ul {
  list-style: none;
  padding-left: 0;
}
.msg-footer ul li {
  margin-bottom: 0.5em;
}
.msg-footer ul li::before {
  content: "›";
  color: #9ec6ee;
  margin-right: 0.55em;
}

/* ---------- Themed login page (/login) ---------- */
.msg-login-form input[type="text"],
.msg-login-form input[type="password"] {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #d2d2d2;
  margin-bottom: 14px;
}
.msg-login-form .login-remember {
  margin-bottom: 14px;
}
.msg-login-error {
  color: #a94442;
  background: #f2dede;
  border: 1px solid #ebccd1;
  padding: 10px 14px;
}
.msg-login-form input[type="submit"] {
  background: #fff;
  color: #417fb9;
  border: 1px solid #417fb9;
  border-radius: 2px;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 0.65em 1.8em;
  cursor: pointer;
}
.msg-login-form input[type="submit"]:hover {
  background: #417fb9;
  color: #fff;
}

/* ---------- Spacers ---------- */
/* Spacers came from Avada separators, which sat flush against their
   neighbors. The block layout adds its default gap on both sides, so a
   50px spacer rendered as ~90px of space. Collapse the gap around them. */
:is(.entry-content, .editor-styles-wrapper) .wp-block-spacer {
  margin-block-start: 0;
}
:is(.entry-content, .editor-styles-wrapper) .wp-block-spacer + * {
  margin-block-start: 0;
}

/* ---------- Bold text ---------- */
/* Body text is weight 300; the UA's `strong { font-weight: bolder }`
   only maps 300 -> 400, so bold was invisible. Pin it to 700. */
strong,
b {
  font-weight: 700;
}

/* ---------- Page header banner (was a LayerSlider on live) ---------- */
/* Full-bleed like the live slider: break out of the constrained content
   column, and sit flush under the header (main carries an inline
   margin-top:24px from the page template's block markup, so the override
   needs !important — drop it only on banner pages). */
.entry-content > .msg-page-banner {
  width: 100vw;
  max-width: 100vw;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
body:has(.entry-content > .msg-page-banner:first-child) main {
  margin-top: 0 !important;
}
html {
  /* keep the 100vw banner from causing a horizontal scrollbar */
  overflow-x: clip;
}
.msg-page-banner img {
  display: block;
  width: 100%;
  height: auto;
}
