/* Program Page Specific Styles */
.dark-section {
    background: var(--primary-gradient);
    position: relative;
    overflow: hidden;
}

.dark-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(123, 108, 246, 0.1), rgba(111, 96, 232, 0.05));
    pointer-events: none;
}

.dark-gradient-section {
    background: linear-gradient(135deg, #070B14 0%, #0F172A 100%);
    position: relative;
    overflow: hidden;
}

.dark-gradient-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(123, 108, 246, 0.15), rgba(111, 96, 232, 0.1));
    pointer-events: none;
}

.icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(123, 108, 246, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-circle i {
    color: var(--accent-color);
}

.text-white-75 {
    color: rgba(255, 255, 255, 0.75) !important;
}

.text-white-90 {
    color: rgba(255, 255, 255, 0.9) !important;
}

.text-accent {
    color: var(--accent-color) !important;
}

.separator-container .separator-line.light {
    background: rgba(255, 255, 255, 0.2);
}

.separator-container .separator-heart.light {
    color: rgba(255, 255, 255, 0.5);
}

.glass-card-dark {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px rgba(123, 108, 246, 0.1);
}

.transition-all {
    transition: all var(--transition-speed) ease;
}

.hover-lift {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(123, 108, 246, 0.15);
}

.hover-lift-sm:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(123, 108, 246, 0.1);
}

.backdrop-blur {
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.backdrop-blur-sm {
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.text-gradient {
    background: var(--accent-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--accent-color);
}

.font-space-grotesk {
    font-family: var(--heading-font);
}

.font-dm-sans {
    font-family: var(--body-font);
}

.line-height-lg {
    line-height: 1.8;
}

.session-block {
    position: relative;
    overflow: hidden;
}

.session-header {
    background: rgba(240, 244, 255, 0.5);
    border-bottom: 1px solid rgba(123, 108, 246, 0.1);
}

.dark-section .session-header,
.dark-gradient-section .session-header {
    background: rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.dark-section .session-header h4,
.dark-gradient-section .session-header h4 {
    color: rgba(255, 255, 255, 0.9);
}

.dark-section .fa-chevron-down,
.dark-gradient-section .fa-chevron-down {
    color: var(--accent-color);
    opacity: 0.9;
}

.session-header h4 {
    font-family: var(--heading-font);
    color: var(--text-color);
    font-weight: 600;
}

.session-content {
    background: rgba(255, 255, 255, 0.5);
}

.dark-section .session-content,
.dark-gradient-section .session-content {
    background: rgba(255, 255, 255, 0.02);
}

.dark-section .content-wrapper,
.dark-gradient-section .content-wrapper {
    border-left-color: rgba(123, 108, 246, 0.3);
}

.dark-section .session-content p,
.dark-gradient-section .session-content p {
    color: rgba(255, 255, 255, 0.7) !important;
}

.content-wrapper {
    position: relative;
    padding-left: 20px;
    border-left: 2px solid var(--accent-color);
}

.fa-chevron-down {
    transition: transform 0.3s ease;
}

.session-block.active .fa-chevron-down {
    transform: rotate(180deg);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .card-body {
        padding: 1.5rem !important;
    }
    
    .session-header {
        padding: 1rem !important;
    }
    
    .session-content {
        padding: 1rem !important;
    }
}
