/* Phone / small-device landscape only — not desktop or portrait */

@media (orientation: landscape) and (max-height: 500px) {
    /* ── TV Guide + Loading ── */
    .guide-page {
        --guide-now-playing-height: 88px;
        --guide-now-playing-poster-col: 60px;
        --channel-row-height: 40px;
        --channel-info-width: 68px;
    }

    .guide-page .top-bar .tv-header {
        min-height: 42px;
        padding: 4px 10px;
        gap: 6px;
    }

    .guide-page .logo-image {
        height: 26px;
    }

    .guide-page .header-left .date-display {
        font-size: 11px;
    }

    .guide-page .header-right .signal-status {
        scale: 0.75;
    }

    .guide-page .news-ticker.guide-breadcrumb,
    .guide-page .guide-breadcrumb {
        height: 20px;
    }

    .guide-page .guide-breadcrumb .ticker-item {
        font-size: 10px;
    }

    .guide-page .info-section.nowplay-preview {
        flex-direction: row;
        align-items: stretch;
    }

    .guide-page .info-section.nowplay-preview .info-box,
    .guide-page .info-section.nowplay-preview .commercial-box {
        height: 100%;
        min-height: 0;
        align-self: stretch;
    }

    .guide-page .info-section.nowplay-preview .commercial-box {
        display: block !important;
        flex: 1 1 42%;
    }

    .guide-page .info-section.nowplay-preview .info-box {
        flex: 1 1 58%;
    }

    .guide-page .info-section.nowplay-preview .info-box {
        padding: 6px 10px;
    }

    .guide-page .info-body,
    .guide-page .info-body.has-poster,
    .guide-page .info-body.has-channel-graphic {
        height: calc(var(--guide-now-playing-height) - 22px);
        gap: 6px;
    }

    .guide-page .info-body.has-channel-graphic {
        grid-template-columns: minmax(0, 1fr) minmax(72px, 0.9fr);
    }

    .guide-page .info-title {
        font-size: 8px;
        margin-bottom: 0;
    }

    .guide-page .current-time {
        font-size: 15px;
        margin-bottom: 0;
    }

    .guide-page .timezone-info {
        font-size: 9px;
        margin-bottom: 0;
    }

    .guide-page .current-program,
    .guide-page #now-program {
        font-size: 11px;
        line-height: 1.1;
    }

    .guide-page .program-description,
    .guide-page #now-description {
        display: none;
    }

    .guide-page .current-channel,
    .guide-page .current-window,
    .guide-page #now-channel,
    .guide-page #now-window {
        font-size: 9px;
        margin-top: 0;
    }

    .guide-page .program-poster-frame img,
    .guide-page .info-body.has-channel-graphic .program-poster-frame.channel-graphic img {
        max-height: calc(var(--guide-now-playing-height) - 26px);
        max-width: var(--guide-now-playing-poster-col);
    }

    .guide-page .tv-guide-container {
        padding: 4px 6px 6px;
    }

    .guide-page .tv-guide-footer {
        padding: 3px 8px;
    }

    .guide-page .nav-instructions {
        gap: 12px;
        padding: 4px 8px;
    }

    .guide-page .nav-item {
        font-size: 9px;
    }

    .loading-page {
        --guide-now-playing-height: 88px;
    }

    .loading-page .loading-tagline {
        font-size: 11px;
        margin-bottom: 8px;
    }

    .loading-page .loading-status {
        font-size: 18px;
    }

    .loading-page .info-section.nowplay-preview .info-box.loading-panel {
        padding: 8px 12px;
    }

    .loading-page .loading-preview-logo {
        width: min(100px, 38%);
    }

    /* ── Video channel view ── */
    .channel-view .channel-top-left {
        top: calc(6px + env(safe-area-inset-top, 0px));
        left: calc(6px + env(safe-area-inset-left, 0px));
        gap: 6px;
        max-width: min(48vw, 280px);
    }

    .channel-view .channel-logo-persistent .channel-logo-img {
        height: 30px;
    }

    .channel-view .channel-info-display {
        bottom: calc(10px + env(safe-area-inset-bottom, 0px));
        left: calc(10px + env(safe-area-inset-left, 0px));
        width: min(56vw, 260px);
        padding: 7px 9px;
    }

    .channel-view .channel-info-display .program-title {
        font-size: 11px;
        line-height: 1.15;
    }

    .channel-view .channel-info-display .program-time {
        font-size: 10px;
    }

    .channel-view .channel-info-display .program-channel-label {
        font-size: 10px;
        margin-top: 2px;
    }

    .channel-view .channel-info-display .program-type {
        font-size: 8px;
        margin-top: 1px;
    }

    .channel-view .channel-controls-cluster {
        --cluster-width: 88px;
        --nav-row-height: 26px;
        width: 88px !important;
        min-width: 88px !important;
    }

    .channel-view .channel-volume-slider {
        height: 30px !important;
        min-height: 30px !important;
    }

    .channel-view .mobile-audio-unlock {
        width: min(34vh, 150px);
        height: min(34vh, 150px);
        max-width: 150px;
        max-height: 150px;
        padding: 12px;
    }

    .channel-view .mobile-audio-unlock-icon {
        font-size: clamp(28px, 8vh, 40px);
    }

    .channel-view .mobile-audio-unlock-label {
        font-size: 10px;
    }

    /* ── Weather channel ── */
    .weather-page .ws-sky {
        padding: 5px 8px 3px;
        overflow: hidden;
    }

    .weather-page .ws-top {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px;
        margin-bottom: 2px;
    }

    .weather-page .ws-location {
        font-size: 13px;
    }

    .weather-page .ws-screen-title {
        font-size: 11px;
    }

    .weather-page .ws-clock {
        font-size: 13px;
    }

    .weather-page .ws-date {
        font-size: 9px;
    }

    .weather-page .ws-orange-rule {
        height: 5px;
        margin: 2px 0 3px;
    }

    .weather-page .ws-zip-bar {
        margin-bottom: 3px;
        gap: 4px;
    }

    .weather-page .ws-now-strip {
        margin-bottom: 3px;
        padding: 0;
        font-size: 11px;
    }

    .weather-page .ws-now-temp {
        font-size: 14px;
    }

    .weather-page .ws-forecast-row {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        flex-direction: row;
        gap: 4px;
        padding-right: 76px;
        align-items: stretch;
    }

    .weather-page .ws-panel {
        padding: 3px 4px 4px;
        min-height: 0;
    }

    .weather-page .ws-panel-day {
        font-size: 9px;
        margin-bottom: 1px;
        letter-spacing: 1px;
    }

    .weather-page .ws-panel-icon {
        font-size: 20px;
        margin: 0;
    }

    .weather-page .ws-panel-condition {
        font-size: 8px;
        line-height: 1.15;
        margin-bottom: 2px;
    }

    .weather-page .ws-panel-temps {
        gap: 12px;
    }

    .weather-page .ws-temp-label {
        font-size: 8px;
    }

    .weather-page .ws-temp-value {
        font-size: 14px;
    }

    .weather-page .ws-bottom-bar {
        min-height: 22px;
        padding: 3px 10px;
    }

    .weather-page .ws-crawl {
        font-size: 10px;
    }

    /* ── Shopping + product detail ── */
    .shopping-page .ssn-broadcast-header {
        padding: 5px 10px;
        gap: 8px;
    }

    .shopping-page .ssn-network-name {
        font-size: 0.82rem;
    }

    .shopping-page .ssn-channel-badge {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    .shopping-page .featured-product {
        grid-template-columns: minmax(110px, 32vw) minmax(0, 1fr) !important;
        gap: 0;
        margin-bottom: 12px;
    }

    .shopping-page .product-placeholder {
        aspect-ratio: 16 / 9;
        max-height: 38vh;
    }

    .shopping-page .product-icon {
        font-size: 36px;
        margin-bottom: 4px;
    }

    .shopping-page .product-text {
        font-size: 11px;
    }

    .shopping-page .product-title {
        font-size: 1rem;
    }

    .shopping-page .product-description {
        font-size: 0.82rem;
        line-height: 1.3;
        max-height: 4.5em;
        overflow: hidden;
    }

    .shopping-page .shopping-content,
    .shopping-page .page-shell {
        padding-bottom: 64px;
    }

    .shopping-page .mobile-sticky-cart {
        padding: 5px 10px;
    }

    .shopping-page .ssn-mobile-cart-fab {
        bottom: calc(48px + env(safe-area-inset-bottom, 0px));
        min-height: 38px;
        padding: 7px 12px;
        font-size: 11px;
    }

    .shopping-page .channel-nav-buttons {
        bottom: auto;
    }

    .shopping-page.product-detail-shell .product-actions-bottom {
        margin-top: 8px;
    }

    /* ── Game station ── */
    .game-station .game-header {
        margin-bottom: 6px;
    }

    .game-station .game-header h1 {
        font-size: 1.05rem;
    }

    .game-station .game-header p {
        font-size: 0.75rem;
    }

    .game-station .game-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        padding: 4px 10px 8px;
    }

    .game-station .game-card {
        padding: 8px;
        margin: 0;
        min-height: 82px;
    }

    .game-station .game-title {
        font-size: 0.78rem;
    }

    .game-station .game-description {
        font-size: 0.68rem;
        line-height: 1.2;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}
