.section-card{
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0)),var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow);
  padding:28px;
  margin-top:24px;
  transition:transform .18s ease-out;
  will-change:transform;
}

.course-details-anchor{
  scroll-margin-top:calc(var(--nav-height) + 28px);
}

[data-theme="light"] .section-card{
  background:#ffffff;
  box-shadow:0 16px 34px rgba(15,23,42,.06);
}

.section-card--stack-start{
  position:relative;
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
  box-shadow:none;
}

.section-card--stack-middle{
  position:relative;
  margin-top:0;
  border-top:none;
  border-radius:0;
  box-shadow:none;
}

.section-card--stack-end{
  position:relative;
  margin-top:0;
  border-top:none;
  border-top-left-radius:0;
  border-top-right-radius:0;
  box-shadow:none;
}

.section-card--stack-middle::before,
.section-card--stack-end::before{
  content:"";
  position:absolute;
  top:0;
  left:28px;
  right:28px;
  height:1px;
  background:var(--line);
}

.section-card--content-group{
  padding:28px;
}

.course-content-group__section + .course-content-group__section{
  margin-top:30px;
  padding-top:30px;
  border-top:1px solid var(--line);
}

.section-card--compact-head .section-title{
  margin-bottom:10px;
}

.section-card--compact-head .section-intro{
  margin-bottom:18px;
}

.section-title{
  font-size:clamp(1.42rem,1.9vw,1.78rem);
  line-height:1.22;
  letter-spacing:-.03em;
  font-weight:700;
  color:var(--text);
  margin-bottom:18px;
  text-align:center;
}

.section-intro{
  color:var(--muted);
  font-size:16px;
  line-height:1.86;
  margin-bottom:30px;
  font-weight:400;
  text-align:center;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px 22px;
}

.feature-grid--learning{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.feature-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:15px;
  font-weight:400;
  color:var(--text);
  line-height:1.78;
}

.feature-item i{
  color:var(--success);
  margin-top:3px;
}

@media (max-width: 767px){
  .feature-grid--learning{
    grid-template-columns:1fr;
  }
}

.accordion{ display:grid; gap:12px; }

.acc-item{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:var(--surface);
}

[data-theme="light"] .acc-item{
  background:#ffffff;
}

.acc-header{
  width:100%;
  border:none;
  background:transparent;
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  cursor:pointer;
  text-align:left;
  font-size:15px;
  font-weight:600;
  color:var(--text);
}

.acc-header__title{
  min-width:0;
}

.acc-header__meta{
  display:inline-flex;
  align-items:center;
  gap:14px;
  flex-shrink:0;
}

.acc-header__summary{
  color:var(--muted);
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
}

.acc-header i{
  color:#94a3b8;
  transition:transform .25s ease;
}

.acc-item.active .acc-header i{
  transform:rotate(45deg);
  color:var(--accent);
}

.acc-content{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
  border-top:1px solid transparent;
}

.acc-item.active .acc-content{ border-top-color:var(--line); }

.acc-content-inner{
  padding:10px 0 8px;
  color:var(--muted);
  font-size:15px;
  line-height:1.82;
}

.curriculum-lessons{
  display:grid;
}

.curriculum-lesson{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 20px;
  border-top:1px solid var(--line);
}

.curriculum-lessons .curriculum-lesson:first-child{
  border-top:none;
}

.curriculum-lesson__main{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
}

.curriculum-lesson__icon{
  color:var(--muted);
  font-size:13px;
  margin-top:3px;
  flex-shrink:0;
}

.curriculum-lesson__title{
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
  font-weight:400;
}

.curriculum-lesson__meta{
  display:inline-flex;
  align-items:center;
  gap:14px;
  flex-shrink:0;
}

.curriculum-lesson__preview{
  color:var(--accent);
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  background:none;
  border:none;
  padding:0;
  cursor:pointer;
}

.curriculum-lesson__preview:hover{
  text-decoration:underline;
}

.curriculum-lesson__locked{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-size:13px;
}

.curriculum-lesson__duration{
  color:var(--muted);
  font-size:14px;
  font-weight:400;
}

.content-text p{
  color:var(--muted);
  font-size:17px;
  line-height:1.92;
  margin-bottom:16px;
  font-weight:400;
}

.course-emphasis-card{
  background:#172332;
  border:1px solid rgba(0,209,224,.32);
  border-radius:var(--radius-xl);
  box-shadow:0 18px 34px rgba(0,0,0,.22), 0 0 0 1px rgba(0,209,224,.08), 0 0 28px rgba(0,209,224,.08);
  padding:28px;
  margin-top:24px;
  transition:transform .18s ease-out;
  will-change:transform;
}

.course-emphasis-card--stack-start{
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}

.course-emphasis-card--stack-end{
  margin-top:0;
  border-top:none;
  border-top-left-radius:0;
  border-top-right-radius:0;
}

.course-emphasis-card--stack-middle{
  margin-top:0;
  border-top:none;
  border-radius:0;
}

[data-theme="light"] .course-emphasis-card{
  background:#eefbfe;
  border-color:rgba(11,141,151,.58);
  box-shadow:0 14px 28px rgba(11,141,151,.08), 0 10px 24px rgba(15,23,42,.05);
}

.course-emphasis-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 28px;
}

.course-emphasis-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:var(--text);
  font-size:15px;
  font-weight:400;
  line-height:1.78;
}

.course-emphasis-item i{
  color:var(--accent);
  margin-top:4px;
  font-size:13px;
  flex-shrink:0;
}

.instructor-box{
  display:flex;
  align-items:stretch;
  gap:28px;
  margin-top:8px;
}

.course-instructor-card .section-title,
.course-emphasis-card .section-title,
.content-text .section-title{
  margin-bottom:26px;
}

.instructor-side{
  flex:0 0 190px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}

.instructor-avatar{
  width:142px;
  height:142px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(0,209,224,.12),rgba(0,209,224,.32));
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--cyan);
  font-size:42px;
  flex-shrink:0;
  overflow:hidden;
}

.instructor-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.instructor-info{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
}

.instructor-info strong{
  display:block;
  font-size:24px;
  color:var(--text);
  margin-bottom:8px;
  font-weight:600;
}

.instructor-role{
  display:block;
  font-size:14px;
  font-weight:600;
  color:var(--accent);
  margin-bottom:12px;
}

.instructor-info p{
  color:var(--muted);
  font-size:15px;
  line-height:1.82;
  margin-bottom:14px;
}

.instructor-info p:last-of-type{
  margin-bottom:0;
}

.instructor-stats{
  width:auto;
  max-width:100%;
  display:grid;
  gap:10px;
  justify-items:start;
  margin-inline:auto;
}

.instructor-stat-row{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--text);
  font-size:14px;
  line-height:1.5;
  font-weight:500;
  width:max-content;
  max-width:100%;
}

.instructor-stat-row i{
  color:var(--accent);
  width:14px;
  text-align:center;
  flex-shrink:0;
}

.instructor-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:auto;
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  border:1px solid rgba(15,127,134,.30);
  background:var(--cta-green);
  color:#f3fff7;
  font-size:13px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  text-decoration:none;
  box-shadow:none;
  transition:background-color .22s ease,border-color .22s ease,color .22s ease;
  align-self:flex-end;
}

.instructor-link:hover{
  color:#ffffff;
  border-color:rgba(11,102,108,.52);
  background:var(--cta-green-dark);
  box-shadow:none;
}

[data-theme="light"] .instructor-link{
  background:var(--cta-green);
  color:#ffffff;
  border-color:rgba(15,127,134,.30);
  box-shadow:none;
}

[data-theme="light"] .instructor-link:hover{
  color:#ffffff;
  background:var(--cta-green-dark);
  border-color:rgba(11,102,108,.44);
  box-shadow:none;
}

.rating-row{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

.rating-number{
  font-size:56px;
  line-height:1;
  font-weight:700;
  color:var(--text);
}

.stars{
  color:#f4b400;
  font-size:18px;
  margin-bottom:6px;
}

.rating-copy{
  color:var(--muted);
  font-size:14px;
}

.course-reviews-card{
  padding:28px;
}

.reviews-guarantee{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:28px;
  align-items:center;
  margin-bottom:28px;
  padding:24px 0 26px;
  border-bottom:1px solid var(--line);
}

.reviews-guarantee__copy{
  min-width:0;
}

.reviews-guarantee__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(24,163,91,.10);
  border:1px solid rgba(24,163,91,.18);
  color:#4fd48b;
  font-size:13px;
  font-weight:700;
  margin-bottom:16px;
}

.reviews-guarantee__title{
  margin:0 0 14px;
  color:var(--text);
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1.22;
  letter-spacing:-.03em;
  font-weight:700;
}

.reviews-guarantee__copy p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:15px;
  line-height:1.82;
}

.reviews-guarantee__copy p:last-child{
  margin-bottom:0;
}

.reviews-guarantee__media{
  display:flex;
  align-items:center;
  justify-content:center;
}

.reviews-guarantee__media img{
  width:min(100%, 210px);
  height:auto;
  display:block;
}

.reviews-layout{
  display:grid;
  grid-template-columns:minmax(170px,210px) minmax(0,1fr);
  gap:24px 34px;
  align-items:start;
}

.reviews-summary{
  text-align:center;
}

.reviews-summary .rating-number{
  font-size:64px;
  margin-bottom:8px;
}

.reviews-summary .stars{
  justify-content:center;
  display:inline-flex;
  gap:4px;
  margin-bottom:10px;
}

.reviews-bars{
  display:grid;
  gap:10px;
}

.reviews-bar{
  display:grid;
  grid-template-columns:18px 16px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}

.reviews-bar__label,
.reviews-bar__count{
  color:var(--text);
  font-size:14px;
  font-weight:500;
}

.reviews-bar__star{
  color:#f4b400;
  font-size:13px;
}

.reviews-bar__track{
  position:relative;
  height:10px;
  border-radius:999px;
  background:rgba(148,163,184,.24);
  overflow:hidden;
}

.reviews-bar__fill{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#f4b400 0%, #ffbf1f 100%);
}

.reviews-list{
  margin-top:24px;
  padding-top:6px;
  border-top:1px solid var(--line);
}

.reviews-empty{
  margin-top:24px;
  padding:18px 20px;
  border:1px dashed var(--line);
  border-radius:14px;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
  background:rgba(148,163,184,.06);
}

.review-item{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:16px;
  padding:22px 0;
  border-top:1px solid var(--line);
}

.review-item--hidden{
  display:none;
}

.review-item:first-child{
  border-top:none;
}

.review-item__avatar{
  width:52px;
  height:52px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(148,163,184,.18);
  color:var(--accent);
  font-size:18px;
}

.review-item__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:8px;
}

.review-item__name{
  display:block;
  color:var(--text);
  font-size:16px;
  font-weight:600;
  margin-bottom:6px;
}

.review-item__meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.review-item__stars{
  margin-bottom:0;
  font-size:13px;
}

.review-item__headline{
  color:var(--muted);
  font-size:14px;
  font-weight:500;
}

.review-item__time{
  color:var(--muted);
  font-size:13px;
  white-space:nowrap;
}

.review-item__copy{
  color:var(--text);
  font-size:15px;
  line-height:1.72;
  margin:0;
}

.reviews-actions{
  margin-top:10px;
  padding-top:18px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:center;
}

.course-related-list{
  display:grid;
  gap:18px;
}

.course-related-item{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:0;
  color:inherit;
}

.course-related-item + .course-related-item{
  padding-top:18px;
  border-top:1px solid var(--line);
}

.course-related-item__media{
  width:64px;
  height:64px;
  border-radius:8px;
  overflow:hidden;
  background:rgba(148,163,184,.14);
  border:1px solid var(--line);
  flex-shrink:0;
}

.course-related-item__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.course-related-item__content{
  min-width:0;
}

.course-related-item__title{
  display:block;
  color:var(--text);
  font-size:15px;
  line-height:1.45;
  font-weight:600;
  margin-bottom:6px;
}

.course-related-item__rating{
  display:flex;
  align-items:center;
  gap:8px;
}

.course-related-item__rating-value{
  color:var(--text);
  font-size:14px;
  font-weight:700;
}

.course-related-item__no-rating{
  color:var(--muted);
  font-size:13px;
  font-weight:600;
}

.course-related-item__rating .stars{
  margin-bottom:0;
  font-size:13px;
  gap:2px;
  display:inline-flex;
}

.course-related-item__meta{
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--text);
  flex-shrink:0;
  white-space:nowrap;
}

.course-related-item__students{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:14px;
  font-weight:500;
}

.course-related-item__price{
  color:var(--text);
  font-size:15px;
  font-weight:700;
}

.course-legal-copy{
  display:grid;
  gap:14px;
}

.course-legal-copy p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.82;
}

.course-legal-footer{
  margin:20px 0 0;
  padding-top:18px;
  border-top:1px solid var(--line);
  color:var(--text);
  font-size:13px;
  font-weight:600;
}

.reviews-more-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:10px;
  border:1px solid rgba(0,209,224,.34);
  background:linear-gradient(180deg, rgba(18,26,39,.96) 0%, rgba(11,17,27,.98) 100%);
  color:#9beff5;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(0,209,224,.06), 0 10px 24px rgba(0,0,0,.18);
  transition:transform .25s ease, border-color .25s ease, background-color .25s ease, color .25s ease, box-shadow .25s ease;
}

.reviews-more-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(0,209,224,.52);
  background:linear-gradient(180deg, rgba(22,33,49,.98) 0%, rgba(12,20,31,.99) 100%);
  color:#ffffff;
  box-shadow:0 0 0 1px rgba(0,209,224,.12), 0 0 18px rgba(0,209,224,.16), 0 14px 26px rgba(0,0,0,.22);
}

[data-theme="light"] .reviews-more-btn{
  background:linear-gradient(180deg, #ffffff 0%, #f6fbfc 100%);
  color:var(--cyan-dark);
  border-color:rgba(0,209,224,.26);
  box-shadow:0 10px 22px rgba(15,23,42,.08);
}

[data-theme="light"] .reviews-more-btn:hover{
  color:var(--cyan-dark);
  background:#ffffff;
  border-color:rgba(0,209,224,.40);
  box-shadow:0 0 0 1px rgba(0,209,224,.10), 0 12px 24px rgba(15,23,42,.10);
}

@media (max-width:768px){
  .section-card{ padding:20px; }
  .course-emphasis-card{ padding:20px; }
  .section-title{ font-size:1.55rem; }
  .reviews-guarantee{
    grid-template-columns:1fr;
    gap:20px;
    text-align:center;
  }
  .reviews-guarantee__media{
    order:-1;
  }
  .reviews-guarantee__eyebrow{
    justify-content:center;
  }
  .acc-header{
    padding:18px;
  }
  .acc-header__meta{
    gap:10px;
  }
  .acc-header__summary{
    font-size:12px;
  }
  .curriculum-lesson{
    padding:14px 18px;
    align-items:flex-start;
  }
  .curriculum-lesson__meta{
    flex-direction:column;
    align-items:flex-end;
    gap:6px;
  }
  .course-emphasis-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .instructor-side{
    flex-basis:170px;
  }
  .instructor-avatar{
    width:124px;
    height:124px;
  }
  .reviews-layout{
    grid-template-columns:1fr;
  }
  .reviews-summary{
    text-align:left;
  }
  .reviews-summary .stars{
    justify-content:flex-start;
  }
  .review-item__head{
    flex-direction:column;
    gap:8px;
  }
}

@media (max-width:560px){
  .rating-number{ font-size:48px; }
  .acc-header{
    align-items:flex-start;
  }
  .acc-header__meta{
    flex-direction:column;
    align-items:flex-end;
    gap:6px;
  }
  .curriculum-lesson{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .curriculum-lesson__meta{
    flex-direction:row;
    align-items:center;
    gap:12px;
    padding-left:25px;
  }
  .instructor-box{
    flex-direction:column;
    gap:16px;
  }
  .instructor-side{
    flex-basis:auto;
    width:100%;
  }
  .instructor-avatar{
    width:132px;
    height:132px;
  }
  .instructor-info strong,
  .instructor-role{
    text-align:center;
  }
  .reviews-bar{
    grid-template-columns:16px 14px minmax(0,1fr) auto;
    gap:8px;
  }
  .review-item{
    grid-template-columns:1fr;
    gap:12px;
  }
  .course-related-item{
    grid-template-columns:56px minmax(0,1fr);
    align-items:start;
  }
  .course-related-item__media{
    width:56px;
    height:56px;
  }
  .course-related-item__meta{
    grid-column:2;
    justify-content:space-between;
    gap:12px;
    white-space:normal;
  }
}
