    .shop-menu .menu-section{ padding:1.5rem 1.25rem 0; }
    .shop-menu .menu-section-title{ display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:.5rem; font-size:1.1rem; font-weight:800; color:var(--menu-text); margin-bottom:.9rem; }
    .shop-menu a.menu-tag{ text-decoration:none; cursor:pointer; }
    .shop-menu .menu-section-title .count{ color:var(--menu-muted); font-weight:600; font-size:.9rem; }
    .shop-menu .menu-empty{ margin:1.5rem 1.25rem 0; border:1px dashed var(--menu-border); background:var(--menu-surface); border-radius:14px; padding:1.5rem; text-align:center; color:var(--menu-muted); }
    .shop-menu .menu-item{ position:relative; display:flex; gap:.85rem; background:var(--menu-surface); border:1px solid var(--menu-border); box-shadow:var(--shadow-card); border-radius:16px; padding:.75rem; margin-bottom:.65rem; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
    .shop-menu .menu-item:hover{ transform:translateY(-3px); box-shadow:var(--shadow-card-hover); border-color:var(--menu-accent); }
    .shop-menu .menu-item-media{ position:relative; flex:0 0 auto; width:64px; height:64px; border-radius:10px; overflow:hidden; background:var(--menu-border); }
    .shop-menu .menu-item-media .menu-item-img{ position:absolute; inset:0; }
    .shop-menu .menu-item-img{ flex:0 0 auto; width:64px; height:64px; border-radius:10px; object-fit:cover; background:var(--menu-border); transition:transform .5s ease, opacity .35s ease; }
    .shop-menu .menu-item:hover .menu-item-media .menu-item-img{ transform:scale(1.06); }
    .shop-menu .menu-item-img-alt{ opacity:0; }
    .shop-menu .menu-item:hover .menu-item-img-alt{ opacity:1; }
    .shop-menu .menu-item-img-empty{ display:flex; align-items:center; justify-content:center; font-size:1.6rem; }
    .shop-menu .menu-item-body{ flex:1; min-width:0; }
    .shop-menu .menu-item-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:.5rem; }
    .shop-menu .menu-item-name{ font-weight:800; color:var(--menu-text); font-size:.92rem; line-height:1.3; letter-spacing:-0.01em; }
    .shop-menu .menu-item-price{ font-weight:800; color:var(--menu-accent); font-size:.92rem; white-space:nowrap; }
    .shop-menu.shop-menu-premium .menu-item{ border-color:var(--menu-accent); }
    .shop-menu.shop-menu-premium .menu-item-name{ color:var(--menu-accent); }
    .shop-menu.shop-menu-premium .menu-hero-avatar{ border-color:#f5cf7e; box-shadow:0 10px 28px rgba(0,0,0,0.25), 0 0 0 3px rgba(245,207,126,0.35); }
    .shop-menu.shop-menu-premium .menu-review-item{ border-color:var(--menu-accent); }
    .shop-menu .menu-item-desc{ color:var(--menu-muted); font-size:.78rem; margin-top:.15rem; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .shop-menu .menu-item-tags{ display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.35rem; }
    .shop-menu .menu-tag{ display:inline-flex; align-items:center; gap:.3rem; background:var(--menu-tag-bg); color:var(--menu-tag-text); font-size:.72rem; font-weight:700; padding:.25rem .6rem; border-radius:999px; }
    .shop-menu .menu-badge{ position:absolute; top:-.5rem; left:.9rem; background:var(--menu-accent); color:#fff; font-size:.68rem; font-weight:800; padding:.25rem .6rem; border-radius:999px; display:inline-flex; align-items:center; gap:.25rem; box-shadow:0 6px 14px rgba(0,0,0,0.18); }
    html[dir="rtl"] .shop-menu .menu-badge{ left:auto; right:.9rem; }
    .shop-menu .menu-item-actions{ display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.4rem; }
    .shop-menu .menu-item-actions a{ font-size:.72rem; font-weight:700; padding:.35rem .7rem; border-radius:999px; border:1px solid var(--menu-border); background:var(--menu-surface); color:var(--menu-accent); text-decoration:none; transition:transform .18s ease, background .18s ease, color .18s ease; }
    .shop-menu .menu-item-actions a:hover{ transform:translateY(-1px); background:var(--menu-accent); color:#fff; }
    .shop-menu .menu-item-fav-btn{ font-size:.72rem; font-weight:700; padding:.35rem .7rem; border-radius:999px; border:1px solid var(--menu-border); background:var(--menu-surface); color:var(--menu-accent); cursor:pointer; font-family:inherit; transition:transform .18s ease, background .18s ease, color .18s ease; }
    .shop-menu .menu-item-fav-btn:hover{ transform:translateY(-1px); }
    /* Compact product cards on phones/tablets so scrolling the list is quicker. */
    @media (max-width: 1023px){
      .shop-menu .menu-item{ gap:.45rem; padding:.45rem; border-radius:12px; margin-bottom:.35rem; }
      .shop-menu .menu-item-media, .shop-menu .menu-item-img{ width:46px; height:46px; }
      .shop-menu .menu-item-name{ font-size:.85rem; }
      .shop-menu .menu-item-price{ font-size:.85rem; }
      .shop-menu .menu-item-desc{ font-size:.72rem; margin-top:.1rem; -webkit-line-clamp:1; }
      .shop-menu .menu-item-actions{ gap:.25rem; margin-top:.25rem; }
      .shop-menu .menu-item-actions a, .shop-menu .menu-item-fav-btn{ padding:.24rem .5rem; font-size:.64rem; }
    }
    @media (max-width: 479px){
      .shop-menu .menu-item{ gap:.35rem; padding:.35rem; margin-bottom:.28rem; }
      .shop-menu .menu-item-media, .shop-menu .menu-item-img{ width:38px; height:38px; }
      .shop-menu .menu-item-desc{ display:none; }
    }
    @media (hover: none){
      .shop-menu .menu-item:hover{ transform:none; box-shadow:var(--shadow-card); border-color:var(--menu-border); }
      .shop-menu .menu-item:hover .menu-item-media .menu-item-img{ transform:none; }
      .shop-menu .menu-item:hover .menu-item-img-alt{ opacity:0; }
      .shop-menu .menu-item-actions a:hover{ transform:none; background:var(--menu-surface); color:var(--menu-accent); }
    }
    .shop-menu .menu-item-fav-btn.active{ background:var(--menu-accent); border-color:var(--menu-accent); color:#fff; }

    /* Modern image-forward grid card for the shop product grid. Additive —
       .menu-item (used by favorites.php) is untouched by this block. */
    .shop-menu .menu-item-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:var(--sp-6); }
    @media (min-width: 640px){ .shop-menu .menu-item-grid{ grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); } }
    .shop-menu .product-card{ position:relative; display:flex; flex-direction:column; background:var(--menu-surface); border:none; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-card); transition:transform .25s ease, box-shadow .25s ease; }
    .shop-menu .product-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
    .shop-menu .product-card-media{ position:relative; aspect-ratio:4/3; margin:.75rem .75rem 0; background:var(--surface-gray); border-radius:var(--radius-md); overflow:hidden; }
    .shop-menu .product-card-media-link{ position:absolute; inset:0; display:block; }
    .shop-menu .product-card-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:.75rem; transition:transform .5s ease, opacity .35s ease; }
    .shop-menu .product-card:hover .product-card-media img:first-child{ transform:scale(1.06); }
    .shop-menu .product-card-img-alt{ opacity:0; }
    .shop-menu .product-card:hover .product-card-img-alt{ opacity:1; }
    .shop-menu .product-card-media-empty{ display:flex; align-items:center; justify-content:center; font-size:2rem; }
    .shop-menu .product-card-badge{ position:absolute; top:.6rem; left:.6rem; background:var(--menu-accent); color:#fff; font-size:.66rem; font-weight:800; padding:.25rem .6rem; border-radius:999px; box-shadow:0 6px 14px rgba(0,0,0,0.18); }
    html[dir="rtl"] .shop-menu .product-card-badge{ left:auto; right:.6rem; }
    .shop-menu .product-card-fav{ position:absolute; top:.6rem; right:.6rem; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,0.88); border:none; display:flex; align-items:center; justify-content:center; font-size:.85rem; cursor:pointer; font-family:inherit; transition:transform .18s ease, background .18s ease; z-index:1; }
    html[dir="rtl"] .shop-menu .product-card-fav{ right:auto; left:.6rem; }
    .shop-menu .product-card-fav:hover{ transform:scale(1.1); }
    .shop-menu .product-card-fav:active{ transform:scale(.94); }
    .shop-menu .product-card-fav.active{ background:var(--menu-accent); color:#fff; }
    .shop-menu .product-card-body{ padding:1rem 1rem 1.1rem; display:flex; flex-direction:column; gap:.3rem; flex:1; }
    .shop-menu .product-card-name{ display:block; font-weight:500; font-size:.86rem; color:var(--menu-text); line-height:1.35; letter-spacing:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-decoration:none; }
    .shop-menu .product-card-price{ font-weight:700; font-size:1rem; color:var(--menu-accent); margin-top:.2rem; }
    .shop-menu .product-card-rating{ color:var(--menu-muted); font-size:.72rem; line-height:1.2; margin-top:.1rem; }
    .shop-menu .product-card-cta{ display:flex; align-items:center; justify-content:center; width:100%; margin-top:.9rem; background:var(--menu-accent); color:#fff; font-size:.8rem; font-weight:600; padding:.6rem .75rem; border-radius:var(--radius-sm); text-decoration:none; transition:transform .18s ease, opacity .18s ease; }
    .shop-menu .product-card-cta:hover{ transform:translateY(-1px); opacity:.92; }
    .shop-menu .product-card-cta:active{ transform:scale(.97); }
    @media (max-width: 479px){
      .shop-menu .product-card-name{ font-size:.78rem; }
      .shop-menu .product-card-price{ font-size:.9rem; }
      .shop-menu .product-card-rating{ font-size:.66rem; }
      .shop-menu .product-card-cta{ font-size:.75rem; padding:.55rem .6rem; }
    }
    @media (hover: none){
      .shop-menu .product-card:hover{ transform:none; box-shadow:var(--shadow-card); }
      .shop-menu .product-card:hover .product-card-media img:first-child{ transform:none; }
      .shop-menu .product-card:hover .product-card-img-alt{ opacity:0; }
      .shop-menu .product-card-cta:hover{ transform:none; opacity:1; }
    }
    .shop-menu .menu-reviews{ margin:1.75rem 1.25rem 0; border-top:1px solid var(--menu-border); padding-top:1.25rem; }
    .shop-menu .menu-reviews-title{ font-weight:800; font-size:1.05rem; display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
    .shop-menu .menu-review-form{ margin-top:.9rem; background:var(--menu-surface); border:1px solid var(--menu-border); border-radius:14px; padding:1rem; }
    .shop-menu .menu-review-form textarea{ width:100%; background:var(--menu-bg); border:1px solid var(--menu-border); border-radius:10px; padding:.6rem; color:var(--menu-text); font-size:.85rem; margin-top:.5rem; }
    .shop-menu .menu-review-form button{ margin-top:.6rem; background:var(--menu-accent); color:#fff; border:none; border-radius:999px; padding:.55rem 1.2rem; font-weight:700; font-size:.85rem; cursor:pointer; }
    .shop-menu .menu-review-item{ background:var(--menu-surface); border:1px solid var(--menu-border); border-radius:12px; padding:.85rem; margin-top:.75rem; }
    .shop-menu .small-muted{ color:var(--menu-muted); }
    .shop-menu .input-dark{ background:var(--menu-surface); border:1px solid var(--menu-border); color:var(--menu-text); }
    .shop-menu .dashboard-panel{ background:var(--menu-surface); border:1px solid var(--menu-border); }
    .shop-menu .star-rating label{ color:#d8c9b8; }
    .shop-menu .star-rating input:checked ~ label, .shop-menu .star-rating label:hover, .shop-menu .star-rating label:hover ~ label{ color:#D98A3D; }
    .shop-menu [class*="text-amber-300"]{ color:#B5502E !important; }
    .shop-menu button[class*="bg-amber-600"]{ color:#fff; }
