:root {
        color-scheme: light;
        --bg: #ffffff;
        --surface: #ffffff;
        --text: #0a2430;
        --muted: #4d6a76;
        --border: rgba(10, 36, 48, 0.14);
        --shadow: 0 10px 30px rgba(10, 36, 48, 0.12);
        --primary: #19b7ff;
        --primary-2: #0aa0ea;
        --primary-3: #057bb8;
        --danger: #c62828;
        --success: #0f8a3a;
        --ring: 0 0 0 4px rgba(25, 183, 255, 0.22);
        --radius: 14px;
        --promo: #0aa0ea;
      }
      * {
        box-sizing: border-box;
      }
      html, body {
        margin: 0;
        padding: 0;
        width: 100%;
        max-width: 100vw;
        overflow-x: hidden;
      }
      body {
        font-family: Arial, Helvetica, sans-serif;
        background: var(--bg);
        color: var(--text);
      }
      a {
        color: inherit;
      }
      .app {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: 100vw;
        overflow-x: hidden;
      }
      .promo-bar {
        background: linear-gradient(90deg, var(--primary-2), var(--primary));
        color: #fff;
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
      }
      .promo-bar-inner {
        max-width: 1200px;
        margin: 0 auto;
        padding: 10px 16px;
        font-size: 13px;
        font-weight: 800;
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: center;
        text-align: center;
      }
      .topbar {
        border-bottom: 1px solid var(--border);
        background: rgba(255, 255, 255, 0.85);
        backdrop-filter: blur(10px);
      }
      .topbar-inner {
        max-width: 1200px;
        margin: 0 auto;
        padding: 10px 16px;
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .brand {
        display: flex;
        align-items: center;
        gap: 10px;
        min-width: 0;
      }
      .logo {
        width: 36px;
        height: 36px;
        border-radius: 12px;
        background: linear-gradient(135deg, var(--primary), var(--primary-3));
        box-shadow: 0 12px 30px rgba(25, 183, 255, 0.24);
        overflow: hidden;
        display: grid;
        place-items: center;
      }
      .logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        background: #fff;
      }
      .brand h1 {
        margin: 0;
        font-size: 16px;
        line-height: 1.15;
      }
      .controls {
        display: flex;
        align-items: center;
        gap: 10px;
        flex: 1;
        min-width: 0;
      }
      .search {
        flex: 1;
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: 999px;
        box-shadow: 0 8px 22px rgba(10, 36, 48, 0.06);
      }
      .search-field {
        position: relative;
        flex: 1;
        min-width: 0;
        display: flex;
        align-items: center;
      }
      .search-logo {
        position: absolute;
        inset-inline-start: 4px;
        top: 50%;
        transform: translateY(-50%);
        width: 28px;
        height: 28px;
        border-radius: 10px;
        background: #fff;
        border: 1px solid rgba(10, 36, 48, 0.1);
        object-fit: contain;
        padding: 2px;
        pointer-events: auto;
        cursor: pointer;
        box-shadow: 0 0 10px rgba(209, 17, 17, 0.25), 0 0 12px rgba(25, 183, 255, 0.25), 0 0 10px rgba(130, 130, 130, 0.22);
      }
      @keyframes hjyLogoGlow {
        0% {
          box-shadow: 0 0 12px rgba(209, 17, 17, 0.42), 0 0 10px rgba(130, 130, 130, 0.2), 0 0 8px rgba(25, 183, 255, 0.12);
        }
        33% {
          box-shadow: 0 0 10px rgba(209, 17, 17, 0.12), 0 0 12px rgba(130, 130, 130, 0.42), 0 0 10px rgba(25, 183, 255, 0.12);
        }
        66% {
          box-shadow: 0 0 10px rgba(209, 17, 17, 0.12), 0 0 10px rgba(130, 130, 130, 0.18), 0 0 14px rgba(25, 183, 255, 0.48);
        }
        100% {
          box-shadow: 0 0 12px rgba(209, 17, 17, 0.42), 0 0 10px rgba(130, 130, 130, 0.2), 0 0 8px rgba(25, 183, 255, 0.12);
        }
      }
      .img-modal[data-kind="logo"] .img-modal-card {
        box-shadow: 0 0 22px rgba(209, 17, 17, 0.4), 0 0 26px rgba(25, 183, 255, 0.35), 0 0 18px rgba(130, 130, 130, 0.25);
      }
      @keyframes hjyLogoModalGlow {
        0% {
          box-shadow: 0 0 28px rgba(209, 17, 17, 0.46), 0 0 16px rgba(130, 130, 130, 0.18), 0 0 16px rgba(25, 183, 255, 0.12);
        }
        33% {
          box-shadow: 0 0 18px rgba(209, 17, 17, 0.12), 0 0 28px rgba(130, 130, 130, 0.46), 0 0 18px rgba(25, 183, 255, 0.12);
        }
        66% {
          box-shadow: 0 0 18px rgba(209, 17, 17, 0.12), 0 0 18px rgba(130, 130, 130, 0.18), 0 0 32px rgba(25, 183, 255, 0.52);
        }
        100% {
          box-shadow: 0 0 28px rgba(209, 17, 17, 0.46), 0 0 16px rgba(130, 130, 130, 0.18), 0 0 16px rgba(25, 183, 255, 0.12);
        }
      }
      .search input {
        width: 100%;
        border: 0;
        outline: none;
        font-size: 14px;
        background: transparent;
        color: var(--text);
        padding-inline-end: 34px;
        padding-inline-start: 38px;
      }
      .search input::placeholder {
        color: rgba(77, 106, 118, 0.75);
        font-weight: 700;
        font-size: 13px;
      }
      .select {
        border: 1px solid var(--border);
        background: var(--surface);
        padding: 10px 12px;
        border-radius: 999px;
        font-size: 13px;
        color: var(--text);
        outline: none;
      }
      .search-btn {
        position: absolute;
        inset-inline-end: 4px;
        top: 50%;
        transform: translateY(-50%);
        width: 28px;
        height: 28px;
        border-radius: 999px;
        border: 1px solid rgba(25, 183, 255, 0.28);
        background: rgba(25, 183, 255, 0.1);
        color: var(--primary-3);
        display: grid;
        place-items: center;
        cursor: pointer;
        font-size: 14px;
        padding: 0;
      }
      .select:focus {
        box-shadow: var(--ring);
      }
      .cart-button {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        border: 1px solid rgba(25, 183, 255, 0.35);
        background: rgba(25, 183, 255, 0.12);
        padding: 10px 12px;
        border-radius: 999px;
        cursor: pointer;
        user-select: none;
        font-weight: 900;
        color: var(--primary-3);
      }
      #cartToggle {
        position: fixed !important;
        inset: auto 14px calc(14px + env(safe-area-inset-bottom)) auto !important;
        z-index: 60;
        box-shadow: var(--shadow);
        padding: 10px 12px;
      }
      #cartToggle.cart-pop {
        animation: cartPop 600ms ease;
      }
      @keyframes cartPop {
        0% {
          transform: translateY(0) scale(1);
        }
        35% {
          transform: translateY(-6px) scale(1.06);
        }
        65% {
          transform: translateY(0) scale(0.98);
        }
        100% {
          transform: translateY(0) scale(1);
        }
      }
      .badge {
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        border-radius: 999px;
        background: var(--primary-3);
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 900;
      }
      .pillbar {
        display: flex;
        gap: 8px;
        align-items: center;
        flex-wrap: wrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
      }
      .pill {
        border: 1px solid var(--border);
        background: var(--surface);
        color: var(--text);
        padding: 8px 10px;
        border-radius: 999px;
        font-size: 13px;
        cursor: pointer;
        user-select: none;
        font-weight: 800;
      }
      .pill[aria-pressed="true"] {
        border-color: rgba(25, 183, 255, 0.55);
        background: rgba(25, 183, 255, 0.14);
        box-shadow: var(--ring);
      }
      
      .cats-sidebar-backdrop {
        position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 9998;
        opacity: 0; pointer-events: none; transition: opacity 0.3s;
      }
      .cats-sidebar-backdrop.show {
        opacity: 1; pointer-events: auto;
      }
      .cats-sidebar {
        position: fixed; top: 0; right: 0; bottom: 0; width: 280px; background: #fff;
        z-index: 9999; transform: translateX(100%); transition: transform 0.3s;
        padding: 20px; box-shadow: -2px 0 10px rgba(0,0,0,0.1);
        overflow-y: auto;
      }
      .cats-sidebar.show {
        transform: translateX(0);
      }
      
      .pager {
        display: inline-flex;
        gap: 8px;
        align-items: center;
      }
      .pager button {
        padding: 8px 10px;
        border-radius: 999px;
        border: 1px solid var(--border);
        background: var(--surface);
        cursor: pointer;
        font-weight: 900;
      }
      .pager button:disabled {
        opacity: 0.5;
        cursor: not-allowed;
      }
      .layout {
        max-width: 1200px;
        width: 100%;
        margin: 0 auto;
        padding: 14px 16px 90px;
      }
      .panel {
        border: 1px solid var(--border);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.85);
        box-shadow: var(--shadow);
        overflow: hidden;
      }
      .panel-header {
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: space-between;
        padding: 14px;
        border-bottom: 1px solid var(--border);
      }
      .panel-header h2 {
        margin: 0;
        font-size: 18px;
      }
      .panel-sub a {
        color: #19b7ff;
        text-decoration: underline;
      }
      .panel-sub {
        margin: 0;
        color: var(--muted);
        font-size: 12px;
        font-weight: 700;
        line-height: 1.6;
        white-space: pre-wrap;
        overflow-wrap: anywhere;
        word-break: break-word;
        unicode-bidi: plaintext;
      }
      #whatNewText {
        font-size: 14px;
        line-height: 1.9;
      }
      .about-em {
        font-weight: 900;
        font-size: 1.25em;
        color: var(--text);
      }
      .about-warn {
        font-weight: 900;
        color: #d11;
      }
      .about-acc-list {
        display: grid;
        gap: 10px;
      }
      .about-acc {
        border: 1px solid var(--border);
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.85);
        overflow: hidden;
      }
      .about-acc-sum {
        cursor: pointer;
        padding: 12px 14px;
        font-weight: 900;
        color: var(--text);
        list-style: none;
        user-select: none;
      }
      .about-acc-sum::-webkit-details-marker {
        display: none;
      }
      .about-acc-body {
        padding: 12px 14px 14px;
        border-top: 1px solid var(--border);
      }
      .about-acc-body a {
        color: #19b7ff;
        text-decoration: underline;
      }
      .status {
        padding: 12px 14px;
        font-weight: 900;
        display: none;
      }
      .status[aria-hidden="false"] {
        display: block;
      }
      #checkoutStatus {
        border-radius: 16px;
        border: 1px solid rgba(10, 36, 48, 0.08);
        background: rgba(255, 255, 255, 0.82);
        transform: translateY(-8px);
        opacity: 0;
        transition: transform 220ms ease, opacity 220ms ease;
      }
      #checkoutStatus[aria-hidden="false"] {
        opacity: 1;
        transform: translateY(0);
      }
      #checkoutStatus[data-kind="error"] {
        border-color: rgba(198, 40, 40, 0.18);
        background: rgba(198, 40, 40, 0.08);
        color: #c62828;
      }
      #checkoutStatus[data-kind="ok"] {
        border-color: rgba(46, 125, 50, 0.18);
        background: rgba(46, 125, 50, 0.1);
        color: #2e7d32;
      }
      .grid {
        padding: 14px;
        display: grid;
        gap: 12px;
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }
      .grid[data-view="compact"] {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 10px;
      }
      .grid[data-view="brief"] {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 10px;
      }
      .card {
        position: relative;
        border: 1px solid var(--border);
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.9);
        overflow: hidden;
        display: grid;
        min-height: 300px;
      }
      .card[data-hot="true"] {
        border-color: rgba(198, 40, 40, 0.55);
        box-shadow: 0 0 0 2px rgba(198, 40, 40, 0.12), 0 10px 26px rgba(198, 40, 40, 0.14);
      }
      .thumb {
        width: 100%;
        aspect-ratio: 1/1;
        background: linear-gradient(135deg, #eef2f7 0%, #e2e8f0 100%);
        overflow: hidden;
        position: relative;
      }
      .thumb img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain;
        background: #fff;
        position: relative;
        z-index: 2;
      }
      .gallery-wrap {
        display: grid;
        grid-template-columns: 1fr 84px;
        gap: 10px;
        align-items: start;
      }
      .product-gallery {
        max-width: 920px;
        margin-inline: auto;
      }
      .product-gallery .thumb {
        max-height: 380px;
      }
      .product-gallery .thumb img {
        object-fit: contain;
      }
      .gallery-rail {
        display: flex;
        flex-direction: column;
        gap: 8px;
        max-height: 340px;
        overflow: auto;
      }
      .gallery-rail:empty {
        display: none;
      }
      .gallery-rail > button:only-child {
        display: none;
      }
      .gallery-thumb {
        border: 1px solid var(--border);
        background: #fff;
        border-radius: 12px;
        padding: 0;
        width: 84px;
        height: 64px;
        overflow: hidden;
        cursor: pointer;
      }
      .gallery-thumb img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        background: #fff;
        position: relative;
        z-index: 2;
      }
      .gallery-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 38px;
        height: 38px;
        border-radius: 999px;
        border: 1px solid var(--border);
        background: rgba(255, 255, 255, 0.9);
        cursor: pointer;
        font-weight: 900;
        display: grid;
        place-items: center;
        color: var(--text);
      }
      .gallery-nav:active {
        transform: translateY(-50%) scale(0.98);
      }
      .gallery-nav[data-dir="prev"] {
        left: 10px;
      }
      .gallery-nav[data-dir="next"] {
        right: 10px;
      }
      .thumb,
      .cart-thumb,
      .gallery-thumb,
      .img-modal-card {
        position: relative;
      }
      .thumb::before, .gallery-thumb::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><circle cx="50" cy="50" fill="none" stroke="%2319b7ff" stroke-width="8" r="35" stroke-dasharray="164.93361431346415 56.97787143782138"><animateTransform attributeName="transform" type="rotate" repeatCount="indefinite" dur="1s" values="0 50 50;360 50 50" keyTimes="0;1"></animateTransform></circle></svg>') center calc(50% - 10px) no-repeat;
        background-size: 40px 40px;
        opacity: 0.5;
        z-index: 1;
      }
      .thumb::after, .gallery-thumb::after {
        content: "جاري التحميل...";
        position: absolute;
        top: calc(50% + 20px);
        left: 0;
        right: 0;
        text-align: center;
        font-size: 12px;
        font-weight: bold;
        color: var(--primary-3);
        opacity: 0.7;
        z-index: 1;
      }
      .gallery-thumb::before {
        background-size: 20px 20px;
        background-position: center calc(50% - 6px);
      }
      .gallery-thumb::after {
        font-size: 9px;
        top: calc(50% + 12px);
      }
        margin-left: -17px;
        margin-top: -24px;
        border-radius: 999px;
        border: 4px solid rgba(130, 130, 130, 0.35);
        border-top-color: rgba(209, 17, 17, 0.75);
        border-right-color: rgba(25, 183, 255, 0.75);
        border-bottom-color: rgba(130, 130, 130, 0.65);
        box-shadow: 0 0 10px rgba(209, 17, 17, 0.22), 0 0 12px rgba(25, 183, 255, 0.18), 0 0 10px rgba(130, 130, 130, 0.18);
        animation: hjySpinner 900ms linear infinite;
        pointer-events: none;
      }
      [data-img-state="loading"]::after {
        content: "LOADING";
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        margin-top: 14px;
        text-align: center;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.12em;
        color: rgba(10, 36, 48, 0.65);
        text-shadow: 0 0 10px rgba(25, 183, 255, 0.22);
        pointer-events: none;
      }
      @keyframes hjySpinner {
        0% {
          transform: rotate(0deg);
        }
        100% {
          transform: rotate(360deg);
        }
      }
      @media (max-width: 640px) {
        .gallery-wrap {
          grid-template-columns: 1fr;
        }
        .gallery-rail {
          flex-direction: row;
          max-height: none;
        }
        .gallery-thumb {
          width: 72px;
          height: 56px;
          flex: 0 0 auto;
        }
      }
      .card-body {
        padding: 12px 12px 10px;
        display: grid;
        gap: 8px;
        align-content: start;
      }
      .name {
        font-weight: 900;
        font-size: 13px;
        line-height: 1.35;
        margin: 0;
      }
      .desc {
        margin: 0;
        color: var(--muted);
        font-size: 12px;
        line-height: 1.55;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        overflow-wrap: anywhere;
        word-break: break-word;
      }
      #productDetails .desc {
        display: block;
        -webkit-line-clamp: unset;
        overflow: visible;
        white-space: pre-wrap;
        overflow-wrap: anywhere;
        word-break: break-word;
      }
      #productDetails .desc a,
      .panel-sub a {
        text-decoration: underline;
        text-underline-offset: 2px;
      }
      .code {
        display: flex;
        gap: 8px;
        align-items: baseline;
        flex-wrap: wrap;
        direction: ltr;
        unicode-bidi: plaintext;
        font-weight: 900;
        color: var(--primary-3);
        font-size: 12px;
      }
      .prices {
        display: flex;
        gap: 10px;
        align-items: baseline;
        direction: ltr;
        unicode-bidi: plaintext;
      }
      .price-now {
        font-weight: 900;
        color: var(--primary-3);
        font-size: 16px;
      }
      .price-old {
        font-weight: 800;
        color: #888;
        font-size: 12px;
        text-decoration: line-through;
      }
      .dis-badge {
        border: 1px dashed rgba(25, 183, 255, 0.55);
        background: rgba(25, 183, 255, 0.12);
        color: var(--primary-3);
        padding: 8px 10px;
        border-radius: 12px;
        font-size: 12px;
        font-weight: 900;
        white-space: pre-wrap;
      }
      .actions {
        margin-top: 2px;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        align-items: center;
      }
      .btn {
        border: 1px solid var(--border);
        background: var(--surface);
        color: var(--text);
        padding: 10px 12px;
        border-radius: 12px;
        cursor: pointer;
        font-weight: 900;
        user-select: none;
        font-size: 13px;
        transition: all 0.2s ease;
      }
      .btn:hover, .btn.btn-active {
        background-color: var(--primary);
        border-color: var(--primary);
        color: #fff;
      }
      .btn-primary {
        background: var(--primary);
        border-color: var(--primary);
        color: #fff;
      }
      .btn-muted {
        background: rgba(77, 106, 118, 0.12);
        color: var(--muted);
        cursor: not-allowed;
      }
      .btn-ghost {
        background: rgba(255, 255, 255, 0.6);
        color: var(--text);
        border-color: var(--border);
      }
      .btn-ghost:hover {
        background: var(--primary);
        color: #fff;
      }
      .btn-danger {
        background: rgba(198, 40, 40, 0.1);
        border-color: rgba(198, 40, 40, 0.25);
        color: #c62828;
      }
      .glow-gold {
        border: 1px solid #d4af37;
        color: #b8860b;
        background: rgba(212, 175, 55, 0.1);
        box-shadow: 0 0 10px rgba(212, 175, 55, 0.4);
        transition: all 0.3s ease;
        font-weight: 900;
      }
      .glow-gold:hover {
        background: rgba(212, 175, 55, 0.2);
        box-shadow: 0 0 15px rgba(212, 175, 55, 0.6);
      }
      .btn-square {
        width: 42px;
        padding: 10px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }
      .fav-btn {
        position: absolute;
        inset-inline-start: 10px;
        inset-block-start: 10px;
        width: 38px;
        height: 38px;
        border-radius: 999px;
        border: 1px solid rgba(25, 183, 255, 0.35);
        background: rgba(255, 255, 255, 0.85);
        cursor: pointer;
        display: grid;
        place-items: center;
        font-size: 18px;
        line-height: 1;
        color: var(--primary-3);
      }
      .grid[data-view="brief"] .desc,
      .grid[data-view="brief"] .code,
      .grid[data-view="brief"] .dis-badge {
        display: none;
      }
      .grid[data-view="compact"] .dis-badge,
      .grid[data-view="compact"] .code {
        display: none;
      }
      .grid[data-view="compact"] .card {
        min-height: 250px;
      }
      .grid[data-view="brief"] .card {
        min-height: 220px;
      }
      .grid[data-view="list"] {
        grid-template-columns: 1fr;
      }
      .grid[data-view="list"] .card {
        grid-template-columns: 120px 1fr;
        min-height: unset;
      }
      .grid[data-view="list"] .thumb {
        aspect-ratio: 1/1;
        height: 100%;
      }
      .grid[data-view="list"] .dis-badge {
        display: block;
      }
      .grid[data-view="list"] .card-body {
        padding: 12px;
      }
      .card.is-hot {
        border: 2px solid var(--danger);
      }
      .field-row {
        position: relative;
        display: flex;
        gap: 10px;
        align-items: center;
      }
      .field-row > input,
      .field-row > textarea,
      .field-row > select {
        flex: 1;
        width: 100%;
        padding-inline-end: 12px !important;
      }
      .field-clear {
        border: 1px solid rgba(198, 40, 40, 0.25);
        background: rgba(198, 40, 40, 0.08);
        color: #c62828;
        border-radius: 12px;
        padding: 0;
        cursor: pointer;
        user-select: none;
        width: 44px;
        height: 44px;
        display: grid;
        place-items: center;
        line-height: 1;
        flex: 0 0 auto;
      }
      .field-row textarea ~ .field-clear {
        align-self: flex-start;
      }
      .field-clear-out {
        border: 1px solid rgba(198, 40, 40, 0.25);
        background: rgba(198, 40, 40, 0.08);
        color: #c62828;
        border-radius: 12px;
        width: 44px;
        height: 44px;
        display: grid;
        place-items: center;
        cursor: pointer;
        user-select: none;
        flex: 0 0 auto;
      }
      .checkrow {
        display: flex;
        gap: 10px;
        align-items: center;
        padding: 10px;
        border: 1px solid var(--border);
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.7);
      }
      #checkoutForm .checkrow {
        width: 100%;
      }
      .checkrow input {
        margin: 0;
      }
      .mini-note {
        color: var(--muted);
        font-size: 11px;
        font-weight: 700;
      }
      .cart-backdrop {
        position: fixed;
        inset: 0;
        background: transparent;
        opacity: 0;
        pointer-events: none;
        transition: 220ms ease;
        z-index: 40;
      }
      .cart-backdrop[data-open="true"] {
        opacity: 1;
        pointer-events: auto;
      }
      .cart-drawer {
        position: fixed;
        inset: auto;
        right: 14px;
        bottom: 74px;
        top: auto;
        left: auto;
        width: 380px;
        max-width: calc(100vw - 28px);
        max-height: min(70vh, 680px);
        background: #fff;
        border: 1px solid var(--border);
        box-shadow: var(--shadow);
        opacity: 0;
        pointer-events: none;
        transform: translateY(16px) scale(0.98);
        transition: 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
        z-index: 50;
        display: grid;
        grid-template-rows: auto 1fr auto auto;
        border-radius: 18px;
      }
      .cart-drawer[data-open="true"] {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0) scale(1);
      }
      .cart-header {
        padding: 14px;
        border-bottom: 1px solid var(--border);
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: space-between;
      }
      .cart-header h2 {
        margin: 0;
        font-size: 18px;
      }
      .cart-close {
        border: 1px solid var(--border);
        background: rgba(255, 255, 255, 0.6);
        padding: 8px 10px;
        border-radius: 12px;
        cursor: pointer;
        font-weight: 900;
      }
      .cart-scroll {
        overflow-y: auto;
        overflow-x: hidden;
        padding: 12px;
        display: flex;
        flex-direction: column;
        gap: 10px;
        min-height: 0;
        scrollbar-width: thin;
        scrollbar-color: rgba(25, 183, 255, 0.75) rgba(10, 36, 48, 0.08);
        overscroll-behavior: contain;
      }
      .cart-scroll::-webkit-scrollbar {
        width: 10px;
      }
      .cart-scroll::-webkit-scrollbar-track {
        background: rgba(10, 36, 48, 0.08);
        border-radius: 999px;
      }
      .cart-scroll::-webkit-scrollbar-thumb {
        background: linear-gradient(180deg, rgba(209, 17, 17, 0.35), rgba(25, 183, 255, 0.45), rgba(130, 130, 130, 0.35));
        border-radius: 999px;
      }
      @media (max-width: 520px) {
        .cart-drawer {
          width: 100%;
          max-width: 100%;
          right: 0;
          bottom: 0;
          border-radius: 24px 24px 0 0;
          max-height: 85vh;
          transform: translateY(100%);
        }
        .cart-drawer[data-open="true"] {
          transform: translateY(0);
        }
      }
      .cart-empty {
        border: 1px dashed var(--border);
        border-radius: 12px;
        padding: 12px;
        color: var(--muted);
        font-weight: 800;
      }
      .cart-item {
        border: 1px solid var(--border);
        border-radius: 14px;
        overflow: hidden;
        background: rgba(255, 255, 255, 0.9);
        flex: 0 0 auto;
      }
      .cart-row {
        display: grid;
        grid-template-columns: 72px 1fr;
        gap: 10px;
        padding: 10px;
      }
      .cart-thumb {
        width: 72px;
        height: 72px;
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid rgba(10, 36, 48, 0.08);
        background: rgba(25, 183, 255, 0.1);
      }
      .cart-thumb img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain;
        background: #fff;
      }
      .cart-info {
        min-width: 0;
        display: grid;
        gap: 6px;
      }
      .cart-info-top {
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: space-between;
      }
      .cart-code {
        direction: ltr;
        unicode-bidi: plaintext;
        font-weight: 900;
        color: var(--primary-3);
        font-size: 12px;
      }
      .cart-remove {
        border: 1px solid rgba(198, 40, 40, 0.25);
        background: rgba(198, 40, 40, 0.08);
        color: #c62828;
        padding: 6px 10px;
        border-radius: 999px;
        cursor: pointer;
        font-weight: 900;
        font-size: 12px;
      }
      .cart-name {
        margin: 0;
        font-weight: 900;
        font-size: 13px;
        color: var(--text);
      }
      .cart-about {
        margin: 0;
        color: var(--muted);
        font-size: 12px;
        line-height: 1.5;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }
      .cart-discount {
        margin-top: 6px;
        color: rgba(5, 123, 184, 0.95);
        font-size: 12px;
        font-weight: 900;
        white-space: pre-wrap;
        border: 1px solid rgba(25, 183, 255, 0.28);
        background: rgba(25, 183, 255, 0.08);
        border-radius: 12px;
        padding: 8px 10px;
      }
      .cart-table {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 10px;
        align-items: center;
      }
      @media (max-width: 560px) {
        .cart-table {
          grid-template-columns: 1fr;
          gap: 8px;
          align-items: start;
        }
        .qty-controls {
          justify-self: start;
        }
        .cart-unit-price,
        .cart-line-total {
          justify-self: start;
        }
      }
      .qty-controls {
        display: inline-flex;
        gap: 6px;
        align-items: center;
        border: 1px solid var(--border);
        border-radius: 999px;
        padding: 4px;
        background: rgba(255, 255, 255, 0.6);
      }
      .qty-controls button {
        width: 30px;
        height: 30px;
        border-radius: 999px;
        border: 1px solid var(--border);
        background: #fff;
        cursor: pointer;
        font-weight: 900;
      }
      .qty-controls button[data-inc] {
        border-color: rgba(46, 125, 50, 0.35);
        background: rgba(46, 125, 50, 0.12);
        color: #2e7d32;
      }
      .qty-controls button[data-dec] {
        border-color: rgba(198, 40, 40, 0.3);
        background: rgba(198, 40, 40, 0.1);
        color: #c62828;
      }
      .qty-controls input {
        width: 54px;
        border: 0;
        outline: none;
        background: transparent;
        text-align: center;
        font-weight: 900;
      }
      .cart-line-total {
        direction: ltr;
        unicode-bidi: plaintext;
        font-weight: 900;
        color: var(--primary-3);
      }
      .cart-unit-price {
        direction: ltr;
        unicode-bidi: plaintext;
        font-weight: 900;
        color: rgba(77, 106, 118, 0.95);
        font-size: 12px;
        text-align: center;
        display: grid;
        gap: 2px;
      }
      .cart-summary {
        border-top: 1px solid var(--border);
        padding: 12px 14px;
        display: grid;
        gap: 10px;
      }
      .sum-row {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        align-items: baseline;
        font-weight: 900;
      }
      .cart-actions {
        padding: 12px 14px 14px;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        border-top: 1px solid var(--border);
      }
      .footerbar {
        position: static;
        border-top: 1px solid var(--border);
        background: rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(10px);
        z-index: 30;
      }
      .footerbar-inner {
        max-width: 1200px;
        margin: 0 auto;
        padding: 40px 20px;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: 30px;
        align-items: flex-start;
      }
      @media (min-width: 768px) {
        .footerbar-inner {
          grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
          padding: 60px 20px;
        }
      }
      .footer-col {
        display: flex;
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
      }
      .footer-link {
        background: transparent;
        border: none;
        padding: 4px 0;
        cursor: pointer;
        font-size: 14px;
        font-weight: 700;
        color: var(--text);
        text-align: right;
        transition: color 0.2s;
      }
      .footer-link:hover {
        color: var(--primary-3);
      }
      .footer-link:hover {
        color: var(--primary-3);
      }
      .qa-strip {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        border: 1px solid #d11;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.7);
        overflow: hidden;
      }
      .cats-strip {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        padding: 10px 12px;
        border: 1px solid var(--primary-3);
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.7);
        overflow: hidden;
      }
      .qa-strip-label {
        font-weight: 900;
        color: #d11;
        white-space: nowrap;
        flex: 0 0 auto;
      }
      .cats-strip-label {
        font-weight: 900;
        color: var(--primary-3);
        white-space: nowrap;
        flex: 0 0 auto;
      }
      .qa-strip-rail, .cats-strip-rail {
        display: grid;
        grid-template-rows: auto auto;
        grid-auto-flow: column;
        gap: 8px;
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        scroll-behavior: smooth;
        min-width: 0;
        flex: 1;
      }
      .qa-strip-rail::-webkit-scrollbar, .cats-strip-rail::-webkit-scrollbar {
        display: none;
      }
      .cats-strip-rail.expanded {
        display: flex;
        flex-wrap: wrap;
        overflow: visible;
      }
      .qa-strip-nav {
        border: 1px solid #d11;
        background: #fff;
        color: #d11;
        width: 34px;
        height: 34px;
        border-radius: 999px;
        cursor: pointer;
        font-weight: 900;
        flex: 0 0 auto;
      }
      .cats-strip-nav {
        border: 1px solid var(--primary-3);
        background: #fff;
        color: var(--primary-3);
        width: 34px;
        height: 34px;
        border-radius: 999px;
        cursor: pointer;
        font-weight: 900;
        flex: 0 0 auto;
      }
      @media (max-width: 700px) {
        .qa-strip, .cats-strip {
          padding: 8px 10px;
          gap: 8px;
        }
        .qa-strip-label, .cats-strip-label {
          display: none;
        }
        .qa-strip-nav, .cats-strip-nav {
          width: 30px;
          height: 30px;
        }
      }
      .toast {
        position: fixed;
        left: 50%;
        top: 24px;
        z-index: 9999;
        pointer-events: none;
        opacity: 0;
        transform: translate(-50%, -20px);
        transition: transform 300ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 300ms ease;
      }
      .toast[data-open="true"] {
        opacity: 1;
        transform: translate(-50%, 0);
      }
      .toast-bubble {
        pointer-events: none;
        padding: 10px 12px;
        border-radius: 12px;
        background: rgba(10, 36, 48, 0.92);
        color: #fff;
        font-weight: 900;
        font-size: 13px;
        max-width: min(520px, calc(100vw - 24px));
      }
      @media (max-width: 980px) {
        .grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }
        .grid[data-view="compact"] {
          grid-template-columns: repeat(4, minmax(0, 1fr));
        }
        .grid[data-view="brief"] {
          grid-template-columns: repeat(5, minmax(0, 1fr));
        }
      }
      @media (max-width: 700px) {
        .grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .grid[data-view="compact"] {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .grid[data-view="brief"] {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }
      }
      @media (max-width: 520px) {
        .grid {
          grid-template-columns: 1fr;
        }
        .grid[data-view="compact"] {
          grid-template-columns: 1fr;
        }
        .grid[data-view="brief"] {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .topbar-inner {
          flex-wrap: wrap;
        }
        .brand {
          min-width: 0;
          flex: 1 1 100%;
        }
        .pill {
          font-size: 14px;
          padding: 9px 12px;
        }
        .name {
          font-size: 15px;
        }
        .desc {
          font-size: 13px;
          -webkit-line-clamp: 3;
        }
        .cart-button {
          padding: 12px 14px;
          font-size: 14px;
        }
        .cart-backdrop {
          background: rgba(10, 36, 48, 0.5);
        }
      }
      .customer-gallery {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
      }
      @media (max-width: 980px) {
        .customer-gallery {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }
      }
      @media (max-width: 700px) {
        .customer-gallery {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }
      .customer-photo {
        width: 100%;
        aspect-ratio: 1/1;
        object-fit: cover;
        border-radius: 18px;
        border: 1px solid rgba(25, 183, 255, 0.22);
        box-shadow: 0 10px 28px rgba(10, 36, 48, 0.12), 0 0 16px rgba(25, 183, 255, 0.16);
        background: #fff;
        cursor: zoom-in;
        transition: transform 180ms ease, box-shadow 260ms ease, border-color 260ms ease;
        animation: hjyCustomerGlow 1600ms ease-in-out infinite;
      }
      .customer-photo:hover {
        transform: translateY(-2px) scale(1.01);
        border-color: rgba(25, 183, 255, 0.45);
        box-shadow: 0 14px 36px rgba(10, 36, 48, 0.16), 0 0 22px rgba(25, 183, 255, 0.26);
      }
      @keyframes hjyCustomerGlow {
        0% {
          box-shadow: 0 10px 28px rgba(10, 36, 48, 0.12), 0 0 14px rgba(209, 17, 17, 0.12), 0 0 14px rgba(25, 183, 255, 0.1);
        }
        50% {
          box-shadow: 0 10px 28px rgba(10, 36, 48, 0.12), 0 0 18px rgba(209, 17, 17, 0.18), 0 0 22px rgba(25, 183, 255, 0.22);
        }
        100% {
          box-shadow: 0 10px 28px rgba(10, 36, 48, 0.12), 0 0 14px rgba(209, 17, 17, 0.12), 0 0 14px rgba(25, 183, 255, 0.1);
        }
      }
      .img-modal {
        position: fixed;
        inset: 0;
        z-index: 80;
        display: grid;
        place-items: center;
        padding: 16px;
        opacity: 0;
        pointer-events: none;
        transition: 200ms ease;
        background: rgba(10, 36, 48, 0.6);
        backdrop-filter: blur(10px);
      }
      .img-modal[data-open="true"] {
        opacity: 1;
        pointer-events: auto;
      }
      .img-modal-card {
        width: min(980px, calc(100vw - 32px));
        max-height: calc(100vh - 32px);
        border-radius: 22px;
        background: #fff;
        box-shadow: 0 18px 60px rgba(0, 0, 0, 0.35);
        padding: 10px;
        position: relative;
      }
      .img-modal-img {
        width: 100%;
        height: auto;
        max-height: calc(100vh - 72px);
        display: block;
        border-radius: 18px;
        object-fit: contain;
        background: rgba(255, 255, 255, 0.9);
      }
      @media (max-width: 420px) {
        .topbar-inner {
          padding: 10px 12px;
        }
        .brand {
          display: none;
        }
        .search {
          padding: 9px 10px;
        }
        .search input {
          font-size: 13px;
        }
        .select {
          padding: 9px 10px;
          font-size: 12px;
        }
        .search-btn {
          width: 26px;
          height: 26px;
          font-size: 13px;
        }
        .grid {
          gap: 10px;
          padding: 12px;
        }
        .card {
          min-height: 270px;
        }
      }
      @media (max-width: 360px) {
        .grid {
          grid-template-columns: 1fr;
        }
        .card {
          min-height: unset;
        }
      }

      /* ---- Responsive & performance enhancements ---- */
      .grid > * { min-width: 0; }
      @media (max-width: 360px) {
        .grid[data-view="compact"],
        .grid[data-view="brief"],
        .grid[data-view="list"] {
          grid-template-columns: 1fr;
        }
        .card .actions { flex-wrap: wrap; }
      }
      @media (min-width: 521px) and (max-width: 700px) {
        .grid[data-view="list"] .card { grid-template-columns: 110px 1fr; }
      }
      @media (max-width: 420px) {
        .topbar .controls { flex-direction: column; }
        .topbar .select { width: 100%; }
        .prices { flex-wrap: wrap; }
        .gallery-wrap { grid-template-columns: 1fr; }
      }
