/* STREAMING_CHUNK:Defining color palette and root variables */
:root {
--dps-gold: #ffb703;
--dps-crimson: #900c3f;
--dps-deep-purple: #2b1055;
--dps-vibrant-orange: #f77f00;
--dps-light-bg: #fff8f0;
--dps-card-bg: #ffffff;
}

/* STREAMING_CHUNK:Configuring core layout typography and background */
body {
font-family: 'Poppins', sans-serif;
background-color: var(--dps-light-bg);
color: #2b2b2b;
overflow-x: hidden;
}

h1, h2, h3, .festive-font {
font-family: 'Kalam', cursive, sans-serif;
}

/* STREAMING_CHUNK:Styling hero header and banner decorations */
.festive-hero {
background: linear-gradient(135deg, var(--dps-deep-purple) 0%, #4a1259 50%, var(--dps-crimson) 100%);
color: #ffffff;
position: relative;
overflow: hidden;
border-bottom: 6px solid var(--dps-gold);
}

.festive-hero::before {
content: "";
position: absolute;
top: -50px;
right: -50px;
width: 200px;
height: 200px;
background: rgba(255, 183, 3, 0.15);
border-radius: 50%;
filter: blur(40px);
}

.dps-badge {
background-color: var(--dps-gold);
color: #000;
font-weight: 700;
letter-spacing: 1px;
}

/* STREAMING_CHUNK:Building pure CSS slider controls and track */
.slider-container {
position: relative;
max-width: 950px;
margin: 0 auto;
overflow: hidden;
border-radius: 20px;
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
border: 4px solid var(--dps-gold);
}

.slider-wrapper {
display: flex;
width: 500%;
height: 420px;
animation: cssSlideAnimation 20s infinite ease-in-out;
}

/* Pause animation on hover */
.slider-container:hover .slider-wrapper {
animation-play-state: paused;
}

.slide-item {
width: 20%;
height: 100%;
position: relative;
}

.slide-item img {
width: 100%;
height: 100%;
object-fit: cover;
}

.slide-caption {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 20px;
background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
color: #fff;
}

/* STREAMING_CHUNK:Defining keyframe animation for pure CSS carousel */
@keyframes cssSlideAnimation {
0%, 16% { transform: translateX(0%); }
20%, 36% { transform: translateX(-20%); }
40%, 56% { transform: translateX(-40%); }
60%, 76% { transform: translateX(-60%); }
80%, 96% { transform: translateX(-80%); }
100% { transform: translateX(0%); }
}

/* STREAMING_CHUNK:Styling quick info cards and highlights */
.info-card {
background: #ffffff;
border-radius: 15px;
border-left: 5px solid var(--dps-vibrant-orange);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.info-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.highlight-box {
background: #ffffff;
border-radius: 12px;
border: 1px solid #ffe0b2;
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.highlight-icon {
width: 48px;
height: 48px;
background-color: rgba(255, 183, 3, 0.2);
color: var(--dps-crimson);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.4rem;
}

/* STREAMING_CHUNK:Styling registration form and input fields */
.registration-section {
background: linear-gradient(180deg, #ffffff 0%, #fff3e0 100%);
border-radius: 20px;
border: 2px solid var(--dps-gold);
}

.form-control:focus, .form-select:focus {
border-color: var(--dps-vibrant-orange);
box-shadow: 0 0 0 0.25rem rgba(247, 127, 0, 0.25);
}

/* STREAMING_CHUNK:Styling payment cards and QR code displays */
.payment-card {
background: #ffffff;
border-radius: 16px;
border: 2px dashed var(--dps-crimson);
transition: all 0.3s ease;
}

.payment-card:hover {
border-style: solid;
background-color: #fffaf0;
box-shadow: 0 8px 25px rgba(144, 12, 63, 0.15);
}

.qr-image-wrapper {
background: #ffffff;
padding: 12px;
border-radius: 12px;
border: 1px solid #e0e0e0;
display: inline-block;
}

/* STREAMING_CHUNK:Configuring footer and responsive adjustments */
.dps-footer {
background-color: var(--dps-deep-purple);
color: #e0e0e0;
border-top: 4px solid var(--dps-gold);
}

@media (max-width: 768px) {
.slider-wrapper {
height: 260px;
}
}