.schedule-section { max-width: 1000px; margin: 4rem auto; padding: 0 2rem; }
.schedule-container { background: var(--white); border-radius: 24px; padding: 2.5rem; box-shadow: 0 10px 40px var(--shadow); overflow-x: auto; }
.schedule-table { width: 100%; border-collapse: separate; border-spacing: 0 10px; }
.schedule-table th { background: var(--purple-btn); color: var(--white); padding: 20px; font-size: 1.1rem; font-weight: 700; }
.schedule-table th:first-child { border-radius: 0 15px 15px 0; }
.schedule-table th:last-child { border-radius: 15px 0 0 15px; }
.schedule-table td { padding: 22px 20px; font-size: 1.05rem; text-align: center; font-weight: 600; }
.schedule-table tr:nth-child(even) td { background: var(--pink-light); }
.schedule-table tr:nth-child(odd) td { background: white; }
.schedule-table tr td:first-child { border-radius: 0 12px 12px 0; border-right: 4px solid var(--purple-btn); }
.schedule-table tr td:last-child { border-radius: 12px 0 0 12px; }
.schedule-table tr.open td:first-child { color: var(--purple-dark); font-weight: 800; }
.schedule-table tr.friday td { background: linear-gradient(135deg, #E8F5E9, #FFF8E1); }
.schedule-table tr.friday td:first-child { color: #2E7D32; border-right-color: #4CAF50; }
.schedule-footer { text-align: center; margin-top: 25px; background: var(--purple-light); color: var(--purple-dark); padding: 18px 30px; border-radius: 15px; font-size: 1rem; font-weight: 700; }
.schedule-note { text-align: center; margin-top: 25px; background: linear-gradient(135deg, #FFF8E1, #FFECB3); color: #E65100; padding: 20px 30px; border-radius: 16px; font-size: 1.1rem; font-weight: 700; border: 2px dashed #FFB300; display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.02); } }

@media (max-width: 1024px) {
    .schedule-table { font-size: 0.9rem; }
    .schedule-table th, .schedule-table td { padding: 15px 10px; }
}
@media (max-width: 768px) {
    .schedule-section { padding: 2rem; margin: 2rem 1rem; }
    .schedule-container { padding: 1.5rem; }
    .schedule-table th, .schedule-table td { padding: 12px 8px; font-size: 0.9rem; }
    .schedule-note { font-size: 0.9rem; padding: 15px; }
}