/* Section title */
.cb-section-title { display: flex; flex-direction: column; gap: var(--space-3); max-width: 760px; }
.cb-section-title--center { align-items: center; text-align: center; margin-inline: auto; }
.cb-section-title--start { align-items: flex-start; text-align: start; }
.cb-section-title__eyebrow { display: inline-flex; font-size: var(--text-sm); font-weight: 600; color: var(--color-primary); background: var(--color-primary-light-rgba); padding: 0.4rem 0.95rem; border-radius: var(--radius-pill); }
.cb-section-title__title { font-family: var(--family-display); font-size: clamp(1.75rem, 3.2vw, 2.75rem); font-weight: 800; line-height: 1.25; margin: 0; }
.cb-section-title__subtitle { font-size: var(--text-lg); color: var(--color-text-muted); line-height: 1.85; margin: 0; }

/* Star rating */
.cb-star-rating {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	direction: ltr;
	font-size: var(--cb-star-size, 16px);
	line-height: 1;
}

.cb-star-rating__star {
	display: inline-flex;
	color: var(--color-border-strong);
}

.cb-star-rating__star.is-filled {
	color: #e4b85f;
}

.cb-star-rating__star .cb-icon {
	font-size: var(--cb-star-size, 16px);
}

/* Instructor card */

/* Floating ingredients */
.cb-floating-ingredients {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
	z-index: 1;
}
.cb-floating-ingredients__shape {
	position: absolute;
	filter: drop-shadow(0 12px 20px var(--color-primary-shadow-intense));
	will-change: transform;
}
.cb-floating-ingredients--hero .cb-floating-ingredients__shape { opacity: 0.85; }
.cb-floating-ingredients--section .cb-floating-ingredients__shape { opacity: 0.55; }
.cb-floating-ingredients__shape--1 { top: 6%; inset-inline-end: 8%; width: 64px; animation: cb-hero-float-y-slow 9s ease-in-out infinite; }
.cb-floating-ingredients__shape--2 { top: 16%; inset-inline-start: 10%; width: 72px; animation: cb-hero-float-y 7s ease-in-out infinite; }
.cb-floating-ingredients__shape--3 { bottom: 12%; inset-inline-end: 18%; width: 80px; animation: cb-hero-float-y-slow 11s ease-in-out infinite reverse; }
.cb-floating-ingredients__shape--4 { bottom: 22%; inset-inline-start: 6%; width: 56px; animation: cb-hero-float-y 8s ease-in-out infinite; transform: rotate(-12deg); }
.cb-floating-ingredients__shape--5 { top: 40%; inset-inline-end: 4%; width: 60px; animation: cb-hero-float-y-slow 10s ease-in-out infinite; }
@media (max-width: 767px) {
	.cb-floating-ingredients__shape { width: 44px; }
}

@keyframes cb-hero-float-y {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-14px); }
}
@keyframes cb-hero-float-y-slow {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

/* Progress ring */
.cb-progress-ring__track { stroke: var(--color-beige-dark); }
.cb-progress-ring__fill { stroke: var(--color-primary); stroke-linecap: round; }

/* Testimonials */
.cb-testimonials__slide { display: none; padding: var(--space-8); background: var(--color-bg-elevated); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); text-align: center; }
.cb-testimonials__slide.is-active { display: block; }
.cb-testimonials__avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; margin: 0 auto var(--space-4); }
.cb-testimonials__dots { display: flex; justify-content: center; gap: var(--space-2); margin-top: var(--space-4); }
.cb-testimonials__dot { width: 8px; height: 8px; border-radius: 50%; border: none; background: var(--color-beige-dark); cursor: pointer; }
.cb-testimonials__dot.is-active { background: var(--color-primary); }
