/*
 * Elevate Ranges Suite - Public UI
 *
 * Ownership map: see docs/css-ownership-map.md.
 * This file is the `ersuite-public` base handle and remains the anchor for
 * public design tokens plus slice-specific inline style variables.
 *
 * Major sections in this file include shared cards, grids/carousels, ERS
 * rendered/detail pages, landing pages, linked lists, Store Hours, Class Header
 * Video, Gallery/lightbox, Blogs, Mega Menu, Highlight Sections, ERS Button,
 * FAQ, Event info modal, Divi dropdown bullets, and shared shortcode empty/title
 * states. Do not split this file into new public runtime handles without
 * preserving token/style-var output and cascade order.
 */


/* 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:not(.ers-card__media--placeholder) .ers-card__media-inner::after{
  content:'+';
  position:absolute;
  z-index:3;
  top:50%;
  left:50%;
  width:var(--ers-card-hover-plus-badge-size, 72px);
  height:var(--ers-card-hover-plus-badge-size, 72px);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translate(-50%, -50%);
  color:#111827;
  background:var(--ers-accent-primary, #f5c400);
  font-size:var(--ers-card-hover-plus-size, 46px);
  font-weight:400;
  line-height:1;
  opacity:0;
  pointer-events:none;
  box-shadow:0 6px 18px rgba(0,0,0,.22);
  transition:opacity .2s ease;
}
@supports ((-webkit-mask-image:linear-gradient(#000, #000)) or (mask-image:linear-gradient(#000, #000))){
  .ers-card__media:not(.ers-card__media--placeholder) .ers-card__media-inner::after{
    content:'';
    -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PG1hc2sgaWQ9ImMiPjxyZWN0IHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIgZmlsbD0iYmxhY2siLz48Y2lyY2xlIGN4PSIzNiIgY3k9IjM2IiByPSIzNiIgZmlsbD0id2hpdGUiLz48cGF0aCBkPSJNMzMuNSAxNmg1djE3LjVINTZ2NUgzOC41VjU2aC01VjM4LjVIMTZ2LTVoMTcuNXoiIGZpbGw9ImJsYWNrIi8+PC9tYXNrPjwvZGVmcz48cmVjdCB3aWR0aD0iNzIiIGhlaWdodD0iNzIiIGZpbGw9IndoaXRlIiBtYXNrPSJ1cmwoI2MpIi8+PC9zdmc+");
    mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PG1hc2sgaWQ9ImMiPjxyZWN0IHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIgZmlsbD0iYmxhY2siLz48Y2lyY2xlIGN4PSIzNiIgY3k9IjM2IiByPSIzNiIgZmlsbD0id2hpdGUiLz48cGF0aCBkPSJNMzMuNSAxNmg1djE3LjVINTZ2NUgzOC41VjU2aC01VjM4LjVIMTZ2LTVoMTcuNXoiIGZpbGw9ImJsYWNrIi8+PC9tYXNrPjwvZGVmcz48cmVjdCB3aWR0aD0iNzIiIGhlaWdodD0iNzIiIGZpbGw9IndoaXRlIiBtYXNrPSJ1cmwoI2MpIi8+PC9zdmc+");
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-size:contain;
    mask-size:contain;
  }
}
a.ers-card:hover .ers-card__media:not(.ers-card__media--placeholder) .ers-card__media-inner::after,
a.ers-card:focus-visible .ers-card__media:not(.ers-card__media--placeholder) .ers-card__media-inner::after,
a.ers-card:focus-within .ers-card__media:not(.ers-card__media--placeholder) .ers-card__media-inner::after{
  opacity:var(--ers-card-hover-plus-opacity, 0);
}
.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;
  transform:scale(1);
  filter:grayscale(0) brightness(1);
  transition:transform .26s ease, filter .26s ease;
}
a.ers-card:hover .ers-card__img,
a.ers-card:focus-visible .ers-card__img,
a.ers-card:focus-within .ers-card__img{
  transform:scale(var(--ers-card-image-hover-scale, 1));
  filter:grayscale(var(--ers-card-image-hover-grayscale, 0)) brightness(var(--ers-card-image-hover-brightness, 1));
}


.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;
  white-space:nowrap;
}

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

.ers-card__title-link-suffix{
  display:inline-block;
  width:1.05em;
  height:1.05em;
  margin-left:0.16em;
  opacity:.88;
  line-height:0;
  vertical-align:-0.16em;
}

.ers-card__title-link-icon{
  position:static;
  width:100%;
  height:100%;
  display:block;
}

.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--classes .ers-card__summary--class{
  margin:6px 0 0;
  color:var(--ers-card-value-color, inherit);
  font-size:var(--ers-summary-size, 14px);
  line-height:1.45;
  font-weight:400;
}
.ers-card--blogs .ers-card__excerpt{
  font-size:var(--ers-summary-size, 14px);
}

.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:var(--ers-page-hero-image-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:var(--ers-page-hero-image-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, #111827);
  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, #111827);
  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, #111827);
  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, #111827);
  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, #111827);
  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__signup-button-wrap + .ers-class-upcoming-dates--class-page{
  margin-top:24px;
}

.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, #111827);
  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-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, #111827);
  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:var(--ers-summary-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%;
  max-width:100%;
  height:100%;
  max-height:var(--ers-promotion-image-only-preview-max-height, 420px);
  object-fit:contain;
  object-position:center center;
  transform:scale(1);
  filter:grayscale(0) brightness(1);
  transition:transform .26s ease, filter .26s ease;
}
a.ers-card--promotions-image-fill:hover .ers-promotion-image-card__img,
a.ers-card--promotions-image-fill:focus-visible .ers-promotion-image-card__img,
a.ers-card--promotions-image-fill:focus-within .ers-promotion-image-card__img{
  transform:scale(var(--ers-card-image-hover-scale, 1));
  filter:grayscale(var(--ers-card-image-hover-grayscale, 0)) brightness(var(--ers-card-image-hover-brightness, 1));
}

/* 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,#111827);
  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,#111827);
}

@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)));
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, visibility 0s linear .16s;
}
.ers-mega-menu-item.is-open > .ers-mega-menu__panel{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition-delay:0s;
}
.ers-mega-menu__inner{
  transform:translateY(10px);
  transition:transform .16s ease;
  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-item.is-open > .ers-mega-menu__panel > .ers-mega-menu__inner{
  transform:translateY(0);
}
.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, #111827);
  display:inline-block;
  font:inherit;
  font-size:var(--ers-mega-menu-group-title-size, 12.5px);
  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:var(--ers-mega-menu-link-size, 16px) !important;
  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, #111827) !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;
  border:1px solid transparent;
  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, #111827);
  border-color:var(--ers-accent-primary, #111827);
  color:#fff;
}
.ers-mega-menu__badge--featured{
  border:1px solid currentColor;
  color:var(--ers-accent-primary, #111827);
  background:rgba(17,24,39,.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;
  font-size:var(--ers-mega-menu-compact-card-title-size, var(--ers-title-size, inherit));
  margin-bottom:0;
}
.ers-mega-menu__panel a.ers-card--mega-menu-compact,
.ers-mega-menu__panel a.ers-card--mega-menu-compact:hover,
.ers-mega-menu__panel a.ers-card--mega-menu-compact:focus,
.ers-mega-menu__panel a.ers-card--mega-menu-compact:focus-visible{
  opacity:1 !important;
  filter:none !important;
  color:#111827 !important;
}
.ers-mega-menu__panel a.ers-card--mega-menu-compact:hover .ers-card__title,
.ers-mega-menu__panel a.ers-card--mega-menu-compact:focus .ers-card__title,
.ers-mega-menu__panel a.ers-card--mega-menu-compact:focus-visible .ers-card__title{
  color:#111827 !important;
}
.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{
  align-items:center;
  border-top:1px solid rgba(0,0,0,.10);
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
  padding-top:16px;
}
.ers-mega-menu__view-all-separator{
  color:rgba(17,24,39,.42);
  font-size:.85rem;
  font-weight:700;
  line-height:1;
}
.ers-mega-menu__panel .ers-mega-menu__view-all-link{
  color:var(--ers-accent-primary, #111827) !important;
  display:inline-flex;
  font-size:var(--ers-mega-menu-footer-link-size, 16px) !important;
  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, #111827) !important;
    background:rgba(0,0,0,.07);
    outline:2px solid rgba(17,24,39,.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;
    transform:none;
    transition:none;
  }
  .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, #111827);
  }
  .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:var(--ers-mega-menu-link-size, 16px) !important;
    padding:11px 0;
    width:100%;
  }
  .ers-mega-menu__view-all{
    align-items:flex-start;
    border-top:1px solid rgba(0,0,0,.10);
    flex-direction:column;
    gap:4px;
    margin-top:4px;
    padding-top:14px;
  }
  .ers-mega-menu__view-all-separator{
    display:none;
  }
  .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;
  }
  .et_mobile_menu .ers-mega-menu__featured-cards{
    margin:0 0 14px;
    overflow:visible;
    padding:1px 1px 7px;
  }
  .et_mobile_menu .ers-mega-menu__featured-card{
    box-sizing:border-box;
    overflow:visible;
    padding:1px;
  }
  .et_mobile_menu .ers-mega-menu__panel a.ers-card--mega-menu-compact{
    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);
    box-sizing:border-box;
    display:flex;
    margin:0;
    max-width:100%;
    overflow:hidden;
    padding:0;
    width:100%;
  }
  .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,#111827));
  color:#fff;
}
.ers-highlight--accent-fallback{
  border-left:5px solid var(--ers-highlight-accent,var(--ers-accent-primary,#111827));
}
.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,#111827));
  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,#111827));
}
.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;
}

/* Event Display Only / No Link informational card modal */
body.ers-event-info-card-modal-open{ overflow:hidden; }
.ers-event-info-card-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.62);
}
.ers-event-info-card-modal.is-open{ display:flex; }
.ers-event-info-card-modal__dialog{
  position:relative;
  width:min(420px, calc(100vw - 32px));
  max-height:calc(100vh - 48px);
  overflow:auto;
  outline:none;
  border-radius:var(--ers-card-radius,14px);
}
.ers-event-info-card-modal__content > .ers-card{
  width:100%;
  border-radius:inherit;
  overflow:hidden;
}
.ers-event-info-card-modal__close{
  position:absolute;
  top:-12px;
  right:-12px;
  z-index:2;
  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-event-info-card-modal__close span{ display:block; font-size:26px; line-height:1; transform:translateY(-1px); }
.ers-linked-list__link--button{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  font:inherit;
  cursor:pointer;
  text-align:left;
}
@media (max-width: 640px){
  .ers-event-info-card-modal{ padding:18px; align-items:flex-end; }
  .ers-event-info-card-modal__dialog{ width:100%; max-height:88vh; }
  .ers-event-info-card-modal__close{ top:-14px; right:-8px; }
}
.ers-event-info-card-modal__dialog{ overflow:visible; }
.ers-event-info-card-modal__content{ max-height:calc(100vh - 48px); overflow:auto; border-radius:var(--ers-card-radius,14px); }
@media (max-width: 640px){ .ers-event-info-card-modal__content{ max-height:88vh; } }

/* Standard Divi Menu Module dropdown bullets.
   Scoped by ERS Settings body classes and excludes ERS Mega Menu output.
   Uses a hanging-indent inline bullet so wrapped submenu text aligns under the first text line. */
body.ers-divi-dropdown-bullets-desktop .et_pb_menu .et_pb_menu__menu .et-menu-nav ul.et-menu > li.menu-item-has-children:not(.ers-mega-menu-item) ul.sub-menu li > a,
body.ers-divi-dropdown-bullets-mobile .et_pb_menu .et_mobile_nav_menu .et_mobile_menu > li.menu-item-has-children:not(.ers-mega-menu-item) ul.sub-menu li > a{
  --ers-divi-dropdown-bullet-indent:1.35em;
  --ers-divi-dropdown-bullet-size:5px;
  display:block;
  padding-left:var(--ers-divi-dropdown-bullet-indent);
  text-indent:calc(var(--ers-divi-dropdown-bullet-indent) * -1);
}
body.ers-divi-dropdown-bullets-desktop .et_pb_menu .et_pb_menu__menu .et-menu-nav ul.et-menu > li.menu-item-has-children:not(.ers-mega-menu-item) ul.sub-menu li > a::before,
body.ers-divi-dropdown-bullets-mobile .et_pb_menu .et_mobile_nav_menu .et_mobile_menu > li.menu-item-has-children:not(.ers-mega-menu-item) ul.sub-menu li > a::before{
  background:var(--ers-accent-primary, #9ca3af);
  border-radius:999px;
  content:"";
  display:inline-block;
  height:var(--ers-divi-dropdown-bullet-size);
  margin-right:calc(var(--ers-divi-dropdown-bullet-indent) - var(--ers-divi-dropdown-bullet-size));
  vertical-align:middle;
  width:var(--ers-divi-dropdown-bullet-size);
}

/* ERS external-link icon helper for standard Divi Menu Module dropdown links.
   JS wraps only the final word/token and icon so long labels can wrap while
   the icon stays attached to the final line. Add the ers-external-link class
   to a non-parent WordPress menu item. */
.et_pb_menu .sub-menu li.ers-external-link:not(.menu-item-has-children) > a{
  box-sizing:border-box;
  max-width:100%;
  white-space:normal !important;
}
.et_pb_menu .sub-menu li.ers-external-link:not(.menu-item-has-children) > a::after{
  content:none !important;
  display:none !important;
}
.et_pb_menu .sub-menu li.ers-external-link:not(.menu-item-has-children) > a .ers-external-link-tail{
  white-space:nowrap !important;
}
.et_pb_menu .sub-menu li.ers-external-link:not(.menu-item-has-children) > a .ers-external-link-icon{
  background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2212%22%20height%3D%2212%22%20rx%3D%222%22%20fill%3D%22%23231F20%22/%3E%3Cpath%20d%3D%22M7%2011L11%207%22%20stroke%3D%22%23FFFFFF%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M8%207H11V10%22%20stroke%3D%22%23FFFFFF%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E") !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-size:18px 18px !important;
  display:inline-block !important;
  height:18px !important;
  margin-left:9px !important;
  vertical-align:-3.5px !important;
  width:18px !important;
}

/* ERS shortcode section titles and empty states. */
.ers-shortcode-section {
  margin: 0 0 1.5rem;
}

.ers-shortcode-section__title {
  margin: 0 0 1rem;
}

.ers-shortcode-empty {
  margin: 0;
  line-height: 1.5;
}

@media (prefers-reduced-motion: reduce){
  .ers-card__img,
  .ers-promotion-image-card__img,
  .ers-card__media:not(.ers-card__media--placeholder) .ers-card__media-inner::after{
    transition:none;
  }
  a.ers-card:hover .ers-card__img,
  a.ers-card:focus-visible .ers-card__img,
  a.ers-card:focus-within .ers-card__img,
  a.ers-card--promotions-image-fill:hover .ers-promotion-image-card__img,
  a.ers-card--promotions-image-fill:focus-visible .ers-promotion-image-card__img,
  a.ers-card--promotions-image-fill:focus-within .ers-promotion-image-card__img{
    transform:scale(1);
  }
}

/* Rentals Image Wall shortcode */
.ers-rentals-image-wall{
  --ers-image-wall-gap: 14px;
  --ers-image-wall-radius: 14px;
  --ers-image-wall-card-bg: #fff;
  --ers-image-wall-card-shadow: 0 10px 24px rgba(15,23,42,.12);
  width:100%;
}
.ers-rentals-image-wall__grid{
  display:grid;
  grid-template-columns:repeat(var(--ers-image-wall-cols-d, 7), minmax(0, 1fr));
  gap:var(--ers-image-wall-gap);
  perspective:1000px;
}
.ers-rentals-image-wall__card{
  position:relative;
  display:block;
  min-width:0;
  aspect-ratio:16 / 10;
  border-radius:var(--ers-image-wall-radius);
  text-decoration:none;
  color:inherit;
  perspective:1000px;
}
.ers-rentals-image-wall__card.is-inactive{
  display:none;
}
.ers-rentals-image-wall__inner{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  transform-style:preserve-3d;
  transition:transform .68s cubic-bezier(.175,.885,.32,1.275);
}
.ers-rentals-image-wall__card.is-resetting .ers-rentals-image-wall__inner{
  transition:none;
}
.ers-rentals-image-wall__face{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(10px, 1.6vw, 18px);
  border-radius:inherit;
  background:var(--ers-image-wall-card-bg);
  box-shadow:var(--ers-image-wall-card-shadow);
  backface-visibility:hidden;
  overflow:hidden;
}
.ers-rentals-image-wall__face--back{
  transform:rotateY(180deg);
}
.ers-rentals-image-wall__card.is-flip-y .ers-rentals-image-wall__face--back{
  transform:rotateX(180deg);
}
.ers-rentals-image-wall__card.is-flipping.is-flip-x .ers-rentals-image-wall__inner{
  transform:rotateY(180deg);
}
.ers-rentals-image-wall__card.is-flipping.is-flip-y .ers-rentals-image-wall__inner{
  transform:rotateX(180deg);
}
.ers-rentals-image-wall__face img{
  display:block;
  width:100%;
  height:100%;
  object-position:center;
}
.ers-rentals-image-wall.is-fit-contain .ers-rentals-image-wall__face img,
.ers-rentals-image-wall__face img[data-fit="contain"]{
  object-fit:contain;
}
.ers-rentals-image-wall.is-fit-cover .ers-rentals-image-wall__face img,
.ers-rentals-image-wall__face img[data-fit="cover"]{
  object-fit:cover;
}
.ers-rentals-image-wall--rentals .ers-rentals-image-wall__face{
  padding:0;
}
.ers-rentals-image-wall--rentals .ers-rentals-image-wall__card:focus-visible{
  outline:3px solid var(--ers-accent-primary, #111827);
  outline-offset:3px;
}
@media (max-width:980px){
  .ers-rentals-image-wall__grid{
    grid-template-columns:repeat(var(--ers-image-wall-cols-t, 4), minmax(0, 1fr));
  }
}
@media (max-width:767px){
  .ers-rentals-image-wall{
    --ers-image-wall-gap: 10px;
  }
  .ers-rentals-image-wall__grid{
    grid-template-columns:repeat(var(--ers-image-wall-cols-m, 2), minmax(0, 1fr));
  }
}
@media (prefers-reduced-motion: reduce){
  .ers-rentals-image-wall__inner{
    transition:none;
  }
}

/* Interactive guided finders */
.ers-interactive-finder{--ers-if-accent:var(--ers-primary-accent,#032b45);--ers-if-muted:#7f878d;--ers-if-border:#d9dce0;--ers-if-bg:#fff;--ers-if-text:#272225;--ers-if-card-bg:#fff;--ers-if-rule:#e0e0e0;--ers-if-title-size:42px;--ers-if-body-size:15.5px;border:1px solid var(--ers-if-border);border-radius:14px;background:var(--ers-if-bg);color:var(--ers-if-text);font-size:16px;line-height:1.5;padding:clamp(24px,4vw,56px);}
.ers-interactive-finder--dark{--ers-if-bg:#1c1c1c;--ers-if-card-bg:#1c1c1c;--ers-if-text:#f4f2f2;--ers-if-border:#423a3e;--ers-if-rule:#463e42;--ers-if-muted:#9aa0a5;}
.ers-interactive-finder__question{margin:0 0 clamp(22px,3vw,34px);}
.ers-interactive-finder__question-label{margin:0 0 16px;color:var(--ers-if-muted);font-size:11px;font-weight:800;line-height:1.25;letter-spacing:.18em;text-transform:uppercase;}
.ers-interactive-finder__question-label span{letter-spacing:.08em;}
.ers-interactive-finder__answers{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 18px;}
.ers-interactive-finder__answer{appearance:none;border:1px solid var(--ers-if-border);background:transparent;color:var(--ers-if-text);border-radius:999px;min-height:52px;padding:12px 18px;font-size:14px;font-weight:800;line-height:1.2;letter-spacing:.04em;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease;}
.ers-interactive-finder--dark .ers-interactive-finder__answer{border-color:#5b5356;}
.ers-interactive-finder__answer.is-active,.ers-interactive-finder__answer:focus{background:var(--ers-if-accent);border-color:var(--ers-if-accent);color:#fff;outline:2px solid rgba(45,125,255,.45);outline-offset:2px;}
.ers-interactive-finder__rule{height:1px;background:var(--ers-if-rule);margin:clamp(24px,4vw,42px) 0;}
.ers-interactive-finder__empty{text-align:center;color:var(--ers-if-muted);font-size:15.5px;font-weight:600;line-height:1.45;}
.ers-interactive-finder__result[hidden]{display:none!important;}
.ers-interactive-finder__card{display:grid;grid-template-columns:minmax(190px,320px) 1fr;gap:clamp(26px,4vw,48px);align-items:center;}
.ers-interactive-finder__media{aspect-ratio:1/1;background:#eef0f2;border:1px solid var(--ers-if-border);border-radius:8px;overflow:hidden;align-self:start;display:flex;align-items:center;justify-content:center;width:100%;}
.ers-interactive-finder__media img{width:100%;height:100%;object-fit:cover;display:block;}
.ers-interactive-finder--find-rental .ers-interactive-finder__media img{object-fit:contain;}
.ers-interactive-finder__eyebrow{color:#9fb8c6;font-size:11px;font-weight:900;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;margin:0 0 12px;}
.ers-interactive-finder__title{margin:0 0 12px;color:var(--ers-if-text);font-size:var(--ers-if-title-size);line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.02em;}
.ers-interactive-finder__meta{display:inline-flex;align-items:center;flex-wrap:wrap;border:1px solid var(--ers-if-border);border-radius:999px;padding:6px 12px;margin:0 0 18px;color:var(--ers-if-muted);font-size:12px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.04em;}
.ers-interactive-finder__meta-separator{display:inline-block;margin:0 .75em;opacity:.72;}
.ers-interactive-finder__description{font-size:var(--ers-if-body-size);line-height:1.55;margin:0 0 14px;color:var(--ers-if-text);opacity:.78;}
.ers-interactive-finder__note{margin:0 0 20px;color:var(--ers-if-muted);font-size:13.5px;line-height:1.45;}
.ers-interactive-finder__actions{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin-top:18px;}
.ers-interactive-finder__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;text-decoration:none;font-size:13px;font-weight:900;line-height:1.15;letter-spacing:.07em;text-transform:uppercase;border-radius:4px;border:1px solid var(--ers-if-border);}
.ers-interactive-finder__button--primary{background:var(--ers-secondary-accent,#9b0f0f);border-color:var(--ers-secondary-accent,#9b0f0f);color:#fff;}
.ers-interactive-finder__button--secondary{background:transparent;color:var(--ers-if-accent);border-color:transparent;border-bottom:3px solid var(--ers-if-accent);border-radius:0;}
.ers-interactive-finder--dark .ers-interactive-finder__button--secondary{color:#fff;border-bottom-color:#7faac2;}
@media (max-width: 700px){.ers-interactive-finder{padding:24px 18px}.ers-interactive-finder__card{grid-template-columns:1fr}.ers-interactive-finder__answers{grid-template-columns:1fr}.ers-interactive-finder__actions{align-items:stretch}.ers-interactive-finder__button{width:100%;}}

/* Interactive Find Membership */
.ers-membership-calculator{--ers-mem-accent:var(--ers-primary-accent,#032b45);--ers-mem-cta:var(--ers-secondary-accent,#9b0f0f);--ers-mem-border:#dfe3e7;--ers-mem-muted:#7e878d;--ers-mem-bg:#fff;--ers-mem-panel:#221d20;--ers-mem-text:#272225;--ers-mem-summary-text:#f7f5f5;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.95fr);gap:clamp(22px,3vw,42px);align-items:stretch;font-size:16px;line-height:1.45;color:var(--ers-mem-text);}
.ers-membership-calculator--dark{--ers-mem-bg:#1c1c1c;--ers-mem-text:#f7f5f5;--ers-mem-border:#443d41;--ers-mem-muted:#a5adb3;--ers-mem-panel:#141214;}
.ers-membership-calculator__controls{border:1px solid var(--ers-mem-border);border-radius:14px;background:var(--ers-mem-bg);padding:clamp(24px,4vw,48px);}
.ers-membership-calculator__section{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:0 0 clamp(24px,3vw,36px);margin:0 0 clamp(24px,3vw,36px);border-bottom:1px solid var(--ers-mem-border);}
.ers-membership-calculator__section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0;}
.ers-membership-calculator__section-copy h3{margin:0;color:var(--ers-mem-text);font-size:16px;font-weight:900;line-height:1.15;text-transform:uppercase;letter-spacing:.02em;}
.ers-membership-calculator__section-copy p{margin:6px 0 0;color:var(--ers-mem-muted);font-size:14px;font-weight:600;line-height:1.35;}
.ers-membership-calculator__stepper{display:grid;grid-template-columns:54px minmax(72px,auto) 54px;gap:clamp(14px,2vw,28px);align-items:center;}
.ers-membership-calculator__step{appearance:none;width:54px;height:54px;border-radius:999px;border:2px solid #cbd2d8;background:transparent;color:var(--ers-mem-text);font-size:28px;font-weight:900;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;}
.ers-membership-calculator__step-symbol{display:block;position:relative;width:20px;height:20px;color:currentColor;font-size:0;line-height:0;pointer-events:none;}.ers-membership-calculator__step-symbol::before,.ers-membership-calculator__step-symbol--plus::after{content:"";position:absolute;top:50%;left:50%;display:block;border-radius:999px;background:currentColor;transform:translate(-50%,-50%);}.ers-membership-calculator__step-symbol::before{width:18px;height:5px;}.ers-membership-calculator__step-symbol--plus::after{width:5px;height:18px;}
.ers-membership-calculator__value{min-width:70px;text-align:center;color:var(--ers-mem-text);font-size:26px;font-weight:900;line-height:1;}
.ers-membership-calculator__summary{border-radius:14px;background:var(--ers-mem-panel);color:var(--ers-mem-summary-text);padding:clamp(30px,4vw,54px);display:flex;flex-direction:column;justify-content:center;}
.ers-membership-calculator__heading{color:#9fb8c6;font-size:11px;font-weight:900;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;margin:0 0 18px;}
.ers-membership-calculator__total{font-size:64px;font-weight:900;line-height:.95;margin:0 0 44px;}
.ers-membership-calculator__rule{height:1px;background:rgba(255,255,255,.18);margin:0 0 clamp(28px,3vw,42px);}
.ers-membership-calculator__member-line{font-size:22px;font-weight:900;line-height:1.2;margin:0 0 18px;}
.ers-membership-calculator__member-line strong{color:#9fb8c6;}
.ers-membership-calculator__supporting{margin:0 0 30px;color:rgba(255,255,255,.72);font-size:14px;font-weight:500;line-height:1.5;}
.ers-membership-calculator__button{display:flex;align-items:center;justify-content:center;min-height:56px;padding:15px 24px;border-radius:4px;background:var(--ers-mem-cta);color:#fff;text-decoration:none;font-size:13px;font-weight:900;line-height:1.15;letter-spacing:.08em;text-transform:uppercase;}
@media (max-width: 900px){.ers-membership-calculator{grid-template-columns:1fr}.ers-membership-calculator__section{grid-template-columns:1fr}.ers-membership-calculator__stepper{justify-content:start}.ers-membership-calculator__summary{min-height:0}}
@media (max-width: 560px){.ers-membership-calculator__controls,.ers-membership-calculator__summary{padding:24px 18px}.ers-membership-calculator__stepper{grid-template-columns:48px minmax(64px,auto) 48px}.ers-membership-calculator__step{width:48px;height:48px}.ers-membership-calculator__value{text-align:center}}

/* Interactive Caliber Comparison */
.ers-caliber-comparison{--ers-caliber-accent:var(--ers-primary-accent,#032b45);--ers-caliber-bg:#fff;--ers-caliber-card-bg:#fff;--ers-caliber-text:#272225;--ers-caliber-muted:#737d84;--ers-caliber-border:#d9dce0;--ers-caliber-rule:#e7e9ec;--ers-caliber-recoil:#850D0D;--ers-caliber-noise:#032B45;--ers-caliber-cost:#c7a444;border:1px solid var(--ers-caliber-border);border-radius:14px;background:var(--ers-caliber-bg);color:var(--ers-caliber-text);font-size:16px;line-height:1.5;padding:clamp(24px,4vw,56px);}
.ers-caliber-comparison--dark{--ers-caliber-bg:#1c1c1c;--ers-caliber-card-bg:#232323;--ers-caliber-text:#f4f2f2;--ers-caliber-muted:#a5adb3;--ers-caliber-border:#423a3e;--ers-caliber-rule:#463e42;}
.ers-caliber-comparison__header{max-width:920px;margin:0 0 clamp(22px,3vw,34px);}.ers-caliber-comparison__heading{margin:0 0 10px;color:var(--ers-caliber-text);font-size:clamp(34px,5vw,52px);font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.02em;}.ers-caliber-comparison__intro{margin:0;color:var(--ers-caliber-muted);font-size:15.5px;font-weight:600;line-height:1.55;}.ers-caliber-comparison__pills{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 clamp(24px,3vw,38px);}.ers-caliber-comparison__pill{appearance:none;border:1px solid var(--ers-caliber-border);background:transparent;color:var(--ers-caliber-text);border-radius:999px;min-height:46px;padding:10px 18px;font-size:14px;font-weight:900;line-height:1.15;letter-spacing:.04em;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease;}.ers-caliber-comparison--dark .ers-caliber-comparison__pill{border-color:#5b5356;}.ers-caliber-comparison__pill:focus{outline:2px solid transparent;outline-offset:2px;}.ers-caliber-comparison__pill.is-active{background:var(--ers-caliber-accent);border-color:var(--ers-caliber-accent);color:#fff;outline:2px solid rgba(45,125,255,.45);outline-offset:2px;}.ers-caliber-comparison__pill:focus-visible{outline:2px solid rgba(45,125,255,.45);outline-offset:2px;}.ers-caliber-comparison__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,28px);align-items:stretch;}.ers-caliber-comparison__cards[data-selected-count="1"]{grid-template-columns:1fr;}.ers-caliber-comparison__cards[data-selected-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));}.ers-caliber-comparison__cards[data-selected-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr));}.ers-caliber-comparison__card{border:1px solid var(--ers-caliber-border);border-radius:12px;background:var(--ers-caliber-card-bg);padding:clamp(22px,3vw,30px);box-shadow:0 12px 30px rgba(0,0,0,.06);}.ers-caliber-comparison__card[hidden]{display:none!important;}.ers-caliber-comparison__card-head{padding:0 0 18px;margin:0 0 20px;border-bottom:1px solid var(--ers-caliber-rule);}.ers-caliber-comparison__card-head h3{margin:0;color:var(--ers-caliber-text);font-size:clamp(26px,3vw,38px);font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.02em;}.ers-caliber-comparison__card-head p{margin:7px 0 0;color:var(--ers-caliber-muted);font-size:13.5px;font-weight:700;line-height:1.35;}.ers-caliber-comparison__metric{margin:0 0 18px;}.ers-caliber-comparison__metric:last-child{margin-bottom:0;}.ers-caliber-comparison__metric-label{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin:0 0 8px;color:var(--ers-caliber-muted);font-size:11px;font-weight:900;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;}.ers-caliber-comparison__metric-label strong{color:var(--ers-caliber-text);font-size:13px;letter-spacing:.04em;text-align:right;}.ers-caliber-comparison__bar{height:10px;border-radius:999px;background:rgba(127,135,141,.18);overflow:hidden;}.ers-caliber-comparison__bar span{display:block;height:100%;border-radius:inherit;background:currentColor;min-width:2px;}.ers-caliber-comparison__metric--recoil{color:var(--ers-caliber-recoil);}.ers-caliber-comparison__metric--noise{color:var(--ers-caliber-noise);}.ers-caliber-comparison__metric--cost{color:var(--ers-caliber-cost);}.ers-caliber-comparison__none,.ers-caliber-comparison__empty{text-align:center;color:var(--ers-caliber-muted);font-size:15.5px;font-weight:700;line-height:1.45;margin:22px 0;}.ers-caliber-comparison__actions{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin-top:clamp(24px,3vw,36px);}.ers-caliber-comparison__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;text-decoration:none;font-size:13px;font-weight:900;line-height:1.15;letter-spacing:.07em;text-transform:uppercase;border-radius:4px;border:1px solid var(--ers-caliber-border);}.ers-caliber-comparison__button--primary{background:var(--ers-secondary-accent,#9b0f0f);border-color:var(--ers-secondary-accent,#9b0f0f);color:#fff;}.ers-caliber-comparison__button--secondary{background:transparent;color:var(--ers-caliber-accent);border-color:transparent;border-bottom:3px solid var(--ers-caliber-accent);border-radius:0;}.ers-caliber-comparison--dark .ers-caliber-comparison__button--secondary{color:#fff;border-bottom-color:#7faac2;}.ers-caliber-comparison__note{margin:clamp(22px,3vw,32px) 0 0;padding-top:18px;border-top:1px solid var(--ers-caliber-rule);color:var(--ers-caliber-muted);font-size:13.5px;font-weight:600;line-height:1.5;}
@media (max-width: 980px){.ers-caliber-comparison__cards,.ers-caliber-comparison__cards[data-selected-count="2"],.ers-caliber-comparison__cards[data-selected-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr));}.ers-caliber-comparison__cards[data-selected-count="1"]{grid-template-columns:1fr;}.ers-caliber-comparison__cards[data-selected-count="3"] .ers-caliber-comparison__card[data-selected-position="3"]{grid-column:1 / -1;}}
@media (max-width: 640px){.ers-caliber-comparison{padding:24px 18px}.ers-caliber-comparison__cards,.ers-caliber-comparison__cards[data-selected-count="1"],.ers-caliber-comparison__cards[data-selected-count="2"],.ers-caliber-comparison__cards[data-selected-count="3"]{grid-template-columns:1fr}.ers-caliber-comparison__cards[data-selected-count="3"] .ers-caliber-comparison__card[data-selected-position="3"]{grid-column:auto}.ers-caliber-comparison__pills{gap:10px}.ers-caliber-comparison__pill{min-height:42px;padding:9px 14px}.ers-caliber-comparison__actions{align-items:stretch}.ers-caliber-comparison__button{width:100%;}.ers-caliber-comparison__metric-label{align-items:flex-start;flex-direction:column;gap:3px}.ers-caliber-comparison__metric-label strong{text-align:left}}

.ers-first-visit-guide{--ers-fvg-panel:#032B45;--ers-fvg-accent:#850D0D;--ers-fvg-panel-text:#fff;--ers-fvg-panel-muted:#c7d8e5;--ers-fvg-panel-muted:color-mix(in srgb,var(--ers-fvg-panel) 24%,#fff 76%);--ers-fvg-panel-soft:#284b61;--ers-fvg-panel-soft:color-mix(in srgb,var(--ers-fvg-panel) 78%,#fff 22%);--ers-fvg-nav-muted:#6f7a83;--ers-fvg-nav-muted:color-mix(in srgb,var(--ers-fvg-panel) 42%,#fff 58%);--ers-fvg-bg:#f4f4f2;--ers-fvg-card:#fff;--ers-fvg-text:#171d22;--ers-fvg-muted:#6f7a83;--ers-fvg-border:#e2e4e6;color:var(--ers-fvg-text);font-size:16px;line-height:1.5}.ers-first-visit-guide__header{max-width:920px;margin:0 0 clamp(26px,4vw,42px)}.ers-first-visit-guide__heading{margin:0 0 12px;color:var(--ers-fvg-text);font-size:clamp(34px,5.5vw,58px);font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.02em}.ers-first-visit-guide__intro{margin:0;color:var(--ers-fvg-muted);font-size:clamp(16px,2vw,20px);font-weight:600;line-height:1.55}.ers-first-visit-guide__layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1fr);gap:clamp(22px,4vw,40px);align-items:start}.ers-first-visit-guide__steps{display:grid;gap:14px}.ers-first-visit-guide__step{appearance:none;border:0;border-radius:14px;background:var(--ers-fvg-card);color:var(--ers-fvg-text);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;width:100%;min-height:82px;padding:18px 22px;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.04);transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.ers-first-visit-guide__step:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,0,0,.06)}.ers-first-visit-guide__step.is-active{background:var(--ers-fvg-panel);color:#fff;box-shadow:none}.ers-first-visit-guide__step-number{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#eef0f2;color:var(--ers-fvg-text);font-size:15px;font-weight:900;line-height:1}.ers-first-visit-guide__step.is-active .ers-first-visit-guide__step-number{background:var(--ers-fvg-accent);color:#fff}.ers-first-visit-guide__step-copy{display:grid;gap:2px}.ers-first-visit-guide__step-title{font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;line-height:1.2}.ers-first-visit-guide__step-subtitle{color:var(--ers-fvg-nav-muted);font-size:13px;font-weight:700;line-height:1.25}.ers-first-visit-guide__step.is-active .ers-first-visit-guide__step-subtitle{color:var(--ers-fvg-panel-muted)}.ers-first-visit-guide__card{background:var(--ers-fvg-panel);border-radius:18px;color:var(--ers-fvg-panel-text);padding:clamp(32px,5vw,54px);min-height:100%;box-shadow:0 16px 34px rgba(0,0,0,.08)}.ers-first-visit-guide__card[hidden]{display:none!important}.ers-first-visit-guide__eyebrow{margin:0 0 16px;color:var(--ers-fvg-panel-muted);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.ers-first-visit-guide__card-title{margin:0 0 clamp(18px,3vw,28px);color:#fff;font-size:30px;font-weight:900;line-height:1.05;text-transform:uppercase;letter-spacing:.02em}.ers-first-visit-guide__description{margin:0 0 clamp(22px,3vw,34px);color:color-mix(in srgb,var(--ers-fvg-panel) 18%,#fff 82%);font-size:15.5px;font-weight:500;line-height:1.45}.ers-first-visit-guide__bullets{list-style:none;margin:0 0 clamp(26px,4vw,38px);padding:0;display:grid;gap:14px}.ers-first-visit-guide__bullets li{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;color:#fff;font-size:14.5px;font-weight:800;line-height:1.35}.ers-first-visit-guide__bullet-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--ers-fvg-panel-soft);color:var(--ers-fvg-panel-muted);font-size:11.5px;font-weight:900}.ers-first-visit-guide__actions{display:flex;gap:14px;flex-wrap:wrap}.ers-first-visit-guide__button{appearance:none;border:0;border-radius:12px;background:var(--ers-fvg-accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;text-decoration:none;font-size:13.5px;font-weight:900;line-height:1.1;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.ers-first-visit-guide__button:focus-visible,.ers-first-visit-guide__step:focus-visible{outline:3px solid rgba(45,125,255,.55);outline-offset:3px}.ers-first-visit-guide__empty{text-align:center;color:var(--ers-fvg-muted);font-size:15.5px;font-weight:700;line-height:1.45;margin:22px 0}@media (max-width: 980px){.ers-first-visit-guide__layout{grid-template-columns:1fr}.ers-first-visit-guide__steps{grid-template-columns:1fr}.ers-first-visit-guide__card{min-height:0}}@media (max-width: 640px){.ers-first-visit-guide__heading{font-size:clamp(30px,12vw,44px)}.ers-first-visit-guide__intro{font-size:15.5px}.ers-first-visit-guide__step{min-height:72px;padding:15px 16px}.ers-first-visit-guide__card{border-radius:16px;padding:28px 22px}.ers-first-visit-guide__button{width:100%}.ers-first-visit-guide__bullets li{align-items:flex-start}.ers-first-visit-guide__bullet-number{margin-top:-3px}}

/* Class Upcoming Dates */
.ers-class-upcoming-dates{--ers-cud-accent:var(--ers-primary-accent,#032b45);--ers-cud-cta:var(--ers-secondary-accent,#9b0f0f);--ers-cud-border:var(--ers-card-border,#dfe3e7);--ers-cud-bg:var(--ers-card-bg,#fff);--ers-cud-text:var(--ers-card-text,#272225);--ers-cud-muted:#737d84;color:var(--ers-cud-text);}
.ers-class-upcoming-dates__title{margin:0 0 18px;color:var(--ers-cud-text);}
.ers-class-upcoming-dates__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.ers-class-upcoming-dates__item{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0;border:1px solid var(--ers-cud-border);border-radius:12px;background:var(--ers-cud-bg);padding:16px 18px;box-shadow:0 8px 22px rgba(0,0,0,.04);}
.ers-class-upcoming-dates__date-wrap{display:grid;gap:4px;min-width:0;}
.ers-class-upcoming-dates__date{color:var(--ers-cud-text);font-size:17px;font-weight:900;line-height:1.15;letter-spacing:.01em;}
.ers-class-upcoming-dates__time{color:var(--ers-cud-muted);font-size:13.5px;font-weight:800;line-height:1.25;text-transform:uppercase;letter-spacing:.04em;}
.ers-class-upcoming-dates__action{width:100%;}
.ers-class-upcoming-dates__button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:4px;background:var(--ers-cud-cta);color:#fff;text-decoration:none;font-size:12px;font-weight:900;line-height:1.1;letter-spacing:.08em;text-transform:uppercase;pointer-events:auto;}
.ers-class-upcoming-dates__button:hover,.ers-class-upcoming-dates__button:focus{color:#fff;text-decoration:none;}
.ers-class-upcoming-dates__empty{margin:0;color:var(--ers-cud-muted);font-size:15px;font-weight:600;line-height:1.45;}
@media (max-width:980px){.ers-class-upcoming-dates__list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.ers-class-upcoming-dates__list{grid-template-columns:1fr}.ers-class-upcoming-dates__button{width:100%;}}

/* Event Schedule shortcode: content-only Theme Builder output.
   The shortcode intentionally omits the ERS Rendered Event page background shell;
   the date rows still use ERS card styling. */
.ers-event-schedule-shortcode{
  color:inherit;
}

.ers-event-schedule-shortcode__title{
  margin:0 0 18px;
  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;
}

/* Promotion Popup Display. */
body.ers-promotion-popup-open{ overflow:hidden; }
.ers-promotion-popup{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.72);
}
.ers-promotion-popup.is-open{ display:flex; }
.ers-promotion-popup__dialog{
  position:relative;
  width:min(92vw, 760px);
  max-height:92vh;
  overflow:auto;
  border-radius:18px;
  background:#fff;
  box-shadow:0 22px 64px rgba(0,0,0,.42);
}
.ers-promotion-popup__content{ padding:18px; text-align:center; }
.ers-promotion-popup__image{
  display:block;
  width:100%;
  height:auto;
  max-height:70vh;
  object-fit:contain;
  border-radius:12px;
  background:rgba(0,0,0,.04);
}
.ers-promotion-popup__body{
  margin:14px auto 0;
  max-width:620px;
  color:#1f2937;
  font-size:var(--ers-summary-size, 15px);
  line-height:1.45;
}
.ers-promotion-popup__cta-wrap{ margin:16px 0 0; }
.ers-promotion-popup__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 22px;
  border-radius:999px;
  background:var(--ers-promotion-popup-cta-bg, var(--ers-accent-primary, #111827));
  color:var(--ers-promotion-popup-cta-color, #fff);
  font-weight:700;
  text-decoration:none;
  line-height:1.2;
}
.ers-promotion-popup__cta--fallback{
  border-left:4px solid var(--ers-promotion-popup-cta-accent, var(--ers-accent-primary, #111827));
}
.ers-promotion-popup__cta:hover,
.ers-promotion-popup__cta:focus{ color:var(--ers-promotion-popup-cta-color, #fff); text-decoration:none; filter:brightness(1.05); }

.ers-promotion-popup--image-only .ers-promotion-popup__dialog{
  width:auto;
  max-width:min(70vw, 1400px);
  max-height:90vh;
  overflow:visible;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.ers-promotion-popup--image-only .ers-promotion-popup__content{ padding:0; }
.ers-promotion-popup--image-only .ers-promotion-popup__image{
  width:auto;
  max-width:min(70vw, 1400px);
  max-height:90vh;
  border-radius:14px;
  background:transparent;
  box-shadow:0 18px 48px rgba(0,0,0,.4);
}
.ers-promotion-popup--image-only .ers-promotion-popup__close{ top:-12px; right:-12px; }
.ers-promotion-popup__close{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:rgba(0,0,0,.72);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  line-height:1;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
}
@media (max-width: 767px){
  .ers-promotion-popup{ padding:14px; }
  .ers-promotion-popup__dialog{ width:96vw; max-height:94vh; border-radius:16px; }
  .ers-promotion-popup__content{ padding:14px; }
  .ers-promotion-popup__image{ max-height:64vh; }
  .ers-promotion-popup--image-only .ers-promotion-popup__dialog{ max-width:95vw; }
  .ers-promotion-popup--image-only .ers-promotion-popup__image{ max-width:95vw; max-height:88vh; }
}
