/* Final collision-proof card action placement.
   Desktop keeps More beside the title in its own grid column. Narrow cards keep
   the compact overlay placement so Save and More remain vertically separated. */
.app-listing-card .listing-card-title-row {
    position: static !important;
}

/* The media and Save control share an explicit positioning container. This
   keeps Save on the photo when result cards switch to a side-by-side layout. */
.app-listing-card .listing-card-media-shell {
    position: relative !important;
    isolation: isolate !important;
    align-self: start !important;
    width: 100% !important;
    min-width: 0 !important;
}

.app-listing-card .listing-card-media-shell > .listing-card-media {
    width: 100% !important;
}

.app-listing-card .watch-button {
    top: 8px !important;
    right: 8px !important;
    z-index: 31 !important;
}

.app-listing-card .app-card-menu {
    z-index: 32 !important;
}

.app-listing-card .app-card-popover {
    z-index: 90 !important;
}

@media (min-width: 761px) {
    .app-listing-card .listing-card-title-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 54px !important;
        gap: 10px !important;
        align-items: start !important;
        overflow: visible !important;
    }

    .app-listing-card .app-card-actions {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        display: grid !important;
        place-items: start center !important;
        width: 54px !important;
        min-width: 54px !important;
        min-height: 44px !important;
        margin: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 30 !important;
    }

    .app-listing-card .app-card-menu {
        display: grid !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        color: var(--fx-text, #191919) !important;
        border: 1px solid var(--fx-line, #d8d8d8) !important;
        border-radius: 999px !important;
        background: var(--fx-panel-2, #f3f4f6) !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .app-listing-card .app-card-menu:hover,
    .app-listing-card .app-card-menu[aria-expanded="true"] {
        color: var(--fx-blue, #3665f3) !important;
        border-color: var(--fx-blue, #3665f3) !important;
        background: color-mix(in srgb, var(--fx-blue, #3665f3) 8%, var(--fx-panel-2, #f3f4f6)) !important;
    }

    [data-theme="dark"] .app-listing-card .app-card-menu {
        color: #f5f7fb !important;
        border-color: var(--fx-line-strong, #354153) !important;
        background: var(--fx-panel-2, #151d29) !important;
    }

    [data-theme="dark"] .app-listing-card .app-card-menu:hover,
    [data-theme="dark"] .app-listing-card .app-card-menu[aria-expanded="true"] {
        color: var(--fx-cyan, #65dfff) !important;
        border-color: var(--fx-cyan, #65dfff) !important;
        background: color-mix(in srgb, var(--fx-cyan, #65dfff) 9%, var(--fx-panel-2, #151d29)) !important;
    }
}

@media (max-width: 760px) {
    .app-listing-card .listing-card-title-row {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .app-listing-card .listing-card-title-row h3 {
        width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
    }

    /* A phone card has one clear Save action. The desktop overflow menu is
       deliberately absent so no duplicate icon or invisible hitbox can sit
       over the title. */
    .app-listing-card .app-card-actions {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .app-listing-card .watch-button {
        display: inline-flex !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
    }
}
