/* =========================================================
   SES unified header/list/slide solid color overlay filter
   Background type and overlay/filter are intentionally separate.
========================================================= */
:root{
  --ses-hero-overlay:transparent;
  --ses-hero-overlay-blend-mode:normal;
  --ses-card-overlay:transparent;
  --ses-card-default-blend-mode:normal;
  --ses-slide-overlay:transparent;
  --ses-slide-overlay-blend-mode:normal;
}

/* Inner page hero: overlay layer sits above image/gradient, below text. */
.ses-inner-hero > .ses-inner-hero__shade{
  z-index:0 !important;
  background:var(--ses-hero-overlay, transparent) !important;
  mix-blend-mode:var(--ses-hero-overlay-blend-mode, normal) !important;
  pointer-events:none !important;
}
.ses-inner-hero > .ses-inner-hero__outer,
.ses-inner-hero > .ses-inner-hero__content,
.ses-inner-hero .ses-inner-hero__copy{
  position:relative;
  z-index:2 !important;
}
.ses-inner-hero:after{
  z-index:1 !important;
  pointer-events:none !important;
}
.ses-inner-hero[data-bg-type="image_gradient"]{
  background-image:var(--ses-hero-gradient), var(--ses-hero-image) !important;
  background-size:cover, cover !important;
  background-position:center center, center center !important;
  background-repeat:no-repeat, no-repeat !important;
}
.ses-inner-hero[data-bg-type="image_gradient"] > .ses-inner-hero__shade{
  background:var(--ses-hero-overlay, transparent) !important;
}
.ses-inner-hero.is-video-playing > .ses-inner-hero__shade,
.ses-record-hero__slide.is-video-playing > .ses-record-hero__overlay{
  background:transparent !important;
}


/* Must beat older responsive.css rules that force shade z-index:-1 with higher specificity. */
body:not(.home) .ses-inner-hero > .ses-inner-hero__shade,
body:not(.home) .ses-page-hero > .ses-inner-hero__shade,
body:not(.home) .ses-category-hero > .ses-inner-hero__shade,
body:not(.home) .ses-information-hero > .ses-inner-hero__shade{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:var(--ses-hero-overlay, transparent) !important;
  mix-blend-mode:var(--ses-hero-overlay-blend-mode, normal) !important;
  pointer-events:none !important;
}
body:not(.home) .ses-inner-hero > .ses-inner-hero__outer,
body:not(.home) .ses-page-hero > .ses-inner-hero__outer,
body:not(.home) .ses-category-hero > .ses-inner-hero__outer,
body:not(.home) .ses-information-hero > .ses-inner-hero__outer{
  z-index:2 !important;
}
body:not(.home) .ses-inner-hero.is-video-playing > .ses-inner-hero__shade{
  background:transparent !important;
}

/* Record slideshow: static images and video poster state are filtered; active video is not. */
.ses-record-hero__slide > .ses-record-hero__overlay{
  z-index:1 !important;
  background:var(--ses-slide-overlay, transparent) !important;
  mix-blend-mode:var(--ses-slide-overlay-blend-mode, normal) !important;
  pointer-events:none !important;
}
.ses-record-hero__slide > .ses-record-hero__frame,
.ses-record-hero__slide .ses-record-hero__copy,
.ses-record-hero__slide .ses-record-hero__cta-row{
  position:relative;
  z-index:2 !important;
}

/* Storefront list cards: filter card images only, not content/body images. */
.ses-list-card__media,
.ses-page-list-card__media{
  position:relative;
  isolation:isolate;
}
.ses-list-card__media::before,
.ses-list-card--listing-thumb .ses-list-card__media::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:var(--ses-card-overlay, transparent) !important;
  mix-blend-mode:var(--ses-card-custom-blend-mode,var(--ses-card-default-blend-mode,normal)) !important;
  pointer-events:none !important;
}
.ses-page-list-card.has-image .ses-page-list-card__media::after,
.ses-page-list-card .ses-page-list-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:var(--ses-card-overlay, transparent) !important;
  mix-blend-mode:var(--ses-card-custom-blend-mode,var(--ses-card-default-blend-mode,normal)) !important;
  pointer-events:none;
}

/* ==== SES 2026-05-22 LIST CARD VARIABLE OVERLAY DEFAULTS START ====
   List-card default overlays now match the homepage Application Scope / services color system.
   Individual record settings still override with --ses-card-custom-overlay.
   News now receives a solid editorial shade by default as part of the shared list-card system. */
.ses-list-card-grid:not(.ses-list-card-grid--news) > .ses-list-card:nth-child(4n+1) .ses-list-card__media,
.ses-page-list-grid > .ses-page-list-card:nth-child(4n+1) .ses-page-list-card__media{
  --ses-card-default-overlay:rgba(2,19,61,.58);
}
.ses-list-card-grid:not(.ses-list-card-grid--news) > .ses-list-card:nth-child(4n+2) .ses-list-card__media,
.ses-page-list-grid > .ses-page-list-card:nth-child(4n+2) .ses-page-list-card__media{
  --ses-card-default-overlay:rgba(139,14,24,.56);
}
.ses-list-card-grid:not(.ses-list-card-grid--news) > .ses-list-card:nth-child(4n+3) .ses-list-card__media,
.ses-page-list-grid > .ses-page-list-card:nth-child(4n+3) .ses-page-list-card__media{
  --ses-card-default-overlay:rgba(91,48,0,.54);
}
.ses-list-card-grid:not(.ses-list-card-grid--news) > .ses-list-card:nth-child(4n+4) .ses-list-card__media,
.ses-page-list-grid > .ses-page-list-card:nth-child(4n+4) .ses-page-list-card__media{
  --ses-card-default-overlay:rgba(28,11,72,.55);
}
.ses-list-card-grid--news .ses-list-card__media{
  --ses-card-default-overlay:rgba(17,24,39,.38);
}
.ses-list-card__media::before,
.ses-list-card--listing-thumb .ses-list-card__media::before,
.ses-products-index .ses-product-catalog-list .ses-list-card--catalog-product .ses-list-card__media::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:var(--ses-card-custom-overlay,var(--ses-card-default-overlay,transparent)) !important;
  mix-blend-mode:var(--ses-card-custom-blend-mode,var(--ses-card-default-blend-mode,normal)) !important;
  pointer-events:none !important;
}
.ses-list-card-grid--news .ses-list-card__media::before{
  background:var(--ses-card-custom-overlay,var(--ses-card-default-overlay,transparent)) !important;
  mix-blend-mode:var(--ses-card-custom-blend-mode,var(--ses-card-default-blend-mode,normal)) !important;
}
.ses-page-list-card__media{
  isolation:isolate;
}
.ses-page-list-card.has-image .ses-page-list-card__media::after,
.ses-page-list-card .ses-page-list-card__media::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:var(--ses-card-custom-overlay,var(--ses-card-default-overlay,transparent)) !important;
  mix-blend-mode:var(--ses-card-custom-blend-mode,var(--ses-card-default-blend-mode,normal)) !important;
  pointer-events:none !important;
}
.ses-page-list-card__body{
  position:relative;
  z-index:2;
}
/* ==== SES 2026-05-22 LIST CARD VARIABLE OVERLAY DEFAULTS END ==== */


/* ==== SES 2026-05-25 SOLID LIST FILTER + VIDEO PREVIEW TEXT FIX START ====
   Video headers show kicker/title/subtitle/brief while poster/preview image is visible,
   then hide copy only during actual playback. List-card overlays are solid-color layers
   and honor CSS blend-mode values saved in admin. */
.ses-inner-hero[data-ses-video-slide]:not(.is-video-playing) .ses-inner-hero__copy,
.ses-record-hero__slide[data-ses-video-slide]:not(.is-video-playing) .ses-record-hero__copy{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
}
.ses-inner-hero[data-ses-video-slide]:not(.is-video-playing) .ses-inner-hero__shade,
.ses-record-hero__slide[data-ses-video-slide]:not(.is-video-playing) .ses-record-hero__overlay{
  mix-blend-mode:var(--ses-hero-overlay-blend-mode,var(--ses-slide-overlay-blend-mode,normal)) !important;
}
.ses-list-card__media::before,
.ses-page-list-card__media::after,
.ses-career-card__media::after{
  mix-blend-mode:var(--ses-card-custom-blend-mode,var(--ses-card-default-blend-mode,normal)) !important;
}
/* ==== SES 2026-05-25 SOLID LIST FILTER + VIDEO PREVIEW TEXT FIX END ==== */

/* ==== SES 2026-05-25 VIDEO HEADER POSTER TEXT STACK FIX START ====
   Non-home video headers must show kicker/title/subtitle/brief while the poster
   or preview image is visible. The video poster layer is lowered only before
   playback/after pause; active video playback still hides copy. */
body:not(.home) .ses-inner-hero[data-ses-video-slide]:not(.is-video-playing) > .ses-hero-video-stage,
.ses-record-hero__slide[data-ses-video-slide]:not(.is-video-playing) > .ses-hero-video-stage{
  z-index:0 !important;
  pointer-events:none !important;
}
body:not(.home) .ses-inner-hero[data-ses-video-slide]:not(.is-video-playing) > .ses-inner-hero__shade,
.ses-record-hero__slide[data-ses-video-slide]:not(.is-video-playing) > .ses-record-hero__overlay{
  z-index:1 !important;
}
body:not(.home) .ses-inner-hero[data-ses-video-slide]:not(.is-video-playing) > .ses-inner-hero__outer,
.ses-record-hero__slide[data-ses-video-slide]:not(.is-video-playing) > .ses-record-hero__frame{
  position:absolute !important;
  inset:0 !important;
  z-index:12 !important;
}
body:not(.home) .ses-inner-hero[data-ses-video-slide]:not(.is-video-playing) .ses-inner-hero__copy,
.ses-record-hero__slide[data-ses-video-slide]:not(.is-video-playing) .ses-record-hero__copy{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
}
body:not(.home) .ses-inner-hero[data-ses-video-slide].is-video-playing > .ses-inner-hero__outer,
.ses-record-hero__slide[data-ses-video-slide].is-video-playing > .ses-record-hero__frame{
  z-index:2 !important;
}
/* ==== SES 2026-05-25 VIDEO HEADER POSTER TEXT STACK FIX END ==== */

/* ==== SES 2026-06-14 SITEWIDE HEADER FILTER CASCADE HARDENING START ====
   When a record/list page has a real background image, older inner-hero rules used
   to paint their own gradient shade. These scoped rules make the resolved
   HeaderFilterRuntime result authoritative for all storefront inner headers. */
body:not(.home) .ses-inner-hero.ses-header-filter-none > .ses-inner-hero__shade,
body:not(.home) .ses-inner-hero[data-header-filter-mode="no_filter"] > .ses-inner-hero__shade{
  background:transparent !important;
  mix-blend-mode:normal !important;
}
body:not(.home) .ses-inner-hero.ses-header-filter-solid > .ses-inner-hero__shade,
body:not(.home) .ses-inner-hero[data-header-filter-mode="solid"] > .ses-inner-hero__shade{
  background:var(--ses-hero-overlay, transparent) !important;
  mix-blend-mode:var(--ses-hero-overlay-blend-mode, normal) !important;
}
/* Decorative bottom fade is not a filter. Disable it when admin selected No Filter or inherited to No Filter. */
body:not(.home) .ses-inner-hero.ses-header-filter-none::after,
body:not(.home) .ses-inner-hero[data-header-filter-mode="no_filter"]::after{
  background:transparent !important;
}
/* Keep the resolved header text color applied to every small hero text fragment, including separators and pill borders. */
.ses-inner-hero .ses-inner-breadcrumb > span[aria-hidden="true"],
.ses-inner-hero .ses-inner-breadcrumb > span,
.ses-inner-hero .ses-inner-breadcrumb > strong,
.ses-inner-hero .ses-inner-breadcrumb > a{
  color:var(--ses-inner-hero-text-color,#fff) !important;
}
.ses-inner-hero .ses-inner-hero__label{
  border-color:var(--ses-inner-hero-text-color,#fff) !important;
}
/* ==== SES 2026-06-14 SITEWIDE HEADER FILTER CASCADE HARDENING END ==== */
