/* /*========================================
   CUSTOM SONG PAGE STYLES
   ======================================== */
/* Styles for custom-song.php template page */

/* Base styles (320px and above) - Apply global font-family to section */
/* Match rectangle-2 container structure exactly */
.custom-song-section-1 {
	background-color: #ffffff; /* Match design background color */
	width: 100%;
	max-width: 100%;
	padding: 24px 0; /* Match rectangle-2 padding exactly */
	box-sizing: border-box;
	overflow: hidden; /* Prevent overflow */
	display: flex;
	flex-direction: column;
	align-items: center; /* Center the carousel */
	font-family: "Nunito Sans", sans-serif; /* Apply globally to all children */
}

/* Carousel container - Mobile-first: full-width on mobile */
/* Match rectangle-2__carousel styles exactly */
.custom-song-section-1__carousel {
	width: 100%;
	overflow: hidden;
	z-index: 1;
	position: relative; /* Required for absolute positioning of arrows and dots */
	border-radius: 20px; /* Match rectangle-2 border-radius */
	box-sizing: border-box;
	aspect-ratio: 16 / 9; /* Maintain 16:9 aspect ratio */
}

/* Carousel track - Mobile-first */
/* Match rectangle-2__track styles exactly */
.custom-song-section-1__track {
	display: flex !important; /* Ensure track is visible */
	height: 100%;
	transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); /* Match home page smooth animation */
	will-change: transform;
	position: relative; /* Ensure proper positioning */
	gap: 0; /* No gap between slides */
	visibility: visible !important; /* Ensure track is visible */
	opacity: 1 !important; /* Ensure track is visible */
}

/* Carousel slide - Mobile-first */
/* Match rectangle-2__slide styles exactly */
.custom-song-section-1__slide {
	width: 100vw; /* Full viewport width on mobile */
	flex-shrink: 0; /* Prevent slides from shrinking */
	height: 100%;
	position: relative;
	box-sizing: border-box;
	padding: 0; /* No padding on mobile */
	display: flex !important; /* Ensure slides are visible */
	visibility: visible !important; /* Ensure slides are visible */
	opacity: 1 !important; /* Ensure slides are visible */
}

/* Carousel image - Mobile first: full width and height, maintain 16:9 aspect ratio */
/* Match rectangle-2__image styles exactly */
.custom-song-section-1__image {
	width: 100%; /* Full width of slide */
	height: 100%; /* Full height of slide */
	object-fit: cover; /* Cover full area, scale properly - match rectangle-2 */
	object-position: center center;
	display: block !important; /* Ensure images are visible */
	visibility: visible !important;
	opacity: 1 !important;
	border-radius: 20px; /* Match carousel container border-radius */
	margin: 0; /* Remove margin to prevent layout issues */
	box-sizing: border-box;
}

/* Carousel Navigation Arrows */
.custom-song-section-1__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	border-radius: 50%;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.custom-song-section-1__arrow:hover {
	background: rgba(255, 255, 255, 1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
	transform: translateY(-50%) scale(1.1);
}

.custom-song-section-1__arrow:active {
	transform: translateY(-50%) scale(0.95);
}

.custom-song-section-1__arrow--prev {
	left: 32px; /* Adjusted for padding */
}

.custom-song-section-1__arrow--next {
	right: 32px; /* Adjusted for padding */
}

.custom-song-section-1__arrow svg {
	width: 24px;
	height: 24px;
	color: #333;
}

.custom-song-section-1__arrow:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}

/* Carousel Pagination Dots */
.custom-song-section-1__pagination {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
}

.custom-song-section-1__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	border: 2px solid rgba(255, 255, 255, 0.8);
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0;
	margin: 0;
}

.custom-song-section-1__dot:hover {
	background: rgba(255, 255, 255, 0.8);
	transform: scale(1.2);
}

.custom-song-section-1__dot.active {
	background: rgba(255, 255, 255, 1);
	border-color: rgba(255, 255, 255, 1);
	width: 12px;
	height: 12px;
}

/* Responsive adjustments for carousel controls - Base (320px) */
/* Hide arrows on mobile - show dots only - Match rectangle-2 exactly */
.custom-song-section-1__arrow {
	display: none !important;
}

.custom-song-section-1__pagination {
	bottom: 16px;
}

.custom-song-section-1__dot {
	width: 8px;
	height: 8px;
}

.custom-song-section-1__dot.active {
	width: 10px;
	height: 10px;
}

/* Heading: "YOUR STORY, YOUR SONG" */
.custom-song-section-1__heading {
	font-size: 21px;
	font-weight: 700;
	color: #000000;
	text-align: center;
	margin: 0 0 clamp(12px, 3.75vw, 24px) 0;
}


/* CTA Button Container */
.custom-song-section-1__cta-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: clamp(20px, 12.5vw, 25px) 0 0 0;
}

/* CTA Button */
.custom-song-section-1__cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: clamp(8px, 2.5vw, 12px);
	padding: clamp(12px, 3.75vw, 16px) clamp(24px, 7.5vw, 32px);
	background-color: #000000;
	color: #ffffff;
	border: none;
	border-radius: 62px;
	font-size: clamp(14px, 4.375vw, 16px);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}

.custom-song-section-1__cta-button:hover,
.custom-song-section-1__cta-button:focus {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* CTA Button Text */
.custom-song-section-1__cta-text {
	color: #ffffff;
	margin: 0;
}

/* Icon Base Styles */
.custom-song-section-1__whatsapp-icon,
.custom-song-section-1__arrow-icon {
	display: block;
	flex-shrink: 0;
}

/* WhatsApp Icon */
.custom-song-section-1__whatsapp-icon {
	width: clamp(20px, 6.25vw, 24px);
	height: clamp(20px, 6.25vw, 24px);
}

/* Arrow Icon */
.custom-song-section-1__arrow-icon {
	width: clamp(16px, 5vw, 20px);
	height: clamp(16px, 5vw, 20px);
	fill: #ffffff;
}

/* Stat Description */
.custom-song-section-1__stat-description {
	font-size: 9px;
	font-weight: 400;
	color: #00000099;
	margin: clamp(4px, 1.25vw, 8px) 0 0 0;
	line-height: 1.4;
}

/* Breakpoint: 375px */
@media (min-width: 375px) {
	.custom-song-section-1 {
		padding: clamp(48px, 12.8vw, 80px) 0;
	}

	.custom-song-section-1__heading {
		font-size: 24px;
	}

	.custom-song-section-1__stat-description {
		font-size: 12px;
	}

	.custom-song-section-1__stat-number,
	.custom-song-section-1__stat-plus {
		font-size: 28px;
	}
}


/* Breakpoint: 425px */
@media (min-width: 425px) {
	.custom-song-section-1 {
		padding: 24px 0; /* Match rectangle-2 padding exactly */
	}

	.custom-song-section-1__cta-button {
		padding: clamp(14px, 3.29vw, 16px) clamp(28px, 6.59vw, 32px);
	}

	.custom-song-section-1__stat-item {
		flex: 0 1 auto;
		min-width: 120px;
	}

	.custom-song-section-1__stat-number,
	.custom-song-section-1__stat-plus {
		font-size: 32px;
	}

	/* Carousel maintains 16:9 aspect ratio */
	.custom-song-section-1__carousel {
		aspect-ratio: 16 / 9;
	}
}


/* Breakpoint: 768px - Tablet styles (carousel keeps mobile styles) */
@media (min-width: 768px) {
	.custom-song-section-1 {
		padding: 24px 0; /* Match rectangle-2 padding exactly */
	}

	.custom-song-section-1__heading {
		font-size: 34px;
		margin-bottom: clamp(16px, 2.08vw, 28px);
	}

	.custom-song-section-1__cta-button {
		padding: clamp(15px, 1.95vw, 18px) clamp(32px, 4.17vw, 40px);
	}

	.custom-song-section-1__whatsapp-icon {
		width: clamp(22px, 2.86vw, 28px);
		height: clamp(22px, 2.86vw, 28px);
	}

	.custom-song-section-1__arrow-icon {
		width: clamp(18px, 2.34vw, 22px);
		height: clamp(18px, 2.34vw, 22px);
	}

	.custom-song-section-1__stat-item {
		flex: 0 1 200px;
	}

	/* Tablet carousel styles - Keep mobile styles for tablets */
	/* Desktop carousel styles moved to 1024px breakpoint */
}

/* Breakpoint: 1024px */
@media (min-width: 1024px) {
	.custom-song-section-1 {
		padding: 24px var(--layout-padding-horizontal); /* Match rectangle-2 padding exactly */
	}

	.custom-song-section-1__heading {
		font-size: clamp(48px, 4.67vw, 64px);
		margin-bottom: clamp(20px, 1.95vw, 32px);
	}

	.custom-song-section-1__cta-button {
		padding: clamp(16px, 1.56vw, 20px) clamp(36px, 3.5vw, 44px);
	}

	.custom-song-section-1__whatsapp-icon {
		width: 24px;
		height: 24px;
	}

	.custom-song-section-1__arrow-icon {
		width: 20px;
		height: 20px;
	}

	.custom-song-section-1__stat-item {
		flex: 0 1 220px;
	}

	.custom-song-section-1__stat-number,
	.custom-song-section-1__stat-plus {
		font-size: clamp(48px, 4.67vw, 72px);
	}

	.custom-song-section-1__stat-description {
		font-size: clamp(15px, 1.46vw, 20px);
		margin-top: clamp(8px, 0.78vw, 12px);
	}

	/* Desktop carousel styles - Match rectangle-2 exactly */
	/* Apply desktop carousel styles starting from 1024px (true desktop) */
	.custom-song-section-1__carousel {
		width: 100%;
		max-width: 1440px; /* Match typical desktop max-width */
		margin: 0 auto; /* Center the carousel */
		border-radius: 20px; /* Updated border-radius to 20px */
		padding: 0 24px 0 0; /* Right padding - right side preview visible */
		aspect-ratio: 16 / 9; /* Maintain 16:9 aspect ratio on desktop */
	}
	
	/* When at last slide, show only left side preview (previous slide) */
	.custom-song-section-1__carousel--last-slide {
		padding: 0 0 0 24px; /* Left padding - left side preview visible */
	}
	
	.custom-song-section-1__track {
		width: 600%; /* 6 slides × 100% of carousel container inner width */
	}
	
	.custom-song-section-1__slide {
		width: 16.666666%; /* Each slide is 16.666% of track width (100% / 6 slides) */
		flex-shrink: 0; /* Prevent slides from shrinking */
		padding: 0 8px; /* Add horizontal padding for spacing like home page */
	}
	
	.custom-song-section-1__image {
		width: 100%; /* Full width of slide */
		height: 100%; /* Full height of slide */
		border-radius: 20px; /* Match carousel container border-radius */
		object-fit: cover; /* Cover full area, scale properly - match rectangle-2 */
	}
	
	/* Show arrows and adjust pagination at 1024px and above (desktop) */
	.custom-song-section-1__arrow {
		display: flex !important;
	}

	.custom-song-section-1__pagination {
		bottom: 20px;
	}

	.custom-song-section-1__dot {
		width: 10px;
		height: 10px;
	}

	.custom-song-section-1__dot.active {
		width: 12px;
		height: 12px;
	}
}

/* Breakpoint: 1440px */
@media (min-width: 1440px) {
	.custom-song-section-1 {
		padding: 24px var(--layout-padding-horizontal); /* Match rectangle-2 padding exactly */
	}

	.custom-song-section-1__heading {
		font-size: 64px;
		margin-bottom: 32px;
	}

	.custom-song-section-1__cta-button {
		padding: 20px 44px;
		font-size: 20px;
		border-radius: 12px;
		gap: 12px;
	}

	.custom-song-section-1__whatsapp-icon {
		width: 24px;
		height: 24px;
	}

	.custom-song-section-1__arrow-icon {
		width: 20px;
		height: 20px;
	}

	.custom-song-section-1__stat-item {
		flex: 0 1 240px;
	}

	.custom-song-section-1__stat-number,
	.custom-song-section-1__stat-plus {
		font-size: 72px;
	}

	.custom-song-section-1__stat-description {
		font-size: 20px;
		margin-top: 12px;
	}

	/* Carousel maintains 16:9 aspect ratio */
	.custom-song-section-1__carousel {
		aspect-ratio: 16 / 9;
	}
}

/* ========================================
   CUSTOM SONG SECTION 2 - PROCESS STEPS
   ======================================== */
/* Base styles (320px and above) */
.custom-song-section-2 {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: clamp(12px, 2.82vw, 16px);
	padding: var(--layout-padding-horizontal);
	box-sizing: border-box;
}

/* Process Step Card */
.custom-song-section-2__card {
	width: 100%;
	max-height: clamp(200px, 74.35vw, 316px);
	background-color: #CDEAF8;
	border-radius: clamp(12px, 2.82vw, 16px);
	padding: clamp(7px, 1.65vw, 9px) clamp(11px, 2.59vw, 14px) clamp(16px, 3.76vw, 20px);
	box-sizing: border-box;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.custom-song-section-2__card.is-open {
	max-height: clamp(250px, 93.18vw, 400px);
}

/* Card Header */
.custom-song-section-2__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	width: 100%;
}

/* Content Wrapper */
.custom-song-section-2__content-wrapper {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(4px, 0.94vw, 6px);
	margin-bottom: clamp(12px, 2.82vw, 16px);
}

/* Step Number */
.custom-song-section-2__step-number {
	font-size: clamp(10px, 2.35vw, 14px);
	font-weight: 600;
	color: #000000;
	line-height: 1.2;
}

/* Title */
.custom-song-section-2__title {
	font-size: clamp(16px, 3.29vw, 20px);
	font-weight: 800;
	color: #000000;
	margin: 0;
	line-height: 1.3;
}

/* Description */
.custom-song-section-2__description {
	font-size: clamp(12px, 2.35vw, 15px);
	font-weight: 400;
	color: #000000;
	margin: 0;
	line-height: 16px;
}

/* Time Badge */
.custom-song-section-2__time-badge {
	display: inline-block;
	padding: 4px 12px;
	background-color: #ffffff;
	border-radius: 36px;
	font-size: clamp(9px, 2.12vw, 13px);
	font-weight: 400;
	color: #000000;
	width: fit-content;
	margin-top: clamp(8px, 1.88vw, 12px);
}

/* Toggle Button */
.custom-song-section-2__toggle {
	position: absolute;
	bottom: 10px;
	right: 0;
	width: clamp(24px, 5.65vw, 32px);
	height: clamp(24px, 5.65vw, 32px);
	background: transparent;
	border: none;
	padding: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.custom-song-section-2__chevron {
	width: 100%;
	height: 100%;
	color: #000000;
	transition: transform 0.3s ease;
}

.custom-song-section-2__card.is-open .custom-song-section-2__chevron {
	transform: rotate(180deg);
}

/* Expanded Content */
.custom-song-section-2__expanded-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.custom-song-section-2__card.is-open .custom-song-section-2__expanded-content {
	max-height: 500px; /* Large enough to accommodate content */
}

/* Divider */
.custom-song-section-2__divider {
	width: 100%;
	height: 1px;
	background-color: #52DFFF; /* Light blue divider line */
	margin: clamp(8px, 1.88vw, 12px) 0 clamp(8px, 1.88vw, 12px) 0;
}

/* Expanded Text */
.custom-song-section-2__expanded-text {
	font-size: 12px;
	font-weight: 400;
	color: #000000;
	margin: 20px 0;
	line-height: 1.4;
}

/* Breakpoint: 375px */
@media (min-width: 375px) {
	.custom-song-section-2 {
		gap: clamp(14px, 3.73vw, 16px);
	}

	.custom-song-section-2__card {
		max-height: clamp(220px, 78.67vw, 316px);
		padding: clamp(8px, 2.13vw, 9px) clamp(12px, 3.2vw, 14px) clamp(18px, 4.8vw, 20px);
	}

	.custom-song-section-2__card.is-open {
		max-height: clamp(280px, 100vw, 400px);
	}

	.custom-song-section-2__content-wrapper {
		gap: clamp(5px, 1.33vw, 6px);
		margin-bottom: clamp(14px, 3.73vw, 16px);
	}

	.custom-song-section-2__step-number {
		font-size: 12px;
	}

	.custom-song-section-2__title {
		font-size: 18px;
	}

	.custom-song-section-2__description {
		font-size: 13px;
	}

	.custom-song-section-2__time-badge {
		padding: clamp(5px, 1.33vw, 6px) clamp(11px, 2.93vw, 14px);
		font-size: clamp(10px, 2.67vw, 13px);
		margin-top: clamp(10px, 2.67vw, 12px);
	}

	.custom-song-section-2__toggle {
		width: clamp(26px, 6.93vw, 32px);
		height: clamp(26px, 6.93vw, 32px);
	}

	.custom-song-section-2__divider {
		margin: clamp(9px, 2.4vw, 12px) 0 clamp(9px, 2.4vw, 12px) 0;
	}

	.custom-song-section-2__expanded-text {
		font-size: 13px;
	}
}

/* Breakpoint: 425px */
@media (min-width: 425px) {
	.custom-song-section-2 {
		gap: 16px;
	}

	.custom-song-section-2__card {
		max-height: 316px;
		padding: 9px 14px 20px;
	}

	.custom-song-section-2__card.is-open {
		max-height: 400px;
	}

	.custom-song-section-2__content-wrapper {
		gap: 6px;
		margin-bottom: 16px;
	}

	.custom-song-section-2__step-number {
		font-size: 15px;
	}

	.custom-song-section-2__title {
		font-size: 20px;
	}

	.custom-song-section-2__description {
		font-size: 15px;
	}

	.custom-song-section-2__time-badge {
		padding: 6px 14px;
		font-size: 13px;
		margin-top: 12px;
	}

	.custom-song-section-2__toggle {
		width: 32px;
		height: 32px;
	}

	.custom-song-section-2__divider {
		margin: 12px 0;
	}

	.custom-song-section-2__expanded-text {
		font-size: 15px;
	}
}

/* Breakpoint: 768px */
@media (min-width: 768px) {
	.custom-song-section-2 {
		gap: clamp(16px, 2.08vw, 20px);
	}

	.custom-song-section-2__card {
		max-height: clamp(240px, 31.25vw, 280px);
		padding: clamp(10px, 1.3vw, 11px) clamp(28px, 3.65vw, 35px) clamp(18px, 2.34vw, 20px);
	}

	.custom-song-section-2__card.is-open {
		max-height: clamp(300px, 39.06vw, 350px);
	}

	.custom-song-section-2__header {
		display: flex;
		flex-direction: row; /* Restore horizontal layout on desktop */
		align-items: flex-start;
		gap: 50px;
		position: relative; /* Reset position */
	}

	.custom-song-section-2__icon {
		filter: none; /* Remove white filter on desktop - use original icon colors */
	}

	.custom-song-section-2__content-wrapper {
		margin-bottom: 0; /* Remove margin on desktop */
	}

	.custom-song-section-2__time-badge {
		margin-top: clamp(4px, 0.52vw, 6px); /* Restore original margin */
	}

	.custom-song-section-2__toggle {
		position: static; /* Reset position to static on desktop */
		margin-top: clamp(3px, 0.39vw, 5px); /* Restore margin-top */
	}

	.custom-song-section-2__content-wrapper {
		gap: clamp(5px, 0.65vw, 7px);
	}

	.custom-song-section-2__step-number {
		font-size: clamp(11px, 1.43vw, 14px);
	}

	.custom-song-section-2__title {
		font-size: clamp(16px, 2.08vw, 20px);
	}

	.custom-song-section-2__description {
		font-size: 16px;
	}

	.custom-song-section-2__time-badge {
		padding: clamp(4px, 0.52vw, 6px) clamp(10px, 1.3vw, 13px);
		font-size: clamp(10px, 1.3vw, 13px);
		margin-top: clamp(5px, 0.65vw, 7px);
	}

	.custom-song-section-2__toggle {
		width: clamp(24px, 3.13vw, 30px);
		height: clamp(24px, 3.13vw, 30px);
		margin-top: clamp(3px, 0.39vw, 5px);
	}

	.custom-song-section-2__divider {
		margin: clamp(10px, 1.3vw, 13px) 0;
	}

	.custom-song-section-2__expanded-text {
		font-size: 12px;
		margin: 0;
	}

	.custom-song-section-2__expanded-content {
		margin: 0 140px;
	}
}

/* Breakpoint: 1024px */
@media (min-width: 1024px) {
	.custom-song-section-2 {
		gap: clamp(18px, 1.75vw, 22px);
	}

	.custom-song-section-2__card {
		max-height: clamp(200px, 19.46vw, 211px);
		padding: clamp(11px, 1.07vw, 12px) clamp(38px, 3.7vw, 45px);
	}

	.custom-song-section-2__card.is-open {
		max-height: clamp(280px, 27.24vw, 300px);
	}

	.custom-song-section-2__header {
		gap: clamp(14px, 1.36vw, 18px);
	}

	.custom-song-section-2__content-wrapper {
		gap: clamp(6px, 0.58vw, 8px);
	}

	.custom-song-section-2__step-number {
		font-size: clamp(12px, 1.17vw, 15px);
	}

	.custom-song-section-2__title {
		font-size: clamp(17px, 1.65vw, 21px);
	}

	.custom-song-section-2__description {
		font-size: 18px;
		line-height: 24px;
	}

	.custom-song-section-2__time-badge {
		padding: clamp(5px, 0.49vw, 7px) clamp(11px, 1.07vw, 14px);
		font-size: clamp(11px, 1.07vw, 14px);
		margin-top: clamp(6px, 0.58vw, 8px);
	}

	.custom-song-section-2__toggle {
		width: clamp(26px, 2.53vw, 32px);
		height: clamp(26px, 2.53vw, 32px);
		margin-top: clamp(4px, 0.39vw, 6px);
	}

	.custom-song-section-2__divider {
		margin: clamp(11px, 1.07vw, 14px) 0;
	}

	.custom-song-section-2__expanded-text {
		font-size: 14px;
	}

	.custom-song-section-2__card.is-open .custom-song-section-2__expanded-content {
		margin: 0 100px;
	}
}

/* Breakpoint: 1440px */
@media (min-width: 1440px) {
	.custom-song-section-2 {
		gap: 22px;
	}

	.custom-song-section-2__card {
		max-height: 211px;
		padding: 12px 45px;
	}

	.custom-song-section-2__card.is-open {
		max-height: 300px;
	}

	.custom-song-section-2__header {
		gap: 18px;
	}

	.custom-song-section-2__content-wrapper {
		gap: 8px;
	}

	.custom-song-section-2__step-number {
		font-size: 15px;
	}

	.custom-song-section-2__title {
		font-size: 21px;
	}

	.custom-song-section-2__description {
		font-size: 20px;
	}

	.custom-song-section-2__time-badge {
		padding: 7px 14px;
		font-size: 14px;
		margin-top: 8px;
	}

	.custom-song-section-2__toggle {
		width: 32px;
		height: 32px;
		margin-top: 6px;
	}

	.custom-song-section-2__divider {
		margin: 14px 0;
	}

	.custom-song-section-2__expanded-text {
		font-size: 16px;
	}
}

/* ========================================
   CUSTOM SONG SECTION 3 - FEATURE CARDS
   ======================================== */
/* Base styles (320px and above) */
.custom-song-section-3 {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	padding: var(--layout-padding-horizontal);
	box-sizing: border-box;
	justify-items: center;
}

/* Feature Card */
.custom-song-section-3__card {
	width: 100%;
	max-width: clamp(140px, 33.18vw, 169px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 10px;
	background-color: #ffffff;
	border: 4px solid #CDEAF8;
	border-radius: 20px;
	box-shadow: clamp(-4px, -0.94vw, -6px) 0 clamp(4px, 0.94vw, 6px) 0 #2E77FF40;
	box-sizing: border-box;
	text-align: center;
}

/* Add margin-bottom to first two cards */
.custom-song-section-3__card:nth-child(1),
.custom-song-section-3__card:nth-child(2) {
	margin-bottom: 10px;
}

/* Icon */
.custom-song-section-3__icon {
	object-fit: contain;
	display: block;
}

/* Title */
.custom-song-section-3__title {
	font-size: 10px;
	font-weight: 700;
	color: #000000;
	margin: 0 0 2px;
	line-height: 22px;
}

/* Subtitle */
.custom-song-section-3__subtitle {
	font-size: 8px;
	font-weight: 400;
	color: #000000;
	margin: 0;
	line-height: 1.4;
}

/* Breakpoint: 375px */
@media (min-width: 375px) {
	.custom-song-section-3 {
		gap: 15px;
	}

	.custom-song-section-3__card {
		max-width: clamp(150px, 40vw, 169px);
		padding: 15px;
	}

	/* Add margin-bottom to first two cards */
	.custom-song-section-3__card:nth-child(1),
	.custom-song-section-3__card:nth-child(2) {
		margin-bottom: 15px;
	}

	.custom-song-section-3__title {
		font-size: 12px;
	}

	.custom-song-section-3__subtitle {
		font-size: 10px;
	}
}

/* Breakpoint: 425px */
@media (min-width: 425px) {
	.custom-song-section-3 {
		gap: 20px;
	}

	.custom-song-section-3__card {
		max-width: 169px;
		padding: 11px 8px;
	}

	/* Add margin-bottom to first two cards */
	.custom-song-section-3__card:nth-child(1),
	.custom-song-section-3__card:nth-child(2) {
		margin-bottom: 18px;
	}

	.custom-song-section-3__title {
		font-size: 14px;
	}
}

/* Breakpoint: 768px */
@media (min-width: 768px) {
	.custom-song-section-3 {
		grid-template-columns: repeat(4, 1fr);
		gap: 27px;
	}

	.custom-song-section-3__card {
		max-width: clamp(190px, 24.74vw, 220px);
	}

	/* Remove margin-bottom to first two cards */
	.custom-song-section-3__card:nth-child(1),
	.custom-song-section-3__card:nth-child(2) {
		margin-bottom: 0px;
	}

	.custom-song-section-3__title {
		font-size: 12px;
	}

	.custom-song-section-3__subtitle {
		font-size: 11px;
	}
}

/* Breakpoint: 1024px */
@media (min-width: 1024px) {
	.custom-song-section-3 {
		grid-template-columns: repeat(4, 1fr);
		gap: 36px;
	}

	.custom-song-section-3__card {
		max-width: clamp(220px, 21.48vw, 254px);
	}

	.custom-song-section-3__title {
		font-size: 14px;
	}

	.custom-song-section-3__subtitle {
		font-size: 12px;
	}
}

/* Breakpoint: 1440px */
@media (min-width: 1440px) {
	.custom-song-section-3 {
		grid-template-columns: repeat(4, 1fr);
		gap: 51px;
	}

	.custom-song-section-3__card {
		max-width: 254px;
		padding: 11px;
	}

	.custom-song-section-3__title {
		font-size: 16px;
	}

	.custom-song-section-3__subtitle {
		font-size: 13px;
	}
}

/* ========================================
   CUSTOM SONG SECTION 4 - TESTIMONIALS
   ======================================== */
/* Base styles (320px and above) */
.custom-song-section-4 {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: var(--layout-padding-horizontal);
	box-sizing: border-box;
	background-color: #ffffff;
}

/* CTA Button Wrapper */
.custom-song-section-4__cta-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: clamp(24px, 5.65vw, 32px);
	width: 100%;
}

/* CTA Button */
.custom-song-section-4__cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: clamp(8px, 1.88vw, 12px);
	padding: clamp(12px, 2.82vw, 16px) clamp(24px, 5.65vw, 32px);
	background-color: #000000;
	color: #ffffff;
	border: none;
	border-radius: clamp(30px, 7.06vw, 40px);
	font-size: clamp(14px, 3.29vw, 18px);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	font-family: "Nunito Sans", sans-serif;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.custom-song-section-4__cta-button:hover,
.custom-song-section-4__cta-button:focus {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* CTA Button Text */
.custom-song-section-4__cta-text {
	color: #ffffff;
	margin: 0;
}

/* WhatsApp Icon */
.custom-song-section-4__whatsapp-icon {
	width: clamp(20px, 4.71vw, 24px);
	height: clamp(20px, 4.71vw, 24px);
	display: block;
	flex-shrink: 0;
}

/* Arrow Icon */
.custom-song-section-4__arrow-icon {
	width: clamp(16px, 3.76vw, 20px);
	height: clamp(16px, 3.76vw, 20px);
	display: block;
	flex-shrink: 0;
	color: #ffffff;
}

/* Header Section */
.custom-song-section-4__header {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-bottom: clamp(24px, 5.65vw, 32px);
}

.custom-song-section-4__title {
	font-size: clamp(24px, 5.65vw, 32px);
	font-weight: 700;
	color: #000000;
	margin: 0 0 clamp(5px, 0.94vw, 10px) 0;
	line-height: 1.2;
	font-family: "Nunito Sans", sans-serif;
}

.custom-song-section-4__subtitle {
	font-size: clamp(20px, 4.71vw, 28px);
	font-weight: 700;
	color: #000000;
	margin: 0 0 clamp(8px, 1.88vw, 12px) 0;
	line-height: 1.2;
	font-family: "Nunito Sans", sans-serif;
}

.custom-song-section-4__description {
	font-size: 13px;
	font-weight: 600;
	color: #000000;
	margin: 0;
	line-height: 1.5;
	font-family: "Nunito Sans", sans-serif;
}

/* Reviews Container */
.custom-song-section-4__reviews {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: clamp(16px, 3.76vw, 24px);
	max-width: 100%;
}

/* Review Card */
.custom-song-section-4__review-card {
	width: 100%;
	background-color: #ffffff;
	border: 5px solid #CDEAF8;
	border-radius: 20px;
	padding: clamp(16px, 3.76vw, 20px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	position: relative;
}

/* Review Header */
.custom-song-section-4__review-header {
	display: flex;
	align-items: flex-start;
	width: 100%;
	margin-bottom: clamp(4px, 0.94vw, 8px);
}

/* Stars Container */
.custom-song-section-4__stars {
	display: flex;
	gap: clamp(2px, 0.47vw, 4px);
	align-items: center;
}

.custom-song-section-4__star-icon {
	width: clamp(16px, 3.76vw, 20px);
	height: clamp(16px, 3.76vw, 20px);
	display: block;
	flex-shrink: 0;
}

.custom-song-section-4__star-icon--half {
	opacity: 0.5;
	position: relative;
}

/* Reviewer Info */
.custom-song-section-4__reviewer {
	display: flex;
	align-items: center;
	gap: clamp(6px, 1.41vw, 8px);
	margin-bottom: clamp(4px, 0.94vw, 8px);
}

.custom-song-section-4__reviewer-name {
	font-size: clamp(14px, 3.29vw, 18px);
	font-weight: 700;
	color: #000000;
	line-height: 1.2;
	font-family: "Nunito Sans", sans-serif;
}

.custom-song-section-4__verified-badge {
	width: clamp(16px, 3.76vw, 20px);
	height: clamp(16px, 3.76vw, 20px);
	display: block;
	flex-shrink: 0;
}

/* Review Text */
.custom-song-section-4__review-text {
	font-size: clamp(12px, 2.82vw, 16px);
	font-weight: 400;
	color: #000000;
	margin: 0;
	line-height: 1.5;
	font-family: "Nunito Sans", sans-serif;
}

/* Review Date */
.custom-song-section-4__review-date {
	font-size: clamp(10px, 2.35vw, 14px);
	font-weight: 400;
	color: #000000;
	margin: clamp(4px, 0.94vw, 8px) 0 0 0;
	line-height: 1.4;
	font-family: "Nunito Sans", sans-serif;
}

/* Breakpoint: 375px */
@media (min-width: 375px) {

	.custom-song-section-4__cta-wrapper {
		margin-top: clamp(28px, 7.47vw, 32px);
	}

	.custom-song-section-4__cta-button {
		padding: clamp(13px, 3.47vw, 16px) clamp(26px, 6.93vw, 32px);
		border-radius: clamp(32px, 8.53vw, 40px);
		font-size: clamp(15px, 4vw, 18px);
	}

	.custom-song-section-4__whatsapp-icon {
		width: clamp(21px, 5.6vw, 24px);
		height: clamp(21px, 5.6vw, 24px);
	}

	.custom-song-section-4__arrow-icon {
		width: clamp(17px, 4.53vw, 20px);
		height: clamp(17px, 4.53vw, 20px);
	}

	.custom-song-section-4__header {
		margin-bottom: clamp(28px, 7.47vw, 32px);
	}

	.custom-song-section-4__title {
		font-size: clamp(26px, 6.93vw, 32px);
		margin-bottom: clamp(6px, 1.6vw, 8px);
	}

	.custom-song-section-4__subtitle {
		font-size: clamp(22px, 5.87vw, 28px);
		margin-bottom: clamp(10px, 2.67vw, 12px);
	}

	.custom-song-section-4__description {
		font-size: clamp(13px, 3.47vw, 16px);
	}

	.custom-song-section-4__reviews {
		gap: clamp(18px, 4.8vw, 24px);
	}

	.custom-song-section-4__review-card {
		padding: clamp(18px, 4.8vw, 20px);
	}

	.custom-song-section-4__review-header {
		margin-bottom: clamp(6px, 1.6vw, 8px);
	}

	.custom-song-section-4__star-icon {
		width: clamp(18px, 4.8vw, 20px);
		height: clamp(18px, 4.8vw, 20px);
	}


	.custom-song-section-4__menu-button {
		width: clamp(22px, 5.87vw, 24px);
		height: clamp(22px, 5.87vw, 24px);
	}

	.custom-song-section-4__menu-dots {
		font-size: clamp(18px, 4.8vw, 20px);
	}

	.custom-song-section-4__reviewer {
		gap: clamp(7px, 1.87vw, 8px);
		margin-bottom: clamp(6px, 1.6vw, 8px);
	}

	.custom-song-section-4__reviewer-name {
		font-size: clamp(15px, 4vw, 18px);
	}

	.custom-song-section-4__verified-badge {
		width: clamp(18px, 4.8vw, 20px);
		height: clamp(18px, 4.8vw, 20px);
	}

	.custom-song-section-4__review-text {
		font-size: clamp(13px, 3.47vw, 16px);
	}

	.custom-song-section-4__review-date {
		font-size: clamp(11px, 2.93vw, 14px);
		margin-top: clamp(6px, 1.6vw, 8px);
	}
}

/* Breakpoint: 425px */
@media (min-width: 425px) {

	.custom-song-section-4__cta-wrapper {
		margin-top: 32px;
	}

	.custom-song-section-4__cta-button {
		padding: 16px 32px;
		border-radius: 40px;
		font-size: 18px;
	}

	.custom-song-section-4__whatsapp-icon {
		width: 24px;
		height: 24px;
	}

	.custom-song-section-4__arrow-icon {
		width: 20px;
		height: 20px;
	}

	.custom-song-section-4__header {
		margin-bottom: 32px;
	}

	.custom-song-section-4__title {
		font-size: 32px;
		margin-bottom: 8px;
	}

	.custom-song-section-4__subtitle {
		font-size: 28px;
		margin-bottom: 12px;
	}

	.custom-song-section-4__description {
		font-size: 16px;
	}

	.custom-song-section-4__reviews {
		gap: 24px;
	}

	.custom-song-section-4__review-card {
		padding: 20px;
		border-radius: 16px;
	}

	.custom-song-section-4__review-header {
		margin-bottom: 8px;
	}

	.custom-song-section-4__star-icon {
		width: 20px;
		height: 20px;
	}

	.custom-song-section-4__reviewer {
		gap: 8px;
		margin-bottom: 8px;
	}

	.custom-song-section-4__reviewer-name {
		font-size: 18px;
	}

	.custom-song-section-4__verified-badge {
		width: 20px;
		height: 20px;
	}

	.custom-song-section-4__review-text {
		font-size: 16px;
	}

	.custom-song-section-4__review-date {
		font-size: 14px;
		margin-top: 8px;
	}
}

/* Breakpoint: 768px */
@media (min-width: 768px) {

	.custom-song-section-4__cta-wrapper {
		margin-top: clamp(40px, 5.21vw, 48px);
	}

	.custom-song-section-4__cta-button {
		padding: clamp(15px, 1.95vw, 18px) clamp(32px, 4.17vw, 40px);
		border-radius: clamp(35px, 4.56vw, 45px);
		font-size: clamp(16px, 2.08vw, 20px);
		gap: 12px;
	}

	.custom-song-section-4__whatsapp-icon {
		width: clamp(22px, 2.86vw, 28px);
		height: clamp(22px, 2.86vw, 28px);
	}

	.custom-song-section-4__arrow-icon {
		width: clamp(18px, 2.34vw, 22px);
		height: clamp(18px, 2.34vw, 22px);
	}

	.custom-song-section-4__header {
		margin-bottom: clamp(40px, 5.21vw, 48px);
	}

	.custom-song-section-4__title {
		font-size: clamp(40px, 5.21vw, 48px);
		margin-bottom: clamp(8px, 1.04vw, 12px);
	}

	.custom-song-section-4__subtitle {
		font-size: clamp(32px, 4.17vw, 40px);
		margin-bottom: clamp(12px, 1.56vw, 16px);
	}

	.custom-song-section-4__description {
		font-size: clamp(16px, 2.08vw, 20px);
	}

	.custom-song-section-4__reviews {
		gap: clamp(24px, 3.13vw, 32px);
		max-width: 800px;
	}

	.custom-song-section-4__review-card {
		padding: clamp(24px, 3.13vw, 28px);
		border-radius: clamp(16px, 2.08vw, 20px);
	}

	.custom-song-section-4__review-header {
		margin-bottom: clamp(8px, 1.04vw, 12px);
	}

	.custom-song-section-4__star-icon {
		width: clamp(20px, 2.6vw, 24px);
		height: clamp(20px, 2.6vw, 24px);
	}

	.custom-song-section-4__reviewer {
		gap: clamp(8px, 1.04vw, 10px);
		margin-bottom: clamp(8px, 1.04vw, 12px);
	}

	.custom-song-section-4__reviewer-name {
		font-size: clamp(18px, 2.34vw, 22px);
	}

	.custom-song-section-4__verified-badge {
		width: clamp(20px, 2.6vw, 24px);
		height: clamp(20px, 2.6vw, 24px);
	}

	.custom-song-section-4__review-text {
		font-size: clamp(16px, 2.08vw, 18px);
		line-height: 1.6;
	}

	.custom-song-section-4__review-date {
		font-size: clamp(14px, 1.82vw, 16px);
		margin-top: clamp(8px, 1.04vw, 12px);
	}
}

/* Breakpoint: 1024px */
@media (min-width: 1024px) {

	.custom-song-section-4__cta-wrapper {
		margin-top: clamp(48px, 4.69vw, 56px);
	}

	.custom-song-section-4__cta-button {
		padding: clamp(16px, 1.56vw, 20px) clamp(36px, 3.52vw, 44px);
		border-radius: clamp(40px, 3.91vw, 50px);
		font-size: clamp(18px, 1.76vw, 22px);
		gap: 12px;
	}

	.custom-song-section-4__whatsapp-icon {
		width: clamp(24px, 2.34vw, 28px);
		height: clamp(24px, 2.34vw, 28px);
	}

	.custom-song-section-4__arrow-icon {
		width: clamp(20px, 1.95vw, 24px);
		height: clamp(20px, 1.95vw, 24px);
	}

	.custom-song-section-4__header {
		margin-bottom: clamp(48px, 4.69vw, 56px);
	}

	.custom-song-section-4__title {
		font-size: clamp(48px, 4.69vw, 56px);
		margin-bottom: clamp(12px, 1.17vw, 16px);
	}

	.custom-song-section-4__subtitle {
		font-size: clamp(40px, 3.91vw, 48px);
		margin-bottom: clamp(16px, 1.56vw, 20px);
	}

	.custom-song-section-4__description {
		font-size: clamp(18px, 1.76vw, 22px);
	}

	.custom-song-section-4__reviews {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: clamp(28px, 2.73vw, 36px);
		max-width: 1200px;
	}

	.custom-song-section-4__review-card {
		padding: clamp(28px, 2.73vw, 32px);
		border-radius: clamp(18px, 1.76vw, 22px);
	}

	.custom-song-section-4__review-header {
		margin-bottom: clamp(10px, 0.98vw, 14px);
	}

	.custom-song-section-4__star-icon {
		width: clamp(22px, 2.15vw, 26px);
		height: clamp(22px, 2.15vw, 26px);
	}

	.custom-song-section-4__reviewer {
		gap: clamp(10px, 0.98vw, 12px);
		margin-bottom: clamp(10px, 0.98vw, 14px);
	}

	.custom-song-section-4__reviewer-name {
		font-size: clamp(20px, 1.95vw, 24px);
	}

	.custom-song-section-4__verified-badge {
		width: clamp(22px, 2.15vw, 26px);
		height: clamp(22px, 2.15vw, 26px);
	}

	.custom-song-section-4__review-text {
		font-size: clamp(17px, 1.66vw, 20px);
	}

	.custom-song-section-4__review-date {
		font-size: clamp(15px, 1.46vw, 18px);
		margin-top: clamp(10px, 0.98vw, 14px);
	}
}

/* Breakpoint: 1440px */
@media (min-width: 1440px) {

	.custom-song-section-4__cta-wrapper {
		margin-top: 56px;
	}

	.custom-song-section-4__cta-button {
		padding: 20px 44px;
		border-radius: 50px;
		font-size: 22px;
		gap: 12px;
	}

	.custom-song-section-4__whatsapp-icon {
		width: 28px;
		height: 28px;
	}

	.custom-song-section-4__arrow-icon {
		width: 24px;
		height: 24px;
	}

	.custom-song-section-4__header {
		margin-bottom: 56px;
	}

	.custom-song-section-4__title {
		font-size: 56px;
		margin-bottom: 16px;
	}

	.custom-song-section-4__subtitle {
		font-size: 48px;
		margin-bottom: 20px;
	}

	.custom-song-section-4__description {
		font-size: 22px;
	}

	.custom-song-section-4__reviews {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 36px;
		max-width: 1200px;
	}

	.custom-song-section-4__review-card {
		padding: 32px;
		border-radius: 22px;
	}

	.custom-song-section-4__review-header {
		margin-bottom: 14px;
	}

	.custom-song-section-4__star-icon {
		width: 26px;
		height: 26px;
	}

	.custom-song-section-4__reviewer {
		gap: 12px;
		margin-bottom: 14px;
	}

	.custom-song-section-4__reviewer-name {
		font-size: 24px;
	}

	.custom-song-section-4__verified-badge {
		width: 26px;
		height: 26px;
	}

	.custom-song-section-4__review-text {
		font-size: 20px;
	}

	.custom-song-section-4__review-date {
		font-size: 18px;
		margin-top: 14px;
	}
}

