/* Elevate Ranges Suite - Public UI */

/* Base text color for the full clickable card shell; specific text parts can override it. */
.ers-card{
  display:flex;
  flex-direction:column;
  height:100%;
  color: var(--ers-card-base-text-color, #000000);
  text-decoration:none;
  border: var(--ers-card-border-width, 1px) solid var(--ers-card-border-color, rgba(0,0,0,.12));
  border-radius: var(--ers-card-radius, 14px);
  overflow:hidden;
  background: var(--ers-card-bg, rgba(255,255,255,1));
  box-shadow: var(--ers-card-shadow, none);
  backdrop-filter: var(--ers-card-backdrop-filter, none);
  -webkit-backdrop-filter: var(--ers-card-backdrop-filter, none);
  transition: background-color .18s ease;
}
a.ers-card{ cursor:pointer; }
a.ers-card:hover{
  text-decoration:none;
  color: var(--ers-card-base-text-color, #000000);
  background: var(--ers-card-bg-hover, var(--ers-card-bg, rgba(255,255,255,1)));
}
.ers-card:visited{ color: var(--ers-card-base-text-color, #000000); }
/* color only — browser outline is intentionally preserved for keyboard a11y */
.ers-card:focus{ color: var(--ers-card-base-text-color, #000000); }
.ers-card:focus-visible{ color: var(--ers-card-base-text-color, #000000); }

.ers-card__media{
  padding: var(--ers-card-image-inset, 0px);
}
.ers-card__media-inner{
  position:relative;
  aspect-ratio: var(--ers-card-image-aspect, 16/9);
  overflow:hidden;
  border-radius: var(--ers-card-image-radius, 0px);
}
.ers-card__media--placeholder .ers-card__media-inner{
  background: rgba(0,0,0,.04);
}
.ers-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--ers-card-image-position, 50% 50%);
  display:block;
}


.ers-rental-logo-overlay{
  position:absolute;
  z-index:2;
  width:clamp(44px, 15%, 92px);
  max-width:28%;
  pointer-events:none;
}
.ers-rental-logo-overlay.has-shadow{
  filter:drop-shadow(0 1px 6px rgba(0,0,0,.35));
}
.ers-rental-logo-overlay.is-bottom-right{ right:10px; bottom:10px; }
.ers-rental-logo-overlay.is-bottom-left{ left:10px; bottom:10px; }
.ers-rental-logo-overlay.is-top-right{ right:10px; top:10px; }
.ers-rental-logo-overlay.is-top-left{ left:10px; top:10px; }
.ers-rental-logo-overlay__img{
  display:block;
  width:100%;
  height:auto;
}

.ers-card__body{
  padding: var(--ers-card-padding, 14px);
  flex:1;
  display:flex;
  flex-direction:column;
}

.ers-card__title{
  font-weight: var(--ers-title-weight, 700);
  color: var(--ers-title-color, inherit);
  font-size: var(--ers-title-size, inherit);
  text-transform: var(--ers-title-transform, none);
  letter-spacing: var(--ers-title-letter-spacing, 0em);
  text-align: var(--ers-title-align, left);
  line-height:1.2;
  margin-bottom:10px;
}

.ers-card__title-text{
  display:inline;
}

.ers-card__title-tail{
  display:inline-flex;
  align-items:baseline;
  gap:0.16em;
  white-space:nowrap;
}

.ers-card__title-tail-text{
  display:inline;
}

.ers-card__title-link-suffix{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:1.05em;
  height:1.05em;
  opacity:.88;
  line-height:1;
  vertical-align:baseline;
  transform:translateY(0.03em);
}

.ers-card__title-link-icon{
  position:static;
  width:100%;
  height:100%;
  display:block;
  transform:translateY(0.18em);
}

.ers-card__meta{
  display:flex;
  align-items:baseline;
  gap:6px;
  width:100%;
  justify-content: var(--ers-meta-justify, flex-start);
  text-align: var(--ers-meta-text-align, left);
  font-size:14px;
  line-height:1.3;
  margin-top: var(--ers-card-meta-gap, 4px);
}

/* Wrapper for multiple meta lines: pins the meta block to the bottom of the card body. */
.ers-card__meta-wrap{
  margin-top:auto;
}

.ers-card__label{
  font-weight: var(--ers-label-weight, 600);
  color: var(--ers-label-color, inherit);
  font-size: var(--ers-label-size, inherit);
  text-transform: var(--ers-label-transform, none);
  letter-spacing: var(--ers-label-letter-spacing, -0.01em);
  opacity:.85;
}
.ers-card__label a{ color: inherit; }
.ers-card__sep{ opacity:.65; }
.ers-card__value{
  font-weight: var(--ers-value-weight, 500);
  color: var(--ers-value-color, inherit);
  font-size: var(--ers-value-size, inherit);
  text-transform: var(--ers-value-transform, none);
  letter-spacing: var(--ers-value-letter-spacing, 0em);
}
.ers-card__value a{ color: inherit; }
.ers-card__actions{
  margin-top:10px;
  text-align: var(--ers-button-align, center);
}

.ers-card__button{
  display:inline-flex;
  align-items:center;
  justify-content: var(--ers-button-justify, center);
  min-height:36px;
  width: var(--ers-button-width, auto);
  max-width:100%;
  padding: var(--ers-button-padding-y, 20px) var(--ers-button-padding-x, 28px);
  border-radius: var(--ers-button-radius, 7px);
  border:0;
  background: var(--ers-button-bg, var(--wp--preset--color--link, #2271b1));
  color: var(--ers-button-color, #ffffff);
  font-size: var(--ers-button-size, inherit);
  font-weight: var(--ers-button-weight, 700);
  text-transform: var(--ers-button-transform, none);
  letter-spacing: var(--ers-button-letter-spacing, 0em);
  text-align: var(--ers-button-align, center);
  line-height:1.1;
  pointer-events:none;
  box-sizing:border-box;
}

.ers-card--sessions .ers-card__body{
  justify-content:flex-start;
  gap: var(--ers-card-meta-gap, 4px);
}

.ers-card--sessions .ers-card__title{
  margin-bottom:6px;
}

.ers-card--sessions .ers-card__meta{
  margin-top:0;
}


.ers-card--viewall{
  display:flex;
  flex-direction:column;
  text-align:center;
}
.ers-card--viewall .ers-card__body{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ers-card--viewall .ers-card__title{ margin-bottom:0; }

/* Ensure the View All card fills the slide height so it matches other cards. */
.ers-carousel .ers-cardwrap--carousel > .ers-card--viewall{ height:100%; }

/* Carousel */
.ers-carousel{
  --ers-carousel-nav-buffer: 5px; /* keep arrows from dropping below image bottom */
  position:relative;
}

.ers-carousel__track{
  display:flex;
  align-items:stretch;
  gap: var(--ers-card-gap, 16px);
  overflow:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  /*
    Prevent showing a sliver of the next card:
    The scrollport includes padding. If padding-inline is larger than the gap,
    the next slide's start can fall inside the visible padding area.
    Clamp padding-inline to <= (gap - 1px).
  */
  --ers-carousel-pad-x: min(
    var(--ers-card-shadow-pad-x, 4px),
    max(0px, calc(var(--ers-card-gap, 16px) - 1px))
  );
  /*
    If horizontal pad is clamped (to avoid peeking), increase the carousel-only
    shadow mask inset so lateral shadows fade before the scrollport edge.
  */
  --ers-carousel-mask-x: calc(
    var(--ers-card-shadow-mask-inset-x, 0px) +
    max(0px, calc(var(--ers-card-shadow-pad-x, 0px) - var(--ers-carousel-pad-x)))
  );
  padding: var(--ers-card-shadow-pad-top, 6px) var(--ers-carousel-pad-x) var(--ers-card-shadow-pad-bottom, 6px) var(--ers-carousel-pad-x);
  scroll-padding-left: var(--ers-carousel-pad-x);
  scroll-padding-right: var(--ers-carousel-pad-x);
  position: relative;
  z-index: 1;
}

.ers-carousel__track::-webkit-scrollbar{ height:10px; }

.ers-carousel__slide{
  flex:0 0 calc((100% - (var(--ers-cols-d, 3) - 1) * var(--ers-card-gap, 16px)) / var(--ers-cols-d, 3));
  scroll-snap-align:start;
  display:flex;
}

.ers-carousel__slide > .ers-card{
  width:100%;
  height:100%;
}

/* Classes carousel uses a shadow wrapper; ensure the wrapper and card stretch to slide height. */
.ers-carousel__slide > .ers-cardwrap--carousel{
  width:100%;
  height:100%;
  display:flex;
}
.ers-carousel__slide > .ers-cardwrap--carousel > .ers-card{
  width:100%;
  height:100%;
}

@media (max-width: 980px){
  .ers-carousel__slide{ flex-basis: calc((100% - (var(--ers-cols-t, 2) - 1) * var(--ers-card-gap, 16px)) / var(--ers-cols-t, 2)); }
}
@media (max-width: 767px){
  .ers-carousel__slide{ flex-basis: calc(100% / var(--ers-cols-m, 1)); }
}

.ers-carousel__nav{
  position:absolute;
  /*
    Optical center: account for asymmetric top/bottom padding used for shadows.
    When bottom padding is larger, a plain 50% places nav too low.
  */
  top: calc(50% - (var(--ers-card-shadow-pad-bottom, 6px) - var(--ers-card-shadow-pad-top, 6px)) / 2);
  transform:translateY(-50%);
  border:1px solid rgba(0,0,0,.2);
  background:rgba(255,255,255,.95);
  border-radius:999px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content: var(--ers-button-justify, center);
  font-size:28px;
  line-height:1;
  cursor:pointer;
  padding:0;
  z-index: 20; /* stay above cards */
}
.ers-carousel__nav--prev{ left:-10px; }
.ers-carousel__nav--next{ right:-10px; }


@media (hover:hover){
  .ers-carousel[data-hover-arrows="1"] .ers-carousel__nav:not(.is-hidden){
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
  }
  .ers-carousel[data-hover-arrows="1"]:hover .ers-carousel__nav:not(.is-hidden),
  .ers-carousel[data-hover-arrows="1"]:focus-within .ers-carousel__nav:not(.is-hidden){
    opacity:1;
    pointer-events:auto;
  }
}


/* When a carousel cannot scroll in the current viewport, JS hides controls entirely. */
.ers-carousel__nav.is-hidden,
.ers-carousel__dots.is-hidden{
  display:none !important;
}

.ers-carousel__dots{
  display:flex;
  justify-content: var(--ers-button-justify, center);
  gap:8px;
  margin-top:10px;
}

.ers-carousel__dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:0;
  padding:0;
  cursor:pointer;
  background:rgba(0,0,0,.25);
}

.ers-carousel__dot.is-active{
  background:rgba(0,0,0,.65);
}

/* Grid */
.ers-grid{
  display:grid;
  gap: var(--ers-card-gap, 16px);
  grid-template-columns: repeat(var(--ers-grid-cols-d, 3), minmax(0, 1fr));
}

/* Grid items: ensure cards stretch so rows keep consistent height and meta can pin to bottom. */
.ers-grid__item{ display:flex; }
.ers-grid__item > .ers-card{ width:100%; }
.ers-grid > .ers-card{ width:100%; }
@media (max-width: 980px){
  .ers-grid{ grid-template-columns: repeat(var(--ers-grid-cols-t, 2), minmax(0, 1fr)); }
}
@media (max-width: 767px){
  .ers-grid{ grid-template-columns: repeat(var(--ers-grid-cols-m, 1), minmax(0, 1fr)); }
}


/* Carousel nav icons (SVG to avoid font metric centering issues) */
.ers-carousel__nav svg{
  width:16px;
  height:16px;
  display:block;
}


/* Carousel shadow rendering:
   Use a wrapper so the card can keep overflow:hidden while shadows render outside.
   Also narrow the shadow mask horizontally to avoid showing part of the next slide. */
.ers-carousel .ers-card{
  box-shadow: none;
}

.ers-carousel .ers-cardwrap--carousel{
  position: relative;
  width: 100%;
  display: block;
}

.ers-carousel .ers-cardwrap--carousel::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--ers-carousel-mask-x, var(--ers-card-shadow-mask-inset-x, 0px));
  right: var(--ers-carousel-mask-x, var(--ers-card-shadow-mask-inset-x, 0px));
  border-radius: var(--ers-card-radius, 14px);
  box-shadow: var(--ers-card-shadow, none);
  pointer-events: none;
}

.ers-carousel .ers-cardwrap--carousel > .ers-card{
  position: relative;
  z-index: 1;
}


/* ERS rendered page foundation
   Canonical class family for ERS Detail Pages and future Landing Pages.
   Rentals, Collections, and Blogs now use this shared foundation while retaining
   their legacy slice-prefixed classes as compatibility hooks. Keep selectors
   bounded to .ers-page so Blog post_content does not inherit broad typography rules. */
.ers-page{
  --ers-page-max-width: 1180px;
  --ers-page-narrow-width: 860px;
  --ers-page-section-gap: clamp(34px, 5vw, 72px);
  --ers-page-section-padding-x: clamp(18px, 4vw, 32px);
  --ers-page-hero-min-height: clamp(260px, 38vw, 460px);
  --ers-page-hero-padding-y: clamp(64px, 9vw, 120px);
  --ers-page-title-size: clamp(2.2rem, 6vw, 4.8rem);
  --ers-page-section-title-size: clamp(1.45rem, 3vw, 2.15rem);
  --ers-page-heading-font-family: inherit;
  --ers-page-body-font-family: inherit;
  color: inherit;
  font-family: var(--ers-page-body-font-family, inherit);
}

.ers-page__hero{
  position:relative;
  min-height:var(--ers-page-hero-min-height);
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
  background-color:#16191f;
  color:#fff;
  overflow:hidden;
}

.ers-page__hero.is-noimage{
  background:linear-gradient(135deg, #16191f, #2b3038);
}


.ers-page__hero.is-blurred-bg{
  background-image:none;
}

.ers-page__hero.is-blurred-bg::before{
  content:"";
  position:absolute;
  inset:-20px;
  z-index:0;
  background-image:var(--ers-page-hero-bg);
  background-size:cover;
  background-position:center;
  filter:blur(9px);
  transform:scale(1.04);
}

.ers-page__hero.is-blurred-bg::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(12, 15, 19, .70), rgba(12, 15, 19, .78));
}

.ers-page__hero.is-blurred-bg > .ers-page__hero-inner{
  position:relative;
  z-index:2;
}

.ers-page__hero-inner{
  width:min(var(--ers-page-max-width), calc(100% - (var(--ers-page-section-padding-x) * 2)));
  margin:0 auto;
  padding:var(--ers-page-hero-padding-y) 0;
}

.ers-page__hero-accent{
  display:block;
  width:84px;
  height:5px;
  border-radius:999px;
  background:var(--ers-accent-primary, #dd3333);
  margin:0 0 18px;
}

.ers-page__hero-eyebrow{
  margin:0 0 12px;
  font-size:clamp(.78rem, 1.2vw, .95rem);
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.25;
  text-transform:uppercase;
  opacity:.9;
}

.ers-page__hero-title{
  margin:0;
  max-width:980px;
  color:inherit;
  font-family:var(--ers-page-heading-font-family, inherit);
  font-size:var(--ers-page-title-size);
  font-weight:var(--ers-page-heading-font-weight, 800);
  line-height:.98;
  letter-spacing:-.04em;
}

.ers-page__hero-subtitle{
  max-width:820px;
  margin:18px 0 0;
  color:inherit;
  font-family:var(--ers-page-body-font-family, inherit);
  font-size:clamp(1.05rem, 2vw, 1.45rem);
  font-weight:500;
  line-height:1.35;
  opacity:.92;
}

.ers-page__hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:28px 0 0;
}

.ers-page__hero-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:9px;
  background:var(--ers-accent-primary, #dd3333);
  color:#fff;
  padding:13px 22px;
  font-size:1rem;
  font-weight:var(--ers-page-heading-font-weight, 800);
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(0, 0, 0, .18);
}

.ers-page__hero-button:hover,
.ers-page__hero-button:focus{
  color:#fff;
  filter:brightness(.95);
  text-decoration:none;
}

.ers-page__body{
  width:min(var(--ers-page-max-width), calc(100% - (var(--ers-page-section-padding-x) * 2)));
  margin:0 auto;
  padding:clamp(32px, 5vw, 64px) 0;
}

.ers-page__body.ers-page__body--ends-with-band{
  padding-bottom:0;
}

.ers-page__body.ers-page__body--starts-with-band{
  padding-top:0;
}

.ers-page__section{
  margin:var(--ers-page-section-gap) 0 0;
}

.ers-page__section:first-child{
  margin-top:0;
}


.ers-page__section--landing-band{
  margin-top:0;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:clamp(48px, 7vw, 86px) max(24px, calc((100vw - var(--ers-page-max-width, 1180px)) / 2));
}

.ers-page__section--band-white{
  background:#fff;
}

.ers-page__section--band-muted{
  background:#f6f6f6;
}

.ers-page__section--landing-band .ers-page__section-inner{
  max-width:var(--ers-page-max-width, 1180px);
  margin-left:auto;
  margin-right:auto;
}

.ers-page__landing-groups{
  display:grid;
  gap:clamp(34px, 5vw, 58px);
}

.ers-page__landing-groups--major{
  gap:clamp(56px, 8vw, 96px);
}

.ers-page__landing-groups--nested{
  gap:clamp(28px, 4vw, 44px);
}

.ers-page__landing-groups--compact{
  gap:clamp(24px, 3.5vw, 38px);
}

.ers-page__landing-group{
  margin:0;
  padding:0;
  scroll-margin-top:110px;
}

.ers-page__landing-group > .ers-page__hierarchy-heading{
  margin:0 0 clamp(14px, 2.4vw, 22px);
}

.ers-page__landing-groups--major > .ers-page__landing-group > .ers-page__hierarchy-heading{
  margin-bottom:clamp(28px, 4.4vw, 48px);
}

.ers-page__landing-group--nested > .ers-page__hierarchy-heading{
  margin-bottom:clamp(12px, 2vw, 18px);
}

.ers-page__section-inner{
  width:min(var(--ers-page-max-width), calc(100% - (var(--ers-page-section-padding-x) * 2)));
  margin:0 auto;
}

.ers-page__body .ers-page__section-inner{
  width:100%;
}

.ers-page__section-head{
  margin:0 0 clamp(16px, 2.5vw, 26px);
}

.ers-page__section-title{
  margin:0;
  color:inherit;
  font-family:var(--ers-page-heading-font-family, inherit);
  font-size:var(--ers-page-section-title-size);
  font-weight:var(--ers-page-heading-font-weight, 800);
  line-height:1.08;
  letter-spacing:-.025em;
}

.ers-page__section-head--level-1{
  margin-bottom:clamp(28px, 4vw, 46px);
}

.ers-page__section-heading-line{
  display:block;
  width:74px;
  height:3px;
  margin:0 0 18px;
  background:rgba(0,0,0,.16);
}

.ers-page__section-head--line-wide .ers-page__section-heading-line{
  width:100%;
  height:2px;
  margin-bottom:clamp(28px, 4vw, 46px);
}

.ers-page__section-eyebrow{
  margin:0 0 8px;
  color:var(--ers-accent-primary, #dd3333);
  font-size:clamp(.78rem, .95vw, .92rem);
  font-weight:850;
  line-height:1.1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.ers-page__section-title--level-1{
  font-size:clamp(2rem, 4.2vw, 3.8rem);
  font-weight:var(--ers-page-heading-font-weight, 900);
  line-height:1.02;
  letter-spacing:-.045em;
}

.ers-page__hierarchy-heading{
  margin:0;
  color:inherit;
  font-family:var(--ers-page-heading-font-family, inherit);
}

.ers-page__hierarchy-heading--level-2{
  font-size:clamp(1.55rem, 3.1vw, 2.5rem);
  font-weight:var(--ers-page-heading-font-weight, 900);
  line-height:1.06;
  letter-spacing:-.035em;
}

.ers-page__hierarchy-heading--line-narrow,
.ers-page__hierarchy-heading--line-wide{
  display:flex;
  align-items:center;
  gap:clamp(12px, 2vw, 20px);
}

.ers-page__hierarchy-heading--line-narrow::after,
.ers-page__hierarchy-heading--line-wide::after{
  content:"";
  display:block;
  flex:0 0 auto;
  height:2px;
  background:rgba(0,0,0,.15);
}

.ers-page__hierarchy-heading--line-narrow::after{
  width:72px;
}

.ers-page__hierarchy-heading--line-wide::after{
  width:min(200px, 32vw);
}

.ers-page__hierarchy-heading--level-3{
  font-size:clamp(1.12rem, 2vw, 1.55rem);
  font-weight:850;
  line-height:1.12;
  letter-spacing:-.018em;
}

.ers-page__section-body{
  min-width:0;
}

.ers-page__back-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.38em;
  color:var(--ers-accent-secondary, #111827);
  font-size:clamp(.9rem, 1.15vw, 1.12rem);
  font-weight:800;
  line-height:1.15;
  letter-spacing:.02em;
  text-decoration:none;
  text-transform:uppercase;
}

.ers-page__back-link::before{
  content:"\00AB";
  color:var(--ers-accent-primary, #dd3333);
  font-size:1.05em;
  font-weight:800;
  line-height:1;
}

.ers-page__back-link:hover,
.ers-page__back-link:focus{
  color:var(--ers-accent-primary, #dd3333);
  text-decoration:none;
}

@media (max-width: 767px){
  .ers-page{
    --ers-page-section-gap: 34px;
    --ers-page-hero-min-height: 240px;
  }
  .ers-page__hero-title{
    letter-spacing:-.03em;
  }
}


/* ERS rendered page design language patterns */
.ers-page__detail-card{
  position:sticky;
  top:24px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  padding:clamp(18px, 3vw, 26px);
  box-shadow:0 16px 38px rgba(15, 23, 42, .08);
}

.ers-page__detail-top{
  margin:0 0 18px;
}

.ers-page__detail-card-title{
  margin:0 0 16px;
  color:inherit;
  font-family:var(--ers-page-heading-font-family, inherit);
  font-size:1.15rem;
  font-weight:var(--ers-page-heading-font-weight, 800);
  line-height:1.2;
}

.ers-page__detail-list{
  margin:0;
}

.ers-page__detail-row{
  display:grid;
  grid-template-columns:1fr;
  gap:3px;
  padding:11px 0;
  border-top:1px solid #eef0f3;
}

.ers-page__detail-row:first-child{
  border-top:0;
  padding-top:0;
}

.ers-page__detail-label{
  margin:0;
  color:#6b7280;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}

.ers-page__detail-value{
  margin:0;
  color:#111827;
  font-size:1rem;
  font-weight:600;
  line-height:1.35;
}

.ers-page__cta-band{
  padding:clamp(32px, 5vw, 56px) clamp(18px, 4vw, 32px);
  border-top:1px solid #e1e4e8;
  border-bottom:1px solid #e1e4e8;
  background:#f7f8fa;
}

.ers-page__cta-band .ers-page__cta-band-inner{
  width:100%;
}

.ers-page__cta-band .ers-page__section-head{
  margin-bottom:10px;
}

.ers-page__relationship-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:clamp(22px, 3.5vw, 42px);
  align-items:stretch;
}

.ers-page__relationship-grid--single{
  grid-template-columns:minmax(0, 1fr);
}

.ers-page__relationship-card{
  min-width:0;
  height:100%;
  padding:clamp(18px, 2.6vw, 26px);
  border:1px solid #e7e9ee;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15, 23, 42, .045);
}

.ers-page__relationship-card .ers-linked-list{
  height:100%;
}

.ers-page__discovery-band{
  background:#f3f3f3;
  margin-inline:calc(50% - 50vw);
  padding:clamp(34px, 5vw, 58px) 0;
}

.ers-page__discovery-band .ers-page__discovery-band-inner{
  width:min(var(--ers-page-max-width), calc(100% - (var(--ers-page-section-padding-x) * 2)));
  margin:0 auto;
}

@media (max-width: 980px){
  .ers-page__detail-card{
    position:static;
  }
}

@media (max-width: 767px){
  .ers-page__relationship-grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .ers-page__relationship-card{
    height:auto;
    padding:20px;
  }
}

@media (max-width: 980px){
  .ers-page__discovery-band{
    padding:32px 0;
  }
}

/* ERS Rendered Class Detail Page */
.ers-class-template__wrap,
.ers-class-single{
  padding:0;
}

.ers-class-hero.ers-page__hero{
  min-height:clamp(340px, 46vw, 620px);
}

.ers-class-hero.ers-class-header-video-bg.ers-has-class-header-video-bg::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(12, 15, 19, .58), rgba(12, 15, 19, .72));
}

.ers-class-hero.ers-class-header-video-bg.ers-has-class-header-video-bg > .ers-page__hero-inner{
  position:relative;
  z-index:2;
}

.ers-class-single__main-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 360px);
  gap:clamp(26px, 5vw, 54px);
  align-items:start;
}

.ers-class-single__content-title{
  margin:0 0 12px;
  color:inherit;
  font-family:var(--ers-page-heading-font-family, inherit);
  font-size:clamp(2rem, 4vw, 3.25rem);
  font-weight:var(--ers-page-heading-font-weight, 800);
  line-height:1.05;
  letter-spacing:-.035em;
}

.ers-class-single__subtitle{
  margin:0 0 22px;
  font-size:clamp(1.05rem, 2vw, 1.32rem);
  font-weight:600;
  line-height:1.35;
  color:inherit;
}

.ers-class-single__description{
  font-size:1rem;
  line-height:1.7;
}

.ers-class-single__description > *:first-child{ margin-top:0; }
.ers-class-single__description > *:last-child{ margin-bottom:0; }

/* Shared ERS WYSIWYG divider output. The editor only saves plain <hr>;
   front-end styling stays plugin/theme-owned instead of per-field inline CSS. */
.ers-class-single__description hr,
.ers-staff-single__bio hr,
.ers-event-single__description hr,
.ers-event-single__full-details hr,
.ers-rental-single__details hr,
.ers-collection-single__description hr{
  display:block;
  width:100%;
  height:0;
  margin:1.6em 0;
  border:0;
  border-top:1px solid currentColor;
  opacity:.22;
}

.ers-class-single__description h2,
.ers-class-single__description h3,
.ers-class-single__description h4{
  margin:1.35em 0 .65em;
  color:inherit;
  font-family:var(--ers-page-heading-font-family, inherit);
  font-weight:var(--ers-page-heading-font-weight, 800);
  letter-spacing:.02em;
  line-height:1.15;
}


.ers-class-single__waiver-wrap,
.ers-class-single__signup-button-wrap,
.ers-class-single__back-link-wrap{
  margin:18px 0 0;
}

.ers-class-single__waiver-button,
.ers-class-single__signup-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  border-radius:9px;
  background:var(--ers-accent-primary, #dd3333);
  color:#fff;
  padding:13px 18px;
  font-size:1rem;
  font-weight:var(--ers-page-heading-font-weight, 800);
  line-height:1.2;
  text-align:center;
  text-decoration:none;
}

.ers-class-single__waiver-button:hover,
.ers-class-single__waiver-button:focus,
.ers-class-single__signup-button:hover,
.ers-class-single__signup-button:focus{
  color:#fff;
  filter:brightness(.95);
  text-decoration:none;
}

.ers-class-single__section--back{
  margin-top:clamp(22px, 4vw, 38px);
}

.ers-class-single__section--back .ers-page__section-body{
  display:flex;
  justify-content:flex-start;
}


.ers-class-single__signup-helper{
  max-width:760px;
  margin:0 0 24px;
  color:#4b5563;
  font-size:1rem;
  font-weight:500;
  line-height:1.55;
}

.ers-class-single__signup-empty{
  max-width:760px;
  margin:0;
  color:#374151;
  font-size:1rem;
  font-weight:600;
  line-height:1.55;
}

.ers-class-single__embed{
  width:100%;
}

@media (max-width: 980px){
  .ers-class-single__main-grid{
    grid-template-columns:1fr;
  }
}


/* ERS Rendered Staff Detail Page */
.ers-staff-template__wrap,
.ers-staff-single{
  padding:0;
}

.ers-staff-hero.ers-page__hero{
  min-height:clamp(320px, 42vw, 560px);
}

.ers-staff-hero.ers-page__hero.is-blurred-bg::before{
  background-position:center 33%;
}

.ers-staff-single__main-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(260px, 360px);
  gap:clamp(26px, 5vw, 54px);
  align-items:start;
}

.ers-staff-single__main-grid--single{
  grid-template-columns:minmax(0, 1fr);
}

.ers-staff-single__bio-title{
  margin:0 0 .75em;
  color:inherit;
  font-family:var(--ers-page-heading-font-family, inherit);
  font-size:clamp(1.65rem, 3vw, 2.25rem);
  font-weight:var(--ers-page-heading-font-weight, 800);
  letter-spacing:.01em;
  line-height:1.12;
}

.ers-staff-single__bio{
  font-size:1rem;
  line-height:1.7;
}

.ers-staff-single__bio > *:first-child{ margin-top:0; }
.ers-staff-single__bio > *:last-child{ margin-bottom:0; }

.ers-staff-single__bio h2,
.ers-staff-single__bio h3,
.ers-staff-single__bio h4{
  margin:1.35em 0 .65em;
  color:inherit;
  font-family:var(--ers-page-heading-font-family, inherit);
  font-weight:var(--ers-page-heading-font-weight, 800);
  letter-spacing:.02em;
  line-height:1.15;
}

.ers-staff-single__details-photo{
  display:block;
  width:100%;
  aspect-ratio:4 / 5;
  object-fit:cover;
  border-radius:14px;
}


.ers-staff-single__section--back{
  margin-top:clamp(22px, 4vw, 38px);
}

.ers-staff-single__section--back .ers-page__section-body{
  display:flex;
  justify-content:flex-start;
}

@media (max-width: 980px){
  .ers-staff-single__main-grid{
    grid-template-columns:1fr;
  }
}


/* ERS Rendered Event Detail Page */
.ers-event-template__wrap,
.ers-event-single{
  padding:0;
}

.ers-event-hero.ers-page__hero{
  min-height:clamp(320px, 42vw, 560px);
}

.ers-event-single__main-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 360px);
  gap:clamp(26px, 5vw, 54px);
  align-items:start;
}

.ers-event-single__main-grid--single{
  grid-template-columns:minmax(0, 1fr);
}

.ers-event-single__content{
  font-size:1rem;
  line-height:1.7;
}

.ers-event-single__content > *:first-child,
.ers-event-single__description > *:first-child,
.ers-event-single__full-details > *:first-child{ margin-top:0; }
.ers-event-single__content > *:last-child,
.ers-event-single__description > *:last-child,
.ers-event-single__full-details > *:last-child{ margin-bottom:0; }

.ers-event-single__full-details{
  margin-top:clamp(22px, 3vw, 34px);
}

.ers-event-single__content h2,
.ers-event-single__content h3,
.ers-event-single__content h4{
  margin:1.35em 0 .65em;
  color:inherit;
  font-family:var(--ers-page-heading-font-family, inherit);
  font-weight:var(--ers-page-heading-font-weight, 800);
  letter-spacing:.02em;
  line-height:1.15;
}


.ers-event-single__section--schedule{
  margin-top:var(--ers-page-section-gap);
}

.ers-event-single__schedule-helper{
  max-width:760px;
  margin:0 0 24px;
  color:#4b5563;
  font-size:1rem;
  font-weight:500;
  line-height:1.55;
}

.ers-event-single__schedule-empty{
  max-width:760px;
  margin:0;
  color:#374151;
  font-size:1rem;
  font-weight:600;
  line-height:1.55;
}

.ers-event-single__schedule-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}

.ers-event-single__schedule-item{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
  padding:18px;
  border:1px solid #e1e4e8;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15, 23, 42, .045);
}

.ers-event-single__schedule-date{
  color:#111827;
  font-size:1rem;
  font-weight:800;
  line-height:1.35;
}

.ers-event-single__register-wrap{
  margin:22px 0 0;
}

.ers-event-single__register-button,
.ers-event-single__schedule-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border-radius:9px;
  background:var(--ers-accent-primary, #dd3333);
  color:#fff;
  padding:11px 18px;
  font-size:.95rem;
  font-weight:var(--ers-page-heading-font-weight, 800);
  line-height:1.2;
  text-align:center;
  text-decoration:none;
}

.ers-event-single__register-button:hover,
.ers-event-single__register-button:focus,
.ers-event-single__schedule-button:hover,
.ers-event-single__schedule-button:focus{
  color:#fff;
  filter:brightness(.95);
  text-decoration:none;
}

.ers-event-single__section--back{
  margin-top:clamp(22px, 4vw, 38px);
}

.ers-event-single__section--back .ers-page__section-body{
  display:flex;
  justify-content:flex-start;
}

@media (max-width: 980px){
  .ers-event-single__schedule-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .ers-event-single__main-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 576px){
  .ers-event-single__schedule-list{
    grid-template-columns:1fr;
  }
}

.ers-rental-template__wrap,
.ers-rental-single{
  padding:0;
}


/* Rental/Collection/Blog Detail Pages use the shared ERS Page hero/body rhythm; slice selectors below handle page-specific content only. */


.ers-rental-single__intro{
  display:grid;
  grid-template-columns:minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap:28px;
  align-items:start;
  margin:0 0 34px;
}

.ers-rental-single__media-col{
  min-width:0;
}

.ers-rental-single__media,
.ers-rental-single__media--placeholder{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:#f2f3f5;
}

.ers-rental-single__media-inner{
  position:relative;
  aspect-ratio:4 / 3;
}

.ers-rental-single__media .ers-card__img{
  width:100%;
  height:100%;
  /* Detail pages prioritize full product visibility over filling the frame. */
  object-fit:contain;
  display:block;
}

.ers-rental-single__media--placeholder .ers-rental-single__media-inner{
  min-height:320px;
}

.ers-rental-single__content{
  min-width:0;
}

.ers-rental-single__content-title{
  margin:0 0 16px;
  line-height:1.14;
  font-size:clamp(26px, 3vw, 38px);
  font-weight:400;
  text-wrap:balance;
}


.ers-rental-single__details{
  font-size:16px;
  line-height:1.7;
}

.ers-rental-single__details > *:first-child{ margin-top:0; }
.ers-rental-single__details > *:last-child{ margin-bottom:0; }

.ers-rental-single__back-link-wrap{
  margin:22px 0 0;
  padding-top:8px;
}


@media (max-width: 980px){
  .ers-rental-single__intro{
    grid-template-columns:1fr;
    gap:22px;
    margin-bottom:28px;
  }
  .ers-rental-single__media--placeholder .ers-rental-single__media-inner{
    min-height:240px;
  }
}
.ers-rentals-grid-filterable{
  position:relative;
}
.ers-rentals-grid-filters{
  margin:0 0 18px;
}
.ers-rentals-grid-filters__controls{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.ers-rentals-grid-filters__field{
  display:flex;
  align-items:center;
}
.ers-rentals-grid-filters__field select{
  min-width:180px;
  max-width:100%;
  min-height:48px;
  padding:10px 44px 10px 14px;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2350575e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:16px 16px;
  background-position:right 14px center;
}
.ers-rentals-grid-filters__clear{
  min-height:48px;
  padding:10px 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1.2;
}
.ers-rentals-grid__results-wrap{
  position:relative;
}
.ers-rentals-grid__status{
  position:absolute;
  top:10px;
  left:50%;
  transform:translateX(-50%);
  z-index:4;
  margin:0;
  min-height:36px;
  padding:0 16px 2px;
  box-sizing:border-box;
  border-radius:999px;
  background:rgba(17,24,39,.88);
  color:#fff;
  font-size:14px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease, visibility .16s ease;
  white-space:nowrap;
}
.ers-rentals-grid-filterable.is-loading .ers-rentals-grid__status,
.ers-rentals-grid__status[data-has-message="1"]{
  opacity:1;
  visibility:visible;
}
.ers-rentals-grid-filterable.is-loading .ers-rentals-grid__results{
  opacity:.65;
  transition:opacity .16s ease;
}
.ers-rentals-grid-empty{
  padding:18px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:8px;
  background:rgba(0,0,0,.02);
}
@media (max-width: 767px){
  .ers-rentals-grid-filters__controls{
    align-items:stretch;
  }
  .ers-rentals-grid-filters__field,
  .ers-rentals-grid-filters__field select,
  .ers-rentals-grid-filters__clear{
    width:100%;
  }
}


.ers-card--promotions .ers-card__summary{
  font-size:14px;
  line-height:1.4;
  margin:0;
}

.ers-card--promotions.ers-card--image-only .ers-card__body{
  display:none;
}


.ers-card--promotions.ers-card--image-only.ers-card--promotions-image-fill{
  min-height:100%;
}
.ers-card--promotions.ers-card--image-only.ers-card--promotions-image-fill .ers-card__media{
  flex:1;
  display:flex;
  min-height:0;
  padding:0;
}
.ers-card--promotions.ers-card--image-only.ers-card--promotions-image-fill .ers-card__media-inner{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100%;
  height:100%;
  aspect-ratio:auto;
  background:rgba(0,0,0,.04);
  isolation:isolate;
}
.ers-promotion-image-card__bg{
  position:absolute;
  inset:0;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  filter:blur(16px);
  transform:scale(1.08);
  opacity:.92;
  z-index:0;
}
.ers-promotion-image-card__bg::after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.08);
}
.ers-promotion-image-card__img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}

/* Shared Linked List component (Classes, Staff, Events, and Blogs).
   Linked Lists use ERS-planned grouped-column flow at each responsive width.
   The planner owns grouping/splitting; CSS only presents the planned columns. */
.ers-linked-list {
  max-width: var(--ers-linked-list-max-width, none);
}
.ers-linked-list__plan {
  display: none;
  grid-template-columns: repeat(var(--ers-linked-list-plan-cols, 1), minmax(0, 1fr));
  column-gap: var(--ers-linked-list-column-gap, 32px);
}
.ers-linked-list__plan--desktop { display: grid; }
.ers-linked-list__column {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--ers-linked-list-group-gap, 18px);
}
.ers-linked-list__group { min-width: 0; }
.ers-linked-list__title {
  margin: 0 0 var(--ers-linked-list-heading-gap, 10px);
  color: var(--ers-linked-list-title-color, #111827);
  font-size: inherit;
  line-height: 1.25;
  font-weight: inherit;
}
.ers-linked-list--title-caps .ers-linked-list__title { text-transform: uppercase; }
.ers-linked-list--title-bold .ers-linked-list__title { font-weight: 700; }
.ers-linked-list--title-underlined .ers-linked-list__title {
  display: inline-block;
  border-bottom: var(--ers-linked-list-underline-thickness, 2px) solid var(--ers-linked-list-underline-color, #111827);
  padding-bottom: 2px;
}
.ers-linked-list__title--continued { opacity: .9; }
.ers-linked-list__items {
  margin: 0;
  padding-left: 1.1em;
  list-style: disc outside;
}
.ers-linked-list__item { display: list-item; margin: 0; }
.ers-linked-list__item + .ers-linked-list__item { margin-top: var(--ers-linked-list-item-gap, 6px); }
.ers-linked-list__item::marker { color: var(--ers-linked-list-bullet-color, #111827); }
.ers-linked-list__link { color: var(--ers-linked-list-link-color, #111827); text-decoration: none; }
.ers-linked-list__link:hover, .ers-linked-list__link:focus { text-decoration: underline; }
@media (max-width: 980px) {
  .ers-linked-list__plan--desktop { display: none; }
  .ers-linked-list__plan--tablet { display: grid; }
}
@media (max-width: 767px) {
  .ers-linked-list__plan--tablet { display: none; }
  .ers-linked-list__plan--mobile { display: grid; }
}


.ers-collection-single{
  padding:0;
}


.ers-card__badge{
  position:absolute;
  top:var(--ers-collection-badge-top, 10px);
  right:var(--ers-collection-badge-right, auto);
  bottom:var(--ers-collection-badge-bottom, auto);
  left:var(--ers-collection-badge-left, 10px);
  z-index:3;
  display:inline-block;
  padding:var(--ers-collection-badge-pad-y, 6px) var(--ers-collection-badge-pad-x, 12px);
  border-radius:var(--ers-collection-badge-radius, 999px);
  background:var(--ers-collection-badge-bg, #111827);
  color:var(--ers-collection-badge-color, #ffffff);
  font-weight:var(--ers-collection-badge-weight, 700);
  letter-spacing:var(--ers-collection-badge-letter-spacing, 0.08em);
  text-transform:var(--ers-collection-badge-transform, uppercase);
  font-size:12px;
  line-height:1;
  pointer-events:none;
}
.ers-card__badge-wrap--inline{ margin:0 0 8px; }
.ers-card__badge-wrap--inline .ers-card__badge{ position:static; }

/* Store Hours front-end text renderer */
.ers-store-hours{
  --ers-store-hours-text:#1d2327;
  --ers-store-hours-muted:rgba(29,35,39,.72);
  --ers-store-hours-highlight:rgba(0,0,0,.055);
  color:var(--ers-store-hours-text);
  font-family:inherit;
  font-size:inherit;
  line-height:1.35;
}
.ers-store-hours--text-light{
  --ers-store-hours-text:#fff;
  --ers-store-hours-muted:rgba(255,255,255,.78);
  --ers-store-hours-highlight:rgba(255,255,255,.16);
}
.ers-store-hours--text-dark{
  --ers-store-hours-text:#1d2327;
  --ers-store-hours-muted:rgba(29,35,39,.72);
}
.ers-store-hours__location + .ers-store-hours__location{ margin-top:1.6em; }
.ers-store-hours__location-label{ margin:0 0 .75em; color:inherit; font-size:1.15em; line-height:1.2; font-weight:750; }
.ers-store-hours__group + .ers-store-hours__group{ margin-top:1.2em; }
.ers-store-hours__title{ margin:0 0 .55em; color:inherit; font-size:1.05em; line-height:1.2; font-weight:700; }
.ers-store-hours__rows{ display:flex; flex-direction:column; gap:.18em; }
.ers-store-hours__row{
  display:grid;
  grid-template-columns:minmax(8.5em, .85fr) minmax(0,1fr);
  column-gap:1em;
  align-items:baseline;
  padding:.18em .45em;
  margin-left:-.45em;
  margin-right:-.45em;
  border-radius:.42em;
}
.ers-store-hours__row.is-today{ background:var(--ers-store-hours-highlight, rgba(0,0,0,.055)); }
.ers-store-hours__day{ font-weight:650; color:inherit; }
.ers-store-hours__time{ color:inherit; }
.ers-store-hours__note{ grid-column:2; color:var(--ers-store-hours-muted); font-size:.92em; margin-top:.1em; }
/* Keep Store Hours day/time on one row for normal mobile widths.
   Only force stacking on truly narrow screens; long labels can still wrap naturally. */
.ers-store-hours__day{ min-width:0; }
.ers-store-hours__time{ min-width:0; text-align:left; }
@media (max-width: 360px){
  .ers-store-hours__rows{ gap:.72em; }
  .ers-store-hours__row{ display:flex; flex-direction:column; align-items:flex-start; gap:.12em; padding:.42em .55em; margin-left:-.55em; margin-right:-.55em; }
  .ers-store-hours__time{ margin-top:.02em; }
  .ers-store-hours__note{ margin-top:.06em; }
}


/* Class Header Video: Divi 5 section opt-in layer and ERS Rendered Class hero layer.
   Divi 5 appears to keep color/gradient/image as section CSS backgrounds, while
   video, pattern, and mask are actual child layers. ERS fills/creates the video
   slot before pattern/mask/content so the saved Class Header Video follows Divi's
   observed layer order without rewriting Divi background settings. */
.ers-class-header-video-bg.ers-has-class-header-video-bg{ position:relative; overflow:hidden; }
.ers-class-header-video-bg.ers-has-class-header-video-bg > .et-pb-background-video.ers-class-header-video-layer{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:0;
}
.ers-class-header-video-bg.ers-has-class-header-video-bg > .et-pb-background-video.ers-class-header-video-layer video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.ers-class-header-video-bg.ers-has-class-header-video-bg > .et_pb_background_pattern,
.ers-class-header-video-bg.ers-has-class-header-video-bg > .et_pb_background_mask{ z-index:1; }
.ers-class-header-video-bg.ers-has-class-header-video-bg > .et_pb_row{ position:relative; z-index:2; }
@media (prefers-reduced-motion: reduce){
  .ers-class-header-video-bg.ers-has-class-header-video-bg > .et-pb-background-video.ers-class-header-video-layer video{ display:none; }
}

/* Shared ERS gallery + lightbox */
.ers-gallery{
  display:grid;
  grid-template-columns:repeat(var(--ers-grid-cols-d, 3), minmax(0, 1fr));
  gap:var(--ers-card-gap, 18px);
}
.ers-gallery__item{
  display:block;
  position:relative;
  overflow:hidden;
  border-radius:var(--ers-card-radius, 14px);
  background:#f6f7f7;
  aspect-ratio:1/1;
  text-decoration:none;
}
.ers-gallery__img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .18s ease;
}
.ers-gallery__item:hover .ers-gallery__img,
.ers-gallery__item:focus .ers-gallery__img{ transform:scale(1.025); }
@media (max-width: 980px){
  .ers-gallery{ grid-template-columns:repeat(var(--ers-grid-cols-t, 2), minmax(0, 1fr)); }
}
@media (max-width: 576px){
  .ers-gallery{ grid-template-columns:repeat(var(--ers-grid-cols-m, 1), minmax(0, 1fr)); }
}

body.ers-lightbox-open{ overflow:hidden; }
.ers-lightbox{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.82);
}
.ers-lightbox.is-open{ display:flex; }
.ers-lightbox__dialog{ position:relative; width:auto; max-width:min(70vw, 1400px); max-height:90vh; }
.ers-lightbox__image{ display:block; width:auto; height:auto; max-width:min(70vw, 1400px); max-height:90vh; object-fit:contain; border-radius:14px; box-shadow:0 18px 48px rgba(0,0,0,.4); background:transparent; }
.ers-lightbox__close{ position:absolute; top:-12px; right:-12px; width:36px; height:36px; border:0; border-radius:999px; background:rgba(0,0,0,.72); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,.28); }
.ers-lightbox__close-glyph{ display:block; font-size:26px; line-height:1; transform:translateY(-1px); }
@media (max-width: 980px){
  .ers-lightbox{ padding:18px; }
  .ers-lightbox__dialog{ max-width:95vw; }
  .ers-lightbox__image{ max-width:95vw; max-height:88vh; }
}

/* Single Blog pages (plugin-owned). */
.ers-blog-template__wrap,
.ers-blog-single{
  padding:0;
}


.ers-blog-single__back-link-wrap{
  margin:0 0 22px;
}

/* 1.0.424: after the Blog back link moved below previous/next navigation, give that relationship intentional breathing room without changing the link treatment elsewhere. */
.ers-blog-single__nav + .ers-blog-single__back-link-wrap{
  margin-top:28px;
}

.ers-blog-single__layout{
  display:grid;
  grid-template-columns:minmax(0, 3fr) minmax(240px, 1fr);
  gap:34px;
  align-items:stretch; /* Keep the sidebar divider as tall as the main article column. */
}

.ers-blog-single__layout.ers-page__section{
  margin-top:0;
}

.ers-blog-single__content,
.ers-blog-single__sidebar{
  min-width:0;
}

.ers-blog-single__article-content{
  font-size:16px;
  line-height:1.75;
}

.ers-blog-single__article-content p{
  margin:0 0 1.15em;
  font-size:1em;
  line-height:1.75;
  font-weight:400;
}

.ers-blog-single__article-content h1,
.ers-blog-single__article-content h2,
.ers-blog-single__article-content h3,
.ers-blog-single__article-content h4,
.ers-blog-single__article-content h5,
.ers-blog-single__article-content h6{
  line-height:1.22;
  font-weight:700;
  color:inherit;
}

.ers-blog-single__article-content h1{
  margin:1.9em 0 .7em;
  font-size:2em;
}

.ers-blog-single__article-content h2{
  margin:1.8em 0 .72em;
  font-size:1.6em;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.ers-blog-single__article-content h3{
  margin:1.5em 0 .7em;
  font-size:1.35em;
}

.ers-blog-single__article-content h4{
  margin:1.25em 0 .65em;
  font-size:1.15em;
}

.ers-blog-single__article-content h5{
  margin:1.15em 0 .6em;
  font-size:1.05em;
}

.ers-blog-single__article-content h6{
  margin:1.1em 0 .55em;
  font-size:1em;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.ers-blog-single__article-content > *:first-child{ margin-top:0; }
.ers-blog-single__article-content > *:last-child{ margin-bottom:0; }

/* Single Blog article body: keep imported/native WordPress content readable without changing cards, sidebars, or theme globals. */
.ers-blog-single__article-content img{
  max-width:100%;
  height:auto;
}

.ers-blog-single__article-content figure,
.ers-blog-single__article-content .wp-caption{
  max-width:100%;
  margin:1.6em 0;
}

.ers-blog-single__article-content figcaption,
.ers-blog-single__article-content .wp-caption-text{
  margin-top:.55em;
  font-size:.9em;
  line-height:1.45;
  color:rgba(17,24,39,.68);
}

.ers-blog-single__article-content ul,
.ers-blog-single__article-content ol{
  margin:0 0 1.25em 1.35em;
  padding-left:1.15em;
}

.ers-blog-single__article-content li{
  margin:.35em 0;
}

.ers-blog-single__article-content blockquote{
  margin:1.6em 0;
  padding:.25em 0 .25em 1.15em;
  border-left:4px solid var(--ers-accent-primary,#dd3333);
  color:rgba(17,24,39,.78);
  font-style:italic;
}

.ers-blog-single__article-content blockquote p:last-child{
  margin-bottom:0;
}

.ers-blog-single__article-content table{
  width:100%;
  max-width:100%;
  margin:1.5em 0;
  border-collapse:collapse;
  display:block;
  overflow-x:auto;
}

.ers-blog-single__article-content th,
.ers-blog-single__article-content td{
  padding:.65em .8em;
  border:1px solid rgba(17,24,39,.16);
  text-align:left;
  vertical-align:top;
}

.ers-blog-single__article-content iframe{
  max-width:100%;
}

.ers-blog-single__article-content .aligncenter{
  display:block;
  margin-left:auto;
  margin-right:auto;
}

.ers-blog-single__article-content .alignleft{
  float:left;
  margin:.35em 1.25em 1em 0;
}

.ers-blog-single__article-content .alignright{
  float:right;
  margin:.35em 0 1em 1.25em;
}

.ers-blog-single__article-content::after{
  content:"";
  display:block;
  clear:both;
}

.ers-blog-single__sidebar{
  border-left:1px solid rgba(17,24,39,.12);
  padding-left:24px;
}

.ers-blog-related-articles__title,
.ers-blog-single__section-title{
  margin:0;
  line-height:1.2;
  font-size:clamp(22px, 2.4vw, 30px);
}

.ers-blog-related-articles__section{
  margin-top:20px;
}

.ers-blog-related-articles__heading{
  margin:0 0 10px;
  font-size:14px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ers-blog-related-articles__list{
  margin:0;
  padding-left:1.1em;
}

.ers-blog-related-articles__item + .ers-blog-related-articles__item{
  margin-top:8px;
}

.ers-blog-related-articles__link{
  color:inherit;
  text-decoration:none;
}

.ers-blog-related-articles__link:hover,
.ers-blog-related-articles__link:focus{
  text-decoration:underline;
}

.ers-blog-single__section{
  margin-top:var(--ers-page-section-gap);
}

.ers-blog-single__section-head{
  margin:0 0 16px;
}

.ers-blog-single__related-items{
  width:100%;
}

.ers-blog-single__nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:var(--ers-page-section-gap);
  padding-top:24px;
  border-top:3px solid rgba(17,24,39,.12);
}

.ers-blog-single__nav-link{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  padding:16px;
  border:1px solid rgba(17,24,39,.14);
  border-radius:18px;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
  text-decoration:none;
  color:inherit;
  background:#fff;
}

.ers-blog-single__nav-link--next{
  text-align:right;
  align-items:flex-end;
}

.ers-blog-single__nav-label{
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(17,24,39,.68);
}

.ers-blog-single__nav-title{
  line-height:1.25;
  font-weight:700;
}

.ers-blog-single__nav-link:hover,
.ers-blog-single__nav-link:focus{
  border-color:var(--ers-accent-primary,#dd3333);
}

@media (max-width: 980px){

  .ers-blog-single__layout{
    grid-template-columns:1fr;
    gap:28px;
  }

  .ers-blog-single__sidebar{
    border-left:0;
    border-top:1px solid rgba(17,24,39,.12);
    padding-left:0;
    padding-top:24px;
  }

  .ers-blog-single__section,
  .ers-blog-single__nav{
    margin-top:30px;
  }
}

@media (max-width: 576px){
  .ers-blog-single__nav{
    grid-template-columns:1fr;
  }

  .ers-blog-single__nav-link--next{
    text-align:left;
    align-items:flex-start;
  }

  .ers-blog-single__nav + .ers-blog-single__back-link-wrap{
    margin-top:20px;
  }

  .ers-blog-single__nav-spacer{
    display:none;
  }
}

/* 1.0.396: the shared ERS Page system owns hero/body/discovery spacing; slice classes below remain only for page-specific visual hooks. */
.ers-rental-hero.ers-page__hero,
.ers-collection-hero.ers-page__hero,
.ers-blog-hero.ers-page__hero{
  min-height:var(--ers-page-hero-min-height);
  justify-content:flex-start;
  text-align:left;
  padding:0;
  margin:0;
}

.ers-rental-hero__inner.ers-page__hero-inner,
.ers-collection-hero__inner.ers-page__hero-inner,
.ers-blog-hero__inner.ers-page__hero-inner{
  width:min(var(--ers-page-max-width), calc(100% - (var(--ers-page-section-padding-x) * 2)));
  align-items:flex-start;
  padding:var(--ers-page-hero-padding-y) 0;
  gap:clamp(14px, 2vw, 20px);
}

.ers-rental-hero__accent.ers-page__hero-accent,
.ers-collection-hero__accent.ers-page__hero-accent,
.ers-blog-hero__accent.ers-page__hero-accent{
  width:76px;
  height:4px;
}

.ers-rental-hero__title.ers-page__hero-title,
.ers-collection-hero__title.ers-page__hero-title,
.ers-blog-hero__title.ers-page__hero-title{
  font-size:var(--ers-page-title-size);
  font-weight:var(--ers-page-heading-font-weight, 800);
  line-height:1.08;
  letter-spacing:-.03em;
  text-align:left;
  text-wrap:balance;
}


.ers-rental-single__section--main{
  margin-top:0;
}

.ers-rental-single__section-body--main{
  width:100%;
}

.ers-rental-single__intro{
  gap:clamp(28px, 5vw, 52px);
}

.ers-rental-single__content-title{
  font-weight:800;
  letter-spacing:-.02em;
}

.ers-rental-single__details-card-wrap{
  margin-top:22px;
}

.ers-rental-single__details-card{
  max-width:520px;
}

.ers-rental-single__back-link-wrap{
  margin-top:22px;
  padding-top:0;
}

.ers-rental-single__section--same-brand{
  border-top:1px solid rgba(17,24,39,.12);
  padding-top:var(--ers-page-section-gap);
}

.ers-collection-single__section--intro{
  margin-top:0;
}

.ers-collection-single__intro-body{
  max-width:var(--ers-page-narrow-width);
}

.ers-collection-single__subtitle{
  font-size:clamp(1.1rem, 2vw, 1.35rem);
  line-height:1.35;
  font-weight:700;
  margin:0 0 14px;
}

.ers-collection-single__description{
  font-size:16px;
  line-height:1.7;
  margin:0;
}

.ers-collection-single__description > *:first-child{ margin-top:0; }
.ers-collection-single__description > *:last-child{ margin-bottom:0; }

.ers-collection-single__section--items{
  margin-top:var(--ers-page-section-gap);
}

.ers-collection-single__section-title{
  margin:0;
  line-height:1.2;
  font-size:var(--ers-page-section-title-size);
}

.ers-collection-single__empty{
  margin:0;
  padding:12px 28px;
  border:1px solid rgba(17,24,39,.12);
  border-radius:14px;
  background:#fff;
  color:rgba(17,24,39,.72);
  line-height:1.35;
  box-sizing:border-box;
}

@media (max-width: 980px){
  .ers-rental-hero.ers-page__hero,
  .ers-collection-hero.ers-page__hero,
  .ers-blog-hero.ers-page__hero{
    min-height:240px;
    padding:0;
    margin:0;
  }

  .ers-rental-single__details-card{
    max-width:none;
  }
}

/* ERS Rendered Rentals Landing Page */
.ers-rental-landing{
  padding:0;
}
.ers-rental-landing-hero.ers-page__hero{
  min-height:clamp(320px, 42vw, 560px);
}
.ers-rental-landing__section--grid{
  margin-top:var(--ers-page-section-gap);
}
.ers-rental-landing__grid-body > .ers-rentals-grid-filterable{
  margin-top:0;
}
.ers-rental-landing-template__wrap{
  padding:0;
}

/* ERS Rendered Classes Landing Page */
.ers-class-landing{
  padding:0;
}
.ers-class-landing-hero.ers-page__hero{
  min-height:clamp(320px, 42vw, 560px);
}
.ers-class-landing-template__wrap{
  padding:0;
}
.ers-class-landing__section--featured,
.ers-class-landing__section--browse{
  /* Landing band spacing/background is owned by the shared ERS Page band pattern. */
}
.ers-class-landing__section--browse .ers-page__section-title--level-1,
.ers-class-landing__section--featured .ers-page__section-title--level-1{
  max-width:980px;
}
.ers-class-landing__location-group{
  scroll-margin-top:110px;
}
.ers-class-landing-hero__jump-button{
  scroll-behavior:smooth;
}

/* ERS Rendered Events Landing Page */
.ers-event-landing{
  padding:0;
}
.ers-event-landing-hero.ers-page__hero{
  min-height:clamp(320px, 42vw, 560px);
}
.ers-event-landing-template__wrap{
  padding:0;
}
.ers-event-landing__section--featured,
.ers-event-landing__section--upcoming,
.ers-event-landing__section--browse{
  /* Landing band spacing/background is owned by the shared ERS Page band pattern. */
}
.ers-event-landing__section--featured .ers-page__section-title--level-1,
.ers-event-landing__section--upcoming .ers-page__section-title--level-1,
.ers-event-landing__section--browse .ers-page__section-title--level-1{
  max-width:980px;
}

/* ERS Mega Menus ---------------------------------------------------------- */
.ers-mega-menu-item{
  position:relative;
}
.ers-mega-menu__toggle{
  display:none;
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  line-height:1;
}
.ers-mega-menu__toggle-icon,
.ers-mega-menu__group-icon{
  display:inline-block;
  width:.55em;
  height:.55em;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transition:transform .18s ease;
}
.ers-mega-menu-item.is-open > .ers-mega-menu__toggle .ers-mega-menu__toggle-icon{
  transform:rotate(225deg);
}
.ers-mega-menu__panel{
  position:absolute;
  left:50%;
  top:100%;
  z-index:10020;
  width:min(var(--ers-mega-menu-panel-width, 980px), calc(100vw - 48px));
  max-width:calc(100vw - 48px);
  transform:translateX(calc(-50% + var(--ers-mega-menu-panel-nudge, 0px))) translateY(10px);
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
}
.ers-mega-menu-item.is-open > .ers-mega-menu__panel{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateX(calc(-50% + var(--ers-mega-menu-panel-nudge, 0px))) translateY(0);
  transition-delay:0s;
}
.ers-mega-menu__inner{
  background:#fff;
  color:#111827;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  box-shadow:0 18px 50px rgba(0,0,0,.20);
  padding:18px;
  text-align:left;
}
.ers-mega-menu__desktop-groups{
  display:grid;
  grid-template-columns:repeat(var(--ers-mega-menu-plan-cols, 3), minmax(0, 1fr));
  gap:14px 24px;
}
.ers-mega-menu__column,
.ers-mega-menu__desktop-group{
  min-width:0;
}
.ers-mega-menu__column{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ers-mega-menu__groups{
  display:none;
}
.ers-mega-menu__group{
  min-width:0;
}
.ers-mega-menu__group-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  padding:0;
  margin:0 0 8px;
  font:inherit;
  text-align:left;
  cursor:default;
}
.ers-mega-menu__group-title{
  background:transparent;
  border:0;
  color:var(--ers-accent-primary, #dd3333);
  display:inline-block;
  font:inherit;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.08em;
  line-height:1.2;
  padding:0;
  text-transform:uppercase;
}
.ers-mega-menu__desktop-group .ers-mega-menu__group-title{
  margin:0 0 8px;
}
.ers-mega-menu__group-icon{
  display:none;
}
.ers-mega-menu__items{
  display:block;
  margin:0;
  padding:0;
  position:static;
}
.ers-mega-menu__item{
  color:#111827;
  min-width:0;
  padding-left:15px;
  position:relative;
}
.ers-mega-menu__item::before{
  background:currentColor;
  border-radius:999px;
  content:"";
  height:4px;
  left:1px;
  opacity:.9;
  position:absolute;
  top:.62em;
  width:4px;
}
.ers-mega-menu__item + .ers-mega-menu__item{
  margin-top:var(--ers-mega-menu-link-gap, 6px);
}
.ers-mega-menu__panel .ers-mega-menu__link{
  color:#111827 !important;
  display:inline-block;
  font-size:.95rem;
  font-weight:650;
  line-height:1.25;
  text-decoration:none;
}

.ers-mega-menu__panel--link-case-uppercase .ers-mega-menu__link-label{
  text-transform:uppercase;
}
.ers-mega-menu__panel--link-case-normal .ers-mega-menu__link-label{
  text-transform:none;
}
.ers-mega-menu__panel .ers-mega-menu__link:hover,
.ers-mega-menu__panel .ers-mega-menu__link:focus{
  color:var(--ers-accent-primary, #dd3333) !important;
  text-decoration:none;
}

/* Mega Menu highlights and compact cards */
.ers-mega-menu__badges{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:.45em;
  white-space:nowrap;
  vertical-align:baseline;
}
.ers-mega-menu__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 6px 0px 6px;
  border-radius:999px;
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.06em;
  line-height:1.1;
  text-transform:uppercase;
  transform:translateY(-3px);
}
.ers-mega-menu__badge--new{
  background:var(--ers-accent-primary, #dd3333);
  color:#fff;
}
.ers-mega-menu__badge--featured{
  border:1px solid currentColor;
  color:var(--ers-accent-primary, #dd3333);
  background:rgba(221,51,51,.06);
}
.ers-mega-menu__inner--with-cards{
  display:grid;
  grid-template-columns:minmax(180px, 230px) minmax(0, 1fr);
  gap:18px;
  align-items:start;
}
.ers-mega-menu__featured-cards{
  display:grid;
  gap:10px;
  min-width:0;
}
.ers-mega-menu__main{
  min-width:0;
}
.ers-card--mega-menu-compact{
  --ers-card-padding:10px;
  --ers-card-image-aspect:16/9;
  --ers-card-base-text-color:#111827;
  --ers-title-color:#111827;
  color:#111827;
  height:auto;
  min-height:0;
}
.ers-card--mega-menu-compact .ers-card__title{
  color:#111827;
  margin-bottom:0;
}
.ers-card--mega-menu-compact .ers-card__title-link-suffix,
.ers-card--mega-menu-compact .ers-card__meta-wrap,
.ers-card--mega-menu-compact .ers-card__actions{
  display:none;
}
.ers-card--mega-menu-compact .ers-card__badge--mega-menu-new{
  --ers-collection-badge-pad-y:5px;
  --ers-collection-badge-pad-x:9px;
}

.ers-mega-menu__view-all{
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid rgba(0,0,0,.10);
}
.ers-mega-menu__panel .ers-mega-menu__view-all-link{
  color:var(--ers-accent-primary, #dd3333) !important;
  display:inline-flex;
  font-size:.88rem;
  font-weight:850;
  letter-spacing:.04em;
  line-height:1.2;
  text-decoration:none;
  text-transform:uppercase;
}
.ers-mega-menu__panel .ers-mega-menu__view-all-link:hover,
.ers-mega-menu__panel .ers-mega-menu__view-all-link:focus{
  text-decoration:underline;
}
@media (max-width: 980px){
  body.ers-divi-mobile-menu-scroll-fix-enabled .et_mobile_menu{
    max-height:var(--ers-divi-mobile-menu-available-height, calc(100dvh - 120px));
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
  }
  .et_mobile_menu.ers-mega-menu-mobile-scroll{
    max-height:var(--ers-mega-menu-mobile-height-fallback, 75vh);
    max-height:min(var(--ers-mega-menu-mobile-height, 75dvh), var(--ers-mega-menu-mobile-available-height, 75dvh));
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
  }
  .ers-mega-menu-item{
    position:relative;
  }
  .ers-mega-menu-item--mobile-enabled > a{
    padding-right:44px !important;
  }
  .ers-mega-menu__toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:0;
    right:0;
    width:44px;
    min-height:44px;
    padding:0;
    z-index:2;
    color:#111827 !important;
    background:rgba(0,0,0,.04);
  }
  .ers-mega-menu__toggle:hover,
  .ers-mega-menu__toggle:focus{
    color:var(--ers-accent-primary, #dd3333) !important;
    background:rgba(0,0,0,.07);
    outline:2px solid rgba(221,51,51,.25);
    outline-offset:-2px;
  }
  .ers-mega-menu__toggle-icon{
    width:.65em;
    height:.65em;
    border-width:2px;
    opacity:.95;
  }
  .ers-mega-menu__panel{
    position:static;
    width:100%;
    max-width:none;
    transform:none;
    visibility:hidden;
    opacity:1;
    pointer-events:auto;
    display:none;
    transition:none;
  }
  .ers-mega-menu-item.is-open > .ers-mega-menu__panel{
    display:block;
    visibility:visible;
    transform:none;
  }
  .ers-mega-menu__inner{
    border:0;
    border-radius:0;
    box-shadow:none;
    margin:0;
    padding:10px 14px 14px;
    background:rgba(0,0,0,.05);
    color:#111827;
  }
  .ers-mega-menu__desktop-groups{
    display:none;
  }
  .ers-mega-menu__groups{
    display:block;
  }
  .ers-mega-menu__group + .ers-mega-menu__group{
    border-top:1px solid rgba(0,0,0,.10);
  }
  .ers-mega-menu__group-toggle{
    cursor:pointer;
    margin:0;
    padding:12px 0;
  }
  .ers-mega-menu__group-title{
    color:var(--ers-accent-primary, #dd3333);
  }
  .ers-mega-menu__group-icon{
    display:inline-block;
    position:relative;
    top:-3px;
  }
  .ers-mega-menu__group.is-open .ers-mega-menu__group-icon{
    transform:rotate(225deg);
  }
  .ers-mega-menu__items{
    display:none;
    padding:0 0 10px;
  }
  .ers-mega-menu__group.is-open .ers-mega-menu__items{
    display:block;
  }
  .ers-mega-menu__item + .ers-mega-menu__item{
    border-top:1px solid rgba(0,0,0,.08);
    margin-top:0;
  }
  .et_mobile_menu .ers-mega-menu__panel .ers-mega-menu__link,
  .et_mobile_menu .ers-mega-menu__panel .ers-mega-menu__view-all-link{
    border-bottom:0 !important;
  }
  .ers-mega-menu__item{
    padding-left:24px;
  }
  .ers-mega-menu__item::before{
    left:3px;
    top:calc(1.55em - 3px);
  }
  .ers-mega-menu__panel .ers-mega-menu__link{
    color:#111827 !important;
    display:block;
    font-size:.95rem;
    padding:11px 0;
    width:100%;
  }
  .ers-mega-menu__view-all{
    border-top:1px solid rgba(0,0,0,.10);
    margin-top:4px;
    padding-top:14px;
  }
  .ers-mega-menu__inner--with-cards{
    display:block;
  }

  .ers-mega-menu__featured-cards--mobile-count-0{
    display:none;
  }
  .ers-mega-menu__featured-cards--mobile-count-1 .ers-mega-menu__featured-card:nth-child(n+2){
    display:none;
  }
  .ers-mega-menu__featured-cards--mobile-count-2 .ers-mega-menu__featured-card:nth-child(n+3){
    display:none;
  }
  .ers-mega-menu__featured-cards{
    margin:0 0 14px;
  }
  .ers-card--mega-menu-compact{
    --ers-card-padding:10px;
  }
  .ers-mega-menu__badges{
    margin-left:.35em;
  }
}

/* ERS Highlight Section shortcode
   Visual-only wrappers for restricted WYSIWYG content. Font size/family stay
   inherited from the parent page/module; only wrapper treatment and required
   accent text contrast are owned here. */
.ers-highlight{
  display:block;
  /* External rhythm uses rem so Divi/module font-size differences do not
     over-expand the gap between normal text and Highlight wrappers. */
  margin:1rem 0;
  padding:1.2em 1.35em;
  border-radius:4px;
  font:inherit;
}
.ers-highlight > :first-child{margin-top:0;}
.ers-highlight > :last-child{margin-bottom:0;}
/* Divi/Dynamic Content can leave empty paragraphs or br tags around block
   shortcodes after Raw HTML output. Keep this cleanup scoped to ERS Highlight
   wrappers so normal WYSIWYG spacing and third-party shortcodes are untouched. */
.ers-highlight > p:empty{display:none;margin:0!important;}
.ers-highlight + br{display:none;}
.ers-highlight + p:empty{display:none;margin:0!important;}
p:has(+ .ers-highlight) > br:last-child{display:none;}
.ers-highlight--border{
  border:1px solid rgba(0,0,0,.18);
  background:transparent;
  color:inherit;
}
.ers-highlight--accent{
  border:0;
  background:var(--ers-highlight-bg,var(--ers-accent-primary,#dd3333));
  color:#fff;
}
.ers-highlight--accent-fallback{
  border-left:5px solid var(--ers-highlight-accent,var(--ers-accent-primary,#dd3333));
}
.ers-highlight--accent,
.ers-highlight--accent p,
.ers-highlight--accent li,
.ers-highlight--accent blockquote,
.ers-highlight--accent h2,
.ers-highlight--accent h3,
.ers-highlight--accent h4,
.ers-highlight--accent h5,
.ers-highlight--accent h6,
.ers-highlight--accent strong,
.ers-highlight--accent em,
.ers-highlight--accent b,
.ers-highlight--accent i,
.ers-highlight--accent a{
  color:#fff !important;
}
.ers-highlight--accent li::marker{
  color:#fff;
}
.ers-highlight--accent a{
  text-decoration-color:currentColor;
}

/* ERS Button shortcode
   Compact CTA for restricted WYSIWYG content. It shares the Accent Highlight
   color/contrast model but stays button-sized and inherits typography from the
   parent content/module. */
.ers-button-shortcode-wrap{
  display:block;
  margin:1rem 0;
}
.ers-button-shortcode-wrap--left{text-align:left;}
.ers-button-shortcode-wrap--center{text-align:center;}
.ers-button-shortcode-wrap--right{text-align:right;}
.ers-button-shortcode{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  padding:.82em 2.75em;
  border:0;
  border-radius:4px;
  background:var(--ers-button-bg,var(--ers-accent-primary,#dd3333));
  color:#fff !important;
  font:inherit;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.055em;
  text-align:center;
  text-decoration:none !important;
  text-transform:uppercase;
  transition:filter .18s ease;
}
.ers-button-shortcode--fallback{
  border-left:4px solid var(--ers-button-accent,var(--ers-accent-primary,#dd3333));
}
.ers-button-shortcode:hover,
.ers-button-shortcode:focus{
  color:#fff !important;
  text-decoration:none !important;
  filter:brightness(1.3);
}
.ers-button-shortcode:focus-visible{
  outline:2px solid currentColor;
  outline-offset:3px;
}

/* FAQ sections: shared visible Q&A content for ERS rendered pages and context shortcodes. */
.ers-faq__items{
  display:grid;
  gap:clamp(18px, 2.6vw, 28px);
}
.ers-faq__item{
  margin:0;
  padding:0 0 clamp(16px, 2.2vw, 24px);
  border-bottom:1px solid rgba(0,0,0,.12);
}
.ers-faq__item:last-child{
  padding-bottom:0;
  border-bottom:0;
}
.ers-faq__question{
  margin:0 0 .55em;
  color:inherit;
  font-family:var(--ers-page-heading-font-family, inherit);
  font-size:clamp(1.08rem, 1.55vw, 1.35rem);
  font-weight:var(--ers-page-heading-font-weight, 800);
  line-height:1.18;
}
.ers-faq__answer{
  margin:0;
  color:inherit;
  font-family:var(--ers-page-body-font-family, inherit);
  font-size:inherit;
  line-height:1.65;
}
