/* Consumer layout: service access, order visibility and touch targets. */
:root { --ink:#252823; --muted:#64665c; --line:#e5e4dc; --green:#292d25; --accent:#f1c64b; --cream:#f8f7f2; --red:#a54334; }
body { line-height:1.5; }
.brand { display:flex; align-items:center; gap:9px; color:var(--ink); letter-spacing:-1.8px; font-size:32px; }
.brand-dot { color:#b8891e; }
.bee-mark { width:34px; height:34px; flex-shrink:0; color:#292d25; }
.home-mark .bee-mark { width:49px; height:49px; }
.tagline { letter-spacing:.5px; font-size:10px; margin-left:0; white-space:normal; line-height:1.7; color:#777467; }
.topbar { background:var(--cream); }
.mobile-brand { display:none; }
.eyebrow { color:#807143; }
.chip { background:#f5f1e5; border-color:#e8e2cf; color:#685e44; }
.sidebar-bottom { background:#f5f0e1; }
.dot { background:#a58331; }
.nav button.active { background:#f6e8b8; color:var(--ink); }
.nav button:hover { background:#f5f1e3; }
.primary { background:var(--accent); color:var(--ink); }
.primary:hover { background:#e5b937; }
.secondary { background:#f3f1e9; border-color:#e5e1d3; }
.danger { background:#f9ede8; border-color:#efd8cd; color:var(--red); }
.spin { border-color:#25282340; border-top-color:#252823; }
.avatar { color:var(--ink); background:#f3e4ae; }
.field input,.field select,.field textarea { background:#faf9f5; border-color:#e5e3da; }
.pill.active { background:#30332a; border-color:#30332a; }
.outlet.active { background:#faf3dc; border-color:#baa05d; }
.qty button { background:#f5e6b4; color:var(--ink); }
.modifier { background:#f8f5eb; }
.payment,.pin-box { background:#f7f1df; border-color:#e7debf; }
.order-kind { background:#f4ecd5; }
.order-row:hover { border-color:#c4aa68; }
.ops-layout .order-row.selected { background:#faf1d5; border-color:#c2a257; }
.ops-hint { color:#655e4d; background:#f4efdf; }
.step b { background:#f4e5b5; color:#5f512b; }
.timeline-dot { background:#d8bb60; outline-color:#f1e7c7; }
.timeline-step:before { background:#e6e0cc; }
.success-badge { background:#e9eedf; color:#4d6144; }
.success-badge .dot { background:#718762; }
.stat { background:#fff; }
.basket-bar { background:#2d3028; }
.basket-bar small { color:#d9d7c8; }
.basket-bar button { color:#292d25; }
.basket-bar button { white-space:nowrap; flex-shrink:0; }
.empty { border-color:#d9d0b7; }
.empty .icon { color:#9b864f; }
#toast { background:#2d3028; }
#toast.error { background:#8b4435; }
button { touch-action:manipulation; }
button:disabled { cursor:not-allowed; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #9d7416; outline-offset:3px; }
.home-intro { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:0 0 28px; }
.home-intro h1 { font-size:40px; line-height:1.15; letter-spacing:-1.7px; margin:12px 0 9px; }
.home-intro p { margin:0; color:var(--muted); font-size:15px; }
.home-mark { display:flex; align-items:center; gap:12px; color:#6a6252; font-size:13px; }
.home-mark .icon { width:38px; height:38px; }
.home-mark strong { font-size:19px; letter-spacing:-.5px; }
.service { position:relative; display:flex; flex-direction:column; padding:22px; background:var(--service-color); border:1px solid #183c2f08; min-height:244px; border-radius:24px; }
.service-copy { position:relative; z-index:1; }
.service h2 { margin:0 0 5px; font-size:23px; line-height:1.2; letter-spacing:-.65px; }
.service p { font-size:13px; line-height:1.5; color:#645e4c; margin:0; min-height:0; max-width:160px; }
.service-art { background:none; margin:4px -4px 3px; height:115px; justify-content:flex-end; }
.service-art svg { width:156px; height:113px; }
.service-foot { margin-top:auto; gap:10px; font-size:12px; line-height:1.4; }
.service-foot .arrow { width:32px; height:32px; border:0; background:#ffffffc0; flex-shrink:0; }
.service-foot .icon { width:17px; height:17px; }
.service:hover { box-shadow:0 8px 24px #183c2f12; transform:translateY(-2px); }
.section-heading { margin:28px 0 16px; align-items:center; }
.section-heading h2 { font-size:22px; }
.count-badge { display:inline-grid; place-items:center; min-width:25px; height:25px; padding:0 6px; font-size:12px; vertical-align:middle; background:#f7e8b6; color:#6a511b; border-radius:8px; margin-left:6px; }
.text-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:13px; font-weight:650; color:var(--green); min-height:44px; min-width:44px; padding:8px 0 8px 8px; }
.active-order { display:flex; width:100%; align-items:center; gap:16px; text-align:left; background:#fff; border:1px solid var(--line); border-radius:18px; padding:19px 21px; margin-bottom:12px; }
.active-order:hover { border-color:#c3a35b; }
.active-symbol { width:50px; height:50px; display:grid; place-items:center; border-radius:15px; background:#f8edc9; color:var(--green); flex-shrink:0; }
.active-copy { display:grid; gap:4px; flex:1; min-width:0; }
.active-copy small { font-size:12px; color:var(--muted); }
.active-copy strong { font-size:16px; font-weight:700; }
.active-copy span { font-size:13px; color:var(--muted); }
.active-arrow { display:grid; place-items:center; width:40px; height:40px; color:var(--green); }
.home-assist { display:flex; gap:14px; align-items:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:27px; padding:18px 0; }
.home-assist strong { font-size:14px; }
.home-assist p { font-size:12px; margin:3px 0 0; color:var(--muted); }
.home-assist .text-button { margin-left:auto; flex-shrink:0; }
.assist-icon { display:grid; place-items:center; width:41px; height:41px; background:#f4e6ba; color:#776025; border-radius:50%; flex-shrink:0; }
.page-title p { font-size:14px; }
.field label { font-size:13px; color:#555649; }
.field input,.field select,.field textarea { font-size:15px; min-height:48px; }
.field textarea { min-height:88px; }
.back { min-height:44px; font-size:13px; align-items:center; }
.primary,.secondary { min-height:48px; font-size:14px; }
.panel p { font-size:13px; }
.small-note { font-size:12px; }
.map-caption { font-size:13px; }
.map-caption small { font-size:12px; }
.search { min-height:48px; }
.search input { font-size:15px; }
.pill { min-height:44px; font-size:13px; }
.item h3 { font-size:16px; line-height:1.4; }
.item p { font-size:13px; }
.qty { gap:10px; }
.qty button { width:44px; height:44px; border-radius:13px; font-size:23px; }
.qty span { font-size:14px; }
.outlet { min-height:100px; }
.outlet h3 { font-size:16px; }
.outlet p { font-size:13px; }
.outlet small { font-size:12px; }
.modifier { font-size:13px; min-height:44px; }
.basket-bar { bottom:20px; }
.basket-bar button { min-height:44px; font-size:13px; }
.basket-bar small { font-size:12px; }
.basket-bar strong { font-size:15px; }
.order-copy strong { font-size:14px; }
.order-copy small { font-size:12px; }
.order-end small { font-size:12px; }
.status-label { white-space:normal; max-width:180px; line-height:1.5; }
.receipt-lines .receipt-row { font-size:14px; }
.payment { font-size:13px; }
.timeline-step strong { font-size:14px; }
.timeline-step small { font-size:12px; }
.timeline { gap:22px; }
.pin-box small { font-size:12px; }
.role-tabs button { min-height:44px; font-size:13px; }
.ops-hint { font-size:13px; }
.status-negative { color:#9c352b; background:#faece7; }
.status-negative .dot { background:#bd4e40; }
.status-attention { color:#826024; background:#f7edcf; }
.status-attention .dot { background:#b08831; }
.footer { font-size:11px; }
@media(max-width:1150px) {
  .service { padding:17px; min-height:228px; }
  .service h2 { font-size:21px; }
  .service p { font-size:12px; }
  .service-art svg { width:138px; }
  .service-foot { font-size:11px; }
}
@media(max-width:900px) {
  .sidebar .brand { font-size:0; letter-spacing:0; }
  .sidebar .brand>span { display:none; }
  .sidebar .brand .bee-mark { width:37px; height:37px; }
  .service { min-height:195px; }
  .service-art { position:absolute; right:16px; bottom:33px; width:142px; height:104px; }
  .service-copy { max-width:62%; }
  .service-foot { padding-top:72px; font-size:12px; }
}
@media(max-width:600px) {
  .topbar { height:94px; padding:10px 18px; display:grid; grid-template-columns:1fr auto; gap:4px 10px; align-items:center; }
  .mobile-brand { display:flex; align-items:center; gap:7px; text-decoration:none; font-size:27px; font-weight:800; letter-spacing:-1.5px; line-height:1; }
  .mobile-brand .bee-mark { width:28px; height:28px; }
  .top-actions { grid-row:1; grid-column:2; }
  .location { grid-row:2; grid-column:1/-1; gap:7px; }
  .location .icon { width:15px; height:15px; }
  .topbar .location strong { font-size:13px; }
  .topbar .location small { display:none; }
  .avatar { width:44px; height:44px; font-size:18px; }
  .content { padding:21px 18px calc(94px + env(safe-area-inset-bottom,0px)); }
  .home-intro { margin-bottom:20px; }
  .home-intro h1 { font-size:29px; letter-spacing:-1.15px; margin:9px 0 7px; }
  .home-intro p { font-size:13px; }
  .home-intro .eyebrow { font-size:10px; letter-spacing:1.5px; }
  .home-mark { display:none; }
  .service-grid { gap:12px; }
  .service { padding:16px 14px 12px; min-height:172px; border-radius:20px; }
  .service-copy { max-width:100%; }
  .service h2 { font-size:20px; }
  .service p { font-size:12px; max-width:125px; min-height:36px; margin:0; }
  .service-art { width:108px; height:80px; right:3px; bottom:29px; opacity:1; }
  .service-art svg { width:108px; height:80px; }
  .service-foot { padding-top:59px; font-size:11px; line-height:1.3; }
  .service-foot>span:first-child { max-width:94px; }
  .service-foot .arrow { width:27px; height:27px; }
  .section-heading { margin:22px 0 11px; }
  .section-heading h2 { font-size:19px; }
  .text-button { font-size:12px; }
  .active-order { padding:15px; gap:12px; }
  .active-symbol { width:42px; height:42px; }
  .active-copy strong { font-size:15px; }
  .active-copy small { font-size:11px; }
  .active-copy span { font-size:12px; }
  .active-arrow { width:27px; }
  .home-assist { gap:12px; margin-top:22px; padding:15px 0; }
  .home-assist strong { font-size:13px; }
  .home-assist p { font-size:12px; line-height:1.5; }
  .sidebar { height:calc(70px + env(safe-area-inset-bottom,0px)); padding-bottom:env(safe-area-inset-bottom,0px); }
  .nav button { flex:1; min-height:52px; padding:9px 7px; }
  .nav button span { font-size:11px; }
  .nav .icon { width:22px; height:22px; }
  .page-title h1 { font-size:30px; line-height:1.2; }
  .page-title p { font-size:13px; }
  .panel { padding:22px 18px; }
  .field input,.field select,.field textarea { font-size:16px; }
  .field label { font-size:13px; }
  .primary,.secondary { min-height:48px; font-size:14px; }
  .item-art { height:110px; }
  .pills { flex-wrap:nowrap; overflow-x:auto; gap:8px; margin:17px -18px 22px; padding:0 18px 4px; scrollbar-width:none; }
  .pills::-webkit-scrollbar { display:none; }
  .pills .pill { flex-shrink:0; }
  .item h3 { font-size:14px; }
  .item p { font-size:12px; min-height:34px; }
  .item-bottom { flex-wrap:wrap; gap:8px; }
  .item-bottom strong { font-size:15px; }
  .qty { margin-left:auto; gap:8px; }
  .qty button { width:44px; height:44px; font-size:22px; }
  .basket-bar { bottom:calc(80px + env(safe-area-inset-bottom,0px)); padding:14px; }
  .basket-bar strong { font-size:14px; }
  .basket-bar button { font-size:13px; padding:10px 13px; }
  .basket-bar small { font-size:11px; }
  .order-row { flex-wrap:wrap; gap:11px; padding:16px; }
  .order-copy strong { font-size:13px; }
  .order-copy small { font-size:11px; }
  .order-end { margin-left:auto; }
  .order-end strong { font-size:14px; }
  .order-end .status-label { font-size:11px; max-width:130px; }
  .role-tabs button { font-size:12px; padding:10px 12px; }
  .stat small { font-size:11px; }
  .footer { font-size:10px; line-height:1.6; }
  #toast { bottom:calc(85px + env(safe-area-inset-bottom,0px)); }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Local service and catalogue artwork. */
.product-visual { display:block; width:100%; height:100%; object-fit:contain; }
.service-art .product-visual { width:174px; height:126px; }
.service-art { height:128px; margin-top:0; margin-bottom:0; }
.item-art { background:#f5f1e8!important; height:172px; }
.item-art .product-visual { width:95%; height:95%; }
.outlet>.product-visual { width:90px; height:90px; flex-shrink:0; object-fit:contain; }
.home-intro p { max-width:430px; }
@media(max-width:1150px) {
  .service-art .product-visual { width:150px; height:120px; }
}
@media(max-width:900px) {
  .service-art { height:111px; width:155px; bottom:31px; right:5px; }
  .service-art .product-visual { width:155px; height:111px; }
  .item-art { height:160px; }
}
@media(max-width:600px) {
  .service-art { width:117px; height:95px; right:2px; bottom:30px; }
  .service-art .product-visual { width:117px; height:95px; }
  .service-foot { padding-top:65px; }
  .item-art { height:133px; }
  .outlet>.product-visual { width:84px; height:84px; }
  .outlet { padding:16px 12px; gap:12px; }
}

/* Consumer discovery, saved baskets and delivery preferences. */
.address-shortcut{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 16px;text-align:left;color:var(--ink);max-width:280px}.address-shortcut small{display:block;font-size:10px;color:var(--muted)}.address-shortcut strong{display:block;font-size:12px}.address-shortcut>.icon:last-child{width:16px}.day-banner{display:flex;align-items:center;justify-content:space-between;background:#f1e5bc;border-radius:24px;padding:32px;margin-top:30px;gap:20px}.day-banner h2{font-size:29px;line-height:1.2;letter-spacing:-1px;margin:15px 0 10px}.day-banner p{font-size:14px;color:#756849;line-height:1.6;margin:0 0 20px}.day-banner>.product-visual{width:230px;height:210px;object-fit:contain;flex-shrink:0}.day-banner .primary{background:#30332a;color:#fff8e5}.section-note{font-size:12px;color:var(--muted)}.discovery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.discovery-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:21px;padding:20px;overflow:hidden;color:var(--ink)}.discovery-card>.product-visual{width:100%;height:150px;object-fit:contain;margin-bottom:15px}.discovery-card h3{font-size:18px;line-height:1.35;letter-spacing:-.5px;margin:7px 0 15px}.discovery-card small{font-size:11px;color:#998452}.discovery-card span{font-size:12px;color:var(--muted)}.discovery-card:hover{border-color:#c5aa66}.resume-basket{width:100%;display:flex;align-items:center;gap:16px;text-align:left;background:#f7efda;border:1px solid #e4d6af;border-radius:17px;padding:20px;margin-top:25px}.resume-basket span{flex:1}.resume-basket strong{font-size:15px;display:block}.resume-basket small{display:block;font-size:12px;color:#8a7a54;margin-top:4px}.basket-list{display:grid;gap:20px;max-width:760px}.saved-basket-line{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.saved-basket-line>.product-visual{width:66px;height:66px;object-fit:contain;flex-shrink:0}.saved-basket-line strong{font-size:14px}.saved-basket-line small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.basket-actions{display:flex;gap:10px;align-items:center;margin-top:20px}.basket-actions .primary{margin:0;width:auto;flex:1}.basket-actions .secondary{flex:1}.saved-addresses{display:grid;gap:9px;margin:18px 0 24px}.address-choice{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:13px;padding:13px 15px;background:#faf9f5;text-align:left}.address-choice span{flex:1}.address-choice strong{display:block;font-size:13px}.address-choice small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}.address-choice.active{border-color:#bc9d42;background:#faf0cf}.panel #profile-form{margin-top:23px}.profile-avatar{margin-bottom:18px}.profile-avatar .bee-mark{width:40px;height:40px}.panel #profile-form .field{margin-bottom:20px}.panel>.secondary.danger{width:100%;margin-top:20px}
@media(max-width:900px){.discovery-grid{grid-template-columns:1fr 1fr}.discovery-card:last-child{grid-column:1 / -1;display:flex;align-items:center;gap:20px}.discovery-card:last-child>.product-visual{width:150px;height:130px;margin:0}.home-intro{align-items:flex-start}.day-banner>.product-visual{width:190px;height:180px}}
@media(max-width:600px){.home-intro{display:block;margin-bottom:22px}.home-intro h1{font-size:32px;margin-bottom:8px}.home-intro p{font-size:13px}.address-shortcut{width:100%;max-width:none;padding:12px 14px;margin-top:20px}.address-shortcut span{flex:1}.day-banner{padding:23px;gap:12px;position:relative;overflow:hidden;min-height:250px;align-items:flex-start}.day-banner>div{position:relative;z-index:1;max-width:250px}.day-banner h2{font-size:25px;max-width:200px}.day-banner p{font-size:12px;max-width:190px}.day-banner>.product-visual{position:absolute;width:155px;height:155px;right:-35px;bottom:35px;opacity:.7}.day-banner .primary{font-size:12px;padding:12px 16px}.section-heading h2{font-size:21px}.section-note{display:none}.discovery-grid{gap:12px}.discovery-card{padding:15px}.discovery-card>.product-visual{height:115px;margin-bottom:10px}.discovery-card h3{font-size:15px;margin-bottom:9px}.discovery-card small,.discovery-card span{font-size:10px}.discovery-card:last-child>.product-visual{width:110px;height:105px}.saved-basket-line{gap:15px}.saved-basket-line>.product-visual{width:56px;height:56px}.saved-basket-line strong{font-size:13px}.basket-actions{flex-direction:column}.basket-actions button{width:100%!important}.resume-basket{padding:16px}.resume-basket strong{font-size:13px}.resume-basket small{font-size:11px}.home-assist .text-button{font-size:11px;white-space:nowrap}}
