:root {
  --store-ink: #102f43;
  --store-blue: #2b7aa8;
  --store-ice: #eef8fb;
  --store-line: #d8e8ed;
  --store-green: #7ed958;
  --store-white: #fff;
}

.cart-link { position: relative; }
.cart-count { display:inline-grid; place-items:center; min-width:1.35rem; height:1.35rem; margin-left:.25rem; padding:0 .3rem; border-radius:999px; background:var(--store-green); color:#173019; font-size:.72rem; font-weight:800; }
.shop-hero { padding:5rem 0 3rem; background:linear-gradient(135deg,#eaf8fb 0%,#fff 65%); }
.shop-hero__grid,.product-layout,.checkout-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:clamp(2rem,6vw,5rem); align-items:center; }
.shop-hero h1,.store-page h1 { color:var(--store-ink); margin:.6rem 0 1rem; }
.shop-hero__image,.product-gallery img { width:100%; border-radius:1.5rem; box-shadow:0 24px 60px rgba(16,47,67,.14); }
.store-page { padding:4rem 0 6rem; background:#fff; }
.product-card { display:grid; grid-template-columns:220px 1fr; gap:2rem; padding:1.4rem; border:1px solid var(--store-line); border-radius:1.35rem; background:#fff; box-shadow:0 16px 45px rgba(16,47,67,.08); }
.product-card img { width:100%; height:220px; object-fit:cover; border-radius:1rem; background:var(--store-ice); }
.product-card h2 { margin:.25rem 0 .65rem; color:var(--store-ink); }
.catalog-more { margin-top:5rem; }
.catalog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.25rem; margin-top:1.5rem; }
.catalog-grid .product-card { grid-template-columns:1fr; }
.price { color:var(--store-ink); font-size:1.7rem; font-weight:800; }
.price small { color:#6b7f89; font-size:.78rem; font-weight:500; }
.store-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.25rem; }
.quantity { display:inline-flex; align-items:center; border:1px solid var(--store-line); border-radius:999px; overflow:hidden; background:#fff; }
.quantity button { width:42px; height:42px; border:0; background:transparent; font-size:1.2rem; cursor:pointer; }
.quantity input { width:46px; border:0; text-align:center; font:inherit; font-weight:700; }
.store-note { margin-top:1rem; color:#637780; font-size:.88rem; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; }
.benefit-card { padding:1.35rem; border-radius:1rem; background:var(--store-ice); }
.benefit-card strong { display:block; color:var(--store-ink); margin-bottom:.35rem; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:2rem; align-items:start; }
.cart-items,.order-summary,.checkout-form { border:1px solid var(--store-line); border-radius:1.25rem; padding:1.5rem; background:#fff; }
.cart-item { display:grid; grid-template-columns:100px 1fr auto; gap:1rem; align-items:center; padding:1rem 0; border-bottom:1px solid var(--store-line); }
.cart-item:last-child { border-bottom:0; }
.cart-item img { width:100px; height:100px; object-fit:cover; border-radius:.85rem; }
.cart-item h3 { margin:0 0 .3rem; color:var(--store-ink); }
.link-button { border:0; padding:0; background:none; color:#a33; text-decoration:underline; cursor:pointer; }
.summary-row { display:flex; justify-content:space-between; gap:1rem; margin:.8rem 0; }
.summary-row--total { padding-top:1rem; border-top:1px solid var(--store-line); font-size:1.18rem; font-weight:800; color:var(--store-ink); }
.order-summary .button { width:100%; text-align:center; margin-top:1rem; }
.empty-cart { padding:3rem 1rem; text-align:center; }
.checkout-layout { align-items:start; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-field { display:flex; flex-direction:column; gap:.4rem; }
.form-field--wide { grid-column:1/-1; }
.form-field label { color:var(--store-ink); font-weight:700; }
.form-field input,.form-field textarea,.form-field select { width:100%; padding:.85rem 1rem; border:1px solid #bfd5dc; border-radius:.65rem; font:inherit; background:#fff; }
.form-field textarea { min-height:100px; resize:vertical; }
.payment-option { display:flex; gap:.75rem; align-items:flex-start; padding:1rem; border:1px solid var(--store-line); border-radius:.8rem; margin-top:.8rem; }
.payment-option input { margin-top:.25rem; }
.checkout-status { min-height:1.5rem; margin-top:1rem; color:#9b2c2c; }
.checkout-success { max-width:720px; margin:auto; text-align:center; padding:4rem 1rem; }
.checkout-success__icon { display:grid; place-items:center; width:74px; height:74px; margin:0 auto 1.5rem; border-radius:50%; background:var(--store-green); color:#173019; font-size:2rem; font-weight:900; }
.order-id { display:inline-block; margin:1rem 0; padding:.65rem 1rem; border-radius:.6rem; background:var(--store-ice); color:var(--store-ink); font-family:monospace; }
.kwik-badge { display:flex; flex-direction:column; gap:.2rem; margin-bottom:1.5rem; padding:1rem 1.2rem; border-left:4px solid var(--store-green); border-radius:.7rem; background:var(--store-ice); color:var(--store-ink); }
.payment-option--kwik { border-color:#76c95b; background:#f6fff2; }
.checkout-trust { display:grid; gap:.55rem; margin-top:1.25rem; color:#4a626d; font-size:.88rem; }
.admin-body { background:#f4f8f9; color:var(--store-ink); }
.admin-header { display:flex; justify-content:space-between; align-items:center; padding:1rem clamp(1rem,4vw,3rem); border-bottom:1px solid var(--store-line); background:#fff; }
.admin-header .brand img { max-height:48px; }
.admin-header > div { display:flex; align-items:center; gap:1rem; }
.admin-shell { max-width:1180px; margin:auto; padding:clamp(2rem,5vw,4rem) 1rem; }
.admin-login { max-width:460px; margin:4rem auto; padding:2rem; border:1px solid var(--store-line); border-radius:1.25rem; background:#fff; box-shadow:0 20px 60px rgba(16,47,67,.09); }
.admin-login .button { margin-top:1rem; width:100%; }
.admin-title,.admin-section-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.admin-tabs { display:flex; gap:.5rem; margin:2rem 0; padding:.4rem; border-radius:.8rem; background:#e6f0f3; width:max-content; }
.admin-tabs button { border:0; padding:.7rem 1.2rem; border-radius:.55rem; background:transparent; font:inherit; font-weight:700; cursor:pointer; }
.admin-tabs button.active { background:#fff; box-shadow:0 4px 12px rgba(16,47,67,.09); }
.admin-product-list { display:grid; gap:1rem; margin-top:1rem; }
.admin-product-card { padding:1.5rem; border:1px solid var(--store-line); border-radius:1.1rem; background:#fff; }
.admin-card-actions { display:flex; align-items:center; gap:1rem; margin-top:1rem; }
.admin-checkbox { display:flex; align-items:center; gap:.6rem; font-weight:700; }
.admin-table-wrap { overflow:auto; border:1px solid var(--store-line); border-radius:1rem; background:#fff; }
.admin-table { width:100%; border-collapse:collapse; min-width:800px; }
.admin-table th,.admin-table td { padding:1rem; border-bottom:1px solid var(--store-line); text-align:left; vertical-align:top; }
.admin-table th { color:#5a707a; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.admin-status { display:inline-block; padding:.25rem .55rem; border-radius:999px; background:var(--store-ice); font-size:.78rem; font-weight:700; }
@media (max-width: 820px) {
  .shop-hero__grid,.product-layout,.checkout-layout,.cart-layout { grid-template-columns:1fr; }
  .product-card { grid-template-columns:1fr; }
  .benefit-grid { grid-template-columns:1fr; }
  .order-summary { order:-1; }
}
@media (max-width: 560px) {
  .form-grid { grid-template-columns:1fr; }
  .form-field--wide { grid-column:auto; }
  .cart-item { grid-template-columns:76px 1fr; }
  .cart-item img { width:76px; height:76px; }
  .cart-item__price { grid-column:2; }
}
