/* Desktop presentation of the shared Grid / Large Cards / List selector.
   Mobile view layouts live in recipe-result-views.css and remain unchanged. */
.br-library-details-head, .br-library-list-status { display:none; }
@media (min-width: 1024px) {
    /* Grid: useful columns instead of a different size on every recipe page. */
    :is(.br-recipe-library-grid[data-view="grid"],
        .br-public-recipe-grid.br-result-view-grid[data-view="grid"],
        .br-discover-feed-grid.br-result-view-grid[data-view="grid"],
        .br-discover-grid.br-result-view-grid[data-view="grid"],
        .br-collection-recipe-grid.br-result-view-grid[data-view="grid"],
        .br-recipe-card-grid.br-result-view-grid[data-view="grid"]) {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /* Large Cards: two photo-forward, full-content cards per row. */
    .br-recipe-library-grid[data-view="cards"],
    .br-result-view-grid[data-view="cards"] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: stretch;
    }
    .br-recipe-library-grid[data-view="cards"] > .br-library-card,
    .br-result-view-grid[data-view="cards"] > article {
        display: flex;
        flex-direction: column;
        min-width: 0;
        width: 100%;
    }
    .br-recipe-library-grid[data-view="cards"] > .br-library-card > .br-library-card-photo,
    .br-result-view-grid[data-view="cards"] > article > :is(
        .br-public-recipe-photo, .br-discover-feed-photo, .br-discover-photo,
        .br-collection-recipe-photo, .br-recipe-card-image, .br-saved-recipe-photo-wrap) {
        display: block;
        flex: none;
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
        overflow: hidden;
    }
    .br-recipe-library-grid[data-view="cards"] .br-library-card-photo img,
    .br-result-view-grid[data-view="cards"] > article > :is(
        .br-public-recipe-photo, .br-discover-feed-photo, .br-discover-photo,
        .br-collection-recipe-photo, .br-recipe-card-image) img {
        width: 100%; height: 100%; object-fit: cover;
    }
    .br-recipe-library-grid[data-view="cards"] > .br-library-card > .br-library-card-body,
    .br-result-view-grid[data-view="cards"] > article > :is(
        .br-public-recipe-card-body, .br-discover-feed-body,
        .br-discover-card-body, .br-collection-recipe-body, .br-recipe-card-body) {
        width: 100%; min-width: 0; flex: 1;
    }
    /* Saved cards wrap the image and bookmark action in an extra element. */
    .br-public-recipe-grid.br-result-view-grid[data-view="cards"]
        .br-saved-recipe-photo-wrap > .br-public-recipe-photo {
        display: block;
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
    }
    .br-result-view-grid[data-view="cards"] > article > :is(
        .br-discover-feed-actions, .br-discover-actions) {
        grid-column: auto;
        width: 100%;
        box-sizing: border-box;
        margin-top: auto;
    }

    /* List: one concise row with a bounded thumbnail, not a stretched card. */
    .br-recipe-library-grid[data-view="list"],
    .br-result-view-grid[data-view="list"] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start;
        gap: 10px;
    }
    .br-recipe-library-grid[data-view="list"] > .br-library-card,
    .br-result-view-grid[data-view="list"] > article:not(.br-shared-card) {
        display: grid;
        grid-template-columns: 88px minmax(0, 1fr);
        grid-template-rows: auto;
        align-items: center;
        width: 100%;
        min-width: 0;
        min-height: 88px;
        overflow: visible;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-card-photo,
    .br-result-view-grid[data-view="list"] > article > :is(
        .br-public-recipe-photo, .br-discover-feed-photo, .br-discover-photo,
        .br-collection-recipe-photo, .br-recipe-card-image, .br-saved-recipe-photo-wrap) {
        display: block;
        grid-column: 1;
        grid-row: 1;
        width: 88px;
        height: 88px;
        min-height: 0;
        max-height: 88px;
        aspect-ratio: 1;
        overflow: hidden;
        align-self: stretch;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-card-photo img,
    .br-result-view-grid[data-view="list"] > article > :is(
        .br-public-recipe-photo, .br-discover-feed-photo, .br-discover-photo,
        .br-collection-recipe-photo, .br-recipe-card-image) img {
        display: block; width: 100%; height: 100%; object-fit: cover;
    }
    .br-public-recipe-grid.br-result-view-grid[data-view="list"]
        .br-saved-recipe-photo-wrap > .br-public-recipe-photo {
        display: block;
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
        overflow: hidden;
    }
    .br-result-view-grid[data-view="list"] > article > :is(
        .br-public-recipe-card-body, .br-discover-feed-body,
        .br-discover-card-body, .br-collection-recipe-body, .br-recipe-card-body) {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        padding: 9px 13px;
        min-width: 0;
    }
    .br-result-view-grid[data-view="list"] > article :is(
        .br-public-recipe-description, .br-discover-description,
        .br-discover-feed-description, .br-collection-recipe-body > p) {
        display: none;
    }
    .br-result-view-grid[data-view="list"] > article :is(h2, h3) {
        font-size: .94rem;
        line-height: 1.25;
        margin-bottom: .25rem;
    }
    .br-result-view-grid[data-view="list"] > article :is(
        .br-public-recipe-meta, .br-discover-feed-meta,
        .br-discover-meta, .br-recipe-card-meta) {
        gap: .35rem;
        margin-block: .3rem;
    }
    .br-result-view-grid[data-view="list"] > article :is(
        .br-public-recipe-chips, .br-discover-feed-chips) {display:none;}

    /* Discover actions belong beside the text, never on top of the image. */
    .br-discover-feed-grid.br-result-view-grid[data-view="list"] > .br-discover-feed-card,
    .br-discover-grid.br-result-view-grid[data-view="list"] > .br-discover-card {
        display: grid;
        grid-template-columns: 88px minmax(0, 1fr) minmax(210px, 310px);
        grid-template-rows: auto;
        align-items: center;
    }
    .br-discover-feed-grid.br-result-view-grid[data-view="list"] > .br-discover-feed-card > .br-discover-feed-photo,
    .br-discover-grid.br-result-view-grid[data-view="list"] > .br-discover-card > .br-discover-photo {
        grid-column: 1; grid-row: 1;
        height: 88px; width: 88px; min-height: 0; max-height: 88px;
        aspect-ratio: 1;
    }
    .br-discover-feed-grid.br-result-view-grid[data-view="list"] > .br-discover-feed-card > .br-discover-feed-body,
    .br-discover-grid.br-result-view-grid[data-view="list"] > .br-discover-card > .br-discover-card-body {
        grid-column: 2; grid-row: 1;
        align-self: center;
        padding: .5rem .7rem;
    }
    .br-discover-feed-grid.br-result-view-grid[data-view="list"] > .br-discover-feed-card > .br-discover-feed-actions,
    .br-discover-grid.br-result-view-grid[data-view="list"] > .br-discover-card > .br-discover-actions {
        grid-column: 3;
        grid-row: 1;
        min-width: 0;
        padding: .4rem .65rem;
        border-top: 0;
        border-left: 1px solid #e3e9e2;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: .3rem;
    }
    .br-discover-feed-grid.br-result-view-grid[data-view="list"] > .br-discover-feed-card > .br-discover-feed-actions :is(form, button),
    .br-discover-grid.br-result-view-grid[data-view="list"] > .br-discover-card > .br-discover-actions :is(form, button) {
        min-width: 0;
    }
    .br-discover-feed-grid.br-result-view-grid[data-view="list"] .br-discover-feed-reason,
    .br-discover-feed-grid.br-result-view-grid[data-view="list"] .br-discover-feed-missing {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 100%;
    }
    .br-discover-feed-grid.br-result-view-grid[data-view="list"] .br-discover-feed-missing {
        padding: .25rem .45rem;
        margin-top: .25rem;
    }
    /* Shared-with-me cards carry their own action row and no thumbnails. */
    .br-shared-grid.br-result-view-grid[data-view="list"] > .br-shared-card {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        min-height: 72px;
    }
    /* Don't clip dropdown actions or collection reorder handles. */
    .br-recipe-library-grid[data-view="list"] > .br-library-card {position:relative;}
    .br-collection-recipe-grid.br-result-view-grid[data-view="list"] > article {overflow:visible;}
}

@media (min-width: 1024px) and (max-width: 1199.98px) {
    /* There isn't room for a full desktop table and Discover action buttons. */
    .br-discover-feed-grid.br-result-view-grid[data-view="list"] > .br-discover-feed-card,
    .br-discover-grid.br-result-view-grid[data-view="list"] > .br-discover-card {
        grid-template-columns: 88px minmax(0, 1fr);
        grid-template-rows: auto auto;
    }
    .br-discover-feed-grid.br-result-view-grid[data-view="list"] > .br-discover-feed-card > .br-discover-feed-actions,
    .br-discover-grid.br-result-view-grid[data-view="list"] > .br-discover-card > .br-discover-actions {
        grid-column: 2; grid-row: 2;
        border: 0; padding-top: 0;
        justify-content: flex-start;
    }
}

/* My Recipes gets an honest-to-goodness Details view on wide desktop. */
@media (min-width: 1280px) {
    .br-recipe-library-grid[data-view="list"] > .br-library-card {
        grid-template-columns: 88px minmax(0,1fr);
        min-height: 88px;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-card-body,
    .br-recipe-library-grid[data-view="list"] .br-library-details-columns {
        display: grid;
        grid-template-columns: minmax(150px,1.7fr) 58px 65px 80px 68px repeat(4,minmax(50px,.55fr)) 78px;
        align-items: center;
        gap: 8px;
        min-width: 0;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-card-body {
        grid-column: 2;
        grid-row: 1;
        padding: 9px 44px 9px 14px;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-list-status {
        display: inline-block;
        width: max-content;
        max-width: 100%;
        padding: 3px 7px;
        border-radius: 999px;
        background: #eaf4e7;
        color: #28543a;
        font-size: .67rem;
        font-weight: 800;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-status { display:none; }
    .br-recipe-library-grid[data-view="list"] .br-library-card-body h2 {
        font-size: .86rem;
        line-height: 1.3;
        margin: 0;
        white-space: normal;
        min-width: 0;
    }
    .br-recipe-library-grid[data-view="list"] :is(.br-library-meta,.br-library-macros,.br-library-footer) {
        display: contents;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-meta > span {
        display: inline-block;
        background: none;
        padding: 0;
        border: 0;
        white-space: normal;
        font-size: .7rem;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-macros > span {
        padding: 4px 2px;
        margin: 0;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-footer > span {
        white-space: nowrap;
        font-size: .67rem;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-card-menu {
        top: 50%; left: auto; right: 5px; transform: translateY(-50%);
    }
    .br-recipe-library-grid[data-view="list"] .br-library-status {
        top: 4px; right: 4px;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-details-head {
        display: grid;
        grid-template-columns: 88px minmax(0,1fr);
        align-items: center;
        min-width: 0;
        padding: 7px 0;
        background: #f3f7f2;
        border: 1px solid #e0e8df;
        border-radius: 10px;
        color: #4d6358;
        font-size: .66rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .025em;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-details-head > span:first-child {
        padding-left: 12px;
    }
    .br-recipe-library-grid[data-view="list"] .br-library-details-columns {
        padding: 0 44px 0 14px;
    }
}

@media (min-width: 1700px) {
    :is(.br-recipe-library-grid[data-view="grid"],
        .br-public-recipe-grid.br-result-view-grid[data-view="grid"],
        .br-discover-feed-grid.br-result-view-grid[data-view="grid"],
        .br-discover-grid.br-result-view-grid[data-view="grid"],
        .br-collection-recipe-grid.br-result-view-grid[data-view="grid"],
        .br-recipe-card-grid.br-result-view-grid[data-view="grid"]) {
        grid-template-columns: repeat(4, minmax(0,1fr));
    }
}

/* Saved Recipes: desktop Details view. Unlike the small-screen List card,
   this is a scannable, labeled collection table with concise numeric values.
   It is intentionally scoped to Saved; other recipe views are unchanged. */
.br-saved-details-head,
.br-saved-details-row { display: none; }

@media (min-width: 1200px) {
    .br-saved-recipes .br-public-recipe-grid.br-result-view-grid[data-view="list"] {
        --br-saved-detail-columns: minmax(200px, 2.5fr) minmax(80px, 1fr)
            minmax(66px, .65fr) 55px 60px 52px 57px 57px 52px 92px;
        --br-saved-detail-gap: 8px;
        gap: 7px;
    }
    .br-saved-recipes .br-public-recipe-grid.br-result-view-grid[data-view="list"] > .br-saved-details-head {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: 76px minmax(0, 1fr);
        align-items: center;
        column-gap: 0;
        padding: 10px 14px 10px 0;
        background: #ecf3ed;
        border: 1px solid #dce8df;
        border-radius: 10px;
        color: #526b5c;
        font-size: .65rem;
        font-weight: 850;
        text-transform: uppercase;
        letter-spacing: .025em;
    }
    .br-saved-recipes .br-saved-details-head > span:first-child {
        padding-left: 12px;
    }
    .br-saved-recipes .br-saved-details-head-fields,
    .br-saved-recipes .br-public-recipe-grid.br-result-view-grid[data-view="list"] .br-saved-details-row {
        display: grid;
        grid-template-columns: var(--br-saved-detail-columns);
        gap: var(--br-saved-detail-gap);
        align-items: center;
        min-width: 0;
    }
    .br-saved-recipes .br-public-recipe-grid.br-result-view-grid[data-view="list"] > .br-saved-recipe-card {
        display: grid;
        grid-template-columns: 76px minmax(0, 1fr);
        grid-template-rows: 88px;
        min-height: 88px;
        overflow: hidden;
        align-items: stretch;
        box-shadow: 0 3px 10px rgba(29, 47, 39, .045);
        border-radius: 10px;
    }
    .br-saved-recipes .br-public-recipe-grid.br-result-view-grid[data-view="list"] > .br-saved-recipe-card:hover {
        transform: none;
        background: #fbfdfb;
        box-shadow: 0 4px 16px rgba(29, 47, 39, .09);
    }
    .br-saved-recipes .br-public-recipe-grid.br-result-view-grid[data-view="list"] > .br-saved-recipe-card > .br-public-recipe-card-body {
        display: none;
    }
    .br-saved-recipes .br-public-recipe-grid.br-result-view-grid[data-view="list"] > .br-saved-recipe-card > .br-saved-recipe-photo-wrap {
        grid-column: 1;
        grid-row: 1;
        width: 76px;
        height: 88px;
        min-height: 0;
        max-height: 88px;
        aspect-ratio: auto;
        overflow: hidden;
    }
    .br-saved-recipes .br-public-recipe-grid.br-result-view-grid[data-view="list"] .br-saved-recipe-photo-wrap > .br-public-recipe-photo {
        display: block;
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
    }
    .br-saved-recipes .br-public-recipe-grid.br-result-view-grid[data-view="list"] .br-saved-recipe-photo-wrap > .br-public-recipe-photo > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .br-saved-recipes .br-public-recipe-grid.br-result-view-grid[data-view="list"] .br-saved-recipe-remove {
        top: 5px;
        right: 5px;
        width: 28px;
        height: 28px;
        font-size: .75rem;
    }
    .br-saved-recipes .br-public-recipe-grid.br-result-view-grid[data-view="list"] .br-saved-details-row {
        grid-column: 2;
        grid-row: 1;
        padding: 8px 14px 8px 12px;
    }
    .br-saved-recipes .br-saved-details-row > * { min-width: 0; }
    .br-saved-recipes .br-saved-details-recipe {
        display: grid;
        gap: 3px;
        align-content: center;
        min-width: 0;
    }
    .br-saved-recipes .br-saved-details-title {
        font-size: .88rem;
        line-height: 1.2;
        font-weight: 850;
        color: #103d30;
        text-decoration: none;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .br-saved-recipes .br-saved-details-title:hover,
    .br-saved-recipes .br-saved-details-byline a:hover {
        color: #2a7453;
        text-decoration: underline;
    }
    .br-saved-recipes .br-saved-details-byline {
        font-size: .72rem;
        color: #6b7e75;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .br-saved-recipes .br-saved-details-byline a {
        color: #365e4b;
        text-decoration: none;
        font-weight: 700;
    }
    .br-saved-recipes .br-saved-details-description {
        font-size: .7rem;
        color: #74847b;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }
    .br-saved-recipes .br-saved-details-categories {
        display: flex;
        flex-wrap: wrap;
        align-content: center;
        gap: 4px;
        overflow: hidden;
        max-height: 52px;
    }
    .br-saved-recipes .br-saved-details-chip,
    .br-saved-recipes .br-saved-details-status {
        display: inline-block;
        max-width: 100%;
        padding: 4px 7px;
        border-radius: 999px;
        background: #ebf3e9;
        color: #315843;
        font-size: .67rem;
        line-height: 1.2;
        font-weight: 750;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .br-saved-recipes .br-saved-details-tag {
        color: #536b53;
        background: #f3f5ed;
    }
    .br-saved-recipes .br-saved-details-status.is-draft {
        color: #8d652b;
        background: #fff2db;
    }
    .br-saved-recipes :is(.br-saved-details-value, .br-saved-details-date) {
        font-size: .77rem;
        color: #344d40;
        font-weight: 650;
        text-align: center;
        white-space: nowrap;
    }
    .br-saved-recipes .br-saved-details-nutrition { font-weight: 850; }
    .br-saved-recipes .br-saved-details-date { font-size: .7rem; color: #76847c; }
    .br-saved-recipes .br-saved-details-empty { color: #8e9a92; }
}


/* My Recipes: place List/Details actions at the trailing edge on mobile and
   tablet. Wide desktop Details already aligns the menu on the right. */
@media (max-width: 1279.98px) {
    .br-recipe-library-grid[data-view="list"] > .br-library-card {
        position: relative;
    }

    .br-recipe-library-grid[data-view="list"] > .br-library-card > .br-library-card-menu {
        left: auto;
        right: 7px;
        top: 7px;
        transform: none;
    }

    .br-recipe-library-grid[data-view="list"] > .br-library-card > .br-library-card-body > h2 {
        padding-right: 32px;
    }
}
