/** * MeatFresh pack — light surfaces scoped to customer + bulk-buyer SPAs. * Relies on ThemeService CSS variables (--color-primary, --color-bg, etc.). */ #customer-app, #bulk-buyer-app { --mf-radius: 12px; --mf-radius-lg: 16px; --mf-border: color-mix(in srgb, var(--color-muted) 28%, transparent); --mf-shadow: 0 1px 3px rgb(0 0 0 / 0.06), 0 8px 24px rgb(0 0 0 / 0.06); } /* Replace dark glass shell with flat light MeatFresh */ #customer-app, #bulk-buyer-app { background-color: var(--color-bg) !important; background-image: none !important; background-attachment: scroll !important; } #customer-app .customer-card, #customer-app .delivery-card, #bulk-buyer-app .customer-card, #bulk-buyer-app .delivery-card { border: 1px solid var(--mf-border); background: var(--color-surface) !important; backdrop-filter: none !important; box-shadow: var(--mf-shadow) !important; } #customer-app .customer-surface-row, #customer-app .delivery-surface-row, #bulk-buyer-app .customer-surface-row, #bulk-buyer-app .delivery-surface-row { background: color-mix(in srgb, var(--color-surface) 95%, var(--color-bg)) !important; border-color: var(--mf-border) !important; } #customer-app .customer-header-bar, #bulk-buyer-app .customer-header-bar { background: #c62828 !important; color: #fff !important; border-bottom: none !important; box-shadow: 0 2px 8px rgb(0 0 0 / 0.12); } #customer-app .customer-header-bar .customer-text-body, #customer-app .customer-header-bar .customer-text-muted, #customer-app .customer-header-bar .customer-link, #bulk-buyer-app .customer-header-bar .customer-text-body, #bulk-buyer-app .customer-header-bar .customer-text-muted, #bulk-buyer-app .customer-header-bar .customer-link { color: rgba(255, 255, 255, 0.92) !important; } #customer-app .customer-header-bar .customer-link:hover, #bulk-buyer-app .customer-header-bar .customer-link:hover { color: #fff !important; } #customer-app .customer-logo-fallback, #bulk-buyer-app .customer-logo-fallback { background: rgba(255, 255, 255, 0.18) !important; color: #fff !important; box-shadow: none !important; } #customer-app .customer-nav-bar, #bulk-buyer-app .customer-nav-bar { background: var(--color-surface) !important; border-top: 1px solid var(--mf-border) !important; box-shadow: 0 -4px 16px rgb(0 0 0 / 0.06); } #customer-app .customer-alert-success, #bulk-buyer-app .customer-alert-success { border-color: rgb(22 163 74 / 0.35); background: rgb(22 163 74 / 0.08); color: rgb(22 101 52); } #customer-app .customer-alert-error, #bulk-buyer-app .customer-alert-error { border-color: rgb(220 38 38 / 0.35); background: rgb(220 38 38 / 0.08); color: rgb(153 27 27); } /* --- Marketing home (Vue) — aligned with resources/html-pages-theme --- */ #customer-app .mf-theme-main { padding-top: 0; } /* Site header (HTML .site-header) */ #customer-app .mf-site-header { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.65rem 0 1rem; margin-bottom: 0.25rem; background: var(--color-bg); } #customer-app .mf-brand { display: flex; align-items: center; gap: 0.65rem; min-width: 0; } #customer-app .mf-brand__logo { flex-shrink: 0; width: 2.25rem; height: 2.25rem; border-radius: 999px; object-fit: contain; background: var(--color-surface); border: 1px solid var(--mf-border); } #customer-app .mf-brand__mark { flex-shrink: 0; width: 2.25rem; height: 2.25rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 800; background: var(--color-primary); color: var(--color-primary-contrast); } #customer-app .mf-brand__text { min-width: 0; } #customer-app .mf-brand__text strong { display: block; font-size: 1rem; font-weight: 800; color: var(--color-text); line-height: 1.2; } #customer-app .mf-brand__text small { display: block; margin-top: 0.1rem; font-size: 0.7rem; font-weight: 500; color: var(--color-muted); } #customer-app .mf-header-actions { display: flex; align-items: center; gap: 0.45rem; } #customer-app .mf-icon-circle { width: 2.75rem; height: 2.75rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: var(--color-surface); border: 1px solid var(--mf-border); color: var(--color-text); box-shadow: 0 1px 2px rgb(0 0 0 / 0.05); } #customer-app .mf-icon-circle:hover { border-color: rgb(var(--color-primary-rgb) / 0.35); color: var(--color-primary); } /* Hero overlay (HTML .hero) */ #customer-app .mf-hero--overlay { position: relative; min-height: 200px; border-radius: 0 0 var(--mf-radius-lg) var(--mf-radius-lg); overflow: hidden; margin: 0 0 1rem; border: none; background: linear-gradient(135deg, #3f1d1d 0%, #7f1d1d 40%, #451a1a 100%); box-shadow: var(--mf-shadow); } #customer-app .mf-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.55; } #customer-app .mf-hero__content { position: relative; padding: 1.35rem 1.1rem 1.5rem; color: #fff; } #customer-app .mf-badge-pill { display: inline-block; font-size: 0.75rem; font-weight: 600; padding: 0.25rem 0.65rem; border-radius: 999px; background: #22c55e; color: #fff; margin-bottom: 0.65rem; } #customer-app .mf-hero__title { margin: 0; font-size: 1.5rem; font-weight: 800; line-height: 1.2; } #customer-app .mf-hero__sub { margin: 0.45rem 0 0; opacity: 0.95; font-size: 0.9375rem; line-height: 1.35; } #customer-app .mf-hero__cta { margin: 1rem 0 0; } #customer-app .mf-btn-shop-now { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 1.35rem; border: none; border-radius: var(--mf-radius); font-weight: 700; font-size: 1rem; cursor: pointer; background: var(--color-primary); color: var(--color-primary-contrast); box-shadow: 0 10px 25px -5px rgb(var(--color-primary-rgb) / 0.25); } #customer-app .mf-search-row { display: flex; gap: 0.5rem; align-items: stretch; padding-bottom: 0.25rem; } #customer-app .mf-search-field { flex: 1; min-width: 0; display: flex; align-items: center; gap: 0.5rem; padding: 0 0.75rem; min-height: 48px; border-radius: var(--mf-radius); border: 1px solid var(--mf-border); background: var(--color-surface); box-shadow: 0 1px 2px rgb(0 0 0 / 0.04); } #customer-app .mf-search-field__icon { flex-shrink: 0; color: var(--color-muted); } #customer-app .mf-search-field input { flex: 1; min-width: 0; border: none; background: transparent; font-size: 0.875rem; color: var(--color-text); outline: none; } #customer-app .mf-search-field input::placeholder { color: var(--color-muted); } #customer-app .mf-schedule-btn { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem; padding: 0 0.85rem; min-height: 48px; white-space: nowrap; border-radius: var(--mf-radius); border: 1px solid var(--mf-border); background: var(--color-surface); font-size: 0.8125rem; font-weight: 600; color: var(--color-text); cursor: pointer; box-shadow: 0 1px 2px rgb(0 0 0 / 0.04); } #customer-app .mf-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; margin: 1.15rem 0 0.55rem; } #customer-app .mf-section-head--solo { justify-content: flex-start; } #customer-app .mf-section-head h2 { margin: 0; font-size: 1rem; font-weight: 800; color: var(--color-text); } #customer-app .mf-link-more { border: none; background: transparent; padding: 0; cursor: pointer; font-size: 0.75rem; font-weight: 600; color: var(--color-primary); } #customer-app .mf-h-scroll-wrap { margin-bottom: 0.35rem; } #customer-app .mf-strip-loading { padding: 0.5rem 0 1rem; font-size: 0.8125rem; } #customer-app .mf-h-scroll { display: flex; gap: 0.65rem; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 0.5rem; scrollbar-width: thin; } #customer-app .mf-h-scroll--cats > .mf-cat-card { flex: 0 0 calc((100% - 2 * 0.65rem) / 3); min-width: 104px; } #customer-app .mf-h-scroll--products > .mf-product-card-tile { flex: 0 0 calc((100% - 2 * 0.65rem) / 3); min-width: 118px; scroll-snap-align: start; } #customer-app .mf-cat-card { scroll-snap-align: start; border-radius: var(--mf-radius); border: 1px solid var(--mf-border); background: var(--color-surface); padding: 0.5rem; text-align: center; box-shadow: var(--mf-shadow); text-decoration: none; color: inherit; } #customer-app .mf-cat-card__photo { width: 100%; aspect-ratio: 1; border-radius: 10px; object-fit: cover; background: color-mix(in srgb, var(--color-muted) 12%, transparent); } #customer-app .mf-cat-card__photo--fallback { display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 800; color: #fff; background: linear-gradient(145deg, #57534e, #1c1917); } #customer-app .mf-cat-card__title { display: block; margin-top: 0.45rem; font-size: 0.875rem; font-weight: 700; color: var(--color-text); } #customer-app .mf-cat-card__meta { display: block; margin-top: 0.15rem; font-size: 0.75rem; color: var(--color-muted); } /* Product tiles — HTML .product-card--tile */ #customer-app .mf-product-card-tile { display: flex; flex-direction: column; border-radius: var(--mf-radius); border: 1px solid var(--mf-border); background: var(--color-surface); overflow: hidden; box-shadow: 0 1px 3px rgb(0 0 0 / 0.06); } #customer-app .mf-product-card-tile__img-wrap { position: relative; cursor: pointer; aspect-ratio: 4 / 3; overflow: hidden; } #customer-app .mf-product-card-tile__img { width: 100%; height: 100%; object-fit: cover; } #customer-app .mf-product-card-tile__img--placeholder { background: color-mix(in srgb, var(--color-muted) 18%, var(--color-bg)); } #customer-app .mf-badge-tl, #customer-app .mf-badge-tr { position: absolute; top: 0.35rem; z-index: 1; font-size: 0.5625rem; font-weight: 700; letter-spacing: 0.02em; padding: 0.2rem 0.45rem; border-radius: 6px; background: #22c55e; color: #fff; max-width: calc(100% - 0.5rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } #customer-app .mf-badge-tl { left: 0.35rem; } #customer-app .mf-badge-tr { right: 0.35rem; left: auto; } #customer-app .mf-product-card-tile__body { flex: 1; display: flex; flex-direction: column; padding: 0.55rem 0.55rem 0.45rem; min-height: 108px; } #customer-app .mf-product-card-tile__title { margin: 0; font-size: 0.8125rem; font-weight: 700; line-height: 1.35; color: var(--color-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; cursor: pointer; } #customer-app .mf-product-card-tile__footer { position: relative; margin-top: auto; padding-top: 0.45rem; padding-right: 2.85rem; min-height: 2.75rem; } #customer-app .mf-price-stack { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; } #customer-app .mf-price { font-size: 1rem; font-weight: 700; color: var(--color-primary); line-height: 1.2; } #customer-app .mf-unit { font-size: 0.6875rem; color: var(--color-muted); } #customer-app .mf-btn-add { position: absolute; right: 0; bottom: 0; width: 40px; height: 40px; padding: 0; border-radius: 10px; border: none; font-size: 1.375rem; font-weight: 600; line-height: 1; cursor: pointer; background: var(--color-primary); color: var(--color-primary-contrast); } #customer-app .mf-btn-add:disabled { opacity: 0.45; cursor: not-allowed; } #customer-app .mf-stepper-compact { position: absolute; right: 0; bottom: 0; display: flex; align-items: center; gap: 0.25rem; font-size: 0.75rem; font-weight: 700; } #customer-app .mf-stepper-compact button { width: 1.5rem; height: 1.5rem; border-radius: 999px; border: 1px solid var(--mf-border); background: var(--color-surface); color: var(--color-text); cursor: pointer; line-height: 1; } #customer-app .mf-nearby-card { margin-top: 1.5rem; } /* Cart / nested rows — swap slate blues for theme-aware surfaces */ #customer-app .mf-line-row, #bulk-buyer-app .mf-line-row { border-color: var(--mf-border) !important; background: color-mix(in srgb, var(--color-bg) 65%, var(--color-surface)) !important; } #customer-app .mf-store-group, #bulk-buyer-app .mf-store-group { border-color: var(--mf-border) !important; background: color-mix(in srgb, var(--color-surface) 92%, var(--color-bg)) !important; } /* Bulk buyer: status chips readable on light bg */ #bulk-buyer-app .bg-emerald-500\/20 { background: rgb(22 163 74 / 0.12) !important; color: rgb(21 128 61) !important; } #bulk-buyer-app .text-emerald-300 { color: rgb(21 128 61) !important; } #bulk-buyer-app .bg-amber-500\/20 { background: rgb(217 119 6 / 0.15) !important; } #bulk-buyer-app .text-amber-300 { color: rgb(180 83 9) !important; } #bulk-buyer-app .text-slate-400 { color: var(--color-muted) !important; }