/* === Footer === */
.footer {
    text-align: center;
    padding: 1.5rem 1.5rem 2rem;
    border-top: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: 0.8rem;
    margin-top: 2rem;
    letter-spacing: 0.01em;
}

/* === Responsive === */
@media (max-width: 1024px) {
    .home-hero,
    .home-discovery-grid {
        grid-template-columns: 1fr;
    }

    body:not(.theater-mode) .player-page {
        width: calc(100% + 1.5rem);
        max-width: none;
        margin-left: -0.75rem;
        margin-right: -0.75rem;
    }

    body:not(.theater-mode) .player-page-top {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    body:not(.theater-mode) .player-layout {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    body:not(.theater-mode) .player-sidebar {
        order: 2;
        width: 100%;
        align-self: stretch;
    }

    body:not(.theater-mode) .player-column,
    body:not(.theater-mode) .player-container,
    body:not(.theater-mode) .player-info-card {
        width: 100%;
        max-width: none;
    }

    body:not(.theater-mode) .player-sidebar > .chat-panel,
    body:not(.theater-mode) .player-sidebar > .up-next-panel {
        width: 100%;
    }

    body:not(.theater-mode) .player-sidebar > .chat-panel {
        height: 400px;
        max-height: 400px;
    }

    .player-info-grid,
    .player-info-grid-no-tags {
        grid-template-columns: 1fr;
    }

    .player-info-grid {
        grid-template-areas:
            "tags"
            "clip"
            "downloads"
            "share";
    }

    .tags-section {
        height: auto;
    }

    .tags-list {
        flex: 0 1 auto;
        max-height: 480px;
    }

    .player-info-grid-no-tags {
        grid-template-areas:
            "clip"
            "downloads"
            "share";
    }

    .player-card-shortcuts {
        display: none;
    }

    .player-page-top {
        gap: 0.75rem;
    }

    .player-page-top .back-link {
        font-size: 0.84rem;
    }

    .player-page-top .player-meta-badge {
        padding: 0.32rem 0.6rem;
        font-size: 0.76rem;
    }

    .player-title-row {
        flex-direction: column;
        align-items: stretch;
    }

    .player-source-switch-wrap {
        justify-content: flex-start;
    }

    .mp-tag-status {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.35rem;
    }

    .mp-controls-bottom {
        flex-wrap: nowrap;
        gap: 4px;
        justify-content: flex-start;
    }

    .mp-control-bubble-actions {
        margin-left: 0;
        flex: 0 0 auto;
        min-width: max-content;
    }

    .mp-control-bubble-theater {
        margin-left: auto;
        flex: 0 0 auto;
        min-width: max-content;
        width: auto;
    }

    .mp-video .mp-time {
        margin-right: 0;
    }

    .mp-control-bubble-play,
    .mp-control-bubble-transport,
    .mp-control-bubble-volume {
        flex: 0 0 auto;
    }

    .mp-control-bubble-theater .theater-overlay-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        flex-shrink: 0;
        min-width: max-content;
        width: auto;
        min-height: 2rem;
        padding: 0.35rem 0.55rem;
        white-space: nowrap;
    }
}

@media (max-width: 720px) {
    body:not(.theater-mode) .player-page {
        width: calc(100% + 1rem);
        margin-left: -0.5rem;
        margin-right: -0.5rem;
    }

    .player-page-top {
        gap: 0.55rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .player-page-top .back-link {
        font-size: 0.78rem;
    }

    .player-page-top .player-meta-badge,
    .player-page-top .player-meta-badge .vod-number,
    .player-page-top .player-meta-badge .vod-date,
    .player-page-top .player-meta-badge .player-meta-separator {
        font-size: 0.72rem;
    }

    .player-page-top .player-meta-badge {
        padding: 0.28rem 0.5rem;
    }

    .mp-tag-status {
        gap: 0.3rem;
    }

    .mp-tag-status-item {
        min-height: 2.7rem;
        padding: 0.45rem 0.5rem;
    }

    .mp-tag-status-label {
        font-size: 0.56rem;
    }

    .mp-tag-status-value {
        font-size: 0.69rem;
    }

    .mp-control-bubble-theater .theater-overlay-toggle {
        padding: 0.32rem 0.48rem;
        font-size: 0;
        gap: 0;
    }

    .mp-controls-bottom {
        flex-wrap: wrap;
        row-gap: 0.4rem;
    }

    .mp-control-bubble-play,
    .mp-control-bubble-transport,
    .mp-control-bubble-volume {
        order: 1;
    }

    .mp-control-bubble-theater {
        order: 2;
        margin-left: auto;
    }

    .mp-control-bubble-actions {
        order: 3;
    }

    .home-entity-card,
    .home-random-card {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .home-entity-card img,
    .home-random-card img,
    .home-random-media,
    .search-result-thumb,
    .search-result-thumb-model {
        width: 72px;
        height: 72px;
        aspect-ratio: 1;
    }

    .search-result-card {
        flex-direction: row;
        align-items: stretch;
    }

    .vod-card-actions,
    .player-resume-card,
    .player-shortcuts-header,
    .shortcut-row {
        flex-direction: column;
        align-items: stretch;
    }

    .vod-card-resume-meta,
    .player-resume-actions {
        flex-direction: column;
    }

    .clip-inputs {
        grid-template-columns: 1fr;
    }

    .player-source-switch {
        min-width: 0;
        width: 100%;
    }

    .player-source-switch-side {
        min-height: 42px;
        padding: 0.7rem 0.85rem;
    }
}

@media (max-width: 640px) {
    .mp-skip-back-btn,
    .mp-skip-fwd-btn {
        display: none;
        min-width: 2rem;
        padding: 0.15rem 0.28rem;
    }

    .mp-controls-bottom {
        gap: 0.35rem;
    }

    .mp-control-bubble {
        min-height: 2.15rem;
        padding: 0.16rem 0.22rem;
    }

    .mp-control-bubble-transport {
        gap: 0.05rem;
        padding-inline: 0.18rem;
    }

    .mp-control-bubble-volume,
    .mp-control-bubble-actions,
    .mp-control-bubble-theater {
        padding-inline: 0.18rem;
    }

    .mp-skip-label {
        font-size: 0.72rem;
    }

    .home-hero {
        padding: 1.25rem;
    }

    .discovery-page-header {
        flex-flow: row wrap;
        align-items: center;
        gap: 0.5rem;
    }

    .discovery-page-header h1 {
        font-size: 1.35rem;
        margin-bottom: 0;
    }

    .discovery-page-header .page-subtitle {
        display: none;
    }

    .discovery-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
        margin-bottom: 1rem;
    }

    .discovery-toolbar .search-field {
        width: 100%;
    }

    .discovery-toolbar-actions {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

    .discovery-toolbar-actions .discovery-mobile-toggle {
        flex: 1;
    }

    .discovery-toolbar-actions .discovery-results-meta {
        flex-direction: column;
        align-items: flex-end;
        white-space: nowrap;
        font-size: 0.82rem;
    }

    .search-result-card {
        gap: 0.75rem;
    }

    .search-result-meta {
        white-space: normal;
    }

    .mobile-discovery-actions {
        flex-direction: column;
    }

    .mobile-discovery-actions .btn {
        width: 100%;
        justify-content: center;
    }
}
