/*
  MTALK Responsive Overrides
  ──────────────────────────
  Handles page-specific responsive adjustments.
  Header/nav mobile styles are in global.css.
  These rules handle content-area and component scaling.
*/

/* ─── TABLET (≤768px) ─── */
@media (max-width: 768px) {

    /* Common content containers */
    .login-container {
        margin-top: 100px;
        padding: 30px 20px;
    }

    .profile-container {
        padding: 50px 25px;
        margin-top: 90px;
    }

    .page-wrapper {
        padding: 90px 15px 40px;
    }

    /* Movie page flex layout */
    .container {
        padding: 15px;
    }

    /* Movie poster sizing */
    .poster {
        width: 100%;
        max-width: 280px;
        aspect-ratio: 3/5;
        object-fit: cover;
        margin: 0 auto;
    }

    /* Onboarding */
    .step h2 {
        font-size: 32px;
        text-shadow: 0 0 20px rgba(255, 7, 58, 0.6);
    }

    .onboard-input {
        font-size: 16px;
    }

    /* Profile info rows */
    .info-row {
        flex-direction: column;
        gap: 4px;
        align-items: flex-start;
    }

    .pref-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }

    /* About page */
    .profile-img-container {
        width: 140px;
        height: 140px;
    }

    .mission-section h1 {
        font-size: 22px;
    }

    .mission-text {
        font-size: 15px;
    }

    /* Review page */
    .review-card {
        padding: 16px 18px;
    }

    .modal {
        padding: 25px 18px;
        width: 95%;
    }

    /* Location page */
    .results-panel {
        width: 280px;
    }

    .map-search-container {
        width: 95%;
        flex-direction: column;
        align-items: stretch;
    }

    .radius-inline {
        justify-content: center;
    }
}

/* ─── MOBILE (≤480px) ─── */
@media (max-width: 480px) {

    /* Marquee adjustments — primary rules are inline in index.html */

    /* Interactive heading — fit on mobile */
    .interactive-heading {
        padding: 10px 0;
        flex-wrap: wrap;
        justify-content: center;
    }

    .interactive-letter {
        font-size: 26px;
        letter-spacing: -0.03em;
    }

    /* Bottom section adjustments */
    .bottom-section {
        padding: 80px 0 30px;
    }
    
    .hero-content {
        margin-top: 0;
    }

    /* Login */
    .login-container {
        margin-top: 80px;
        padding: 25px 15px;
    }

    .login-container h2 {
        font-size: 22px;
    }

    /* Profile */
    .profile-container {
        padding: 40px 15px;
        margin-top: 80px;
    }

    .profile-img {
        width: 90px;
        height: 90px;
    }

    .user-info h2 {
        font-size: 18px;
    }

    .username-row {
        font-size: 20px;
        flex-wrap: wrap;
        justify-content: center;
    }

    /* About */
    .glass-card {
        padding: 20px 15px;
        border-radius: 16px;
    }

    .profile-img-container {
        width: 120px;
        height: 120px;
    }

    .ideator-name {
        font-size: 14px;
    }

    /* Get-started / category boxes */
    .page-header h1 {
        font-size: 28px;
        letter-spacing: 4px;
    }

    .page-header {
        margin-top: 100px;
    }

    /* Movie detail page */
    .poster {
        max-width: 220px;
    }

    .trailer-video {
        border-width: 2px;
    }

    /* Movie grid (category pages) */
    .movie-grid {
        padding: 15px;
        gap: 12px;
    }

    /* Review */
    .page-title {
        font-size: 1.3rem;
    }

    .review-header {
        flex-direction: column;
    }

    .star-picker span {
        font-size: 1.5rem;
    }

    /* Location */
    .results-panel {
        width: 85%;
        left: 7.5%;
        top: 140px;
        bottom: 80px;
    }

    .fab-group {
        bottom: 80px;
        right: 15px;
    }

    .fab {
        width: 48px;
        height: 48px;
        font-size: 18px;
    }

    .detail-panel {
        padding: 20px 15px;
    }

    .theatre-info h2 {
        font-size: 18px;
    }

    /* Onboarding */
    .step h2 {
        font-size: 28px;
        margin-bottom: 25px;
        text-shadow: 0 0 15px rgba(255, 7, 58, 0.6);
    }

    .btn-next {
        padding: 12px 35px;
        font-size: 14px;
    }

    .badge-title {
        font-size: 24px;
    }

    .badge-icon {
        font-size: 60px;
    }

    .quiz-option {
        font-size: 13px;
        padding: 12px 16px;
    }

    .wizard {
        width: 95%;
    }
}