/**
 * ERS Design Shortcodes public fragment layer.
 *
 * These styles are intentionally scoped to .ers-design-shortcode so fragments
 * can render inside normal Divi pages without the ERS rendered-page shell.
 */

.ers-design-shortcode{
  --ers-ds-text:#111827;
  --ers-ds-muted:#6b7280;
  --ers-ds-heading:#111827;
  --ers-ds-card-bg:#ffffff;
  --ers-ds-card-border:#e5e7eb;
  --ers-ds-divider:#eef0f3;
  --ers-ds-surface-accent-text:var(--ers-accent-text-on-light, #111827);
  --ers-ds-surface-accent-visible:var(--ers-accent-visible-on-light, #111827);
  --ers-ds-filled-control-background:var(--ers-accent-readable-bg, #2f3033);
  --ers-ds-filled-control-text:var(--ers-accent-readable-text, #ffffff);
  --ers-ds-filled-control-accent:var(--ers-accent-readable-accent, #111827);
  --ers-ds-link:var(--ers-ds-surface-accent-text);
  --ers-component-link-color:var(--ers-ds-link);
  --ers-ds-shadow:0 16px 38px rgba(15, 23, 42, .08);
  color:var(--ers-ds-text);
  font-family:inherit;
}

.ers-design-shortcode--text-light{
  --ers-ds-text:#ffffff;
  --ers-ds-muted:rgba(255,255,255,.78);
  --ers-ds-heading:#ffffff;
  --ers-ds-card-bg:rgba(15, 23, 42, .48);
  --ers-ds-card-border:rgba(255,255,255,.22);
  --ers-ds-divider:rgba(255,255,255,.2);
  --ers-ds-surface-accent-text:#ffffff;
  --ers-ds-surface-accent-visible:var(--ers-accent-visible-on-dark, #ffffff);
  --ers-ds-link:#ffffff;
  --ers-ds-shadow:none;
}

.ers-design-shortcode__title{
  margin:0 0 .85rem;
  color:var(--ers-ds-heading);
  font-family:var(--ers-page-heading-font-family, inherit);
  font-weight:var(--ers-page-heading-font-weight, 800);
  line-height:1.15;
  letter-spacing:-.02em;
}

.ers-design-shortcode__body > :first-child{ margin-top:0; }
.ers-design-shortcode__body > :last-child{ margin-bottom:0; }

.ers-design-shortcode__subtitle{
  margin:0 0 .85rem;
  color:var(--ers-ds-muted);
  font-size:1.05rem;
  font-weight:700;
  line-height:1.35;
}

.ers-design-shortcode__rich-text{
  color:var(--ers-ds-text);
  line-height:1.7;
}

.ers-design-shortcode__rich-text > :first-child{ margin-top:0; }
.ers-design-shortcode__rich-text > :last-child{ margin-bottom:0; }

.ers-design-shortcode__empty{
  margin:0;
  color:var(--ers-ds-muted);
}

.ers-design-shortcode .ers-page__detail-card,
.ers-design-shortcode__detail-card{
  position:relative;
  top:auto;
  border:1px solid var(--ers-ds-card-border);
  border-radius:18px;
  background:var(--ers-ds-card-bg);
  padding:clamp(18px, 3vw, 26px);
  box-shadow:var(--ers-ds-shadow);
  color:var(--ers-ds-text);
}

.ers-design-shortcode .ers-page__detail-card-title,
.ers-design-shortcode__detail-title{
  margin:0 0 16px;
  color:var(--ers-ds-heading);
  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-design-shortcode__detail-list{ margin:0; }

.ers-design-shortcode .ers-page__detail-row,
.ers-design-shortcode__detail-row{
  display:grid;
  grid-template-columns:1fr;
  gap:3px;
  padding:11px 0;
  border-top:1px solid var(--ers-ds-divider);
}

.ers-design-shortcode .ers-page__detail-row:first-child,
.ers-design-shortcode__detail-row:first-child{
  border-top:0;
  padding-top:0;
}

.ers-design-shortcode .ers-page__detail-label,
.ers-design-shortcode__detail-label{
  margin:0;
  color:var(--ers-ds-muted);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}

.ers-design-shortcode .ers-page__detail-value,
.ers-design-shortcode__detail-value{
  margin:0;
  color:var(--ers-ds-text);
  font-size:1rem;
  font-weight:600;
  line-height:1.35;
}

.ers-design-shortcode .ers-class-single__waiver-wrap{ margin:0; }
.ers-design-shortcode .ers-class-single__waiver-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
}

@media (max-width: 767px){
  .ers-design-shortcode__title{ margin-bottom:.75rem; }
  .ers-design-shortcode .ers-page__detail-card,
  .ers-design-shortcode__detail-card{ padding:18px; border-radius:16px; }
}

.ers-design-shortcode--class-signup .ers-class-single__signup-helper,
.ers-design-shortcode--class-signup .ers-class-single__signup-empty,
.ers-design-shortcode .ers-class-single__signup-helper,
.ers-design-shortcode .ers-class-single__signup-empty{
  margin:0 0 1rem;
  color:var(--ers-ds-muted);
  line-height:1.55;
}

.ers-design-shortcode--class-signup .ers-class-single__signup-button-wrap,
.ers-design-shortcode .ers-class-single__signup-button-wrap{
  margin:0 0 1rem;
  max-width:360px;
}

.ers-design-shortcode--class-signup .ers-class-single__signup-button,
.ers-design-shortcode .ers-class-single__signup-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  max-width:100%;
  min-height:44px;
}

.ers-design-shortcode--class-signup .ers-class-single__embed,
.ers-design-shortcode--class-signup .ers-class-upcoming-dates{
  margin-top:1rem;
}

.ers-design-shortcode--class-signup .ers-class-single__signup-helper + .ers-class-single__embed,
.ers-design-shortcode--class-signup .ers-class-single__signup-helper + .ers-class-upcoming-dates,
.ers-design-shortcode--class-signup .ers-class-single__signup-helper + .ers-class-single__signup-button-wrap{
  margin-top:0;
}

.ers-design-shortcode .ers-class-upcoming-dates{
  --ers-cud-text:var(--ers-ds-text);
  --ers-cud-muted:var(--ers-ds-muted);
  --ers-cud-bg:var(--ers-ds-card-bg);
  --ers-cud-border:var(--ers-ds-card-border);
  --ers-cud-accent:var(--ers-ds-surface-accent-visible);
  --ers-cud-cta:var(--ers-ds-filled-control-background);
}

.ers-design-shortcode .ers-class-single__waiver-button,
.ers-design-shortcode .ers-class-single__signup-button,
.ers-design-shortcode .ers-class-upcoming-dates__button,
.ers-design-shortcode .ers-event-single__register-button,
.ers-design-shortcode .ers-event-single__schedule-button{
  border:1px solid var(--ers-ds-filled-control-accent);
  background:var(--ers-ds-filled-control-background);
  color:var(--ers-ds-filled-control-text);
}

.ers-design-shortcode .ers-class-single__waiver-button:hover,
.ers-design-shortcode .ers-class-single__waiver-button:focus,
.ers-design-shortcode .ers-class-single__signup-button:hover,
.ers-design-shortcode .ers-class-single__signup-button:focus,
.ers-design-shortcode .ers-class-upcoming-dates__button:hover,
.ers-design-shortcode .ers-class-upcoming-dates__button:focus,
.ers-design-shortcode .ers-event-single__register-button:hover,
.ers-design-shortcode .ers-event-single__register-button:focus,
.ers-design-shortcode .ers-event-single__schedule-button:hover,
.ers-design-shortcode .ers-event-single__schedule-button:focus{
  color:var(--ers-ds-filled-control-text);
}

.ers-design-shortcode__relationship-card{
  border-color:var(--ers-ds-card-border);
  background:var(--ers-ds-card-bg);
  box-shadow:var(--ers-ds-shadow);
  color:var(--ers-ds-text);
}

.ers-design-shortcode__relationship-card .ers-linked-list{
  color:var(--ers-ds-text);
}

.ers-design-shortcode__relationship-card .ers-linked-list__title{
  color:var(--ers-ds-heading);
  border-bottom-color:var(--ers-ds-surface-accent-visible);
}

.ers-design-shortcode__relationship-card .ers-linked-list__link{
  color:var(--ers-ds-text);
}

.ers-design-shortcode__relationship-card .ers-linked-list__link:hover,
.ers-design-shortcode__relationship-card .ers-linked-list__link:focus{
  color:var(--ers-ds-link);
}

.ers-design-shortcode__relationship-card .ers-linked-list__item::marker{
  color:var(--ers-ds-surface-accent-visible);
}

.ers-design-shortcode__relationship-grid{
  gap:clamp(18px, 3vw, 32px);
}

.ers-design-shortcode .ers-page__relationship-card,
.ers-design-shortcode__relationship-card{
  border-color:var(--ers-ds-card-border);
  background:var(--ers-ds-card-bg);
  color:var(--ers-ds-text);
  box-shadow:var(--ers-ds-shadow);
}

@media (max-width: 640px){
  .ers-design-shortcode .ers-class-single__signup-button,
  .ers-design-shortcode--class-signup .ers-class-single__signup-button{
    width:100%;
  }
}

@media (max-width: 767px){
  .ers-design-shortcode .ers-class-single__signup-button-wrap,
  .ers-design-shortcode--class-signup .ers-class-single__signup-button-wrap{
    max-width:none;
  }
}

/* Blog Design Shortcodes. */
.ers-design-shortcode--blogs .ers-blog-single__article-content,
.ers-design-shortcode--blogs .ers-blog-related-articles,
.ers-design-shortcode--blogs .ers-blog-single__related-items{
  color:var(--ers-ds-text);
}

.ers-design-shortcode--blog-meta .ers-blog-single__details-card{
  margin:0;
}

.ers-design-shortcode--blogs .ers-blog-related-articles__heading{
  color:var(--ers-ds-heading);
}

.ers-design-shortcode--blogs .ers-blog-related-articles__link{
  color:var(--ers-ds-link);
}

.ers-design-shortcode--blogs .ers-blog-single__article-content figcaption,
.ers-design-shortcode--blogs .ers-blog-single__article-content .wp-caption-text{
  color:var(--ers-ds-muted);
}

.ers-design-shortcode--blogs .ers-blog-single__article-content blockquote{
  border-left-color:var(--ers-ds-surface-accent-visible);
  color:var(--ers-ds-muted);
}

.ers-design-shortcode--blogs .ers-blog-single__article-content th,
.ers-design-shortcode--blogs .ers-blog-single__article-content td{
  border-color:var(--ers-ds-divider);
}

.ers-design-shortcode--blogs .ers-blog-single__nav{
  border-color:var(--ers-ds-divider);
}

.ers-design-shortcode--blogs .ers-blog-single__nav-link{
  border-color:var(--ers-ds-card-border);
  background:var(--ers-ds-card-bg);
  box-shadow:var(--ers-ds-shadow);
  color:var(--ers-ds-text);
}

.ers-design-shortcode--blogs .ers-blog-single__nav-link:hover,
.ers-design-shortcode--blogs .ers-blog-single__nav-link:focus{
  border-color:var(--ers-ds-surface-accent-visible);
  color:var(--ers-ds-text);
}

.ers-design-shortcode--blogs .ers-blog-single__nav-label{
  color:var(--ers-ds-muted);
}
