/* -----------------------------------------------------------------
   17. Course Single
   ----------------------------------------------------------------- */
.single-pts-course .main {
  background: var(--lexx-white);
  min-height: 100vh;
}

.intro-alt--flexed-secondary .intro__content {
  padding-right: 0;
}

.single-pts-course .intro-alt.intro-alt--flexed-secondary,
body.single-course .intro-alt.intro-alt--flexed-secondary {
  /* background: url('../../images/texture.png') center / cover no-repeat, var(--lexx-light-gray);
  background-size: contain;
  background-position-x: -300px;
  background-position-y: -10px; */
  padding: 5rem 0 3rem;
  position: relative;
  overflow: hidden;
}

.single-pts-course .intro-alt .shell {
  position: relative;
  z-index: 2;
}

.single-pts-course .intro__content h5 {
  font-family: var(--lexx-font-primary);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--lexx-accent-blue);
  margin-bottom: 12px;
}

.single-pts-course .intro__content h1 {
  font-family: var(--lexx-font-primary);
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 800;
  color: var(--lexx-text);
  line-height: 1.2;
  margin-bottom: 16px;
}

.single-pts-course .intro__content p {
  font-family: var(--lexx-font-primary);
  font-size: clamp(16px, 1.6vw, 18px);
  color: rgba(73, 73, 73, 0.85);
  line-height: 1.6;
}

.single-pts-course .intro-alt > .shell,
.single-pts-course .intro-alt--flexed-secondary > .shell {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3rem;
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
}

.single-pts-course .intro__image {
  flex: none;
  width: 280px;
  height: 280px;
  margin: 0;
  border-radius: var(--lexx-radius-card);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.single-pts-course .content {
  background: transparent;
  padding: 2rem 0;
}

.single-pts-course .content h2 {
  font-family: var(--lexx-font-primary);
  font-weight: 700;
  color: var(--lexx-text);
}

.single-pts-course .content h3 {
  font-family: var(--lexx-font-primary);
  font-weight: 600;
  color: var(--lexx-accent-blue);
  background: rgba(0, 172, 239, 0.06);
  padding: 14px 20px;
  border-radius: 8px;
  border-left: 3px solid rgba(0, 172, 239, 0.4);
}

.single-pts-course .content h4 {
  font-family: var(--lexx-font-primary);
  color: var(--lexx-accent-blue);
}

.single-pts-course .content p,
.single-pts-course .content li {
  font-family: var(--lexx-font-primary);
  color: var(--lexx-text);
}

.single-pts-course .content ul > li:before,
.single-pts-course .content .component__inner > ul > li:before,
.single-pts-course .content > ul > li:not(.list-trigger):before {
  background-color: var(--lexx-accent-orange);
}

.single-pts-course .content a {
  color: var(--lexx-accent-blue);
}

.single-pts-course .content a:hover {
  color: var(--lexx-accent-orange);
}

.single-pts-course .course_description,
.single-pts-course .course_ds_main {
  background: var(--lexx-light-gray);
  border: 1px solid var(--lexx-border);
  border-radius: var(--lexx-radius-card);
  padding: 2rem;
  margin: 2rem 0;
}

.single-pts-course .course--onpage-alert {
  background: rgba(0, 172, 239, 0.06);
  border: 1px solid rgba(0, 172, 239, 0.2);
  border-radius: 12px;
  padding: 1.5rem;
  margin: 1rem 0;
}

.single-pts-course .course--onpage-alert p {
  color: var(--lexx-text);
  margin: 0;
}

.single-pts-course .course--pricing-heading {
  font-family: var(--lexx-font-primary);
  color: var(--lexx-text);
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
}

.single-pts-course .course--price {
  color: var(--lexx-accent-orange);
  font-weight: 800;
}

.single-pts-course .course-actions .btn,
.single-pts-course .btn-pill--gradient {
  background: var(--lexx-btn-gradient);
  background-size: 200% 100%;
  color: var(--lexx-white);
  font-weight: 700;
  box-shadow: none;
  transition: background-position 0.4s ease-in-out !important;
}

.single-pts-course .course-actions .btn:hover,
.single-pts-course .btn-pill--gradient:hover {
  background-position: right center !important;
  color: var(--lexx-white) !important;
}

.single-pts-course .courses--no-classes {
  background: rgba(226, 80, 39, 0.06);
  border: 1px solid rgba(226, 80, 39, 0.2);
  border-radius: 12px;
  padding: 1.5rem;
  margin: 2rem auto;
}

.single-pts-course .courses--no-classes p {
  color: var(--lexx-text);
}

.single-pts-course .main > .shell {
  display: flex;
  gap: 3rem;
  margin: 30px auto;
}

.single-pts-course .main > .shell > .content {
  flex: 1;
  min-width: 0;
  padding: 0;
}

.single-pts-course .sidebar--pts-course,
.single-pts-course .aside {
  flex: 0 0 330px;
  max-width: 330px;
  padding-top: 0;
  background: transparent;
  border: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Space between stacked gradient CTAs (Register + Download) when no pricing block between */
.single-pts-course .aside > .btn-pill--gradient + .course-actions {
  margin-top: 10px;
}

.single-pts-course .aside > .btn-pill--gradient,
.single-pts-course .aside > .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  width: 100%;
  border-radius: var(--lexx-radius-btn);
}

.single-pts-course .course-actions {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.single-pts-course .course-actions .list-actions {
  list-style: none;
  margin: 0;
  padding: 0;
}

.single-pts-course .course-actions .list-actions li {
  margin: 0;
  padding: 0;
}

.single-pts-course .course-actions .list-actions a.btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 700;
  width: 100%;
  text-align: left;
  border-radius: var(--lexx-radius-btn);
}

.single-pts-course .widgets-alt {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.single-pts-course .widgets-alt .widget + .widget {
  margin-top: 0;
}

.single-pts-course .list-ticks {
  background: var(--lexx-light-gray);
  border: 1px solid var(--lexx-border);
  border-radius: var(--lexx-radius-card);
  padding: 28px 24px 22px;
  color: var(--lexx-text);
  font-family: var(--lexx-font-primary);
}

.single-pts-course .list-ticks li {
  color: var(--lexx-text);
  padding-left: 32px;
}

.single-pts-course .list-ticks li i {
  color: var(--lexx-accent-orange);
}

.single-pts-course .widgets-alt .widget {
  background: var(--lexx-light-gray);
  border: 1px solid var(--lexx-border);
  box-shadow: none;
  border-radius: 12px;
  padding: 20px;
}

.single-pts-course .widgets-alt .widget h5 {
  color: var(--lexx-text);
  font-family: var(--lexx-font-primary);
}

.single-pts-course .widgets-alt .widget p,
.single-pts-course .widgets-alt .widget span,
.single-pts-course .widgets-alt .widget li,
.single-pts-course .widgets-alt .widget a {
  color: var(--lexx-text);
}

.single-pts-course .widgets-alt .widget a:hover {
  color: var(--lexx-accent-blue);
}

.single-pts-course .widgets-alt .widget--alt {
  background: linear-gradient(to right, var(--lexx-accent-orange), var(--lexx-light-orange));
  border: none;
  border-radius: var(--lexx-radius-card);
  padding: 28px 20px 20px;
}

.single-pts-course .widgets-alt .widget--alt h4,
.single-pts-course .widgets-alt .widget--alt h4 strong {
  color: var(--lexx-white);
  font-family: var(--lexx-font-primary);
}

.single-pts-course .widgets-alt .widget--alt .list-ticks {
  background: var(--lexx-white);
  border: none;
  border-radius: 12px;
  color: var(--lexx-text);
}

.single-pts-course .widgets-alt .widget--alt .list-ticks li {
  color: var(--lexx-text);
}

.single-pts-course .widgets-alt .widget--alt .list-ticks li i {
  color: var(--lexx-success);
}

.single-pts-course .widgets-alt .widget--alt p {
  color: var(--lexx-white);
  font-style: italic;
  padding: 12px 20px 0;
  font-size: 13px;
}

.single-pts-course .pts-form,
.single-pts-course .pts-form-pricing {
  background: var(--lexx-white);
  border: 1px solid var(--lexx-border);
  border-radius: var(--lexx-form-card-radius);
  padding: var(--lexx-form-padding);
  margin-bottom: 1.5rem;
  box-shadow: none;
}

.single-pts-course .pts-form h3,
.single-pts-course .pts-form-pricing h3,
.single-pts-course .sidebar--pts-course h3 {
  font-family: var(--lexx-font-primary);
  font-weight: 700;
  color: var(--lexx-text);
  background: transparent;
  padding: 0;
  border: none;
}

.single-pts-course .pts-form p,
.single-pts-course .pts-form-pricing p {
  color: var(--lexx-text);
}

/* Match interior / callout GF chrome — no full-width blue band on heading */
.single-pts-course .pts-form .gform_wrapper .gform_heading,
.single-pts-course .pts-form-pricing .gform_wrapper .gform_heading {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 1rem !important;
}

.single-pts-course .pts-form .gform_wrapper .gform_heading .gform_title,
.single-pts-course .pts-form-pricing .gform_wrapper .gform_heading .gform_title,
.single-pts-course .pts-form .gform_wrapper .gform_heading h3,
.single-pts-course .pts-form-pricing .gform_wrapper .gform_heading h3 {
  color: var(--lexx-text) !important;
}

/* ACF/HTML intro above the form — strip legacy full-bleed blue bands (inline styles lose to !important here) */
.single-pts-course .pts-form > *:first-child:not(.gform_wrapper),
.single-pts-course .pts-form-pricing > *:first-child:not(.gform_wrapper) {
  background: transparent !important;
  color: var(--lexx-text) !important;
}

/* Sidebar / lead Gravity Forms: revamp/_forms-standard.css */

.single-pts-course .component--view-more:not(.expanded)::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, var(--lexx-white) 100%);
}

.single-pts-course .component__actions .btn {
  background: var(--lexx-btn-gradient);
  background-size: 200% 100%;
  background-position: left center;
  color: var(--lexx-white);
  border: none;
  box-shadow: none;
  transition: background 0.3s ease, transform 0.3s ease;
}

.single-pts-course .component__actions .btn:after,
.single-pts-course .component__actions .btn:hover:after {
  display: none !important;
}

.single-pts-course .component__actions .btn:hover {
  background-position: right center !important;
  color: var(--lexx-white) !important;
}

.single-pts-course .callout-secondary {
  background: var(--lexx-light-gray);
  border: 1px solid var(--lexx-border);
  border-radius: var(--lexx-radius-card);
  overflow: hidden;
}

.single-pts-course .callout-secondary .callout__content {
  background: var(--lexx-light-gray);
}

.callout__content .revamp-subcopy {
  color: var(--lexx-text);
  font-size: 28px;
  line-height: 1.25;
  font-weight: 400;
  max-width: calc(min(475px, 100%));
}

.single-pts-course .callout-secondary .callout__entry h3,
.single-pts-course .callout-secondary .callout__entry h4 {
  font-family: var(--lexx-font-primary);
  font-weight: 700;
  color: var(--lexx-text);
}

.single-pts-course .callout-secondary .callout__entry p {
  color: var(--lexx-text);
}

.single-pts-course .callout-secondary .callout__actions .btn {
  background: transparent;
  border: 2px solid var(--lexx-accent-blue);
  color: var(--lexx-accent-blue) !important;
}

.single-pts-course .callout-secondary .callout__actions .btn:hover {
  background: var(--lexx-accent-blue);
  color: var(--lexx-white) !important;
}

.single-pts-course .callout-secondary .callout__actions a:not(.btn) {
  color: var(--lexx-accent-orange);
}

.single-pts-course .callout-secondary .callout__actions a:not(.btn):hover {
  color: var(--lexx-accent-blue);
}

.course--gsa-note {
  border-radius: var(--lexx-radius-card);
}

.content .schema-faq-question, .content > h3,
.content > .component--view-more h3 {
  color: var(--lexx-text);
  background: var(--lexx-light-gray);
}

/* -----------------------------------------------------------------
   Course detail (page template + CPT): body gets `single-course` from
   page-course-single.php; bundle.css `body .pts-form` (#17acff) otherwise wins.
   `.single-pts-course` alone misses the Page-template course URLs.
   ----------------------------------------------------------------- */

body.single-course .shell > .aside,
body.single-course .main .aside {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 1.5rem !important;
  flex: 0 0 330px;
  max-width: 330px;
  padding: 0 !important;
  padding-top: 0 !important;
  background: transparent;
  border: none;
  margin-top: 10px !important;
}

body.single-course .aside > .btn-pill--gradient,
body.single-course .aside > .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  width: 100%;
  border-radius: var(--lexx-radius-btn);
}

.course-actions .ico-pdf svg {
  height: 22px !important;
}

body.single-course .aside > .btn-pill--gradient + .course-actions {
  margin-top: 10px !important;
}

body.single-course .course-actions {
  margin-top: 0;
  margin-bottom: 0;
}

body.single-course .course-actions .btn,
body.single-course .btn-pill--gradient {
  background: var(--lexx-btn-gradient);
  background-size: 200% 100%;
  color: var(--lexx-white);
  font-weight: 700;
  box-shadow: none;
}

body.single-course .course-actions .btn:hover,
body.single-course .btn-pill--gradient:hover {
  background-position: right center !important;
}

body.single-course .course-actions .list-actions a.btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 700;
  width: 100%;
  text-align: left;
  border-radius: var(--lexx-radius-btn);
}

/* Beat bundle.css `body .pts-form` + HubSpot submit !important */
body.single-course .pts-form,
body.single-course .pts-form-pricing {
  background: var(--lexx-white) !important;
  background-color: var(--lexx-white) !important;
  color: var(--lexx-text) !important;
  border: 1px solid var(--lexx-border) !important;
  border-radius: var(--lexx-form-card-radius) !important;
  padding: var(--lexx-form-padding) !important;
  box-shadow: none !important;
  margin: 0 0 1.5rem !important;
}

body.single-course .pts-form .gform_wrapper,
body.single-course .pts-form-pricing .gform_wrapper,
body.single-course .pts-form form,
body.single-course .pts-form-pricing form {
  background: transparent !important;
  background-color: transparent !important;
}

body.single-course .pts-form .gform_wrapper .gform_heading,
body.single-course .pts-form-pricing .gform_wrapper .gform_heading {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 1rem !important;
}

body.single-course .pts-form .gform_wrapper .gform_heading .gform_title,
body.single-course .pts-form .gform_wrapper .gform_heading h3,
body.single-course .pts-form-pricing .gform_wrapper .gform_heading .gform_title,
body.single-course .pts-form-pricing .gform_wrapper .gform_heading h3 {
  color: var(--lexx-text) !important;
}

body.single-course .pts-form .gform_wrapper .gfield_label,
body.single-course .pts-form .gform_wrapper legend.gfield_label,
body.single-course .pts-form-pricing .gform_wrapper .gfield_label,
body.single-course .pts-form-pricing .gform_wrapper legend.gfield_label {
  color: var(--lexx-text) !important;
}

body.single-course .pts-form > *:first-child:not(.gform_wrapper),
body.single-course .pts-form-pricing > *:first-child:not(.gform_wrapper) {
  background: transparent !important;
  color: var(--lexx-text) !important;
}

body.single-course .pts-form .gform_wrapper input[type="submit"],
body.single-course .pts-form .gform_wrapper .gform_button,
body.single-course .pts-form .gform_wrapper .gform_footer input.button,
body.single-course .pts-form-pricing .gform_wrapper input[type="submit"],
body.single-course .pts-form-pricing .gform_wrapper .gform_button,
body.single-course .pts-form-pricing .gform_wrapper .gform_footer input.button {
  appearance: none !important;
  border-radius: var(--lexx-radius-btn) !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  background: var(--lexx-btn-gradient) !important;
  background-image: var(--lexx-btn-gradient) !important;
  background-size: 200% 100% !important;
  background-position: left center !important;
  color: var(--lexx-white) !important;
  border: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: 100% !important;
  font-family: var(--lexx-font-primary) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: var(--lexx-form-submit-padding-y) var(--lexx-form-submit-padding-x) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: background-position 0.5s ease-in-out !important;
}

body.single-course .pts-form .gform_wrapper input[type="submit"]:hover,
body.single-course .pts-form .gform_wrapper .gform_button:hover,
body.single-course .pts-form .gform_wrapper .gform_footer input.button:hover,
body.single-course .pts-form-pricing .gform_wrapper input[type="submit"]:hover,
body.single-course .pts-form-pricing .gform_wrapper .gform_button:hover,
body.single-course .pts-form-pricing .gform_wrapper .gform_footer input.button:hover {
  background-position: right center !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  border: none !important;
  color: var(--lexx-white) !important;
}

/* bundle.css: body .pts-form label/h2/h5 + HubSpot .hs_submit input (99px radius, box-shadow) */
body.single-course .pts-form label,
body.single-course .pts-form-pricing label,
body.single-course .pts-form .hs-form label {
  color: var(--lexx-text) !important;
}

body.single-course .pts-form > h2,
body.single-course .pts-form-pricing > h2 {
  color: var(--lexx-text) !important;
}

body.single-course .pts-form h5,
body.single-course .pts-form-pricing h5 {
  color: var(--lexx-text) !important;
  text-transform: none !important;
}

body.single-course .pts-form h5:after,
body.single-course .pts-form-pricing h5:after {
  display: none !important;
}

body.single-course .pts-form p,
body.single-course .pts-form-pricing p,
body.single-course .pts-form .hs-richtext,
body.single-course .pts-form-pricing .hs-richtext {
  color: var(--lexx-text) !important;
}

body.single-course .pts-form .hs_submit input,
body.single-course .pts-form-pricing .hs_submit input {
  appearance: none !important;
  border-radius: var(--lexx-radius-btn) !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  background: var(--lexx-btn-gradient) !important;
  background-image: var(--lexx-btn-gradient) !important;
  background-size: 200% 100% !important;
  background-position: left center !important;
  color: var(--lexx-white) !important;
  border: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: 100% !important;
  font-family: var(--lexx-font-primary) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: var(--lexx-form-submit-padding-y) var(--lexx-form-submit-padding-x) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: background-position 0.5s ease-in-out !important;
}

body.single-course .pts-form .hs_submit input:hover,
body.single-course .pts-form-pricing .hs_submit input:hover {
  background: var(--lexx-btn-gradient) !important;
  background-image: var(--lexx-btn-gradient) !important;
  background-position: right center !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  border: none !important;
  color: var(--lexx-white) !important;
}

body.single-course .pts-form .gform_footer input.gform_button,
body.single-course .pts-form-pricing .gform_footer input.gform_button {
  border-radius: var(--lexx-radius-btn) !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  height: auto !important;
  padding: var(--lexx-form-submit-padding-y) var(--lexx-form-submit-padding-x) !important;
}

.widgets-alt h5 {
  color: var(--lexx-text);
}
.course--onpage-alert {
  border-left: 4px solid var(--lexx-light-orange);
  background: #F7931E20;
}