:root{
      --bg:#f7f3ea;
      --panel:#fffdf8;
      --ink:#251b12;
      --muted:#75695d;
      --brand:#2f6f4e;
      --brand2:#f2b84b;
      --brand3:#8a3d2c;
      --line:rgba(37,27,18,.13);
      --shadow:0 18px 45px rgba(35,25,14,.16);
      --radius:22px;
      --radius-sm:14px;
      --safe-bottom: env(safe-area-inset-bottom, 0px);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:var(--ink);
      background:
        radial-gradient(circle at 18% 8%, rgba(242,184,75,.28), transparent 26rem),
        radial-gradient(circle at 88% 18%, rgba(47,111,78,.18), transparent 24rem),
        linear-gradient(180deg,#fbf7ed 0%,#f5efe3 100%);
      min-height:100vh;
    }
    button, input, select, textarea{font:inherit}
    button{cursor:pointer}
    a{color:inherit;text-decoration:none}
    .top-ribbon{
      background:#1f4d37;
      color:#fff;
      font-weight:700;
      letter-spacing:.01em;
      text-align:center;
      padding:9px 16px;
      font-size:14px;
    }
    header{
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(255,253,248,.88);
      backdrop-filter: blur(14px);
      border-bottom:1px solid var(--line);
    }
    .nav{
      max-width:1180px;
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:14px 18px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
    }
    .logo{
      width:54px;height:54px;border-radius:17px;
      display:grid;place-items:center;
      background:linear-gradient(135deg,var(--brand),#5a9a70);
      color:white;
      box-shadow:0 10px 24px rgba(47,111,78,.25);
      flex:0 0 auto;
      font-size:26px;
    }
    .brand h1{
      margin:0;font-size:21px;line-height:1.05;
    }
    .brand p{
      margin:3px 0 0;color:var(--muted);font-size:13px;font-weight:700;
    }
    .nav-actions{
      display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;
    }
    .btn{
      border:0;
      border-radius:13px;
      padding:11px 15px;
      font-weight:800;
      min-height:44px;
      transition:.16s transform,.16s box-shadow,.16s background;
    }
    .btn:hover{transform:translateY(-1px)}
    .btn.primary{background:var(--brand);color:white;box-shadow:0 10px 20px rgba(47,111,78,.22)}
    .btn.gold{background:var(--brand2);color:#311d06;box-shadow:0 10px 18px rgba(242,184,75,.25)}
    .btn.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
    .btn.dark{background:#251b12;color:#fff}
    .btn.owner-link{background:#fff;color:#251b12;border:1px solid rgba(255,255,255,.75);box-shadow:0 12px 24px rgba(0,0,0,.16)}
    .store-owner-button{background:var(--brand2);color:#311d06;min-height:38px;padding:9px 12px;border-radius:12px;box-shadow:0 10px 18px rgba(242,184,75,.22);white-space:nowrap}
    .cart-count{
      display:inline-grid;place-items:center;
      min-width:22px;height:22px;border-radius:999px;
      background:#fff;color:var(--brand);font-size:12px;margin-left:6px;padding:0 6px;
    }
    .hero{
      max-width:1180px;
      margin:26px auto 0;
      padding:0 18px 20px;
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:24px;
      align-items:stretch;
    }
    .hero-left{display:grid;gap:14px;height:100%}
    .hero-card{
      border-radius:32px;
      background:
        linear-gradient(145deg,rgba(37,27,18,.32),rgba(47,111,78,.18)),
        url('../images/tri-county-hero.jpg') center/cover;
      color:#fff;
      padding:36px;
      min-height:380px;
      height:100%;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      box-shadow:var(--shadow);
      overflow:hidden;
      position:relative;
    }
    .hero-card:after{display:none}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:rgba(255,255,255,.16);
      border:1px solid rgba(255,255,255,.24);
      border-radius:999px;
      padding:8px 12px;
      font-size:13px;
      font-weight:900;
      width:max-content;
    }
    .hero h2{
      font-size:clamp(38px,5.4vw,68px);
      line-height:.92;
      margin:24px 0 10px;
      letter-spacing:-.06em;
      max-width:720px;
      text-shadow:0 4px 18px rgba(0,0,0,.42);
    }
    .hero p{font-size:18px;line-height:1.55;max-width:650px;margin:0;color:rgba(255,255,255,.94);text-shadow:0 3px 14px rgba(0,0,0,.38)}
    .hero-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;position:relative;z-index:2}
    .chip-button{border:0;cursor:pointer;background:var(--brand2)!important;color:#311d06!important}
    .chip{
      background:rgba(255,255,255,.9);
      color:#2a1f15;
      padding:10px 13px;
      border-radius:999px;
      font-weight:900;
      font-size:13px;
      box-shadow:0 10px 18px rgba(0,0,0,.08);
    }
    .info-stack{
      display:grid;
      gap:16px;
      align-content:start;
    }
    .store-card,.deal-card,.gallery-card{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:20px;
      box-shadow:0 14px 36px rgba(35,25,14,.09);
    }
    .store-card h3,.deal-card h3,.gallery-card h3{margin:0 0 12px;font-size:22px}
    .store-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
    .store-card-head h3{margin:0}
    .detail-row{
      display:flex;gap:10px;align-items:flex-start;
      padding:10px 0;border-top:1px solid var(--line);
      color:var(--muted);font-weight:700;font-size:14px;
    }
    .detail-row:first-of-type{border-top:0}
    .deal-card{
      background:linear-gradient(135deg,#fff8e6,#fffdf8);
      border-color:rgba(242,184,75,.45);
    }

    .gallery-card{overflow:hidden;padding:16px 18px}
    .gallery-card h3{margin-bottom:9px;font-size:22px}
    .gallery-intro{display:none}
    .mini-gallery{
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      gap:8px;
      overflow:hidden;
      padding:0;
    }
    .gallery-thumb{
      min-height:0;
      height:auto;
      aspect-ratio:1 / 1;
      border-radius:11px;
      overflow:hidden;
      position:relative;
      border:1px solid rgba(37,27,18,.14);
      background:#eee;
      box-shadow:0 8px 18px rgba(35,25,14,.09);
      cursor:pointer;
    }
    .gallery-thumb:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(35,25,14,.13)}
    .gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05)}
    .gallery-thumb span{
      position:absolute;left:6px;right:6px;bottom:6px;
      color:#fff;font-size:10px;font-weight:1000;line-height:1.1;
      text-shadow:0 2px 10px rgba(0,0,0,.75);
    }
    .gallery-note{display:none}
    .deal-banner{
      border:0;
      width:100%;
      font:inherit;
      text-align:left;
      cursor:pointer;
      border-radius:18px;
      background:#2f6f4e;color:#fff;
      padding:10px;
      display:grid;
      grid-template-columns:82px 1fr auto;
      align-items:center;
      gap:12px;
      font-weight:900;
    }
    .deal-photo{width:82px;height:58px;border-radius:13px;background:center/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
    .deal-copy{display:grid;gap:3px}
    .deal-copy strong{font-size:15px;line-height:1.15}
    .deal-copy small{color:rgba(255,255,255,.82);font-weight:800}
    .deal-price{
      background:#f2b84b;color:#271805;border-radius:999px;padding:8px 11px;white-space:nowrap;
    }
    .featured-deal-trigger{transition:transform .18s ease, box-shadow .18s ease, filter .18s ease}
    .featured-deal-trigger:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(47,111,78,.22);filter:saturate(1.05)}
    .featured-deal-trigger:focus-visible{outline:3px solid rgba(242,184,75,.85);outline-offset:3px}
    .featured-deal-trigger .deal-copy small::after{content:" • Click to customize";font-weight:1000;color:rgba(255,255,255,.94)}
    .section{
      max-width:1180px;
      margin:0 auto;
      padding:26px 18px;
    }
    .section-head{
      display:flex;align-items:end;justify-content:space-between;gap:18px;
      margin:8px 0 18px;
    }
    .section-head h2{font-size:34px;margin:0;letter-spacing:-.03em}
    .section-head p{margin:4px 0 0;color:var(--muted);font-weight:700}
    .mobile-menu-toggle{display:none}
    .category-wrap{
      position:sticky;top:83px;z-index:45;
      background:rgba(247,243,234,.88);
      backdrop-filter:blur(10px);
      border-block:1px solid var(--line);
      margin:4px 0 14px;
    }
    .categories{
      max-width:1180px;margin:0 auto;
      padding:12px 18px;
      display:flex;gap:9px;
      overflow-x:auto;
      scrollbar-width:none;
    }
    .categories::-webkit-scrollbar{display:none}
    .cat-btn{
      white-space:nowrap;
      border:1px solid var(--line);
      background:#fff;
      color:#31251a;
      border-radius:13px;
      padding:10px 13px;
      font-weight:900;
      min-height:42px;
    }
    .cat-btn.active,.cat-btn:hover{background:#2f6f4e;color:#fff;border-color:#2f6f4e}
    .grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
    }
    .item{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:22px;
      overflow:hidden;
      box-shadow:0 10px 24px rgba(35,25,14,.08);
      display:flex;flex-direction:column;
      min-height:100%;
    }
    .item-img{
      height:178px;
      background:#ddd center/cover no-repeat;
      position:relative;
    }
    .badge{
      position:absolute;left:12px;top:12px;
      background:#fff;color:#2f6f4e;
      border-radius:999px;padding:7px 10px;
      font-size:12px;font-weight:1000;
      box-shadow:0 8px 14px rgba(0,0,0,.12);
    }
    .item-body{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}
    .item h3{margin:0;font-size:19px;line-height:1.1}
    .item p{margin:0;color:var(--muted);font-size:14px;line-height:1.45;flex:1}
    .price-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
    .price{font-weight:1000;font-size:18px}
    .mini{font-size:12px;color:var(--muted);font-weight:900}
    .card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
    .tag-pill{font-size:11px;font-weight:1000;border:1px solid #d7c8ac;background:#fff8e9;color:#513b25;border-radius:999px;padding:5px 8px;line-height:1}
    .tag-pill.green{background:#eef8f1;border-color:#beddc8;color:#2f6f4e}
    .route-note{border:1px solid #d8eadc;background:#f1faf3;border-radius:16px;padding:12px 13px;color:#3b4a39;font-weight:750;line-height:1.45}
    .route-note strong{display:block;color:#214b34;margin-bottom:3px;font-size:13px;text-transform:uppercase;letter-spacing:.03em}
    .availability-note{display:flex;align-items:center;gap:8px;border:1px solid #ead9b4;background:#fff8e8;border-radius:14px;padding:9px 10px;margin-top:10px;color:#5b4422;font-size:12px;font-weight:950;line-height:1.25}
    .availability-note span{font-size:15px}
    .modal-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
    .modal-detail{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 11px;font-size:12px;font-weight:900;color:var(--muted);line-height:1.35}
    .modal-detail strong{display:block;color:var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}
    .cart-helper{border:1px solid #ead9b4;background:#fff8e8;border-radius:16px;padding:11px 12px;color:#5b4422;font-weight:850;font-size:13px;line-height:1.4;margin-top:12px}

    .flow-strip{
      max-width:1180px;
      margin:0 auto 2px;
      padding:0 18px 10px;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
    }
    .flow-step{
      background:rgba(255,253,248,.92);
      border:1px solid var(--line);
      border-radius:18px;
      padding:14px 14px;
      box-shadow:0 10px 24px rgba(35,25,14,.07);
      display:grid;
      grid-template-columns:auto 1fr;
      gap:10px;
      align-items:start;
      min-height:92px;
    }
    .flow-step b{
      width:34px;height:34px;border-radius:12px;
      background:#eef8f1;color:#2f6f4e;
      display:grid;place-items:center;
      font-size:18px;
    }
    .flow-step strong{display:block;font-size:14px;margin:1px 0 3px;line-height:1.15}
    .flow-step span{display:block;color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}
    .owner-jump-strip{
      max-width:1180px;margin:0 auto 10px;padding:0 18px;
      display:flex;align-items:center;justify-content:space-between;gap:14px;
    }
    .owner-jump-card{
      flex:1;background:#fff;border:1px solid var(--line);border-radius:20px;
      padding:16px 18px;box-shadow:0 10px 26px rgba(35,25,14,.07);
      display:flex;align-items:center;justify-content:space-between;gap:14px;
    }
    .owner-jump-card strong{display:block;font-size:17px;margin-bottom:3px}
    .owner-jump-card span{display:block;color:var(--muted);font-weight:800;line-height:1.35}

    .business-note{
      display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
      margin-top:20px;
    }
    .note-card{
      background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;
      box-shadow:0 10px 24px rgba(35,25,14,.07);
    }
    .note-card strong{display:block;font-size:17px;margin-bottom:6px}
    .note-card span{color:var(--muted);font-weight:700;line-height:1.45}

    .owner-preview{
      max-width:1180px;
      margin:0 auto;
      padding:6px 18px 30px;
    }
    .owner-panel{
      background:linear-gradient(135deg,#ffffff 0%,#fff9ed 52%,#eef8f1 100%);
      border:1px solid var(--line);
      border-radius:28px;
      box-shadow:0 16px 38px rgba(35,25,14,.10);
      overflow:hidden;
    }
    .owner-panel-head{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:20px;
      align-items:end;
      padding:22px 22px 10px;
    }
    .owner-kicker{
      color:#2f6f4e;
      font-weight:1000;
      text-transform:uppercase;
      letter-spacing:.06em;
      font-size:12px;
      margin-bottom:6px;
    }
    .owner-panel h2{
      margin:0;
      font-size:31px;
      letter-spacing:-.035em;
      line-height:1.04;
    }
    .owner-panel p{
      margin:8px 0 0;
      color:var(--muted);
      font-weight:750;
      line-height:1.45;
    }
    .owner-mini-screen{
      background:#213a2d;
      color:#fff;
      border-radius:20px;
      padding:14px;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 12px 28px rgba(35,25,14,.12);
    }
    .owner-mini-screen .screen-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px;font-weight:1000;font-size:13px}
    .owner-mini-screen .screen-pill{background:#f2b84b;color:#271805;border-radius:999px;padding:5px 8px;font-size:11px;white-space:nowrap}
    .owner-screen-list{display:grid;gap:7px}
    .owner-screen-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.11);border-radius:12px;padding:8px 9px;font-size:12px;font-weight:850}
    .owner-screen-row small{color:rgba(255,255,255,.72);font-weight:800}
    .owner-controls-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      padding:12px 22px 22px;
    }
    .owner-control-card{
      background:rgba(255,255,255,.88);
      border:1px solid rgba(37,27,18,.12);
      border-radius:20px;
      padding:15px;
      box-shadow:0 10px 22px rgba(35,25,14,.07);
      display:grid;
      grid-template-columns:auto 1fr;
      gap:10px;
      align-items:start;
      min-height:124px;
    }
    .owner-control-card b{
      width:36px;height:36px;border-radius:13px;
      display:grid;place-items:center;
      background:#eef8f1;color:#2f6f4e;font-size:18px;
    }
    .owner-control-card strong{display:block;font-size:15px;margin:1px 0 4px;line-height:1.15}
    .owner-control-card span{display:block;color:var(--muted);font-size:12px;font-weight:760;line-height:1.38}
    .owner-panel-foot{
      border-top:1px solid rgba(37,27,18,.10);
      background:rgba(255,255,255,.55);
      padding:13px 22px;
      color:#5b4422;
      font-size:13px;
      font-weight:850;
      line-height:1.4;
    }

    .modal-backdrop{
      position:fixed;inset:0;background:rgba(19,13,8,.58);
      display:none;align-items:center;justify-content:center;
      z-index:100;padding:18px;
    }
    .modal-backdrop.open{display:flex}
    .modal{
      background:var(--panel);border-radius:28px;
      width:min(640px,100%);
      max-height:calc(100vh - 36px);
      overflow:auto;
      box-shadow:0 30px 90px rgba(0,0,0,.35);
      border:1px solid rgba(255,255,255,.5);
    }
    .modal-grid{
      display:block;
      min-height:auto;
    }
    .modal-photo{
      background:center/cover no-repeat;
      height:210px;
      min-height:0;
      border-radius:28px 28px 0 0;
      border-bottom:1px solid rgba(37,27,18,.10);
    }
    .modal-content{padding:20px 22px 22px;display:flex;flex-direction:column;gap:13px}
    .modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
    .modal h2{margin:0;font-size:28px;letter-spacing:-.03em}
    .close{
      width:42px;height:42px;border-radius:12px;border:1px solid var(--line);
      background:#fff;font-size:22px;font-weight:900;
    }
    .option-box{
      border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;
    }
    .option-box h4{margin:0 0 10px;font-size:16px}
    .choices{display:grid;gap:8px}
    .choice{
      display:flex;justify-content:space-between;align-items:center;gap:10px;
      padding:9px 10px;border-radius:12px;background:#faf7ef;
      font-weight:750;color:#3d3025;
    }
    .choice label{display:flex;gap:9px;align-items:center;cursor:pointer}
    .qty-row{display:flex;align-items:center;gap:12px}
    .qty{
      display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:6px;
    }
    .qty button{width:34px;height:34px;border:0;border-radius:10px;background:#f1eadf;font-weight:1000}
    .sticky-actions{
      position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,253,248,.7),#fffdf8 32%);
      padding-top:12px;margin-top:auto;
      display:flex;gap:10px;align-items:center;justify-content:space-between;
    }

    #itemModal .modal-head{align-items:flex-start}
    #itemModal .route-note{margin-top:10px}
    #itemModal .customer-flow-card{padding:12px}
    #itemModal .popup-helper{font-size:13px;line-height:1.38}
    #itemModal #modalOptions{display:grid;gap:10px}

    .cart-modal .modal{width:min(720px,100%)}
    .cart-modal .modal-content{min-height:400px}
    .cart-list{display:grid;gap:10px}
    .cart-line{
      display:grid;grid-template-columns:1fr auto;gap:10px;
      border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px;
    }
    .cart-line strong{display:block}
    .cart-line small{color:var(--muted);font-weight:700}
    .remove{border:0;background:#f7e7df;color:#8a3d2c;border-radius:10px;padding:7px 10px;font-weight:900}
    .totals{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:8px}
    .total-row{display:flex;justify-content:space-between;font-weight:800}
    .total-row.grand{font-size:20px;font-weight:1000}


    .checkout-order-review{
      border:1px solid rgba(30,75,50,.14);
      border-radius:22px;
      background:linear-gradient(145deg,#fffdf8,#f7fbf4);
      box-shadow:0 10px 28px rgba(20,44,28,.08);
      padding:14px;
      display:grid;
      gap:12px;
    }
    .checkout-order-review.empty{font-weight:900;color:var(--muted)}
    .checkout-order-review.empty span{display:block;margin-top:4px}
    .checkout-review-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
    .checkout-review-head b{display:block;font-size:17px;font-weight:1000;color:var(--ink)}
    .checkout-review-head span{display:block;font-size:12px;font-weight:850;color:var(--muted);margin-top:2px}
    .mini-edit-cart{
      border:1px solid rgba(30,75,50,.18);
      background:white;
      color:var(--green);
      font-weight:1000;
      border-radius:999px;
      padding:8px 11px;
      cursor:pointer;
      white-space:nowrap;
      box-shadow:0 5px 14px rgba(20,44,28,.07);
    }
    .checkout-review-lines{display:grid;gap:8px;max-height:250px;overflow:auto;padding-right:4px}
    .checkout-review-group{display:grid;gap:6px}
    .checkout-review-group-title{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;color:var(--green)}
    .checkout-review-group-title span{text-transform:none;letter-spacing:0;color:var(--muted);font-size:11px;font-weight:850}
    .checkout-review-line{display:flex;justify-content:space-between;gap:12px;border:1px solid rgba(30,75,50,.10);background:white;border-radius:15px;padding:10px 11px;align-items:flex-start}
    .checkout-review-line strong{font-size:13px;font-weight:1000;color:var(--ink)}
    .checkout-review-line small{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-top:3px;line-height:1.35}
    .checkout-review-line>span{font-size:13px;font-weight:1000;color:var(--ink);white-space:nowrap}
    .checkout-review-totals{border-top:1px dashed rgba(30,75,50,.22);padding-top:8px;display:grid;gap:5px}
    .checkout-review-totals div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;font-weight:850}
    .checkout-review-totals b{color:var(--ink)}
    .checkout-review-totals .grand{font-size:15px;color:var(--ink);font-weight:1000}
    .checkout-review-totals .grand b{font-size:16px}

    .checkout-steps{display:grid;gap:13px}
    .field{display:grid;gap:6px}
    .field label{font-size:13px;font-weight:900;color:var(--muted)}
    .field input,.field select{
      border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px 13px;min-height:44px;
    }
    .address-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:13px;
    }
    .address-grid .street{grid-column:1 / -1}
    .checkout-note{
      margin:-2px 0 2px;
      color:var(--muted);
      font-size:13px;
      font-weight:800;
      line-height:1.4;
    }
    .confirmation{
      background:linear-gradient(135deg,#e8f4ec,#fffdf8);
      border:1px solid rgba(47,111,78,.25);
      border-radius:20px;
      padding:18px;
    }

    .cart-group-title{
      display:flex;align-items:center;justify-content:space-between;gap:10px;
      margin:4px 0 -2px;
      padding:9px 11px;
      border-radius:14px;
      background:#f2eadc;
      color:#5b4422;
      font-size:12px;
      font-weight:1000;
      text-transform:uppercase;
      letter-spacing:.04em;
    }
    .cart-group-title span:last-child{font-size:11px;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:850}
    .cart-preview-note{
      border:1px solid rgba(47,111,78,.20);
      background:linear-gradient(135deg,#eff8f2,#fffdf8);
      color:#3f4b3d;
      border-radius:16px;
      padding:12px 13px;
      font-size:13px;
      font-weight:850;
      line-height:1.42;
    }
    .popup-helper{
      border:1px solid rgba(242,184,75,.34);
      background:#fff8e8;
      color:#5b4422;
      border-radius:16px;
      padding:12px 13px;
      font-size:13px;
      font-weight:850;
      line-height:1.42;
    }

    .customer-flow-card{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:10px;
      align-items:start;
      border:1px solid rgba(47,111,78,.20);
      background:linear-gradient(135deg,#eff8f2,#fffdf8);
      border-radius:17px;
      padding:12px 13px;
      margin:10px 0;
    }
    .customer-flow-card .flow-icon{
      width:38px;height:38px;border-radius:13px;
      display:grid;place-items:center;
      background:#fff;
      box-shadow:0 8px 20px rgba(35,25,14,.08);
      font-size:20px;
    }
    .customer-flow-card strong{display:block;font-size:14px;font-weight:1000;color:var(--ink);margin-bottom:2px}
    .customer-flow-card span{display:block;color:var(--muted);font-size:13px;font-weight:850;line-height:1.35}
    .customer-flow-card small{display:block;color:#2f6f4e;font-size:12px;font-weight:1000;margin-top:7px;line-height:1.3}
    .cart-summary{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:9px;
    }
    .cart-summary div{
      display:grid;
      grid-template-columns:auto 1fr;
      column-gap:8px;
      align-items:center;
      border:1px solid var(--line);
      background:#fff;
      border-radius:16px;
      padding:10px 11px;
    }
    .cart-summary b{grid-row:1 / span 2;font-size:20px}
    .cart-summary strong{font-size:18px;font-weight:1000;line-height:1}
    .cart-summary span{font-size:11px;color:var(--muted);font-weight:950;text-transform:uppercase;letter-spacing:.03em}
    .cart-flow-preview{
      border:1px solid rgba(242,184,75,.34);
      background:#fff8e8;
      border-radius:16px;
      padding:12px 13px;
      color:#5b4422;
      font-size:13px;
      font-weight:850;
      line-height:1.42;
    }
    .cart-flow-preview strong{display:block;color:var(--ink);font-weight:1000;margin-bottom:2px}
    .cart-line em{display:block;margin-top:5px;color:#2f6f4e;font-size:12px;font-weight:950;font-style:normal}

    .back-to-top{
      position:fixed;
      right:20px;
      bottom:24px;
      width:48px;
      height:48px;
      border:0;
      border-radius:16px;
      background:#2f6f4e;
      color:#fff;
      box-shadow:0 14px 30px rgba(35,25,14,.25);
      font-size:24px;
      font-weight:1000;
      z-index:80;
      cursor:pointer;
      opacity:0;
      transform:translateY(12px);
      pointer-events:none;
      transition:.18s ease;
    }
    .back-to-top.show{opacity:1;transform:translateY(0);pointer-events:auto}
    .back-to-top:hover{transform:translateY(-2px);background:#24573d}
    .back-to-top:focus-visible{outline:3px solid rgba(240,178,51,.75);outline-offset:3px}

    .pages-preview{
      max-width:1180px;
      margin:0 auto 54px;
      padding:0 20px;
    }
    .pages-panel{
      border:1px solid rgba(47,111,78,.18);
      background:linear-gradient(135deg,#ffffff,#f7fbf7 58%,#fff8e8);
      border-radius:28px;
      box-shadow:var(--shadow);
      padding:24px;
      overflow:hidden;
      position:relative;
    }
    .pages-panel:before{
      content:"";
      position:absolute;
      right:-80px;
      top:-90px;
      width:240px;
      height:240px;
      border-radius:50%;
      background:rgba(242,184,75,.18);
      pointer-events:none;
    }
    .pages-head{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:20px;
      align-items:start;
      position:relative;
      z-index:1;
    }
    .pages-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#2f6f4e;
      font-weight:1000;
      text-transform:uppercase;
      letter-spacing:.08em;
      font-size:12px;
      margin-bottom:8px;
    }
    .pages-head h2{
      margin:0;
      font-size:clamp(26px,3vw,40px);
      line-height:1.02;
      letter-spacing:-.04em;
    }
    .pages-head p{
      margin:10px 0 0;
      color:var(--muted);
      font-weight:750;
      line-height:1.55;
      max-width:700px;
    }
    .nav-preview-card{
      background:#fff;
      border:1px solid rgba(47,111,78,.16);
      border-radius:20px;
      padding:14px;
      box-shadow:0 16px 30px rgba(35,25,14,.08);
    }
    .nav-preview-card strong{
      display:block;
      margin-bottom:10px;
      color:#203427;
    }
    .nav-pills{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
    .nav-pills span{
      border:1px solid rgba(47,111,78,.16);
      background:#f7fbf7;
      border-radius:999px;
      padding:8px 10px;
      font-size:12px;
      font-weight:950;
      color:#31533e;
    }
    .page-layout-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:14px;
      margin-top:18px;
      position:relative;
      z-index:1;
    }
    .page-layout-card{
      background:#fff;
      border:1px solid rgba(47,111,78,.16);
      border-radius:20px;
      padding:16px;
      min-height:150px;
      box-shadow:0 14px 26px rgba(35,25,14,.07);
    }
    .layout-icon{
      width:42px;
      height:42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:#eff8f2;
      color:#2f6f4e;
      font-size:20px;
      margin-bottom:12px;
    }
    .page-layout-card strong{
      display:block;
      margin-bottom:6px;
      color:#203427;
    }
    .page-layout-card span{
      display:block;
      color:var(--muted);
      font-size:13px;
      font-weight:750;
      line-height:1.45;
    }
    .pages-foot{
      margin-top:16px;
      border:1px dashed rgba(47,111,78,.26);
      background:#fffef8;
      border-radius:18px;
      padding:13px 14px;
      font-size:13px;
      font-weight:850;
      color:#495142;
      position:relative;
      z-index:1;
    }
    @media (max-width:900px){
      .pages-head{grid-template-columns:1fr}
      .page-layout-grid{grid-template-columns:1fr}
    }

    .bottom-bar{display:none}
    @media (max-width:900px){
      .hero{grid-template-columns:1fr}
      .mini-gallery{grid-template-columns:repeat(5,minmax(68px,1fr))}
      .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .flow-strip{grid-template-columns:1fr 1fr;padding:0 12px 10px}
      .owner-jump-strip{padding:0 12px;margin-bottom:12px}
      .owner-jump-card{align-items:flex-start;flex-direction:column;border-radius:18px;padding:15px}
      .owner-jump-card .btn{width:100%}
      .flow-step{min-height:auto}
      .business-note{grid-template-columns:1fr}

      .owner-panel-head{grid-template-columns:1fr;padding:18px 16px 8px}
      .owner-panel h2{font-size:26px}
      .owner-controls-grid{grid-template-columns:1fr;padding:10px 16px 16px}
      .owner-control-card{min-height:auto}
      .owner-panel-foot{padding:12px 16px}

      .modal-grid{display:block}
      .modal-photo{height:200px;min-height:0}
    }
    @media (max-width:640px){
      .top-ribbon{font-size:12px;padding:8px}
      header{position:relative}
      .nav{
        align-items:flex-start;
        padding:12px;
      }
      .brand{align-items:center}
      .logo{width:68px;height:68px;border-radius:20px;font-size:32px}
      .brand h1{font-size:20px}
      .brand p{font-size:12px}
      .nav-actions{
        flex-direction:column;
        align-items:stretch;
        gap:8px;
        min-width:102px;
      }
      .nav-actions .btn{min-height:40px;padding:8px 10px;border-radius:11px;font-size:13px;width:100%}
      .nav-actions .btn.gold{order:1}
      .nav-actions .btn.primary{order:2}
      .nav-actions .btn.ghost{display:none}
      .hero{margin-top:12px;padding:0 12px 12px}
      .hero-card{min-height:360px;padding:25px 20px;border-radius:26px}
      .gallery-card{padding:14px}
      .gallery-intro{display:none}
      .gallery-thumb{height:auto;aspect-ratio:1 / 1}
      .deal-banner{grid-template-columns:70px 1fr;align-items:center}
      .deal-photo{width:70px;height:52px}
      .deal-price{grid-column:2;width:max-content}
      .hero h2{font-size:44px}
      .hero p{font-size:15px}
      .info-stack{gap:12px}
      .section{padding:20px 12px}
      .section-head{align-items:flex-start;flex-direction:column;gap:10px}
      .section-head h2{font-size:28px}
      .mobile-menu-toggle{
        display:flex;align-items:center;justify-content:space-between;
        width:100%;
        background:#251b12;color:#fff;border:0;border-radius:13px;padding:12px 14px;
        min-height:46px;font-weight:1000;
      }
      .category-wrap{
        top:0;
        margin:0 12px 14px;
        border:1px solid var(--line);
        border-radius:16px;
        overflow:hidden;
        background:rgba(255,253,248,.95);
      }
      .categories{
        display:none;
        max-height:58vh;
        overflow:auto;
        padding:8px;
        flex-direction:column;
      }
      .category-wrap.open .categories{display:flex}
      .cat-btn{text-align:left;border-radius:11px;width:100%}
      .grid{grid-template-columns:1fr;gap:12px}
      .item{border-radius:18px}
      .item-img{height:165px}
  
    .owner-preview{
      max-width:1180px;
      margin:0 auto;
      padding:6px 18px 30px;
    }
    .owner-panel{
      background:linear-gradient(135deg,#ffffff 0%,#fff9ed 52%,#eef8f1 100%);
      border:1px solid var(--line);
      border-radius:28px;
      box-shadow:0 16px 38px rgba(35,25,14,.10);
      overflow:hidden;
    }
    .owner-panel-head{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:20px;
      align-items:end;
      padding:22px 22px 10px;
    }
    .owner-kicker{
      color:#2f6f4e;
      font-weight:1000;
      text-transform:uppercase;
      letter-spacing:.06em;
      font-size:12px;
      margin-bottom:6px;
    }
    .owner-panel h2{
      margin:0;
      font-size:31px;
      letter-spacing:-.035em;
      line-height:1.04;
    }
    .owner-panel p{
      margin:8px 0 0;
      color:var(--muted);
      font-weight:750;
      line-height:1.45;
    }
    .owner-mini-screen{
      background:#213a2d;
      color:#fff;
      border-radius:20px;
      padding:14px;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 12px 28px rgba(35,25,14,.12);
    }
    .owner-mini-screen .screen-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px;font-weight:1000;font-size:13px}
    .owner-mini-screen .screen-pill{background:#f2b84b;color:#271805;border-radius:999px;padding:5px 8px;font-size:11px;white-space:nowrap}
    .owner-screen-list{display:grid;gap:7px}
    .owner-screen-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.11);border-radius:12px;padding:8px 9px;font-size:12px;font-weight:850}
    .owner-screen-row small{color:rgba(255,255,255,.72);font-weight:800}
    .owner-controls-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      padding:12px 22px 22px;
    }
    .owner-control-card{
      background:rgba(255,255,255,.88);
      border:1px solid rgba(37,27,18,.12);
      border-radius:20px;
      padding:15px;
      box-shadow:0 10px 22px rgba(35,25,14,.07);
      display:grid;
      grid-template-columns:auto 1fr;
      gap:10px;
      align-items:start;
      min-height:124px;
    }
    .owner-control-card b{
      width:36px;height:36px;border-radius:13px;
      display:grid;place-items:center;
      background:#eef8f1;color:#2f6f4e;font-size:18px;
    }
    .owner-control-card strong{display:block;font-size:15px;margin:1px 0 4px;line-height:1.15}
    .owner-control-card span{display:block;color:var(--muted);font-size:12px;font-weight:760;line-height:1.38}
    .owner-panel-foot{
      border-top:1px solid rgba(37,27,18,.10);
      background:rgba(255,255,255,.55);
      padding:13px 22px;
      color:#5b4422;
      font-size:13px;
      font-weight:850;
      line-height:1.4;
    }

    .modal-backdrop{align-items:flex-start;padding:8px}
      .modal{
        border-radius:20px;
        max-height:calc(100vh - 16px);
        padding-bottom:var(--safe-bottom);
      }
      .modal-content{padding:16px}
      .modal h2{font-size:25px}
      .modal-photo{height:170px;min-height:0}
      .sticky-actions{
        flex-direction:column;
        align-items:stretch;
        padding-bottom:calc(8px + var(--safe-bottom));
      }
      .sticky-actions .btn{width:100%}
      .modal-detail-grid{grid-template-columns:1fr}
      .cart-summary{grid-template-columns:1fr}
      .address-grid{grid-template-columns:1fr}
      .address-grid .street{grid-column:auto}
      .bottom-bar{
        display:flex;
        position:fixed;left:10px;right:10px;bottom:calc(10px + var(--safe-bottom));
        z-index:60;
        background:#251b12;color:#fff;
        padding:8px;
        border-radius:16px;
        box-shadow:0 18px 35px rgba(0,0,0,.28);
        gap:8px;
      }
      .bottom-bar button{
        flex:1;border:0;border-radius:11px;background:#fff;color:#251b12;
        padding:10px 8px;font-weight:1000;min-height:42px;
      }
  
    .customer-flow-card{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:10px;
      align-items:start;
      border:1px solid rgba(47,111,78,.20);
      background:linear-gradient(135deg,#eff8f2,#fffdf8);
      border-radius:17px;
      padding:12px 13px;
      margin:10px 0;
    }
    .customer-flow-card .flow-icon{
      width:38px;height:38px;border-radius:13px;
      display:grid;place-items:center;
      background:#fff;
      box-shadow:0 8px 20px rgba(35,25,14,.08);
      font-size:20px;
    }
    .customer-flow-card strong{display:block;font-size:14px;font-weight:1000;color:var(--ink);margin-bottom:2px}
    .customer-flow-card span{display:block;color:var(--muted);font-size:13px;font-weight:850;line-height:1.35}
    .customer-flow-card small{display:block;color:#2f6f4e;font-size:12px;font-weight:1000;margin-top:7px;line-height:1.3}
    .cart-summary{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:9px;
    }
    .cart-summary div{
      display:grid;
      grid-template-columns:auto 1fr;
      column-gap:8px;
      align-items:center;
      border:1px solid var(--line);
      background:#fff;
      border-radius:16px;
      padding:10px 11px;
    }
    .cart-summary b{grid-row:1 / span 2;font-size:20px}
    .cart-summary strong{font-size:18px;font-weight:1000;line-height:1}
    .cart-summary span{font-size:11px;color:var(--muted);font-weight:950;text-transform:uppercase;letter-spacing:.03em}
    .cart-flow-preview{
      border:1px solid rgba(242,184,75,.34);
      background:#fff8e8;
      border-radius:16px;
      padding:12px 13px;
      color:#5b4422;
      font-size:13px;
      font-weight:850;
      line-height:1.42;
    }
    .cart-flow-preview strong{display:block;color:var(--ink);font-weight:1000;margin-bottom:2px}
    .cart-line em{display:block;margin-top:5px;color:#2f6f4e;font-size:12px;font-weight:950;font-style:normal}

    .back-to-top{right:14px;bottom:80px;width:44px;height:44px;border-radius:14px;font-size:22px}
      body.modal-open .back-to-top{display:none}
      body.modal-open .bottom-bar{display:none}
    }
    @media (max-width:560px){
      .store-card-head{align-items:flex-start;flex-direction:column}
      .store-owner-button{width:100%}
    }
@media (max-width: 720px){
  .checkout-review-head{align-items:flex-start;flex-direction:column}
  .checkout-review-lines{max-height:220px}
  .checkout-review-line{gap:8px}
}


/* v2.4 checkout/payment visibility polish */
#checkoutModal .modal{max-width:760px;}
.payment-section-label{
  margin-top:2px;
  padding-top:12px;
  border-top:1px solid rgba(30,75,50,.14);
  font-size:12px;
  font-weight:1000;
  color:var(--green);
  text-transform:uppercase;
  letter-spacing:.05em;
}
#checkoutModal .checkout-order-review{
  border:2px solid rgba(245,178,51,.45);
  box-shadow:0 14px 30px rgba(30,75,50,.08);
}
#checkoutModal .checkout-review-head b{font-size:19px;}
#checkoutModal .checkout-review-totals .grand{
  background:rgba(245,178,51,.16);
  border-radius:12px;
  padding:8px 10px;
}


/* v2.5 checkout order review cleanup */
#checkoutModal .modal{
  max-width:760px;
}
#checkoutModal .modal-body{
  display:grid;
  gap:16px;
}
#checkoutOrderSummary{
  margin:4px 0 2px;
}
#checkoutModal .checkout-review-card{
  border:2px solid rgba(245,178,51,.50);
  border-radius:24px;
  background:linear-gradient(145deg,#fffaf0 0%, #ffffff 48%, #f6fbf5 100%);
  box-shadow:0 14px 34px rgba(30,75,50,.10);
  padding:16px;
  display:grid;
  gap:13px;
}
#checkoutModal .checkout-review-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  border-bottom:1px solid rgba(30,75,50,.12);
  padding-bottom:11px;
}
#checkoutModal .checkout-review-head b{
  display:block;
  font-size:18px;
  line-height:1.1;
  font-weight:1000;
  color:var(--ink);
}
#checkoutModal .checkout-review-head span{
  display:block;
  margin-top:5px;
  max-width:520px;
  font-size:13px;
  line-height:1.35;
  color:var(--muted);
  font-weight:800;
}
#checkoutModal .mini-edit-cart{
  border:1px solid rgba(30,75,50,.18);
  background:#fff;
  color:var(--green);
  font-weight:1000;
  border-radius:999px;
  padding:9px 13px;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 6px 14px rgba(20,44,28,.07);
}
#checkoutModal .checkout-review-summary .cart-summary{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
}
#checkoutModal .checkout-review-summary .cart-summary div{
  min-height:auto;
  padding:9px 10px;
  border-radius:14px;
}
#checkoutModal .checkout-review-summary .cart-summary b{
  font-size:18px;
}
#checkoutModal .checkout-review-summary .cart-summary strong{
  font-size:15px;
}
#checkoutModal .checkout-review-lines{
  display:grid;
  gap:10px;
  max-height:260px;
  overflow:auto;
  padding-right:4px;
}
#checkoutModal .checkout-review-group{
  display:grid;
  gap:7px;
}
#checkoutModal .checkout-review-group-title{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  color:var(--green);
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.04em;
}
#checkoutModal .checkout-review-group-title em{
  color:var(--muted);
  font-size:11px;
  font-weight:850;
  font-style:normal;
  text-transform:none;
  letter-spacing:0;
}
#checkoutModal .checkout-review-line{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:start;
  padding:11px 12px;
  border:1px solid rgba(30,75,50,.11);
  border-radius:16px;
  background:#fff;
}
#checkoutModal .checkout-review-item strong{
  display:block;
  font-size:14px;
  line-height:1.25;
  color:var(--ink);
  font-weight:1000;
}
#checkoutModal .checkout-review-item small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
#checkoutModal .checkout-review-item em{
  display:inline-flex;
  margin-top:7px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(46,125,82,.10);
  color:var(--green);
  font-size:11px;
  font-style:normal;
  font-weight:1000;
}
#checkoutModal .checkout-review-line > span{
  color:var(--ink);
  font-size:14px;
  font-weight:1000;
  white-space:nowrap;
}
#checkoutModal .checkout-review-totals{
  display:grid;
  gap:7px;
  border-top:1px dashed rgba(30,75,50,.22);
  padding-top:10px;
}
#checkoutModal .checkout-review-totals div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font-size:13px;
  font-weight:850;
}
#checkoutModal .checkout-review-totals b{
  color:var(--ink);
  font-weight:1000;
}
#checkoutModal .checkout-review-totals .grand{
  margin-top:3px;
  padding:10px 12px;
  border-radius:15px;
  background:rgba(245,178,51,.18);
  color:var(--ink);
  font-size:16px;
  font-weight:1000;
}
#checkoutModal .checkout-review-totals .grand b{
  font-size:18px;
}
#checkoutModal .payment-section-label{
  margin-top:2px;
  padding-top:14px;
  border-top:1px solid rgba(30,75,50,.14);
  color:var(--green);
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.05em;
}
@media (max-width:700px){
  #checkoutModal .checkout-review-head{flex-direction:column}
  #checkoutModal .checkout-review-summary .cart-summary{grid-template-columns:1fr}
}


/* v2.6 cart modal review cleanup */
#cartModal .modal{
  max-width:760px;
}
#cartModal .modal-body,
#cartContent{
  display:grid;
  gap:16px;
}
#cartModal .cart-review-card{
  border:2px solid rgba(245,178,51,.50);
  border-radius:24px;
  background:linear-gradient(145deg,#fffaf0 0%, #ffffff 48%, #f6fbf5 100%);
  box-shadow:0 14px 34px rgba(30,75,50,.10);
  padding:16px;
  display:grid;
  gap:13px;
}
#cartModal .cart-review-card.empty-cart-card{
  border:1px solid rgba(30,75,50,.14);
  text-align:center;
  place-items:center;
  padding:26px 18px;
}
#cartModal .empty-cart-card strong{
  font-size:22px;
  color:var(--ink);
}
#cartModal .empty-cart-card span{
  color:var(--muted);
  font-weight:850;
  line-height:1.4;
  max-width:420px;
}
#cartModal .cart-review-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  border-bottom:1px solid rgba(30,75,50,.12);
  padding-bottom:11px;
}
#cartModal .cart-review-head b{
  display:block;
  font-size:18px;
  line-height:1.1;
  font-weight:1000;
  color:var(--ink);
}
#cartModal .cart-review-head span{
  display:block;
  margin-top:5px;
  max-width:540px;
  font-size:13px;
  line-height:1.35;
  color:var(--muted);
  font-weight:800;
}
#cartModal .mini-edit-cart{
  border:1px solid rgba(30,75,50,.18);
  background:#fff;
  color:var(--green);
  font-weight:1000;
  border-radius:999px;
  padding:9px 13px;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 6px 14px rgba(20,44,28,.07);
}
#cartModal .cart-review-summary .cart-summary{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
}
#cartModal .cart-review-summary .cart-summary div{
  min-height:auto;
  padding:9px 10px;
  border-radius:14px;
}
#cartModal .cart-review-summary .cart-summary b{
  font-size:18px;
}
#cartModal .cart-review-summary .cart-summary strong{
  font-size:15px;
}
#cartModal .cart-review-lines{
  display:grid;
  gap:10px;
  max-height:300px;
  overflow:auto;
  padding-right:4px;
}
#cartModal .cart-review-group{
  display:grid;
  gap:7px;
}
#cartModal .cart-review-group-title{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  color:var(--green);
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.04em;
}
#cartModal .cart-review-group-title em{
  color:var(--muted);
  font-size:11px;
  font-weight:850;
  font-style:normal;
  text-transform:none;
  letter-spacing:0;
}
#cartModal .cart-review-line{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:start;
  padding:11px 12px;
  border:1px solid rgba(30,75,50,.11);
  border-radius:16px;
  background:#fff;
}
#cartModal .cart-review-item strong{
  display:block;
  font-size:14px;
  line-height:1.25;
  color:var(--ink);
  font-weight:1000;
}
#cartModal .cart-review-item small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
#cartModal .cart-review-item em{
  display:inline-flex;
  margin-top:7px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(46,125,82,.10);
  color:var(--green);
  font-size:11px;
  font-style:normal;
  font-weight:1000;
}
#cartModal .cart-review-price{
  display:grid;
  justify-items:end;
  gap:7px;
}
#cartModal .cart-review-price strong{
  color:var(--ink);
  font-size:14px;
  font-weight:1000;
  white-space:nowrap;
}
#cartModal .remove{
  border:0;
  background:#f7e7df;
  color:#8a3d2c;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:1000;
  cursor:pointer;
}
#cartModal .cart-review-totals{
  display:grid;
  gap:7px;
  border-top:1px dashed rgba(30,75,50,.22);
  padding-top:10px;
}
#cartModal .cart-review-totals div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font-size:13px;
  font-weight:850;
}
#cartModal .cart-review-totals b{
  color:var(--ink);
  font-weight:1000;
}
#cartModal .cart-review-totals .grand{
  margin-top:3px;
  padding:10px 12px;
  border-radius:15px;
  background:rgba(245,178,51,.18);
  color:var(--ink);
  font-size:16px;
  font-weight:1000;
}
#cartModal .cart-review-totals .grand b{
  font-size:18px;
}
#cartModal .cart-next-note{
  border:1px solid rgba(47,111,78,.20);
  background:linear-gradient(135deg,#eff8f2,#fffdf8);
  color:#3f4b3d;
  border-radius:16px;
  padding:11px 12px;
  font-size:13px;
  font-weight:850;
  line-height:1.4;
}
#cartModal .cart-next-note strong{
  color:var(--ink);
  font-weight:1000;
}
#cartModal .cart-actions{
  margin-top:2px;
}
@media (max-width:700px){
  #cartModal .cart-review-head{flex-direction:column}
  #cartModal .cart-review-summary .cart-summary{grid-template-columns:1fr}
  #cartModal .cart-review-line{grid-template-columns:1fr;}
  #cartModal .cart-review-price{justify-items:start;grid-auto-flow:column;align-items:center;justify-content:space-between;}
}


/* v2.8 item popup image placement cleanup */
#itemModal .modal{
  width:min(720px, 100%) !important;
}
#itemModal .modal-grid{
  display:block !important;
  min-height:0 !important;
}
#itemModal .modal-photo{
  width:100% !important;
  height:210px !important;
  min-height:0 !important;
  border-radius:28px 28px 0 0 !important;
  border-right:0 !important;
  border-bottom:1px solid rgba(37,27,18,.10) !important;
  background-size:cover !important;
  background-position:center !important;
}
#itemModal .modal-content{
  padding-top:18px !important;
}
@media (max-width:640px){
  #itemModal .modal-photo{height:170px !important;border-radius:20px 20px 0 0 !important;}
}


/* v2.10 item popup noticeable width cleanup */
#itemModal .modal{
  width:min(560px, calc(100vw - 28px)) !important;
  max-width:560px !important;
  border-radius:24px !important;
}
#itemModal .modal-photo{
  height:165px !important;
  border-radius:24px 24px 0 0 !important;
}
#itemModal .modal-content{
  padding:16px 18px 18px !important;
  gap:11px !important;
}
#itemModal .modal h2{font-size:25px !important;line-height:1.04 !important;}
#itemModal .fulfillment-panel{padding:12px !important;}
#itemModal .modal-detail-grid{gap:8px !important;}
#itemModal .option-box{padding:12px !important;border-radius:16px !important;}
@media (max-width:640px){
  #itemModal .modal{width:calc(100vw - 16px) !important;max-width:none !important;border-radius:20px !important;}
  #itemModal .modal-photo{height:150px !important;border-radius:20px 20px 0 0 !important;}
  #itemModal .modal-content{padding:14px !important;}
}


/* v2.11 item popup fulfillment cleanup: make each box consistent */
#itemModal .route-note{
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  margin-top:0 !important;
  display:grid !important;
  gap:10px !important;
  color:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
}
#itemModal .customer-flow-card,
#itemModal .fulfillment-copy,
#itemModal .modal-detail,
#itemModal .popup-helper,
#itemModal .option-box{
  box-sizing:border-box !important;
  width:100% !important;
}
#itemModal .customer-flow-card{
  margin:0 !important;
  border:1px solid rgba(47,111,78,.20) !important;
  background:linear-gradient(135deg,#eff8f2,#fffdf8) !important;
  border-radius:16px !important;
  padding:12px !important;
}
#itemModal .fulfillment-copy{
  border:1px solid rgba(47,111,78,.18) !important;
  background:#fffdf8 !important;
  border-radius:16px !important;
  padding:12px !important;
  color:#3b4a39 !important;
  font-weight:850 !important;
  line-height:1.42 !important;
}
#itemModal .fulfillment-copy strong{
  display:block !important;
  color:#214b34 !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
  margin-bottom:4px !important;
}
#itemModal .fulfillment-copy span{
  display:block !important;
  color:#3f4b3d !important;
  font-size:13px !important;
}
#itemModal .modal-detail-grid{
  margin-top:0 !important;
  gap:10px !important;
}
#itemModal .modal-detail{
  min-height:64px !important;
  display:grid !important;
  align-content:center !important;
}

/* v2.12 item popup inner alignment cleanup: all cards line up with options */
#itemModal .modal-content{
  position:relative !important;
}
#itemModal .modal-head{
  display:block !important;
}
#itemModal .modal-head > div{
  width:100% !important;
  min-width:0 !important;
}
#itemModal .modal-head .close{
  position:absolute !important;
  top:14px !important;
  right:18px !important;
  z-index:5 !important;
}
#itemModal .modal-head .mini,
#itemModal .modal-head h2,
#itemModal .modal-head p{
  padding-right:54px !important;
}
#itemModal #modalRoute,
#itemModal .route-note,
#itemModal .customer-flow-card,
#itemModal .fulfillment-copy,
#itemModal .modal-detail-grid,
#itemModal .popup-helper,
#itemModal #modalOptions,
#itemModal .option-box{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
}
#itemModal .route-note{
  margin:10px 0 0 !important;
}
#itemModal .customer-flow-card,
#itemModal .fulfillment-copy,
#itemModal .popup-helper,
#itemModal .option-box{
  margin-left:0 !important;
  margin-right:0 !important;
}
#itemModal .modal-detail-grid{
  grid-template-columns:1fr 1fr !important;
}
@media (max-width:560px){
  #itemModal .modal-detail-grid{grid-template-columns:1fr !important;}
  #itemModal .modal-head .mini,
  #itemModal .modal-head h2,
  #itemModal .modal-head p{padding-right:48px !important;}
  #itemModal .modal-head .close{right:14px !important;}
}

/* v2.13 item popup scrollbar containment cleanup */
#itemModal .modal{
  overflow:hidden !important;
}
#itemModal .modal-grid{
  max-height:calc(100vh - 36px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
#itemModal .modal-photo{
  flex:0 0 auto !important;
}
#itemModal .modal-content{
  overflow-y:auto !important;
  min-height:0 !important;
  max-height:calc(100vh - 36px - 165px) !important;
  scrollbar-gutter:stable !important;
  padding-right:24px !important;
}
#itemModal .modal-content::-webkit-scrollbar{
  width:10px;
}
#itemModal .modal-content::-webkit-scrollbar-track{
  background:rgba(37,27,18,.06);
  border-radius:20px;
  margin:8px 0;
}
#itemModal .modal-content::-webkit-scrollbar-thumb{
  background:rgba(37,27,18,.32);
  border-radius:20px;
  border:2px solid rgba(255,255,255,.72);
}
@media (max-width:640px){
  #itemModal .modal-grid{max-height:calc(100vh - 16px) !important;}
  #itemModal .modal-content{max-height:calc(100vh - 16px - 150px) !important;padding-right:18px !important;}
}


/* v2.14 polished order confirmation / receipt preview */
.receipt-card{
  border:2px solid rgba(47,111,78,.24);
  border-radius:24px;
  background:linear-gradient(145deg,#f4fbf5,#fffdf8 62%,#fff8e8);
  box-shadow:0 16px 36px rgba(30,75,50,.10);
  padding:16px;
  display:grid;
  gap:14px;
}
.receipt-success{display:flex;align-items:center;gap:12px}
.receipt-check{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--green);color:white;font-weight:1000;font-size:23px;
  box-shadow:0 10px 22px rgba(47,111,78,.20);
}
.receipt-success strong{display:block;font-size:22px;font-weight:1000;color:var(--ink)}
.receipt-success span{display:block;color:var(--muted);font-size:13px;font-weight:850;margin-top:2px}
.receipt-meta{
  display:grid;grid-template-columns:repeat(4,1fr);gap:9px;
}
.receipt-meta div{
  border:1px solid rgba(30,75,50,.12);
  background:white;border-radius:15px;padding:10px;
}
.receipt-meta span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.receipt-meta b{display:block;color:var(--ink);font-size:13px;font-weight:1000;margin-top:3px;line-height:1.25}
.receipt-items{display:grid;gap:9px}
.receipt-group{display:grid;gap:6px}
.receipt-group-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;color:var(--green)}
.receipt-group-title strong{font-size:13px;font-weight:1000}
.receipt-group-title span{color:var(--muted);font-size:11px;font-weight:850}
.receipt-line{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  border:1px solid rgba(30,75,50,.10);background:white;border-radius:15px;padding:10px 11px;
}
.receipt-line b{font-size:13px;font-weight:1000;color:var(--ink)}
.receipt-line small{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-top:3px;line-height:1.35}
.receipt-line em{display:block;color:var(--green);font-size:11px;font-weight:1000;margin-top:4px;font-style:normal}
.receipt-line>span{white-space:nowrap;color:var(--ink);font-size:13px;font-weight:1000}
.receipt-totals{border-top:1px dashed rgba(30,75,50,.22);padding-top:8px;display:grid;gap:5px}
.receipt-totals div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;font-weight:850}
.receipt-totals b{color:var(--ink)}
.receipt-totals .grand{background:rgba(245,178,51,.16);border-radius:12px;padding:8px 10px;color:var(--ink);font-weight:1000}
.receipt-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.receipt-flow div{border:1px solid rgba(245,178,51,.35);background:#fff8e8;border-radius:15px;padding:10px}
.receipt-flow b{display:block;color:#5b4422;font-size:12px;font-weight:1000}
.receipt-flow span{display:block;color:#6f614e;font-size:11px;font-weight:850;line-height:1.35;margin-top:3px}
.receipt-empty{border:1px solid rgba(30,75,50,.10);background:white;border-radius:15px;padding:11px;color:var(--muted);font-weight:900}
@media (max-width:720px){
  .receipt-meta,.receipt-flow{grid-template-columns:1fr 1fr}
  .receipt-flow div:last-child{grid-column:1 / -1}
}
@media (max-width:520px){
  .receipt-meta,.receipt-flow{grid-template-columns:1fr}
  .receipt-success strong{font-size:20px}
}

/* v2.15 final confirmation cleanup */
#confirmationArea{display:block;margin-top:14px;}
#confirmationArea .receipt-card{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(47,111,78,.22);
  border-radius:22px;
  background:linear-gradient(145deg,#f7fcf8 0%,#fffdf8 66%,#fff8e8 100%);
  box-shadow:0 18px 34px rgba(37,27,18,.10);
  padding:16px;
  display:grid;
  gap:14px;
}
#confirmationArea .receipt-success{
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(30,75,50,.10);
}
#confirmationArea .receipt-check{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--green);
  color:#fff;
  font-size:24px;
  font-weight:1000;
  box-shadow:0 10px 20px rgba(47,111,78,.20);
}
#confirmationArea .receipt-success strong{
  display:block;
  font-size:22px;
  line-height:1.05;
  color:var(--ink);
  font-weight:1000;
}
#confirmationArea .receipt-success span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:13px;
  font-weight:850;
}
#confirmationArea .receipt-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
#confirmationArea .receipt-meta div,
#confirmationArea .receipt-section,
#confirmationArea .receipt-flow div{
  box-sizing:border-box;
  border:1px solid rgba(30,75,50,.11);
  background:rgba(255,255,255,.78);
  border-radius:16px;
  padding:10px;
}
#confirmationArea .receipt-meta span,
#confirmationArea .receipt-section-head span{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:850;
  line-height:1.35;
}
#confirmationArea .receipt-meta span{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:950;
}
#confirmationArea .receipt-meta b{
  display:block;
  margin-top:4px;
  color:var(--ink);
  font-size:13px;
  line-height:1.3;
  font-weight:1000;
}
#confirmationArea .receipt-section{display:grid;gap:10px;}
#confirmationArea .receipt-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding-bottom:8px;
  border-bottom:1px dashed rgba(30,75,50,.16);
}
#confirmationArea .receipt-section-head strong{
  color:var(--ink);
  font-size:15px;
  font-weight:1000;
  white-space:nowrap;
}
#confirmationArea .receipt-section-head span{text-align:right;max-width:270px;}
#confirmationArea .receipt-items{display:grid;gap:10px;}
#confirmationArea .receipt-group{display:grid;gap:7px;}
#confirmationArea .receipt-group-title{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  color:var(--green);
}
#confirmationArea .receipt-group-title strong{font-size:13px;font-weight:1000;}
#confirmationArea .receipt-group-title span{font-size:11px;color:var(--muted);font-weight:850;text-align:right;}
#confirmationArea .receipt-line{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  background:#fff;
  border:1px solid rgba(30,75,50,.10);
  border-radius:14px;
  padding:10px;
}
#confirmationArea .receipt-line b{display:block;color:var(--ink);font-size:13px;font-weight:1000;line-height:1.25;}
#confirmationArea .receipt-line small{display:block;color:var(--muted);font-size:11px;font-weight:800;line-height:1.35;margin-top:3px;}
#confirmationArea .receipt-line em{display:block;color:var(--green);font-size:11px;font-weight:1000;font-style:normal;margin-top:4px;}
#confirmationArea .receipt-line>span{white-space:nowrap;color:var(--ink);font-size:13px;font-weight:1000;}
#confirmationArea .receipt-money{background:#fff;}
#confirmationArea .receipt-totals{display:grid;gap:6px;border-top:0;padding-top:0;}
#confirmationArea .receipt-totals div{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:12px;font-weight:850;}
#confirmationArea .receipt-totals b{color:var(--ink);}
#confirmationArea .receipt-totals .grand{background:rgba(245,178,51,.18);border-radius:13px;padding:9px 10px;color:var(--ink);font-weight:1000;}
#confirmationArea .receipt-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
#confirmationArea .receipt-flow div{background:#fff8e8;border-color:rgba(245,178,51,.38);}
#confirmationArea .receipt-flow b{display:block;color:#5b4422;font-size:12px;font-weight:1000;}
#confirmationArea .receipt-flow span{display:block;color:#6f614e;font-size:11px;font-weight:850;line-height:1.35;margin-top:3px;}
@media (max-width:720px){
  #confirmationArea .receipt-flow{grid-template-columns:1fr;}
  #confirmationArea .receipt-section-head{display:block;}
  #confirmationArea .receipt-section-head span{text-align:left;max-width:none;margin-top:3px;}
}
@media (max-width:520px){
  #confirmationArea .receipt-meta{grid-template-columns:1fr;}
  #confirmationArea .receipt-success strong{font-size:20px;}
  #confirmationArea .receipt-line{display:grid;gap:6px;}
  #confirmationArea .receipt-line>span{justify-self:start;}
}

/* v2.53 advanced banner modal display lock. */
#advancedBannerModal.open{display:flex !important;align-items:center;justify-content:center;z-index:99999 !important;}
#advancedBannerModal .advanced-banner-modal{width:min(1040px,96vw) !important;}

/* v2.16 consistent modal scrollbar containment
   Keep scrollbars inside rounded modal boxes across item, cart, checkout, and gallery. */
.modal{
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.modal > .modal-content,
#itemModal .modal-grid{
  max-height:calc(100vh - 36px);
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
  border-radius:inherit;
}
#itemModal .modal-grid{
  display:block;
}
.modal > .modal-content::-webkit-scrollbar,
#itemModal .modal-grid::-webkit-scrollbar,
.checkout-review-lines::-webkit-scrollbar{
  width:10px;
}
.modal > .modal-content::-webkit-scrollbar-track,
#itemModal .modal-grid::-webkit-scrollbar-track,
.checkout-review-lines::-webkit-scrollbar-track{
  background:rgba(37,27,18,.05);
  border-radius:999px;
  margin:14px 0;
}
.modal > .modal-content::-webkit-scrollbar-thumb,
#itemModal .modal-grid::-webkit-scrollbar-thumb,
.checkout-review-lines::-webkit-scrollbar-thumb{
  background:rgba(30,75,50,.32);
  border-radius:999px;
  border:2px solid rgba(255,253,248,.85);
}
.modal > .modal-content::-webkit-scrollbar-thumb:hover,
#itemModal .modal-grid::-webkit-scrollbar-thumb:hover,
.checkout-review-lines::-webkit-scrollbar-thumb:hover{
  background:rgba(30,75,50,.46);
}
#checkoutModal .modal,
#cartModal .modal,
#galleryModal .modal{
  overflow:hidden;
}
#checkoutModal .modal-content,
#cartModal .modal-content,
#galleryModal .modal-content{
  max-height:calc(100vh - 36px);
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
}
@media (max-width:720px){
  .modal > .modal-content,
  #itemModal .modal-grid,
  #checkoutModal .modal-content,
  #cartModal .modal-content,
  #galleryModal .modal-content{
    max-height:calc(100vh - 16px);
  }
}

/* v2.17 item modal photo-edge cleanup
   Keep the item popup image clean by moving scrolling back into the content area only. */
#itemModal .modal{
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#itemModal .modal-grid{
  max-height:calc(100vh - 36px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border-radius:inherit !important;
}
#itemModal .modal-photo{
  flex:0 0 165px !important;
  height:165px !important;
  width:100% !important;
  border-radius:24px 24px 0 0 !important;
  overflow:hidden !important;
  background-clip:padding-box !important;
}
#itemModal .modal-content{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:calc(100vh - 36px - 165px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-gutter:stable !important;
  border-radius:0 0 24px 24px !important;
  padding-right:24px !important;
}
#itemModal .modal-grid::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}
@media (max-width:640px){
  #itemModal .modal-grid{max-height:calc(100vh - 16px) !important;}
  #itemModal .modal-photo{flex-basis:150px !important;height:150px !important;border-radius:20px 20px 0 0 !important;}
  #itemModal .modal-content{max-height:calc(100vh - 16px - 150px) !important;border-radius:0 0 20px 20px !important;padding-right:18px !important;}
}


/* v2.20 shared sign-in / rewards account modal */
.account-modal{width:min(680px,100%);}
.account-intro{margin:6px 0 0;color:var(--muted);font-weight:750;line-height:1.45;max-width:560px;}
.account-preview-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:12px;margin-top:4px;}
.account-card{border:1px solid rgba(30,75,50,.13);background:#fff;border-radius:18px;padding:14px;display:flex;gap:12px;align-items:center;box-shadow:0 10px 24px rgba(35,25,14,.05);}
.account-avatar{width:48px;height:48px;border-radius:16px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:1000;box-shadow:0 10px 18px rgba(30,75,50,.18);}
.account-avatar-img{width:52px;height:52px;border-radius:16px;object-fit:cover;display:block;box-shadow:0 10px 18px rgba(30,75,50,.18);border:2px solid rgba(255,255,255,.85);background:#eef8f1;}
.account-card strong{display:block;font-size:16px;color:var(--ink);font-weight:1000;}
.account-card span,.account-card small{display:block;color:var(--muted);font-weight:800;line-height:1.35;}
.account-card small{font-size:12px;margin-top:3px;}
.reward-balance-card{display:block;background:linear-gradient(135deg,#fff8e8,#fff);border-color:rgba(245,178,51,.45);}
.reward-balance-card b{display:block;font-size:32px;color:var(--green);letter-spacing:-.04em;line-height:1;font-weight:1000;}
.reward-balance-card span{display:block;margin-top:5px;color:var(--ink);font-weight:1000;}
.account-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.account-feature{background:#fff;border:1px solid rgba(30,75,50,.11);border-radius:16px;padding:12px;display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;}
.account-feature b{grid-column:1;grid-row:1 / span 2;width:32px;height:32px;border-radius:12px;background:#f7fbf5;display:grid;place-items:center;}
.account-feature strong{grid-column:2;display:block;color:var(--ink);font-size:13px;font-weight:1000;line-height:1.2;text-align:left;align-self:center;}
.account-feature span{grid-column:2;display:block;color:var(--muted);font-size:12px;font-weight:780;line-height:1.35;margin-top:-3px;text-align:left;}
.recent-order-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(245,178,51,.40);background:#fff8e8;border-radius:18px;padding:13px 14px;}
.recent-order-preview strong{display:block;color:var(--ink);font-weight:1000;}
.recent-order-preview span{display:block;color:var(--muted);font-weight:820;margin-top:2px;}
.account-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;}
#signinBtn.signed-in{background:#fff;color:var(--green);border:1px solid rgba(30,75,50,.18);}
@media (max-width:640px){
  .account-preview-grid,.account-feature-grid,.account-actions{grid-template-columns:1fr;}
  .recent-order-preview{display:grid;}
  .recent-order-preview .btn,.account-actions .btn{width:100%;}
}


/* v2.21 Tri County logo/photo polish */
.logo.logo-image{
  width:72px;
  height:54px;
  border-radius:14px;
  background:#fffdf8;
  padding:5px 7px;
  box-shadow:0 10px 24px rgba(47,111,78,.18);
}
.logo.logo-image img{
  width:100%;height:100%;object-fit:contain;display:block;
}
@media (max-width:640px){
  .logo.logo-image{width:68px;height:52px;border-radius:14px;padding:5px;}
}


/* v2.23 photo framing cleanup
   Use a contained foreground image over a soft blurred cover background so food/product photos
   stay visible instead of being heavily cropped in wide card and modal frames. */
.item-img{
  height:198px !important;
  background-image:var(--item-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background-color:#21170f !important;
}
.item-img::before{
  content:"";
  position:absolute;
  inset:-18px;
  background-image:var(--item-photo);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  filter:blur(16px) saturate(1.08);
  transform:scale(1.08);
  opacity:.72;
  z-index:0;
}
.item-img img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  filter:saturate(1.04) contrast(1.02);
}
.item-img .badge{z-index:2;}
#itemModal .modal-photo{
  flex-basis:200px !important;
  height:200px !important;
  background-image:var(--modal-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background-color:#21170f !important;
}
#itemModal .modal-photo::before{
  content:"";
  position:absolute;
  inset:-22px;
  background-image:var(--modal-photo);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  filter:blur(18px) saturate(1.08);
  transform:scale(1.08);
  opacity:.72;
  z-index:0;
}
#itemModal .modal-photo img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  filter:saturate(1.04) contrast(1.02);
}
#itemModal .modal-content{
  max-height:calc(100vh - 36px - 200px) !important;
}
@media (max-width:640px){
  .item-img{height:178px !important;}
  #itemModal .modal-photo{flex-basis:175px !important;height:175px !important;}
  #itemModal .modal-content{max-height:calc(100vh - 16px - 175px) !important;}
}


/* v2.24 item popup photo hero polish
   Make the large item photo feel like a real feature image again: taller, full-bleed,
   centered crop from the middle out, instead of a small contained image inside a dark frame. */
#itemModal .modal-photo{
  flex:0 0 315px !important;
  height:315px !important;
  min-height:315px !important;
  background-image:none !important;
  background-color:#21170f !important;
  border-bottom:1px solid rgba(37,27,18,.10) !important;
}
#itemModal .modal-photo::before{
  display:none !important;
  content:none !important;
}
#itemModal .modal-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  filter:saturate(1.06) contrast(1.03) !important;
}
#itemModal .modal-content{
  max-height:calc(100vh - 36px - 315px) !important;
}
@media (max-width:640px){
  #itemModal .modal-photo{
    flex-basis:245px !important;
    height:245px !important;
    min-height:245px !important;
  }
  #itemModal .modal-content{
    max-height:calc(100vh - 16px - 245px) !important;
  }
}


/* v2.25 top-down photo framing polish
   Keep the larger restaurant-style item photo holder, but anchor popup images from the top down
   so tall food photos show the prepared item instead of cropping unpredictably from the middle.
   Product cards use the same top-aware framing while keeping the softer contained card look. */
.item-img img{
  object-position:center top !important;
}
.item-img::before{
  background-position:center top !important;
}
#itemModal .modal-photo{
  flex:0 0 340px !important;
  height:340px !important;
  min-height:340px !important;
  background-color:#21170f !important;
}
#itemModal .modal-photo img{
  object-fit:cover !important;
  object-position:center top !important;
}
#itemModal .modal-content{
  max-height:calc(100vh - 36px - 340px) !important;
}
@media (max-width:640px){
  #itemModal .modal-photo{
    flex-basis:260px !important;
    height:260px !important;
    min-height:260px !important;
  }
  #itemModal .modal-content{
    max-height:calc(100vh - 16px - 260px) !important;
  }
}


/* v2.26 item popup photo visibility fix
   The v2.25 top-anchored cover crop still cut off food that sits lower in tall photos.
   Use a restaurant-style feature holder with a soft blurred cover background and a foreground
   image contained inside the frame so the food stays visible and the photo still feels polished. */
#itemModal .modal-photo{
  flex:0 0 360px !important;
  height:360px !important;
  min-height:360px !important;
  background-image:var(--modal-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-color:#21170f !important;
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-bottom:1px solid rgba(37,27,18,.10) !important;
}
#itemModal .modal-photo::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:-24px !important;
  background-image:var(--modal-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  filter:blur(18px) saturate(1.12) brightness(.72) !important;
  transform:scale(1.08) !important;
  opacity:.95 !important;
  z-index:0 !important;
}
#itemModal .modal-photo::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, rgba(20,14,9,.08), rgba(20,14,9,.18)) !important;
  z-index:1 !important;
  pointer-events:none !important;
}
#itemModal .modal-photo img{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  filter:saturate(1.06) contrast(1.04) drop-shadow(0 10px 20px rgba(0,0,0,.22)) !important;
}
#itemModal .modal-content{
  max-height:calc(100vh - 36px - 360px) !important;
}
@media (max-width:640px){
  #itemModal .modal-photo{
    flex-basis:285px !important;
    height:285px !important;
    min-height:285px !important;
  }
  #itemModal .modal-content{
    max-height:calc(100vh - 16px - 285px) !important;
  }
}

/* v2.27 mobile responsiveness pass
   Keep the approved desktop layout, but make the customer flow cleaner on phones. */
@media (max-width: 760px){
  html,body{max-width:100%;overflow-x:hidden;}
  .top-ribbon{font-size:11px;line-height:1.25;padding:8px 10px;}
  header{position:sticky;top:0;z-index:70;}
  .nav{padding:10px 12px;gap:10px;align-items:center;}
  .brand{min-width:0;gap:9px;}
  .logo{width:42px;height:42px;border-radius:13px;flex:0 0 auto;}
  .brand h1{font-size:18px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw;}
  .brand p{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw;}
  .nav-actions{gap:7px;flex:0 0 auto;}
  .nav-actions .btn{min-height:38px;padding:9px 10px;border-radius:12px;font-size:13px;}
  .nav-actions .btn.ghost{display:none;}
  .cart-count{min-width:20px;height:20px;font-size:11px;}

  .hero{grid-template-columns:1fr !important;gap:14px;padding:14px 12px 10px;}
  .hero-card{min-height:430px;border-radius:24px;padding:24px 18px;}
  .hero h2{font-size:clamp(38px,12vw,54px);line-height:.98;letter-spacing:-.055em;}
  .hero p{font-size:15px;line-height:1.45;}
  .hero-chips{gap:8px;margin-top:18px;}
  .chip,.chip-button{font-size:12px;padding:9px 11px;border-radius:999px;}
  .info-stack{gap:12px;}
  .store-card,.deal-card{border-radius:22px;padding:16px;}
  .store-card-head{gap:8px;align-items:flex-start;}
  .store-card-head h2,.deal-card h3{font-size:20px;}
  .store-owner-button{min-height:36px;padding:8px 10px;font-size:12px;border-radius:11px;}
  .store-row{font-size:13px;line-height:1.35;}
  .mini-gallery{grid-template-columns:repeat(5,minmax(58px,1fr));gap:7px;}
  .gallery-thumb{min-height:58px;border-radius:10px;}
  .gallery-thumb span{font-size:9px;padding:4px;}
  .deal-inner{gap:9px;padding:8px;}
  .deal-photo{width:68px;height:52px;border-radius:11px;}
  .deal-copy strong{font-size:13px;}
  .deal-copy small{font-size:10px;line-height:1.2;}
  .deal-price{font-size:12px;padding:7px 9px;}

  .business-shortcut{margin:10px 12px 12px !important;padding:14px !important;border-radius:18px !important;gap:10px !important;}
  .business-shortcut .btn{width:100%;justify-content:center;}
  .flow-strip{grid-template-columns:1fr !important;padding:0 12px;margin:12px auto;gap:9px;}
  .flow-card{padding:12px;border-radius:16px;}
  .flow-card strong{font-size:13px;}
  .flow-card p{font-size:12px;line-height:1.35;}

  .category-wrap{top:62px !important;margin:0 0 12px;border-radius:0;border-left:0;border-right:0;}
  .mobile-menu-toggle{display:flex !important;}
  .categories{display:flex;gap:8px;padding:10px 12px;overflow-x:auto;max-height:none;flex-direction:row;}
  .cat-btn{min-height:38px;padding:9px 12px;font-size:13px;border-radius:12px;width:auto;text-align:center;}

  .section{padding:20px 12px;}
  .section-head{margin:4px 0 14px;align-items:flex-start;flex-direction:column;gap:8px;}
  .section-head h2{font-size:28px;}
  .section-head p{font-size:14px;line-height:1.4;}
  .grid{grid-template-columns:1fr !important;gap:13px;}
  .item{border-radius:20px;}
  .item-img{height:190px;}
  .item-body{padding:14px;gap:10px;}
  .item h3{font-size:20px;}
  .item p{font-size:14px;}
  .price-row .btn{min-height:44px;padding:10px 14px;}

  .owner-preview,.pages-preview{padding-left:12px;padding-right:12px;}
  .owner-panel,.pages-panel{border-radius:22px;padding:16px;}
  .owner-grid,.pages-head{grid-template-columns:1fr !important;gap:14px;}
  .owner-cards,.page-layout-cards{grid-template-columns:1fr !important;}
  .owner-mini-screen{min-height:0;}
  .pages-nav-demo{overflow-x:auto;}
  .pages-nav-list{min-width:560px;}

  .back-to-top{right:14px;bottom:16px;width:44px;height:44px;border-radius:14px;font-size:22px;}
}

@media (max-width: 760px){
  .modal-backdrop{align-items:stretch;justify-content:center;padding:8px;}
  .modal{width:100% !important;max-height:calc(100dvh - 16px) !important;border-radius:22px;overflow:hidden !important;display:flex;flex-direction:column;}
  .modal-content{padding:16px !important;gap:11px;overflow:auto;max-height:none !important;min-height:0;}
  .modal h2{font-size:24px;line-height:1.05;}
  .close{width:38px;height:38px;border-radius:12px;font-size:20px;flex:0 0 auto;}
  #itemModal .modal-photo{height:250px !important;min-height:250px !important;flex:0 0 250px !important;border-radius:22px 22px 0 0 !important;}
  #itemModal .modal-content{max-height:none !important;}
  .customer-flow-card{grid-template-columns:1fr;gap:8px;padding:11px;}
  .customer-flow-card .flow-icon{width:34px;height:34px;font-size:17px;}
  .modal-detail-grid{grid-template-columns:1fr;gap:8px;}
  .option-box{padding:12px;border-radius:16px;}
  .choice{padding:10px;align-items:flex-start;}
  .sticky-actions{margin-left:-16px;margin-right:-16px;padding:12px 16px max(12px,env(safe-area-inset-bottom));}
  .sticky-actions .btn{min-height:46px;padding:11px 14px;}

  .cart-summary{grid-template-columns:1fr;}
  .cart-line{grid-template-columns:1fr;}
  .cart-line .remove{justify-self:start;}
  .checkout-review-head{align-items:flex-start;}
  .checkout-review-line{flex-direction:column;gap:6px;}
  .checkout-review-line>span{white-space:normal;align-self:flex-end;}
  .checkout-review-lines{max-height:210px;}
  .address-grid{grid-template-columns:1fr;}
  .receipt-meta-grid,.receipt-bottom-grid{grid-template-columns:1fr !important;}
  #galleryLarge{height:45vh !important;}
}

@media (max-width: 430px){
  .brand h1{max-width:42vw;font-size:16px;}
  .brand p{max-width:42vw;font-size:10px;}
  .nav-actions .btn{font-size:12px;padding:8px 9px;}
  .hero-card{min-height:390px;padding:20px 16px;}
  .hero h2{font-size:37px;}
  .hero p{font-size:14px;}
  .mini-gallery{grid-template-columns:repeat(5,56px);overflow-x:auto;}
  .deal-inner{grid-template-columns:62px 1fr auto;}
  .deal-photo{width:62px;height:48px;}
  .item-img{height:175px;}
  #itemModal .modal-photo{height:220px !important;min-height:220px !important;flex-basis:220px !important;}
}


/* v2.28 mobile consistency and gallery preview polish */
.hero-feature-list{display:none;margin:18px 0 0;padding:0;list-style:none;position:relative;z-index:2;max-width:640px}
.hero-feature-list li{display:flex;gap:8px;align-items:flex-start;color:rgba(255,255,255,.96);font-weight:850;line-height:1.35;text-shadow:0 3px 14px rgba(0,0,0,.38);margin:6px 0;font-size:14px}
.hero-feature-list li::before{content:"•";font-size:22px;line-height:.9;color:var(--brand2);text-shadow:0 3px 12px rgba(0,0,0,.35)}
.nav-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.nav-icon{font-size:17px;line-height:1}
.nav-label{line-height:1}
.gallery-preview-card{width:100%;text-align:left;font:inherit;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.gallery-preview-card:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(35,25,14,.13);border-color:rgba(242,184,75,.75)}
.gallery-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.gallery-card-head h3{margin:0!important}
.gallery-card-head span{font-weight:1000;color:var(--brand);font-size:12px;white-space:nowrap}
.gallery-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.gallery-large{height:min(56vh,430px);border-radius:20px;background:center/cover no-repeat;box-shadow:0 14px 34px rgba(35,25,14,.14)}
.gallery-lightbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;max-height:min(58vh,520px);overflow:auto;padding:4px 4px 8px}
.gallery-lightbox-item{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;padding:0;text-align:left;box-shadow:0 10px 22px rgba(35,25,14,.09)}
.gallery-lightbox-item img{width:100%;height:118px;display:block;object-fit:cover}
.gallery-lightbox-item span{display:block;padding:9px 10px;font-weight:1000;color:var(--ink);font-size:13px}

@media (max-width:760px){
  .nav{padding:11px 14px;gap:8px}
  .logo{width:58px!important;height:58px!important;border-radius:18px!important}
  .brand h1{font-size:19px!important;max-width:44vw!important}
  .brand p{font-size:11px!important;max-width:44vw!important}
  .nav-actions{gap:8px}
  .nav-actions .btn.ghost{display:inline-flex!important}
  .nav-actions .nav-icon-btn{width:46px;height:46px;min-height:46px;padding:0;border-radius:15px;font-size:0;box-shadow:0 8px 18px rgba(35,25,14,.10)}
  .nav-actions .nav-icon{font-size:20px}
  .nav-actions .nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nav-actions .cart-count{position:absolute;right:-5px;top:-5px;margin:0;min-width:22px;height:22px;border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.12)}
  #signinBtn.signed-in{background:var(--brand2)}
  .hero-feature-list{display:block}
  .hero-chips{margin-top:14px}
  .hero-chips .chip:not(.chip-button){display:none}
  .hero-chips .chip-button{font-size:14px;padding:12px 17px;box-shadow:0 12px 22px rgba(0,0,0,.16)}
  .hero-card{min-height:0!important;padding:24px 18px 26px!important}
  .hero h2{font-size:clamp(34px,11vw,48px)!important;line-height:1!important;margin:20px 0 10px!important}
  .hero p{font-size:14px!important;line-height:1.42!important}
  .gallery-card{padding:16px!important}
  .gallery-preview-grid{grid-template-columns:repeat(4,1fr)!important;overflow:visible!important;gap:8px!important}
  .gallery-thumb{height:auto!important;min-height:0!important;aspect-ratio:1/1!important}
  .gallery-thumb:nth-child(n+5){display:none!important}
  .gallery-card-head span{font-size:11px}
  .deal-banner{grid-template-columns:72px 1fr!important;gap:12px!important;padding:12px!important}
  .deal-price{grid-column:2;justify-self:start;margin-top:4px}
  .flow-step{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:16px!important}
  .flow-step b{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#eefaf3;font-size:21px}
  .cart-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  .cart-summary div{min-height:0!important;padding:8px 7px!important;border-radius:13px!important;grid-template-columns:1fr!important;place-items:center!important;text-align:center!important;gap:2px!important}
  .cart-summary b{grid-row:auto!important;font-size:16px!important;line-height:1!important}
  .cart-summary strong{font-size:18px!important;line-height:1!important}
  .cart-summary span{font-size:8.5px!important;line-height:1.05!important;letter-spacing:.02em!important}
  #checkoutModal .checkout-review-summary .cart-summary,
  #cartModal .cart-review-summary .cart-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .bottom-bar{gap:8px!important;padding:8px calc(10px + env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left,0px))!important}
  .bottom-bar button{min-height:48px!important;border-radius:15px!important;font-size:16px!important}
  .back-to-top{bottom:calc(70px + var(--safe-bottom))!important;right:18px!important}
}

@media (max-width:430px){
  .logo{width:56px!important;height:56px!important}
  .brand h1{max-width:38vw!important;font-size:18px!important}
  .brand p{max-width:38vw!important}
  .nav-actions .nav-icon-btn{width:43px;height:43px;min-height:43px;border-radius:14px}
  .nav-actions .nav-icon{font-size:19px}
  .hero-feature-list li{font-size:13px;line-height:1.3;margin:5px 0}
  .gallery-preview-grid{gap:7px!important}
  .gallery-thumb span{font-size:8.5px!important;left:4px;right:4px;bottom:4px}
  .cart-summary span{font-size:8px!important}
}


/* v2.29 mobile header alignment + gallery click reliability */
@media (max-width:760px){
  header{position:relative!important;top:auto!important;}
  .nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    justify-content:stretch!important;
    gap:10px!important;
    padding:18px 20px 18px!important;
  }
  .brand{
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    align-items:center!important;
    gap:18px!important;
    width:100%!important;
  }
  .logo.logo-image,
  .logo{
    width:112px!important;
    height:112px!important;
    min-width:112px!important;
    border-radius:26px!important;
    padding:10px!important;
  }
  .logo.logo-image img{max-width:100%!important;max-height:100%!important;object-fit:contain!important;}
  .brand h1{
    font-size:27px!important;
    line-height:1.02!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .brand p{
    font-size:15px!important;
    line-height:1.2!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .nav-actions{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    margin-left:130px!important;
    width:auto!important;
  }
  .nav-actions .btn.ghost{display:inline-flex!important;}
  .nav-actions .nav-icon-btn{
    position:relative!important;
    width:48px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    border-radius:16px!important;
    font-size:0!important;
    box-shadow:0 9px 18px rgba(35,25,14,.12)!important;
  }
  .nav-actions .nav-icon{font-size:21px!important;}
  .nav-actions .nav-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;}
  .nav-actions .cart-count{position:absolute!important;right:-6px!important;top:-7px!important;margin:0!important;min-width:23px!important;height:23px!important;border:2px solid #fff!important;}
  .category-wrap{top:0!important;}
  .gallery-preview-card,
  .gallery-preview-card *{cursor:pointer!important;}
}

@media (max-width:430px){
  .nav{padding:16px 18px 17px!important;gap:9px!important;}
  .brand{grid-template-columns:96px minmax(0,1fr)!important;gap:14px!important;}
  .logo.logo-image,
  .logo{width:96px!important;height:96px!important;min-width:96px!important;border-radius:24px!important;padding:9px!important;}
  .brand h1{font-size:24px!important;}
  .brand p{font-size:13px!important;}
  .nav-actions{margin-left:110px!important;gap:9px!important;}
  .nav-actions .nav-icon-btn{width:46px!important;height:46px!important;min-height:46px!important;}
}


/* v2.30 Owner/Admin preview modal */
.admin-preview-modal{max-width:860px !important;}
.admin-intro{color:var(--muted);font-weight:800;line-height:1.45;margin:6px 0 0;}
.admin-preview-shell{display:grid;grid-template-columns:190px 1fr;gap:16px;margin-top:4px;}
.admin-side-nav{background:rgba(247,239,224,.75);border:1px solid var(--line);border-radius:22px;padding:10px;display:grid;gap:8px;align-content:start;}
.admin-tab{border:0;background:#fff;border-radius:16px;padding:12px 11px;text-align:left;font-weight:1000;color:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.04);cursor:pointer;}
.admin-tab.active{background:var(--green);color:#fff;}
.admin-tab-panel{display:none;border:1px solid var(--line);border-radius:22px;background:#fff;padding:16px;min-height:330px;}
.admin-tab-panel.active{display:block;}
.admin-panel-title{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px;}
.admin-panel-title span{font-size:20px;font-weight:1000;color:var(--ink);letter-spacing:-.02em;}
.admin-panel-title b{background:rgba(47,124,83,.1);color:var(--green);border-radius:999px;padding:8px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;}
.admin-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;}
.admin-stat-grid div,.admin-setting-grid div{border:1px solid var(--line);border-radius:18px;padding:13px;background:#fffdf8;}
.admin-stat-grid strong{font-size:26px;display:block;color:var(--green);line-height:1;}
.admin-stat-grid span,.admin-setting-grid span,.admin-feature-row span,.admin-note{display:block;color:var(--muted);font-weight:800;line-height:1.35;}
.admin-list{display:grid;gap:9px;}
.admin-list div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff;}
.admin-list span{color:var(--muted);font-weight:800;font-size:13px;}
.admin-list em{grid-row:1 / span 2;align-self:center;font-style:normal;background:var(--gold);border-radius:999px;padding:7px 9px;font-weight:1000;font-size:12px;}
.admin-feature-row{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:12px;background:#fffdf8;margin-bottom:12px;}
.admin-feature-row img{width:100%;height:92px;object-fit:cover;border-radius:14px;}
.admin-check-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.admin-check-list span{background:rgba(47,124,83,.08);border:1px solid rgba(47,124,83,.15);border-radius:16px;padding:11px;font-weight:1000;color:var(--green);}
.admin-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;}
.admin-gallery-grid img{width:100%;height:86px;object-fit:cover;border-radius:16px;border:1px solid var(--line);}
.admin-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.admin-setting-grid strong{display:block;margin-bottom:4px;}
.admin-page-list{display:grid;gap:9px;}
.admin-page-list div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;padding:11px;background:#fffdf8;}
.admin-page-list span{color:var(--muted);font-weight:1000;}
.admin-page-list em{font-style:normal;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:1000;}
.admin-preview-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:14px;}
@media(max-width:760px){
  .admin-preview-modal{width:calc(100vw - 18px) !important;}
  .admin-preview-shell{grid-template-columns:1fr;}
  .admin-side-nav{display:flex;overflow-x:auto;gap:8px;padding:9px;border-radius:18px;}
  .admin-tab{white-space:nowrap;padding:10px 12px;}
  .admin-tab-panel{min-height:0;padding:13px;border-radius:18px;}
  .admin-stat-grid,.admin-setting-grid,.admin-check-list{grid-template-columns:1fr;}
  .admin-feature-row{grid-template-columns:1fr;}
  .admin-feature-row img{height:150px;}
  .admin-gallery-grid{grid-template-columns:repeat(2,1fr);}
  .admin-preview-footer{display:grid;}
}


/* v2.32 keeper cleanup: mobile title/back-to-top polish
   Preserve v2.31 layout while making the banner/title text clean on phones. */
@media (max-width:760px){
  .hero h2{
    color:#fff !important;
    -webkit-text-stroke:0 !important;
    text-stroke:0 !important;
    text-shadow:none !important;
    filter:none !important;
  }
  .hero p,
  .hero-feature-list li{
    -webkit-text-stroke:0 !important;
    text-stroke:0 !important;
  }
  .back-to-top{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  body.modal-open .back-to-top{
    display:none !important;
  }
}


/* v2.34 keeper-safe prospect polish: readiness strip + mobile containment. */
.demo-readiness-strip{
  max-width:1180px;
  margin:18px auto 10px;
  padding:0 20px;
}
.demo-readiness-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:linear-gradient(135deg,#173f2a,#2f6f4e);
  color:#fff;
  border-radius:22px 22px 0 0;
  padding:16px 18px;
  box-shadow:0 18px 40px rgba(24,48,32,.14);
}
.demo-readiness-head span{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  padding:7px 10px;
  font-weight:1000;
  font-size:12px;
  white-space:nowrap;
}
.demo-readiness-head strong{font-size:18px;line-height:1.2;text-align:right;}
.demo-readiness-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  background:#fff;
  border:1px solid var(--line);
  border-top:0;
  border-radius:0 0 22px 22px;
  padding:12px;
  box-shadow:0 18px 40px rgba(24,48,32,.08);
}
.demo-readiness-grid div{
  border:1px solid var(--line);
  background:#fffdf8;
  border-radius:18px;
  padding:14px;
  display:grid;
  gap:7px;
  min-width:0;
}
.demo-readiness-grid b{font-size:24px;line-height:1;}
.demo-readiness-grid strong{color:var(--ink);font-size:15px;line-height:1.15;}
.demo-readiness-grid span{color:var(--muted);font-weight:750;font-size:12px;line-height:1.35;}
@media (max-width:900px){
  .demo-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .demo-readiness-strip{margin:12px auto 6px;padding:0 12px;}
  .demo-readiness-head{display:grid;justify-items:start;border-radius:20px 20px 0 0;padding:14px;}
  .demo-readiness-head strong{text-align:left;font-size:16px;}
  .demo-readiness-grid{grid-template-columns:1fr;border-radius:0 0 20px 20px;padding:10px;}
  .demo-readiness-grid div{grid-template-columns:34px 1fr;align-items:start;column-gap:10px;padding:12px;}
  .demo-readiness-grid b{grid-row:1 / span 2;font-size:23px;}
  .demo-readiness-grid span{font-size:12px;}
}
@media (max-width:430px){
  .demo-readiness-head strong{font-size:15px;}
  .demo-readiness-grid div{border-radius:16px;}
}


/* v2.38 shared restaurant owner controls adapted for Local Markets */
.admin-control-modal{max-width:980px!important;}
.admin-control-status{background:linear-gradient(135deg,rgba(47,111,78,.10),rgba(242,184,75,.15));border:1px solid rgba(47,111,78,.16);color:var(--ink);font-weight:900;border-radius:18px;padding:12px 14px;margin:0 0 12px;line-height:1.35;}
.admin-control-shell{grid-template-columns:210px 1fr;}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.admin-form-grid.compact{gap:10px;}
.admin-form-grid label,.admin-editor-row label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.035em;}
.admin-form-grid .wide{grid-column:1 / -1;}
.admin-form-grid input,.admin-form-grid textarea,.admin-form-grid select,.admin-editor-row input,.admin-editor-row select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fffdf8;color:var(--ink);padding:11px 12px;font-weight:850;outline:none;}
.admin-form-grid textarea{min-height:78px;resize:vertical;text-transform:none;letter-spacing:0;line-height:1.35;}
.admin-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.admin-photo-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 14px;}
.admin-photo-picker button{border:1px solid var(--line);background:#fff;border-radius:18px;padding:8px;display:grid;gap:7px;font-weight:1000;color:var(--ink);}
.admin-photo-picker button.active{outline:3px solid rgba(47,111,78,.24);border-color:rgba(47,111,78,.55);}
.admin-photo-picker img{width:100%;height:82px;object-fit:cover;border-radius:12px;display:block;}
.admin-editor-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px;}
.admin-live-product-list div:first-child{background:linear-gradient(135deg,#fff8e6,#fffdf8);}
.admin-control-checks button{border:0;text-align:left;background:rgba(47,124,83,.08);border:1px solid rgba(47,124,83,.15);border-radius:16px;padding:11px;font-weight:1000;color:var(--green);}
.admin-control-checks button.off{background:#fff;border-color:var(--line);color:var(--muted);}
.admin-deal-editor{grid-template-columns:170px 1fr;align-items:start;}
.admin-setting-grid button,.admin-page-list button{border:0;background:var(--brand2);color:#311d06;font-weight:1000;border-radius:12px;padding:8px 10px;margin-top:9px;}
.admin-page-controls div{grid-template-columns:auto 1fr auto auto;}
@media(max-width:760px){
  .admin-control-modal{width:calc(100vw - 16px)!important;}
  .admin-control-shell{grid-template-columns:1fr;}
  .admin-form-grid,.admin-editor-row,.admin-deal-editor{grid-template-columns:1fr;}
  .admin-photo-picker{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-photo-picker img{height:92px;}
  .admin-page-controls div{grid-template-columns:auto 1fr auto;}
  .admin-page-controls button{grid-column:1 / -1;}
}


/* v2.38 global prep-time control standard */
.admin-product-editor-row{grid-template-columns:1fr 1fr 1fr 1fr;align-items:end;}
.admin-product-editor-row .custom-prep-wrap{display:none;}
.custom-prep-wrap.show{display:grid!important;}
.admin-prep-standard-note{border:1px dashed rgba(47,111,78,.34);background:rgba(47,111,78,.07);color:var(--muted);font-weight:850;border-radius:16px;padding:11px 12px;margin:-2px 0 12px;line-height:1.35;}
.admin-prep-standard-note strong{color:var(--green);}
.admin-inline-control{display:grid;gap:6px;margin-top:10px;color:var(--muted);font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.035em;}
.admin-inline-control select,.admin-inline-control input{width:100%;border:1px solid var(--line);border-radius:14px;background:#fffdf8;color:var(--ink);padding:10px 11px;font-weight:850;outline:none;margin-top:2px;}
@media(max-width:900px){.admin-product-editor-row{grid-template-columns:1fr 1fr;}}
@media(max-width:760px){.admin-product-editor-row{grid-template-columns:1fr;}.admin-inline-control{max-width:none;}}


/* v2.40 Universal Business Template + Matched Photo Crop Previews */
.marketplace-nav-links{display:flex;align-items:center;gap:12px;margin-left:auto;margin-right:10px;font-size:13px;font-weight:900;color:var(--muted);white-space:nowrap}
.marketplace-nav-links span{color:var(--green);background:rgba(47,111,78,.10);border:1px solid rgba(47,111,78,.18);border-radius:999px;padding:8px 11px}
.marketplace-nav-links a{color:var(--ink);text-decoration:none;border-bottom:2px solid transparent;padding:7px 2px}
.marketplace-nav-links a:hover{border-bottom-color:var(--gold)}
.universal-template-strip{border-color:rgba(47,111,78,.24);background:linear-gradient(135deg,rgba(47,111,78,.10),rgba(250,182,52,.12),rgba(255,255,255,.82));}
.marketplace-footer{max-width:1180px;margin:34px auto 24px;padding:24px;border-radius:26px;background:linear-gradient(135deg,#1f4f38,#2f6f4e);color:#fff;box-shadow:0 18px 42px rgba(31,79,56,.20);display:grid;gap:16px}
.footer-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-brand strong{font-size:24px;letter-spacing:-.02em}
.footer-brand span{max-width:720px;color:rgba(255,255,255,.86);font-weight:800;line-height:1.45}
.footer-links{display:flex;flex-wrap:wrap;gap:9px}
.footer-links span{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900}
.footer-note{border-top:1px solid rgba(255,255,255,.18);padding-top:14px;color:rgba(255,255,255,.80);font-size:13px;font-weight:800;line-height:1.45}
.admin-control-modal .admin-side-nav{grid-template-columns:1fr;}
.admin-control-modal .admin-tab{font-size:13px;line-height:1.2;}
.admin-intro{max-width:780px}
@media(max-width:980px){.marketplace-nav-links{display:none}.marketplace-footer{margin:26px 14px 22px;border-radius:22px}.footer-brand{display:grid}.footer-brand strong{font-size:21px}}
@media(max-width:640px){.marketplace-footer{padding:18px}.footer-links span{font-size:12px;padding:7px 10px}.admin-control-modal .admin-tab{font-size:12px}}

/* v2.38 shared photo positioning / focal point controls */
.photo-position-tool{display:grid;gap:10px;min-width:0;}
.photo-position-frame{position:relative;width:100%;min-height:126px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#120b06;cursor:grab;touch-action:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.photo-position-frame.dragging{cursor:grabbing;outline:3px solid rgba(47,111,78,.22);}
.photo-position-image{position:absolute;inset:0;background-repeat:no-repeat;background-position:50% 50%;background-size:130%;transition:background-position .06s linear, background-size .08s ease;}
.photo-position-frame.dragging .photo-position-image{transition:none;}
.photo-position-hint{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92);color:var(--ink);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:1000;box-shadow:0 8px 22px rgba(0,0,0,.16);pointer-events:none;}
.photo-zoom-control{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.035em;}
.photo-zoom-control input{width:100%;accent-color:var(--green);}
.photo-position-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.admin-note.small-note{font-size:12px;margin:0;line-height:1.35;}
@media(max-width:760px){.photo-position-frame{min-height:170px}.photo-position-actions{grid-template-columns:1fr;}}

/* v2.38 drag fix for shared photo focal-point control */
.photo-position-frame,.photo-position-image{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;}
.photo-position-image{pointer-events:none;}

/* v2.39 cleanup: compact shared photo focal-point controls */
.admin-note.compact-note{font-size:13px;line-height:1.35;margin:0 0 10px;color:var(--muted);font-weight:800;}
.compact-photo-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 10px;}
.compact-photo-picker button{border-radius:15px;padding:7px;font-size:12px;}
.compact-photo-picker img{height:58px;border-radius:10px;}
.shared-photo-card{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;background:#fffdf8;padding:10px;margin:10px 0;}
.shared-photo-copy{display:grid;gap:5px;min-width:0;}
.shared-photo-copy strong{color:var(--ink);font-size:15px;line-height:1.2;}
.shared-photo-copy span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.35;}
.compact-deal-editor{grid-template-columns:185px 1fr!important;padding:10px!important;border-radius:18px!important;margin-bottom:10px!important;gap:12px!important;}
.compact-crop-tool{gap:7px;}
.photo-position-frame-sm{min-height:84px!important;border-radius:14px!important;}
.photo-position-frame-sm .photo-position-hint{left:7px;bottom:7px;padding:4px 7px;font-size:10px;}
.compact-range{gap:4px;font-size:10px;letter-spacing:.04em;}
.compact-actions{grid-template-columns:1fr 1fr;gap:6px;}
.btn.mini{min-height:36px!important;padding:8px 10px!important;border-radius:12px!important;font-size:12px!important;line-height:1.1!important;box-shadow:none!important;}
.deal-fields-compact{gap:8px;}
.deal-fields-compact label{font-size:10px;gap:4px;}
.deal-fields-compact input{border-radius:12px;padding:9px 10px;font-size:12px;}
.compact-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.compact-checks button{font-size:13px;padding:9px 10px;border-radius:14px;line-height:1.2;}
@media(max-width:760px){
  .shared-photo-card,.compact-deal-editor{grid-template-columns:1fr!important;}
  .photo-position-frame-sm{min-height:140px!important;}
  .compact-photo-picker{grid-template-columns:repeat(2,minmax(0,1fr));}
  .compact-photo-picker img{height:78px;}
  .compact-checks{grid-template-columns:1fr;}
}


/* v2.40 matched live photo preview boxes
   The crop editor frame must match the customer-facing display area ratio. Otherwise drag/zoom settings feel correct in admin but render differently on the live storefront. */
.matched-live-crop{min-height:0!important;height:auto!important;background-color:#120b06;}
.matched-deal-crop{
  aspect-ratio:82 / 58;
  width:100%;
  max-width:170px;
  justify-self:start;
  border-radius:13px!important;
}
.compact-deal-editor .photo-position-tool{align-self:start;}
.compact-deal-editor{grid-template-columns:174px 1fr!important;}
.matched-hero-crop{
  aspect-ratio:614 / 380;
  width:100%;
  max-width:220px;
  border-radius:18px!important;
}
.shared-photo-copy strong::after{content:"";}
.admin-note.matched-crop-note{font-size:12px;line-height:1.35;color:var(--muted);font-weight:850;margin:6px 0 0;}
.photo-position-hint{opacity:.94;}
@media(max-width:760px){
  .matched-deal-crop,.matched-hero-crop{max-width:none;width:100%;}
  .matched-deal-crop{aspect-ratio:82 / 58;}
  .matched-hero-crop{aspect-ratio:614 / 380;}
}

/* v2.42 global matched photo controls
   Every owner-edited photo area should use a crop preview with the same aspect ratio as the live customer-facing display box. */
.photo-area-card{margin-top:8px;}
.product-photo-card{margin:10px 0 12px;grid-template-columns:220px 1fr;}
.matched-gallery-crop{aspect-ratio:1 / 1;width:100%;max-width:118px;border-radius:12px!important;}
.matched-item-crop{aspect-ratio:1.45 / 1;width:100%;max-width:190px;border-radius:16px!important;}
.gallery-thumb.owner-cropped{background:center/cover no-repeat;overflow:hidden;}
.gallery-thumb.owner-cropped img{opacity:0!important;}
.item-img.owner-cropped{background-color:#21170f!important;background-repeat:no-repeat!important;align-items:stretch!important;justify-content:stretch!important;}
.item-img.owner-cropped::before{opacity:0!important;}
.item-img.owner-cropped img{opacity:0!important;}
@media(max-width:760px){.product-photo-card{grid-template-columns:1fr;}.matched-gallery-crop,.matched-item-crop{max-width:100%;}}

/* v2.42 Business Admin cleanup + complete matched photo previews
   The admin tool should feel like one polished Menu Marketplace control center, not large rough demo boxes.
   Every crop editor must show a visible preview matching the live customer-facing photo area. */
.admin-control-modal{
  max-width:900px!important;
}
.admin-control-modal .modal-header h3{
  font-size:24px!important;
  letter-spacing:-.025em!important;
  line-height:1.08!important;
}
.admin-control-modal .modal-header small{
  font-size:11px!important;
  letter-spacing:.02em!important;
}
.admin-control-modal .admin-intro{
  font-size:13px!important;
  line-height:1.36!important;
  max-width:680px!important;
  margin-top:5px!important;
}
.admin-control-status{
  padding:10px 12px!important;
  border-radius:15px!important;
  font-size:13px!important;
  line-height:1.32!important;
  margin-bottom:10px!important;
}
.admin-preview-shell,
.admin-control-shell{
  grid-template-columns:184px 1fr!important;
  gap:12px!important;
}
.admin-side-nav{
  border-radius:18px!important;
  padding:8px!important;
  gap:7px!important;
}
.admin-control-modal .admin-tab{
  border-radius:13px!important;
  padding:9px 10px!important;
  font-size:12px!important;
  line-height:1.15!important;
}
.admin-tab-panel{
  border-radius:18px!important;
  padding:14px!important;
  min-height:300px!important;
}
.admin-panel-title{
  padding-bottom:10px!important;
  margin-bottom:10px!important;
  gap:10px!important;
}
.admin-panel-title span{
  font-size:19px!important;
}
.admin-panel-title b{
  padding:6px 9px!important;
  font-size:10px!important;
  letter-spacing:.035em!important;
}
.admin-note.compact-note,
.admin-note,
.shared-photo-copy span,
.admin-list span,
.admin-stat-grid span,
.admin-setting-grid span,
.admin-feature-row span{
  font-size:12px!important;
  line-height:1.32!important;
  font-weight:780!important;
}
.admin-stat-grid{
  gap:8px!important;
  margin-bottom:10px!important;
}
.admin-stat-grid div,
.admin-setting-grid div{
  padding:10px!important;
  border-radius:14px!important;
}
.admin-stat-grid strong{
  font-size:22px!important;
}
.admin-form-grid,
.admin-editor-row{
  gap:9px!important;
}
.admin-form-grid label,
.admin-editor-row label{
  font-size:10px!important;
  gap:4px!important;
}
.admin-form-grid input,
.admin-form-grid textarea,
.admin-form-grid select,
.admin-editor-row input,
.admin-editor-row select,
.admin-inline-control select,
.admin-inline-control input{
  border-radius:11px!important;
  padding:8px 9px!important;
  font-size:12px!important;
}
.admin-form-grid textarea{
  min-height:58px!important;
}
.admin-photo-picker{
  gap:7px!important;
  margin:8px 0 9px!important;
}
.admin-photo-picker button{
  border-radius:13px!important;
  padding:6px!important;
  gap:5px!important;
  font-size:11px!important;
}
.admin-photo-picker img{
  height:50px!important;
  border-radius:9px!important;
}
.shared-photo-card{
  grid-template-columns:170px 1fr!important;
  gap:10px!important;
  padding:9px!important;
  border-radius:15px!important;
  margin:8px 0!important;
  align-items:center!important;
}
.shared-photo-copy strong{
  font-size:14px!important;
  line-height:1.15!important;
}
.photo-position-tool{
  gap:5px!important;
}
.photo-zoom-control{
  font-size:9px!important;
  gap:3px!important;
}
.photo-position-hint{
  left:7px!important;
  bottom:7px!important;
  padding:4px 7px!important;
  font-size:10px!important;
}
.btn.mini{
  min-height:31px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
  font-size:11px!important;
}
.compact-actions{
  gap:5px!important;
}
/* Fixed visible sizes ensure gallery/item preview boxes never collapse into a line. */
.matched-gallery-crop{
  width:112px!important;
  height:112px!important;
  max-width:112px!important;
  aspect-ratio:auto!important;
  border-radius:12px!important;
  justify-self:start!important;
}
.matched-item-crop{
  width:154px!important;
  height:106px!important;
  max-width:154px!important;
  aspect-ratio:auto!important;
  border-radius:14px!important;
  justify-self:start!important;
}
.matched-hero-crop{
  width:170px!important;
  height:106px!important;
  max-width:170px!important;
  aspect-ratio:auto!important;
  border-radius:14px!important;
  justify-self:start!important;
}
.matched-deal-crop{
  width:150px!important;
  height:106px!important;
  max-width:150px!important;
  aspect-ratio:auto!important;
  border-radius:13px!important;
  justify-self:start!important;
}
.photo-position-frame{
  min-height:0!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10), 0 8px 20px rgba(36,24,12,.08)!important;
}
.admin-prep-standard-note{
  padding:9px 10px!important;
  border-radius:13px!important;
  font-size:12px!important;
  line-height:1.3!important;
  margin:8px 0 10px!important;
}
.admin-list{
  gap:7px!important;
}
.admin-list div{
  border-radius:14px!important;
  padding:10px!important;
}
.admin-list em{
  padding:5px 8px!important;
  font-size:10px!important;
}
.admin-check-list,
.compact-checks{
  gap:7px!important;
}
.admin-control-checks button,
.compact-checks button{
  padding:8px 9px!important;
  border-radius:12px!important;
  font-size:12px!important;
  line-height:1.18!important;
}
.admin-preview-footer{
  margin-top:10px!important;
}
@media(max-width:760px){
  .admin-control-modal{width:calc(100vw - 14px)!important;max-width:none!important;}
  .admin-preview-shell,.admin-control-shell{grid-template-columns:1fr!important;gap:10px!important;}
  .admin-side-nav{display:flex!important;overflow-x:auto!important;gap:7px!important;}
  .admin-tab{white-space:nowrap!important;}
  .admin-tab-panel{padding:12px!important;}
  .shared-photo-card{grid-template-columns:1fr!important;}
  .matched-gallery-crop,.matched-item-crop,.matched-hero-crop,.matched-deal-crop{
    width:100%!important;
    max-width:none!important;
  }
  .matched-gallery-crop{height:auto!important;aspect-ratio:1/1!important;}
  .matched-item-crop{height:auto!important;aspect-ratio:1.45/1!important;}
  .matched-hero-crop{height:auto!important;aspect-ratio:614/380!important;}
  .matched-deal-crop{height:auto!important;aspect-ratio:82/58!important;}
}


/* v2.43 Platform Shell + Unified Control Center */
.platform-home{
  max-width:1180px;margin:24px auto 16px;padding:0 18px;
}
.platform-hero-card{
  display:grid;grid-template-columns:1.08fr .92fr;gap:18px;align-items:stretch;
  background:linear-gradient(135deg,#123f2b,#1f6b47 58%,#f4b63f 58%);
  border-radius:30px;padding:24px;box-shadow:0 24px 70px rgba(31,45,29,.18);color:#fff;overflow:hidden;
}
.platform-copy{padding:12px 8px 10px;display:flex;flex-direction:column;justify-content:center;gap:12px;}
.platform-kicker{display:inline-flex;align-self:flex-start;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;}
.platform-copy h2{font-size:clamp(30px,4vw,54px);line-height:.98;margin:0;max-width:760px;letter-spacing:-.045em;}
.platform-copy p{font-size:16px;line-height:1.55;margin:0;max-width:700px;color:rgba(255,255,255,.92);font-weight:700;}
.platform-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;}
.platform-dashboard-card{background:#fffaf1;color:#1f1a14;border-radius:24px;padding:14px;box-shadow:inset 0 0 0 1px rgba(44,27,11,.12),0 18px 50px rgba(0,0,0,.12);}
.platform-browser-bar{height:34px;border-radius:16px;background:#efe6d7;display:flex;align-items:center;gap:7px;padding:0 12px;margin-bottom:12px;font-size:12px;font-weight:900;color:#4b3b2d;}
.platform-browser-bar span{width:9px;height:9px;border-radius:50%;background:#d8b15d;display:block;}.platform-browser-bar b{margin-left:6px;}
.platform-map{display:grid;gap:9px;}.platform-map div{background:#fff;border:1px solid #eadfce;border-radius:16px;padding:10px 12px;display:grid;gap:4px;}.platform-map strong{font-size:14px;}.platform-map span{font-size:12px;line-height:1.35;color:#665b4c;font-weight:700;}
.business-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;}.business-type-grid div{background:#fffdf8;border:1px solid #eadfce;border-radius:18px;padding:14px;box-shadow:0 8px 28px rgba(42,32,20,.06);display:grid;gap:6px;}.business-type-grid b{font-size:22px;}.business-type-grid strong{font-size:15px;}.business-type-grid span{font-size:12px;line-height:1.35;color:#665b4c;font-weight:700;}
.platform-control-center{max-width:1180px;margin:16px auto;padding:0 18px;}.platform-section-head{background:#fffdf8;border:1px solid #eadfce;border-radius:22px;padding:18px 20px;margin-bottom:10px;}.platform-section-head span{font-size:12px;font-weight:1000;text-transform:uppercase;color:#237449;}.platform-section-head h2{font-size:28px;margin:5px 0 5px;letter-spacing:-.035em;}.platform-section-head p{margin:0;color:#6b5c4a;font-weight:700;line-height:1.45;}
.control-center-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;}.control-center-card{border-radius:22px;padding:18px;border:1px solid #eadfce;background:#fff;box-shadow:0 12px 34px rgba(42,32,20,.07);}.control-center-card h3{margin:0 0 10px;font-size:21px;}.control-center-card ol{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;padding-left:20px;font-weight:800;color:#3c3329;}.control-center-card li{font-size:13px;line-height:1.25;}.merchant-card{border-top:6px solid #237449;}.super-card{border-top:6px solid #f0b233;}
.business-demo-label{max-width:1180px;margin:18px auto 0;padding:14px 18px;background:#1f5539;color:#fff;border-radius:22px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 12px 38px rgba(31,85,57,.18);}.business-demo-label span{background:rgba(255,255,255,.15);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;}.business-demo-label strong{font-size:16px;}
.super-admin-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#162436,#243d63);color:#fff;border-radius:18px;padding:12px 14px;margin:10px 0 14px;box-shadow:0 12px 32px rgba(22,36,54,.16);}.super-admin-banner span{font-size:10px;text-transform:uppercase;font-weight:1000;color:#f4c762;letter-spacing:.04em;}.super-admin-banner strong{display:block;font-size:13px;line-height:1.25;}.super-admin-pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}.super-admin-pills b{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 8px;font-size:10px;text-transform:uppercase;}
@media(max-width:900px){.platform-hero-card,.control-center-columns{grid-template-columns:1fr}.business-type-grid{grid-template-columns:1fr 1fr}.business-demo-label{display:grid}.platform-copy h2{font-size:34px}.control-center-card ol{grid-template-columns:1fr}}
@media(max-width:560px){.platform-home,.platform-control-center{padding:0 10px}.platform-hero-card{padding:18px;border-radius:24px}.business-type-grid{grid-template-columns:1fr}.platform-actions .btn{width:100%}.super-admin-banner{display:grid}.super-admin-pills{justify-content:flex-start}}


/* v2.44 Banner Control: owner can choose text headline or prominent logo in hero/banner. */
.hero-brand-display{position:relative;z-index:2;display:block;max-width:760px;}
.hero-logo-title{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;margin:18px 0 10px;max-width:720px;}
.hero-logo-title[hidden]{display:none!important;}
.hero-logo-title img{display:block;width:min(var(--hero-logo-size,420px),88vw);max-height:260px;object-fit:contain;filter:drop-shadow(0 12px 30px rgba(0,0,0,.48));}
.hero-logo-title span{display:inline-flex;background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;padding:8px 12px;font-size:14px;font-weight:1000;letter-spacing:.01em;text-shadow:0 2px 10px rgba(0,0,0,.4);}
.hero-card.logo-mode .hero-logo-title{display:inline-flex;}
.hero-card.logo-mode [data-control="heroTitle"]{display:none;}
.banner-brand-control-card{border:1px solid var(--line);background:linear-gradient(180deg,#fffdf8,#f8f2e7);border-radius:18px;padding:12px;margin:0 0 12px;display:grid;gap:10px;}
.banner-brand-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid rgba(66,54,40,.11);padding-bottom:9px;}
.banner-brand-head strong{display:block;font-size:15px;color:var(--ink);font-weight:1000;line-height:1.1;}
.banner-brand-head span,.banner-logo-preview-note{display:block;font-size:12px;color:var(--muted);font-weight:800;line-height:1.35;margin-top:3px;}
.banner-brand-head b{background:#edf5f2;color:var(--brand);border-radius:999px;padding:6px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.banner-brand-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.banner-brand-options label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:9px 10px;font-size:13px;font-weight:1000;color:var(--ink);cursor:pointer;}
.banner-brand-options input{accent-color:var(--brand);}
.banner-logo-controls{display:grid;gap:6px;}
.banner-logo-controls label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;}
.banner-logo-controls input[type="range"]{width:100%;accent-color:var(--brand);}
.banner-brand-actions{display:flex;gap:8px;flex-wrap:wrap;}
@media(max-width:760px){.hero-logo-title img{width:min(var(--hero-logo-size,320px),82vw);max-height:210px}.banner-brand-options{grid-template-columns:1fr}.banner-brand-head{display:grid}.banner-brand-head b{width:max-content}}

/* v2.48 Banner Control preview: keep banner text/logo controls with the storefront fields. */
.banner-control-workspace{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(280px,1fr);
  gap:12px;
  align-items:stretch;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#fffdf8,#f7f1e8);
  border-radius:18px;
  padding:12px;
  margin:12px 0 10px;
}
.banner-control-settings{display:grid;gap:10px;align-content:start;}
.banner-brand-head.compact-head{border-bottom:1px solid rgba(66,54,40,.10);padding-bottom:8px;}
.admin-banner-preview-wrap{display:grid;align-items:stretch;}
.admin-banner-live-preview{
  position:relative;
  min-height:250px;
  border-radius:22px;
  overflow:hidden;
  padding:18px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  background-image:linear-gradient(145deg,rgba(37,27,18,.36),rgba(47,111,78,.20)),url('../images/tri-county-hero.jpg');
  background-position:50% 50%;
  background-size:130%;
  background-repeat:no-repeat;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 16px 34px rgba(14,25,36,.15);
}
.admin-banner-live-preview::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.10));pointer-events:none;}
.admin-banner-live-preview>*{position:relative;z-index:1;}
.admin-banner-live-preview .mini-eyebrow{display:inline-flex;width:max-content;max-width:100%;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.34);font-size:11px;font-weight:950;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);}
.admin-banner-live-preview h3{margin:0;font-size:clamp(25px,4vw,44px);line-height:.96;font-weight:1000;letter-spacing:-.05em;max-width:560px;text-shadow:0 4px 18px rgba(0,0,0,.42);}
.admin-banner-live-preview p{margin:0;max-width:560px;font-size:13px;line-height:1.42;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.42);}
.mini-banner-info{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.mini-banner-info span{background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:7px 9px;font-size:11px;font-weight:950;}
.mini-logo-title{display:grid;gap:8px;align-items:center;justify-items:start;}
.mini-logo-title img{width:min(var(--hero-logo-size,420px),86%);max-height:170px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.42));}
.mini-logo-title span{font-size:15px;font-weight:1000;text-shadow:0 2px 10px rgba(0,0,0,.42);}
.admin-banner-live-preview.logo-mode h3{display:none;}
.admin-banner-live-preview.logo-mode .mini-logo-title{display:grid!important;}
.admin-banner-live-preview:not(.logo-mode) .mini-logo-title{display:none!important;}
@media(max-width:900px){.banner-control-workspace{grid-template-columns:1fr}.admin-banner-live-preview{min-height:220px}.admin-banner-live-preview h3{font-size:34px}}


/* v2.48 Shared advanced banner designer popup. */
.mini-control-link{margin-top:8px;width:max-content;border:1px solid rgba(47,111,78,.24);background:#fff;color:var(--brand);border-radius:999px;padding:7px 10px;font-weight:1000;font-size:11px;cursor:pointer;box-shadow:0 6px 16px rgba(30,50,60,.08)}
.advanced-banner-modal{max-width:1040px;width:min(1040px,96vw);max-height:88vh;overflow:auto;border-radius:28px;}
.advanced-banner-grid{display:grid;grid-template-columns:minmax(360px,1.25fr) minmax(280px,.85fr);gap:18px;align-items:start;}
.advanced-banner-preview-pane{display:grid;gap:10px;}
.advanced-banner-live-preview{min-height:360px;border-radius:24px;}
.advanced-banner-caption{color:var(--muted);font-size:13px;font-weight:800;line-height:1.35;}
.advanced-banner-controls{display:grid;gap:11px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#fffdf8,#f7f1e8);padding:14px;}
.advanced-banner-controls label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;}
.advanced-banner-controls input:not([type="color"]),.advanced-banner-controls select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 11px;color:var(--ink);font-weight:900;}
.advanced-banner-controls input[type="range"]{accent-color:var(--brand);padding:0;}
.advanced-banner-controls input[type="color"]{width:52px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:4px;}
.wide-btn{width:100%;justify-content:center;}
.advanced-banner-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.advanced-banner-actions .btn{flex:1;min-width:120px;}
.admin-banner-live-preview.center-text{text-align:center;align-items:center}.admin-banner-live-preview.right-text{text-align:right;align-items:flex-end}
@media(max-width:900px){.advanced-banner-grid{grid-template-columns:1fr}.advanced-banner-live-preview{min-height:260px}}

/* v2.49 Floating Banner Preview: independent matched preview window that stays open while editing. */
.floating-banner-preview{
  position:fixed;
  top:96px;
  right:22px;
  width:min(390px,calc(100vw - 32px));
  z-index:10020;
  border:1px solid rgba(255,255,255,.22);
  border-radius:24px;
  background:rgba(255,252,244,.96);
  box-shadow:0 26px 70px rgba(10,20,30,.34);
  padding:12px;
  backdrop-filter:blur(12px);
}
.floating-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.floating-preview-head span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  font-weight:1000;
}
.floating-preview-head strong{display:block;font-size:15px;color:var(--ink);font-weight:1000;}
.floating-preview-head button{
  width:34px;height:34px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:22px;font-weight:900;cursor:pointer;
}
.floating-banner-live-preview{
  min-height:315px;
  border-radius:20px;
  padding:16px;
}
.floating-banner-live-preview h3{font-size:38px;}
.floating-preview-note{
  margin:9px 2px 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
  font-weight:800;
}
.preview-link{background:#f2fbf6;color:var(--brand)}
@media(max-width:1180px){
  .floating-banner-preview{top:auto;right:14px;bottom:14px;width:min(360px,calc(100vw - 28px));}
  .floating-banner-live-preview{min-height:235px;}
  .floating-banner-live-preview h3{font-size:30px;}
}

/* v2.50 Persistent Banner Preview cleanup: remove the squeezed inline preview and use only the separate floating window. */
.banner-control-workspace{
  grid-template-columns:1fr!important;
}
.admin-banner-preview-wrap{
  display:none!important;
}
.banner-control-settings{
  display:block;
}
.banner-brand-head.compact-head{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.banner-brand-head.compact-head > b{
  width:max-content;
  background:#e9f6ff;
  color:#17455f;
  border:1px solid rgba(23,69,95,.14);
}
.banner-brand-head .mini-control-link{
  margin-right:8px;
}
.banner-brand-options{
  max-width:560px;
}
.banner-logo-controls{
  max-width:560px;
}
.floating-banner-preview{
  top:128px;
  right:28px;
  width:min(430px,calc(100vw - 36px));
  z-index:10090;
  border:1px solid rgba(17,37,62,.18);
  background:#fffdf8;
}
.floating-banner-live-preview{
  min-height:330px;
}
.floating-preview-head strong::after{
  content:' — stays open while editing';
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
@media(max-width:1180px){
  .floating-banner-preview{top:auto;right:12px;bottom:12px;width:min(380px,calc(100vw - 24px));}
}

/* v2.51: Banner Designer opens preview only when requested; no squeezed inline preview in Storefront. */
.admin-banner-preview-wrap{display:none!important;}
.banner-control-workspace{grid-template-columns:1fr!important;}
.banner-control-settings{max-width:100%;}
.restaurant-grade-banner-controls .advanced-control-help{font-size:12px;line-height:1.35;font-weight:800;color:var(--muted);background:#f6f8fb;border:1px solid var(--line);border-radius:14px;padding:10px;margin:0;}
.advanced-control-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.restaurant-grade-banner-controls textarea{width:100%;min-height:76px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 11px;color:var(--ink);font-weight:900;resize:vertical;}
.advanced-banner-live-preview::before,.floating-banner-live-preview::before{opacity:var(--advanced-overlay-opacity,.42);}
@media(max-width:720px){.advanced-control-pair{grid-template-columns:1fr;}}

/* v2.56: Separate floating banner preview retired; Advanced Banner Designer contains the matched live preview. */
#floatingBannerPreview{display:none!important;}
.preview-link{display:none!important;}

/* v2.74: highlight Business Admin in top navigation without stretching the header */
.marketplace-nav-links a.nav-admin-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 11px;
  border-radius:11px;
  background:var(--brand2);
  color:#311d06;
  border:1px solid rgba(146,98,18,.14);
  box-shadow:0 8px 16px rgba(242,184,75,.18);
  line-height:1;
  border-bottom:0;
}
.marketplace-nav-links a.nav-admin-pill:hover{
  transform:translateY(-1px);
  border-bottom:0;
  box-shadow:0 10px 18px rgba(242,184,75,.22);
}
@media(max-width:1120px){
  .marketplace-nav-links a.nav-admin-pill{min-height:32px;padding:7px 10px;border-radius:10px;}
}


/* v2.76 Customer Ordering Foundation */
.customer-order-foundation{
  max-width:1180px;
  margin:0 auto;
  padding:6px 18px 18px;
}
.customer-order-panel{
  border:1px solid var(--line);
  border-radius:28px;
  background:linear-gradient(135deg,#fffdf8 0%,#f5fbf5 100%);
  box-shadow:0 16px 38px rgba(35,25,14,.09);
  overflow:hidden;
}
.customer-order-head{
  display:grid;
  grid-template-columns:1fr 330px;
  gap:20px;
  align-items:stretch;
  padding:22px;
}
.customer-order-kicker{
  display:inline-flex;
  margin-bottom:8px;
  color:#2f6f4e;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.customer-order-head h2{
  margin:0;
  font-size:clamp(26px,3vw,38px);
  line-height:1.03;
  letter-spacing:-.04em;
}
.customer-order-head p{
  margin:10px 0 0;
  color:var(--muted);
  font-weight:750;
  line-height:1.55;
  max-width:760px;
}
.foundation-mini-cart{
  border:1px solid rgba(47,111,78,.18);
  background:#213a2d;
  color:#fff;
  border-radius:22px;
  padding:16px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),0 12px 28px rgba(35,25,14,.12);
}
.foundation-mini-cart strong{display:block;font-size:16px;line-height:1.2}
.foundation-mini-cart span{display:block;color:rgba(255,255,255,.75);font-size:12px;font-weight:850;margin-top:3px}
.foundation-mini-cart ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.foundation-mini-cart li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.09);border-radius:13px;padding:8px 9px;font-size:12px;font-weight:900}
.foundation-mini-cart em{font-style:normal;color:#f2d08b;font-size:11px;white-space:nowrap}
.department-tiles{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:0 22px 22px;
}
.department-tile{
  text-align:left;
  border:1px solid rgba(47,111,78,.16);
  background:#fff;
  border-radius:22px;
  padding:16px;
  min-height:178px;
  box-shadow:0 10px 24px rgba(35,25,14,.07);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.department-tile:hover,.department-tile:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(35,25,14,.12);
  border-color:rgba(47,111,78,.45);
  outline:none;
}
.department-icon{
  width:44px;
  height:44px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#eef8f1;
  color:#2f6f4e;
  font-size:22px;
}
.department-tile strong{font-size:17px;color:var(--ink);line-height:1.15}
.department-tile small{color:var(--muted);font-size:12px;font-weight:760;line-height:1.42;flex:1}
.department-tile em{font-style:normal;color:#2f6f4e;font-size:12px;font-weight:1000;margin-top:auto}
.empty-cart-starters{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.checkout-fulfillment-summary{
  border:1px solid #d8eadc;
  background:#f1faf3;
  color:#31533e;
  border-radius:16px;
  padding:12px 13px;
  display:grid;
  gap:3px;
  font-weight:850;
  line-height:1.4;
}
.checkout-fulfillment-summary strong{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#214b34}
.checkout-fulfillment-summary span{font-size:13px;color:#48604f}
@media (max-width:900px){
  .customer-order-head{grid-template-columns:1fr}
  .department-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .customer-order-foundation{padding:4px 12px 14px}
  .customer-order-panel{border-radius:22px}
  .customer-order-head{padding:16px}
  .department-tiles{grid-template-columns:1fr;padding:0 16px 16px;gap:10px}
  .department-tile{min-height:auto;border-radius:18px}
  .empty-cart-starters{display:grid;grid-template-columns:1fr;width:100%}
  .empty-cart-starters .btn{width:100%}
}


/* v2.77 Customer Ordering Polish */
.shop-toolbar{
  border:1px solid var(--line);
  background:#fffdf8;
  border-radius:24px;
  padding:14px;
  margin:0 0 18px;
  box-shadow:0 12px 28px rgba(35,25,14,.06);
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto;
  gap:12px;
  align-items:center;
}
.shop-search-field{
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(47,111,78,.18);
  background:#fff;
  border-radius:16px;
  padding:0 13px;
  min-height:48px;
}
.shop-search-field input{
  border:0;
  outline:0;
  width:100%;
  font:inherit;
  font-weight:800;
  color:var(--ink);
  background:transparent;
}
.shop-filter-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.shop-filter-chip{
  border:1px solid rgba(47,111,78,.18);
  background:#fff;
  color:#31533e;
  border-radius:999px;
  padding:10px 12px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(35,25,14,.05);
}
.shop-filter-chip.active{
  background:#2f6f4e;
  border-color:#2f6f4e;
  color:#fff;
}
.no-results-card{
  border:1px dashed rgba(47,111,78,.3);
  background:#f7fbf7;
  border-radius:24px;
  padding:22px;
  display:grid;
  gap:8px;
  justify-items:start;
  color:var(--muted);
  font-weight:800;
}
.no-results-card strong{color:var(--ink);font-size:20px}
.modal-upsells{
  border:1px solid #e7ddc8;
  background:#fffaf0;
  border-radius:18px;
  padding:13px;
  margin:12px 0;
  display:grid;
  gap:10px;
}
.modal-upsell-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.modal-upsell-head strong{font-size:14px;color:var(--ink)}
.modal-upsell-head span{font-size:12px;color:var(--muted);font-weight:800;line-height:1.35;text-align:right;max-width:330px}
.modal-upsell-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.modal-upsell{
  border:1px solid rgba(47,111,78,.15);
  background:#fff;
  border-radius:15px;
  padding:10px;
  text-align:left;
  cursor:pointer;
  display:grid;
  gap:3px;
  min-height:92px;
}
.modal-upsell:hover,.modal-upsell:focus-visible{border-color:rgba(47,111,78,.45);outline:none;box-shadow:0 10px 18px rgba(35,25,14,.08)}
.modal-upsell b{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#2f6f4e}
.modal-upsell span{font-weight:1000;color:var(--ink);line-height:1.15}
.modal-upsell em{font-style:normal;color:#8a5a14;font-size:12px;font-weight:1000;margin-top:auto}
.upsell-status{min-height:16px;color:#2f6f4e;font-weight:1000}
.checkout-workflow-timeline{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:10px 0 12px;
}
.workflow-step{
  border:1px solid #e5e2d8;
  background:#fff;
  border-radius:15px;
  padding:10px;
  display:flex;
  gap:8px;
  align-items:center;
  color:#7b7468;
  font-weight:900;
  font-size:12px;
}
.workflow-step b{
  width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:#f1eee6;color:#675f54;flex:0 0 auto;
}
.workflow-step.active{border-color:rgba(47,111,78,.22);background:#f4fbf5;color:#244b34}
.workflow-step.active b{background:#2f6f4e;color:#fff}
@media(max-width:820px){
  .shop-toolbar{grid-template-columns:1fr}
  .shop-filter-chips{justify-content:flex-start}
  .modal-upsell-list{grid-template-columns:1fr}
  .modal-upsell-head{display:grid}
  .modal-upsell-head span{text-align:left;max-width:none}
  .checkout-workflow-timeline{grid-template-columns:1fr}
}


/* v2.78 Department Browsing & Order Routing Polish */
.department-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:12px 0 14px;
}
.department-filter-chip{
  border:1px solid rgba(79,50,22,.14);
  background:#fffaf2;
  border-radius:16px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  color:#321f13;
  box-shadow:0 10px 22px rgba(42,25,11,.07);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.department-filter-chip strong{font-size:13px}
.department-filter-chip em{font-style:normal;font-size:11px;font-weight:800;background:rgba(174,111,28,.12);color:#8b5315;padding:3px 7px;border-radius:999px}
.department-filter-chip:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(42,25,11,.10)}
.department-filter-chip.active{border-color:#b66b17;background:linear-gradient(135deg,#fff5df,#ffe2a9)}
.department-tile.active{outline:3px solid rgba(182,107,23,.22);box-shadow:0 20px 38px rgba(78,44,12,.16)}
.department-route-summary{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  border:1px solid rgba(79,50,22,.12);
  background:linear-gradient(135deg,#fffdf8,#fff3dc);
  border-radius:20px;
  padding:14px 16px;
  margin:0 0 18px;
  box-shadow:0 14px 30px rgba(42,25,11,.07);
}
.department-route-summary strong{display:block;color:#2f1f13;font-size:15px}
.department-route-summary span{color:#765b43;font-size:13px}
.route-metrics{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.route-metrics span{background:#fff;border:1px solid rgba(79,50,22,.1);border-radius:999px;padding:7px 10px;white-space:nowrap}
.route-metrics b{color:#3a2617}
@media(max-width:720px){
  .department-filter-bar{gap:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .department-filter-chip{flex:0 0 auto}
  .department-route-summary{align-items:flex-start;flex-direction:column}
  .route-metrics{justify-content:flex-start}
}

/* v2.83 Custom Tip & Italian Sub Photo Polish */
.cart-line-controls{display:inline-flex;align-items:center;gap:7px;padding:4px;border:1px solid rgba(21,35,49,.12);border-radius:999px;background:#fffaf2;box-shadow:0 6px 16px rgba(84,45,18,.07)}
.cart-line-controls button{width:28px;height:28px;border:0;border-radius:50%;background:#3a2214;color:#fff;font-weight:1000;cursor:pointer;line-height:1}
.cart-line-controls span{min-width:22px;text-align:center;font-weight:1000;color:#3a2214}
.checkout-grid-v282{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.checkout-grid-v282 .field{min-width:0}
.field textarea{width:100%;border:1px solid rgba(21,35,49,.15);border-radius:16px;padding:12px 14px;font:inherit;font-weight:700;resize:vertical;background:#fff;color:#2a1a10;box-sizing:border-box}
.tip-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border-radius:18px;background:linear-gradient(135deg,#fff7e6,#fff);border:1px solid rgba(213,139,45,.25);box-shadow:0 10px 24px rgba(84,45,18,.07)}
.tip-picker strong{margin-right:4px;color:#3a2214}
.tip-chip{border:1px solid rgba(58,34,20,.18);border-radius:999px;background:#fff;color:#3a2214;font-weight:1000;padding:8px 12px;cursor:pointer}
.tip-chip.active{background:#3a2214;color:#fff;border-color:#3a2214}
.custom-tip-field{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(58,34,20,.18);border-radius:999px;background:#fff;padding:5px 10px;font-weight:1000;color:#3a2214}
.custom-tip-field input{width:82px;border:0;outline:0;background:transparent;font:inherit;font-weight:1000;color:#3a2214;padding:3px 0}
.custom-tip-chip.active + .custom-tip-field,.custom-tip-field:focus-within{box-shadow:0 0 0 3px rgba(213,139,45,.18);border-color:rgba(213,139,45,.55)}
.ticket-preview-card{margin-top:14px;border-radius:22px;border:1px solid rgba(21,35,49,.13);background:linear-gradient(135deg,#fff,#fff8ec);padding:16px;box-shadow:0 16px 34px rgba(84,45,18,.08)}
.ticket-preview-card.empty{display:grid;gap:4px;color:#6f5a47}
.ticket-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.ticket-preview-head b{display:block;color:#2a1a10;font-size:1.03rem}
.ticket-preview-head span{display:block;color:#715b49;font-weight:800;font-size:.88rem;margin-top:2px}
.ticket-preview-head em{font-style:normal;background:#f4dfbb;color:#5b371f;font-weight:1000;border-radius:999px;padding:5px 9px;white-space:nowrap;font-size:.75rem}
.ticket-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ticket-panel{border-radius:18px;background:#fff;border:1px solid rgba(21,35,49,.1);padding:13px;min-width:0}
.ticket-panel h4{margin:0 0 5px;font-size:.95rem;color:#2a1a10}
.ticket-panel p{margin:0 0 10px;color:#765f4c;font-size:.8rem;font-weight:800;line-height:1.35}
.ticket-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ticket-panel li{display:grid;gap:2px;padding:8px;border-radius:12px;background:#fff9f0;border:1px dashed rgba(213,139,45,.25)}
.ticket-panel li b{font-size:.84rem;color:#2a1a10}
.ticket-panel li span{font-size:.75rem;color:#725a46;font-weight:800;line-height:1.3}
.ticket-total{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid rgba(21,35,49,.08);font-weight:900;color:#3a2214}
.ticket-total:first-of-type{border-top:0}
.cart-review-price{gap:8px!important}
@media(max-width:760px){.checkout-grid-v282,.ticket-columns{grid-template-columns:1fr}.ticket-preview-head{display:grid}.cart-review-line{align-items:flex-start}.cart-review-price{align-items:flex-start!important}.tip-picker{align-items:flex-start}}


/* v2.84 Gallery Navigation & Store Info Cleanup */
.gallery-nav-controls{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding:12px;
  border:1px solid rgba(242,184,75,.45);
  border-radius:18px;
  background:rgba(255,248,232,.75);
}
.gallery-nav-controls.show{display:flex;}
.gallery-nav-btn{
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  border-radius:999px;
  padding:10px 16px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(35,25,14,.08);
}
.gallery-nav-btn:hover,.gallery-nav-btn:focus{
  border-color:rgba(30,96,62,.45);
  box-shadow:0 12px 24px rgba(30,96,62,.13);
  outline:none;
}
.gallery-count{
  color:var(--muted);
  font-size:13px;
  font-weight:1000;
  text-align:center;
}
@media(max-width:560px){
  .gallery-nav-controls{gap:8px;padding:10px;}
  .gallery-nav-btn{padding:9px 11px;font-size:12px;}
  .gallery-count{font-size:11px;}
}


/* v2.85 Business Admin Product Manager Foundation */
.admin-product-stat-grid{grid-template-columns:repeat(4,1fr);}
.admin-mini-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;align-items:center;}
.admin-product-form-grid{margin-bottom:12px;}
.admin-product-form-grid label{min-width:0;}
.admin-product-toggles{margin:4px 0 14px;}
.admin-product-toggles button.active{background:rgba(45,125,82,.12);border-color:rgba(45,125,82,.28);color:var(--green);}
.admin-product-save-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0;}
.admin-product-save-row span{font-weight:900;color:var(--muted);font-size:13px;}
.admin-routing-preview-card{border:1px solid rgba(45,125,82,.22);background:linear-gradient(135deg,#effaf2,#fffdf7);border-radius:18px;padding:13px;margin-top:10px;box-shadow:0 12px 25px rgba(28,60,38,.06);}
.admin-routing-preview-card strong{display:block;color:var(--green);font-weight:1000;margin-bottom:4px;}
.admin-routing-preview-card span{display:block;color:var(--muted);font-weight:850;line-height:1.4;}
.admin-routing-preview-card b{color:var(--ink);}
@media(max-width:900px){.admin-product-stat-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.admin-product-stat-grid{grid-template-columns:1fr;}.admin-product-save-row .btn{width:100%;}.admin-mini-toolbar .btn{flex:1 1 45%;}}

/* v2.86 Current Item Image Preview Polish */
.product-photo-card .photo-position-tool{
  align-self:start;
}
.admin-current-item-photo-meta{
  border:1px solid rgba(45,125,82,.16);
  background:linear-gradient(135deg,#f4fbf5,#fffdf8);
  border-radius:14px;
  padding:8px 10px;
  display:grid;
  gap:2px;
  box-shadow:0 8px 18px rgba(28,60,38,.05);
}
.admin-current-item-photo-meta strong{
  color:var(--green);
  font-size:13px;
  line-height:1.15;
}
.admin-current-item-photo-meta span{
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  line-height:1.25;
}
#adminItemCropFrame{
  background:#22150c;
  border-color:rgba(45,125,82,.24);
}
#adminItemCropFrame .photo-position-image{
  opacity:1;
  filter:saturate(1.04) contrast(1.02);
}
#adminItemPhotoHint{
  background:rgba(255,255,255,.95);
  color:#214b34;
}


/* v2.87 Photo Editor Demo Controls Polish */
.admin-photo-demo-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin:8px 0 7px;
}
.admin-photo-demo-actions .btn{
  width:100%;
  justify-content:center;
}
.admin-photo-demo-note{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  line-height:1.35;
  font-style:normal;
  border:1px dashed rgba(45,125,82,.22);
  background:#fffdf8;
  border-radius:12px;
  padding:8px 10px;
}
.product-photo-card .shared-photo-copy{
  align-self:stretch;
}
@media(min-width:700px){
  .admin-photo-demo-actions{grid-template-columns:1fr 1fr;}
  .admin-photo-demo-actions .btn:nth-child(4){grid-column:1 / -1;}
}


/* v2.88 Menu Navigation & Admin Photo Preview Fix */
.nav-menu-link{
  background:#fffdf8;
  border:1px solid rgba(45,125,82,.16);
  border-radius:999px;
  padding:9px 13px;
  box-shadow:0 8px 18px rgba(28,60,38,.06);
}
#adminItemCropFrame{
  overflow:hidden;
  background:#fffdf8;
}
.admin-item-preview-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  transform:scale(1.3);
  transform-origin:center center;
  z-index:1;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  filter:saturate(1.04) contrast(1.02);
}
#adminItemCropFrame .photo-position-image{
  opacity:0!important;
  z-index:0;
}
#adminItemPhotoHint{
  z-index:2;
}
.admin-current-item-photo-meta{
  position:relative;
  z-index:2;
}

/* v2.89 Admin Photo Zoom & Drag Function Fix */
#adminItemCropFrame{
  overflow:hidden;
  background:#fffdf8;
  cursor:grab;
  touch-action:none;
}
#adminItemCropFrame.dragging{
  cursor:grabbing;
}
#adminItemCropFrame .photo-position-image{
  opacity:1!important;
  z-index:1!important;
  display:block!important;
  pointer-events:none;
  background-repeat:no-repeat;
  filter:saturate(1.04) contrast(1.02);
}
#adminItemPreviewImg{
  opacity:0!important;
  visibility:hidden!important;
  z-index:0!important;
}
#adminItemPhotoHint{
  z-index:3;
}
.product-photo-card .photo-position-frame.dragging #adminItemPhotoHint::after{
  content:' • moving';
}


/* v2.91 Admin Photo Preview Render Fix
   The product photo editor now uses the real IMG element as the visible preview.
   This avoids cross-browser blank-background issues and keeps upload, zoom, and drag controls visibly tied to the photo. */
#adminItemCropFrame{
  overflow:hidden!important;
  background:#fffdf8!important;
  cursor:grab!important;
  position:relative!important;
}
#adminItemCropFrame.dragging{cursor:grabbing!important;}
#adminItemCropFrame .photo-position-image{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  z-index:0!important;
  background-image:none!important;
}
#adminItemPreviewImg{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:50% 50%;
  transform:scale(1.3);
  transform-origin:center center!important;
  z-index:1!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  filter:saturate(1.04) contrast(1.02);
}
#adminItemPhotoHint{z-index:3!important;}

/* v2.92: Banner persistence/navigation polish */
.marketplace-nav-links a.nav-menu-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:34px!important;
  padding:7px 11px!important;
  border-radius:11px!important;
  background:var(--brand2)!important;
  color:#311d06!important;
  border:1px solid rgba(146,98,18,.14)!important;
  box-shadow:0 8px 16px rgba(242,184,75,.18)!important;
  line-height:1!important;
  border-bottom:0!important;
  font-weight:900!important;
}
.marketplace-nav-links a.nav-menu-link:hover{
  transform:translateY(-1px);
  border-bottom:0!important;
  box-shadow:0 10px 18px rgba(242,184,75,.22)!important;
}
.nav-menu-icon{font-size:15px;line-height:1;transform:translateY(-.5px)}
.hero-card{padding-bottom:108px!important;}
.hero-card .hero-chips{
  position:absolute!important;
  left:36px!important;
  right:36px!important;
  bottom:34px!important;
  margin:0!important;
  z-index:9!important;
}
.hero-card [data-control="heroCopy"]{margin-bottom:0!important;}
@media(max-width:760px){
  .marketplace-nav-links a.nav-menu-link{min-height:32px!important;padding:7px 10px!important;border-radius:10px!important;}
  .hero-card{padding-bottom:92px!important;}
  .hero-card .hero-chips{left:18px!important;right:18px!important;bottom:24px!important;}
}


/* v2.93: Header Menu button match polish */
.marketplace-nav-links{gap:10px!important;}
.marketplace-nav-links a.nav-menu-link,
.marketplace-nav-links a.nav-admin-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:34px!important;
  height:34px!important;
  padding:7px 11px!important;
  border-radius:11px!important;
  background:var(--brand2)!important;
  color:#311d06!important;
  border:1px solid rgba(146,98,18,.14)!important;
  box-shadow:0 8px 16px rgba(242,184,75,.18)!important;
  line-height:1!important;
  border-bottom:0!important;
  font-weight:900!important;
  box-sizing:border-box!important;
}
.marketplace-nav-links a.nav-menu-link span{
  color:inherit!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.marketplace-nav-links a.nav-menu-link .nav-menu-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  font-size:15px!important;
  line-height:1!important;
  transform:none!important;
}
.marketplace-nav-links a.nav-menu-link:hover,
.marketplace-nav-links a.nav-admin-pill:hover{
  transform:translateY(-1px);
  border-bottom:0!important;
  box-shadow:0 10px 18px rgba(242,184,75,.22)!important;
}
@media(max-width:1120px){
  .marketplace-nav-links a.nav-menu-link,
  .marketplace-nav-links a.nav-admin-pill{min-height:32px!important;height:32px!important;padding:7px 10px!important;border-radius:10px!important;}
}


/* v2.94: Header Menu Category Popup Polish */
.menu-chooser-modal{
  max-width:760px!important;
}
.menu-chooser-intro{
  color:var(--muted);
  font-weight:800;
  line-height:1.45;
  margin-top:6px;
}
.menu-chooser-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.menu-chooser-card{
  width:100%;
  text-align:left;
  border:1px solid rgba(30,61,42,.12);
  background:#fffdf8;
  border-radius:18px;
  padding:14px 14px 13px;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:11px;
  row-gap:4px;
  align-items:start;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(28,60,38,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  color:var(--ink);
}
.menu-chooser-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(28,60,38,.1);
  border-color:rgba(45,125,82,.24);
  background:#fffaf0;
}
.menu-chooser-card.featured{
  grid-column:1 / -1;
  background:linear-gradient(135deg, rgba(242,184,75,.24), rgba(255,253,248,.98));
  border-color:rgba(146,98,18,.24);
}
.menu-chooser-icon{
  grid-row:1 / span 3;
  width:34px;
  height:34px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f7f1e6;
  font-weight:900;
}
.menu-chooser-card strong{
  font-size:15px;
  font-weight:950;
  line-height:1.15;
}
.menu-chooser-card small{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.menu-chooser-card em{
  color:var(--green);
  font-size:12px;
  font-weight:950;
  font-style:normal;
  margin-top:3px;
}
@media(max-width:720px){
  .menu-chooser-grid{grid-template-columns:1fr;}
  .menu-chooser-modal{width:min(94vw,760px)!important;}
}


/* v2.96 Owner Info Section Break Polish */
.customer-order-foundation{
  margin:28px auto 0;
  padding:34px 18px 28px;
  position:relative;
  isolation:isolate;
}
.customer-order-foundation::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,rgba(47,111,78,0),rgba(47,111,78,.34),rgba(242,184,75,.28),rgba(47,111,78,0));
}
.customer-order-foundation::after{
  content:"Business owner preview";
  position:absolute;
  top:-10px;
  left:34px;
  z-index:1;
  padding:4px 10px;
  border:1px solid rgba(47,111,78,.16);
  border-radius:999px;
  background:#fffaf0;
  color:#2f6f4e;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.075em;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(35,25,14,.06);
}
.customer-order-panel{
  border-color:rgba(47,111,78,.18);
  background:linear-gradient(135deg,#fffaf0 0%,#f7fbf4 58%,#eef8f1 100%);
  box-shadow:0 18px 42px rgba(35,25,14,.10);
}
.customer-order-panel .department-tiles{
  padding-top:2px;
}
.customer-order-panel .department-tile{
  border-color:rgba(47,111,78,.18);
  background:rgba(255,255,255,.93);
}
@media (max-width:640px){
  .customer-order-foundation{margin-top:22px;padding:30px 12px 18px;}
  .customer-order-foundation::before{left:12px;right:12px;}
  .customer-order-foundation::after{left:24px;font-size:10px;}
}


/* v2.97 Specials, Deals & Coupons Foundation */
.deal-card-sticker{
  position:absolute;
  right:10px;
  top:10px;
  z-index:3;
  background:linear-gradient(135deg,#f6bd3a,#d89314);
  color:#2b1608;
  font-weight:900;
  font-size:11px;
  padding:6px 9px;
  border-radius:999px;
  box-shadow:0 6px 14px rgba(0,0,0,.18);
}
.deal-card-sticker.subtle{background:#fff7df;color:#644018;border:1px solid rgba(190,132,36,.25);}
.admin-deal-foundation{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:16px;align-items:start;}
.admin-deal-builder-card,.admin-deal-preview-card{border:1px solid rgba(29,74,52,.14);background:#fffef8;border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(38,63,45,.06);}
.admin-subhead-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;}
.admin-subhead-row strong{font-size:17px;}
.admin-subhead-row span{background:#e8f3ea;color:#1f5b3c;border:1px solid rgba(31,91,60,.14);border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px;}
.deal-toggle-row{margin:12px 0 4px;}
.deal-toggle-row button.off{opacity:.55;background:#fff;border-color:#e2d7c7;color:#6b604f;}
.admin-deal-preview-card strong{display:block;margin-bottom:10px;font-size:16px;}
.deal-preview-mini{position:relative;background:#17432e;color:white;border-radius:16px;padding:16px;display:grid;gap:7px;min-height:160px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.deal-preview-mini b{font-size:18px;line-height:1.15;padding-right:78px;}
.deal-preview-mini em{font-style:normal;color:#f6d27d;font-weight:800;font-size:12px;}
.deal-preview-mini small{color:#f8f1dc;font-weight:700;line-height:1.35;}
.deal-sticker{position:absolute;right:12px;top:12px;background:#f4b733;color:#2b1608;border-radius:999px;padding:6px 9px;font-weight:900;font-size:11px;}
.deal-preview-price{position:absolute;right:12px;bottom:12px;background:#f4b733;color:#2b1608;border-radius:999px;padding:8px 12px;font-weight:900;}
.deal-routing-note{margin-top:12px;border:1px dashed rgba(31,91,60,.22);background:#f4fbf5;border-radius:14px;padding:11px;color:#315a43;font-weight:800;line-height:1.35;}
.admin-deal-list{display:grid;gap:8px;margin-top:14px;}
.admin-deal-list div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:11px 12px;border:1px solid rgba(31,91,60,.14);border-radius:14px;background:#fff;}
.admin-deal-list b{font-size:14px;}
.admin-deal-list span{grid-column:1;color:#6b604f;font-weight:750;font-size:12px;}
.admin-deal-list em{grid-row:1 / span 2;grid-column:2;font-style:normal;background:#fff4ce;color:#3d2312;border-radius:999px;padding:6px 9px;font-weight:900;}
@media (max-width: 760px){.admin-deal-foundation{grid-template-columns:1fr}.admin-subhead-row{align-items:flex-start;flex-direction:column}.deal-preview-mini b{padding-right:0;padding-top:24px}.admin-deal-list div{grid-template-columns:1fr}.admin-deal-list em{grid-row:auto;grid-column:auto;justify-self:start}}


/* v2.98 Specials / Deals Admin Layout Polish
   Cleans up the owner deal manager so the concept is easier to review before adding more features. */
.admin-control-modal{
  max-width:1060px!important;
}
.admin-deal-intro{
  margin:-2px 0 14px;
  color:var(--muted);
  font-weight:820;
  font-size:13px;
  line-height:1.4;
}
.admin-deal-foundation{
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr)!important;
  gap:18px!important;
  align-items:stretch!important;
}
.admin-deal-builder-card,
.admin-deal-preview-card{
  border-radius:20px!important;
  padding:18px!important;
  background:linear-gradient(180deg,#fffef9,#fffaf0)!important;
  border:1px solid rgba(180,133,47,.22)!important;
  box-shadow:0 14px 34px rgba(38,63,45,.08)!important;
}
.admin-deal-builder-card{
  display:grid;
  gap:14px;
}
.admin-deal-preview-card{
  display:grid;
  gap:14px;
  align-content:start;
}
.admin-subhead-row{
  margin-bottom:0!important;
  padding-bottom:12px;
  border-bottom:1px solid rgba(180,133,47,.18);
}
.admin-subhead-row strong{
  font-size:19px!important;
  letter-spacing:-.02em;
  line-height:1.1;
}
.admin-subhead-row span{
  background:#eaf4ed!important;
  border-color:rgba(31,91,60,.18)!important;
  white-space:nowrap;
}
.deal-fields-compact{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.deal-fields-compact label{
  font-size:11px!important;
  gap:6px!important;
}
.deal-fields-compact input,
.deal-fields-compact select{
  min-height:42px!important;
  border-radius:14px!important;
  padding:10px 12px!important;
  font-size:13px!important;
  background:#fff!important;
}
.deal-fields-compact .wide{
  grid-column:1 / -1!important;
}
.deal-toggle-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0!important;
}
.deal-toggle-row button{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center!important;
  border-radius:16px!important;
  background:#eaf4ed!important;
  color:#17432e!important;
  border:1px solid rgba(31,91,60,.18)!important;
  box-shadow:0 6px 16px rgba(31,91,60,.06);
}
.deal-toggle-row button.off{
  background:#fff!important;
  color:#756a58!important;
  border-color:#e7dcc9!important;
  opacity:1!important;
}
.admin-actions-row{
  margin-top:0!important;
  padding-top:12px;
  border-top:1px solid rgba(180,133,47,.18);
}
.admin-actions-row .btn{
  min-height:44px;
}
.admin-preview-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(180,133,47,.18);
}
.admin-preview-heading strong{
  margin:0!important;
  font-size:18px!important;
  letter-spacing:-.015em;
}
.admin-preview-heading span{
  background:#fff4ce;
  color:#5c3b12;
  border:1px solid rgba(190,132,36,.22);
  border-radius:999px;
  padding:6px 9px;
  font-size:11px;
  font-weight:1000;
  white-space:nowrap;
}
.deal-preview-mini{
  min-height:210px!important;
  padding:18px 18px 60px!important;
  border-radius:18px!important;
  gap:10px!important;
  overflow:hidden;
}
.deal-preview-mini::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right,rgba(246,189,58,.18),transparent 42%);
  pointer-events:none;
}
.deal-preview-mini b,
.deal-preview-mini em,
.deal-preview-mini small,
.deal-preview-mini .deal-sticker,
.deal-preview-mini .deal-preview-price{
  position:relative;
  z-index:1;
}
.deal-preview-mini b{
  font-size:22px!important;
  padding-right:0!important;
  max-width:78%;
}
.deal-preview-mini small{
  max-width:92%;
  font-size:13px!important;
}
.deal-sticker{
  right:14px!important;
  top:14px!important;
  padding:7px 10px!important;
}
.deal-preview-price{
  right:14px!important;
  bottom:14px!important;
  padding:10px 14px!important;
  font-size:16px!important;
}
.deal-routing-note{
  margin-top:0!important;
  border-radius:16px!important;
  padding:14px!important;
  background:#f4fbf5!important;
  font-size:14px;
}
.admin-deal-list-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:18px 0 9px;
}
.admin-deal-list-heading strong{
  font-size:16px;
  letter-spacing:-.01em;
}
.admin-deal-list-heading span{
  color:var(--muted);
  font-size:12px;
  font-weight:850;
}
.admin-deal-list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px!important;
  margin-top:0!important;
}
.admin-deal-list div{
  grid-template-columns:1fr!important;
  align-content:start;
  gap:8px!important;
  min-height:116px;
  padding:13px!important;
  border-radius:17px!important;
  background:#fffef9!important;
}
.admin-deal-list span{
  grid-column:auto!important;
}
.admin-deal-list em{
  grid-row:auto!important;
  grid-column:auto!important;
  justify-self:start;
}
.admin-note.compact-note{
  margin-top:12px!important;
  background:#fffaf0;
  border:1px dashed rgba(180,133,47,.24);
  border-radius:15px;
  padding:11px 12px;
}
@media(max-width:980px){
  .admin-deal-foundation{grid-template-columns:1fr!important;}
  .admin-deal-list{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  .admin-deal-builder-card,.admin-deal-preview-card{padding:14px!important;}
  .deal-fields-compact{grid-template-columns:1fr!important;}
  .deal-toggle-row{grid-template-columns:1fr 1fr!important;}
  .admin-preview-heading{align-items:flex-start;flex-direction:column;}
  .deal-preview-mini b{max-width:none!important;padding-top:26px!important;}
}
@media(max-width:480px){
  .deal-toggle-row{grid-template-columns:1fr!important;}
}


/* v2.99 Specials / Deals Admin Real Layout Fix
   The earlier deal manager polish was still trapped inside the base 640px modal width.
   This pass widens the Business Admin modal and rebuilds the Deals tab so the form,
   preview, and saved deals do not crowd or overlap. */
.admin-control-modal,
.admin-preview-modal{
  width:min(1120px, calc(100vw - 44px))!important;
  max-width:1120px!important;
}
.admin-control-shell,
.admin-preview-shell{
  grid-template-columns:190px minmax(0,1fr)!important;
  gap:16px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"]{
  padding:18px!important;
  overflow:visible!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-panel-title{
  margin-bottom:12px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-deal-intro{
  max-width:760px!important;
  margin:0 0 18px!important;
  font-size:14px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-deal-foundation{
  display:grid!important;
  grid-template-columns:minmax(520px,1.35fr) minmax(320px,.85fr)!important;
  gap:20px!important;
  align-items:start!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-deal-builder-card,
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-deal-preview-card{
  min-width:0!important;
  padding:20px!important;
  border-radius:22px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-subhead-row,
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-preview-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-subhead-row strong,
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-preview-heading strong{
  font-size:21px!important;
  line-height:1.1!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-fields-compact{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-fields-compact label{
  min-width:0!important;
  display:grid!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-fields-compact input,
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-fields-compact select{
  width:100%!important;
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:46px!important;
  font-size:14px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-toggle-row{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-toggle-row button{
  min-height:52px!important;
  justify-content:flex-start!important;
  padding:12px 14px!important;
  text-align:left!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-actions-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:center!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-actions-row .btn{
  white-space:normal!important;
  min-width:150px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-preview-mini{
  min-height:240px!important;
  padding:20px 20px 66px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-preview-mini b{
  max-width:100%!important;
  font-size:24px!important;
  padding-right:0!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-sticker{
  position:static!important;
  justify-self:start!important;
  width:max-content!important;
  margin-bottom:2px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-preview-price{
  left:20px!important;
  right:auto!important;
  bottom:18px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-deal-list{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-deal-list div{
  min-height:0!important;
}
@media(max-width:1180px){
  .admin-control-modal,.admin-preview-modal{width:calc(100vw - 28px)!important;max-width:none!important;}
  .admin-control-shell,.admin-preview-shell{grid-template-columns:170px minmax(0,1fr)!important;}
  .admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-deal-foundation{grid-template-columns:1fr!important;}
  .admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-deal-preview-card{max-width:none!important;}
}
@media(max-width:820px){
  .admin-control-shell,.admin-preview-shell{grid-template-columns:1fr!important;}
  .admin-side-nav{display:flex!important;overflow-x:auto!important;}
  .admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-fields-compact{grid-template-columns:1fr!important;}
  .admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-toggle-row{grid-template-columns:1fr!important;}
  .admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .admin-deal-list{grid-template-columns:1fr!important;}
}


/* v3.00 Deals Date Picker & Preview Price Fix
   Makes the date inputs feel fully clickable and keeps the price pill from overlapping live preview copy. */
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .date-picker-field,
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .date-picker-field input{
  cursor:pointer!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .date-picker-field input{
  background-image:linear-gradient(90deg, rgba(244,183,51,.08), rgba(244,183,51,.02))!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-preview-mini{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  min-height:240px!important;
  padding:20px!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-preview-mini small{
  display:block!important;
  max-width:100%!important;
  line-height:1.35!important;
}
.admin-control-modal .admin-tab-panel[data-admin-panel="deals"] .deal-preview-price{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  margin-top:auto!important;
  align-self:flex-start!important;
  padding:9px 16px!important;
}

/* v3.01 Pickup / Delivery Settings Foundation
   Adds an owner-facing fulfillment settings panel with a cleaner form, customer checkout preview,
   delivery zone mockup, and routing summary while preserving the approved v3.00 deals layout. */
.admin-fulfillment-intro{
  max-width:760px;
  margin:0 0 18px;
  color:var(--muted);
  font-weight:850;
  line-height:1.45;
}
.fulfillment-admin-layout{
  display:grid;
  grid-template-columns:minmax(520px,1.3fr) minmax(320px,.9fr);
  gap:20px;
  align-items:start;
}
.fulfillment-builder-card,
.fulfillment-preview-card{
  border:1px solid rgba(180,133,47,.22);
  background:#fffdf8;
  border-radius:22px;
  padding:20px;
  box-shadow:0 14px 32px rgba(46,31,17,.06);
  min-width:0;
}
.fulfillment-toggle-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:16px 0;
}
.fulfillment-toggle-grid button{
  min-height:52px;
  border:1px solid rgba(47,111,78,.2);
  background:rgba(47,111,78,.1);
  color:var(--green);
  border-radius:16px;
  font-weight:1000;
  text-align:left;
  padding:12px 14px;
  cursor:pointer;
}
.fulfillment-toggle-grid button.off{
  background:#fff;
  color:var(--muted);
  border-color:rgba(37,27,18,.14);
}
.fulfillment-fields-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.fulfillment-fields-grid label{
  min-width:0!important;
}
.fulfillment-fields-grid input,
.fulfillment-fields-grid select{
  width:100%!important;
  min-height:46px!important;
  box-sizing:border-box!important;
}
.fulfillment-routing-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:16px 0;
}
.fulfillment-routing-cards div{
  border:1px solid rgba(47,111,78,.16);
  background:rgba(47,111,78,.06);
  border-radius:16px;
  padding:12px;
}
.fulfillment-routing-cards b{
  display:block;
  color:var(--green);
  font-size:13px;
  margin-bottom:5px;
}
.fulfillment-routing-cards span{
  display:block;
  color:var(--muted);
  font-weight:850;
  font-size:12px;
  line-height:1.35;
}
.fulfillment-customer-preview{
  background:linear-gradient(145deg,#12472d,#1f6a43);
  color:#fff;
  border-radius:22px;
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:9px;
  min-height:210px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.fulfillment-customer-preview b{
  font-size:24px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.fulfillment-customer-preview em{
  color:#ffd76a;
  font-style:normal;
  font-weight:1000;
  line-height:1.25;
}
.fulfillment-customer-preview small{
  color:rgba(255,255,255,.9);
  font-weight:850;
  line-height:1.38;
}
.fulfillment-preview-pill{
  width:max-content;
  background:var(--brand2);
  color:#25170b;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:1000;
}
.fulfillment-mini-map{
  position:relative;
  min-height:166px;
  margin-top:14px;
  border:1px dashed rgba(47,111,78,.28);
  background:radial-gradient(circle at 50% 50%, rgba(47,111,78,.13), transparent 35%), linear-gradient(135deg,#fffaf0,#f6fff8);
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:16px;
}
.fulfillment-mini-map span{
  position:relative;
  z-index:2;
  background:#fffdf8;
  border:1px solid rgba(37,27,18,.1);
  border-radius:999px;
  padding:8px 12px;
  color:var(--green);
  font-weight:1000;
  font-size:12px;
}
.map-ring{
  position:absolute;
  width:130px;
  height:130px;
  border:3px solid rgba(47,111,78,.28);
  border-radius:50%;
  top:24px;
  left:50%;
  transform:translateX(-50%);
}
.map-pin{
  position:absolute;
  top:68px;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  background:var(--green);
  color:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-weight:1000;
  font-size:12px;
  box-shadow:0 10px 22px rgba(47,111,78,.2);
}
@media(max-width:1180px){
  .fulfillment-admin-layout{grid-template-columns:1fr;}
}
@media(max-width:820px){
  .fulfillment-fields-grid{grid-template-columns:1fr!important;}
  .fulfillment-toggle-grid,.fulfillment-routing-cards{grid-template-columns:1fr!important;}
  .fulfillment-builder-card,.fulfillment-preview-card{padding:14px;}
}

/* v3.02 Delivery Zone Map Foundation
   Adds multi-zone polygon-style delivery controls for all delivery-enabled business types. */
.delivery-zone-manager{
  margin:18px 0;
  border:1px solid rgba(47,111,78,.18);
  background:linear-gradient(180deg,#ffffff,#f7fff8);
  border-radius:20px;
  padding:16px;
  box-shadow:0 12px 28px rgba(47,111,78,.06);
}
.delivery-zone-helper{
  border:1px dashed rgba(47,111,78,.25);
  background:rgba(47,111,78,.06);
  border-radius:16px;
  padding:12px 14px;
  margin:12px 0 14px;
}
.delivery-zone-helper b{display:block;color:var(--green);font-size:13px;margin-bottom:4px;}
.delivery-zone-helper span{display:block;color:var(--muted);font-weight:850;font-size:12px;line-height:1.4;}
.delivery-zone-grid{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);
  gap:14px;
  align-items:stretch;
}
.delivery-zone-table{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.zone-row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:6px 10px;
  align-items:center;
  border:1px solid rgba(37,27,18,.1);
  background:#fffdf8;
  border-radius:16px;
  padding:12px;
  cursor:pointer;
  transition:.18s ease;
}
.zone-row:hover,.zone-row.active{border-color:rgba(47,111,78,.38);box-shadow:0 10px 22px rgba(47,111,78,.08);transform:translateY(-1px);}
.zone-row b{font-size:13px;color:#21170f;}
.zone-row em{grid-column:2;color:var(--muted);font-style:normal;font-weight:900;font-size:12px;}
.zone-color{width:16px;height:16px;border-radius:6px;display:block;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(37,27,18,.12);}
.zone-color.green{background:#2f6f4e}.zone-color.gold{background:#f4ba38}.zone-color.blue{background:#4d86c8}.zone-color.red{background:#d9574d}
.delivery-zone-map-card{
  position:relative;
  min-height:300px;
  border:1px solid rgba(37,27,18,.12);
  border-radius:18px;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(86,151,107,.16),rgba(86,151,107,0) 35%),
    linear-gradient(45deg,rgba(77,134,200,.18),rgba(77,134,200,0) 46%),
    #f1f8ee;
}
.fake-map-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(47,111,78,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(47,111,78,.08) 1px,transparent 1px);
  background-size:42px 42px;
  opacity:.85;
}
.map-toolbar{
  position:absolute;top:10px;left:10px;right:10px;z-index:6;display:flex;gap:8px;flex-wrap:wrap;
}
.map-toolbar span{background:rgba(255,253,248,.94);border:1px solid rgba(37,27,18,.12);border-radius:999px;padding:7px 10px;font-weight:1000;font-size:11px;color:#1f3327;}
.zone-shape{position:absolute;z-index:2;border:3px solid rgba(255,255,255,.85);box-shadow:0 10px 25px rgba(21,54,36,.14);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:1000;opacity:.72;transition:.18s ease;}
.zone-shape.active{opacity:.92;transform:scale(1.025);box-shadow:0 14px 32px rgba(21,54,36,.22);}
.zone-shape span{background:rgba(20,40,28,.52);border-radius:999px;padding:5px 9px;}
.zone-shape-core{left:28%;top:34%;width:34%;height:36%;background:rgba(47,111,78,.72);clip-path:polygon(6% 16%,72% 0,96% 28%,84% 96%,12% 88%);}
.zone-shape-east{left:52%;top:24%;width:34%;height:30%;background:rgba(244,186,56,.68);clip-path:polygon(12% 24%,82% 6%,98% 72%,28% 92%);}
.zone-shape-outer{left:12%;top:16%;width:76%;height:70%;background:rgba(77,134,200,.28);clip-path:polygon(10% 18%,60% 6%,94% 30%,88% 84%,36% 94%,4% 62%);}
.map-store-dot,.map-address-dot{position:absolute;z-index:7;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:1000;box-shadow:0 10px 20px rgba(37,27,18,.16);}
.map-store-dot{left:44%;top:49%;background:#133f2a;color:#fff;}
.map-address-dot{right:16%;top:37%;background:#fffdf8;color:#25170b;border:1px solid rgba(37,27,18,.16);}
.delivery-zone-edit-grid{margin-top:14px;}
.zone-actions-row{border-top:1px solid rgba(37,27,18,.08);padding-top:14px;margin-top:14px;}
@media(max-width:900px){
  .delivery-zone-grid{grid-template-columns:1fr;}
  .delivery-zone-map-card{min-height:260px;}
}


/* v3.03 Delivery Zone Map Layout Fix
   Keeps the delivery zone map fully contained inside the Pickup / Delivery builder card.
   The zone list and map no longer overflow into the right checkout preview column. */
.delivery-zone-manager{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.delivery-zone-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
.delivery-zone-table{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.delivery-zone-table .zone-row{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.delivery-zone-map-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  min-height:238px!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.delivery-zone-edit-grid{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.delivery-zone-edit-grid label{
  min-width:0!important;
}
.delivery-zone-edit-grid input,
.delivery-zone-edit-grid select{
  width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:1060px){
  .delivery-zone-table{grid-template-columns:1fr!important;}
  .delivery-zone-map-card{min-height:230px!important;}
}
@media(max-width:700px){
  .delivery-zone-manager{padding:12px!important;border-radius:18px!important;}
  .map-toolbar{gap:5px!important;}
  .map-toolbar span{font-size:10px!important;padding:6px 8px!important;}
  .delivery-zone-map-card{min-height:220px!important;}
}


/* v3.04 Rewards / Customers Foundation
   Adds a cleaner Local Markets rewards/customer account admin workflow. */
.rewards-admin-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:18px;align-items:start;margin-top:14px;}
.rewards-editor-card,.rewards-preview-card{border:1px solid var(--line);border-radius:22px;background:#fffdf8;padding:18px;box-shadow:0 16px 34px rgba(49,29,6,.06);}
.rewards-form-grid{margin-top:12px;}
.rewards-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;}
.rewards-toggle-grid button{min-height:58px;text-align:left;}
.rewards-actions-row{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;}
.customer-account-mockup{border-radius:22px;background:linear-gradient(160deg,#123f2a,#1f6b44);color:#fff;padding:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);}
.mock-customer-head{display:flex;gap:10px;align-items:center;margin-bottom:12px;}
.mock-customer-head img{width:42px;height:42px;border-radius:50%;background:#fff;padding:4px;}
.mock-customer-head b{display:block;font-size:15px;line-height:1.1;}
.mock-customer-head span{display:block;color:rgba(255,255,255,.78);font-size:12px;font-weight:850;margin-top:2px;}
.reward-balance-box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:14px;display:grid;gap:4px;}
.reward-balance-box span{font-weight:1000;color:#f7c34a;text-transform:uppercase;font-size:11px;letter-spacing:.05em;}
.reward-balance-box strong{font-size:34px;line-height:1;}
.reward-balance-box em{font-style:normal;color:rgba(255,255,255,.86);font-size:12px;font-weight:850;line-height:1.3;}
.reward-progress{height:10px;border-radius:999px;background:rgba(255,255,255,.2);overflow:hidden;margin:12px 0;}
.reward-progress span{display:block;height:100%;background:#f7c34a;border-radius:inherit;}
.customer-account-mockup p{font-weight:900;line-height:1.35;margin:0 0 12px;color:#fff;}
.customer-quick-actions{display:grid;grid-template-columns:1fr;gap:8px;}
.customer-quick-actions button{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;border-radius:12px;padding:9px 10px;text-align:left;font-weight:1000;}
.rewards-rule-summary{margin-top:12px;border:1px dashed #bdd8c8;background:#f3fbf6;border-radius:16px;padding:12px;color:#16432c;font-weight:900;line-height:1.35;}
.rewards-mini-report{grid-template-columns:1fr 1fr;margin-top:12px;}
@media(max-width:1100px){.rewards-admin-grid{grid-template-columns:1fr;}.rewards-toggle-grid{grid-template-columns:1fr 1fr;}.rewards-preview-card{max-width:none;}}
@media(max-width:640px){.rewards-toggle-grid,.rewards-mini-report{grid-template-columns:1fr;}.rewards-editor-card,.rewards-preview-card{padding:14px;border-radius:18px;}.reward-balance-box strong{font-size:28px;}}

/* v3.05 Reports / Settings + Order Dashboard Preview
   Adds a cleaner owner dashboard preview for orders, sales, routing, and core settings. */
.reports-admin-intro{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:16px;
  border:1px solid rgba(47,124,83,.16);
  background:linear-gradient(135deg,#fffdf8,#f6fbf0);
  border-radius:22px;
  margin-bottom:14px;
}
.reports-admin-intro strong{display:block;font-size:18px;color:var(--ink);margin-bottom:4px;}
.reports-admin-intro span{display:block;color:var(--muted);font-weight:800;line-height:1.35;}
.reports-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:14px;
}
.report-kpi-card{
  border:1px solid var(--line);
  border-radius:20px;
  padding:14px;
  background:#fffdf8;
  box-shadow:0 10px 22px rgba(47,35,23,.05);
}
.report-kpi-card span{display:block;color:var(--muted);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
.report-kpi-card strong{display:block;font-size:26px;color:var(--ink);letter-spacing:-.04em;margin:5px 0;}
.report-kpi-card em{display:block;font-style:normal;color:#2f7c53;font-weight:900;font-size:12px;line-height:1.3;}
.reports-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:14px;align-items:start;}
.reports-main-card,.reports-side-card{
  border:1px solid var(--line);
  background:#fff;
  border-radius:24px;
  padding:16px;
  box-shadow:0 12px 28px rgba(47,35,23,.06);
}
.reports-side-stack{display:grid;gap:14px;}
.reports-card-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px;}
.reports-card-heading strong{font-size:17px;color:var(--ink);}
.reports-card-heading span{color:var(--muted);font-weight:800;font-size:12px;line-height:1.3;text-align:right;}
.order-dashboard-list{display:grid;gap:10px;}
.order-dashboard-list div{
  display:grid;
  grid-template-columns:70px minmax(0,1fr) auto 70px;
  align-items:center;
  gap:10px;
  border:1px solid rgba(47,124,83,.12);
  border-radius:16px;
  padding:12px;
  background:#fffdf8;
}
.order-dashboard-list b{color:var(--green);font-weight:1000;}
.order-dashboard-list span{color:var(--ink);font-weight:900;line-height:1.25;}
.order-dashboard-list small{text-align:right;font-weight:1000;color:var(--ink);}
.status{font-style:normal;font-weight:1000;font-size:12px;border-radius:999px;padding:7px 9px;white-space:nowrap;}
.status.cooking{background:#fff1d2;color:#7a4b00;}
.status.pulling{background:#eaf5ff;color:#1e5474;}
.status.ready{background:#e9f8ee;color:#236846;}
.status.route{background:#f3eaff;color:#5e3b78;}
.sales-mix-bars{display:grid;gap:12px;}
.sales-mix-bars div{display:grid;grid-template-columns:120px minmax(90px,1fr) 48px;align-items:center;gap:9px;}
.sales-mix-bars span{font-size:12px;font-weight:900;color:var(--muted);}
.sales-mix-bars b{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--brand2));max-width:100%;}
.sales-mix-bars em{font-style:normal;font-size:12px;font-weight:1000;color:var(--ink);text-align:right;}
.top-seller-list{margin:0;padding-left:18px;display:grid;gap:9px;}
.top-seller-list li{font-weight:900;color:var(--ink);}
.top-seller-list span{display:block;color:var(--ink);line-height:1.25;}
.top-seller-list b{display:block;color:var(--green);font-size:12px;margin-top:2px;}
.routing-settings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px;}
.routing-preview-card{border:1px solid var(--line);border-radius:20px;padding:14px;background:#fffdf8;}
.routing-preview-card strong{display:block;color:var(--ink);font-size:15px;margin-bottom:5px;}
.routing-preview-card span{display:block;color:var(--muted);font-weight:800;line-height:1.35;font-size:13px;min-height:48px;}
.routing-preview-card b{display:inline-block;margin-top:10px;background:rgba(47,124,83,.1);color:var(--green);border-radius:999px;padding:6px 9px;font-size:12px;}
@media(max-width:980px){
  .reports-dashboard-grid,.routing-settings-grid{grid-template-columns:1fr 1fr;}
  .reports-layout{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .reports-admin-intro{display:block;}
  .reports-admin-intro .btn{margin-top:12px;width:100%;}
  .reports-dashboard-grid,.routing-settings-grid{grid-template-columns:1fr;}
  .order-dashboard-list div{grid-template-columns:1fr;align-items:start;}
  .order-dashboard-list small{text-align:left;}
  .reports-card-heading{display:block;}
  .reports-card-heading span{text-align:left;margin-top:4px;display:block;}
  .sales-mix-bars div{grid-template-columns:1fr;gap:5px;}
  .sales-mix-bars em{text-align:left;}
  .routing-preview-card span{min-height:0;}
}


/* v3.06 Final Market Demo Review & Presentation Polish */
.show-ready-section{
  max-width:1180px;
  margin:18px auto 8px;
  padding:0 20px;
}
.show-ready-card{
  border:1px solid rgba(47,124,83,.14);
  border-radius:26px;
  background:linear-gradient(135deg,#fffdf8 0%,#f6fbf0 62%,#fff8e5 100%);
  box-shadow:0 18px 42px rgba(35,61,42,.08);
  padding:18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);
  gap:16px;
  align-items:center;
}
.show-ready-copy span{
  display:inline-flex;
  background:rgba(47,124,83,.10);
  color:var(--green);
  border:1px solid rgba(47,124,83,.16);
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.show-ready-copy h2{
  margin:10px 0 6px;
  color:var(--ink);
  font-size:clamp(22px,3vw,34px);
  letter-spacing:-.04em;
  line-height:1.02;
}
.show-ready-copy p{
  margin:0;
  color:var(--muted);
  font-weight:850;
  line-height:1.45;
  max-width:650px;
}
.show-ready-points{
  display:grid;
  gap:10px;
}
.show-ready-points div{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:2px 11px;
  align-items:start;
  border:1px solid rgba(47,124,83,.12);
  border-radius:18px;
  background:#fff;
  padding:12px;
}
.show-ready-points b{
  grid-row:1 / span 2;
  width:34px;
  height:34px;
  border-radius:12px;
  background:var(--green);
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 8px 18px rgba(47,124,83,.18);
}
.show-ready-points strong{
  color:var(--ink);
  font-size:15px;
  line-height:1.15;
}
.show-ready-points small{
  color:var(--muted);
  font-weight:800;
  line-height:1.35;
}
.customer-order-kicker,
.pages-kicker,
.owner-kicker{
  letter-spacing:.05em;
}
@media(max-width:900px){
  .show-ready-card{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .show-ready-section{padding:0 12px;margin-top:14px;}
  .show-ready-card{padding:14px;border-radius:22px;}
  .show-ready-points div{grid-template-columns:32px 1fr;padding:11px;border-radius:16px;}
  .show-ready-points b{width:30px;height:30px;border-radius:10px;}
}


/* Local Markets v3.07 Mobile Menu Popup & QR Share Polish */
.demo-share-trigger{
  position:fixed;
  right:20px;
  bottom:90px;
  z-index:58;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(47,111,78,.18);
  background:rgba(255,253,248,.68);
  color:#2f6f4e;
  box-shadow:0 10px 25px rgba(35,25,14,.10);
  display:grid;
  place-items:center;
  font-size:18px;
  font-weight:1000;
  opacity:.42;
  cursor:pointer;
  transition:opacity .18s ease, transform .18s ease, background .18s ease;
}
.demo-share-trigger:hover,.demo-share-trigger:focus-visible{
  opacity:1;
  background:#fffdf8;
  transform:translateY(-1px);
  outline:none;
}
.share-modal{
  max-width:430px;
}
.share-modal-content{
  padding-bottom:26px;
}
.demo-qr-card{
  border:1px solid #ead9b4;
  background:linear-gradient(180deg,#fffdf8,#fff8e8);
  border-radius:24px;
  padding:22px;
  display:grid;
  justify-items:center;
  gap:10px;
  text-align:center;
  box-shadow:0 16px 36px rgba(35,25,14,.10);
}
.demo-qr-card img{
  width:min(230px,72vw);
  height:auto;
  background:#fff;
  border-radius:18px;
  border:1px solid rgba(35,25,14,.10);
  padding:12px;
}
.demo-qr-card strong{
  font-size:18px;
  line-height:1.2;
  color:#23190e;
}
.demo-qr-card span{
  color:#6f665f;
  font-weight:800;
  line-height:1.35;
}
@media(max-width:640px){
  .demo-share-trigger{
    right:14px;
    bottom:calc(86px + var(--safe-bottom));
    width:34px;
    height:34px;
    font-size:16px;
    opacity:.36;
  }
}
