/* --- Responsive Design --- */

/* 1200px 이하 */
@media (max-width: 1200px) {
    /* layout.css */
    .main-layout {
        flex-direction: column;
        overflow: visible;
        padding: 1rem;
        gap: 1rem;
    }

    .info-column {
        max-height: none;
    }

    .split-layout,
    .schedule-layout-container {
        flex-direction: column;
        gap: 1rem;
    }

    #tab-timetable .split-layout {
        flex-direction: column;
    }

    /* features.css (원래 components.css에 있던 내용) */
    .schedule-date-display {
        border-right: none;
        border-bottom: 1px solid var(--border-color);
        flex-basis: auto;
    }

    #tab-memo .split-sidebar,
    #tab-timetable .split-sidebar {
        border: none;
        padding: 0;
        max-width: 100%;
    }
}

/* 768px 이하 */
@media (max-width: 768px) {
    /* layout.css */
    .site-header {
        padding: 0.75rem 1rem;
    }

    .site-header h1 {
        font-size: 1.0rem;
    }

    .main-layout {
        padding: 0.5rem;
    }

    .container,
    .tab-container {
        padding: 1rem;
    }

    /* calendar.css */
    .calendar-header h2 {
        font-size: 1.5rem;
    }

    .calendar-day {
        padding-top: 5px;
        font-size: 0.8rem;
    }

    .calendar-day.today .day-number {
        width: 24px;
        height: 24px;
        line-height: 24px;
    }

    .event-dot-container {
        bottom: 4px;
    }

    .event-dot {
        width: 5px;
        height: 5px;
    }
    
    /* features.css (원래 components.css에 있던 내용) */
    .tab-link {
        padding: 0.5rem 0.6rem;
        font-size: 0.8rem;
    }

    .timetable-table {
        font-size: 0.7rem;
    }

    .timetable-table td {
        height: 40px;
        padding: 0.2rem;
    }

    #dday-form {
        flex-direction: column;
    }
}