/* Springer University redesign layer */
:root {
  --su-navy: #182b49;
  --su-blue: #1d66b2;
  --su-red: #c8232c;
  --su-gold: #f6b445;
  --su-ink: #162033;
  --su-muted: #64748b;
  --su-soft: #f5f8fc;
  --su-line: #dce5f0;
  --su-white: #ffffff;
}

body.springer-university-redesign {
  color: var(--su-ink);
  background: var(--su-soft);
  letter-spacing: 0;
}

.springer-university-redesign a {
  color: var(--su-blue);
}

.springer-university-redesign .rbt-header-middle,
.springer-university-redesign .rbt-header-wrapper {
  box-shadow: 0 6px 22px rgba(24, 43, 73, 0.07);
  border-bottom: 1px solid rgba(24, 43, 73, 0.08) !important;
}

.springer-university-redesign .logo img {
  max-height: 54px;
  width: auto;
}

.springer-university-redesign .mainmenu-nav .mainmenu > li > a {
  color: var(--su-navy);
  font-weight: 700;
}

.springer-university-redesign .rbt-search-with-category {
  border: 1px solid var(--su-line);
  border-radius: 999px;
  overflow: hidden;
  background: var(--su-white);
}

.springer-university-redesign .rbt-search-with-category input,
.springer-university-redesign .rbt-search-dropdown input {
  color: var(--su-ink);
}

.springer-university-redesign .btn-gradient,
.springer-university-redesign .bg-gradient-8 {
  background: linear-gradient(135deg, var(--su-red) 0%, var(--su-blue) 100%) !important;
}

.su-alert-bar {
  background: linear-gradient(90deg, var(--su-navy), var(--su-blue));
  color: var(--su-white);
}

.su-alert-bar a,
.su-alert-bar .rbt-btn-link {
  color: var(--su-white) !important;
}

.su-home-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(24, 43, 73, 0.94) 0%, rgba(24, 43, 73, 0.82) 48%, rgba(29, 102, 178, 0.7) 100%),
    url("/assets/images/VideoMatrix.jpg") center / cover no-repeat;
  padding: 86px 0 78px;
}

.su-home-hero .title,
.su-home-hero .description,
.su-home-hero .meta-text {
  color: var(--su-white);
}

.su-home-hero .rbt-badge-group {
  display: none !important;
}

.su-home-hero .title {
  max-width: 720px;
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1;
}

.su-home-hero .description {
  max-width: 660px;
  opacity: 0.92;
}

.su-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--su-white);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 700;
  margin-bottom: 18px;
}

.su-hero-video {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
  background: #000;
}

.su-hero-video img,
.su-card-img img,
.su-lesson-thumb {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.su-production-band {
  background: var(--su-white);
  padding: 70px 0;
}

.su-production-video {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(24, 43, 73, 0.16);
}

.su-stat-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}

.su-stat {
  border: 1px solid var(--su-line);
  border-radius: 8px;
  padding: 16px;
  background: var(--su-soft);
}

.su-stat strong {
  display: block;
  color: var(--su-red);
  font-size: 22px;
}

.su-section {
  padding: 72px 0;
  background: var(--su-soft);
}

.su-section-white {
  background: var(--su-white);
}

.su-course-card,
.su-video-card,
.su-sidebar-panel,
.su-author-panel {
  border: 1px solid var(--su-line) !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 35px rgba(24, 43, 73, 0.08) !important;
  overflow: hidden;
  background: var(--su-white);
}

.su-course-card .rbt-card-img img {
  min-height: 190px;
}

.su-video-card {
  height: 100%;
}

.su-video-card .rbt-card-img {
  position: relative;
}

.su-play-badge {
  position: absolute;
  left: 14px;
  bottom: 14px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(24, 43, 73, 0.9);
  color: var(--su-white);
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 800;
}

.su-course-filters {
  justify-content: center;
  padding: 0 16px;
}

.su-course-filters .rbt-btn {
  border-radius: 999px !important;
  min-height: 42px;
}

.su-page-banner {
  background:
    linear-gradient(135deg, rgba(24, 43, 73, 0.96), rgba(29, 102, 178, 0.82)),
    url("/assets/images/VideoMatrix.jpg") center / cover no-repeat;
  padding: 70px 0 44px;
}

.su-page-banner .title,
.su-page-banner .description,
.su-page-banner .rbt-badge-2 {
  color: var(--su-white);
}

.su-lesson-shell {
  background: var(--su-soft);
}

.su-watch-page {
  background: var(--su-soft);
}

.su-watch-hero {
  background:
    linear-gradient(130deg, rgba(5, 11, 24, 0.97), rgba(24, 43, 73, 0.96) 54%, rgba(29, 102, 178, 0.82)),
    url("/assets/images/VideoMatrix.jpg") center / cover no-repeat;
  color: var(--su-white);
  padding: 22px 22px 48px;
}

.su-watch-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  max-width: 1580px;
  margin: 0 auto 24px;
}

.su-watch-brand img {
  display: block;
  width: auto;
  max-height: 58px;
}

.su-watch-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--su-white) !important;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.08);
}

.su-watch-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
  align-items: stretch;
  gap: 28px;
  max-width: 1580px;
  margin: 0 auto;
}

.su-watch-video-column {
  display: flex;
  align-items: center;
  min-width: 0;
}

.su-watch-video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 520px;
  background: #000;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.42);
}

.su-watch-video-frame iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}

.su-video-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 28px;
  text-align: center;
  background: #050b18;
}

.su-video-fallback i {
  color: var(--su-gold);
  font-size: 42px;
}

.su-video-fallback h2 {
  color: var(--su-white);
  font-size: clamp(26px, 4vw, 42px);
  margin: 0;
}

.su-video-fallback p {
  color: rgba(255, 255, 255, 0.78);
  max-width: 520px;
  margin: 0;
}

.su-watch-summary {
  align-self: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  padding: 30px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(16px);
}

.su-watch-kicker {
  display: inline-flex;
  color: var(--su-gold);
  font-weight: 900;
  margin-bottom: 12px;
}

.su-watch-summary h1 {
  color: var(--su-white);
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1;
  margin-bottom: 18px;
}

.su-watch-summary p {
  color: rgba(255, 255, 255, 0.86);
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
}

.su-watch-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0 0 20px;
  list-style: none;
}

.su-watch-meta li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--su-white);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 13px;
  font-weight: 800;
}

.su-watch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.su-watch-content {
  padding: 56px 0 72px;
}

.su-watch-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 32px;
  align-items: start;
}

.su-lesson-article,
.su-presenter-card {
  background: var(--su-white);
  border: 1px solid var(--su-line);
  border-radius: 8px;
  box-shadow: 0 14px 35px rgba(24, 43, 73, 0.08);
}

.su-lesson-article {
  padding: 34px;
}

.su-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--su-muted);
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 20px;
}

.su-breadcrumbs a {
  color: var(--su-blue);
}

.su-lesson-article h2 {
  color: var(--su-navy);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.08;
  margin-bottom: 18px;
}

.su-lesson-transcript {
  color: #334155;
  font-size: 18px;
  line-height: 1.75;
}

.su-topic-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.su-topic-tags span {
  border-radius: 999px;
  background: var(--su-soft);
  border: 1px solid var(--su-line);
  color: var(--su-navy);
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 800;
}

.su-presenter-card {
  padding: 24px;
  position: sticky;
  top: 96px;
}

.su-presenter-card > a:first-child img {
  display: block;
  width: 148px;
  height: 148px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 18px;
}

.su-presenter-card span {
  color: var(--su-red);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.su-presenter-card h2 {
  color: var(--su-navy);
  font-size: 28px;
  margin: 5px 0 8px;
}

.su-presenter-card p {
  color: #475569;
  line-height: 1.5;
}

.su-provider-logo {
  display: block;
  max-width: 180px;
  max-height: 70px;
  object-fit: contain;
  border: 1px solid var(--su-line);
  border-radius: 8px;
  padding: 10px;
  margin: 20px 0;
}

.su-presenter-link {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--su-blue);
  font-weight: 900;
}

.su-footer-note {
  background: var(--su-navy);
  color: var(--su-white);
  padding: 14px 16px;
  text-align: center;
  font-weight: 700;
}

.springer-university-redesign .rbt-footer {
  background: #f8fafc;
}

.springer-university-redesign .copyright-area {
  background: var(--su-navy);
}

.springer-university-redesign .copyright-area,
.springer-university-redesign .copyright-area a,
.springer-university-redesign .copyright-area p {
  color: rgba(255, 255, 255, 0.9);
}

@media (max-width: 1199px) {
  .su-home-hero {
    padding: 56px 0 58px;
  }

  .su-watch-grid,
  .su-watch-content-grid {
    grid-template-columns: 1fr;
  }

  .su-watch-video-frame {
    min-height: auto;
  }

  .su-presenter-card {
    position: static;
  }
}

@media (max-width: 767px) {
  .su-home-hero .title {
    font-size: 42px;
  }

  .su-stat-row {
    grid-template-columns: 1fr;
  }

  .su-section,
  .su-production-band {
    padding: 46px 0;
  }

  .su-page-banner {
    padding: 42px 0 30px;
  }

  .su-watch-hero {
    padding: 16px 12px 32px;
  }

  .su-watch-nav {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 18px;
  }

  .su-watch-brand img {
    max-height: 48px;
  }

  .su-watch-summary,
  .su-lesson-article,
  .su-presenter-card {
    padding: 20px;
  }

  .su-watch-summary h1 {
    font-size: 34px;
  }

  .su-watch-content {
    padding: 34px 0 46px;
  }
}
