/* ======================================================
   THEME STYLE.CSS — v6.12 optimized
   Site chrome only. SAS block visuals live in the plugin.
   Plugin styles act as fallbacks; variables declared here
   override plugin defaults (plugin loads first).

   SECTIONS:
     A.  CSS Custom Properties
     B.  Base Reset
     C.  Shared Width System
     D.  Top Bar
     E.  Buttons
     F.  Design Elements
     G.  Utility Nav
     H.  Primary Nav (with custom hamburger)
     I.  Body Content
     J.  Bootstrap Columns Block (BCB)
     K.  SAS Text Blocks
     L.  Mini Menu
     M.  Footer
     N.  Tables
     O.  Site Chrome Responsive
     P.  Single Association
     Q.  Page Hero
     R.  Blog Index
     S.  Single Post
====================================================== */


/* ======================================================
   A. CSS CUSTOM PROPERTIES
====================================================== */
:root {

  /* ── Brand palette (single source of truth) ──────── */
  --brand-primary-color:    #f7941d;
  --brand-secondary-color:  #1a6eb1;
  --brand-secondary-hover:  #0c71c3;
  --brand-third-color:      #1a2e4a;
  --ink-heading:            #0c2540;
  --ink-body:               #2c4563;
  --ink-muted:              #5a6b7f;
  --ink-faint:              #525252;
  --ice:                    #e8f6ff;
  --paper-blue:             #f0f7ff;
  --line:                   #e5edf3;

  /* ── Heading scale — global, tag-based ───────────── */
  /* Headings size by tag everywhere: h1 > h2 > ... > h6,
     regardless of block style, highlight, or strap.
     h1 ≈ 40px desktop, 28px mobile; rest scale down.    */
  --h1-size:                clamp(1.75rem, 4vw, 2.25rem);
  --h2-size:                clamp(1.45rem, 3.3vw, 1.5rem);
  --h3-size:                clamp(1.25rem, 2.7vw, 1.25rem);
  --h4-size:                clamp(1.1rem, 2.2vw, 1.25rem);
  --h5-size:                1rem;
  --h6-size:                0.875rem;

  /* ── Topbar ──────────────────────────────────────── */
  --topbar-bg:              #ffffff;
  --topbar-border:          var(--line);

  /* ── Utility nav ─────────────────────────────────── */
  --utils-link:             var(--brand-primary-color);
  --utils-label-text:       #1e3a5f;
  --utils-label-text-size:  1rem;
  --utils-link-font-size:   22px;
  --utils-link-font-weight: 500;
  --utils-label-weight:     400;
  --utils-line-height:      1.2;
  --utils-gap:              0.125rem;

  /* ── Primary nav ─────────────────────────────────── */
  --mainnav-gradient-start: #2f82bd;
  --mainnav-gradient-end:   #1e73ae;
  --mainnav-link:           #ffffff;
  --mainnav-link-hover:     #e6f2fb;

  /* ── Buttons ─────────────────────────────────────── */
  --btn-color:              #ffffff;
  --btn-border-color:       rgba(0, 0, 0, 0);
  --btn-font-weight:        600;
  --btn-bg:                 var(--brand-secondary-color);
  --btn-border-radius:      4px;
  --btn-mobile-width        100%;

  /* ── Separator ───────────────────────────────────── */
  --hr-separator-color:     var(--brand-secondary-hover);
  --hr-separator-size:      8px;

  /* ── Footer ──────────────────────────────────────── */
  --footer-bg:              #3d4353;
  --footer-text:            #ffffff;
  --footer-text-muted:      rgba(255, 255, 255, 0.75);
  --footer-border:          rgba(255, 255, 255, 0.12);
  --footer-link:            #7ab3e0;
  --footer-link-hover:      #a8ccee;
  --footer-social-bg:       #ffffff;
  --footer-social-icon:     #3d4353;
  --footer-social-bg-hover: #e2ecf5;
  --footer-logo-divider:    rgba(255, 255, 255, 0.35);
  --footer-padding-y:       3rem;
  --footer-padding-x:       1rem;
  --footer-max-width:       1150px;
  --footer-font-size-base:  0.875rem;
  --footer-font-size-sm:    0.8rem;
  --footer-logo-height:     52px;
  --footer-social-size:     44px;
  --footer-social-gap:      0.625rem;

  /* ── SAS Block: base spacing & borders ───────────── */
  --sas-block-margin-y:           0rem;
  --sas-block-border-color:       transparent;
  --sas-block-border-width-top:   1px;
  --sas-block-border-width-right: 1px;
  --sas-block-border-width-bottom:1px;
  --sas-block-border-width-left:  0px;

  /* ── Highlight: Feature ──────────────────────────── */
  --sas-feature-bg:               var(--brand-third-color);
  --sas-feature-accent:           var(--brand-primary-color);
  --sas-feature-btn-bg:           var(--brand-third-color);
  --sas-feature-btn-border:       2px solid var(--ice);
  --sas-feature-btn-text:         var(--ice);
  --sas-feature-btn-hover-bg:     #ffffff;
  --sas-feature-btn-hover-border: 0px solid var(--ice);
  --sas-feature-btn-hover-text:   var(--brand-third-color);

  /* ── Highlight: Warm ─────────────────────────────── */
  --sas-hl-warm-bg:               var(--brand-secondary-color);
  --sas-hl-warm-accent-bar:       6px solid var(--brand-third-color);
  --sas-hl-warm-title:            var(--ice);
  --sas-hl-warm-border-radius:    8px;
  --sas-hl-warm-padding:          1.2em 1.4em;

  --sas-hl-warm-btn-bg:             var(--brand-primary-color);
  --sas-hl-warm-btn-border:         2px solid var(--brand-primary-color);
  --sas-hl-warm-btn-text:           #ffffff;
  --sas-hl-warm-btn-radius:         6px;
  --sas-hl-warm-btn-padding:        0.7em 1.8em;
  --sas-hl-warm-btn-font-size:      14px;
  --sas-hl-warm-btn-font-weight:    700;
  --sas-hl-warm-btn-letter-spacing: 0.5px;
  --sas-hl-warm-btn-margin-top:     1.5rem;
  --sas-hl-warm-btn-transition:     all 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
  --sas-hl-warm-btn-hover-bg:       var(--brand-secondary-hover);
  --sas-hl-warm-btn-hover-border:   2px solid var(--brand-secondary-hover);
  --sas-hl-warm-btn-hover-text:     #ffffff;

  --sas-hl-warm-content-font-size:   15px;
  --sas-hl-warm-content-line-height: 1.6;
  --sas-hl-warm-content-font-weight: 400;
  --sas-hl-warm-content-color:       #ffffff;
  --sas-hl-warm-content-opacity:     0.95;

  --sas-hl-warm-list-color:          #ffffff;
  --sas-hl-warm-list-bullet-color:   var(--brand-primary-color); /* consumed by plugin */
  --sas-hl-warm-list-font-size:      15px;
  --sas-hl-warm-list-line-height:    1.6;
  --sas-hl-warm-list-margin-bottom:  0.5rem;

  /* ── Highlight: Sidebar button ───────────────────── */
  --sas-hl-sidebar-btn-bg:             var(--brand-primary-color);
  --sas-hl-sidebar-btn-border:         2px solid var(--brand-primary-color);
  --sas-hl-sidebar-btn-text:           #ffffff;
  --sas-hl-sidebar-btn-radius:         6px;
  --sas-hl-sidebar-btn-padding:        0.7em 1.8em;
  --sas-hl-sidebar-btn-font-size:      14px;
  --sas-hl-sidebar-btn-font-weight:    700;
  --sas-hl-sidebar-btn-letter-spacing: 0.5px;
  --sas-hl-sidebar-btn-margin-top:     1.5rem;
  --sas-hl-sidebar-btn-transition:     all 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
  --sas-hl-sidebar-btn-hover-bg:       var(--brand-secondary-hover);
  --sas-hl-sidebar-btn-hover-border:   2px solid var(--brand-secondary-hover);
  --sas-hl-sidebar-btn-hover-text:     #ffffff;

  /* ── Highlight: Call-out ─────────────────────────── */
  --sas-hl-call-out-bg:             var(--paper-blue);
  --sas-hl-call-out-accent-bar:     5px solid var(--brand-secondary-color);
  --sas-hl-call-out-title:          var(--ink-heading);
  --sas-hl-call-out-text:           var(--ink-body);
  --sas-hl-call-out-border-radius:  8px;
  --sas-hl-call-out-padding:        1.25em;

  --sas-hl-call-out-btn-bg:             var(--brand-primary-color);
  --sas-hl-call-out-btn-border:         2px solid var(--brand-primary-color);
  --sas-hl-call-out-btn-text:           #ffffff;
  --sas-hl-call-out-btn-radius:         6px;
  --sas-hl-call-out-btn-padding:        0.7em 1.8em;
  --sas-hl-call-out-btn-font-size:      14px;
  --sas-hl-call-out-btn-font-weight:    700;
  --sas-hl-call-out-btn-letter-spacing: 0.5px;
  --sas-hl-call-out-btn-margin-top:     1.5rem;
  --sas-hl-call-out-btn-transition:     all 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
  --sas-hl-call-out-btn-hover-bg:       var(--brand-secondary-hover);
  --sas-hl-call-out-btn-hover-border:   2px solid var(--brand-secondary-hover);
  --sas-hl-call-out-btn-hover-text:     #ffffff;

  /* ── Highlight: Infobox ──────────────────────────── */
  --sas-hl-infobox-bg:                  linear-gradient(135deg, var(--paper-blue) 0%, #ffffff 100%);
  --sas-hl-infobox-border-top:          0px solid transparent;
  --sas-hl-infobox-border-right:        0px solid transparent;
  --sas-hl-infobox-border-bottom:       0px solid transparent;
  --sas-hl-infobox-border-left:         0px solid transparent;
  --sas-hl-infobox-title:               var(--ink-heading);
  --sas-hl-infobox-text:                var(--ink-body);
  --sas-hl-infobox-border-radius:       12px;
  --sas-hl-infobox-padding:             2rem;
  --sas-hl-infobox-box-shadow:          0 8px 24px rgba(26, 110, 177, 0.16);

  --sas-hl-infobox-title-font-weight:    700;
  --sas-hl-infobox-title-letter-spacing: 0.3px;
  --sas-hl-infobox-title-margin-bottom:  1rem;
  --sas-hl-infobox-title-margin-top:     0rem;

  --sas-hl-infobox-content-line-height:  1.8;

  --sas-hl-infobox-btn-bg:              var(--brand-primary-color);
  --sas-hl-infobox-btn-border:          2px solid var(--brand-primary-color);
  --sas-hl-infobox-btn-text:            #ffffff;
  --sas-hl-infobox-btn-radius:          6px;
  --sas-hl-infobox-btn-padding:         0.7em 1.8em;
  --sas-hl-infobox-btn-font-size:       14px;
  --sas-hl-infobox-btn-font-weight:     700;
  --sas-hl-infobox-btn-letter-spacing:  0.5px;
  --sas-hl-infobox-btn-margin-top:      1.5rem;
  --sas-hl-infobox-btn-transition:      all 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
  --sas-hl-infobox-btn-hover-bg:        var(--brand-secondary-hover);
  --sas-hl-infobox-btn-hover-border:    2px solid var(--brand-secondary-hover);
  --sas-hl-infobox-btn-hover-text:      #ffffff;

  /* ── Text Larger (& Feature) ─────────────────────── */
  --sas-larger-title-weight:      700;
  --sas-larger-content-size:      1.4rem;
  --sas-larger-content-size-min:  1.1rem;
  --sas-larger-content-size-max:  1.4rem;
  --sas-larger-content-lh:        1.7;
  --sas-feature-larger-content-color: #ffffff;

  /* ── Text Regular ────────────────────────────────── */
  --sas-regular-title-weight:     600;
  --sas-regular-content-lh:       1.65;  /* consumed by plugin */
  --sas-regular-content-size:     1.1rem;

  /* ── Disclaimer ──────────────────────────────────── */
  --sas-disclaimer-border-top:      1px solid #cccccc;
  --sas-disclaimer-title:           #666666;
  --sas-disclaimer-title-size:      11px;
  --sas-disclaimer-text:            var(--ink-faint);
  --sas-disclaimer-text-size:       11px;
  --sas-disclaimer-padding-top:     .75em;
  --sas-disclaimer-margin-top:      2em;
  --sas-disclaimer-letter-spacing:  .08em;
  --sas-disclaimer-line-height:     1.6;

  /* ── Image spacing ───────────────────────────────── */
  --sas-img-stack-gap:           1rem;
  --sas-img-border-radius:       8px;

  /* ── CTA block (overrides plugin defaults) ───────── */
  --sas-cta-accent:        #8b1a1a;
  --sas-cta-bg:            #fff8f8;
  --sas-cta-border-width:  4px;
  --sas-cta-title-color:   #7f1d1d;
  --sas-cta-body-color:    #1f2937;
  --sas-cta-btn-bg:        #8b1a1a;
  --sas-cta-btn-hover:     #6b1212;
  --sas-cta-btn-color:     #ffffff;
  --sas-cta-padding-x:     1.5rem;
  --sas-cta-padding-y:     1.5rem;
  --sas-cta-radius:        4px;
  --sas-cta-img-radius:    4px;
  --sas-cta-img-max-width: 100%;

  /* ── Row backgrounds ─────────────────────────────── */
  --sas-row-background-feature:   var(--brand-primary-color);
  --sas-row-background-odd:       var(--ice);
  --sas-row-background-even:      #fff1e4;
  --sas-row-background-gray:      rgb(206 228 255 / 0.29);
  --sas-row-background-secondary: #e1eef8;

  /* ── Bullets — divider/padding consumed by plugin ── */
  --sas-list-bullet:        var(--brand-primary-color);
  --sas-list-divider:       #dceaf5;
  --sas-list-item-padding:  0.5em 0 .5em .0em;

  /* ── Mini Menu ───────────────────────────────────── */
  --sas-mini-menu-border:      1px solid #e0e0e0;
  --sas-mini-menu-border-left: 3px solid var(--brand-primary-color);
  --sas-mini-menu-bg:          #ffffff;
  --sas-mini-menu-bg-hover:    #f5f9fd;
  --sas-mini-menu-link:        var(--brand-secondary-color);
  --sas-mini-menu-link-hover:  var(--brand-third-color);
  --sas-mini-menu-font-size:   14px;
  --sas-mini-menu-padding:     .7em 1em;
}


/* ======================================================
   B. BASE RESET
====================================================== */
html, body {
  margin:     0;
  padding:    0;
  overflow-x: hidden;
}
img {
  max-width: 100%;
  height:    auto;
}
a:focus,
button:focus {
  outline:    none;
  box-shadow: none;
}


/* ======================================================
   C. SHARED WIDTH SYSTEM
====================================================== */
.topbar-inner,
.site-content-inner {
  max-width:     1150px;
  margin-left:   auto;
  margin-right:  auto;
  padding-left:  16px;
  padding-right: 16px;
}

.topbar-inner {
  display:       flex;
  align-items:   center;
  gap:           1rem;
  flex-wrap:     nowrap;
  min-height:    64px;
}
.topbar-inner {
  min-height:     64px;
  display:        flex;
  align-items:    center;
  gap:            1rem;
  padding-top:    8px;
  padding-bottom: 8px;
}
.topbar-logo  { flex-shrink: 0; }
.topbar-utils { flex: 1 1 auto; display: flex; justify-content: flex-end; }
.topbar-toggler { flex-shrink: 0; margin-left: auto; }
 

.wp-block-image img {
  display:       inline-block;
  border-radius: var(--sas-img-border-radius);
}

.wp-block-bcb-column .wp-block-image img {
  display:    inline-block;
  max-width:  75%;
}


/* ======================================================
   BASE TYPOGRAPHY
====================================================== */
h1 { font-size: var(--h1-size); }
h2 { font-size: var(--h2-size); }
h3 { font-size: var(--h3-size); }
h4 { font-size: var(--h4-size); }
h5 { font-size: var(--h5-size); }
h6 { font-size: var(--h6-size); }

/* Block titles size by their tag, overriding the
   plugin's per-block-style clamps (higher specificity) */
.sas-block h1.sas-block__title { font-size: var(--h1-size); }
.sas-block h2.sas-block__title { font-size: var(--h2-size); }
.sas-block h3.sas-block__title { font-size: var(--h3-size); }
.sas-block h4.sas-block__title { font-size: var(--h4-size); }
.sas-block h5.sas-block__title { font-size: var(--h5-size); }
.sas-block h6.sas-block__title { font-size: var(--h6-size); }

.sas-block .sas-block__title {
    font-size: var(--h2-size);
    margin-bottom: .1em;
}

p {
  font-size:   var(--sas-regular-content-size);
  line-height: var(--sas-regular-content-lh);
  margin:      0 0 1rem 0;
  color:       #333333;
}

li {
  font-size:     var(--sas-regular-content-size);
  line-height:   var(--sas-regular-content-lh);
  color:         #333333;
  margin-bottom: 0.5rem;
  margin-left:   0;
  padding:       0;
}

ul {
  list-style-position: outside;
  padding-left:        1.5rem;
  margin:              0 0 1rem 0;
}

.sas-block__content ul li {
  position:      relative;
  padding:       var(--sas-list-item-padding);
  border-bottom: 1px solid var(--sas-list-divider);
  line-height:   1.6;
}

.white p {color:#ffffff}


/* ======================================================
   D. TOP BAR
====================================================== */
.site-topbar {
  background:    var(--topbar-bg);
  border-bottom: 1px solid var(--topbar-border);
}
.topbar-inner {
  min-height:  64px;
  display:     flex;
  align-items: center;
}
.site-logo {
  max-height: 46px;
  width:      auto;
  flex-shrink: 0;
}


/* ======================================================
   E. BUTTONS
====================================================== */
a.btn,
button.btn,
input[type="submit"].btn {
  color:            var(--btn-color) !important;
  border-color:     var(--btn-border-color);
  font-weight:      var(--btn-font-weight) !important;
  background-color: var(--brand-primary-color);
  border-radius:    var(--btn-border-radius);
}
.btn-primary {
  --bs-btn-color:         var(--btn-color);
  --bs-btn-bg:            var(--btn-bg);
  --bs-btn-border-color:  var(--btn-border-color);
  --bs-btn-font-weight:   var(--btn-font-weight);
  --bs-btn-border-radius: var(--btn-border-radius);
}

@media (max-width: 767px) {
  .btn {
    display: block !important;
    margin-right: auto;
    width: var(--btn-mobile-width);
  }
}


/* ======================================================
   F. DESIGN ELEMENTS
====================================================== */
.separator {
  border:     none;
  border-top: var(--hr-separator-size) solid var(--hr-separator-color);
  opacity:    1;
}

.display-none { display: none !important; }


/* ======================================================
   G. UTILITY NAV
====================================================== */
.site-utils {
  width:          auto;
  text-align:     right;
  white-space:    nowrap;
  line-height:    1.1;
  display:        flex;
  flex-direction: column;
  align-items:    flex-end;
  gap:            0.125rem;
}

.site-utils-group {
  display:        flex;
  flex-direction: column;
  align-items:    flex-end;
  gap:            0.125rem;
}

.site-utils .site-utils-label,
.site-utils-group .site-utils-label {
  display:     block;
  font-size:   0.75rem;
  font-weight: 400;
  color:       var(--ink-body);
  line-height: 1.1;
}

.site-utils .site-utils-phone-link,
.site-utils-group .site-utils-phone-link {
  display:         block;
  font-size:       1.25rem;
  font-weight:     700;
  color:           var(--brand-primary-color);
  text-decoration: none;
  line-height:     1.1;
  transition:      color 160ms ease-out;
}

.site-utils .site-utils-phone-link:hover,
.site-utils-group .site-utils-phone-link:hover {
  color:           #e6830b;
  text-decoration: none;
}


/* ======================================================
   H. PRIMARY NAV
====================================================== */
.site-mainnav {
  background: linear-gradient(
    180deg,
    var(--mainnav-gradient-start) 0%,
    var(--mainnav-gradient-end)   100%
  );
}

.site-mainnav .navbar-nav {
  align-items: flex-start;
}

.site-main-menu .nav-item {
  margin:   0 16px;
  position: relative;
}

.site-main-menu .nav-link {
  display:        inline-block;
  font-size:      15px;
  font-weight:    600;
  letter-spacing: 0.01em;
  line-height:    1;
  color:          var(--mainnav-link);
  background:     none;
  border:         0;
}

.site-main-menu .nav-link:hover,
.site-main-menu .nav-link.active,
.navbar-nav .nav-link.show {
  color: var(--mainnav-link-hover);
}

.site-mainnav .navbar-toggler {
  border:     none;
  background: none;
  padding:    0;
  box-shadow: none;
}

/* ── Custom Hamburger Button ───────────────────────── */
.navbar-toggler--custom {
  padding:        0;
  border:         none;
  background:     transparent;
  display:        flex;
  align-items:    center;
  justify-content: center;
  width:          40px;
  height:         40px;
  flex-shrink:    0;
  transition:     background 160ms ease-out;
}

.navbar-toggler--custom:focus {
  box-shadow: none;
  outline:    none;
}

.navbar-toggler--custom:hover {
  background: transparent;
}

.navbar-toggler--custom[aria-expanded="true"] {
  background: transparent;
}

/* Custom PNG icons */
.menu-icon {
  display:       block;
  width:         28px;
  height:        28px;
  transition:    opacity 160ms ease-out;
  filter:        brightness(0) saturate(100%) invert(36%) sepia(58%) saturate(749%) hue-rotate(169deg) brightness(94%) contrast(91%);
}

/* Default: hamburger visible, close hidden.
   Icon swap on open/close is handled by JS in header.php
   (inline display overrides, works across Bootstrap versions). */
.menu-icon--close {
  display: none;
}

.navbar-toggler--custom .navbar-toggler-icon {
  display: none;
}

/* ── Navbar text styling (utilities in blue bar) ──── */
.navbar-text {
  display:      flex;
  align-items:  center;
  gap:          20px;
  font-size:    0.875rem;
  white-space:  nowrap;
  margin:       0 auto;
  color:        var(--mainnav-link);
  line-height:  1.2;
}

.navbar-text a {
  color:            var(--mainnav-link);
  font-weight:      500;
  text-decoration:  none;
  font-size:        0.875rem;
  transition:       color 160ms ease-out;
}

.navbar-text a:hover {
  color: #ffffff;
  text-decoration: underline;
}

/* ── Dropdowns ─────────────────────────────────────── */
.site-main-menu .dropdown-toggle::after {
  display:        inline-block;
  margin-left:    0.375rem;
  vertical-align: 0.125em;
  content:        "";
  border-top:     0.3em solid;
  border-right:   0.3em solid transparent;
  border-bottom:  0;
  border-left:    0.3em solid transparent;
  transition:     transform 160ms ease-out;
}

.site-main-menu .dropdown:hover > .dropdown-toggle::after {
  transform: rotate(180deg);
}

.site-main-menu .dropdown-menu {
  position:         absolute;
  top:              100%;
  left:             0;
  z-index:          1000;
  display:          none;
  min-width:        160px;
  padding:          0.5rem 0;
  margin:           0;
  list-style:       none;
  background-color: var(--mainnav-gradient-end);
  border:           none;
  border-radius:    4px;
}

.site-main-menu .dropdown:hover > .dropdown-menu {
  display: block;
}

.site-main-menu .dropdown-menu .nav-link {
  display:        block;
  padding:        0.5rem 1rem;
  margin:         0;
  font-size:      14px;
  font-weight:    400;
  letter-spacing: normal;
  color:          var(--mainnav-link);
  white-space:    nowrap;
}

.site-main-menu .dropdown-menu .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.08);
  color:            var(--mainnav-link-hover);
}


/* ======================================================
   I. BODY CONTENT
====================================================== */
#site-content              { width: 100%; }
#site-content > .container { max-width: none; padding: 0; }


/* ======================================================
   J. BOOTSTRAP COLUMNS BLOCK (BCB)
====================================================== */
.even-strap      { background: var(--sas-row-background-even); }
.odd-strap       { background: var(--sas-row-background-odd); }
.secondary-strap { background: var(--sas-row-background-secondary); }
.gray-strap      { background: var(--sas-row-background-gray); }

.feature-strap {
  background: var(--sas-row-background-feature);
  color:      var(--brand-third-color);
}
.feature-strap h1,
.feature-strap h2,
.feature-strap h3,
.feature-strap h4,
.feature-strap h5,
.feature-strap h6 { color: var(--sas-feature-larger-content-color); }


.feature-strap p { color: var(--sas-feature-larger-content-color); }


.feature-strap .btn.btn-primary {
  background-color: var(--sas-feature-btn-bg);
  border:           var(--sas-feature-btn-border);
  color:            var(--sas-feature-btn-text);
}

.feature-strap .btn.btn-primary:hover {
  background-color: var(--sas-feature-btn-hover-bg);
  border:           var(--sas-feature-btn-hover-border);
  color:            var(--sas-feature-btn-hover-text) !important;
}



/* ── Full-width breakout ───────────────────────────── */
.wp-block-bcb-columns {
  width:       100vw !important;
  position:    relative !important;
  left:        50% !important;
  margin-left: -50vw !important;
}
.wp-block-bcb-columns .boot-block {
  max-width:    1150px;
  margin-left:  auto;
  margin-right: auto;
}



/* Text alignment preservation */
.wp-block-bcb-columns .has-text-align-center { text-align: center !important; }
.wp-block-bcb-columns .has-text-align-right  { text-align: right  !important; }
.wp-block-bcb-columns .has-text-align-left   { text-align: left   !important; }

/* Grow off: don't equalize column heights unless requested */
.wp-block-bcb-columns .row:not(.bcb-grow-cols) { align-items: flex-start; }
.bcb-grow-cols > [class*="col-"]               { align-self: stretch; }

/* Column gap — CSS Grid (Bootstrap width:X% can't interfere) */
.row.bcb-gap-1,
.row.bcb-gap-3,
.row.bcb-gap-5 {
  display:               grid !important;
  grid-template-columns: repeat(12, 1fr);
  --bs-gutter-x:         0;
  margin-left:           0 !important;
  margin-right:          0 !important;
}
.row.bcb-gap-1 { gap: 1em; }
.row.bcb-gap-3 { gap: 3em; }
.row.bcb-gap-5 { gap: 5em; }

.row.bcb-gap-1 > [class*="col-"],
.row.bcb-gap-3 > [class*="col-"],
.row.bcb-gap-5 > [class*="col-"] {
  width:     auto !important;
  max-width: none !important;
  min-width: 0;
}

@media (min-width: 992px) {
  .row.bcb-gap-1 > .col-lg-1,  .row.bcb-gap-3 > .col-lg-1,  .row.bcb-gap-5 > .col-lg-1  { grid-column: span 1;  }
  .row.bcb-gap-1 > .col-lg-2,  .row.bcb-gap-3 > .col-lg-2,  .row.bcb-gap-5 > .col-lg-2  { grid-column: span 2;  }
  .row.bcb-gap-1 > .col-lg-3,  .row.bcb-gap-3 > .col-lg-3,  .row.bcb-gap-5 > .col-lg-3  { grid-column: span 3;  }
  .row.bcb-gap-1 > .col-lg-4,  .row.bcb-gap-3 > .col-lg-4,  .row.bcb-gap-5 > .col-lg-4  { grid-column: span 4;  }
  .row.bcb-gap-1 > .col-lg-5,  .row.bcb-gap-3 > .col-lg-5,  .row.bcb-gap-5 > .col-lg-5  { grid-column: span 5;  }
  .row.bcb-gap-1 > .col-lg-6,  .row.bcb-gap-3 > .col-lg-6,  .row.bcb-gap-5 > .col-lg-6  { grid-column: span 6;  }
  .row.bcb-gap-1 > .col-lg-7,  .row.bcb-gap-3 > .col-lg-7,  .row.bcb-gap-5 > .col-lg-7  { grid-column: span 7;  }
  .row.bcb-gap-1 > .col-lg-8,  .row.bcb-gap-3 > .col-lg-8,  .row.bcb-gap-5 > .col-lg-8  { grid-column: span 8;  }
  .row.bcb-gap-1 > .col-lg-9,  .row.bcb-gap-3 > .col-lg-9,  .row.bcb-gap-5 > .col-lg-9  { grid-column: span 9;  }
  .row.bcb-gap-1 > .col-lg-10, .row.bcb-gap-3 > .col-lg-10, .row.bcb-gap-5 > .col-lg-10 { grid-column: span 10; }
  .row.bcb-gap-1 > .col-lg-11, .row.bcb-gap-3 > .col-lg-11, .row.bcb-gap-5 > .col-lg-11 { grid-column: span 11; }
  .row.bcb-gap-1 > .col-lg-12, .row.bcb-gap-3 > .col-lg-12, .row.bcb-gap-5 > .col-lg-12 { grid-column: span 12; }
}
@media (max-width: 991px) {
  .row.bcb-gap-1 > [class*="col-"],
  .row.bcb-gap-3 > [class*="col-"],
  .row.bcb-gap-5 > [class*="col-"] { grid-column: span 12; }

  .row.bcb-gap-1,
  .row.bcb-gap-3,
  .row.bcb-gap-5 {
    column-gap: 0;
    row-gap:    1.5em;
  }
}


/* ======================================================
   K. SAS TEXT BLOCKS
====================================================== */

/* ── Base block ────────────────────────────────────── */
.sas-block {
  margin-top:    var(--sas-block-margin-y);
  margin-bottom: var(--sas-block-margin-y);
  border-top:    var(--sas-block-border-width-top,    1px) solid var(--sas-block-border-color, transparent);
  border-right:  var(--sas-block-border-width-right,  1px) solid var(--sas-block-border-color, transparent);
  border-bottom: var(--sas-block-border-width-bottom, 1px) solid var(--sas-block-border-color, transparent);
  border-left:   var(--sas-block-border-width-left,   0px) solid var(--sas-block-border-color, transparent);
}
.sas-block__title {
  margin-top:    0;
  margin-bottom: 1rem;
  line-height:   1.25;
}
.sas-block__content p:first-child { margin-top: 0; }
.sas-block__content p:last-child  { margin-bottom: 0; }

/* ── Hero ──────────────────────────────────────────── */
.sas-hero__title {
  margin-top:    0;
  margin-bottom: .5rem;
  font-size:     var(--h1-size);
  font-weight:   700;
  line-height:   1.2;
}

/* ── Text Larger ───────────────────────────────────── */
.sas-block--larger .sas-block__title {
  font-weight: var(--sas-larger-title-weight);
}
.sas-block--larger p,
.sas-block--larger li {
  font-size: var(--sas-larger-content-size);
}
.sas-block--larger p {
  line-height: var(--sas-larger-content-lh);
}

/* ── Text Regular ──────────────────────────────────── */
.sas-block--regular .sas-block__title {
  font-weight: var(--sas-regular-title-weight);
}
.sas-block--regular .sas-block__content {
  line-height: var(--sas-regular-content-lh);
  font-size:   var(--sas-regular-content-size);
}

/* ── Text Feature (same type scale as Larger) ──────── */
.sas-block--feature .sas-block__title {
  font-weight: var(--sas-larger-title-weight);
}
.sas-block--feature .sas-block__content {
  font-size:   clamp(
                 var(--sas-larger-content-size-min),
                 2vw,
                 var(--sas-larger-content-size-max)
               );
  line-height: var(--sas-larger-content-lh);
}

/* ── Disclaimer ────────────────────────────────────── */
.sas-block.sas-block--disclaimer {
  border-top:  var(--sas-disclaimer-border-top);
  padding-top: var(--sas-disclaimer-padding-top);
  margin-top:  var(--sas-disclaimer-margin-top);
}

.sas-block.sas-block--disclaimer .sas-block__title  {
  font-size:      var(--sas-disclaimer-title-size);
  font-weight:    500;
  letter-spacing: var(--sas-disclaimer-letter-spacing);
  text-transform: uppercase;
  color:          var(--sas-disclaimer-title);
  margin-bottom:  .3em;
}

.sas-block.sas-block--disclaimer .sas-block__content p {
  font-size:   var(--sas-disclaimer-text-size);
  line-height: var(--sas-disclaimer-line-height);
  color:       var(--sas-disclaimer-text);
}

/* ── Highlight: Feature ────────────────────────────── */
.sas-hl--feature {
  background:    var(--sas-feature-bg);
  border-left:   6px solid var(--sas-feature-accent);
  border-radius: 0 10px 10px 0;
  padding:       1.25rem 1.25rem 1.25rem 1.5rem;
  color:         var(--ice);
}
.sas-hl--feature h1,
.sas-hl--feature h2,
.sas-hl--feature h3,
.sas-hl--feature h4 { color: #ffffff; }
.sas-hl--feature p  { color: rgba(232,246,255,.88); }
.sas-hl--feature .btn.btn-primary {
  background-color: var(--brand-primary-color);
  border-color:     var(--brand-primary-color);
  color:            var(--brand-third-color);
}
.sas-hl--feature .btn.btn-primary:hover {
  background-color: #ffffff;
  border-color:     #ffffff;
  color:            var(--brand-third-color);
}

/* ── Highlight: Warm ───────────────────────────────── */
.sas-hl--warm {
  background-color: var(--sas-hl-warm-bg);
  border-top:       var(--sas-hl-warm-accent-bar);
  border-radius:    var(--sas-hl-warm-border-radius);
  padding:          var(--sas-hl-warm-padding);
  box-shadow:       0 4px 12px rgba(26, 110, 177, 0.08);
}

.sas-hl--warm .sas-block__title {
  color:       var(--sas-hl-warm-title);
  font-weight: 700;
}

.sas-hl--warm .sas-block__content {
  color:       var(--sas-hl-warm-content-color);
  opacity:     var(--sas-hl-warm-content-opacity);
  font-size:   var(--sas-hl-warm-content-font-size);
  font-weight: var(--sas-hl-warm-content-font-weight);
  line-height: var(--sas-hl-warm-content-line-height);
}

.sas-hl--warm .sas-block__content p {
  color:   var(--sas-hl-warm-content-color);
  opacity: var(--sas-hl-warm-content-opacity);
}

.sas-hl--warm .sas-block__content ul {
  list-style:   none;
  padding-left: 0;
  margin:       0 0 1rem 0;
}

.sas-hl--warm .sas-block__content ul li {
  position:      relative;
  padding-left:  1.2rem;
  margin-left:   0;
  margin-bottom: var(--sas-hl-warm-list-margin-bottom);
  color:         var(--sas-hl-warm-list-color);
  font-size:     var(--sas-hl-warm-list-font-size);
  line-height:   var(--sas-hl-warm-list-line-height);
}

.sas-hl--warm .sas-block__content ul li::before {
  content:       '';
  position:      absolute;
  left:          0;
  top:           1.25em;
  width:         8px;
  height:        8px;
  border-radius: 50%;
  background:    var(--sas-hl-warm-list-bullet-color);
}

.sas-hl--warm .btn.btn-primary {
  background-color: var(--sas-hl-warm-btn-bg);
  border:           var(--sas-hl-warm-btn-border);
  color:            var(--sas-hl-warm-btn-text);
  border-radius:    var(--sas-hl-warm-btn-radius);
  padding:          var(--sas-hl-warm-btn-padding);
  font-size:        var(--sas-hl-warm-btn-font-size);
  font-weight:      var(--sas-hl-warm-btn-font-weight);
  letter-spacing:   var(--sas-hl-warm-btn-letter-spacing);
  text-decoration:  none;
  display:          inline-block;
  margin-top:       var(--sas-hl-warm-btn-margin-top);
  transition:       var(--sas-hl-warm-btn-transition);
}

.sas-hl--warm .btn.btn-primary:hover {
  background-color: var(--sas-hl-warm-btn-hover-bg);
  border:           var(--sas-hl-warm-btn-hover-border);
  color:            var(--sas-hl-warm-btn-hover-text);
}

/* ── Highlight: Call-out ───────────────────────────── */
.sas-hl--call-out {
  background-color: var(--sas-hl-call-out-bg);
  border-top:       var(--sas-hl-call-out-accent-bar);
  border-radius:    var(--sas-hl-call-out-border-radius);
  padding:          var(--sas-hl-call-out-padding);
  box-shadow:       0 4px 12px rgba(26, 110, 177, 0.1);
}

.sas-hl--call-out .sas-block__title {
  color:       var(--sas-hl-call-out-title);
  font-weight: 700;
}

.sas-hl--call-out .sas-block__content {
  color: var(--sas-hl-call-out-text);
}

.sas-hl--call-out .btn.btn-primary {
  background-color: var(--sas-hl-call-out-btn-bg);
  border:           var(--sas-hl-call-out-btn-border);
  color:            var(--sas-hl-call-out-btn-text);
  border-radius:    var(--sas-hl-call-out-btn-radius);
  padding:          var(--sas-hl-call-out-btn-padding);
  font-size:        var(--sas-hl-call-out-btn-font-size);
  font-weight:      var(--sas-hl-call-out-btn-font-weight);
  letter-spacing:   var(--sas-hl-call-out-btn-letter-spacing);
  text-decoration:  none;
  display:          inline-block;
  margin-top:       var(--sas-hl-call-out-btn-margin-top);
  transition:       var(--sas-hl-call-out-btn-transition);
}

.sas-hl--call-out .btn.btn-primary:hover {
  background-color: var(--sas-hl-call-out-btn-hover-bg);
  border:           var(--sas-hl-call-out-btn-hover-border);
  color:            var(--sas-hl-call-out-btn-hover-text);
}

/* ── Highlight: Sidebar ────────────────────────────── */
.sas-hl--sidebar:not(.sas-block) {
  background:    rgb(206 228 255 / 0.29);
  border:        none;
  border-radius: 0;
  box-shadow:    0 2px 12px rgba(26,110,177,.08);
  padding:       1.25rem;
  color:         var(--brand-third-color);
}
.sas-hl--sidebar:not(.sas-block) h1,
.sas-hl--sidebar:not(.sas-block) h2,
.sas-hl--sidebar:not(.sas-block) h3,
.sas-hl--sidebar:not(.sas-block) h4 { color: var(--brand-third-color); }
.sas-hl--sidebar:not(.sas-block) p  { color: #3a5068; }

.sas-hl--sidebar:not(.sas-block) .btn.btn-primary {
  background-color: var(--sas-hl-sidebar-btn-bg);
  border:           var(--sas-hl-sidebar-btn-border);
  color:            var(--sas-hl-sidebar-btn-text);
  border-radius:    var(--sas-hl-sidebar-btn-radius);
  padding:          var(--sas-hl-sidebar-btn-padding);
  font-size:        var(--sas-hl-sidebar-btn-font-size);
  font-weight:      var(--sas-hl-sidebar-btn-font-weight);
  letter-spacing:   var(--sas-hl-sidebar-btn-letter-spacing);
  text-decoration:  none;
  display:          inline-block;
  margin-top:       var(--sas-hl-sidebar-btn-margin-top);
  transition:       var(--sas-hl-sidebar-btn-transition);
}
.sas-hl--sidebar:not(.sas-block) .btn.btn-primary:hover {
  background-color: var(--sas-hl-sidebar-btn-hover-bg);
  border:           var(--sas-hl-sidebar-btn-hover-border);
  color:            var(--sas-hl-sidebar-btn-hover-text);
}

/* ── Mini-menu inside Sidebar ──────────────────────── */
.sas-hl--sidebar ul.sas-mini-menu {
  border:      none;
  border-left: none;
  margin-top:  .75rem;
}
.sas-hl--sidebar ul.sas-mini-menu li {
  border-bottom: 1px solid rgba(26,110,177,.13);
  position:      relative;
  overflow:      hidden;
}
.sas-hl--sidebar ul.sas-mini-menu li:last-child {
  border-bottom: none;
}
.sas-hl--sidebar ul.sas-mini-menu li a::before {
  content:    '';
  position:   absolute;
  left:       0;
  top:        0;
  bottom:     0;
  width:      0;
  background: var(--brand-secondary-color);
  transition: width .18s ease;
}
.sas-hl--sidebar ul.sas-mini-menu li a:hover::before {
  width: 3px;
}
.sas-hl--sidebar ul.sas-mini-menu li a {
  position:        relative;
  display:         block;
  background:      transparent;
  color:           #1a3a5c;
  font-size:       .9rem;
  font-weight:     500;
  padding:         .6rem .5rem .6rem .75rem;
  letter-spacing:  .01em;
  text-decoration: none;
  transition:      background .18s, color .18s, padding-left .18s;
}
.sas-hl--sidebar ul.sas-mini-menu li a:hover {
  background:   rgba(26,110,177,.07);
  color:        var(--brand-third-color);
  padding-left: 1.1rem;
}

/* ── Highlight: Infobox ────────────────────────────── */
.sas-hl--infobox {
  background:    var(--sas-hl-infobox-bg);
  border-top:    var(--sas-hl-infobox-border-top);
  border-right:  var(--sas-hl-infobox-border-right);
  border-bottom: var(--sas-hl-infobox-border-bottom);
  border-left:   var(--sas-hl-infobox-border-left);
  border-radius: var(--sas-hl-infobox-border-radius);
  padding:       var(--sas-hl-infobox-padding);
  box-shadow:    var(--sas-hl-infobox-box-shadow);
}

.sas-hl--infobox .sas-block__title {
  color:          var(--sas-hl-infobox-title);
  font-weight:    var(--sas-hl-infobox-title-font-weight);
  letter-spacing: var(--sas-hl-infobox-title-letter-spacing);
  margin-top:     var(--sas-hl-infobox-title-margin-top);
}

.sas-hl--infobox .sas-block__content {
  color:       var(--sas-hl-infobox-text);
  line-height: var(--sas-hl-infobox-content-line-height);
}

.sas-hl--infobox p {
  font-size: var(--sas-regular-content-size);
   color:       var(--sas-hl-infobox-text)!important;
}

.sas-hl--infobox .btn.btn-primary {
  background-color: var(--sas-hl-infobox-btn-bg);
  border:           var(--sas-hl-infobox-btn-border);
  color:            var(--sas-hl-infobox-btn-text);
  border-radius:    var(--sas-hl-infobox-btn-radius);
  padding:          var(--sas-hl-infobox-btn-padding);
  font-size:        var(--sas-hl-infobox-btn-font-size);
  font-weight:      var(--sas-hl-infobox-btn-font-weight);
  letter-spacing:   var(--sas-hl-infobox-btn-letter-spacing);
  text-decoration:  none;
  display:          inline-block;
  margin-top:       var(--sas-hl-infobox-btn-margin-top);
  transition:       var(--sas-hl-infobox-btn-transition);
}

.sas-hl--infobox .btn.btn-primary:hover {
  background-color: var(--sas-hl-infobox-btn-hover-bg);
  border:           var(--sas-hl-infobox-btn-hover-border);
  color:            var(--sas-hl-infobox-btn-hover-text);
}

/* ── Image layouts ─────────────────────────────────── */
.sas-block__img--above-title { margin-bottom: 1em; }
.sas-block__img--below-title { margin-top: var(--sas-img-stack-gap); margin-bottom: var(--sas-img-stack-gap); }
.has-text-align-center       { text-align: center; }


/* ======================================================
   L. MINI MENU
====================================================== */
ul.sas-mini-menu {
  list-style:  none;
  margin:      0;
  padding:     0;
  border:      var(--sas-mini-menu-border);
  border-left: var(--sas-mini-menu-border-left);
}

ul.sas-mini-menu li {
  border-bottom: var(--sas-mini-menu-border);
  margin:        0;
}

ul.sas-mini-menu li:last-child {
  border-bottom: none;
}

ul.sas-mini-menu li a {
  display:          block;
  padding:          var(--sas-mini-menu-padding);
  font-size:        var(--sas-mini-menu-font-size);
  font-weight:      500;
  color:            var(--sas-mini-menu-link);
  text-decoration:  none;
  background-color: var(--sas-mini-menu-bg);
  transition:       background-color .15s, color .15s, padding-left .15s;
}

ul.sas-mini-menu li a:hover {
  background-color: var(--sas-mini-menu-bg-hover);
  color:            var(--sas-mini-menu-link-hover);
  padding-left:     1.4em;
}


/* ======================================================
   M. FOOTER
====================================================== */
#site-footer {
  background-color: var(--footer-bg);
  color:            var(--footer-text);
  font-size:        var(--footer-font-size-base);
  line-height:      1.6;
}
.footer-inner {
  max-width:    var(--footer-max-width);
  margin-left:  auto;
  margin-right: auto;
  padding:      var(--footer-padding-y) var(--footer-padding-x);
}
.footer-top {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  flex-wrap:       wrap;
  gap:             1.5rem;
  margin-bottom:   1.5rem;
}
.footer-logos  { display: flex; align-items: center; gap: 1.25rem; }
.footer-logo   { height: var(--footer-logo-height); width: auto; display: block; }
.footer-logo--nar { height: calc(var(--footer-logo-height) * 0.9); }
.footer-logo-divider {
  width:            1px;
  height:           var(--footer-logo-height);
  background-color: var(--footer-logo-divider);
  flex-shrink:      0;
}
.footer-social { display: flex; align-items: center; gap: var(--footer-social-gap); }
.footer-social-icon {
  display:          flex;
  align-items:      center;
  justify-content:  center;
  width:            var(--footer-social-size);
  height:           var(--footer-social-size);
  border-radius:    50%;
  background-color: var(--footer-social-bg);
  color:            var(--footer-social-icon);
  text-decoration:  none;
  transition:       background-color 160ms ease-out;
  flex-shrink:      0;
}
.footer-social-icon:hover {
  background-color: var(--footer-social-bg-hover);
  color:            var(--footer-social-icon);
}
.footer-address {
  font-size:     var(--footer-font-size-base);
  font-weight:   700;
  color:         var(--footer-text);
  margin-bottom: 0;
}
.footer-rule      { border: none; border-top: 1px solid var(--footer-border); margin: 1.5rem 0; }
.footer-legal     { font-size: var(--footer-font-size-sm); color: var(--footer-text-muted); line-height: 1.65; margin-bottom: 1.25rem; }
.footer-licenses  { font-size: var(--footer-font-size-sm); color: var(--footer-text-muted); line-height: 1.5; }
.footer-copyright { font-size: var(--footer-font-size-sm); color: var(--footer-text-muted); }
.footer-link      { color: var(--footer-link); text-decoration: none; transition: color 160ms ease-out; }
.footer-link:hover { color: var(--footer-link-hover); text-decoration: underline; }


/* ======================================================
   N. TABLES — Override Bootstrap Variables
====================================================== */
.table {
  --bs-table-bg:            #ffffff;
  --bs-table-border-color:  var(--topbar-border);
  --bs-table-striped-bg:    var(--sas-row-background-odd);
  --bs-table-hover-bg:      #eef6fd;
}

.table thead {
  background: linear-gradient(180deg, var(--mainnav-gradient-start) 0%, var(--mainnav-gradient-end) 100%) !important;
}

.table thead th {
  color:       var(--mainnav-link) !important;
  border:      none !important;
  font-weight: 700 !important;
  background:  transparent !important;
  padding:     0.75rem !important;
}


/* ======================================================
   O. SITE CHROME RESPONSIVE
====================================================== */
@media (max-width: 991px) {
  .site-utils               { display: none; }
  .site-main-menu .nav-item { margin: 0; }
  .site-main-menu .nav-link { padding: 12px 0; }
}
 

@media (max-width: 767px) {
  /* Mobile responsive — utilities in blue bar shrink */
  .navbar-text {
    gap: 0.75rem;
  }

  .navbar-text .site-utils-label {
    font-size: 0.85rem;
  }

  .navbar-text .site-utils-phone-link {
    font-size: 0.95rem;
  }

  /* Footer responsive */
  .footer-top               { flex-direction: column; align-items: flex-start; }
  .footer-logos             { flex-wrap: wrap; }
  .footer-social            { margin-top: 0.5rem; }
  .footer-logo,
  .footer-logo--nar         { height: 40px; }
  .footer-logo-divider      { height: 40px; }

  :root {
    --sas-larger-content-size: 1rem;
    --sas-img-stack-gap:       2rem;
  }
}
/* ======================================================
   MOBILE NAV — panel-slide submenu system
====================================================== */

/* Dividers between all main-panel nav items */
  .sas-panel--main > .nav-item {
    border-bottom: 1px solid rgba(255,255,255,0.15);
  }
  .sas-panel--main > .nav-item:last-child {
    border-bottom: none;
  }

/* Right-arrow indicator for items with submenus */
.sas-panel__has-sub {
    display:     block;
    margin-left: auto;
    font-size:   1.4em;
    font-weight: 300;
    line-height: 1;
    opacity:     0.8;
    flex-shrink: 0;
  }

  /* Parent links need flex so arrow aligns right */
  .sas-panel--main .menu-item-has-children > a.nav-link {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    padding-right:   0.5rem;
  }

  /* Space between back arrow and label text */
  .sas-panel__back-arrow {
    margin-right: 0.5rem;
    font-size:    1.1em;
  }

@media (max-width: 991px) {

  /* Blue background on the collapse element itself,
     prevents flash when menu opens */
  .site-mainnav #primaryNav {
    background: linear-gradient(
      180deg,
      var(--mainnav-gradient-start) 0%,
      var(--mainnav-gradient-end)   100%
    );
    padding-bottom: 1rem;
  }

  /* Hide Bootstrap dropdown-menu; submenus live in panels */
  .site-main-menu .dropdown-menu {
    display: none !important;
  }

  /* Remove Bootstrap dropdown caret */
  .site-main-menu .dropdown-toggle::after {
    display: none;
  }

  /* Panel container clips sliding panels */
  .sas-panel-wrap {
    position: relative;
    overflow: hidden;
    width:    100%;
  }

  .sas-panel {
    display: none;
    width:   100%;
  }

  .sas-panel--active {
    display:   block;
    animation: slideInRight 220ms ease forwards;
  }

  .sas-panel--exit-left {
    display: none;
  }

  @keyframes slideInRight {
    from { transform: translateX(30px); opacity: 0; }
    to   { transform: translateX(0);    opacity: 1; }
  }

  .sas-panel__back {
    display:       flex;
    align-items:   center;
    gap:           0.5rem;
    width:         100%;
    background:    rgba(0,0,0,0.15);
    border:        none;
    color:         var(--mainnav-link);
    font-size:     15px;
    font-weight:   600;
    padding:       12px 0;
    cursor:        pointer;
    text-align:    left;
    margin-bottom: 0.25rem;
  }

  .sas-panel__back:hover {
    background: rgba(0,0,0,0.25);
  }

  .sas-panel__back-arrow {
    font-size:   1.1em;
    line-height: 1;
                padding-left: 12px;
  }



  .sas-panel--sub .nav-link:hover {
    color: var(--mainnav-link-hover);
  }

  .sas-panel--sub li:last-child .nav-link {
    border-bottom: none;
  }

}

/* Sub-panel items — match main panel divider height/style */
  .sas-panel--sub > li {
    border-bottom: 1px solid rgba(255,255,255,0.15);
    padding: 0;
    list-style: none;
  }
  .sas-panel--sub > li:last-child {
    border-bottom: none;
  }
  .sas-panel--sub > li .nav-link {
    padding:     12px 0;
    font-size:   15px;
    font-weight: 600;
  }

/* ======================================================
   P. SINGLE ASSOCIATION
====================================================== */
:root {
  /* Association Logo */
  --assoc-logo-max-height:      180px;
  --assoc-logo-max-width:       360px;

  /* Products Grid */
  --assoc-products-grid-cols:   3;
  --assoc-products-grid-gap:    2rem;
  --assoc-product-card-bg:      #ffffff;
  --assoc-product-card-border:  var(--line);
  --assoc-product-card-shadow:  0 2px 8px rgba(26, 46, 74, 0.08);
  --assoc-product-card-hover:   0 8px 24px rgba(26, 46, 74, 0.15);
  --assoc-product-card-radius:  10px;
  --assoc-product-card-padding: 2.25rem;
  --assoc-product-icon-color:   var(--brand-primary-color);
  --assoc-product-icon-size:    56px;
  --assoc-product-title-size:   1.2rem;
  --assoc-product-title-weight: 700;
  --assoc-product-title-color:  var(--ink-heading);
  --assoc-product-text-size:    0.95rem;
  --assoc-product-text-color:   var(--ink-body);
  --assoc-product-text-lh:      1.65;

  /* Section Title */
  --assoc-section-title-size:   2rem;
  --assoc-section-title-weight: 700;
  --assoc-section-title-color:  var(--ink-heading);
  --assoc-section-intro-size:   1.05rem;
  --assoc-section-intro-color:  var(--ink-muted);

  /* Hero CTA */
  --assoc-hero-cta-padding-y:   0.85rem;
  --assoc-hero-cta-padding-x:   2.5rem;
  --assoc-hero-cta-font-size:   1rem;
  --assoc-hero-cta-weight:      600;

  /* Benefits */
  --assoc-benefits-wrapper-gap: 3.5rem;
  --assoc-benefits-card-bg:     #ffffff;
  --assoc-benefits-card-shadow: 0 4px 12px rgba(26, 46, 74, 0.1);
  --assoc-benefits-card-radius: 12px;
  --assoc-benefits-card-padding: 2.5rem;
  --assoc-benefits-badge-bg:    var(--brand-primary-color);
  --assoc-benefits-badge-color: #ffffff;
  --assoc-benefits-title-size:  1.5rem;
  --assoc-benefits-title-weight: 700;
  --assoc-benefits-title-color: var(--brand-secondary-color);
  --assoc-benefits-text-size:   0.95rem;
  --assoc-benefits-text-color:  var(--ink-body);
  --assoc-benefits-link-color:  var(--brand-secondary-color);
}

/* ── Hero CTA ──────────────────────────────────────── */
.assoc-hero__cta {
  margin-bottom: 1.75rem;
}

.assoc-hero__cta .btn {
  padding:       var(--assoc-hero-cta-padding-y) var(--assoc-hero-cta-padding-x);
  font-size:     var(--assoc-hero-cta-font-size);
  font-weight:   var(--assoc-hero-cta-weight);
  border-radius: 6px;
}

.assoc-hero__prompt {
  font-size: 0.9rem;
  color:     var(--ink-muted);
  margin:    0;
}

.assoc-link {
  color:           var(--brand-secondary-color);
  text-decoration: none;
  font-weight:     600;
  border-bottom:   2px solid var(--brand-secondary-color);
  transition:      all 160ms ease-out;
}

.assoc-link:hover {
  color:               var(--brand-secondary-hover);
  border-bottom-color: var(--brand-secondary-hover);
}

/* ── Association Logo ──────────────────────────────── */
.assoc-logo {
  max-height: var(--assoc-logo-max-height);
  max-width:  var(--assoc-logo-max-width);
  width:      100%;
  height:     auto;
  display:    block;
  object-fit: contain;
}

.assoc-logo--placeholder {
  max-height:       var(--assoc-logo-max-height);
  max-width:        var(--assoc-logo-max-width);
  width:            100%;
  height:           auto;
  aspect-ratio:     4 / 3;
  display:          flex;
  align-items:      center;
  justify-content:  center;
  background-color: #f0f6fb;
  border-radius:    12px;
  font-size:        1.1rem;
  font-weight:      700;
  color:            var(--ink-heading);
  text-align:       center;
  padding:          2.5rem;
}

/* ── Products Section ──────────────────────────────── */
.assoc-products {
  margin-bottom: 4.5rem;
}

.assoc-section-title {
  font-size:     var(--assoc-section-title-size);
  font-weight:   var(--assoc-section-title-weight);
  color:         var(--assoc-section-title-color);
  text-align:    center;
  margin-bottom: 1.25rem;
  margin-top:    0;
}

.assoc-products__intro {
  font-size:     var(--assoc-section-intro-size);
  color:         var(--assoc-section-intro-color);
  text-align:    center;
  max-width:     700px;
  margin:        0 auto 3rem auto;
  line-height:   1.7;
}

.assoc-products-grid {
  display:               grid;
  grid-template-columns: repeat(var(--assoc-products-grid-cols), 1fr);
  gap:                   var(--assoc-products-grid-gap);
}

.assoc-product-card {
  background-color: var(--assoc-product-card-bg);
  border:           1px solid var(--assoc-product-card-border);
  border-radius:    var(--assoc-product-card-radius);
  padding:          var(--assoc-product-card-padding);
  box-shadow:       var(--assoc-product-card-shadow);
  transition:       all 250ms ease-out;
  text-align:       center;
  display:          flex;
  flex-direction:   column;
  height:           100%;
}

.assoc-product-card:hover {
  box-shadow:   var(--assoc-product-card-hover);
  transform:    translateY(-8px);
  border-color: #d0dce9;
}

.assoc-product-card__icon {
  display:         flex;
  align-items:     center;
  justify-content: center;
  margin-bottom:   1.75rem;
  color:           var(--assoc-product-icon-color);
  height:          var(--assoc-product-icon-size);
}

.assoc-product-card__icon svg {
  width:  var(--assoc-product-icon-size);
  height: var(--assoc-product-icon-size);
}

.assoc-product-card__title {
  font-size:     var(--assoc-product-title-size);
  font-weight:   var(--assoc-product-title-weight);
  color:         var(--assoc-product-title-color);
  margin-bottom: 0.85rem;
  margin-top:    0;
}

.assoc-product-card__text {
  font-size:     var(--assoc-product-text-size);
  color:         var(--assoc-product-text-color);
  line-height:   var(--assoc-product-text-lh);
  margin-bottom: 1.75rem;
  margin-top:    0;
  flex-grow:     1;
}

.assoc-product-card .btn {
  margin-top: auto;
  padding:    0.6rem 1.5rem;
  font-size:  0.9rem;
}

/* ── Member Benefits Section ───────────────────────── */
.assoc-member-benefits {
  margin-bottom: 4rem;
}

.assoc-benefits-section-title {
  font-size:     var(--assoc-section-title-size);
  font-weight:   var(--assoc-section-title-weight);
  color:         var(--assoc-section-title-color);
  text-align:    center;
  margin-bottom: 2rem;
  margin-top:    0;
}

.assoc-benefits-wrapper {
  display:     flex;
  gap:         var(--assoc-benefits-wrapper-gap);
  align-items: flex-start;
}

.assoc-benefits-card {
  flex:             0 0 280px;
  background-color: var(--assoc-benefits-card-bg);
  border-radius:    var(--assoc-benefits-card-radius);
  padding:          var(--assoc-benefits-card-padding);
  box-shadow:       var(--assoc-benefits-card-shadow);
  position:         relative;
  overflow:         hidden;
}

.assoc-benefits-card::before {
  content:          "";
  position:         absolute;
  top:              0;
  left:             0;
  right:            0;
  height:           6px;
  background-color: var(--brand-secondary-color);
}

.assoc-benefits-card__badge {
  display:          inline-block;
  background-color: var(--assoc-benefits-badge-bg);
  color:            var(--assoc-benefits-badge-color);
  font-size:        0.7rem;
  font-weight:      800;
  letter-spacing:   0.12em;
  padding:          0.6rem 1.2rem;
  border-radius:    4px;
  margin-bottom:    1.25rem;
}

.assoc-benefits-card__title {
  font-size:     var(--assoc-benefits-title-size);
  font-weight:   var(--assoc-benefits-title-weight);
  color:         var(--assoc-benefits-title-color);
  line-height:   1.2;
  margin-bottom: 0.75rem;
  margin-top:    0;
}

.assoc-benefits-card__text {
  font-size:     var(--assoc-benefits-text-size);
  color:         var(--assoc-benefits-text-color);
  line-height:   1.65;
  margin-bottom: 1.25rem;
  margin-top:    0;
}

.assoc-benefits-card__link {
  display:         inline-block;
  color:           var(--assoc-benefits-link-color);
  text-decoration: underline;
  font-weight:     700;
  font-size:       0.95rem;
  transition:      color 160ms ease-out;
}

.assoc-benefits-card__link:hover {
  color: var(--brand-secondary-hover);
}

/* ── Testimonial ───────────────────────────────────── */
.assoc-benefits-testimonial {
  flex:      1;
  min-width: 0;
}

.assoc-benefits-testimonial__quote {
  font-size:     1.05rem;
  color:         var(--ink-body);
  line-height:   1.8;
  font-style:    italic;
  margin-bottom: 1.75rem;
  margin-top:    0;
  padding-left:  2rem;
  border-left:   5px solid var(--brand-secondary-color);
}

.assoc-benefits-testimonial__attribution {
  font-size:   0.95rem;
  color:       var(--ink-heading);
  font-weight: 700;
  margin:      1rem 0 0 0;
}

/* ── Responsive: Tablet ────────────────────────────── */
@media (max-width: 991px) {
  :root {
    --assoc-section-title-size: 1.6rem;
    --assoc-products-grid-cols: 2;
    --assoc-products-grid-gap:  1.5rem;
    --assoc-logo-max-height:    140px;
  }

  .assoc-products         { margin-bottom: 3rem; }
  .assoc-benefits-wrapper { gap: 2rem; }
}

/* ── Responsive: Mobile ────────────────────────────── */
@media (max-width: 767px) {
  :root {
    --assoc-section-title-size:   1.45rem;
    --assoc-products-grid-cols:   1;
    --assoc-products-grid-gap:    1.25rem;
    --assoc-logo-max-height:      100px;
    --assoc-benefits-wrapper-gap: 2rem;
  }

  .assoc-products             { margin-bottom: 2rem; }
  .assoc-benefits-wrapper     { flex-direction: column; }
  .assoc-benefits-card        { flex: 1 1 100%; }
  .assoc-benefits-testimonial { min-width: 100%; }

  .assoc-benefits-testimonial__quote {
    padding-left:      1.5rem;
    border-left-width: 4px;
    font-size:         1rem;
  }
}


/* ======================================================
   Q. GENERIC PAGE HERO COMPONENT
   Reusable for blog, association, any page
====================================================== */
:root {
  --page-hero-title-size:    2.5rem;
  --page-hero-title-weight:  700;
  --page-hero-title-color:   var(--ink-heading);
  --page-hero-title-lh:      1.2;
  --page-hero-intro-size:    1.3rem;
  --page-hero-intro-weight:  500;
  --page-hero-intro-color:   var(--ink-body);
  --page-hero-subtext-size:  1.05rem;
  --page-hero-subtext-color: var(--ink-muted);
  --page-hero-padding-y:     4rem;
  --page-hero-gap:           3rem;
}

.page-hero {
  padding: var(--page-hero-padding-y) 0;
}

.page-hero__wrapper {
  display:     flex;
  align-items: center;
  gap:         var(--page-hero-gap);
  flex-wrap:   wrap;
}

.page-hero__content {
  flex:      1;
  min-width: 300px;
}

.page-hero__title {
  font-size:     var(--page-hero-title-size);
  font-weight:   var(--page-hero-title-weight);
  color:         var(--page-hero-title-color);
  line-height:   var(--page-hero-title-lh);
  margin-bottom: 1.5rem;
  margin-top:    0;
}

.page-hero__intro {
  font-size:     var(--page-hero-intro-size);
  font-weight:   var(--page-hero-intro-weight);
  color:         var(--page-hero-intro-color);
  line-height:   1.5;
  margin-bottom: 1.25rem;
  margin-top:    0;
}

.page-hero__subtext {
  font-size:     var(--page-hero-subtext-size);
  color:         var(--page-hero-subtext-color);
  line-height:   1.65;
  margin-bottom: 2rem;
  margin-top:    0;
}

.page-hero__visual {
  flex:            1;
  min-width:       300px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  min-height:      240px;
}

@media (max-width: 991px) {
  :root {
    --page-hero-title-size: 2rem;
    --page-hero-gap:        2rem;
  }

  .page-hero          { padding: 2.5rem 0; }
  .page-hero__wrapper { gap: 2rem; }
  .page-hero__visual  { min-height: 200px; }
}

@media (max-width: 767px) {
  :root {
    --page-hero-title-size:   1.65rem;
    --page-hero-intro-size:   1.15rem;
    --page-hero-subtext-size: 0.95rem;
    --page-hero-padding-y:    2.5rem;
    --page-hero-gap:          2rem;
  }

  .page-hero__wrapper { flex-direction: column-reverse; }
  .page-hero__content { min-width: 100%; }
  .page-hero__visual  { width: 100%; min-height: 160px; }
  .page-hero__title   { margin-bottom: 1rem; }
  .page-hero__intro   { margin-bottom: 1rem; }
}


@media (max-width: 767px) {
    .sas-hero .btn {
        display: inline-block;
        margin-right: auto;
    }
}


/* ======================================================
   R. BLOG INDEX: CARD & SIDEBAR STYLES
====================================================== */
:root {
  /* Blog Card */
  --blog-card-title-size:   1.5rem;
  --blog-card-title-weight: 600;
  --blog-card-title-color:  var(--ink-heading);
  --blog-card-link-color:   var(--brand-secondary-color);
  --blog-card-link-hover:   var(--brand-secondary-hover);
  --blog-card-border:       var(--line);
  --blog-card-spacing:      2rem;

  /* Meta */
  --blog-meta-date-size:    0.9rem;
  --blog-meta-date-weight:  500;
  --blog-meta-date-color:   var(--ink-faint);
  --blog-meta-separator:    var(--line);
  --blog-meta-tags-size:    0.9rem;
  --blog-meta-tags-color:   var(--ink-faint);
  --blog-meta-gap:          0.5rem;

  /* Excerpt */
  --blog-excerpt-size:      1rem;
  --blog-excerpt-color:     var(--ink-body);
  --blog-excerpt-lh:        1.65;

  /* Read More */
  --blog-readmore-size:     0.95rem;
  --blog-readmore-weight:   600;
  --blog-readmore-color:    var(--brand-secondary-hover);

  /* Sidebar */
  --sidebar-box-bg:          var(--paper-blue);
  --sidebar-box-border:      var(--line);
  --sidebar-box-radius:      8px;
  --sidebar-box-padding:     1.5rem;
  --sidebar-box-margin-b:    2rem;
  --sidebar-box-text-size:   0.95rem;
  --sidebar-box-text-weight: 600;
  --sidebar-box-text-color:  var(--ink-heading);
}

.blog-card {
  padding-bottom: var(--blog-card-spacing);
  margin-bottom:  var(--blog-card-spacing);
  border-bottom:  1px solid var(--blog-card-border);
}

.blog-card:last-child {
  border-bottom:  none;
  padding-bottom: 0;
  margin-bottom:  0;
}

.blog-card__title {
  font-size:   var(--blog-card-title-size);
  font-weight: var(--blog-card-title-weight);
  color:       var(--blog-card-title-color);
  margin:      0 0 0.75rem 0;
  line-height: 1.3;
}

.blog-card__link {
  color:           var(--blog-card-link-color);
  text-decoration: none;
  transition:      color 160ms ease-out;
}

.blog-card__link:hover {
  color:           var(--blog-card-link-hover);
  text-decoration: underline;
}

.blog-card__meta {
  display:       flex;
  align-items:   center;
  flex-wrap:     wrap;
  gap:           var(--blog-meta-gap);
  font-size:     var(--blog-meta-date-size);
  color:         var(--blog-meta-date-color);
  margin-bottom: 1rem;
  margin-top:    0;
}

.blog-card__date {
  font-weight: var(--blog-meta-date-weight);
}

.blog-card__separator {
  color: var(--blog-meta-separator);
}

.blog-card__tags {
  font-size:  var(--blog-meta-tags-size);
  color:      var(--blog-meta-tags-color);
  font-style: italic;
}

.blog-card__excerpt {
  font-size:     var(--blog-excerpt-size);
  color:         var(--blog-excerpt-color);
  line-height:   var(--blog-excerpt-lh);
  margin-bottom: 1rem;
  margin-top:    0;
}

.blog-card__excerpt p {
  margin: 0;
}

.blog-card__readmore {
  display:         inline-block;
  font-size:       var(--blog-readmore-size);
  font-weight:     var(--blog-readmore-weight);
  color:           var(--blog-readmore-color);
  text-decoration: none;
  transition:      color 160ms ease-out;
}

.blog-card__readmore:hover {
  color:           var(--blog-card-link-hover);
  text-decoration: underline;
}

/* ── Sidebar Boxes ─────────────────────────────────── */
.sidebar-box {
  background-color: var(--sidebar-box-bg);
  border:           1px solid var(--sidebar-box-border);
  border-radius:    var(--sidebar-box-radius);
  margin-bottom:    var(--sidebar-box-margin-b);
  overflow:         hidden;
}

.sidebar-box:last-child {
  margin-bottom: 0;
}

.sidebar-box__content {
  padding:     var(--sidebar-box-padding);
  font-size:   var(--sidebar-box-text-size);
  font-weight: var(--sidebar-box-text-weight);
  color:       var(--sidebar-box-text-color);
  text-align:  center;
  line-height: 1.5;
}

@media (max-width: 991px) {
  :root {
    --blog-card-title-size: 1.35rem;
  }
}

@media (max-width: 767px) {
  :root {
    --blog-card-title-size: 1.25rem;
    --blog-meta-date-size:  0.85rem;
    --blog-excerpt-size:    0.95rem;
  }

  .blog-card {
    padding-bottom: 1.5rem;
    margin-bottom:  1.5rem;
  }

  .blog-card:last-child {
    padding-bottom: 0;
    margin-bottom:  0;
  }
}


/* ======================================================
   S. SINGLE POST PAGE STYLES
====================================================== */
.single-post__meta {
  display:       flex;
  align-items:   center;
  flex-wrap:     wrap;
  gap:           0.5rem;
  font-size:     0.9rem;
  color:         var(--ink-faint);
  margin-bottom: 0;
  margin-top:    0.5rem;
}

.single-post__date {
  font-weight: 500;
}

.single-post__separator {
  color: var(--line);
}

.single-post__tags {
  font-style: italic;
}

/* ── Post Content ──────────────────────────────────── */
.single-post__content {
  line-height: 1.75;
}

.single-post__content h2 {
  font-size:     1.75rem;
  font-weight:   700;
  color:         var(--ink-heading);
  margin-top:    2rem;
  margin-bottom: 1rem;
  line-height:   1.3;
}

.single-post__content h3 {
  font-size:     1.3rem;
  font-weight:   700;
  color:         var(--ink-heading);
  margin-top:    1.75rem;
  margin-bottom: 1rem;
  line-height:   1.3;
}

.single-post__content p {
  font-size:     1rem;
  color:         var(--ink-body);
  line-height:   1.75;
  margin-bottom: 1.5rem;
  margin-top:    0;
}

.single-post__content ul,
.single-post__content ol {
  font-size:     1rem;
  color:         var(--ink-body);
  line-height:   1.75;
  margin-bottom: 1.5rem;
  padding-left:  2rem;
}

.single-post__content li {
  margin-bottom: 0.75rem;
}

.single-post__content a {
  color:           var(--brand-secondary-color);
  text-decoration: none;
  transition:      color 160ms ease-out;
}

.single-post__content a:hover {
  color:           var(--brand-secondary-hover);
  text-decoration: underline;
}

.single-post__content blockquote {
  padding-left: 1.5rem;
  border-left:  4px solid var(--brand-secondary-color);
  color:        var(--ink-body);
  font-style:   italic;
  margin:       1.5rem 0;
}

.single-post__content figure {
  margin: 1.5rem 0;
}

.single-post__content figcaption {
  font-size:  0.9rem;
  color:      var(--ink-faint);
  text-align: center;
  margin-top: 0.5rem;
  font-style: italic;
}

.single-post__content table {
  width:           100%;
  margin-bottom:   1.5rem;
  border-collapse: collapse;
}

.single-post__content th,
.single-post__content td {
  padding:    0.75rem;
  border:     1px solid var(--line);
  text-align: left;
}

.single-post__content th {
  background-color: var(--paper-blue);
  font-weight:      600;
  color:            var(--ink-heading);
}

@media (max-width: 991px) {
  .single-post__title {
    font-size:   2rem;
    padding-top: 5rem;
  }

  .single-post__content h2 { font-size: 1.5rem; }
  .single-post__content h3 { font-size: 1.15rem; }
}

@media (max-width: 767px) {
  .single-post__title {
    font-size:   1.75rem;
    padding-top: 4rem;
  }

  .single-post__meta       { font-size: 0.85rem; }
  .single-post__content p  { font-size: 0.95rem; }
  .single-post__content h2 { font-size: 1.35rem; }
  .single-post__content h3 { font-size: 1.05rem; }

  .single-post__content ul,
  .single-post__content ol {
    padding-left: 1.5rem;
  }
}



.wp-block-bcb-section .wp-block-bcb-columns.feature-strap   .boot-block,
.wp-block-bcb-section .wp-block-bcb-columns.secondary-strap .boot-block,
.wp-block-bcb-section .wp-block-bcb-columns.odd-strap       .boot-block,
.wp-block-bcb-section .wp-block-bcb-columns.even-strap      .boot-block,
.wp-block-bcb-section .wp-block-bcb-columns.gray-strap      .boot-block {

}

.wp-block-bcb-section .wp-block-bcb-columns.feature-strap   .boot-block > .row,
.wp-block-bcb-section .wp-block-bcb-columns.secondary-strap .boot-block > .row,
.wp-block-bcb-section .wp-block-bcb-columns.odd-strap       .boot-block > .row,
.wp-block-bcb-section .wp-block-bcb-columns.even-strap      .boot-block > .row,
.wp-block-bcb-section .wp-block-bcb-columns.gray-strap      .boot-block > .row {
    margin-left:  -20px;
    margin-right: -20px;
}

.wp-block-bcb-section .wp-block-bcb-columns.feature-strap   .boot-block > .row > [class*="col-"],
.wp-block-bcb-section .wp-block-bcb-columns.secondary-strap .boot-block > .row > [class*="col-"],
.wp-block-bcb-section .wp-block-bcb-columns.odd-strap       .boot-block > .row > [class*="col-"],
.wp-block-bcb-section .wp-block-bcb-columns.even-strap      .boot-block > .row > [class*="col-"],
.wp-block-bcb-section .wp-block-bcb-columns.gray-strap      .boot-block > .row > [class*="col-"] {

}