/* MEMBER_DINING_DETAIL_V7_PRODUCT_LAYOUT
   Rebuild detail page with isolated v7 class names to avoid old dining/detail CSS conflicts. */

.dining-detail-v7-shell.solo-dining-shell {
    width: min(1240px, calc(100% - 48px)) !important;
    max-width: min(1240px, calc(100vw - 48px)) !important;
    margin: 0 auto !important;
    padding-bottom: 88px !important;
    overflow-x: clip !important;
    color: #213f3a !important;
}

.dining-detail-v7-shell,
.dining-detail-v7-shell * {
    box-sizing: border-box !important;
}

.dining-detail-v7-shell a {
    text-decoration: none !important;
}

.dining-detail-v7-shell .detail-v7-topbar {
    min-height: 68px !important;
    gap: 20px !important;
    overflow: visible !important;
}

.dining-detail-v7-shell .dining-brand {
    flex: 0 0 auto !important;
    font-size: 31px !important;
}

.dining-detail-v7-shell .dining-brand small {
    margin-left: 10px !important;
    font-size: 11px !important;
}

.dining-detail-v7-shell .dining-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: clamp(18px, 2vw, 28px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    white-space: nowrap !important;
}

.dining-detail-v7-shell .dining-menu::-webkit-scrollbar {
    display: none !important;
}

.dining-detail-v7-shell .dining-menu a {
    flex: 0 0 auto !important;
    padding: 23px 0 19px !important;
    font-size: 14px !important;
}

.dining-detail-v7-shell .dining-menu a.active::after,
.dining-detail-v7-shell .dining-menu a:hover::after {
    bottom: 12px !important;
}

.detail-v7-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 22px !important;
    align-items: stretch !important;
    margin: 24px 0 22px !important;
    padding: 22px !important;
    border: 1px solid rgba(221, 204, 181, .88) !important;
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 225, 184, .44), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(230, 245, 240, .8), transparent 32%),
        linear-gradient(135deg, rgba(255, 253, 248, .98), rgba(249, 241, 230, .94)) !important;
    box-shadow: 0 22px 52px rgba(87, 63, 36, .08) !important;
}

.detail-v7-copy,
.detail-v7-media-card,
.detail-v7-panel,
.detail-v7-related-section {
    border: 1px solid rgba(221, 204, 181, .86) !important;
    background: rgba(255, 252, 247, .96) !important;
    box-shadow: 0 14px 34px rgba(87, 63, 36, .065) !important;
}

.detail-v7-copy {
    min-width: 0 !important;
    padding: 28px !important;
    border-radius: 24px !important;
}

.detail-v7-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    margin-bottom: 18px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(221, 204, 181, .88) !important;
    border-radius: 999px !important;
    background: #fffaf4 !important;
    color: #62574e !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.detail-v7-kicker,
.detail-v7-section-title p,
.detail-v7-related-heading p {
    margin: 0 0 8px !important;
    color: #d76552 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.detail-v7-title-line {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 86px !important;
    gap: 18px !important;
    align-items: start !important;
}

.detail-v7-title-line h1 {
    margin: 0 !important;
    color: #203f3a !important;
    font-family: "Noto Serif TC", serif !important;
    font-size: clamp(34px, 4vw, 50px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.03em !important;
}

.detail-v7-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 10px 0 0 !important;
    color: #62584f !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.detail-v7-rating {
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    min-height: 82px !important;
    padding: 10px 8px !important;
    border: 1px solid rgba(229, 196, 138, .78) !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, #fff7e4, #fff1e7) !important;
}

.detail-v7-rating b {
    color: #e2a139 !important;
    font-size: 25px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.detail-v7-rating b::before {
    content: "★ " !important;
    font-size: 16px !important;
}

.detail-v7-rating span {
    margin-top: 4px !important;
    color: #70665d !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.detail-v7-description {
    max-width: 720px !important;
    margin: 17px 0 16px !important;
    color: #514b46 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.85 !important;
}

.detail-v7-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 17px !important;
}

.detail-v7-tags span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #f6eee5 !important;
    color: #71675d !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.detail-v7-tags span:first-child {
    color: #fff !important;
    background: linear-gradient(135deg, #ef806a, #eb6e5b) !important;
}

.detail-v7-info-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 18px !important;
}

.detail-v7-info-grid article {
    min-width: 0 !important;
    min-height: 76px !important;
    padding: 13px 14px !important;
    border: 1px solid rgba(221, 204, 181, .72) !important;
    border-radius: 17px !important;
    background: rgba(255, 248, 239, .9) !important;
}

.detail-v7-info-grid small {
    display: block !important;
    margin-bottom: 5px !important;
    color: #ad7761 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}

.detail-v7-info-grid strong {
    display: block !important;
    overflow-wrap: anywhere !important;
    color: #282f31 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

.detail-v7-action-row {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 9px !important;
}

.detail-v7-action-row button,
.detail-v7-action-row a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}

.detail-v7-action-row button:hover,
.detail-v7-action-row a:hover,
.detail-v7-related-grid a:hover,
.detail-v7-back:hover {
    transform: translateY(-1px) !important;
}

.dining-detail-v7-shell .detail-save-btn {
    border: 1px solid rgba(47, 124, 120, .32) !important;
    color: #26706a !important;
    background: #edf8f5 !important;
}

.dining-detail-v7-shell .detail-save-btn.saved {
    color: #fff !important;
    background: linear-gradient(135deg, #2f8c84, #246a63) !important;
    border-color: #2f8c84 !important;
}

.dining-detail-v7-shell .detail-primary-btn {
    color: #fff !important;
    border: 1px solid rgba(235, 113, 91, .55) !important;
    background: linear-gradient(135deg, #f18773, #ec705d) !important;
    box-shadow: 0 12px 24px rgba(235, 113, 91, .20) !important;
}

.dining-detail-v7-shell .detail-soft-btn {
    color: #236b65 !important;
    border: 1px solid rgba(47, 124, 120, .28) !important;
    background: #f4fbf8 !important;
}

.detail-v7-media-card {
    position: relative !important;
    overflow: hidden !important;
    min-width: 0 !important;
    border-radius: 24px !important;
    background: #efe5d8 !important;
}

.detail-v7-media-card img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 360px !important;
    object-fit: cover !important;
    object-position: center !important;
}

.detail-v7-media-card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, transparent 45%, rgba(31, 25, 18, .52) 100%) !important;
    pointer-events: none !important;
}

.detail-v7-photo-copy {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    z-index: 1 !important;
    padding: 15px 16px !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(35, 95, 89, .9), rgba(225, 106, 84, .84)) !important;
    color: #fff !important;
    backdrop-filter: blur(14px) !important;
}

.detail-v7-photo-copy strong {
    display: block !important;
    margin-bottom: 5px !important;
    font-family: "Noto Serif TC", serif !important;
    font-size: 18px !important;
    line-height: 1.32 !important;
}

.detail-v7-photo-copy p {
    display: -webkit-box !important;
    overflow: hidden !important;
    margin: 0 !important;
    color: rgba(255,255,255,.92) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.55 !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
}

.detail-v7-feature-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 22px !important;
    margin-bottom: 22px !important;
}

.detail-v7-feature-grid.bottom {
    grid-template-columns: minmax(0, 1fr) 360px !important;
}

.detail-v7-panel {
    min-width: 0 !important;
    border-radius: 26px !important;
    padding: 22px !important;
}

.detail-v7-section-title h2,
.detail-v7-related-heading h2 {
    margin: 0 !important;
    color: #122d3e !important;
    font-family: "Noto Serif TC", serif !important;
    font-size: 27px !important;
    line-height: 1.18 !important;
    letter-spacing: -.03em !important;
}

.detail-v7-menu-grid,
.detail-v7-environment-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 16px !important;
}

.detail-v7-menu-grid article,
.detail-v7-environment-grid article {
    min-width: 0 !important;
    min-height: 132px !important;
    padding: 16px !important;
    border: 1px solid rgba(221, 204, 181, .78) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, #fff8ef, #fffdf8) !important;
}

.detail-v7-menu-grid span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 26px !important;
    margin-bottom: 13px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    color: #2f817a !important;
    background: #e9f6f1 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.detail-v7-menu-grid h3,
.detail-v7-environment-grid h3,
.detail-v7-map-panel h3 {
    margin: 0 0 7px !important;
    color: #1f3539 !important;
    font-size: 16px !important;
    line-height: 1.42 !important;
    font-weight: 900 !important;
}

.detail-v7-menu-grid p,
.detail-v7-environment-grid p,
.detail-v7-map-panel p,
.detail-v7-solo-panel p {
    margin: 0 !important;
    color: #635a51 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.7 !important;
}

.detail-v7-menu-stock {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-top: 13px !important;
    padding: 11px 12px !important;
    border: 1px solid rgba(221, 204, 181, .88) !important;
    border-radius: 14px !important;
    background: #fffaf4 !important;
}

.detail-v7-menu-stock small {
    color: #9a6a4f !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.detail-v7-menu-stock strong {
    color: #2f817a !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.detail-v7-solo-panel {
    color: #fff !important;
    border: 0 !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(255,255,255,.16), transparent 34%),
        linear-gradient(145deg, #2f8c84, #286f69) !important;
}

.detail-v7-solo-panel .detail-v7-section-title p,
.detail-v7-section-title.light p {
    color: rgba(255,255,255,.78) !important;
}

.detail-v7-solo-panel h2 {
    color: #fff !important;
}

.detail-v7-solo-panel p {
    color: rgba(255,255,255,.9) !important;
}

.detail-v7-solo-icon {
    display: grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 46px !important;
    margin-bottom: 16px !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.15) !important;
    color: #fff !important;
    font-size: 22px !important;
}

.detail-v7-solo-panel ul {
    display: grid !important;
    gap: 8px !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.detail-v7-solo-panel li {
    padding: 10px 12px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.13) !important;
    color: rgba(255,255,255,.94) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

.detail-v7-environment-grid article {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 12px !important;
    min-height: 120px !important;
}

.detail-v7-environment-grid article > span {
    display: grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 13px !important;
    color: #fff !important;
    background: #2f8c84 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.detail-v7-map-panel {
    padding: 14px 14px 18px !important;
}

.detail-v7-map-image {
    position: relative !important;
    overflow: hidden !important;
    height: 170px !important;
    margin-bottom: 14px !important;
    border: 1px solid rgba(221, 204, 181, .78) !important;
    border-radius: 20px !important;
    background: #efe5d8 !important;
}

.detail-v7-map-image img,
.detail-v7-map-image iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    object-fit: cover !important;
}

.detail-v7-map-image span {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: rgba(255,252,247,.95) !important;
    color: #2f817a !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.detail-v7-related-section {
    margin: 0 0 28px !important;
    padding: 22px !important;
    border-radius: 26px !important;
}

.detail-v7-related-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
}

.detail-v7-related-heading > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(221, 204, 181, .88) !important;
    border-radius: 999px !important;
    color: #236b65 !important;
    background: #fffaf4 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.detail-v7-related-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.detail-v7-related-grid article {
    overflow: hidden !important;
    min-width: 0 !important;
    border: 1px solid rgba(221, 204, 181, .82) !important;
    border-radius: 20px !important;
    background: #fffdf8 !important;
}

.detail-v7-related-grid img {
    display: block !important;
    width: 100% !important;
    height: 150px !important;
    object-fit: cover !important;
    object-position: center !important;
}

.detail-v7-related-grid article > div {
    padding: 15px 16px 16px !important;
}

.detail-v7-related-grid span {
    color: #df6e59 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.detail-v7-related-grid h3 {
    display: -webkit-box !important;
    overflow: hidden !important;
    margin: 6px 0 7px !important;
    color: #1f3539 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.34 !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

.detail-v7-related-grid p {
    margin: 0 0 12px !important;
    color: #625a51 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.detail-v7-related-grid a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 32px !important;
    padding: 0 13px !important;
    border: 1px solid rgba(47, 124, 120, .28) !important;
    border-radius: 999px !important;
    color: #236b65 !important;
    background: #f4fbf8 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

@media (max-width: 1120px) {
    .dining-detail-v7-shell.solo-dining-shell {
        width: min(100%, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;
    }

    .detail-v7-hero,
    .detail-v7-feature-grid,
    .detail-v7-feature-grid.bottom {
        grid-template-columns: 1fr !important;
    }

    .detail-v7-media-card img {
        height: 300px !important;
        min-height: 300px !important;
    }

    .detail-v7-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    .dining-detail-v7-shell.solo-dining-shell {
        width: min(100%, calc(100vw - 20px)) !important;
        max-width: calc(100vw - 20px) !important;
        padding-bottom: 94px !important;
    }

    .dining-detail-v7-shell .dining-brand small {
        display: none !important;
    }

    .dining-detail-v7-shell .detail-v7-topbar {
        min-height: 64px !important;
    }

    .dining-detail-v7-shell .dining-menu {
        gap: 18px !important;
    }

    .dining-detail-v7-shell .dining-menu a {
        padding-top: 22px !important;
        padding-bottom: 18px !important;
    }

    .detail-v7-hero {
        margin-top: 14px !important;
        padding: 14px !important;
        border-radius: 24px !important;
    }

    .detail-v7-copy,
    .detail-v7-panel,
    .detail-v7-related-section {
        padding: 18px !important;
        border-radius: 22px !important;
    }

    .detail-v7-title-line {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .detail-v7-title-line h1 {
        font-size: 31px !important;
    }

    .detail-v7-rating {
        display: flex !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        width: 100% !important;
        min-height: 56px !important;
        padding: 0 14px !important;
    }

    .detail-v7-info-grid,
    .detail-v7-action-row,
    .detail-v7-menu-grid,
    .detail-v7-environment-grid,
    .detail-v7-related-grid {
        grid-template-columns: 1fr !important;
    }

    .detail-v7-action-row button,
    .detail-v7-action-row a {
        min-height: 42px !important;
    }

    .detail-v7-media-card img {
        height: 240px !important;
        min-height: 240px !important;
    }

    .detail-v7-photo-copy {
        display: none !important;
    }

    .detail-v7-related-grid article {
        display: grid !important;
        grid-template-columns: 112px minmax(0, 1fr) !important;
    }

    .detail-v7-related-grid img {
        width: 112px !important;
        height: 100% !important;
        min-height: 132px !important;
    }

    .detail-v7-related-grid article > div {
        padding: 13px !important;
    }
}

@media (max-width: 520px) {
    .detail-v7-meta {
        font-size: 12px !important;
    }

    .detail-v7-description {
        font-size: 13px !important;
    }

    .detail-v7-info-grid {
        grid-template-columns: 1fr !important;
    }

    .detail-v7-related-heading {
        align-items: flex-start !important;
    }

    .detail-v7-related-heading h2 {
        font-size: 24px !important;
    }

    .detail-v7-related-grid article {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }

    .detail-v7-related-grid img {
        width: 96px !important;
        min-height: 124px !important;
    }

    .detail-v7-related-grid h3 {
        font-size: 15px !important;
    }
}

/* 商家後台餐點同步後的會員端餐點區塊：避免單一餐點撐出大片空白 */
.detail-v7-feature-grid {
    align-items: start !important;
}

.detail-v7-menu-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 280px)) !important;
    justify-content: start !important;
    align-items: start !important;
}

.detail-v7-menu-grid .detail-v7-menu-item-card {
    overflow: hidden !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.detail-v7-menu-grid .detail-v7-menu-item-card img {
    display: block !important;
    width: 100% !important;
    height: 140px !important;
    object-fit: cover !important;
}

.detail-v7-menu-body {
    padding: 15px 16px 17px !important;
}

.detail-v7-menu-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}

.detail-v7-menu-grid .detail-v7-menu-badges span {
    margin: 0 !important;
}

.detail-v7-menu-grid .detail-v7-menu-item-card:only-child {
    max-width: 320px !important;
}

/* 會員端餐廳詳情：商家方案同步顯示 */
.detail-v7-meal-plan-section {
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.detail-v7-meal-plan-heading {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    gap: 18px !important;
    max-width: 820px !important;
    margin-bottom: 16px !important;
}

.detail-v7-meal-plan-heading p {
    margin: 0 0 8px !important;
    color: #d76552 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .18em !important;
}

.detail-v7-meal-plan-heading h2 {
    margin: 0 !important;
    color: #122d3e !important;
    font-family: "Noto Serif TC", serif !important;
    font-size: clamp(28px, 3vw, 38px) !important;
    line-height: 1.15 !important;
}

.detail-v7-meal-plan-heading span {
    display: block !important;
    margin-top: 8px !important;
    color: #6b6259 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.detail-v7-meal-plan-heading > a,
.detail-v7-plan-reserve {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(235, 113, 91, .48) !important;
    background: linear-gradient(135deg, #f18773, #ec705d) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    box-shadow: 0 12px 24px rgba(235, 113, 91, .18) !important;
}

.detail-v7-meal-plan-empty {
    display: grid !important;
    place-items: center !important;
    min-height: 150px !important;
    padding: 28px !important;
    border: 1px dashed rgba(221, 204, 181, .98) !important;
    border-radius: 22px !important;
    background: #fffaf4 !important;
    text-align: center !important;
}

.detail-v7-meal-plan-empty strong {
    color: #122d3e !important;
    font-size: 24px !important;
    font-weight: 900 !important;
}

.detail-v7-meal-plan-empty span {
    margin-top: 8px !important;
    color: #71675d !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.detail-v7-meal-plan-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 820px) !important;
    gap: 16px !important;
}

.detail-v7-meal-plan-card {
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr) !important;
    min-width: 0 !important;
    border: 1px solid rgba(221, 204, 181, .86) !important;
    border-radius: 24px !important;
    background: linear-gradient(145deg, #fffdf9, #fff8ef) !important;
    box-shadow: 0 14px 28px rgba(87, 63, 36, .06) !important;
}

.detail-v7-meal-plan-card.featured {
    border-color: rgba(47, 140, 132, .36) !important;
    box-shadow: 0 18px 34px rgba(47, 140, 132, .12) !important;
}

.detail-v7-meal-plan-photo {
    position: relative !important;
    min-height: 100% !important;
    background: #efe5d8 !important;
}

.detail-v7-meal-plan-photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 280px !important;
    object-fit: cover !important;
    object-position: center !important;
}

.detail-v7-meal-plan-photo span {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    min-height: 32px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    background: rgba(47, 140, 132, .95) !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.detail-v7-meal-plan-body {
    min-width: 0 !important;
    padding: 20px !important;
}

.detail-v7-meal-plan-topline {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 8px !important;
}

.detail-v7-meal-plan-topline small {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    background: #fff0eb !important;
    color: #df6e59 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.detail-v7-meal-plan-topline strong {
    color: #2f8c84 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.detail-v7-meal-plan-body h3 {
    margin: 0 0 8px !important;
    color: #122d3e !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.28 !important;
}

.detail-v7-meal-plan-body p {
    margin: 0 0 14px !important;
    color: #5e564f !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.6 !important;
}

.detail-v7-meal-plan-meta {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
}

.detail-v7-meal-plan-meta div {
    min-width: 0 !important;
    padding: 12px !important;
    border: 1px solid rgba(221, 204, 181, .72) !important;
    border-radius: 16px !important;
    background: rgba(255, 248, 239, .92) !important;
}

.detail-v7-meal-plan-meta span {
    display: block !important;
    margin-bottom: 4px !important;
    color: #ad7761 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.detail-v7-meal-plan-meta b,
.detail-v7-meal-plan-meta em {
    color: #203f3a !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
    font-style: normal !important;
}

.detail-v7-meal-plan-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
}

.detail-v7-meal-plan-tags span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    background: #f6eee5 !important;
    color: #71675d !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.detail-v7-meal-plan-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.detail-v7-plan-reserve.muted {
    color: #236b65 !important;
    border-color: rgba(47, 124, 120, .28) !important;
    background: #f4fbf8 !important;
    box-shadow: none !important;
}

@media (max-width: 1180px) {
    .detail-v7-meal-plan-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .detail-v7-meal-plan-section {
        padding: 0 !important;
        border-radius: 0 !important;
    }

    .detail-v7-meal-plan-heading {
        display: grid !important;
        align-items: start !important;
    }

    .detail-v7-meal-plan-card {
        grid-template-columns: 1fr !important;
    }

    .detail-v7-meal-plan-photo img {
        min-height: 210px !important;
        height: 210px !important;
    }

    .detail-v7-meal-plan-meta {
        grid-template-columns: 1fr !important;
    }
}
