:root {
  color-scheme: dark;
  --bg: #0b1020;
  --panel: #131c30;
  --panel-2: #18243a;
  --line: #263650;
  --text: #eaf2ff;
  --muted: #a9b8d0;
  --blue: #4da3ff;
  --blue-strong: #3988e8;
  --mint: #91e6c1;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
.topbar {
  min-height: 76px; display: flex; align-items: center; justify-content: space-between;
  gap: 24px; padding: 0 clamp(20px, 6vw, 88px); border-bottom: 1px solid #ffffff0c;
  background: #0b1020eF;
}
.brand { display: inline-flex; align-items: center; gap: 11px; font-size: 13px; font-weight: 850; letter-spacing: 1.5px; }
.brand-mark {
  display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px;
  color: #111827; background: var(--blue); font-size: 24px; font-weight: 900; letter-spacing: -2px;
}
.muted { color: #929bb0; }
nav { display: flex; align-items: center; gap: clamp(14px, 3vw, 32px); font-size: 13px; color: #c3cada; }
nav a:hover { color: white; }
.account-link { border: 1px solid var(--line); border-radius: 9px; padding: 9px 12px; }
.hero {
  position: relative; overflow: hidden; padding: clamp(75px, 11vw, 145px) 24px 100px;
  text-align: center; background: radial-gradient(ellipse at 50% 15%, #233c61 0, #172033 27%, var(--bg) 68%);
}
.hero::before {
  content: ""; position: absolute; width: 450px; height: 450px; border: 1px solid #4da3ff15;
  border-radius: 50%; top: -290px; left: calc(50% - 225px); box-shadow: 0 0 0 55px #4da3ff08, 0 0 0 110px #4da3ff05;
}
.eyebrow { color: var(--blue); font-size: 10px; font-weight: 850; letter-spacing: 2px; }
.status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--mint); margin: 0 8px 1px 0; }
.hero h1 { position: relative; margin: 22px 0 16px; font-size: clamp(43px, 7vw, 76px); line-height: 1.04; letter-spacing: -3px; font-weight: 850; }
.hero h1 span { color: var(--blue); }
.hero > p { max-width: 530px; margin: 0 auto; color: var(--muted); font-size: 16px; }
.hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.button { display: inline-flex; align-items: center; gap: 13px; padding: 12px 18px; border-radius: 10px; font-size: 13px; font-weight: 750; transition: transform .15s, background .15s; }
.button:hover { transform: translateY(-2px); }
.primary { color: #101827; background: var(--blue); }
.primary:hover { background: #b0d0ff; }
.secondary { border: 1px solid #ffffff22; background: #ffffff07; }
.secondary:hover { background: #ffffff10; }
.hero-note { margin-top: 25px; color: #8994aa; font-size: 11px; }
.hero-note span { color: var(--mint); margin-right: 6px; }
.section, .early-section { max-width: 1190px; padding: 72px 24px 40px; margin: auto; scroll-margin-top: 25px; }
.early-section { padding-top: 58px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.section-heading h2 { margin: 7px 0 3px; font-size: clamp(28px, 4vw, 38px); letter-spacing: -1.2px; }
.section-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.section-count { padding-bottom: 8px; color: #7e8aa2; font-size: 10px; font-weight: 800; letter-spacing: 1.5px; white-space: nowrap; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.product-card {
  display: flex; flex-direction: column; min-height: 224px; padding: 20px; border: 1px solid var(--line);
  border-radius: 15px; background: linear-gradient(145deg, #1a2030, #151925); position: relative;
}
.product-card:hover { border-color: #718ebd; }
.product-card.featured { border-color: #668ec8; background: linear-gradient(145deg, #203452, #171d2b 75%); }
.card-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 24px; }
.card-symbol { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: #4da3ff18; color: var(--blue); font-size: 17px; }
.badge { border: 1px solid #4da3ff4d; background: #4da3ff14; color: var(--blue); border-radius: 5px; padding: 3px 6px; font-size: 9px; font-weight: 850; letter-spacing: .6px; }
.product-card h3 { margin: 17px 0 4px; font-size: 15px; }
.product-card .description { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.card-bottom { display: flex; justify-content: space-between; align-items: end; gap: 8px; margin-top: auto; padding-top: 20px; }
.price { font-size: 22px; font-weight: 850; letter-spacing: -.7px; }
.buy-button { border: 1px solid #526b91; background: #4da3ff15; color: #c5dcff; padding: 8px 10px; border-radius: 8px; font-size: 11px; font-weight: 750; cursor: pointer; }
.buy-button:disabled { cursor: default; opacity: .75; }
.early-note { display: flex; gap: 14px; padding: 16px 18px; border: 1px solid #91e6c127; border-radius: 12px; background: #91e6c10a; margin-bottom: 18px; }
.note-icon { color: var(--mint); font-size: 20px; }
.early-note p { margin: 0; color: #bdc9d0; font-size: 12px; }
.early-section .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.early-section .product-card { min-height: 248px; }
.trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; max-width: 1140px; margin: 65px auto 85px; padding: 28px 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.trust-strip > div { display: grid; grid-template-columns: 32px 1fr; column-gap: 10px; align-items: center; }
.trust-icon { grid-row: span 2; display: grid; place-items: center; width: 30px; height: 30px; background: #4da3ff13; color: var(--blue); border-radius: 8px; }
.trust-strip strong { font-size: 11px; }
.trust-strip small { color: var(--muted); font-size: 10px; }
footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding: 26px clamp(20px, 6vw, 88px); border-top: 1px solid #ffffff0c; color: #8791a6; font-size: 10px; }
footer p { margin: 0; }
.footer-brand { color: #dfe6f5; font-size: 10px; }
.footer-brand .brand-mark { width: 25px; height: 25px; font-size: 19px; border-radius: 7px; }
.footer-copy { color: #6e788d; }
.loading { grid-column: 1 / -1; padding: 22px; color: var(--muted); font-size: 13px; }
.notice { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; padding: 11px 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); color: var(--text); font-size: 12px; transition: .2s; }
.notice.visible { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 850px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-strip { margin: 45px 24px 60px; }
}
@media (max-width: 600px) {
  .topbar { align-items: flex-start; flex-direction: column; padding-top: 16px; padding-bottom: 15px; gap: 13px; }
  nav { width: 100%; flex-wrap: wrap; gap: 14px; font-size: 11px; }
  .hero { padding-top: 75px; padding-bottom: 75px; }
  .hero h1 { letter-spacing: -1.8px; }
  .section, .early-section { padding-left: 18px; padding-right: 18px; }
  .section-heading { align-items: start; }
  .section-count { display: none; }
  .product-grid, .early-section .product-grid { grid-template-columns: 1fr; }
  .product-card, .early-section .product-card { min-height: 205px; }
  .trust-strip { grid-template-columns: 1fr; gap: 18px; margin-left: 18px; margin-right: 18px; }
  footer { align-items: flex-start; flex-direction: column; }
}

/* RESPONSIVE REFINEMENTS V1 */

/* Prevent narrow layouts from creating accidental horizontal overflow. */
html {
  scroll-padding-top: 20px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  min-width: 0;
  overflow-wrap: break-word;
}

main,
section,
header,
footer,
.product-grid,
.product-card {
  min-width: 0;
}

img,
svg,
video {
  max-width: 100%;
}

a,
button {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 4px;
}

button,
.button,
.account-link {
  touch-action: manipulation;
}

.button {
  min-height: 44px;
  justify-content: center;
}

.buy-button {
  min-height: 40px;
}

.product-card {
  height: 100%;
  transition: border-color 160ms ease, background-color 160ms ease;
}

.product-card h3 {
  overflow-wrap: anywhere;
}

.product-card .description {
  font-size: 12px;
}

.card-bottom {
  flex-wrap: wrap;
}

.price {
  font-variant-numeric: tabular-nums;
}

.section-heading {
  min-width: 0;
}

.section-heading > div {
  min-width: 0;
}

.topbar {
  flex-wrap: wrap;
}

nav {
  flex-wrap: wrap;
}

nav a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
}

.account-link {
  justify-content: center;
}

.hero h1 {
  overflow-wrap: normal;
  text-wrap: balance;
}

.hero > p,
.section-heading p {
  text-wrap: pretty;
}

@media (min-width: 1200px) {
  .section,
  .early-section {
    padding-left: 30px;
    padding-right: 30px;
  }

  .product-grid {
    gap: 18px;
  }
}

@media (max-width: 850px) {
  .topbar {
    padding-left: clamp(20px, 4vw, 36px);
    padding-right: clamp(20px, 4vw, 36px);
  }

  .hero {
    padding-left: 22px;
    padding-right: 22px;
  }

  .product-grid,
  .early-section .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .topbar {
    align-items: stretch;
    gap: 12px;
    padding: 14px 18px;
  }

  .brand {
    align-self: flex-start;
  }

  nav {
    gap: 6px 14px;
    font-size: 12px;
  }

  nav a {
    min-height: 40px;
  }

  .account-link {
    padding: 7px 10px;
  }

  .hero {
    padding: 64px 20px 62px;
  }

  .hero h1 {
    margin-top: 20px;
    font-size: clamp(36px, 9.5vw, 52px);
    line-height: 1.08;
    letter-spacing: -1.5px;
  }

  .hero > p {
    font-size: 15px;
  }

  .hero-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }

  .button {
    width: 100%;
    padding: 12px 14px;
  }

  .section,
  .early-section {
    padding: 48px 18px 24px;
  }

  .section-heading {
    align-items: flex-start;
    margin-bottom: 20px;
  }

  .section-heading h2 {
    font-size: clamp(27px, 7vw, 34px);
  }

  .section-heading p {
    max-width: 42ch;
  }

  .product-grid,
  .early-section .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .product-card,
  .early-section .product-card {
    min-height: 220px;
    padding: 15px;
    border-radius: 13px;
  }

  .product-card h3 {
    font-size: 14px;
  }

  .product-card .description {
    font-size: 12px;
  }

  .card-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding-top: 18px;
  }

  .price {
    font-size: clamp(19px, 5vw, 22px);
  }

  .buy-button {
    max-width: 100%;
    padding: 8px 10px;
    font-size: 12px;
  }

  .early-note {
    align-items: flex-start;
    padding: 14px;
  }

  .early-note p {
    font-size: 13px;
  }

  .trust-strip {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    margin: 36px 18px 44px;
    padding: 24px 0;
  }

  .trust-strip strong {
    font-size: 12px;
  }

  .trust-strip small {
    font-size: 11px;
  }

  footer {
    padding: 24px 18px;
  }
}

@media (max-width: 370px) {
  .product-grid,
  .early-section .product-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-card,
  .early-section .product-card {
    min-height: 195px;
    padding: 18px;
  }

  .card-bottom {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .hero h1 {
    font-size: clamp(32px, 9vw, 36px);
    letter-spacing: -1px;
  }

  .section,
  .early-section {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Short landscape screens need less vertical space above the content. */
@media (orientation: landscape) and (max-height: 500px) {
  .hero {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .hero h1 {
    margin-top: 14px;
    margin-bottom: 12px;
    font-size: clamp(36px, 6vw, 58px);
  }

  .hero-actions {
    margin-top: 20px;
  }

  .hero-note {
    margin-top: 16px;
  }
}

/* Honour the visitor's operating-system motion preference. */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .button:hover {
    transform: none;
  }
}

/* CUSTOM HERO ARTWORK V1 */
.hero {
  background-image:
    linear-gradient(
      180deg,
      rgba(16, 19, 28, 0.48) 0%,
      rgba(16, 19, 28, 0.52) 48%,
      #0b1020 100%
    ),
    radial-gradient(
      ellipse at 50% 35%,
      rgba(16, 19, 28, 0.08),
      rgba(16, 19, 28, 0.45) 80%
    ),
    url("/assets/hero-background.webp");
  background-position: center, center, center 44%;
  background-size: cover, cover, cover;
  background-repeat: no-repeat;
}

@media (max-width: 600px) {
  .hero {
    background-position: center, center, 58% center;
  }
}

/* PRODUCT CARD REFINEMENT V1 */
.product-card {
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(155, 177, 214, 0.16);
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(104, 153, 225, 0.09),
      transparent 43%
    ),
    linear-gradient(145deg, #1b2232 0%, #151925 78%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.product-card.featured {
  border-color: rgba(139, 186, 255, 0.55);
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(139, 186, 255, 0.17),
      transparent 48%
    ),
    linear-gradient(145deg, #203452, #171d2b 78%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.045),
    0 8px 26px rgba(0, 0, 0, 0.08);
}

.card-symbol {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(139, 186, 255, 0.13);
  background: rgba(139, 186, 255, 0.09);
}

.badge {
  padding: 5px 8px;
  border-radius: 6px;
  font-size: 10px;
  letter-spacing: 0.45px;
}

.product-card h3 {
  margin-top: 19px;
  margin-bottom: 7px;
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: -0.2px;
}

.product-card .description {
  max-width: 38ch;
  color: #aab5c9;
  line-height: 1.7;
}

.card-bottom {
  align-items: center;
  padding-top: 24px;
}

.price {
  color: #f0f4fc;
  font-size: clamp(21px, 2vw, 25px);
  letter-spacing: -0.8px;
}

.buy-button {
  border-color: rgba(139, 186, 255, 0.26);
  background: rgba(139, 186, 255, 0.08);
  color: #c9ddff;
  border-radius: 9px;
  padding: 9px 11px;
}

.buy-button:disabled {
  opacity: 0.78;
}

.early-section .product-card {
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(158, 230, 209, 0.07),
      transparent 45%
    ),
    linear-gradient(145deg, #1b2230, #151925 78%);
}

.early-section .product-card.featured {
  border-color: rgba(158, 230, 209, 0.42);
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(158, 230, 209, 0.12),
      transparent 48%
    ),
    linear-gradient(145deg, #20332f, #171d2b 78%);
}

@media (hover: hover) and (pointer: fine) {
  .product-card:hover {
    transform: translateY(-3px);
    border-color: rgba(139, 186, 255, 0.5);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.14);
  }

  .product-card.featured:hover {
    border-color: #4da3ff;
  }

  .early-section .product-card:hover {
    border-color: rgba(158, 230, 209, 0.48);
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-card {
    transition: none;
  }

  .product-card:hover {
    transform: none;
  }
}

/* HERO TRANSITION REFINEMENT V2 */
.hero {
  border-bottom: 0;
  background-color: var(--bg);
  background-image:
    linear-gradient(
      180deg,
      rgba(16, 19, 28, 0.28) 0%,
      rgba(16, 19, 28, 0.42) 42%,
      rgba(16, 19, 28, 0.78) 72%,
      var(--bg) 100%
    ),
    url("/assets/hero-background.webp");
  background-position: center, center 44%;
  background-size: cover, cover;
  background-repeat: no-repeat;
}

@media (max-width: 600px) {
  .hero {
    background-position: center, 58% center;
  }
}

/* HERO BOTTOM SEAM FIX */
.hero {
  border-bottom: 2px solid var(--bg);
}

/* CREDIT QUANTITY AND UNIT-PRICE CLARITY */
.product-credit-detail {
  margin-top: 14px;
}

.product-quantity {
  margin: 0;
  color: var(--text);
  font-size: clamp(17px, 1.5vw, 21px);
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: -0.45px;
}

.unit-price {
  margin: 6px 0 0;
  color: var(--mint);
  font-size: 11px;
  font-weight: 650;
}

.included-credits {
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid rgba(158, 230, 209, 0.16);
  color: var(--mint);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.5;
}

/* PRODUCT CARD SPACING REFINEMENT */
.card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 12px;
  row-gap: 10px;
}

.price {
  flex: 0 1 auto;
  min-width: 0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.buy-button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.product-card .description {
  line-height: 1.65;
}

.early-section .product-card {
  display: flex;
  flex-direction: column;
}

.early-section .product-card .description {
  margin-bottom: 0;
}

.included-credits {
  line-height: 1.5;
}

@media (max-width: 600px) {
  .card-bottom {
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px 12px;
  }

  .price {
    font-size: clamp(19px, 5vw, 23px);
  }
}

/* ORIGINAL ILLMATIC CRAFT BRANDING V1 */
.brand-logo {
  display: block;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  object-fit: contain;
}

.footer-full-logo {
  display: block;
  width: clamp(170px, 22vw, 245px);
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

@media (max-width: 600px) {
  .brand-logo {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
  }

  .footer-full-logo {
    width: min(220px, 70vw);
  }
}


/* ILLMATIC CRAFT BRAND PALETTE AND SHOP TITLE */
.shop-title-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1190px;
  margin: 0 auto;
  padding: 24px 24px 8px;
  position: relative;
}

.shop-title-banner img {
  display: block;
  width: clamp(260px, 44vw, 540px);
  max-width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 8px 24px rgba(77, 163, 255, 0.08));
}

#credits {
  padding-top: 42px;
}

@media (max-width: 600px) {
  .shop-title-banner {
    margin-top: 0;
    padding: 20px 18px 6px;
  }

  .shop-title-banner img {
    width: min(100%, 440px);
  }

  #credits {
    padding-top: 30px;
  }
}

/* Private test basket and checkout */
.checkout-section {
  max-width: 1190px;
  padding: 64px 24px 35px;
  margin: auto;
  scroll-margin-top: 25px;
}
.basket-panel {
  border: 1px solid var(--line);
  border-radius: 15px;
  background: linear-gradient(145deg, #171f31, #111827);
  padding: clamp(18px, 4vw, 30px);
}
.basket-empty { margin: 0; color: var(--muted); font-size: 13px; }
.basket-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 18px;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}
.basket-product { display: flex; flex-direction: column; min-width: 0; gap: 3px; }
.basket-product strong { overflow-wrap: anywhere; }
.basket-product span { color: var(--muted); font-size: 12px; }
.basket-controls { display: flex; align-items: center; gap: 10px; }
.quantity-button {
  width: 36px; height: 36px; padding: 0;
  border: 1px solid var(--line); border-radius: 8px;
  background: var(--panel-2); color: var(--text); font-size: 18px;
}
.quantity-button:disabled { opacity: .4; cursor: not-allowed; }
.basket-line-total { white-space: nowrap; font-variant-numeric: tabular-nums; }
.basket-total {
  display: flex; justify-content: space-between; align-items: center;
  gap: 15px; padding: 20px 0; font-size: 14px;
}
.basket-total strong { font-size: 24px; font-variant-numeric: tabular-nums; }
#checkout-form { border-top: 1px solid var(--line); padding-top: 20px; }
#checkout-form label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; }
#checkout-email {
  display: block; width: 100%; max-width: 520px; min-height: 44px;
  padding: 12px; color: var(--text); background: #0d1422;
  border: 1px solid var(--line); border-radius: 9px; font: inherit;
}
#checkout-email:focus { outline: 2px solid var(--blue); outline-offset: 2px; }
.checkout-warning {
  max-width: 760px; margin: 15px 0;
  color: #f4d7a0; font-size: 12px;
}
#checkout-submit { border: 0; cursor: pointer; }
#checkout-submit:disabled { opacity: .45; cursor: not-allowed; }
.checkout-message { min-height: 20px; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
#checkout-result {
  margin-top: 16px; padding: 17px;
  border: 1px solid var(--line); border-radius: 10px; background: #0c1421;
  overflow-wrap: anywhere;
}
#checkout-result h3 { margin: 0 0 8px; font-size: 16px; }
#checkout-result p { margin: 6px 0; color: var(--muted); font-size: 13px; }
@media (max-width: 600px) {
  .checkout-section { padding: 45px 18px 25px; }
  .basket-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
  .basket-line-total { grid-column: 1 / -1; text-align: right; }
}
