/* Real Voices heading - match other section headings at 40px */
[data-id="1b38070"] .elementor-headline {
  font-size: 40px !important;
}

/* ===== Footer subscribe form (post 273, widget 401d8377) ===== */
.elementor-273 .elementor-element.elementor-element-401d8377 .jetpack_subscription_widget { margin: 0 !important; }
.elementor-273 .elementor-element.elementor-element-401d8377 .widgettitle { display: none !important; }
.elementor-273 .elementor-element.elementor-element-401d8377 #subscribe-text { display: none !important; }
.elementor-273 .elementor-element.elementor-element-401d8377 form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}
.elementor-273 .elementor-element.elementor-element-401d8377 #subscribe-email {
  margin: 0 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.elementor-273 .elementor-element.elementor-element-401d8377 input#subscribe-field-1 {
  width: 100% !important;
  background: #4A6DB5 !important;
  border: none !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  padding: 8px 12px !important;
  box-sizing: border-box !important;
}
.elementor-273 .elementor-element.elementor-element-401d8377 input#subscribe-field-1::placeholder { color: #ffffffcc !important; }
.elementor-273 .elementor-element.elementor-element-401d8377 input#subscribe-field-1:hover,
.elementor-273 .elementor-element.elementor-element-401d8377 input#subscribe-field-1:focus {
  background: #4A6DB5 !important;
  color: #ffffff !important;
  outline: none !important;
}
.elementor-273 .elementor-element.elementor-element-401d8377 #subscribe-submit { margin: 0 !important; flex: 0 0 auto !important; }
.elementor-273 .elementor-element.elementor-element-401d8377 button.wp-block-button__link {
  background: #FFE500 !important;
  color: #3A5EA8 !important;
  border: none !important;
  border-radius: 15px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 10px 24px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
@media (max-width: 767px) {
  .elementor-273 .elementor-element.elementor-element-401d8377 form {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .elementor-273 .elementor-element.elementor-element-401d8377 #subscribe-email {
    width: 100% !important;
    flex: 0 0 auto !important;
  }
  .elementor-273 .elementor-element.elementor-element-401d8377 #subscribe-submit {
    margin-top: 10px !important;
  }
}

@media (max-width: 767px) {
  .elementor-383 .elementor-element.elementor-element-1b38070 .elementor-headline,
  .elementor-383 .elementor-element.elementor-element-1b38070 .elementor-headline * {
    font-size: 22px !important;
    text-align: center !important;
  }
  .elementor-383 .elementor-element.elementor-element-1b38070 {
    text-align: center !important;
  }
  .elementor-383 .elementor-element.elementor-element-e5dd778,
  .elementor-383 .elementor-element.elementor-element-cd6566d {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media (max-width: 767px) {
  .elementor-383 .elementor-element.elementor-element-cd6566d .elementor-main-swiper {
    height: 220px !important;
  }
}
/* Programs page animation speed - match home page fast setting */
.elementor-383 .animated {
  animation-duration: 0.75s !important;
}
/* ===== PTK Music Notes - Team page banner ===== */
.elementor-element-7372c380 .elementor-column-wrap,
.elementor-element-7372c380 .elementor-widget-wrap,
.elementor-element-c6f7c02,
.elementor-element-c6f7c02 .elementor-widget-container {
  overflow: visible !important;
}
.elementor-element-c6f7c02 .elementor-widget-container {
  position: relative;
}
.elementor-element-7372c380 .elementor-widget-wrap {
  position: relative;
}
/* sky blue - P mascot */
.elementor-element-c6f7c02 .elementor-widget-container::before {
  content: "\266A";
  position: absolute; top: 38%; left: 6%;
  font-size: 38px; color: #87CEEB;
  line-height: 1; pointer-events: none; z-index: 10;
}
/* yellow - T mascot */
.elementor-element-c6f7c02 .elementor-widget-container::after {
  content: "\266B";
  position: absolute; top: 42%; left: 40%;
  font-size: 32px; color: #FFE500;
  line-height: 1; pointer-events: none; z-index: 10;
}
/* white - K mascot */
.elementor-element-7372c380 .elementor-widget-wrap::before {
  content: "\2669";
  position: absolute; top: 38%; right: 10%;
  font-size: 30px; color: #FFFFFF;
  line-height: 1; pointer-events: none; z-index: 10;
}
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-element-c6f7c02 .elementor-widget-container::before { font-size: 28px; top: 38%; left: 4%; }
  .elementor-element-c6f7c02 .elementor-widget-container::after  { font-size: 24px; top: 42%; left: 38%; }
  .elementor-element-7372c380 .elementor-widget-wrap::before      { font-size: 22px; top: 38%; right: 8%; }
}
@media (max-width: 767px) {
  .elementor-element-c6f7c02 .elementor-widget-container::before { font-size: 26px; top: 38%; left: 5%; }
  .elementor-element-c6f7c02 .elementor-widget-container::after  { font-size: 22px; top: 42%; left: 40%; }
  .elementor-element-7372c380 .elementor-widget-wrap::before      { font-size: 22px; top: 38%; right: 6%; }
}

@media (max-width: 767px) {
  /* Real Voices heading - larger and centered on mobile */
  .elementor-383 .elementor-element.elementor-element-1b38070 .elementor-headline,
  .elementor-383 .elementor-element.elementor-element-1b38070 .elementor-headline * {
    font-size: 22px !important;
    text-align: center !important;
  }
  .elementor-383 .elementor-element.elementor-element-1b38070 {
    text-align: center !important;
  }
  .elementor-383 .elementor-element.elementor-element-e5dd778,
  .elementor-383 .elementor-element.elementor-element-cd6566d {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .elementor-383 .elementor-element.elementor-element-cd6566d .elementor-main-swiper {
    height: 220px !important;
  }
}
/* Programs page animation speed */
.elementor-383 .animated {
  animation-duration: 0.75s !important;
}

/* Fix: course/lesson/topic/quiz pages weren't getting the theme's contained width, because Elementor tags the body with an "elementor-page" class that the theme's centering rule explicitly excludes. This restores a contained, CENTERED width for LearnDash pages (2026-09-22: was left-aligned, causing a large blank gap on wide screens -- centered per Kaila's direction). */
body.learndash-cpt .site-main {
  width: 100% !important;
  max-width: none !important;
  margin-inline-start: auto !important;
  margin-inline-end: auto !important;
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  body.learndash-cpt .site-main {
    padding-inline-start: 20px !important;
    padding-inline-end: 20px !important;
  }
}
