/* Responsive Grid & Padding Overrides for Wide Desktop Screens */

.curriculum-content {
    padding-left: 14px;
}

/* Default Mobile Settings */
/* Desktop Viewport Breakpoint */
@media (min-width: 860px) {
    /* Grid layout expansion */
    .landing-hero-container { flex-direction: row; text-align: center; align-items: center; }
    .landing-hero-content { text-align: center; align-items: center; }
    .landing-hero-tag { justify-content: center; }
    .landing-hero-subtitle { margin: 0 auto; }
    .landing-hero-actions { justify-content: center; }
    
    .about-grid { grid-template-columns: minmax(0, 720px); justify-content: center; gap: 16px; }
    .program-grid { max-width: 720px; gap: 16px; }
    .schedule-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .teacher-card { flex: 0 0 calc(50% - 6px); }
    .news-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .gallery-grid { grid-template-columns: repeat(4, 1fr); gap: 16px; }
    .bento-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .materi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .donasi-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
    .registration-page-shell { max-width: 720px; gap: 16px; }
    .registration-action-buttons {
        flex-direction: row;
        justify-content: flex-end;
        width: 100%;
    }
    .registration-action-buttons > * {
        flex: 0 1 220px;
    }
    
    .layout-section { padding: 56px 32px; }
    .landing-hero { padding: 100px 32px 64px; }
}

@media (min-width: 1024px) {
    .layout-section { padding: 64px 48px; }
    .landing-hero { padding: 112px 48px 80px; }
}

@media (max-width: 679px) {
    .layout-home-brand-text {
        font-size: 17px;
    }

    .layout-header--home .layout-home-logo {
        height: 44px;
    }

    .layout-header--home.is-scrolled {
        top: 8px;
        left: 12px;
        right: 12px;
        height: 52px;
    }
}

@media (max-height: 540px) and (orientation: landscape) {
    .layout-header { height: 52px; }
    .layout-main { margin-top: 52px; }
    .landing-hero-container {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }
    .landing-hero-content {
        align-items: center;
        text-align: center;
    }
    .landing-hero-title {
        align-self: center;
        margin: 0 auto;
    }
    .layout-header--home .layout-home-logo {
        height: 40px;
    }
    .layout-header--home.is-scrolled {
        top: 6px;
        left: 12px;
        right: 12px;
        height: 48px;
    }
    .layout-section { padding: 36px 16px; }
    .landing-hero { padding: 60px 16px 36px; }
    .landing-hero-title { font-size: 22px !important; }
    .m3-fab { width: 48px; height: 48px; }
    .fab-container { width: 64px; height: 64px; }
}
