*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

    :root {
      --forest:    #1B4332;
      --forest-2:  #2D6A4F;
      --sage:      #52B788;
      --sage-lt:   #95D5B2;
      --peach:     #E07B39;
      --peach-lt:  #F4A261;
      --cherry:    #C41E3A;
      --gold:      #D4A017;
      --cream:     #FEFCF7;
      --cream-2:   #F5EDE0;
      --cream-3:   #E8D5C0;
      --charcoal:  #1A1A2E;
      --text:      #2D3436;
      --text-md:   #636E72;
      --white:     #FFFFFF;
      --r-xl:      24px;
      --r-lg:      16px;
      --r-md:      10px;
      --r-full:    9999px;
      --sh:        0 4px 24px rgba(27,67,50,0.08);
      --sh-lg:     0 20px 60px rgba(27,67,50,0.16);
    }

    html { scroll-behavior: smooth; }
    body { font-family:'Poppins',sans-serif; color:var(--text); background:var(--cream); overflow-x:hidden; }
    ::-webkit-scrollbar { width:5px; }
    ::-webkit-scrollbar-track { background:var(--cream-2); }
    ::-webkit-scrollbar-thumb { background:var(--sage); border-radius:3px; }

    /* ══════════════════════════════════════
       NAV
    ══════════════════════════════════════ */
    #main-nav {
      position:fixed; top:0; left:0; right:0; z-index:1000;
      transition: background 0.4s, box-shadow 0.4s, padding 0.4s;
    }
    #main-nav.scrolled {
      background: rgba(254,252,247,0.96);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      box-shadow: 0 2px 30px rgba(27,67,50,0.1);
    }
    .nav-inner {
      max-width:1280px; margin:auto; padding:22px 36px;
      display:flex; align-items:center; justify-content:space-between; gap:20px;
      transition: padding 0.4s;
    }
    #main-nav.scrolled .nav-inner { padding:14px 36px; }

    .logo {
      font-family:'Playfair Display',serif;
      font-size:1.65rem; font-weight:900; letter-spacing:1px;
      color:#fff; text-decoration:none;
      display:flex; align-items:center; gap:10px;
      flex-shrink:0; transition: color 0.4s;
    }
    #main-nav.scrolled .logo { color:var(--forest); }
    .logo-accent { color:var(--peach); }

    .nav-links { display:flex; align-items:center; gap:2px; }
    .nav-links a {
      color:rgba(255,255,255,0.82); text-decoration:none;
      padding:8px 16px; border-radius:var(--r-full);
      font-weight:500; font-size:0.88rem; transition:all 0.25s;
    }
    #main-nav.scrolled .nav-links a { color:var(--text); }
    .nav-links a:hover { background:rgba(255,255,255,0.15); color:#fff; }
    #main-nav.scrolled .nav-links a:hover { background:var(--cream-2); color:var(--forest); }
    .nav-links a.active { background:rgba(255,255,255,0.18); color:#fff; font-weight:700; }
    #main-nav.scrolled .nav-links a.active { background:var(--sage-lt); color:var(--forest); }

    .nav-right { display:flex; align-items:center; gap:12px; }
    .nav-order {
      background:var(--peach); color:#fff;
      border:none; padding:10px 22px; border-radius:var(--r-full);
      font-weight:700; font-size:0.85rem; cursor:pointer;
      font-family:'Poppins',sans-serif; flex-shrink:0;
      display:flex; align-items:center; gap:8px;
      transition:all 0.25s;
    }
    .nav-order:hover { background:var(--peach-lt); transform:translateY(-1px); box-shadow:0 6px 20px rgba(224,123,57,0.4); }
    .cart-badge {
      background:#fff; color:var(--peach);
      border-radius:var(--r-full); padding:1px 7px;
      font-size:0.72rem; font-weight:800;
    }

    .hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:6px; background:none; border:none; }
    .hamburger span { display:block; width:24px; height:2px; background:#fff; border-radius:2px; transition:all 0.3s; }
    #main-nav.scrolled .hamburger span { background:var(--forest); }

    .mobile-menu {
      display:none; position:fixed; inset:0; z-index:999;
      background:var(--forest);
      flex-direction:column; align-items:center; justify-content:center; gap:32px;
    }
    .mobile-menu.open { display:flex; }
    .mobile-menu a {
      color:#fff; text-decoration:none;
      font-family:'Playfair Display',serif; font-size:1.8rem; font-weight:700;
      transition:color 0.2s;
    }
    .mobile-menu a:hover { color:var(--peach); }
    .mobile-close {
      position:absolute; top:24px; right:28px;
      background:none; border:none; color:#fff; font-size:2rem; cursor:pointer;
    }

    /* ══════════════════════════════════════
       HERO
    ══════════════════════════════════════ */
    .hero {
      min-height:42vh;
      background:
        radial-gradient(ellipse at 18% 55%, rgba(82,183,136,0.18) 0%, transparent 55%),
        radial-gradient(ellipse at 82% 18%, rgba(224,123,57,0.14) 0%, transparent 48%),
        linear-gradient(148deg, #081c12 0%, #1B4332 38%, #2D6A4F 70%, #163826 100%);
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      text-align:center; padding:94px 24px 40px;
      position:relative; overflow:hidden;
    }
    .hero::before {
      content:''; position:absolute; inset:0;
      background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.035) 1px, transparent 0);
      background-size:44px 44px; pointer-events:none;
    }

    /* Floating fruits */
    .ff {
      position:absolute; pointer-events:none; user-select:none;
      filter:drop-shadow(0 6px 20px rgba(0,0,0,0.35));
      opacity:0.9; line-height:1;
    }
    @keyframes fA {
      0%,100% { transform:translateY(0px) rotate(-4deg) scale(1); }
      33%      { transform:translateY(-28px) rotate(9deg) scale(1.07); }
      66%      { transform:translateY(-12px) rotate(-2deg) scale(1.03); }
    }
    @keyframes fB {
      0%,100% { transform:translateY(0px) rotate(14deg); }
      50%      { transform:translateY(-24px) rotate(-9deg); }
    }
    @keyframes fC {
      0%,100% { transform:translateY(-6px) rotate(0deg) scale(1); }
      40%      { transform:translateY(-34px) rotate(18deg) scale(1.09); }
      70%      { transform:translateY(-16px) rotate(-5deg) scale(1.04); }
    }
    @keyframes fD {
      0%,100% { transform:translateY(2px) rotate(22deg) scale(1); }
      60%      { transform:translateY(-20px) rotate(-4deg) scale(1.06); }
    }

    .ff1  { top:8%;  left:5%;   font-size:4rem;   animation:fA 9s ease-in-out infinite; }
    .ff2  { top:18%; right:7%;  font-size:5.2rem; animation:fB 11s ease-in-out infinite; animation-delay:-2s; }
    .ff3  { top:62%; left:3%;   font-size:3.6rem; animation:fC 8s ease-in-out infinite; animation-delay:-4s; }
    .ff4  { top:68%; right:4%;  font-size:5.8rem; animation:fA 12.5s ease-in-out infinite; animation-delay:-1s; }
    .ff5  { top:38%; left:1.5%; font-size:3rem;   animation:fD 10s ease-in-out infinite; animation-delay:-6s; }
    .ff6  { top:12%; left:19%;  font-size:2.6rem; animation:fB 7.5s ease-in-out infinite; animation-delay:-3s; }
    .ff7  { top:80%; left:14%;  font-size:3.8rem; animation:fC 9.5s ease-in-out infinite; animation-delay:-5s; }
    .ff8  { top:22%; right:20%; font-size:3rem;   animation:fA 8.5s ease-in-out infinite; animation-delay:-7s; }
    .ff9  { top:76%; right:17%; font-size:2.6rem; animation:fD 11.5s ease-in-out infinite; animation-delay:-2.5s; }
    .ff10 { top:4%;  right:32%; font-size:3.6rem; animation:fB 10.5s ease-in-out infinite; animation-delay:-4.5s; }

    .hero-content { position:relative; z-index:2; max-width:780px; }

    .hero-eyebrow {
      display:inline-flex; align-items:center; gap:10px;
      background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2);
      color:rgba(255,255,255,0.9); padding:8px 24px; border-radius:var(--r-full);
      font-size:0.72rem; font-weight:700; letter-spacing:3px; text-transform:uppercase;
      margin-bottom:28px; backdrop-filter:blur(12px);
    }
    .hero-eyebrow i {
      width:6px; height:6px; border-radius:50%;
      background:var(--peach); display:inline-block; animation:pulse 2s infinite;
    }
    @keyframes pulse {
      0%,100% { opacity:1; transform:scale(1); }
      50%      { opacity:0.6; transform:scale(1.4); }
    }

    .hero-heading {
      font-family:'Playfair Display',serif;
      font-size:clamp(2.3rem,5.2vw,4.4rem); font-weight:900;
      color:#fff; line-height:1.08; margin-bottom:16px; letter-spacing:-1px;
    }
    .hero-heading em { font-style:italic; color:var(--peach); }

    .hero-sub {
      font-size:clamp(1rem,2vw,1.2rem);
      color:rgba(255,255,255,0.7); font-weight:400;
      margin-bottom:26px; line-height:1.6; max-width:560px; margin-left:auto; margin-right:auto;
    }

    .hero-ctas {
      display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:0;
    }
    .btn-prim {
      background:var(--peach); color:#fff;
      padding:16px 36px; border-radius:var(--r-full);
      font-weight:700; font-size:1rem; text-decoration:none;
      display:inline-flex; align-items:center; gap:10px;
      transition:all 0.3s; box-shadow:0 8px 28px rgba(224,123,57,0.45);
    }
    .btn-prim:hover { background:var(--peach-lt); transform:translateY(-3px); box-shadow:0 16px 40px rgba(224,123,57,0.5); }
    .btn-ghost {
      background:rgba(255,255,255,0.1); border:2px solid rgba(255,255,255,0.3);
      color:#fff; padding:14px 32px; border-radius:var(--r-full);
      font-weight:600; font-size:1rem; text-decoration:none;
      display:inline-flex; align-items:center; gap:10px;
      transition:all 0.3s; backdrop-filter:blur(10px);
    }
    .btn-ghost:hover { background:rgba(255,255,255,0.2); border-color:rgba(255,255,255,0.5); transform:translateY(-2px); }

    .hero-stats {
      display:flex; gap:2px; justify-content:center;
      background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.14);
      border-radius:20px; padding:4px; backdrop-filter:blur(20px);
      max-width:420px; margin:0 auto;
    }
    .stat { flex:1; padding:16px 10px; text-align:center; }
    .stat + .stat { border-left:1px solid rgba(255,255,255,0.12); }
    .stat-num {
      font-family:'Playfair Display',serif;
      font-size:1.9rem; font-weight:900; color:var(--peach); line-height:1;
    }
    .stat-lbl { font-size:0.68rem; color:rgba(255,255,255,0.6); font-weight:500; margin-top:4px; text-transform:uppercase; letter-spacing:0.8px; }

    .hero-wave {
      position:absolute; bottom:-2px; left:0; width:100%; height:72px; pointer-events:none;
    }

    /* ══════════════════════════════════════
       INFO STRIP
    ══════════════════════════════════════ */
    /* ══ CATEGORY QUICK ACCESS ══ */
    .cat-quick {
      max-width:1000px; margin:0 auto; padding:26px 20px 4px;
      display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
    }
    .cat-quick-btn {
      display:flex; flex-direction:column; align-items:center; gap:10px; cursor:pointer;
      padding:26px 12px; border:1px solid var(--cream-3); border-radius:var(--r-lg);
      background:var(--white); box-shadow:var(--sh); font-family:'Poppins',sans-serif;
      font-weight:800; font-size:1.3rem; color:var(--forest); letter-spacing:0.3px;
      transition:transform 0.18s, box-shadow 0.18s, border-color 0.18s;
    }
    .cat-quick-btn:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); border-color:var(--sage); }
    .cat-quick-btn .cq-emoji { font-size:2.8rem; line-height:1; }
    .cat-quick-btn.cq-order { background:var(--forest); color:var(--white); border-color:var(--forest); }
    .cat-quick-btn.cq-order:hover { background:var(--forest-2); }
    @media (max-width:560px) {
      .cat-quick { grid-template-columns:repeat(2,1fr); gap:10px; padding:20px 14px 0; }
      .cat-quick-btn { padding:20px 8px; font-size:1.1rem; }
      .cat-quick-btn .cq-emoji { font-size:2.2rem; }
    }

    /* ══ HERO TRUST (Google rating + chips) ══ */
    .hero-trust {
      display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; margin-top:22px;
    }
    .hero-rating {
      display:inline-flex; align-items:center; gap:8px; text-decoration:none;
      background:#fff; padding:8px 16px; border-radius:var(--r-full); box-shadow:var(--sh);
      transition:transform 0.2s;
    }
    .hero-rating:hover { transform:translateY(-2px); }
    .hero-rating .hr-stars { color:#FBBC04; letter-spacing:1px; font-size:0.95rem; }
    .hero-rating .hr-score { font-family:'Playfair Display',serif; font-weight:900; color:var(--text); font-size:1.05rem; }
    .hero-rating .hr-count { color:var(--text-md); font-size:0.78rem; font-weight:600; }
    .hero-chip {
      display:inline-flex; align-items:center; gap:6px; color:#fff; font-size:0.8rem; font-weight:600;
      background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.25);
      padding:8px 14px; border-radius:var(--r-full);
    }

    /* ══ PRICE SORT SELECT ══ */
    .sort-row { max-width:520px; margin:-20px auto 26px; display:flex; justify-content:flex-end; }
    .price-sort {
      border:1px solid var(--cream-3); background:var(--white); color:var(--forest-2);
      font-family:'Poppins',sans-serif; font-weight:600; font-size:0.82rem; cursor:pointer;
      padding:9px 14px; border-radius:var(--r-full); box-shadow:var(--sh);
    }
    .price-sort:focus { outline:none; border-color:var(--sage); }
    @media (max-width:768px){ .sort-row { margin:-8px auto 18px; padding:0 4px; } }

    /* ══ PAYMENT BADGES ══ */
    .pay-badges { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:16px; }
    .pay-badge {
      background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.25); color:#fff;
      padding:6px 13px; border-radius:var(--r-full); font-size:0.76rem; font-weight:600;
    }

    /* ══ MOBILE BOTTOM APP BAR ══ */
    .mobile-bar { display:none; }
    @media (max-width:768px) {
      .mobile-bar {
        display:grid; grid-template-columns:repeat(3,1fr); align-items:stretch;
        position:fixed; left:0; right:0; bottom:0; z-index:1200;
        background:var(--forest); box-shadow:0 -4px 24px rgba(0,0,0,0.22);
        padding-bottom:env(safe-area-inset-bottom,0);
      }
      .mb-item {
        position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
        padding:9px 4px 10px; background:none; border:none; cursor:pointer; text-decoration:none;
        color:rgba(255,255,255,0.9); font-family:'Poppins',sans-serif; font-weight:600; font-size:0.72rem;
      }
      .mb-item:active { background:rgba(255,255,255,0.08); }
      .mb-item .mb-icon { font-size:1.35rem; line-height:1; }
      .mb-item .mb-badge {
        position:absolute; top:4px; left:calc(50% + 8px); background:var(--cherry); color:#fff;
        min-width:18px; height:18px; padding:0 5px; border-radius:var(--r-full);
        display:none; align-items:center; justify-content:center; font-size:0.66rem; font-weight:800;
      }
      /* replace the sliding social panel with the bottom bar on mobile */
      .social-panel { display:none; }
      .float-cart { top:66px; }
      .scroll-top { bottom:78px; }
      body { padding-bottom:62px; }
    }

    /* ══ FLOATING CART (pops top-right when items added) ══ */
    .float-cart {
      position:fixed; top:74px; right:12px; z-index:1150;
      display:flex; align-items:center; gap:9px; padding:12px 18px; border:2px solid #fff; cursor:pointer;
      background:var(--cherry); color:#fff; border-radius:var(--r-full);
      box-shadow:0 8px 26px rgba(196,30,58,0.45), 0 2px 8px rgba(0,0,0,0.25);
      font-family:'Poppins',sans-serif; font-weight:800; font-size:0.98rem; letter-spacing:0.3px;
      opacity:0; transform:translateY(-14px) scale(0.9); pointer-events:none;
      transition:opacity 0.25s ease, transform 0.25s ease, filter 0.2s;
    }
    .float-cart.visible { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
    .float-cart:hover { filter:brightness(1.08); }
    .float-cart .fc-icon { font-size:1.25rem; line-height:1; }
    .float-cart .fc-count {
      background:#fff; color:var(--cherry); border-radius:var(--r-full);
      min-width:24px; height:24px; padding:0 6px; display:inline-flex; align-items:center; justify-content:center;
      font-size:0.85rem; font-weight:800;
    }
    .float-cart.pop { animation:fc-pop 0.42s ease; }
    @keyframes fc-pop { 0%{transform:scale(1)} 40%{transform:scale(1.18)} 100%{transform:scale(1)} }
    @media (max-width:480px){ .float-cart .fc-label { display:none; } .float-cart { padding:11px 13px; } }

    .order-steps-mini {
      max-width:1000px; margin:14px auto 0; padding:12px 20px;
      display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 14px;
      color:var(--text-md); font-size:0.86rem; font-weight:500;
    }
    .order-steps-mini .osm-step { display:inline-flex; align-items:center; gap:7px; }
    .order-steps-mini .osm-step b {
      display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px;
      border-radius:var(--r-full); background:var(--sage); color:var(--white); font-size:0.78rem;
    }
    .order-steps-mini .osm-arrow { color:var(--sage-lt); font-weight:700; }
    @media (max-width:600px){ .order-steps-mini .osm-arrow { display:none; } .order-steps-mini { gap:8px 12px; font-size:0.8rem; } }

    .info-strip { background:var(--forest); }
    .info-strip-inner {
      max-width:1280px; margin:0 auto;
      display:flex; align-items:stretch;
    }
    .info-item {
      flex:1; display:flex; align-items:center; gap:10px;
      padding:18px 24px; color:rgba(255,255,255,0.82);
      font-size:0.84rem; font-weight:500;
      border-right:1px solid rgba(255,255,255,0.1);
    }
    .info-item:last-child { border-right:none; }
    .info-item span { color:var(--peach); font-size:1.1rem; }

    /* ══════════════════════════════════════
       BRAND STRIP
    ══════════════════════════════════════ */
    .brand-strip { background:var(--cream-2); padding:44px 24px; }
    .brand-strip-inner {
      max-width:900px; margin:0 auto;
      display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
    }
    .brand-pill {
      display:flex; align-items:center; gap:12px;
      padding:14px 28px;
      font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:700; color:var(--forest);
    }
    .brand-dot { width:7px; height:7px; border-radius:50%; background:var(--peach); flex-shrink:0; }
    .brand-div { width:1px; height:36px; background:var(--cream-3); flex-shrink:0; }

    /* ══════════════════════════════════════
       SECTION COMMONS
    ══════════════════════════════════════ */
    .section { padding:96px 24px; }
    .section.alt { background:var(--cream-2); }
    .section.dark {
      background:
        radial-gradient(ellipse at 25% 60%, rgba(82,183,136,0.07) 0%, transparent 55%),
        var(--forest);
    }

    .eyebrow {
      display:inline-block; font-size:0.7rem; font-weight:700;
      letter-spacing:3px; text-transform:uppercase; color:var(--peach); margin-bottom:10px;
    }
    .section-title {
      font-family:'Playfair Display',serif;
      font-size:clamp(1.9rem,4vw,3rem); font-weight:900; color:var(--forest);
      line-height:1.12; margin-bottom:14px;
    }
    .section-sub {
      color:var(--text-md); font-size:0.97rem; max-width:500px; line-height:1.75;
      margin:0 auto 52px;
    }
    .section-hdr { text-align:center; }
    .section.dark .section-title { color:#fff; }
    .section.dark .section-sub   { color:rgba(255,255,255,0.6); }
    .section.dark .eyebrow        { color:var(--sage-lt); }

    /* fade-in util */
    .fi { opacity:0; transform:translateY(22px); transition:opacity 0.6s ease, transform 0.6s ease; }
    .fi.on { opacity:1; transform:translateY(0); }

    /* ══════════════════════════════════════
       SUMMER SPECIALS CAROUSEL
    ══════════════════════════════════════ */
    .summer-section { padding:96px 0; overflow:hidden; }
    .summer-hdr { padding:0 32px; text-align:center; margin-bottom:48px; }

    .summer-scroll {
      display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory;
      padding:24px 44px 44px; scrollbar-width:none; cursor:grab;
      -webkit-overflow-scrolling: touch;
    }
    .summer-scroll::-webkit-scrollbar { display:none; }
    .summer-scroll.grabbing { cursor:grabbing; user-select:none; }

    .sc {
      position:relative; width:280px; height:390px;
      border-radius:var(--r-xl); overflow:hidden;
      flex-shrink:0; scroll-snap-align:start; cursor:pointer;
      box-shadow:0 8px 32px rgba(0,0,0,0.14);
      transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.4s;
    }
    .sc:hover { transform:translateY(-16px) scale(1.025); box-shadow:0 30px 70px rgba(0,0,0,0.24); }
    .sc img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; display:block; }
    .sc:hover img { transform:scale(1.1); }
    .sc-overlay {
      position:absolute; inset:0;
      background:linear-gradient(to top, rgba(8,28,18,0.88) 0%, rgba(8,28,18,0.25) 50%, transparent 100%);
    }
    .sc-tag {
      position:absolute; top:16px; left:16px;
      background:var(--peach); color:#fff;
      padding:4px 12px; border-radius:var(--r-full);
      font-size:0.66rem; font-weight:800; text-transform:uppercase; letter-spacing:1.2px;
    }
    .sc-body { position:absolute; bottom:0; left:0; right:0; padding:28px 22px; }
    .sc-emoji { font-size:2rem; display:block; margin-bottom:8px; }
    .sc-name {
      font-family:'Playfair Display',serif;
      font-size:1.55rem; font-weight:900; color:#fff; line-height:1.1;
    }
    .sc-sub {
      font-size:0.7rem; color:rgba(255,255,255,0.6);
      text-transform:uppercase; letter-spacing:1.5px; margin-top:6px; font-weight:500;
    }
    .sc-fallback {
      width:100%; height:100%; display:flex; align-items:center; justify-content:center;
      font-size:6rem; background:linear-gradient(135deg, var(--cream-2), var(--cream-3));
    }

    /* ══════════════════════════════════════
       HOW IT WORKS
    ══════════════════════════════════════ */
    .steps-grid {
      display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
      max-width:980px; margin:0 auto;
    }
    .step-card {
      background:var(--white); border-radius:var(--r-xl); padding:44px 32px; text-align:center;
      box-shadow:var(--sh); transition:transform 0.35s, box-shadow 0.35s;
      position:relative; overflow:hidden;
    }
    .step-card::before {
      content:''; position:absolute; top:0; left:0; right:0; height:4px;
      background:linear-gradient(90deg, var(--sage), var(--peach));
    }
    .step-card:hover { transform:translateY(-10px); box-shadow:var(--sh-lg); }
    .step-num {
      font-family:'Playfair Display',serif; font-size:5rem; font-weight:900;
      color:var(--cream-2); position:absolute; top:14px; right:18px; line-height:1;
    }
    .step-icon { font-size:2.8rem; margin-bottom:16px; position:relative; z-index:1; }
    .step-title { font-weight:700; font-size:1.05rem; color:var(--forest); margin-bottom:12px; }
    .step-text  { color:var(--text-md); font-size:0.88rem; line-height:1.75; }

    /* ══════════════════════════════════════
       PRODUCTS
    ══════════════════════════════════════ */
    .product-container { max-width:1280px; margin:0 auto; }

    .search-row { position:relative; max-width:520px; margin:0 auto 36px; }
    .search-input {
      width:100%; padding:16px 52px 16px 26px;
      border:2px solid var(--cream-3); border-radius:var(--r-full);
      font-family:'Poppins',sans-serif; font-size:0.95rem;
      background:var(--white); color:var(--text);
      outline:none; transition:all 0.3s;
      box-shadow:0 4px 18px rgba(0,0,0,0.05);
    }
    .search-input:focus {
      border-color:var(--sage);
      box-shadow:0 4px 18px rgba(82,183,136,0.2), 0 0 0 4px rgba(82,183,136,0.08);
    }
    .search-clear {
      position:absolute; right:18px; top:50%; transform:translateY(-50%);
      background:none; border:none; cursor:pointer; color:var(--text-md); font-size:1rem; display:none;
    }
    .search-clear.visible { display:block; }

    .cat-tabs {
      display:flex; gap:8px; margin-bottom:44px;
      background:var(--cream-2); border-radius:var(--r-full);
      padding:6px; width:fit-content; margin-left:auto; margin-right:auto;
    }
    .cat-tab {
      padding:12px 34px; border-radius:var(--r-full); border:none; background:transparent;
      cursor:pointer; font-family:'Poppins',sans-serif; font-weight:600; font-size:0.9rem;
      color:var(--text-md); transition:all 0.3s; display:flex; align-items:center; gap:8px;
    }
    .cat-tab.active { background:var(--forest); color:#fff; box-shadow:0 4px 16px rgba(27,67,50,0.3); }
    .cat-count { padding:1px 8px; border-radius:var(--r-full); font-size:0.72rem; }
    .cat-tab.active .cat-count { background:rgba(255,255,255,0.22); color:#fff; }
    .cat-tab:not(.active) .cat-count { background:var(--cream-3); color:var(--text-md); }

    .cat-section { display:none; }
    .cat-section.visible { display:block; }

    .products-grid {
      display:grid; grid-template-columns:repeat(auto-fill, minmax(210px,1fr)); gap:22px;
    }

    /* Product Card */
    .product-card {
      background:var(--white); border-radius:var(--r-xl); overflow:hidden;
      box-shadow:var(--sh); cursor:pointer; position:relative;
      opacity:0; transform:translateY(20px);
      transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.4s, outline 0.15s;
    }
    .product-card.visible {
      animation:cardIn 0.5s cubic-bezier(0.34,1.56,0.64,1) forwards;
    }
    @keyframes cardIn { to { opacity:1; transform:translateY(0); } }

    .product-card:hover { transform:translateY(-12px) scale(1.02); box-shadow:var(--sh-lg); }
    .product-card.selected {
      outline:3px solid var(--sage);
      box-shadow:0 0 0 8px rgba(82,183,136,0.14), var(--sh-lg);
      transform:translateY(-8px) scale(1.01);
    }

    .sel-check {
      position:absolute; top:12px; left:12px; z-index:5;
      width:30px; height:30px; background:var(--sage); color:#fff;
      border-radius:50%; display:none; align-items:center; justify-content:center;
      font-weight:800; font-size:0.85rem; box-shadow:0 4px 10px rgba(82,183,136,0.5);
    }
    .product-card.selected .sel-check { display:flex; }

    .product-badge {
      position:absolute; top:12px; right:12px; z-index:5;
      padding:4px 10px; border-radius:var(--r-full);
      font-size:0.66rem; font-weight:700;
      background:var(--forest); color:#fff;
    }
    .badge-hot { background:var(--cherry); }
    .badge-bio { background:#27643d; }
    .badge-new { background:var(--peach); }

    .photo-wrap {
      width:100%; height:200px; overflow:hidden; position:relative; background:var(--cream-2);
    }
    .photo-wrap img {
      width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; display:block;
    }
    .product-card:hover .photo-wrap img { transform:scale(1.09); }
    .photo-fallback {
      width:100%; height:100%; display:flex; align-items:center; justify-content:center;
      font-size:4rem; background:var(--cream-2);
    }

    .card-body { padding:18px 18px 22px; }
    .product-name { font-weight:700; font-size:0.96rem; color:var(--charcoal); margin-bottom:3px; line-height:1.3; }
    .product-peso { font-size:0.72rem; color:var(--text-md); font-weight:500; margin-bottom:5px; }
    .product-origem { font-size:0.7rem; color:var(--peach); font-weight:600; margin-bottom:14px; letter-spacing:0.2px; }
    .product-price {
      font-family:'Playfair Display',serif; font-size:1rem; font-weight:700;
      color:var(--forest); margin-bottom:6px;
    }
    .product-fresh { font-size:0.7rem; color:var(--sage); font-weight:600; margin-bottom:14px; letter-spacing:0.3px; }

    .add-btn {
      width:100%; padding:10px; background:var(--forest); color:#fff;
      border:none; border-radius:var(--r-md); font-weight:700; font-size:0.84rem;
      cursor:pointer; font-family:'Poppins',sans-serif; transition:all 0.25s;
    }
    .add-btn:hover { background:var(--forest-2); }
    .product-card.selected .add-btn { background:var(--cherry); }

    .qty-controls {
      display:none; align-items:center; justify-content:center; gap:14px; margin-top:10px;
    }
    .product-card.selected .qty-controls { display:flex; }
    .qty-btn {
      width:32px; height:32px; border-radius:50%;
      border:2px solid var(--cream-3); background:var(--cream);
      cursor:pointer; font-size:1.1rem; font-weight:700;
      display:flex; align-items:center; justify-content:center; transition:all 0.2s;
    }
    .qty-btn:hover { background:var(--forest); color:#fff; border-color:var(--forest); }
    .qty-num { font-weight:700; font-size:1rem; min-width:24px; text-align:center; }
    .no-results { text-align:center; padding:52px; color:var(--text-md); font-size:1rem; }

    /* ══════════════════════════════════════
       ORDER SECTION
    ══════════════════════════════════════ */
    .order-inner { max-width:920px; margin:0 auto; }
    .order-grid  { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }
    .order-card {
      background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12);
      border-radius:var(--r-xl); padding:32px; backdrop-filter:blur(10px);
    }
    .order-card-title {
      font-family:'Playfair Display',serif;
      font-size:1.2rem; font-weight:700; color:#fff; margin-bottom:20px;
      padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,0.12);
    }
    .order-items { list-style:none; }
    .empty-msg { color:rgba(255,255,255,0.4); font-size:0.9rem; font-style:italic; }
    .order-item {
      display:flex; justify-content:space-between; align-items:center;
      padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.08);
      color:rgba(255,255,255,0.9); font-size:0.88rem;
      gap:14px;
    }
    .order-item-main { min-width:0; line-height:1.45; }
    .order-item-main small { color:rgba(255,255,255,0.55); }
    .order-item-actions {
      display:flex; flex-direction:column; align-items:flex-end; gap:5px; flex:0 0 auto;
    }
    .order-item-price { color:var(--sage-lt); font-weight:600; white-space:nowrap; }
    .order-remove {
      padding:0; border:0; background:none; color:rgba(255,255,255,0.55);
      font:600 0.7rem 'Poppins',sans-serif; text-decoration:underline;
      text-underline-offset:2px; cursor:pointer; transition:color 0.2s;
    }
    .order-remove:hover { color:#fff; }
    .order-total {
      display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 16px;
      margin-top:18px; padding-top:18px; border-top:1px solid rgba(255,255,255,0.2);
      color:#fff; font-size:1rem; font-weight:700;
    }
    .order-total[hidden] { display:none; }
    .order-total strong { color:var(--sage-lt); font-size:1.25rem; }
    .order-total small {
      grid-column:1 / -1; color:rgba(255,255,255,0.55);
      font-size:0.72rem; font-weight:500;
    }

    .order-form input,
    .order-form textarea {
      width:100%; padding:12px 16px;
      background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.2);
      border-radius:var(--r-md); color:#fff;
      font-family:'Poppins',sans-serif; font-size:0.88rem;
      outline:none; transition:all 0.3s; margin-bottom:12px;
    }
    .order-form input::placeholder,
    .order-form textarea::placeholder { color:rgba(255,255,255,0.38); }
    .order-form input:focus,
    .order-form textarea:focus {
      border-color:var(--sage); background:rgba(255,255,255,0.13);
      box-shadow:0 0 0 3px rgba(82,183,136,0.2);
    }
    .order-form textarea { height:90px; resize:none; }
    .order-btns { display:flex; flex-direction:column; gap:10px; margin-top:16px; }
    .btn-wa {
      background:#25D366; color:#fff; border:none; padding:14px 24px;
      border-radius:var(--r-md); font-weight:700; font-size:0.9rem;
      cursor:pointer; font-family:'Poppins',sans-serif; transition:all 0.25s; text-align:center;
    }
    .btn-wa:hover { background:#1ebe5d; transform:translateY(-1px); box-shadow:0 6px 20px rgba(37,211,102,0.4); }
    .btn-em {
      background:rgba(255,255,255,0.1); color:rgba(255,255,255,0.82);
      border:1px solid rgba(255,255,255,0.2); padding:12px 24px;
      border-radius:var(--r-md); font-weight:600; font-size:0.86rem;
      cursor:pointer; font-family:'Poppins',sans-serif; transition:all 0.25s; text-align:center;
    }
    .btn-em:hover { background:rgba(255,255,255,0.18); }

    /* ══════════════════════════════════════
       CONTACT
    ══════════════════════════════════════ */
    .contact-grid {
      display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
      max-width:1100px; margin:0 auto 48px;
    }
    .contact-card {
      background:var(--white); border-radius:var(--r-xl); padding:36px 24px;
      text-align:center; box-shadow:var(--sh);
      transition:transform 0.35s, box-shadow 0.35s;
    }
    .contact-card:hover { transform:translateY(-6px); box-shadow:var(--sh-lg); }
    .contact-icon { font-size:2.4rem; margin-bottom:14px; }
    .contact-card h4 {
      font-family:'Playfair Display',serif; font-size:1rem; font-weight:700;
      color:var(--forest); margin-bottom:8px;
    }
    .contact-card p, .contact-card a {
      color:var(--text-md); font-size:0.86rem; line-height:1.65; text-decoration:none;
    }
    .contact-card a:hover { color:var(--forest); }
    .map-wrap { border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--sh); max-width:1100px; margin:0 auto; }
    .map-wrap iframe { width:100%; height:380px; border:none; display:block; }

    /* ══════════════════════════════════════
       FOOTER
    ══════════════════════════════════════ */
    footer { background:var(--charcoal); padding:48px 24px; }
    .footer-inner {
      max-width:1280px; margin:0 auto;
      display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
    }
    .footer-logo { font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:900; color:#fff; }
    .footer-logo span { color:var(--peach); }
    .footer-text { color:rgba(255,255,255,0.4); font-size:0.8rem; }
    .footer-links { display:flex; gap:20px; }
    .footer-links a { color:rgba(255,255,255,0.5); text-decoration:none; font-size:0.84rem; transition:color 0.2s; }
    .footer-links a:hover { color:var(--peach); }
    .footer-credit { width:100%; text-align:center; margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.08); color:rgba(255,255,255,0.3); font-size:0.72rem; }
    .footer-credit a { color:rgba(255,255,255,0.45); text-decoration:none; transition:color 0.2s; }
    .footer-credit a:hover { color:var(--sage); }

    /* ══════════════════════════════════════
       SOCIAL PANEL
    ══════════════════════════════════════ */
    .social-panel { position:fixed; right:0; bottom:90px; z-index:900; display:flex; flex-direction:column; gap:7px; }
    .social-link {
      display:flex; align-items:center; gap:10px; padding:11px 14px 11px 18px;
      border-radius:50px 0 0 50px; color:#fff; text-decoration:none;
      font-family:'Poppins',sans-serif; font-weight:700; font-size:0.78rem;
      white-space:nowrap; letter-spacing:.3px;
      box-shadow:-3px 3px 14px rgba(0,0,0,.22);
      transform:translateX(calc(100% - 50px));
      transition:transform 0.35s cubic-bezier(.34,1.56,.64,1);
    }
    .social-link:hover { transform:translateX(0); }
    .social-label { order:1; }
    .social-icon  { width:22px; height:22px; flex-shrink:0; order:2; }
    .social-fb   { background:#1877F2; }
    .social-goog { background:#EA4335; }
    .social-map  { background:var(--peach); }
    .social-wa   {
      background:#25D366; transform:translateX(0);
      font-size:.88rem; padding:14px 16px 14px 20px;
      box-shadow:-4px 4px 22px rgba(37,211,102,.45);
    }
    .social-wa:hover { transform:translateX(0) scale(1.03); }

    /* ══════════════════════════════════════
       SCROLL TOP
    ══════════════════════════════════════ */
    .scroll-top {
      position:fixed; bottom:28px; left:28px; z-index:900;
      width:44px; height:44px; border-radius:50%;
      background:var(--forest); color:#fff; border:none; cursor:pointer;
      font-size:1rem; box-shadow:0 4px 16px rgba(27,67,50,0.4);
      opacity:0; transform:translateY(16px); pointer-events:none;
      transition:all 0.3s; display:flex; align-items:center; justify-content:center;
    }
    .scroll-top.visible { opacity:1; transform:translateY(0); pointer-events:all; }
    .scroll-top:hover   { background:var(--forest-2); transform:translateY(-3px); }

    /* ══════════════════════════════════════
       TOAST
    ══════════════════════════════════════ */
    .toast {
      position:fixed; bottom:32px; left:50%; transform:translateX(-50%) translateY(20px);
      background:var(--charcoal); color:#fff; padding:14px 28px; border-radius:var(--r-full);
      font-size:0.86rem; font-weight:600; box-shadow:0 8px 32px rgba(0,0,0,0.3);
      opacity:0; z-index:9999; transition:all 0.3s; white-space:nowrap; pointer-events:none;
    }
    .toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

    /* ══════════════════════════════════════
       RESPONSIVE
    ══════════════════════════════════════ */
    @media (max-width:1024px) {
      .contact-grid { grid-template-columns:repeat(2,1fr); }
      .order-grid   { grid-template-columns:1fr; }
      .steps-grid   { gap:16px; }
    }
    @media (max-width:768px) {
      .nav-links, .nav-order { display:none; }
      .hamburger { display:flex; }
      .social-panel { display:none !important; }
      .steps-grid { grid-template-columns:1fr; max-width:440px; margin:0 auto; }
      .contact-grid { grid-template-columns:1fr 1fr; }
      .info-strip-inner { display:grid; grid-template-columns:1fr 1fr; }
      .info-item { border-right:1px solid rgba(255,255,255,0.1); border-bottom:1px solid rgba(255,255,255,0.1); font-size:0.76rem; padding:12px 14px; }
      .info-item:nth-child(2n) { border-right:none; }
      .info-item:nth-last-child(-n+2) { border-bottom:none; }
      .brand-div { display:none; }
      .footer-inner { flex-direction:column; text-align:center; }
      .footer-links { justify-content:center; }
      .hero-heading { font-size:2.4rem; }
    }
    @media (max-width:480px) {
      .contact-grid { grid-template-columns:1fr; }
      /* dense 3-column product grid so ~12+ fit per screen */
      .products-grid { grid-template-columns:repeat(3,1fr); gap:7px; }
      .product-card { border-radius:var(--r-md); }
      .photo-wrap { height:74px; }
      .card-body { padding:6px 6px 7px; }
      .product-name { font-size:0.66rem; line-height:1.12; margin-bottom:1px; }
      .product-peso { font-size:0.56rem; margin-bottom:0; }
      .product-origem { display:none; }
      .product-fresh { display:none; }
      .product-price { font-size:0.74rem; margin-bottom:4px; }
      .add-btn { padding:5px 2px; font-size:0.62rem; }
      .product-badge { font-size:0.5rem; padding:2px 5px; }
      .cat-tab { font-size:0.82rem; padding:9px 12px; }
      .sc { width:240px; height:320px; }
      .social-link { transform:translateX(calc(100% - 46px)); }
      .social-wa   { transform:translateX(0); }
      .section { padding:64px 16px; }
      .cabaz-modal-box { padding:26px 20px; }
      .cabaz-modal-list { grid-template-columns:1fr; }
      .reviews-grid { grid-template-columns:1fr; }
      .google-badge { flex-wrap:wrap; justify-content:center; text-align:center; }
    }

    /* ══════════════════════════════════════
       AVALIAÇÕES (Google reviews / trust)
    ══════════════════════════════════════ */
    .google-badge {
      display:flex; align-items:center; gap:12px; width:max-content; max-width:100%;
      margin:0 auto 22px; padding:12px 22px; background:var(--white);
      border:1px solid var(--cream-3); border-radius:var(--r-full); box-shadow:var(--sh);
      text-decoration:none; transition:transform 0.2s, box-shadow 0.2s;
    }
    .google-badge:hover { transform:translateY(-2px); box-shadow:var(--sh-lg); }
    .gb-logo {
      font-family:'Poppins',sans-serif; font-weight:800; font-size:1.2rem; color:#4285F4;
      background:var(--cream-2); width:34px; height:34px; border-radius:var(--r-full);
      display:flex; align-items:center; justify-content:center; flex:0 0 auto;
    }
    .gb-nota { font-family:'Playfair Display',serif; font-weight:900; font-size:1.4rem; color:var(--text); }
    .gb-stars { color:#FBBC04; letter-spacing:1px; font-size:1.05rem; }
    .gb-total { color:var(--text-md); font-size:0.86rem; font-weight:500; }

    .temas-row { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-bottom:40px; }
    .tema-chip {
      background:rgba(82,183,136,0.1); color:var(--forest-2); border:1px solid var(--sage-lt);
      padding:6px 14px; border-radius:var(--r-full); font-size:0.8rem; font-weight:600;
    }

    .reviews-grid {
      display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1000px; margin:0 auto 30px;
    }
    .review-card {
      background:var(--white); border:1px solid var(--cream-3); border-radius:var(--r-lg);
      padding:24px 22px; box-shadow:var(--sh); text-align:left; display:flex; flex-direction:column; gap:12px;
    }
    .review-stars { color:#FBBC04; letter-spacing:1px; font-size:1rem; }
    .review-text { color:var(--text); font-size:0.92rem; line-height:1.6; flex:1; font-style:italic; }
    .review-author { display:flex; align-items:center; gap:10px; font-weight:600; color:var(--charcoal); font-size:0.9rem; }
    .review-avatar {
      width:36px; height:36px; border-radius:var(--r-full); background:var(--sage); color:var(--white);
      display:flex; align-items:center; justify-content:center; font-weight:700; flex:0 0 auto;
    }
    .reviews-cta { display:block; text-align:center; color:var(--forest-2); font-weight:600; text-decoration:none; font-size:0.92rem; }
    .reviews-cta:hover { color:var(--peach); }

    /* ══════════════════════════════════════
       CABAZ — "ver o que leva" + modal
    ══════════════════════════════════════ */
    .cabaz-ver {
      width:100%; margin-bottom:8px; padding:8px 10px; border:1px solid var(--sage-lt);
      background:rgba(82,183,136,0.08); color:var(--forest-2); border-radius:var(--r-md);
      font-family:'Poppins',sans-serif; font-size:0.78rem; font-weight:600; cursor:pointer;
      transition:background 0.2s, border-color 0.2s;
    }
    .cabaz-ver:hover { background:rgba(82,183,136,0.16); border-color:var(--sage); }

    .cabaz-modal {
      position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center;
      padding:20px; background:rgba(26,26,46,0.6); backdrop-filter:blur(4px);
      opacity:0; visibility:hidden; transition:opacity 0.25s, visibility 0.25s;
    }
    .cabaz-modal.open { opacity:1; visibility:visible; }
    .cabaz-modal-box {
      position:relative; width:100%; max-width:520px; max-height:88vh; overflow-y:auto;
      background:var(--cream); border-radius:var(--r-xl); padding:34px 32px 28px;
      box-shadow:var(--sh-lg); transform:translateY(16px) scale(0.98); transition:transform 0.25s;
    }
    .cabaz-modal.open .cabaz-modal-box { transform:translateY(0) scale(1); }
    .cabaz-modal-close {
      position:absolute; top:14px; right:14px; width:34px; height:34px; border:none; cursor:pointer;
      border-radius:var(--r-full); background:var(--cream-2); color:var(--text); font-size:1rem;
      display:flex; align-items:center; justify-content:center; transition:background 0.2s;
    }
    .cabaz-modal-close:hover { background:var(--cream-3); }
    .cabaz-modal-head { text-align:center; margin-bottom:6px; }
    .cabaz-modal-head h3 { font-family:'Playfair Display',serif; font-size:1.7rem; color:var(--forest); margin:4px 0; }
    .cabaz-modal-price { font-family:'Playfair Display',serif; font-size:1.15rem; font-weight:700; color:var(--peach); }
    .cabaz-modal-sub { text-align:center; color:var(--text-md); font-size:0.86rem; margin:10px 0 18px; }
    .cabaz-modal-list {
      list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; margin-bottom:24px;
    }
    .cabaz-modal-list li {
      display:flex; align-items:baseline; gap:8px; padding:7px 0;
      border-bottom:1px dashed var(--cream-3); font-size:0.9rem;
    }
    .cabaz-modal-list .ci-q {
      flex:0 0 auto; min-width:44px; font-weight:700; color:var(--forest-2); font-size:0.82rem;
    }
    .cabaz-modal-list .ci-nome { color:var(--text); }
    .cabaz-modal-list .ci-grupo {
      grid-column:1 / -1; font-family:'Poppins',sans-serif; font-weight:700; font-size:0.78rem;
      text-transform:uppercase; letter-spacing:1px; color:var(--forest-2);
      border-bottom:none; padding:10px 0 2px; margin-top:4px;
    }
    .cabaz-modal-nota { text-align:center; color:var(--text-md); font-size:0.76rem; font-style:italic; margin:-8px 0 18px; }
    .cabaz-modal-add { width:100%; }

    /* ══════════════════════════════════════
       SHOPPING-FIRST UX
    ══════════════════════════════════════ */
    .hero {
      min-height:auto;
      padding:86px 24px 28px;
    }
    .hero-content { max-width:860px; }
    .hero-heading { font-size:clamp(2rem,4.2vw,3.45rem); margin-bottom:10px; }
    .hero-sub { margin-bottom:18px; }
    .hero-eyebrow { margin-bottom:16px; }
    .hero-trust { margin-top:18px; }
    .hero-wave { height:34px; }
    .ff { display:none; }

    .cat-quick {
      max-width:1180px;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
      padding:26px 20px 12px;
    }
    .cat-quick-btn {
      position:relative;
      display:block;
      min-height:155px;
      padding:0;
      overflow:hidden;
      border:0;
      color:#fff;
      text-align:left;
      isolation:isolate;
    }
    .cat-quick-btn img {
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform .35s ease;
      z-index:-2;
    }
    .cat-quick-btn:hover img { transform:scale(1.055); }
    .cq-overlay {
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,transparent 25%,rgba(8,28,18,.82) 100%);
      z-index:-1;
    }
    .cat-quick-btn .cq-label {
      position:absolute;
      left:18px;
      right:18px;
      bottom:16px;
      display:flex;
      justify-content:space-between;
      align-items:center;
      font-size:1.15rem;
      color:#fff;
      text-shadow:0 2px 12px rgba(0,0,0,.35);
    }
    .cat-quick-btn .cq-label b {
      display:grid;
      place-items:center;
      min-width:27px;
      height:27px;
      padding:0 7px;
      border-radius:var(--r-full);
      background:var(--peach);
      font-size:.75rem;
    }
    .cat-quick-btn.cq-order { background:var(--forest); }

    .order-steps-mini {
      flex-wrap:wrap;
      row-gap:9px;
      padding-left:20px;
      padding-right:20px;
    }

    .shop-feature { padding:64px 24px; }
    .shop-feature-head {
      max-width:1180px;
      margin:0 auto 26px;
      display:flex;
      justify-content:space-between;
      align-items:end;
      gap:24px;
    }
    .shop-feature-head .section-title { margin-bottom:0; }
    .shop-link {
      border:0;
      background:none;
      color:var(--forest-2);
      font:700 .86rem 'Poppins',sans-serif;
      cursor:pointer;
      white-space:nowrap;
    }
    .shop-link:hover { color:var(--peach); }
    .promo-shop {
      background:linear-gradient(135deg,#fff7e9,#fff);
      border-top:1px solid #f3e3ca;
      border-bottom:1px solid #f3e3ca;
    }
    .feature-grid {
      max-width:1180px;
      margin:0 auto;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
    }
    .feature-product {
      min-width:0;
      overflow:hidden;
      border:1px solid var(--cream-3);
      border-radius:var(--r-lg);
      background:#fff;
      box-shadow:0 8px 24px rgba(27,67,50,.08);
    }
    .feature-product.selected { outline:2px solid var(--sage); }
    .feature-photo {
      position:relative;
      width:100%;
      height:185px;
      padding:0;
      border:0;
      overflow:hidden;
      background:var(--cream-2);
      cursor:pointer;
    }
    .feature-photo img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
    .feature-photo:hover img { transform:scale(1.045); }
    .feature-badge {
      position:absolute;
      top:10px;
      left:10px;
      padding:5px 9px;
      border-radius:var(--r-full);
      background:var(--forest);
      color:#fff;
      font-size:.64rem;
      font-weight:700;
    }
    .feature-body { padding:15px; }
    .feature-body h3 {
      min-height:2.5em;
      margin:0 0 4px;
      color:var(--charcoal);
      font-size:.94rem;
      line-height:1.25;
    }
    .feature-body p {
      min-height:1.4em;
      margin:0 0 13px;
      overflow:hidden;
      color:var(--text-md);
      font-size:.7rem;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .feature-buy { display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .feature-buy strong { color:var(--forest); font-family:'Playfair Display',serif; font-size:.98rem; }
    .feature-add {
      min-height:36px;
      padding:0 11px;
      border:0;
      border-radius:10px;
      background:var(--forest);
      color:#fff;
      font:700 .7rem 'Poppins',sans-serif;
      cursor:pointer;
    }

    .products-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
    .product-card {
      display:flex;
      min-height:410px;
      flex-direction:column;
      cursor:default;
    }
    .product-card:hover { transform:translateY(-5px); }
    .product-card.selected { transform:none; }
    .photo-wrap {
      display:block;
      height:220px;
      padding:0;
      border:0;
      cursor:zoom-in;
    }
    .card-body { display:flex; flex:1; flex-direction:column; }
    .product-name { min-height:2.55em; font-size:1rem; }
    .product-origem, .product-fresh { margin-bottom:14px; }
    .add-btn { margin-top:auto; min-height:42px; }
    .product-card.selected .add-btn { background:var(--forest-2); }

    .catalog-pagination {
      display:flex;
      justify-content:center;
      align-items:center;
      gap:16px;
      margin-top:30px;
    }
    .catalog-pagination button {
      min-height:42px;
      padding:0 17px;
      border:1px solid var(--cream-3);
      border-radius:var(--r-full);
      background:#fff;
      color:var(--forest);
      font-weight:700;
      cursor:pointer;
    }
    .catalog-pagination button:disabled { opacity:.4; cursor:not-allowed; }
    .catalog-pagination span { color:var(--text-md); font-size:.82rem; }
    .veg-suggestion {
      position:sticky;
      bottom:84px;
      z-index:20;
      display:block;
      min-height:48px;
      margin:24px auto 0;
      padding:0 22px;
      border:0;
      border-radius:var(--r-full);
      background:var(--forest);
      color:#fff;
      box-shadow:0 12px 28px rgba(27,67,50,.28);
      font:700 .86rem 'Poppins',sans-serif;
      cursor:pointer;
    }

    .mobile-bar { grid-template-columns:repeat(4,1fr); }
    .steps-grid { max-width:1180px; grid-template-columns:repeat(5,1fr); gap:14px; }
    .step-card { padding:28px 18px; }

    /* Product preview modal */
    .product-modal {
      position:fixed;
      inset:0;
      z-index:2100;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:20px;
      background:rgba(8,28,18,.72);
      backdrop-filter:blur(5px);
      opacity:0;
      visibility:hidden;
      transition:.22s ease;
    }
    .product-modal.open { opacity:1; visibility:visible; }
    .product-modal-box {
      position:relative;
      display:grid;
      grid-template-columns:1fr 1fr;
      width:min(760px,100%);
      max-height:90vh;
      overflow:auto;
      border-radius:var(--r-xl);
      background:#fff;
      box-shadow:0 30px 80px rgba(0,0,0,.28);
      transform:translateY(12px);
      transition:transform .22s ease;
    }
    .product-modal.open .product-modal-box { transform:translateY(0); }
    .product-modal-close {
      position:absolute;
      top:14px;
      right:14px;
      z-index:2;
      width:38px;
      height:38px;
      border:0;
      border-radius:50%;
      background:rgba(255,255,255,.92);
      color:var(--charcoal);
      cursor:pointer;
    }
    .product-modal-photo { min-height:440px; background:var(--cream-2); }
    .product-modal-photo img { width:100%; height:100%; object-fit:cover; }
    .product-modal-info { padding:48px 36px 36px; }
    .product-modal-status {
      display:inline-block;
      margin-bottom:13px;
      padding:5px 10px;
      border-radius:var(--r-full);
      background:rgba(82,183,136,.13);
      color:var(--forest-2);
      font-size:.7rem;
      font-weight:700;
    }
    .product-modal-info h3 {
      margin:0 0 10px;
      color:var(--forest);
      font:900 1.75rem/1.15 'Playfair Display',serif;
    }
    .product-modal-price { color:var(--peach); font:900 1.45rem 'Playfair Display',serif; }
    .product-modal-unit { margin-top:5px; color:var(--text-md); font-size:.8rem; }
    .product-modal-info p { margin:22px 0; color:var(--text-md); font-size:.9rem; line-height:1.65; }
    .product-modal-qty {
      display:inline-flex;
      align-items:center;
      gap:15px;
      margin-bottom:18px;
      padding:5px;
      border:1px solid var(--cream-3);
      border-radius:var(--r-full);
    }
    .product-modal-qty button {
      width:36px; height:36px; border:0; border-radius:50%;
      background:var(--cream-2); color:var(--forest); font-size:1.1rem; cursor:pointer;
    }
    .product-modal-qty strong { min-width:24px; text-align:center; }
    .product-modal-add {
      display:block;
      width:100%;
      min-height:50px;
      border:0;
      border-radius:var(--r-md);
      background:var(--forest);
      color:#fff;
      font:800 .9rem 'Poppins',sans-serif;
      cursor:pointer;
    }

    @media (max-width:900px) {
      .feature-grid, .products-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
      .steps-grid { grid-template-columns:repeat(3,1fr); }
    }
    @media (max-width:700px) {
      .hero { padding:70px 16px 18px; }
      .hero-eyebrow { display:none; }
      .hero-heading { font-size:1.95rem; margin-bottom:8px; }
      .hero-sub { margin-bottom:12px; font-size:.9rem; line-height:1.45; }
      .hero-sub br { display:none; }
      .hero-ctas { margin-bottom:10px; }
      .hero-ctas .btn-prim { padding:12px 23px; font-size:.88rem; }
      .hero-ctas .btn-ghost { display:none; }
      .hero-trust { gap:7px; margin-top:8px; }
      .hero-chip { display:none; }
      .hero-rating { padding:7px 12px; }
      .cat-quick { grid-template-columns:repeat(2,1fr); }
      .cat-quick-btn { min-height:128px; }
      .shop-feature { padding:48px 16px; }
      .shop-feature-head { display:block; margin-bottom:20px; }
      .shop-link { margin-top:10px; padding:0; }
      .feature-grid, .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
      .feature-photo { height:145px; }
      .feature-body { padding:12px; }
      .feature-buy { display:block; }
      .feature-add { width:100%; margin-top:10px; }
      .product-card { min-height:365px; border-radius:var(--r-lg); }
      .photo-wrap { height:170px; }
      .card-body { padding:13px; }
      .product-name { min-height:2.5em; font-size:.88rem; }
      .product-peso { font-size:.68rem; }
      .product-price { font-size:.92rem; }
      .product-origem, .product-fresh { display:block; min-height:1.4em; font-size:.62rem; }
      .add-btn { padding:8px 5px; font-size:.72rem; }
      .product-badge { font-size:.56rem; }
      .product-modal-box { grid-template-columns:1fr; }
      .product-modal-photo { min-height:0; height:280px; }
      .product-modal-info { padding:25px 22px 24px; }
      .product-modal-info h3 { font-size:1.45rem; }
      .mobile-bar .mb-label { font-size:.61rem; }
      .mobile-bar .mb-icon { font-size:1.1rem; }
      .reviews-grid { grid-template-columns:1fr; }
      .section { padding-top:56px; padding-bottom:56px; }
      .steps-grid { grid-template-columns:1fr; }
      body { padding-bottom:70px; }
    }
    @media (max-width:380px) {
      .feature-grid, .products-grid { grid-template-columns:1fr; }
      .feature-photo, .photo-wrap { height:210px; }
      .product-card { min-height:390px; }
    }
