/* ============================================================
   THE ULTIMATE SYSTEM v2.4 — Online Store (store.php)
   Loaded only in e-commerce mode via $extraHead.
   ============================================================ */

.store-hero { background:linear-gradient(135deg, var(--dark) 0%, var(--dark-2) 70%, var(--primary-hover) 140%);
    color:#fff; padding:44px 24px; text-align:center; }
.store-hero h1 { margin:0 0 6px; font-size:2rem; letter-spacing:-.5px; }
.store-hero p { margin:0 auto; max-width:560px; color:#cbd5e1; font-size:.95rem; }

.store-toolbar { max-width:1180px; margin:26px auto 8px; padding:0 24px;
    display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; }

/* Commerce product card */
.store-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:20px; max-width:1180px; margin:18px auto 80px; padding:0 24px; }
.store-card { background:var(--surface); border-radius:16px; overflow:hidden;
    box-shadow:var(--shadow); transition:var(--transition); display:flex; flex-direction:column;
    position:relative; }
.store-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.store-card-img { aspect-ratio:1/1; width:100%; object-fit:cover; background:var(--light);
    display:flex; align-items:center; justify-content:center; color:var(--gray); font-size:2rem; cursor:pointer; }
.store-card-body { padding:14px 16px 16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.store-card h4 { margin:0; font-size:1rem; line-height:1.35; }
.sc-price { font-size:1.25rem; font-weight:800; color:var(--primary); }
.sc-meta { display:flex; gap:6px; flex-wrap:wrap; }

/* Add-to-cart ⇄ quantity stepper slot */
.card-cart-slot { margin-top:auto; padding-top:8px; }
.qty-stepper { display:flex; align-items:center; border:1.5px solid var(--primary);
    border-radius:999px; overflow:hidden; height:42px; }
.qty-stepper button { width:42px; height:100%; border:0; background:transparent;
    color:var(--primary); font-size:1.05rem; cursor:pointer; }
.qty-stepper button:hover { background:color-mix(in srgb, var(--primary) 8%, transparent); }
.qty-stepper .q { flex:1; text-align:center; font-weight:700; }

/* Sticky mini-cart summary */
.minicart { position:fixed; left:50%; transform:translateX(-50%); bottom:18px; z-index:60;
    background:var(--dark); color:#fff; border-radius:999px; padding:10px 22px;
    display:none; align-items:center; gap:16px; box-shadow:var(--shadow-lg); font-size:.92rem; }
.minicart strong { color:#fff; }
.minicart a { color:#fff; font-weight:800; text-decoration:none;
    background:var(--primary); padding:7px 16px; border-radius:999px; }
.minicart a:hover { filter:brightness(1.08); }
