:root,
html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #070b10;
  --bg-2: #0c131b;
  --panel: rgba(255, 255, 255, 0.065);
  --panel-strong: rgba(255, 255, 255, 0.09);
  --text: #f5f8fc;
  --muted: #aeb9c8;
  --soft: #7c8898;
  --line: rgba(255, 255, 255, 0.13);
  --line-strong: rgba(255, 255, 255, 0.22);
  --surface: rgba(7, 11, 16, 0.72);
  --surface-strong: rgba(8, 12, 17, 0.96);
  --surface-hover: rgba(255, 255, 255, 0.085);
  --glass: rgba(255, 255, 255, 0.055);
  --glass-strong: rgba(255, 255, 255, 0.09);
  --header-bg: rgba(7, 11, 16, 0.82);
  --footer-bg: rgba(5, 8, 12, 0.6);
  --field-bg: rgba(7, 11, 16, 0.72);
  --pattern-a: rgba(40, 214, 255, 0.13);
  --pattern-b: rgba(74, 222, 154, 0.12);
  --pattern-c: rgba(244, 184, 95, 0.1);
  --pattern-line: rgba(255, 255, 255, 0.07);
  --hero-text: #c9d4e2;
  --cyan: #28d6ff;
  --green: #4ade9a;
  --mint: #4ade9a;
  --amber: #f4b85f;
  --rose: #ff7396;
  --violet: #8b6cff;
  --ink: #061016;
  --radius: 8px;
  --shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Admin product editor v2 ------------------------------------------------- */
.admin-page .admin-tabs {
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
}

.admin-product-form-owner {
  display: contents;
}

.admin-product-editor-v2 {
  min-width: 0;
  background: color-mix(in srgb, var(--panel) 86%, var(--surface));
}

.admin-product-editor-header {
  position: sticky;
  z-index: 24;
  top: 72px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--panel-strong) 94%, transparent);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(18px);
}

.admin-product-editor-title {
  min-width: 0;
}

.admin-product-editor-title h2 {
  margin: 2px 0 0;
  overflow: hidden;
  font-size: clamp(1.18rem, 2vw, 1.7rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-product-header-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.admin-save-state {
  max-width: min(42vw, 52ch);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--soft);
  font-size: 0.82rem;
  font-weight: 760;
  line-height: 1.35;
  text-align: right;
}

.admin-save-state::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 12px color-mix(in srgb, var(--green) 58%, transparent);
}

.admin-save-state.is-dirty {
  color: var(--amber);
}

.admin-save-state.is-dirty::before {
  background: var(--amber);
  box-shadow: 0 0 12px color-mix(in srgb, var(--amber) 58%, transparent);
}

.admin-save-state.is-error,
.admin-product-sticky-actions .is-error {
  color: var(--rose);
}

.admin-save-state.is-error::before {
  background: var(--rose);
  box-shadow: 0 0 12px color-mix(in srgb, var(--rose) 58%, transparent);
}

.admin-save-state.is-ok,
.admin-product-sticky-actions .is-ok {
  color: var(--green);
}

.admin-product-workspace-v2 {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(190px, 0.24fr) minmax(0, 1fr);
  align-items: start;
}

.admin-product-section-nav {
  position: sticky;
  top: 151px;
  display: grid;
  gap: 18px;
  padding: 18px;
  border-right: 1px solid var(--line);
}

.admin-product-section-nav nav {
  display: grid;
  gap: 5px;
}

.admin-product-section-nav nav button {
  width: 100%;
  min-height: 42px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 790;
  text-align: left;
  cursor: pointer;
}

.admin-product-section-nav nav button span {
  color: var(--soft);
  font-family: var(--mono);
  font-size: 0.7rem;
}

.admin-product-section-nav nav button:hover,
.admin-product-section-nav nav button:focus-visible,
.admin-product-section-nav nav button.is-active {
  border-color: color-mix(in srgb, var(--cyan) 38%, var(--line));
  color: var(--text);
  background: color-mix(in srgb, var(--cyan) 9%, var(--surface));
  outline: none;
}

.admin-readiness-compact {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--glass);
}

.admin-readiness-compact > span {
  color: var(--soft);
  font-size: 0.72rem;
  font-weight: 820;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.admin-readiness-compact strong {
  font-size: 0.88rem;
}

.admin-readiness-meter {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--line);
}

.admin-readiness-meter span {
  width: 0;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--cyan), var(--green));
  transition: width 220ms ease;
}

.admin-product-editor-content {
  min-width: 0;
  display: grid;
  gap: 18px;
  padding: 18px;
}

.admin-editor-section {
  min-width: 0;
  display: grid;
  gap: 18px;
  padding: clamp(18px, 2.4vw, 28px);
  scroll-margin-top: 164px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--cyan) 4%, transparent), transparent 34%),
    var(--surface);
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.12);
}

.admin-editor-section:focus {
  outline: none;
}

.admin-editor-section-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: start;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--line);
}

.admin-editor-section-head h3 {
  margin: 4px 0 0;
  font-size: clamp(1.22rem, 2vw, 1.7rem);
}

.admin-editor-section-head > p {
  max-width: 48ch;
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.product-template-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.product-template-grid button {
  min-width: 0;
  min-height: 112px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 4px 10px;
  align-content: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--text);
  background: var(--field-bg);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.product-template-grid button > span {
  grid-row: 1 / span 2;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--cyan);
  background: color-mix(in srgb, var(--cyan) 10%, var(--panel));
  font-size: 1.1rem;
}

.product-template-grid button strong,
.product-template-grid button small {
  min-width: 0;
}

.product-template-grid button small {
  color: var(--soft);
  line-height: 1.28;
}

.product-template-grid button:hover,
.product-template-grid button:focus-visible,
.product-template-grid button.is-active {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--cyan) 54%, var(--line));
  background: color-mix(in srgb, var(--cyan) 8%, var(--surface-hover));
  outline: none;
}

.product-template-grid button.is-active {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cyan) 32%, transparent);
}

.admin-emphasis-check {
  padding: 13px 14px;
  border: 1px solid color-mix(in srgb, var(--amber) 32%, var(--line));
  border-radius: 11px;
  background: color-mix(in srgb, var(--amber) 7%, var(--field-bg));
}

.admin-repeater,
.variant-attribute-panel {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--field-bg);
}

.admin-repeater-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}

.admin-repeater-head.compact {
  align-items: center;
}

.admin-repeater-head h4 {
  margin: 0 0 3px;
}

.admin-repeater-list {
  display: grid;
  gap: 8px;
}

.admin-highlight-row,
.admin-key-value-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.admin-key-value-row {
  grid-template-columns: minmax(120px, 0.42fr) minmax(180px, 1fr) auto;
}

.admin-highlight-row input,
.admin-key-value-row input {
  min-width: 0;
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--text);
  background: var(--panel);
}

.variant-editor {
  margin-top: 0;
  padding: 16px;
}

.variant-row {
  gap: 13px;
  padding: 14px;
}

.variant-row-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.variant-row-grid .variant-field:last-child {
  grid-column: span 2;
}

.variant-attribute-panel {
  padding: 11px;
  background: color-mix(in srgb, var(--panel) 70%, transparent);
}

.admin-upload-context {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 3px 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--cyan) 30%, var(--line));
  border-radius: 11px;
  background: color-mix(in srgb, var(--cyan) 7%, var(--field-bg));
}

.admin-upload-context > span {
  grid-row: 1 / span 2;
  color: var(--cyan);
  font-size: 0.72rem;
  font-weight: 840;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.admin-upload-context small {
  color: var(--soft);
}

.admin-upload-form-v2,
.admin-upload-form-v2 fieldset {
  min-width: 0;
  display: grid;
  gap: 13px;
}

.admin-upload-form-v2 fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

.admin-upload-form-v2 fieldset:disabled {
  opacity: 0.58;
}

.admin-dropzone {
  position: relative;
  display: grid;
  gap: 9px;
  padding: 18px;
  border: 1px dashed color-mix(in srgb, var(--cyan) 48%, var(--line));
  border-radius: 12px;
  background: color-mix(in srgb, var(--cyan) 5%, var(--field-bg));
}

.admin-dropzone label {
  display: grid;
  gap: 4px;
  cursor: pointer;
}

.admin-dropzone label span {
  color: var(--muted);
  font-size: 0.88rem;
}

.admin-dropzone input[type="file"] {
  width: 100%;
  min-height: 44px;
}

.admin-dropzone.is-dragging {
  border-color: var(--cyan);
  background: color-mix(in srgb, var(--cyan) 12%, var(--field-bg));
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--cyan) 18%, transparent);
}

.admin-file-selection {
  display: grid;
  gap: 7px;
}

.admin-selected-file {
  min-width: 0;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--field-bg);
}

.admin-selected-file > span {
  min-width: 44px;
  min-height: 34px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: var(--cyan);
  background: color-mix(in srgb, var(--cyan) 9%, var(--panel));
  font-family: var(--mono);
  font-size: 0.66rem;
  font-weight: 820;
  overflow: hidden;
}

.admin-selected-file > span img {
  width: 44px;
  height: 34px;
  object-fit: cover;
}

.admin-selected-file div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.admin-selected-file strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-selected-file small {
  color: var(--soft);
}

.admin-channel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-channel-card {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--field-bg);
  cursor: pointer;
}

.admin-channel-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--green) 48%, var(--line));
  background: color-mix(in srgb, var(--green) 7%, var(--field-bg));
}

.admin-channel-card input {
  width: 20px;
  height: 20px;
  margin-top: 1px;
  accent-color: var(--green);
}

.admin-channel-card span {
  display: grid;
  gap: 4px;
}

.admin-channel-card small {
  color: var(--muted);
}

.admin-advanced-fields {
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--field-bg);
}

.admin-advanced-fields summary {
  font-weight: 820;
  cursor: pointer;
}

.admin-advanced-fields[open] summary {
  margin-bottom: 15px;
}

.admin-product-review-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(240px, 0.9fr);
  gap: 14px;
  align-items: start;
}

.admin-readiness-list {
  display: grid;
  gap: 8px;
}

.admin-readiness-item {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--field-bg);
}

.admin-readiness-item > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--amber);
  background: color-mix(in srgb, var(--amber) 10%, var(--panel));
  font-weight: 900;
}

.admin-readiness-item.is-ready > span {
  color: var(--green);
  background: color-mix(in srgb, var(--green) 10%, var(--panel));
}

.admin-readiness-item div {
  display: grid;
  gap: 2px;
}

.admin-readiness-item small {
  color: var(--soft);
}

.admin-product-preview-card {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--cyan) 34%, var(--line));
  border-radius: 12px;
  background:
    radial-gradient(circle at 90% 0, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 45%),
    var(--panel);
}

.admin-product-preview-card h4,
.admin-product-preview-card p {
  margin: 0;
}

.admin-product-preview-card p,
.admin-product-preview-card small {
  color: var(--muted);
}

.admin-destructive-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-product-sticky-actions {
  position: sticky;
  z-index: 20;
  bottom: 12px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid color-mix(in srgb, var(--cyan) 32%, var(--line));
  border-radius: 13px;
  background: color-mix(in srgb, var(--panel-strong) 94%, transparent);
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px);
}

.admin-product-sticky-actions > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.admin-product-sticky-actions span {
  color: var(--soft);
  font-size: 0.82rem;
}

.admin-product-sticky-actions.is-error {
  border-color: color-mix(in srgb, var(--rose) 62%, var(--line));
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.28), inset 0 0 0 1px color-mix(in srgb, var(--rose) 18%, transparent);
}

@media (max-width: 1120px) {
  .admin-product-editor-header {
    top: 68px;
  }

  .admin-product-workspace-v2 {
    grid-template-columns: 1fr;
  }

  .admin-product-section-nav {
    position: sticky;
    z-index: 23;
    top: 139px;
    padding: 10px 14px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--panel-strong) 94%, transparent);
    backdrop-filter: blur(16px);
  }

  .admin-product-section-nav nav {
    display: flex;
    gap: 7px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: thin;
  }

  .admin-product-section-nav nav button {
    width: auto;
    min-width: max-content;
  }

  .admin-readiness-compact {
    display: none;
  }

  .variant-row-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .admin-page .admin-tabs {
    grid-template-columns: 1fr;
  }

  .admin-product-editor-header {
    position: static;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .admin-product-header-actions {
    justify-content: space-between;
  }

  .admin-save-state {
    max-width: none;
    text-align: left;
  }

  .admin-product-header-actions .button {
    width: auto;
  }

  .admin-product-section-nav {
    top: 68px;
  }

  .admin-product-editor-content {
    padding: 12px;
  }

  .admin-editor-section {
    padding: 16px;
    scroll-margin-top: 130px;
  }

  .admin-editor-section-head,
  .admin-repeater-head,
  .admin-product-sticky-actions {
    display: grid;
  }

  .product-template-grid,
  .admin-channel-grid,
  .admin-product-review-grid,
  .variant-row-grid,
  .admin-key-value-row,
  .admin-highlight-row {
    grid-template-columns: 1fr;
  }

  .product-template-grid button {
    min-height: 94px;
  }

  .variant-row-grid .variant-field:last-child {
    grid-column: auto;
  }

  .admin-key-value-row .button,
  .admin-highlight-row .button {
    width: 100%;
  }

  .admin-product-sticky-actions {
    bottom: 8px;
  }

  .admin-product-sticky-actions .button {
    width: 100%;
  }
}

html[data-theme="light"] {
  color-scheme: light;
  --bg: #f5f8fb;
  --bg-2: #eaf1f7;
  --panel: rgba(255, 255, 255, 0.72);
  --panel-strong: rgba(255, 255, 255, 0.9);
  --text: #07111c;
  --muted: #4d5b68;
  --soft: #5f6b76;
  --line: rgba(8, 20, 32, 0.13);
  --line-strong: rgba(8, 20, 32, 0.22);
  --surface: rgba(255, 255, 255, 0.72);
  --surface-strong: rgba(255, 255, 255, 0.96);
  --surface-hover: rgba(10, 28, 43, 0.075);
  --glass: rgba(255, 255, 255, 0.62);
  --glass-strong: rgba(255, 255, 255, 0.84);
  --header-bg: rgba(247, 251, 255, 0.86);
  --footer-bg: rgba(240, 246, 250, 0.78);
  --field-bg: rgba(255, 255, 255, 0.84);
  --pattern-a: rgba(17, 118, 154, 0.12);
  --pattern-b: rgba(42, 146, 106, 0.11);
  --pattern-c: rgba(180, 112, 35, 0.1);
  --pattern-line: rgba(6, 24, 36, 0.085);
  --hero-text: #334350;
  --cyan: #0074a3;
  --green: #0d7f53;
  --mint: #0d7f53;
  --amber: #9a641e;
  --rose: #c43f67;
  --violet: #5d4fc8;
  --ink: #f8fbfd;
  --shadow: 0 24px 70px rgba(23, 39, 52, 0.18);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  margin: 0;
  background:
    radial-gradient(ellipse at 16% 12%, var(--pattern-a), transparent 34%),
    radial-gradient(ellipse at 86% 18%, var(--pattern-c), transparent 30%),
    linear-gradient(145deg, var(--bg) 0%, var(--bg-2) 52%, var(--bg) 100%);
  color: var(--text);
  line-height: 1.5;
  overflow-x: hidden;
}

body.support-open {
  overflow: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: 0.55;
  background-image:
    linear-gradient(30deg, transparent 0 47px, var(--pattern-line) 48px 49px, transparent 50px 96px),
    linear-gradient(150deg, transparent 0 47px, var(--pattern-line) 48px 49px, transparent 50px 96px),
    radial-gradient(circle at 1px 1px, var(--pattern-line) 1.5px, transparent 2px);
  background-size: 96px 96px, 96px 96px, 24px 24px;
  mask-image: linear-gradient(to bottom, black, rgba(0, 0, 0, 0.64) 54%, transparent 92%);
}

body::after {
  content: "";
  position: fixed;
  left: -10%;
  right: -10%;
  top: 96px;
  z-index: -1;
  height: 260px;
  pointer-events: none;
  opacity: 0.28;
  background:
    linear-gradient(90deg, transparent, var(--pattern-a), var(--pattern-b), var(--pattern-c), transparent),
    repeating-linear-gradient(90deg, transparent 0 42px, var(--pattern-line) 43px 44px, transparent 45px 96px);
  transform: skewY(-5deg);
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 200;
  transform: translateY(-140%);
  padding: 10px 14px;
  border-radius: var(--radius);
  color: var(--ink);
  background: var(--cyan);
  font-weight: 800;
  transition: transform 160ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--line);
  background: var(--header-bg);
  backdrop-filter: blur(18px);
}

.nav {
  width: min(1200px, calc(100% - 40px));
  min-height: 72px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  font-size: 1.02rem;
  font-weight: 820;
  white-space: nowrap;
}

.brand-mark {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(40, 214, 255, 0.34);
  border-radius: var(--radius);
  color: var(--cyan);
  background-color: var(--glass);
  background-image: url("lunaryx-icon.png");
  background-position: center;
  background-size: cover;
  box-shadow: 0 10px 28px rgba(40, 214, 255, 0.18);
  overflow: hidden;
}

.brand-mark svg {
  display: none;
}

.brand-mark::before {
  content: "";
}

.nav-toggle {
  display: none;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--glass);
  font-weight: 780;
}

.nav-toggle-mark,
.nav-toggle-mark::before,
.nav-toggle-mark::after {
  width: 18px;
  height: 2px;
  display: block;
  border-radius: 999px;
  background: currentColor;
  transition: transform 160ms ease, opacity 160ms ease;
}

.nav-toggle-mark {
  position: relative;
}

.nav-toggle-mark::before,
.nav-toggle-mark::after {
  content: "";
  position: absolute;
  left: 0;
}

.nav-toggle-mark::before {
  top: -6px;
}

.nav-toggle-mark::after {
  top: 6px;
}

.nav-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  color: var(--muted);
  font-size: 0.94rem;
}

.nav-link,
.menu-trigger {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
  border: 0;
  border-radius: var(--radius);
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.nav-link:hover,
.nav-link:focus-visible,
.menu-trigger:hover,
.menu-trigger:focus-visible,
.nav-link[aria-current="page"] {
  color: var(--text);
  background: var(--surface-hover);
  outline: none;
}

.cart-link {
  position: relative;
  font-weight: 820;
}

.cart-link svg {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.cart-link.has-items {
  color: var(--text);
  background: var(--surface-hover);
}

.cart-count {
  min-width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
  font-size: 0.72rem;
  line-height: 1;
  font-weight: 900;
}

.cart-count.is-empty {
  color: var(--muted);
  background: var(--glass-strong);
}

.cart-shortcut {
  min-width: 42px;
  min-height: 42px;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--glass);
  font-weight: 850;
}

.cart-shortcut svg {
  width: 20px;
  height: 20px;
}

.cart-shortcut .cart-link-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.theme-toggle {
  min-width: 42px;
  min-height: 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--glass);
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(40, 214, 255, 0.44);
  background: var(--surface-hover);
  outline: none;
}

.theme-toggle svg {
  width: 20px;
  height: 20px;
}

.has-menu {
  position: relative;
}

.menu-trigger::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: 0.8;
}

.nav-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(420px, calc(100vw - 32px));
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-strong);
  box-shadow: var(--shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.has-menu:hover .nav-menu,
.has-menu:focus-within .nav-menu,
.nav-menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.menu-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.menu-card {
  min-height: 78px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px;
  border-radius: var(--radius);
  color: var(--text);
  background: var(--glass);
  transition: background 160ms ease, transform 160ms ease;
}

.menu-card:hover,
.menu-card:focus-visible {
  background: var(--surface-hover);
  transform: translateY(-2px);
  outline: none;
}

.menu-card img {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  object-fit: cover;
}

.menu-card span {
  display: block;
  color: var(--soft);
  font-size: 0.78rem;
}

.header-action {
  min-height: 42px;
  padding: 0 14px;
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
  font-weight: 820;
}

.shell {
  width: min(1200px, calc(100% - 40px));
  margin: 0 auto;
}

.section {
  padding: 86px 0;
  scroll-margin-top: 92px;
}

.section.compact {
  padding: 54px 0;
}

.hero {
  min-height: calc(100svh - 112px);
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(360px, 1.04fr);
  gap: clamp(34px, 6vw, 86px);
  align-items: center;
  padding-top: 34px;
  padding-bottom: 28px;
}

.eyebrow,
.section-kicker,
.label {
  color: var(--green);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
}

.eyebrow::before,
.section-kicker::before {
  content: "";
  width: 28px;
  height: 2px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  background: currentColor;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 12ch;
  margin-bottom: 24px;
  font-size: clamp(3.55rem, 7.1vw, 7.1rem);
  line-height: 0.96;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(105deg, var(--text) 0%, var(--hero-text) 38%, var(--cyan) 61%, var(--green) 90%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 16px 46px rgba(40, 214, 255, 0.18));
}

.brand-title {
  max-width: none;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(3.25rem, 6.2vw, 6.45rem);
  line-height: 1;
  padding-bottom: 0.08em;
}

h2 {
  margin-bottom: 0;
  font-size: clamp(2.1rem, 5vw, 4rem);
  line-height: 1.02;
  letter-spacing: 0;
  text-wrap: balance;
}

h3 {
  margin-bottom: 10px;
  font-size: 1.22rem;
  line-height: 1.18;
}

.hero-copy,
.section-lead,
.lead {
  color: var(--hero-text);
  font-size: clamp(1.06rem, 2vw, 1.28rem);
}

.hero-copy {
  max-width: 660px;
  margin-bottom: 0;
}

.hero > *,
.product-hero > *,
.detail-grid > *,
.market-layout > *,
.contact-grid > * {
  min-width: 0;
}

.hero-actions,
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.button {
  position: relative;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--glass);
  font-weight: 820;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(40, 214, 255, 0.5);
  outline: none;
}

.button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent, var(--glass-strong), transparent);
  transform: translateX(-120%);
  transition: transform 520ms ease;
}

.button:hover::after,
.button:focus-visible::after {
  transform: translateX(120%);
}

.button.primary {
  border-color: transparent;
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
}

.button.secondary {
  color: var(--text);
}

.button.compact {
  min-height: 38px;
  padding: 0 13px;
  font-size: 0.88rem;
}

.button.amazon {
  color: var(--ink);
  background: linear-gradient(135deg, var(--amber), #ffd785);
  border-color: transparent;
}

.button.danger {
  color: #fff;
  border-color: color-mix(in srgb, var(--rose) 58%, transparent);
  background: linear-gradient(135deg, color-mix(in srgb, var(--rose) 88%, #111), #8c1d3b);
}

.button:disabled,
.auth-tab:disabled {
  cursor: not-allowed;
  opacity: 0.56;
  transform: none;
}

.hero-note {
  display: grid;
  gap: 10px;
  max-width: 560px;
  margin-top: 30px;
  color: var(--muted);
}

.hero-note-item {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.hero-note-item::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-top: 8px;
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 0 18px rgba(74, 222, 154, 0.52);
}

.hero-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 720px;
  margin-top: 20px;
}

.hero-trust span {
  min-width: 0;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--hero-text);
  background: var(--glass);
  font-size: 0.9rem;
  font-weight: 780;
  line-height: 1.25;
}

.hero-trust span::before {
  content: "";
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 0 14px rgba(74, 222, 154, 0.42);
}

.shop-hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 780px;
  margin: 28px 0 0;
}

.shop-hero-metrics div {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface-strong) 64%, transparent);
}

.shop-hero-metrics dt {
  color: var(--amber);
  font-size: 0.72rem;
  font-weight: 860;
  text-transform: uppercase;
}

.shop-hero-metrics dd {
  margin: 5px 0 0;
  color: var(--text);
  font-size: 0.92rem;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.product-stage {
  position: relative;
  min-height: 520px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(40, 214, 255, 0.16), transparent 34%),
    linear-gradient(310deg, rgba(244, 184, 95, 0.1), transparent 36%),
    var(--glass);
  box-shadow: var(--shadow);
}

.product-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.44;
  background:
    linear-gradient(30deg, transparent 0 26px, var(--pattern-line) 27px 28px, transparent 29px 56px),
    linear-gradient(150deg, transparent 0 26px, var(--pattern-line) 27px 28px, transparent 29px 56px);
  background-size: 56px 56px;
}

.product-stage::after {
  content: "";
  position: absolute;
  left: -20%;
  right: -20%;
  top: 42%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cyan), var(--green), var(--amber), transparent);
  box-shadow: 0 0 24px rgba(40, 214, 255, 0.48);
}

.stage-grid {
  position: relative;
  z-index: 1;
  min-height: inherit;
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  grid-template-rows: 1fr 0.86fr;
  gap: 14px;
  padding: 16px;
}

.stage-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.3);
}

.stage-apps {
  padding: 16px;
}

.stage-label {
  margin-bottom: 14px;
  color: var(--soft);
  font-size: 0.74rem;
  font-weight: 840;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.stage-app-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.stage-app {
  min-height: 108px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--glass);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.stage-app:hover,
.stage-app:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(40, 214, 255, 0.42);
  background: var(--surface-hover);
  outline: none;
}

.stage-app img,
.app-icon {
  width: 58px;
  height: 58px;
  border-radius: 15px;
  object-fit: cover;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.34);
}

.stage-app span {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  font-size: 0.92rem;
  font-weight: 780;
  overflow-wrap: break-word;
  word-break: break-word;
  line-height: 1.15;
}

.stage-books {
  grid-row: span 2;
  padding: 18px;
  display: grid;
  gap: 14px;
  align-content: start;
}

.stage-book {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-height: 196px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(40, 214, 255, 0.11), transparent 52%),
    var(--glass);
  transition: transform 180ms ease, border-color 180ms ease;
}

.stage-book:hover,
.stage-book:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(74, 222, 154, 0.36);
  outline: none;
}

.book-cover-small,
.book-cover {
  aspect-ratio: 0.696;
  width: 100%;
  border-radius: 6px;
  object-fit: cover;
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.42);
}

.stage-book h2,
.stage-book h3 {
  margin-bottom: 8px;
  font-size: 1.18rem;
}

.stage-book p,
.stage-signal p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.stage-signal {
  padding: 16px;
  display: grid;
  align-content: center;
  gap: 12px;
}

.signal-row {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.signal-bar {
  height: 7px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--glass-strong);
}

.signal-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--cyan), var(--green), var(--amber));
}

.signal-90 span {
  width: 90%;
}

.signal-74 span {
  width: 74%;
}

.signal-62 span {
  width: 62%;
}

.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: -12px 0 22px;
}

.filter-chip {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--glass);
  cursor: pointer;
  font-weight: 780;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.filter-chip:hover,
.filter-chip:focus-visible,
.filter-chip.is-active {
  transform: translateY(-2px);
  border-color: rgba(40, 214, 255, 0.46);
  background: var(--surface-hover);
  outline: none;
}

.filter-chip.is-active {
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
}

.marketplace-grid {
  align-items: stretch;
}

.market-card.is-hidden {
  display: none;
}

.is-hidden {
  display: none !important;
}

.market-thumb {
  flex: 0 0 auto;
  object-fit: cover;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.34);
}

.market-thumb.app {
  width: 68px;
  height: 68px;
  border-radius: 17px;
}

.market-thumb.book {
  width: 56px;
  height: 82px;
  border-radius: 6px;
  object-fit: contain;
  object-position: center top;
  background: var(--glass);
}

.market-card {
  justify-content: space-between;
}

.market-card .tag-list {
  margin-top: 0;
}

.card-link-cue {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: auto;
  color: var(--cyan);
  font-size: 0.9rem;
  font-weight: 850;
}

.card-link-cue::after {
  content: ">";
  margin-left: 8px;
  color: var(--green);
}

.shop-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
}

.shop-card {
  display: grid;
  grid-template-columns: minmax(150px, 0.26fr) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: stretch;
  padding: clamp(18px, 2.2vw, 28px);
  overflow: hidden;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.shop-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--cyan), var(--green));
}

.shop-card:hover,
.shop-card:focus-within {
  transform: translateY(-4px);
  border-color: rgba(40, 214, 255, 0.34);
  background: var(--surface-hover);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.28);
}

.shop-card > * {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.shop-card-media {
  min-width: 0;
  display: grid;
  gap: 12px;
  align-content: start;
  justify-items: center;
}

.shop-cover {
  display: block;
  align-self: start;
  justify-self: center;
  width: 100%;
  height: auto;
  max-height: 252px;
  object-fit: contain;
  object-position: center;
  background: var(--glass);
  border-radius: 6px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.34);
}

.shop-media-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--soft);
  background: var(--field-bg);
  font-size: 0.78rem;
  font-weight: 840;
  text-transform: uppercase;
}

.shop-card-body {
  min-width: 0;
  display: grid;
  gap: 14px;
  align-content: start;
}

.shop-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
}

.shop-card h2 {
  margin: 8px 0 0;
  font-size: clamp(1.45rem, 3vw, 2.15rem);
}

.shop-card p {
  margin-bottom: 0;
  color: var(--muted);
}

.shop-summary {
  max-width: 74ch;
}

.shop-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.shop-price {
  width: fit-content;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border: 1px solid rgba(74, 222, 154, 0.24);
  border-radius: var(--radius);
  color: var(--text);
  background: color-mix(in srgb, var(--green) 9%, transparent);
  font-size: 1.2rem;
  font-weight: 860;
}

.shop-availability {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0 10px;
  border: 1px solid color-mix(in srgb, var(--mint) 32%, var(--line));
  border-radius: var(--radius);
  color: var(--mint);
  background: color-mix(in srgb, var(--mint) 9%, var(--field-bg));
  font-size: 0.82rem;
  font-weight: 860;
}

.shop-availability[data-availability="low"] {
  border-color: color-mix(in srgb, var(--amber) 46%, var(--line));
  color: var(--amber);
  background: color-mix(in srgb, var(--amber) 10%, var(--field-bg));
}

.shop-availability[data-availability="sold-out"] {
  border-color: color-mix(in srgb, var(--rose) 44%, var(--line));
  color: var(--rose);
  background: color-mix(in srgb, var(--rose) 10%, var(--field-bg));
}

.shop-availability[data-availability="digital"] {
  border-color: color-mix(in srgb, var(--cyan) 40%, var(--line));
  color: var(--cyan);
  background: color-mix(in srgb, var(--cyan) 9%, var(--field-bg));
}

.shop-card-note {
  margin-top: -4px;
  color: var(--soft);
  font-size: 0.9rem;
}

.shop-purchase-panel,
.product-buy-panel {
  display: grid;
  gap: 14px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.product-shop-section {
  margin-top: -18px;
}

.product-buy-panel {
  padding: clamp(18px, 2.6vw, 28px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 48%),
    var(--surface);
}

.product-buy-panel-head,
.shop-purchase-top {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.product-buy-panel-head h2 {
  margin: 4px 0;
  font-size: clamp(1.5rem, 2.5vw, 2.2rem);
}

.product-store-buy .product-buy-panel-head {
  gap: 8px;
}

.product-store-buy .product-buy-panel-head h2 {
  max-width: none;
  font-size: clamp(1.95rem, 2.5vw, 2.6rem);
  line-height: 1.02;
}

.product-store-buy .product-buy-panel-head .fineprint {
  max-width: 34ch;
  font-size: 0.95rem;
  line-height: 1.45;
}

.shop-purchase-top {
  align-items: center;
}

.product-store-buy .shop-purchase-top {
  gap: 10px;
  align-items: center;
  padding: 12px 0 2px;
}

.product-store-buy .shop-price {
  font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.product-store-buy .shop-availability {
  margin-left: auto;
  white-space: nowrap;
}

.shop-variant-select-field {
  display: grid;
  gap: 7px;
  color: var(--text);
  font-weight: 840;
}

.shop-variant-select-field select,
.shop-variant-select-field .variant-single {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--field-bg);
  padding: 0 12px;
  outline: none;
  min-width: 0;
}

.shop-variant-select-field select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 23px,
    calc(100% - 12px) 23px;
  background-size: 6px 6px;
  background-repeat: no-repeat;
  padding-right: 34px;
  font-size: 0.96rem;
  font-weight: 780;
  text-overflow: ellipsis;
}

.shop-variant-select-field select:focus {
  border-color: rgba(40, 214, 255, 0.52);
  box-shadow: 0 0 0 3px rgba(40, 214, 255, 0.12);
}

.shop-variant-select-field > span,
.variant-single {
  color: var(--soft);
  font-size: 0.82rem;
  font-weight: 820;
  text-transform: uppercase;
}

.variant-single {
  display: inline-flex;
  align-items: center;
  margin: 0;
  text-transform: none;
}

.shop-variant-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.shop-variant-facts div {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface-strong) 70%, transparent);
}

.shop-variant-facts dt {
  color: var(--soft);
  font-size: 0.72rem;
  font-weight: 840;
  text-transform: uppercase;
}

.shop-variant-facts dd {
  margin: 0;
  color: var(--text);
  font-size: 0.9rem;
  font-weight: 780;
  overflow-wrap: anywhere;
}

.product-store-buy .shop-variant-facts {
  grid-template-columns: 1fr;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}

.product-store-buy .shop-variant-facts div {
  grid-template-columns: minmax(92px, 0.32fr) minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  padding: 11px 12px;
  border: 0;
  border-radius: 0;
  background: color-mix(in srgb, var(--surface) 76%, transparent);
}

.product-store-buy .shop-variant-facts div + div {
  border-top: 1px solid var(--line);
}

.product-store-buy .shop-variant-facts dt {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.product-store-buy .shop-variant-facts dd {
  font-size: 0.92rem;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.shop-quantity-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  color: var(--soft);
  font-size: 0.84rem;
  font-weight: 840;
  text-transform: uppercase;
}

.shop-quantity-control {
  display: grid;
  grid-template-columns: 42px 64px 42px;
  gap: 8px;
  align-items: center;
}

.product-store-buy .shop-quantity-control {
  grid-template-columns: 44px 70px 44px;
}

.shop-quantity-control .button {
  min-height: 42px;
  padding: 0;
}

.shop-quantity-control input {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--field-bg);
  text-align: center;
  font-weight: 860;
}

.shop-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 10px;
}

.shop-actions .button {
  width: 100%;
}

.variant-picker {
  display: grid;
  gap: 10px;
  margin: 16px 0 18px;
}

.variant-picker-label,
.variant-single {
  color: var(--soft);
  font-size: 0.82rem;
  font-weight: 820;
  text-transform: uppercase;
}

.variant-single {
  margin: 0;
  text-transform: none;
}

.variant-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.variant-option {
  min-width: 0;
  min-height: 74px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--field-bg);
  text-align: left;
  cursor: pointer;
}

.variant-option strong,
.variant-option span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.variant-option span {
  color: var(--muted);
  font-size: 0.78rem;
}

.variant-option[aria-pressed="true"] {
  border-color: rgba(40, 214, 255, 0.5);
  background:
    linear-gradient(135deg, rgba(40, 214, 255, 0.14), rgba(74, 222, 154, 0.08)),
    var(--surface);
}

.variant-option:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.checkout-preview {
  display: grid;
  gap: 12px;
}

.checkout-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}

.checkout-row strong {
  color: var(--text);
}

.checkout-row.total {
  padding-top: 16px;
  border-bottom: 0;
  color: var(--text);
  font-size: 1.08rem;
}

.checkout-section {
  scroll-margin-top: 88px;
}

.checkout-head {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(430px, 0.72fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
  margin-bottom: 16px;
  padding: clamp(24px, 4vw, 44px);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background:
    radial-gradient(circle at 8% 10%, color-mix(in srgb, var(--cyan) 18%, transparent), transparent 36%),
    linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 96%, transparent), color-mix(in srgb, var(--surface) 80%, transparent));
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.25);
}

.checkout-head::after {
  content: "";
  position: absolute;
  right: -110px;
  top: -150px;
  width: 360px;
  height: 360px;
  border: 1px solid color-mix(in srgb, var(--cyan) 16%, transparent);
  border-radius: 50%;
  box-shadow:
    0 0 0 34px color-mix(in srgb, var(--cyan) 3%, transparent),
    0 0 0 78px color-mix(in srgb, var(--green) 2%, transparent);
  pointer-events: none;
}

.checkout-head > * {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.checkout-head-copy h2 {
  max-width: 12ch;
  margin: 0 0 14px;
  font-size: clamp(2.6rem, 5.4vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.checkout-head-copy p {
  max-width: 62ch;
  margin: 0;
  color: var(--hero-text);
  font-size: clamp(1rem, 1.6vw, 1.12rem);
}

.checkout-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 8px;
  list-style: none;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-strong) 76%, transparent);
  backdrop-filter: blur(16px);
}

.checkout-progress li {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 10px;
  color: var(--soft);
  border-radius: 11px;
}

.checkout-progress li + li::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 18%;
  bottom: 18%;
  width: 1px;
  background: var(--line);
}

.checkout-progress li.is-current {
  color: var(--text);
  background: color-mix(in srgb, var(--cyan) 9%, var(--glass));
}

.checkout-progress li.is-complete {
  color: var(--green);
}

.checkout-step-number {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--muted);
  background: var(--field-bg);
  font-size: 0.82rem;
  font-weight: 900;
}

.checkout-progress li.is-current .checkout-step-number {
  border-color: transparent;
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
  box-shadow: 0 8px 26px color-mix(in srgb, var(--cyan) 22%, transparent);
}

.checkout-progress li.is-complete .checkout-step-number {
  border-color: color-mix(in srgb, var(--green) 42%, transparent);
  color: var(--green);
  background: color-mix(in srgb, var(--green) 10%, var(--field-bg));
}

.checkout-progress li > span:last-child {
  min-width: 0;
  display: grid;
  line-height: 1.1;
}

.checkout-progress small {
  color: inherit;
  font-size: 0.64rem;
  font-weight: 820;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.checkout-progress strong {
  margin-top: 4px;
  color: inherit;
  font-size: 0.88rem;
  overflow-wrap: anywhere;
}

.checkout-session-note {
  display: flex;
  gap: 13px;
  align-items: center;
  margin-bottom: 24px;
  padding: 13px 16px;
  border: 1px solid color-mix(in srgb, var(--cyan) 24%, var(--line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--cyan) 5%, var(--surface));
}

.checkout-session-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--cyan);
  background: color-mix(in srgb, var(--cyan) 11%, var(--field-bg));
}

.checkout-session-icon svg {
  width: 21px;
  height: 21px;
}

.checkout-session-note strong {
  display: block;
  color: var(--text);
  font-size: 0.83rem;
}

.checkout-session-note p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(380px, 0.78fr);
  grid-template-areas: "form summary";
  gap: 24px;
  align-items: start;
}

.checkout-section.is-cart-empty .checkout-layout {
  grid-template-columns: minmax(0, 720px);
  grid-template-areas:
    "summary"
    "form";
  justify-content: center;
}

.checkout-section.is-cart-empty .checkout-form {
  display: none;
}

.order-card-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.admin-form-head h2,
.account-orders h2,
.account-address-form h2 {
  font-size: clamp(1.28rem, 2vw, 1.8rem);
}

.info-panel.cart-panel {
  grid-area: summary;
  position: sticky;
  top: 92px;
  max-height: calc(100vh - 112px);
  padding: clamp(18px, 2.5vw, 26px);
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 20px;
  background:
    linear-gradient(155deg, color-mix(in srgb, var(--cyan) 6%, transparent), transparent 32%),
    color-mix(in srgb, var(--surface-strong) 92%, transparent);
  box-shadow: 0 28px 76px rgba(0, 0, 0, 0.26);
  scrollbar-width: thin;
  scrollbar-color: var(--line-strong) transparent;
}

.checkout-section.is-cart-empty .cart-panel {
  position: static;
  max-height: none;
}

.checkout-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.checkout-panel-head h2 {
  margin: 0 0 6px;
  font-size: clamp(1.55rem, 2.4vw, 2.05rem);
}

.cart-panel-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  color: var(--soft);
  font-size: 0.79rem;
  font-weight: 720;
}

.cart-clear-button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  padding: 0 9px;
  border: 0;
  border-radius: 9px;
  color: var(--soft);
  background: transparent;
  font-size: 0.8rem;
  font-weight: 780;
  cursor: pointer;
  transition: color 160ms ease, background 160ms ease;
}

.cart-clear-button:hover,
.cart-clear-button:focus-visible {
  color: var(--rose);
  background: color-mix(in srgb, var(--rose) 9%, transparent);
  outline: none;
}

.cart-clear-button:disabled {
  opacity: 0;
  pointer-events: none;
}

.cart-clear-button svg {
  width: 17px;
  height: 17px;
}

.cart-items {
  display: grid;
  gap: 10px;
}

.orders-list,
.order-lines {
  display: grid;
  gap: 12px;
}

.cart-item {
  min-width: 0;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  gap: 12px 14px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--line) 88%, transparent);
  border-radius: 15px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--cyan) 4%, transparent), transparent 52%),
    color-mix(in srgb, var(--glass) 82%, transparent);
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.cart-item:hover,
.cart-item:focus-within {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--cyan) 32%, var(--line));
  background: color-mix(in srgb, var(--surface-hover) 88%, var(--glass));
}

.cart-item > img {
  grid-row: 1 / span 2;
  width: 70px;
  height: 98px;
  object-fit: contain;
  object-position: center top;
  border: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
  border-radius: 7px;
  background: var(--field-bg);
  box-shadow: 0 13px 28px rgba(0, 0, 0, 0.3);
}

.cart-item-main {
  min-width: 0;
}

.cart-item h3 {
  margin: 0;
  color: var(--text);
  font-size: 0.97rem;
  line-height: 1.3;
}

.cart-item h3 a {
  display: inline;
  text-decoration: none;
}

.cart-item h3 a:hover,
.cart-item h3 a:focus-visible {
  color: var(--cyan);
  outline: none;
}

.cart-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 9px;
  align-items: center;
  margin-top: 7px;
  color: var(--soft);
  font-size: 0.76rem;
  font-weight: 720;
}

.cart-item-variant {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border: 1px solid color-mix(in srgb, var(--cyan) 28%, var(--line));
  border-radius: 999px;
  color: var(--cyan);
  background: color-mix(in srgb, var(--cyan) 7%, transparent);
  font-weight: 830;
}

.cart-item-price {
  align-self: start;
  color: var(--text);
  font-size: 1rem;
  white-space: nowrap;
}

.cart-variant-note {
  position: relative;
  margin: 9px 0 0;
  padding-left: 13px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.4;
}

.cart-variant-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.48em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--green) 10%, transparent);
}

.cart-variant-note.is-low::before {
  background: var(--amber);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--amber) 10%, transparent);
}

.cart-variant-note.is-sold-out::before {
  background: var(--rose);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rose) 10%, transparent);
}

.cart-controls {
  grid-column: 2 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 14px;
  align-items: end;
}

.cart-quantity-control {
  display: flex;
  gap: 9px;
  align-items: center;
}

.cart-control-label {
  color: var(--soft);
  font-size: 0.76rem;
  font-weight: 780;
}

.cart-quantity-stepper {
  display: grid;
  grid-template-columns: 40px 38px 40px;
  align-items: center;
  min-height: 40px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--field-bg);
}

.cart-quantity-button {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  color: var(--text);
  background: transparent;
  font-size: 1.2rem;
  font-weight: 720;
  cursor: pointer;
  transition: color 160ms ease, background 160ms ease;
}

.cart-quantity-button:hover,
.cart-quantity-button:focus-visible {
  color: var(--cyan);
  background: var(--surface-hover);
  outline: none;
}

.cart-quantity-button:disabled {
  color: var(--soft);
  opacity: 0.38;
  cursor: not-allowed;
}

.cart-quantity-value {
  min-width: 38px;
  display: grid;
  place-items: center;
  color: var(--text);
  font-size: 0.9rem;
  font-weight: 880;
  text-align: center;
}

.cart-remove-button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 7px;
  border: 0;
  border-radius: 9px;
  color: var(--soft);
  background: transparent;
  font-size: 0.78rem;
  font-weight: 780;
  cursor: pointer;
  transition: color 160ms ease, background 160ms ease;
}

.cart-remove-button:hover,
.cart-remove-button:focus-visible {
  color: var(--rose);
  background: color-mix(in srgb, var(--rose) 8%, transparent);
  outline: none;
}

.cart-remove-button svg {
  width: 17px;
  height: 17px;
}

.cart-empty-state {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 22px;
  border: 1px dashed color-mix(in srgb, var(--cyan) 28%, var(--line));
  border-radius: 16px;
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 42%),
    var(--glass);
}

.cart-empty-visual {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--cyan) 28%, var(--line));
  border-radius: 18px;
  color: var(--cyan);
  background: color-mix(in srgb, var(--cyan) 7%, var(--field-bg));
}

.cart-empty-visual svg {
  width: 36px;
  height: 36px;
}

.cart-empty-copy h3 {
  margin: 0 0 7px;
  color: var(--text);
  font-size: 1.05rem;
}

.cart-empty-copy p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 0.88rem;
}

.cart-empty-state .button {
  width: fit-content;
}

.cart-summary-card {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--field-bg) 76%, transparent);
}

.cart-panel.is-empty .cart-summary-card,
.cart-panel.is-empty .checkout-info-stack {
  display: none;
}

.cart-totals {
  display: grid;
  gap: 1px;
  margin: 0;
}

.cart-totals [hidden] {
  display: none !important;
}

.cart-totals .checkout-row {
  align-items: baseline;
  padding: 8px 0;
  border: 0;
  color: var(--muted);
  font-size: 0.88rem;
}

.cart-totals dt,
.cart-totals dd {
  margin: 0;
}

.cart-totals dd {
  text-align: right;
}

.cart-totals .checkout-row.total {
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid var(--line-strong);
  color: var(--text);
  font-size: 1rem;
}

.cart-totals .checkout-row.total strong {
  font-size: clamp(1.3rem, 2.2vw, 1.62rem);
  letter-spacing: -0.025em;
}

.cart-discount-value {
  color: var(--green) !important;
}

.cart-total-note {
  margin: 8px 0 0;
  color: var(--soft);
  font-size: 0.75rem;
  line-height: 1.45;
}

.cart-message {
  margin: 12px 0 0;
}

.cart-message:empty {
  display: none;
}

.cart-checkout-cta {
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 20px;
  gap: 10px;
  justify-content: stretch;
  margin-top: 16px;
  padding: 0 16px 0 18px;
  text-align: left;
}

.cart-checkout-cta > span {
  min-width: 0;
}

.cart-checkout-cta > strong {
  white-space: nowrap;
}

.cart-checkout-cta svg {
  width: 20px;
  height: 20px;
}

.cart-login-cta {
  width: 100%;
  margin-top: 12px;
}

.cart-payment-assurance {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-top: 14px;
  color: var(--green);
}

.cart-payment-assurance svg {
  width: 26px;
  height: 26px;
  padding: 4px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--green) 9%, transparent);
}

.cart-payment-assurance span {
  display: grid;
  min-width: 0;
}

.cart-payment-assurance strong {
  color: var(--text);
  font-size: 0.8rem;
}

.cart-payment-assurance small {
  color: var(--soft);
  font-size: 0.7rem;
}

.checkout-info-stack {
  display: grid;
  gap: 0;
  margin-top: 14px;
  border-top: 1px solid var(--line);
}

.checkout-info-block {
  min-width: 0;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.checkout-info-block h3 {
  margin: 0 0 6px;
  color: var(--text);
  font-size: 0.94rem;
}

.checkout-info-block p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.checkout-info-block a {
  color: var(--cyan);
  font-weight: 820;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.cart-panel details.checkout-info-block {
  padding: 0;
}

.cart-panel .checkout-info-block summary {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 18px;
  gap: 10px;
  align-items: center;
  min-height: 52px;
  padding: 8px 2px;
  color: var(--text);
  font-size: 0.84rem;
  font-weight: 820;
  list-style: none;
  cursor: pointer;
}

.cart-panel .checkout-info-block summary::-webkit-details-marker {
  display: none;
}

.cart-panel .checkout-info-block summary::after {
  content: "+";
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: var(--soft);
  font-size: 1.05rem;
  font-weight: 500;
  transition: transform 160ms ease, color 160ms ease;
}

.cart-panel .checkout-info-block[open] summary::after {
  color: var(--cyan);
  transform: rotate(45deg);
}

.cart-panel .checkout-info-block summary:focus-visible {
  border-radius: 8px;
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}

.checkout-info-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--cyan);
  background: var(--field-bg);
  font-size: 0.62rem;
  font-weight: 900;
}

.checkout-info-copy {
  display: grid;
  gap: 8px;
  padding: 0 30px 14px 40px;
}

.cart-panel .checkout-info-copy p {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.5;
}

.form-panel.checkout-form {
  grid-area: form;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 20px;
  background:
    linear-gradient(150deg, color-mix(in srgb, var(--cyan) 5%, transparent), transparent 28%),
    color-mix(in srgb, var(--panel) 94%, transparent);
  box-shadow: 0 28px 76px rgba(0, 0, 0, 0.23);
}

.checkout-form-head {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: clamp(22px, 3.5vw, 32px);
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface-strong) 54%, transparent);
}

.checkout-form-step {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
  box-shadow: 0 14px 34px color-mix(in srgb, var(--cyan) 18%, transparent);
  font-size: 1.05rem;
  font-weight: 900;
}

.checkout-form-head h2 {
  margin: 0 0 7px;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  letter-spacing: -0.025em;
}

.checkout-form-head .section-kicker {
  margin-bottom: 6px;
}

.checkout-form-head p {
  max-width: 62ch;
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.checkout-required-note {
  margin-top: 9px !important;
  color: var(--soft) !important;
  font-size: 0.75rem !important;
}

.checkout-required-note span,
.checkout-form .form-field label > span {
  color: var(--green);
}

.checkout-form-body {
  display: grid;
  gap: 18px;
  padding: clamp(20px, 3.5vw, 32px);
}

.checkout-gate {
  display: none;
}

.checkout-form.is-checkout-locked .checkout-gate {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin: clamp(20px, 3.5vw, 32px);
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid color-mix(in srgb, var(--cyan) 28%, var(--line));
  border-radius: 17px;
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 45%),
    var(--field-bg);
}

.checkout-form.is-checkout-locked .checkout-form-body {
  display: none;
}

.checkout-gate-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--cyan) 30%, var(--line));
  border-radius: 17px;
  color: var(--cyan);
  background: color-mix(in srgb, var(--cyan) 8%, var(--glass));
}

.checkout-gate-icon svg {
  width: 28px;
  height: 28px;
}

.checkout-gate .section-kicker {
  margin-bottom: 5px;
}

.checkout-gate h3 {
  margin: 0 0 7px;
  font-size: clamp(1.2rem, 2.3vw, 1.55rem);
}

.checkout-gate p {
  margin: 0;
  color: var(--muted);
}

.checkout-gate-link {
  width: fit-content;
  margin-top: 16px;
}

.checkout-form .form-fieldset {
  gap: 16px;
  padding: 22px;
  border-color: var(--line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--field-bg) 68%, transparent);
}

.checkout-form .form-fieldset legend {
  margin-left: -3px;
  padding: 0 9px;
  color: var(--green);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}

.checkout-form .form-field label {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px;
  color: var(--text);
  font-size: 0.84rem;
  font-weight: 790;
}

.checkout-form .form-field label small {
  color: var(--soft);
  font-size: 0.72rem;
  font-weight: 680;
}

.checkout-form .form-field input,
.checkout-form .form-field select {
  min-height: 52px;
  border-radius: 12px;
  background-color: color-mix(in srgb, var(--surface-strong) 76%, var(--field-bg));
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.checkout-form .form-field input:hover,
.checkout-form .form-field select:hover {
  border-color: var(--line-strong);
}

.checkout-choice-card {
  min-height: 68px;
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--field-bg) 72%, transparent);
  cursor: pointer;
}

.checkout-choice-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--green) 38%, var(--line));
  background: color-mix(in srgb, var(--green) 7%, var(--field-bg));
}

.checkout-choice-card input {
  flex: 0 0 auto;
  margin-top: 3px;
}

.checkout-choice-card > span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.checkout-choice-card strong {
  color: var(--text);
  font-size: 0.88rem;
}

.checkout-choice-card small {
  color: var(--soft);
  font-size: 0.76rem;
  font-weight: 650;
}

.checkout-options-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.9fr);
  gap: 14px;
  align-items: stretch;
}

.checkout-coupon {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--field-bg) 72%, transparent);
}

.invoice-options.is-single-option .invoice-tax-options {
  gap: 0;
}

.invoice-tax-options.is-single-option .invoice-tax-option {
  grid-template-columns: 1fr;
  padding: 14px;
  border-color: color-mix(in srgb, var(--green) 28%, var(--line));
  background: color-mix(in srgb, var(--green) 6%, var(--glass));
  cursor: default;
}

.invoice-tax-options.is-single-option .invoice-tax-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.checkout-consent {
  display: grid;
  gap: 8px;
}

.checkout-terms {
  min-height: 0;
  align-items: flex-start;
  padding: 16px;
  border-radius: 14px;
  font-size: 0.82rem;
  font-weight: 680;
  line-height: 1.5;
}

.checkout-terms input {
  flex: 0 0 auto;
  margin-top: 3px;
}

.checkout-terms a {
  color: var(--cyan);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.checkout-consent > .fineprint {
  margin: 0 4px;
  color: var(--soft);
  font-size: 0.74rem;
}

.checkout-trust {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--green) 6%, transparent), transparent 58%),
    var(--glass);
}

.checkout-trust h3 {
  margin: 0 0 14px;
  font-size: 0.95rem;
}

.checkout-trust ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.checkout-trust li {
  min-width: 0;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.checkout-trust li > span:first-child {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--green);
  background: color-mix(in srgb, var(--green) 11%, var(--field-bg));
  font-size: 0.72rem;
  font-weight: 900;
}

.checkout-trust li > span:last-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.checkout-trust strong {
  color: var(--text);
  font-size: 0.78rem;
}

.checkout-trust small {
  color: var(--soft);
  font-size: 0.7rem;
  line-height: 1.35;
}

.checkout-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.checkout-actions .button.primary {
  min-height: 58px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 0 18px;
}

.checkout-actions .button.primary svg {
  width: 20px;
  height: 20px;
}

.checkout-action-note {
  display: flex;
  justify-content: center;
  gap: 8px;
  align-items: center;
  margin: -6px 0 0;
  color: var(--soft);
  font-size: 0.74rem;
  text-align: center;
}

.checkout-action-note svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  color: var(--green);
}

.checkout-return-next {
  margin-top: 20px;
}

.form-fieldset {
  display: grid;
  gap: 14px;
  min-width: 0;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.form-fieldset legend {
  padding: 0 8px;
  color: var(--green);
  font-size: 0.82rem;
  font-weight: 850;
  text-transform: uppercase;
}

.invoice-tax-options {
  display: grid;
  gap: 10px;
}

.invoice-tax-option {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--glass);
  cursor: pointer;
}

.invoice-tax-option:has(input:checked) {
  border-color: rgba(40, 214, 255, 0.5);
  background:
    linear-gradient(135deg, rgba(40, 214, 255, 0.12), rgba(74, 222, 154, 0.07)),
    var(--surface);
}

.invoice-tax-option input {
  margin-top: 3px;
}

.invoice-tax-option span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.invoice-tax-option strong,
.invoice-tax-option small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.invoice-tax-option small {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.check-control.wide {
  grid-column: 1 / -1;
}

.support-widget {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 260;
  width: min(390px, calc(100vw - 40px));
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.support-toggle,
.support-panel {
  pointer-events: auto;
}

.support-toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 118px;
  min-height: 44px;
  margin-left: auto;
  padding: 0 18px;
  border: 1px solid rgba(40, 214, 255, 0.42);
  border-radius: 999px;
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
  box-shadow: var(--shadow);
  font-weight: 900;
  cursor: pointer;
}

.support-panel {
  position: absolute;
  right: 0;
  bottom: 58px;
  display: grid;
  gap: 14px;
  width: 100%;
  max-height: min(680px, calc(100vh - 110px));
  padding: 16px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-strong);
  box-shadow: var(--shadow);
}

.support-panel[hidden] {
  display: none;
}

.support-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.support-panel-head h2 {
  margin-bottom: 2px;
  font-size: 1.15rem;
}

.support-panel-head p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}

.support-close {
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--text);
  background: var(--field-bg);
  font-weight: 900;
  cursor: pointer;
}

.support-form {
  display: grid;
  gap: 10px;
}

.support-form label {
  display: grid;
  gap: 6px;
  color: var(--soft);
  font-size: 0.78rem;
  font-weight: 800;
}

.support-form input,
.support-form textarea {
  width: 100%;
  min-width: 0;
}

.support-form textarea {
  resize: vertical;
}

.support-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.support-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.cart-toast {
  position: fixed;
  right: 20px;
  top: 90px;
  z-index: 280;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  width: min(420px, calc(100vw - 40px));
  padding: 13px 14px;
  border: 1px solid color-mix(in srgb, var(--green) 30%, var(--line));
  border-radius: 14px;
  color: var(--text);
  background: color-mix(in srgb, var(--surface-strong) 96%, transparent);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.34);
  backdrop-filter: blur(20px);
  opacity: 0;
  transform: translateY(-10px) scale(0.98);
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease;
}

.cart-toast[hidden] {
  display: none;
}

.cart-toast.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.cart-toast-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
  font-size: 0.78rem;
  font-weight: 900;
}

.cart-toast-message {
  min-width: 0;
  font-size: 0.88rem;
  font-weight: 760;
}

.cart-toast a,
.cart-toast-action {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border: 0;
  border-radius: 8px;
  color: var(--green);
  background: transparent;
  font-size: 0.8rem;
  font-weight: 850;
  white-space: nowrap;
  cursor: pointer;
}

.cart-toast a:hover,
.cart-toast a:focus-visible,
.cart-toast-action:hover,
.cart-toast-action:focus-visible {
  background: color-mix(in srgb, var(--green) 9%, transparent);
  outline: none;
}

body:has([data-shop-checkout]) .support-toggle {
  width: 50px;
  min-width: 50px;
  height: 50px;
  padding: 0;
  border-radius: 50%;
  font-size: 0;
}

body:has([data-shop-checkout]) .support-toggle::before {
  content: "?";
  font-size: 1rem;
  font-weight: 950;
}

.account-shop {
  display: grid;
  gap: 18px;
  margin-top: 22px;
}

.account-shop-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.account-address-mode {
  width: fit-content;
  max-width: 100%;
  padding: 12px 14px;
  background: var(--surface);
}

.account-shop-grid.addresses-same {
  grid-template-columns: minmax(0, 1fr);
}

.account-shop-grid.addresses-same .account-address-form[data-address-form="billing"] {
  max-width: 880px;
}

.account-shop-grid.addresses-same .account-address-form[data-address-form="shipping"][hidden] {
  display: none;
}

.account-address-form,
.account-orders,
.order-card {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--glass);
}

.order-card {
  display: grid;
  gap: 16px;
  padding: 22px;
}

.order-card h3 {
  margin-bottom: 0;
}

.order-card-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.28fr);
  gap: 18px;
  align-items: start;
}

.order-card-main {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.order-card .order-card-head {
  margin-bottom: 0;
  align-items: center;
}

.order-card-title {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.order-card-product {
  margin: 0;
  color: var(--text);
  font-weight: 820;
  overflow-wrap: anywhere;
}

.account-order-meta {
  margin: 0;
  padding: 0;
}

.order-card-side {
  min-width: 220px;
  display: grid;
  gap: 10px;
  justify-items: stretch;
  align-content: start;
}

.account-order-status {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--soft);
  background: var(--field-bg);
  font-size: 0.9rem;
  font-weight: 760;
}

.account-order-status[hidden] {
  display: none;
}

.account-order-status.is-ok {
  border-color: color-mix(in srgb, var(--mint) 44%, transparent);
  color: var(--ink);
  background: color-mix(in srgb, var(--mint) 12%, var(--field-bg));
}

.account-order-status.is-error {
  border-color: color-mix(in srgb, var(--rose) 44%, transparent);
  color: var(--ink);
  background: color-mix(in srgb, var(--rose) 12%, var(--field-bg));
}

.account-order-actions,
.account-order-line-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.account-order-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.account-order-actions .button,
.order-purchase-actions .button,
.account-order-action-note {
  min-height: 42px;
}

.order-purchase-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.order-purchase-item {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cyan) 5%, transparent), transparent 50%),
    color-mix(in srgb, var(--surface-strong) 72%, transparent);
}

.order-purchase-main {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.order-purchase-title,
.order-purchase-price {
  color: var(--text);
  overflow-wrap: anywhere;
}

.order-purchase-meta {
  color: var(--soft);
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.order-purchase-side {
  display: grid;
  grid-template-columns: auto auto;
  gap: 12px;
  align-items: center;
  justify-content: end;
}

.order-purchase-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.order-review-panels {
  display: grid;
  gap: 10px;
}

.account-order-action-note {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--soft);
  background: var(--field-bg);
  font-size: 0.8rem;
  font-weight: 780;
}

.account-order-line {
  align-items: flex-start;
  padding: 14px 0;
}

.account-order-line-main {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.account-order-line-main strong {
  color: var(--text);
}

.account-order-line-main span {
  color: var(--soft);
  overflow-wrap: anywhere;
}

.account-order-line-side {
  display: grid;
  justify-items: end;
  gap: 8px;
  text-align: right;
}

.account-order-line-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
}

.account-order-panel {
  margin: 6px 0 12px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--cyan) 24%, var(--line));
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 48%),
    var(--surface);
}

.account-order-panel[hidden] {
  display: none;
}

.account-order-panel h4 {
  margin: 0;
}

.account-order-panel .review-form {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.account-order-panel-note {
  display: grid;
  gap: 6px;
}

.order-status-paid,
.order-status-fulfilled {
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
}

.order-status-pending {
  color: var(--ink);
  background: linear-gradient(135deg, var(--amber), #ffd785);
}

.order-status-failed,
.order-status-cancelled,
.order-status-refunded {
  color: var(--text);
  background: var(--surface-hover);
}

.buy-action {
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(280px, 0.58fr);
  gap: 36px;
  align-items: end;
  margin-bottom: 36px;
}

.section-kicker {
  display: block;
  margin-bottom: 10px;
  color: var(--amber);
}

.section-lead {
  margin-bottom: 0;
}

.grid {
  display: grid;
  gap: 16px;
}

.grid.apps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.card,
.product-card,
.book-card,
.info-panel,
.form-panel {
  position: relative;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.22);
}

.product-card {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px;
  overflow: hidden;
  transition: transform 200ms ease, border-color 200ms ease, background 200ms ease, box-shadow 200ms ease;
}

.product-card::before,
.book-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--cyan), var(--green));
}

.product-card::after {
  content: "";
  position: absolute;
  inset: auto -24% -50px 22%;
  height: 88px;
  opacity: 0.14;
  background:
    repeating-linear-gradient(90deg, transparent 0 18px, rgba(255, 255, 255, 0.14) 19px 20px),
    linear-gradient(90deg, var(--cyan), var(--green));
  transform: skewX(-22deg);
  transition: transform 260ms ease, opacity 260ms ease;
}

.product-card:hover,
.product-card:focus-within,
.book-card:hover,
.book-card:focus-within {
  transform: translateY(-7px);
  border-color: rgba(40, 214, 255, 0.36);
  background: var(--surface-hover);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.3);
}

.product-card:hover::after {
  opacity: 0.28;
  transform: translateX(14px) skewX(-22deg);
}

.accent-sab::before {
  background: linear-gradient(90deg, #a6ffe3, #36b8ff);
}

.accent-ssh::before {
  background: linear-gradient(90deg, #21f2ff, #8b6cff);
}

.accent-todo::before {
  background: linear-gradient(90deg, #4ade9a, #f4b85f);
}

.accent-shift::before {
  background: linear-gradient(90deg, #ff7396, #f4b85f, #4ade9a);
}

.accent-book::before {
  background: linear-gradient(90deg, #1463ff, #28d6ff);
}

.accent-ai::before {
  background: linear-gradient(90deg, #0f5ebc, #28d6ff, #f5f8fc);
}

.product-card header,
.app-heading {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 14px;
}

.product-card h3 {
  margin-bottom: 4px;
}

.product-card p,
.book-card p,
.info-panel p {
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  color: var(--muted);
}

.meta {
  margin-bottom: 0;
  color: var(--soft);
  font-size: 0.8rem;
  font-weight: 780;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.tag-list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 4px;
}

.tag,
.status-pill {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--hero-text);
  background: var(--glass);
  font-size: 0.78rem;
  font-weight: 740;
}

.status-pill {
  color: var(--green);
  border-color: rgba(74, 222, 154, 0.26);
}

.rating-summary {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 12px 0;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 780;
}

.rating-summary.compact {
  width: fit-content;
  margin: 0;
  padding: 6px 8px;
  border: 1px solid color-mix(in srgb, var(--amber) 22%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--field-bg) 82%, transparent);
  font-size: 0.84rem;
}

.rating-summary strong {
  color: var(--text);
}

.rating-empty {
  color: var(--soft);
}

.rating-stars {
  --rating-width: 0%;
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  color: color-mix(in srgb, var(--soft) 46%, transparent);
  font-size: 0.98rem;
  line-height: 1;
  letter-spacing: 0;
}

.rating-stars-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--rating-width);
  overflow: hidden;
  color: var(--amber);
  white-space: nowrap;
}

.review-rating-field {
  gap: 8px;
}

.rating-picker {
  display: grid;
  grid-template-columns: minmax(0, max-content) auto;
  gap: 7px 12px;
  align-items: center;
}

.rating-picker-control {
  --rating-width: 0%;
  position: relative;
  box-sizing: content-box;
  width: max-content;
  max-width: 100%;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid color-mix(in srgb, var(--amber) 30%, var(--line));
  border-radius: 9px;
  color: color-mix(in srgb, var(--soft) 44%, transparent);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--amber) 9%, transparent), transparent),
    var(--field-bg);
  font-size: 1.85rem;
  line-height: 1;
  letter-spacing: 0;
  cursor: pointer;
  overflow: hidden;
  user-select: none;
  touch-action: none;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.rating-picker-control:hover,
.rating-picker-control:focus-visible {
  border-color: color-mix(in srgb, var(--amber) 64%, transparent);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--amber) 15%, transparent), transparent),
    var(--surface-hover);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--amber) 14%, transparent);
  outline: none;
}

.rating-picker-control:active {
  transform: translateY(1px);
}

.rating-picker-stars {
  position: relative;
  display: inline-block;
}

.rating-picker-base,
.rating-picker-fill {
  display: block;
  letter-spacing: 0;
  white-space: nowrap;
}

.rating-picker-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--rating-width);
  color: var(--amber);
  overflow: hidden;
  pointer-events: none;
}

.rating-picker-value {
  min-width: 58px;
  color: var(--text);
  font-size: 0.92rem;
  font-weight: 860;
}

.rating-picker-hint {
  grid-column: 1 / -1;
  color: var(--soft);
  font-size: 0.78rem;
  font-weight: 740;
}

.book-list {
  display: grid;
  gap: 18px;
}

.book-card {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
  padding: 22px;
  overflow: hidden;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.book-art {
  align-self: stretch;
  min-height: 316px;
  display: grid;
  place-items: center;
  padding: 14px;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--glass);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.42);
  transform: perspective(1100px) rotateY(-8deg);
  transform-origin: center;
}

.book-art img {
  display: block;
  width: min(100%, 210px);
  height: auto;
  max-height: 316px;
  object-fit: contain;
}

.book-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
  justify-content: center;
}

.book-content h3 {
  max-width: 760px;
  margin-bottom: 0;
  font-size: clamp(1.6rem, 3.4vw, 2.7rem);
}

.feature-list,
.security-list,
.check-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.feature-list li,
.security-list li,
.check-list li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 10px;
  color: var(--muted);
}

.feature-list li::before,
.security-list li::before,
.check-list li::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-top: 8px;
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 0 14px rgba(74, 222, 154, 0.45);
}

.market-band {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(40, 214, 255, 0.13), transparent 38%),
    linear-gradient(270deg, rgba(244, 184, 95, 0.13), transparent 38%),
    var(--glass);
}

.market-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.84fr) minmax(300px, 0.7fr);
  gap: 36px;
  align-items: center;
}

.security-stack {
  display: grid;
  gap: 12px;
}

.security-item,
.profile-line {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.security-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: var(--radius);
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
  font-weight: 900;
}

.security-item h3,
.profile-line h3 {
  margin-bottom: 4px;
  font-size: 1rem;
}

.security-item p,
.profile-line p {
  margin-bottom: 0;
  color: var(--muted);
}

.profile-panel {
  display: grid;
  gap: 16px;
  padding: 22px;
}

.profile-head {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.profile-mark {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(40, 214, 255, 0.44);
  border-radius: var(--radius);
  color: var(--cyan);
  background:
    linear-gradient(145deg, rgba(40, 214, 255, 0.16), rgba(74, 222, 154, 0.1)),
    var(--glass);
  font-size: 1.8rem;
  font-weight: 900;
}

.profile-head h2,
.profile-head h3 {
  margin-bottom: 4px;
  font-size: 1.52rem;
}

.profile-head p {
  margin-bottom: 0;
  color: var(--muted);
}

.contact-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 16px;
}

.contact-card,
.legal-card {
  padding: 22px;
}

.contact-card a {
  color: var(--cyan);
  font-weight: 800;
}

.product-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(320px, 0.52fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  padding: 76px 0 54px;
}

.product-hero h1 {
  max-width: 14ch;
  font-size: clamp(3.2rem, 8vw, 6.8rem);
}

.product-store-hero {
  grid-template-columns: minmax(230px, 0.42fr) minmax(0, 1fr) minmax(380px, 0.58fr);
  gap: clamp(18px, 2.2vw, 28px);
  align-items: start;
  padding: 34px clamp(18px, 2.8vw, 32px);
  margin: 34px 0 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 42%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 82%, transparent), color-mix(in srgb, var(--surface) 88%, transparent));
  box-shadow: var(--shadow);
}

.product-store-hero > * {
  min-width: 0;
}

.product-store-hero h1 {
  max-width: 14ch;
  font-size: clamp(2.55rem, 3.7vw, 4.15rem);
  line-height: 1;
}

.product-store-media,
.product-store-copy,
.product-store-buy {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.product-store-media {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 0;
}

.product-store-cover-frame {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 0;
  aspect-ratio: 0.74;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(150deg, rgba(255, 255, 255, 0.1), transparent 48%),
    var(--surface-strong);
}

.product-store-cover-frame img {
  width: min(230px, 82%);
  height: auto;
  border-radius: 6px;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.52);
  transform: perspective(1100px) rotateY(-5deg);
}

.product-store-cover-frame span {
  position: absolute;
  left: 14px;
  top: 14px;
  max-width: calc(100% - 28px);
  padding: 6px 10px;
  border: 1px solid rgba(74, 222, 154, 0.34);
  border-radius: 999px;
  color: var(--green);
  background: rgba(7, 11, 16, 0.78);
  font-size: 0.82rem;
  font-weight: 880;
}

.product-store-mini {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface-strong) 64%, transparent);
}

.product-store-mini strong {
  color: var(--text);
  font-size: 0.94rem;
}

.product-store-mini span {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 680;
}

.product-store-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 16px;
  padding: clamp(4px, 0.8vw, 10px) 0;
}

.product-store-copy .hero-copy {
  max-width: 56ch;
  margin-bottom: 0;
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  line-height: 1.55;
}

.product-store-status-row,
.product-store-assurance {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-store-status-row span,
.product-store-assurance span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-strong) 72%, transparent);
  color: var(--soft);
  font-size: 0.82rem;
  font-weight: 840;
}

.product-store-status-row span:first-child {
  border-color: color-mix(in srgb, var(--cyan) 38%, var(--line));
  color: var(--cyan);
}

.product-store-facts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 0;
}

.product-store-facts div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(118px, 0.28fr) minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  padding: 11px 0;
  border: 1px solid var(--line);
  border-width: 1px 0 0;
  border-radius: var(--radius);
  background: transparent;
}

.product-store-facts dt {
  color: var(--amber);
  font-size: 0.76rem;
  font-weight: 880;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.product-store-facts dd {
  margin: 0;
  color: var(--text);
  font-size: 0.95rem;
  font-weight: 720;
}

.product-store-assurance {
  padding-top: 2px;
}

.product-store-buy {
  align-self: start;
  position: sticky;
  top: 92px;
  padding: clamp(18px, 2vw, 24px);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--amber) 7%, transparent), transparent 40%),
    color-mix(in srgb, var(--surface-strong) 90%, transparent);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.product-store-buy .product-buy-panel {
  min-height: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.product-buy-panel .shop-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-buy-panel .shop-actions .amazon {
  grid-column: 1 / -1;
}

.product-media {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(40, 214, 255, 0.12), transparent 44%),
    var(--glass);
  box-shadow: var(--shadow);
}

.product-media.app {
  display: grid;
  place-items: center;
  min-height: 360px;
}

.product-media.app img {
  width: min(240px, 70%);
  height: auto;
  border-radius: 30%;
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.45);
}

.product-media.book {
  display: grid;
  place-items: center;
}

.product-media.book img {
  width: min(330px, 86%);
  height: auto;
  border-radius: 6px;
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.48);
  transform: perspective(1100px) rotateY(-7deg);
}

.product-media-section[hidden] {
  display: none;
}

.product-media-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.product-media-tile {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.product-media-tile img {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  background: var(--field-bg);
}

.product-media-tile figcaption {
  padding: 10px 12px;
  color: var(--soft);
  font-size: 0.86rem;
  font-weight: 720;
}

.media-preview-link {
  min-height: 150px;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--surface);
  text-decoration: none;
}

.media-preview-link strong {
  font-size: 1rem;
}

.media-preview-link span {
  color: var(--cyan);
  font-size: 0.86rem;
  font-weight: 820;
}

.detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(280px, 0.56fr);
  gap: 18px;
  align-items: start;
}

.info-panel {
  padding: 22px;
}

.info-panel h2 {
  margin-bottom: 16px;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.info-panel h3 {
  margin-top: 22px;
}

.spec-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.spec-list li {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}

.spec-list strong {
  color: var(--text);
}

.buy-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.buy-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 54px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--glass);
  font-weight: 820;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.buy-link:hover,
.buy-link:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(244, 184, 95, 0.46);
  background: var(--surface-hover);
  outline: none;
}

.buy-link span {
  color: var(--amber);
  font-size: 0.86rem;
}

.product-review-section {
  margin-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  scroll-margin-top: 96px;
}

.review-section-head {
  margin-bottom: 22px;
}

.review-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(300px, 0.62fr);
  gap: 18px;
  align-items: start;
}

.review-public-panel,
.review-action-panel {
  min-width: 0;
}

.review-summary-card,
.review-card,
.review-gate {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.18);
}

.review-summary-card {
  display: grid;
  gap: 8px;
  padding: 18px;
  margin-bottom: 12px;
}

.review-average {
  font-size: clamp(1.35rem, 2vw, 1.85rem);
}

.review-summary-card p {
  margin: 0;
  color: var(--muted);
}

.review-list {
  display: grid;
  gap: 12px;
}

.review-card {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.review-card.is-featured {
  border-left: 3px solid var(--amber);
}

.review-card header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}

.review-card header > div:first-child {
  display: grid;
  gap: 3px;
}

.review-date {
  color: var(--soft);
  font-size: 0.82rem;
  font-weight: 760;
}

.review-card-rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--amber);
  font-weight: 860;
  white-space: nowrap;
}

.review-comment,
.admin-review-comment {
  margin: 0;
  color: var(--muted);
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.review-admin-response {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--cyan) 24%, var(--line));
  border-radius: 9px;
  background: color-mix(in srgb, var(--cyan) 7%, var(--field-bg));
}

.review-admin-response > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.review-admin-response strong {
  color: var(--text);
  font-size: 0.88rem;
}

.review-admin-response span {
  color: var(--soft);
  font-size: 0.78rem;
  font-weight: 760;
}

.review-admin-response p {
  margin: 0;
  color: var(--muted);
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.review-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.review-empty {
  margin: 0;
  padding: 16px;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  background: var(--field-bg);
}

.review-form {
  align-self: start;
}

.review-form .form-field.wide {
  grid-column: 1 / -1;
}

.form-panel {
  padding: 22px;
}

.account-panel {
  align-self: start;
  display: grid;
  gap: 18px;
}

.auth-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 18px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--glass);
}

.auth-tab {
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: calc(var(--radius) - 2px);
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-weight: 820;
  cursor: pointer;
}

.auth-tab:hover,
.auth-tab:focus-visible {
  color: var(--text);
  border-color: rgba(40, 214, 255, 0.36);
  outline: none;
}

.auth-tab.is-active {
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
}

.auth-view h2 {
  margin-bottom: 2px;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.account-state {
  display: grid;
  gap: 20px;
}

.account-summary {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.account-summary .profile-mark {
  width: 64px;
  height: 64px;
  font-size: 1.34rem;
}

.account-summary h2 {
  margin-bottom: 4px;
  font-size: clamp(1.42rem, 2.6vw, 2rem);
}

.account-summary p {
  margin-bottom: 10px;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.account-main {
  padding-bottom: 76px;
}

.account-command {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.58fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: end;
  padding: 76px 0 30px;
}

.account-command h1 {
  max-width: none;
  margin-bottom: 16px;
  font-size: clamp(3rem, 7vw, 5.6rem);
}

.account-command-panel,
.account-auth-aside,
.account-sidebar,
.account-module,
.account-loading {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(40, 214, 255, 0.07), transparent 42%),
    var(--panel);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.22);
}

.account-command-panel,
.account-auth-aside {
  display: grid;
  gap: 12px;
  padding: 18px;
}

.account-feature {
  min-width: 0;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.account-feature h2,
.account-feature h3 {
  margin-bottom: 4px;
  font-size: 1rem;
}

.account-feature p {
  margin: 0;
  color: var(--muted);
}

.account-console {
  padding: 18px 0 84px;
}

.account-loading {
  max-width: 620px;
  padding: 22px;
}

.account-auth-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.68fr) minmax(280px, 0.32fr);
  gap: 18px;
  align-items: start;
}

.account-auth-panel {
  min-width: 0;
}

.account-dashboard {
  display: grid;
  grid-template-columns: minmax(240px, 0.3fr) minmax(0, 0.7fr);
  gap: 18px;
  align-items: start;
}

.account-sidebar {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 16px;
  padding: 18px;
}

.account-sidebar .account-summary {
  padding-bottom: 16px;
}

.account-jump-list {
  display: grid;
  gap: 6px;
}

.account-tab {
  min-height: 40px;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  background: var(--glass);
  font: inherit;
  font-weight: 780;
  text-align: left;
  cursor: pointer;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}

.account-tab:hover,
.account-tab:focus-visible,
.account-tab.is-active {
  color: var(--text);
  border-color: rgba(40, 214, 255, 0.42);
  background: var(--surface-hover);
  outline: none;
}

.account-tab.is-active {
  border-color: color-mix(in srgb, var(--cyan) 68%, transparent);
  box-shadow: inset 3px 0 0 var(--cyan);
}

.account-side-note {
  display: grid;
  gap: 7px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.account-side-note strong {
  overflow-wrap: anywhere;
}

.account-content {
  min-width: 0;
  display: grid;
  gap: 18px;
}

.account-module[hidden] {
  display: none;
}

.account-module {
  display: grid;
  gap: 18px;
  padding: 22px;
  scroll-margin-top: 96px;
}

.account-module.account-orders {
  padding: 22px;
}

.module-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
}

.module-head h2 {
  margin-bottom: 0;
  font-size: clamp(1.42rem, 2.4vw, 2.15rem);
}

.account-overview-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr);
  gap: 16px;
  align-items: start;
}

.account-overview-card,
.account-security-card {
  min-width: 0;
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.account-overview-card h3,
.account-security-card h3 {
  margin: 3px 0 0;
}

.account-activity-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.account-activity-list > div {
  display: grid;
  grid-template-columns: minmax(110px, 0.72fr) minmax(0, 1fr);
  gap: 12px;
  padding: 11px 0;
  border-top: 1px solid var(--line);
}

.account-activity-list dt {
  color: var(--soft);
  font-size: 0.78rem;
  font-weight: 820;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.account-activity-list dd {
  margin: 0;
  color: var(--text);
  font-weight: 780;
  text-align: right;
  overflow-wrap: anywhere;
}

.account-quick-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.account-quick-action {
  min-width: 0;
  min-height: 92px;
  display: grid;
  gap: 6px;
  align-content: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--field-bg);
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.account-quick-action:hover,
.account-quick-action:focus-visible {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--cyan) 48%, var(--line));
  background: var(--surface-hover);
  outline: none;
}

.account-quick-action span {
  color: var(--soft);
  font-size: 0.82rem;
  line-height: 1.4;
}

.account-split,
.account-profile-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}

.account-split > form,
.account-profile-layout > form,
.account-toolbox {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.account-profile-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

.account-profile-form,
.account-email-form {
  padding: 22px !important;
}

.account-profile-form {
  gap: 22px;
}

.account-profile-form .form-row {
  align-items: start;
}

.account-profile-form input,
.account-profile-form select {
  min-height: 56px;
}

.account-profile-form label {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: baseline;
  line-height: 1.2;
}

.account-form-section {
  display: grid;
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.account-form-section:first-child {
  padding-top: 0;
  border-top: 0;
}

.account-form-section h3,
.account-split h3,
.account-toolbox h3 {
  margin-bottom: 10px;
}

.account-profile-grid {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.account-preference-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 12px;
}

.account-preference-grid .check-control {
  min-height: 58px;
  align-items: center;
  padding: 12px;
}

.account-email-form {
  max-width: 720px;
}

.label-optional {
  color: var(--soft);
  font-size: 0.68em;
  font-weight: 760;
  white-space: nowrap;
}

.account-phone-grid {
  grid-template-columns: minmax(220px, 0.7fr) minmax(180px, 0.42fr) minmax(250px, 0.88fr);
}

.account-password-grid {
  grid-template-columns: minmax(220px, 0.75fr) minmax(260px, 1fr) minmax(260px, 1fr);
}

.account-password-grid .password-meter {
  margin-top: 8px;
}

.account-security-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.account-security-card input {
  min-height: 54px;
}

.account-session-card {
  align-content: start;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 48%),
    var(--surface);
}

.account-security-fact {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--field-bg);
}

.account-security-fact span {
  color: var(--soft);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.review-anonymous-control {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
}

.review-anonymous-control small {
  grid-column: 2;
  color: var(--soft);
  font-size: 0.8rem;
  line-height: 1.4;
}

.account-privacy-stack {
  display: grid;
  gap: clamp(24px, 3vw, 32px);
}

#konto-datenschutz {
  gap: clamp(28px, 3vw, 40px);
  padding: clamp(24px, 3vw, 36px);
}

#konto-datenschutz > .module-head {
  align-items: flex-start;
}

.account-privacy-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.78fr);
  gap: clamp(24px, 3vw, 36px);
  align-items: center;
  padding: clamp(24px, 3vw, 32px);
  border: 1px solid color-mix(in srgb, var(--cyan) 34%, var(--line));
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cyan) 11%, transparent), transparent 52%),
    var(--surface);
}

.account-privacy-hero h3 {
  margin-bottom: 10px;
}

.account-privacy-hero p {
  margin: 0;
  color: var(--muted);
  max-width: 68ch;
  line-height: 1.65;
}

.account-privacy-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 22px);
}

.account-privacy-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
  gap: 14px;
  align-content: start;
  padding: clamp(20px, 2vw, 26px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.account-privacy-card h3 {
  margin: 0;
}

.account-privacy-card .fineprint {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.account-privacy-card .button {
  align-self: end;
  justify-self: start;
  min-height: 48px;
  margin-top: 4px;
}

.account-privacy-card:last-child {
  grid-column: 1 / -1;
}

.account-data-card-head {
  align-items: start;
}

.account-data-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.account-data-preview span {
  min-width: 0;
  display: grid;
  gap: 5px;
  min-height: 92px;
  align-content: center;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--field-bg);
}

.account-data-preview strong {
  color: var(--text);
  font-size: 1.35rem;
  line-height: 1;
  overflow-wrap: anywhere;
}

.account-data-preview small {
  color: var(--soft);
  font-size: 0.78rem;
  font-weight: 820;
  text-transform: uppercase;
}

.account-data-details {
  display: grid;
  gap: 20px;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid color-mix(in srgb, var(--cyan) 34%, var(--line));
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 48%),
    var(--surface);
}

.account-data-details[hidden] {
  display: none;
}

.account-data-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 12px;
}

.account-data-group {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--field-bg);
}

.account-data-group h4 {
  margin: 0 0 10px;
}

.account-data-group dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.account-data-group dt {
  color: var(--soft);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.account-data-group dd {
  margin: -5px 0 4px;
  color: var(--text);
  font-weight: 760;
  overflow-wrap: anywhere;
}

.account-danger-zone {
  overflow: clip;
  margin-top: 4px;
  border: 1px solid color-mix(in srgb, var(--rose) 44%, transparent);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--rose) 12%, transparent), transparent 46%),
    var(--surface);
}

.account-danger-zone > summary {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  color: var(--text);
  cursor: pointer;
  list-style: none;
  transition: background 160ms ease;
}

.account-danger-zone > summary:hover,
.account-danger-zone > summary:focus-visible {
  background: color-mix(in srgb, var(--rose) 7%, transparent);
}

.account-danger-zone > summary:focus-visible {
  outline-offset: -4px !important;
}

.account-danger-zone > summary::-webkit-details-marker {
  display: none;
}

.account-danger-zone > summary::after {
  content: "+";
  color: var(--rose);
  font-size: 1.5rem;
  font-weight: 800;
}

.account-danger-zone[open] > summary::after {
  content: "−";
}

.account-danger-zone > summary span {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.account-danger-zone > summary strong {
  color: var(--rose);
}

.account-danger-zone > summary small {
  color: var(--soft);
  font-weight: 650;
  line-height: 1.45;
}

.account-delete-form {
  margin: 0 22px 22px;
  padding: 22px 0 0;
  border-top: 1px solid color-mix(in srgb, var(--rose) 34%, var(--line));
}

@media (max-width: 980px) {
  .account-privacy-hero {
    grid-template-columns: 1fr;
    align-items: start;
  }
}

@media (max-width: 760px) {
  .account-privacy-hero,
  .account-privacy-action-grid {
    grid-template-columns: 1fr;
  }

  .account-quick-actions {
    grid-template-columns: 1fr;
  }

  #konto-datenschutz {
    gap: 28px;
    padding: 20px;
  }

  .account-privacy-card {
    min-height: 0;
  }

  .account-privacy-card:last-child {
    grid-column: auto;
  }

  .account-activity-list > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .account-activity-list dd {
    text-align: left;
  }

  .account-delete-form {
    margin: 0 18px 18px;
    padding: 18px 0 0;
  }
}

@media (max-width: 560px) {
  #konto-datenschutz {
    padding: 18px;
  }

  .account-privacy-stack {
    gap: 22px;
  }

  .account-privacy-hero,
  .account-privacy-card,
  .account-data-details {
    padding: 18px;
  }

  .account-data-preview {
    grid-template-columns: 1fr;
  }

  .account-danger-zone > summary {
    min-height: 0;
    align-items: flex-start;
    padding: 18px;
  }
}

.account-library {
  display: grid;
  gap: 10px;
}

.account-library-status {
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--field-bg);
  color: var(--soft);
  font-size: 0.9rem;
}

.account-library-status[hidden] {
  display: none;
}

.account-library-status.is-ok {
  border-color: color-mix(in srgb, var(--mint) 44%, transparent);
  color: var(--ink);
  background: color-mix(in srgb, var(--mint) 12%, var(--field-bg));
}

.account-library-status.is-error {
  border-color: color-mix(in srgb, var(--rose) 44%, transparent);
  color: var(--ink);
  background: color-mix(in srgb, var(--rose) 12%, var(--field-bg));
}

.account-library-status.is-loading {
  color: var(--soft);
}

.account-empty-state {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.account-empty-state h3 {
  margin: 0;
}

.library-item {
  min-width: 0;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.library-item.is-ready {
  border-color: color-mix(in srgb, var(--mint) 32%, var(--line));
}

.library-thumb {
  width: 58px;
  height: 74px;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) - 2px);
  background: var(--field-bg);
}

.library-thumb-placeholder {
  display: inline-grid;
  place-items: center;
  color: var(--soft);
  font-weight: 800;
}

.library-item h3 {
  margin-bottom: 4px;
}

.library-status-line {
  margin-top: 8px;
  color: var(--soft);
  font-size: 0.88rem;
}

.library-status-line.is-ok {
  color: var(--mint);
  font-weight: 760;
}

.library-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.library-pending {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--soft);
  background: var(--field-bg);
  font-size: 0.82rem;
  font-weight: 780;
}

.order-digital-note {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--field-bg);
  color: var(--soft);
  font-size: 0.9rem;
}

.order-digital-note.is-ok {
  border-color: color-mix(in srgb, var(--mint) 34%, transparent);
  background: color-mix(in srgb, var(--mint) 10%, var(--field-bg));
}

.form-grid {
  display: grid;
  gap: 14px;
}

.form-row {
  display: grid;
  gap: 14px;
}

.form-row.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-row.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.form-row.three.account-phone-grid {
  grid-template-columns: minmax(220px, 0.7fr) minmax(180px, 0.42fr) minmax(250px, 0.88fr);
}

.form-field {
  display: grid;
  gap: 7px;
}

.form-field label {
  color: var(--text);
  font-weight: 780;
}

.field-hint {
  margin: -2px 0 0;
  color: var(--soft);
  font-size: 0.84rem;
  line-height: 1.35;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--field-bg);
  padding: 0 12px;
  outline: none;
}

.form-field select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 21px,
    calc(100% - 12px) 21px;
  background-size: 6px 6px;
  background-repeat: no-repeat;
}

.form-field textarea {
  min-height: 120px;
  padding-top: 12px;
  resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: rgba(40, 214, 255, 0.52);
  box-shadow: 0 0 0 3px rgba(40, 214, 255, 0.12);
}

.form-field.is-invalid input,
.form-field.is-invalid select,
.form-field.is-invalid textarea {
  border-color: color-mix(in srgb, var(--rose) 72%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rose) 16%, transparent);
}

.form-field.is-invalid label,
.form-field.is-invalid .field-hint {
  color: var(--rose);
}

.check-control {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--field-bg);
  color: var(--text);
  font-weight: 780;
}

.check-control input {
  width: 18px;
  height: 18px;
  accent-color: var(--green);
}

.compact-controls {
  align-items: end;
}

.load-message {
  min-height: 28px;
  margin: -10px 0 18px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  background: var(--glass);
  font-weight: 740;
}

.load-message.is-error {
  border-color: color-mix(in srgb, var(--rose) 46%, transparent);
  color: var(--rose);
}

.admin-page {
  background:
    radial-gradient(ellipse at 12% 8%, rgba(40, 214, 255, 0.12), transparent 34%),
    radial-gradient(ellipse at 88% 2%, rgba(74, 222, 154, 0.1), transparent 30%),
    linear-gradient(145deg, var(--bg) 0%, var(--bg-2) 58%, var(--bg) 100%);
}

.admin-main {
  padding-bottom: 80px;
}

.admin-command {
  min-height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: end;
  padding: 30px 0 18px;
}

.admin-command > div {
  min-width: 0;
}

.admin-command h1 {
  max-width: none;
  margin-bottom: 6px;
  font-size: clamp(2.15rem, 5vw, 3.65rem);
  letter-spacing: 0;
}

.admin-command .hero-copy {
  max-width: 760px;
  margin: 0;
  overflow-wrap: anywhere;
}

.admin-command-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.admin-console {
  padding: 14px 0 72px;
}

.admin-state-card {
  max-width: 680px;
}

.admin-layout {
  display: grid;
  gap: 22px;
  align-items: start;
}

.admin-tabs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: 8px;
  padding: 8px;
  border-radius: 14px;
}

.is-capability-hidden {
  display: none !important;
}

.admin-tab {
  min-width: 0;
  min-height: 46px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-weight: 840;
  cursor: pointer;
}

.admin-tab:hover,
.admin-tab:focus-visible {
  color: var(--text);
  border-color: rgba(40, 214, 255, 0.34);
  outline: none;
}

.admin-tab.is-active {
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
}

.admin-surface {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background:
    linear-gradient(180deg, var(--panel-strong), var(--panel)),
    var(--surface);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

.admin-stats-panel {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.admin-orders-panel,
.admin-reviews-panel,
.admin-faq-panel,
.admin-team-panel,
.admin-products-panel,
.admin-editor-panel {
  display: grid;
  gap: 0;
  align-items: start;
}

.admin-team-intro {
  margin: 0;
  padding: 16px 18px 0;
}

.admin-role-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 18px;
}

.admin-role-grid article {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.admin-role-grid h3,
.admin-user-identity h3 {
  margin: 0 0 4px;
}

.admin-role-grid p,
.admin-user-identity p {
  margin: 0;
  color: var(--soft);
  font-size: 0.84rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.admin-role-mark {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  background: var(--field-bg);
  font-size: 0.78rem;
  font-weight: 920;
}

.admin-role-mark.role-admin {
  border-color: color-mix(in srgb, var(--amber) 48%, var(--line));
  background: color-mix(in srgb, var(--amber) 18%, var(--field-bg));
}

.admin-role-mark.role-worker {
  border-color: color-mix(in srgb, var(--cyan) 48%, var(--line));
  background: color-mix(in srgb, var(--cyan) 16%, var(--field-bg));
}

.admin-role-mark.role-user {
  border-color: color-mix(in srgb, var(--green) 42%, var(--line));
  background: color-mix(in srgb, var(--green) 14%, var(--field-bg));
}

.admin-user-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1fr);
  gap: 14px;
  align-items: end;
  padding: 0 18px 18px;
}

.admin-user-counts {
  justify-self: end;
  color: var(--soft);
  font-size: 0.84rem;
  font-weight: 780;
  text-align: right;
}

.admin-user-list {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-top: 1px solid var(--line);
}

.admin-user-card {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px, 0.82fr) minmax(230px, 0.88fr) minmax(310px, 1fr);
  gap: 16px;
  align-items: center;
  padding: 15px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--green);
  border-radius: var(--radius);
  background: var(--glass);
}

.admin-user-card.role-admin {
  border-left-color: var(--amber);
}

.admin-user-card.role-worker {
  border-left-color: var(--cyan);
}

.admin-user-card.status-disabled {
  opacity: 0.72;
}

.admin-user-identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.admin-user-facts {
  display: grid;
  gap: 7px;
  margin: 0;
}

.admin-user-facts > div {
  display: grid;
  grid-template-columns: minmax(90px, 0.7fr) minmax(0, 1fr);
  gap: 10px;
}

.admin-user-facts dt {
  color: var(--soft);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-user-facts dd {
  min-width: 0;
  margin: 0;
  color: var(--text);
  font-size: 0.84rem;
  font-weight: 740;
  overflow-wrap: anywhere;
}

.admin-user-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr)) auto;
  gap: 9px;
  align-items: end;
}

.admin-user-controls .button {
  min-height: 42px;
}

.primary-admin-badge {
  border-color: color-mix(in srgb, var(--amber) 55%, var(--line));
  color: var(--amber);
}

.admin-block-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 18px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(40, 214, 255, 0.08), transparent 46%, rgba(74, 222, 154, 0.06));
}

.admin-block-head h2 {
  margin-bottom: 0;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.admin-block-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-product-views {
  min-width: 0;
}

.admin-editor-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 18px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(40, 214, 255, 0.08), transparent 46%, rgba(74, 222, 154, 0.06));
}

.admin-editor-head h2 {
  margin-bottom: 0;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.admin-workspace,
.admin-editor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 0;
  align-items: start;
}

.admin-form {
  min-height: auto;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.admin-form-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.admin-form-head h2 {
  margin-bottom: 4px;
  font-size: clamp(1.2rem, 2vw, 1.62rem);
}

.admin-danger-note {
  margin: -4px 0 0;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--rose) 44%, transparent);
  border-radius: 10px;
  color: var(--rose);
  background: color-mix(in srgb, var(--rose) 9%, transparent);
  font-size: 0.9rem;
  font-weight: 760;
}

.admin-upload-note {
  max-width: 62ch;
}

.variant-editor,
.admin-media-panel,
.admin-download-panel {
  display: grid;
  gap: 14px;
  margin-top: 6px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.variant-editor-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.variant-editor-head h3,
.admin-media-panel h3,
.admin-download-panel h3 {
  margin-bottom: 4px;
}

.variant-list,
.media-asset-list,
.digital-asset-list {
  display: grid;
  gap: 10px;
}

.variant-row {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--field-bg);
}

.variant-row-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.variant-row-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.variant-row-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.variant-field {
  min-width: 0;
  display: grid;
  gap: 5px;
  color: var(--soft);
  font-size: 0.78rem;
  font-weight: 820;
}

.variant-field input,
.variant-field select {
  min-width: 0;
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--text);
  background: var(--panel);
}

.variant-subtitle-input {
  width: 100%;
}

.variant-stock-info {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--amber) 34%, var(--line));
  border-radius: var(--radius);
  color: var(--amber);
  background: color-mix(in srgb, var(--amber) 9%, var(--field-bg));
  font-size: 0.86rem;
  font-weight: 780;
}

.media-upload-form,
.download-upload-form {
  display: grid;
  gap: 12px;
}

.media-asset-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--field-bg);
}

.media-asset-preview {
  width: 76px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--soft);
  background: var(--panel);
  font-size: 0.8rem;
  font-weight: 860;
  text-decoration: none;
}

.media-asset-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.media-asset-card h4 {
  margin-bottom: 3px;
  font-size: 0.98rem;
}

.media-path {
  margin-top: 4px;
  color: var(--soft);
  font-family: var(--mono);
  font-size: 0.74rem;
  overflow-wrap: anywhere;
}

.digital-asset-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--field-bg);
}

.digital-asset-card h4 {
  margin-bottom: 3px;
  font-size: 0.98rem;
}

.media-asset-actions,
.digital-asset-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.admin-asset-inline-editor {
  grid-column: 1 / -1;
  min-width: 0;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.admin-asset-inline-editor > summary {
  width: fit-content;
  cursor: pointer;
  color: var(--cyan);
  font-size: 0.84rem;
  font-weight: 820;
}

.admin-asset-inline-editor > summary:focus-visible {
  border-radius: 6px;
  outline: 2px solid var(--cyan);
  outline-offset: 4px;
}

.admin-asset-editor-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding-top: 12px;
}

.admin-asset-editor-field {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 760;
}

.admin-asset-editor-field.is-wide,
.admin-asset-fixed-note {
  grid-column: 1 / -1;
}

.admin-asset-editor-field input,
.admin-asset-editor-field select,
.admin-asset-editor-field textarea {
  min-width: 0;
  width: 100%;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--text);
  background: var(--panel);
  font: inherit;
  font-weight: 620;
}

.admin-asset-editor-field textarea {
  resize: vertical;
}

.admin-asset-editor-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding-top: 12px;
}

.admin-entitlement-warning,
.admin-asset-fixed-note {
  margin: 0;
  color: var(--amber);
  font-size: 0.78rem;
  line-height: 1.45;
}

.admin-asset-editor-message:empty {
  display: none;
}

.variant-row .check-control.is-readonly {
  cursor: default;
  opacity: 0.82;
}

.variant-row.status-archived {
  border-color: color-mix(in srgb, var(--soft) 48%, var(--line));
  background: color-mix(in srgb, var(--soft) 5%, var(--field-bg));
}

@media (max-width: 760px) {
  .admin-asset-editor-grid {
    grid-template-columns: 1fr;
  }

  .admin-asset-editor-footer {
    display: grid;
  }

  .admin-asset-editor-footer .button {
    width: 100%;
  }
}

.admin-list-panel {
  min-width: 0;
  padding: 18px;
}

.admin-list-panel > div:first-child {
  margin-bottom: 16px;
}

.admin-product-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 0.36fr) minmax(160px, 0.42fr) minmax(160px, 0.42fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--surface) 84%, transparent);
}

.admin-list-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 14px;
}

.admin-list-head h2 {
  margin-bottom: 4px;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
}

.admin-product-list {
  display: grid;
  gap: 10px;
}

.admin-product-card {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: stretch;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.025)),
    var(--glass);
  box-shadow: none;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.admin-product-card:hover,
.admin-product-card:focus-within {
  transform: translateY(-1px);
  border-color: rgba(40, 214, 255, 0.34);
  background: var(--surface-hover);
}

.admin-product-card.status-available {
  border-left: 3px solid var(--green);
}

.admin-product-card.status-planned,
.admin-product-card.status-draft {
  border-left: 3px solid var(--cyan);
}

.admin-product-card.status-hidden,
.admin-product-card.status-archived {
  border-left: 3px solid var(--soft);
}

.admin-product-media {
  min-height: 96px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--field-bg);
}

.admin-product-media.is-disabled {
  opacity: 0.62;
  filter: saturate(0.58);
}

.admin-product-media img {
  width: 68px;
  height: 68px;
  object-fit: cover;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}

.admin-product-media img.app {
  border-radius: 18px;
}

.admin-product-media img.book {
  width: 52px;
  height: 74px;
  border-radius: 6px;
}

.admin-product-main {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.admin-product-card h3 {
  margin-bottom: 0;
  font-size: clamp(1rem, 1.8vw, 1.18rem);
}

.admin-product-summary {
  margin-bottom: 0;
  color: var(--muted);
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.admin-product-meta {
  margin: 0;
  color: var(--soft);
  font-size: 0.88rem;
  font-weight: 740;
  overflow-wrap: anywhere;
}

.admin-product-public-hint {
  color: var(--amber);
  font-size: 0.77rem;
  line-height: 1.4;
}

.admin-card-actions .button.is-disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.admin-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-badge {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: var(--field-bg);
  font-size: 0.76rem;
  font-weight: 820;
}

.status-badge.status-available {
  color: var(--green);
  border-color: color-mix(in srgb, var(--green) 44%, transparent);
}

.status-badge.status-planned,
.status-badge.status-draft {
  color: var(--cyan);
  border-color: color-mix(in srgb, var(--cyan) 44%, transparent);
}

.status-badge.status-hidden,
.status-badge.status-archived {
  color: var(--soft);
}

.admin-card-actions {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  gap: 8px;
}

.admin-order-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 0.42fr) minmax(170px, 0.5fr) auto;
  gap: 10px;
  align-items: end;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.admin-review-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) repeat(5, minmax(140px, 0.55fr)) auto;
  gap: 10px;
  align-items: end;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.admin-faq-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) repeat(3, minmax(150px, 0.55fr)) auto;
  gap: 10px;
  align-items: end;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.admin-purchase-toolbar {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 10px;
  align-items: end;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface) 78%, transparent);
}

.admin-purchase-toolbar-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.admin-filter-field {
  min-width: 0;
  display: grid;
  gap: 5px;
  color: var(--soft);
  font-size: 0.78rem;
  font-weight: 820;
}

.admin-filter-field input,
.admin-filter-field select,
.admin-filter-field textarea {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--text);
  background: var(--field-bg);
}

.admin-filter-field textarea {
  resize: vertical;
}

.admin-order-counts {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  color: var(--soft);
  font-size: 0.82rem;
  font-weight: 780;
  text-align: right;
}

.admin-product-counts {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  color: var(--soft);
  font-size: 0.82rem;
  font-weight: 780;
  text-align: right;
}

.admin-review-counts,
.admin-faq-counts {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  color: var(--soft);
  font-size: 0.82rem;
  font-weight: 780;
  text-align: right;
}

.admin-empty-state {
  padding: 14px;
  border: 1px dashed var(--line);
  border-radius: 10px;
  background: var(--field-bg);
}

.admin-order-list {
  display: grid;
  gap: 12px;
  padding: 18px;
}

.admin-order-card {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(300px, 1.1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--cyan);
  border-radius: 10px;
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.025)),
    var(--glass);
  transition: border-color 160ms ease, background 160ms ease, opacity 160ms ease;
}

.admin-order-card.workflow-paid {
  border-left-color: var(--cyan);
}

.admin-order-card.workflow-confirmed {
  border-left-color: var(--amber);
}

.admin-order-card.workflow-shipped {
  border-left-color: var(--green);
}

.admin-order-card.workflow-payment {
  border-left-color: var(--amber);
}

.admin-order-card.workflow-problem {
  border-left-color: var(--rose);
}

.admin-order-card.workflow-completed,
.admin-order-card.workflow-refunded {
  border-left-color: var(--soft);
}

.admin-order-card.is-complete:not(.is-expanded) {
  opacity: 0.68;
  background: color-mix(in srgb, var(--glass) 58%, transparent);
}

.admin-order-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 14px;
}

.admin-order-head h3 {
  margin: 0 0 4px;
  font-size: clamp(1rem, 1.8vw, 1.22rem);
}

.admin-order-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.admin-order-summary > div {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--field-bg);
}

.admin-order-summary span {
  display: block;
  color: var(--soft);
  font-size: 0.76rem;
  font-weight: 820;
}

.admin-order-summary strong {
  display: block;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.admin-order-quick-actions {
  justify-content: flex-end;
}

.admin-order-compact-action {
  white-space: nowrap;
}

.admin-order-detail {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.admin-order-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admin-order-detail-section {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--field-bg);
}

.admin-order-detail-section h4 {
  margin: 0;
  font-size: 0.98rem;
}

.admin-address-lines {
  display: grid;
  gap: 3px;
  color: var(--text);
  font-style: normal;
  overflow-wrap: anywhere;
}

.admin-order-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.admin-order-detail-grid > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.admin-order-detail-grid span {
  color: var(--soft);
  font-size: 0.76rem;
  font-weight: 820;
}

.admin-order-detail-grid strong {
  overflow-wrap: anywhere;
}

.admin-order-tracking {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.admin-order-refund {
  display: grid;
  grid-template-columns: minmax(160px, 0.8fr) minmax(160px, 0.8fr) minmax(220px, 1.4fr);
  gap: 8px;
  align-items: center;
}

.admin-order-tracking input,
.admin-order-refund input,
.admin-order-refund select {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  background: var(--field-bg);
  padding: 0 10px;
  font: inherit;
}

.admin-order-refund .fineprint {
  margin: 0;
}

.admin-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-order-override-note {
  margin: 2px 0 0;
}

.admin-order-override-actions {
  padding-top: 2px;
}

.admin-review-list,
.admin-faq-list {
  display: grid;
  gap: 12px;
  padding: 18px;
}

.admin-review-card,
.admin-faq-card {
  display: grid;
  grid-template-columns: minmax(260px, 0.76fr) minmax(320px, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--amber);
  border-radius: 10px;
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.025)),
    var(--glass);
  transition: border-color 160ms ease, background 160ms ease, opacity 160ms ease;
}

.admin-review-card.is-expanded,
.admin-faq-card.is-expanded {
  align-items: start;
}

.admin-review-card.workflow-pending,
.admin-review-card.workflow-critical {
  border-left-color: var(--amber);
}

.admin-review-card.workflow-live,
.admin-review-card.workflow-answered,
.admin-review-card.status-approved {
  border-left-color: var(--green);
}

.admin-review-card.workflow-rejected,
.admin-review-card.status-rejected {
  border-left-color: var(--rose);
}

.admin-review-card.workflow-archived {
  border-left-color: var(--soft);
}

.admin-faq-card.workflow-draft {
  border-left-color: var(--amber);
}

.admin-faq-card.workflow-published,
.admin-faq-card.status-published {
  border-left-color: var(--green);
}

.admin-faq-card.workflow-hidden,
.admin-faq-card.status-hidden {
  border-left-color: var(--rose);
}

.admin-faq-card.workflow-archived {
  border-left-color: var(--soft);
}

.admin-review-card.is-complete:not(.is-expanded),
.admin-faq-card.is-complete:not(.is-expanded) {
  opacity: 0.72;
  background: color-mix(in srgb, var(--glass) 58%, transparent);
}

.admin-review-head,
.admin-faq-head {
  display: grid;
  gap: 7px;
}

.admin-review-head h3,
.admin-faq-head h3 {
  margin: 0;
  font-size: clamp(0.98rem, 1.6vw, 1.12rem);
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.admin-review-head .fineprint,
.admin-faq-head .fineprint {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.admin-review-excerpt,
.admin-faq-excerpt {
  min-width: 0;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-radius: 8px;
  color: var(--text);
  background: color-mix(in srgb, var(--field-bg) 78%, transparent);
  font-size: 0.92rem;
  font-weight: 720;
  line-height: 1.35;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow-wrap: anywhere;
}

.admin-review-excerpt.is-empty,
.admin-faq-excerpt.is-empty {
  color: var(--soft);
}

.admin-product-review-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.admin-review-summary,
.admin-faq-summary {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.admin-review-summary > div,
.admin-faq-summary > div {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--field-bg);
}

.admin-review-summary span,
.admin-faq-summary span {
  display: block;
  color: var(--soft);
  font-size: 0.76rem;
  font-weight: 820;
}

.admin-review-summary strong,
.admin-faq-summary strong {
  display: block;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.admin-review-detail,
.admin-faq-detail {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.admin-review-detail-section,
.admin-faq-detail-section {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--field-bg);
}

.admin-review-detail-section h4,
.admin-faq-detail-section h4 {
  margin: 0;
  font-size: 0.98rem;
}

.admin-review-detail-grid,
.admin-faq-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.admin-review-detail-grid > div,
.admin-faq-detail-grid > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.admin-review-detail-grid span,
.admin-faq-detail-grid span {
  color: var(--soft);
  font-size: 0.76rem;
  font-weight: 820;
}

.admin-review-detail-grid strong,
.admin-faq-detail-grid strong {
  overflow-wrap: anywhere;
}

.admin-review-controls {
  display: grid;
  grid-template-columns: minmax(140px, 0.5fr) minmax(260px, 1fr) minmax(220px, 0.8fr) auto;
  gap: 10px;
  align-items: start;
}

.admin-faq-controls {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 0.38fr) minmax(120px, 0.28fr) auto;
  gap: 10px;
  align-items: start;
}

.admin-faq-question-field,
.admin-faq-answer-field {
  grid-column: 1 / -1;
}

.admin-faq-answer-field textarea {
  min-height: 180px;
}

.admin-faq-image-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-faq-image-card {
  display: grid;
  grid-template-columns: minmax(92px, 132px) minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--glass) 62%, transparent);
}

.admin-faq-image-preview {
  display: grid;
  place-items: center;
  min-height: 92px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px dashed color-mix(in srgb, var(--soft) 46%, transparent);
  border-radius: 8px;
  color: var(--soft);
  background: color-mix(in srgb, var(--field-bg) 82%, transparent);
  font-size: 0.82rem;
  font-weight: 820;
}

.admin-faq-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-faq-image-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-content: start;
  min-width: 0;
}

.admin-faq-image-path-field,
.admin-faq-image-caption-field {
  grid-column: 1 / -1;
}

.admin-review-response-field textarea,
.admin-review-note-field textarea {
  min-height: 82px;
}

.admin-review-response-field textarea {
  min-height: 112px;
}

.admin-review-actions,
.admin-faq-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-review-quick-actions,
.admin-faq-quick-actions {
  align-items: center;
  justify-content: flex-end;
}

.review-status-badge.status-pending {
  color: var(--amber);
  border-color: color-mix(in srgb, var(--amber) 46%, transparent);
}

.review-status-badge.status-approved,
.verified-badge {
  color: var(--green);
  border-color: color-mix(in srgb, var(--green) 44%, transparent);
}

.review-status-badge.status-rejected {
  color: var(--rose);
  border-color: color-mix(in srgb, var(--rose) 44%, transparent);
}

.review-status-badge.status-archived {
  color: var(--soft);
  border-color: color-mix(in srgb, var(--soft) 44%, transparent);
}

.faq-status-badge.status-draft {
  color: var(--amber);
  border-color: color-mix(in srgb, var(--amber) 46%, transparent);
}

.faq-status-badge.status-published {
  color: var(--green);
  border-color: color-mix(in srgb, var(--green) 44%, transparent);
}

.faq-status-badge.status-hidden {
  color: var(--rose);
  border-color: color-mix(in srgb, var(--rose) 44%, transparent);
}

.faq-status-badge.status-archived {
  color: var(--soft);
  border-color: color-mix(in srgb, var(--soft) 44%, transparent);
}

.workflow-badge.workflow-paid,
.fulfillment-badge.fulfillment-open {
  color: var(--cyan);
  border-color: color-mix(in srgb, var(--cyan) 44%, transparent);
}

.workflow-badge.workflow-confirmed,
.workflow-badge.workflow-payment {
  color: var(--amber);
  border-color: color-mix(in srgb, var(--amber) 48%, transparent);
}

.workflow-badge.workflow-shipped,
.workflow-badge.workflow-completed,
.fulfillment-badge.fulfillment-confirmed,
.fulfillment-badge.fulfillment-shipped,
.fulfillment-badge.fulfillment-fulfilled {
  color: var(--green);
  border-color: color-mix(in srgb, var(--green) 44%, transparent);
}

.workflow-badge.workflow-refunded {
  color: var(--soft);
  border-color: var(--line-strong);
}

.workflow-badge.workflow-problem,
.fulfillment-badge.fulfillment-rejected,
.fulfillment-badge.fulfillment-cancelled {
  color: var(--rose);
  border-color: color-mix(in srgb, var(--rose) 44%, transparent);
}

.status-badge.status-paid,
.status-badge.status-fulfilled {
  color: var(--green);
  border-color: color-mix(in srgb, var(--green) 38%, transparent);
}

.status-badge.status-pending {
  color: var(--amber);
  border-color: color-mix(in srgb, var(--amber) 42%, transparent);
}

.status-badge.status-cancelled,
.status-badge.status-failed {
  color: var(--rose);
  border-color: color-mix(in srgb, var(--rose) 42%, transparent);
}

.status-badge.status-refunded {
  color: var(--soft);
  border-color: var(--line-strong);
}

.admin-help-panel {
  position: sticky;
  top: 88px;
  display: grid;
  gap: 14px;
  padding: 18px;
  border-left: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface-strong) 74%, transparent);
}

.admin-help-panel h3 {
  margin: 0;
  font-size: 1.08rem;
}

.admin-help-panel p {
  margin: 0;
  color: var(--muted);
}

.admin-help-panel code,
.field-hint code {
  color: var(--cyan);
  font-size: 0.92em;
}

.admin-help-list {
  display: grid;
  gap: 10px;
}

.admin-help-list div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--glass);
}

.admin-help-list strong {
  font-size: 0.82rem;
}

.admin-help-list span {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.stat-card {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 118px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(40, 214, 255, 0.1), transparent 46%),
    var(--glass);
  box-shadow: none;
  overflow: hidden;
}

.stat-card::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--cyan), var(--green));
}

.stat-week::before {
  background: linear-gradient(90deg, var(--violet), var(--cyan));
}

.stat-month::before {
  background: linear-gradient(90deg, var(--green), var(--amber));
}

.stat-total::before {
  background: linear-gradient(90deg, var(--amber), var(--rose));
}

.stat-card span,
.stat-card small {
  color: var(--muted);
  font-weight: 760;
}

.stat-card strong {
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1;
}

.stats-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(240px, 0.62fr) minmax(220px, 0.5fr);
  gap: 12px;
}

.stats-chart-panel,
.stats-list-panel {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--glass);
}

.stats-chart-panel h3,
.stats-list-panel h3 {
  margin-bottom: 14px;
  font-size: 1rem;
}

.stats-bars {
  display: grid;
  gap: 9px;
}

.stats-bar-row {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) 86px;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 760;
}

.stats-bar-track {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--glass-strong);
}

.stats-bar-fill {
  display: block;
  width: var(--bar-width, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--cyan), var(--green));
}

.stats-list {
  display: grid;
  gap: 10px;
}

.stats-list-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.stats-list-row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.stats-list-row span {
  overflow-wrap: anywhere;
}

.stats-list-row strong {
  white-space: nowrap;
}

.product-analytics-panel {
  display: grid;
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.purchase-analytics-panel {
  display: grid;
  gap: 14px;
  padding-top: 18px;
  margin-top: 18px;
  border-top: 1px solid var(--line);
}

.admin-subhead {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
}

.admin-subhead h3 {
  margin-bottom: 0;
  font-size: clamp(1.2rem, 2vw, 1.65rem);
}

.admin-subhead p {
  max-width: 440px;
  margin: 0;
  color: var(--muted);
  font-weight: 650;
}

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

.purchase-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.purchase-stats-layout {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.purchase-list-row span {
  font-size: 0.86rem;
}

.product-analytics-card {
  min-width: 0;
  display: grid;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(40, 214, 255, 0.075), transparent 38%),
    var(--glass);
}

.product-analytics-card.status-available {
  border-left: 3px solid var(--green);
}

.product-analytics-card.status-planned,
.product-analytics-card.status-draft {
  border-left: 3px solid var(--cyan);
}

.product-analytics-head {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.product-analytics-media {
  min-height: 72px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--field-bg);
}

.product-analytics-media img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.24);
}

.product-analytics-media img.app {
  border-radius: 14px;
}

.product-analytics-media img.book {
  width: 40px;
  height: 58px;
  border-radius: 5px;
}

.product-analytics-card h4 {
  margin: 6px 0 0;
  font-size: 1.02rem;
}

.product-analytics-slug {
  margin: 2px 0 0;
  color: var(--soft);
  font-size: 0.82rem;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.product-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.product-metric {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--surface-strong) 62%, transparent);
}

.product-metric span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 780;
}

.product-metric strong {
  font-size: 1rem;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.product-metric.primary strong {
  color: var(--cyan);
}

.product-metric.accent strong {
  color: var(--amber);
}

.product-metric.success strong {
  color: var(--green);
}

.product-targets {
  display: grid;
  gap: 8px;
  padding-top: 2px;
}

.product-targets h5 {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.product-target-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-top: 1px solid var(--line);
}

.product-target-row span {
  color: var(--muted);
  font-size: 0.82rem;
  overflow-wrap: anywhere;
}

.product-target-row strong {
  min-width: 28px;
  text-align: right;
}

.password-meter {
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--glass-strong);
}

.meter-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: var(--rose);
  transition: width 160ms ease, background 160ms ease;
}

.meter-fill.score-1 {
  width: 25%;
  background: var(--rose);
}

.meter-fill.score-2 {
  width: 50%;
  background: var(--amber);
}

.meter-fill.score-3 {
  width: 75%;
  background: var(--cyan);
}

.meter-fill.score-4 {
  width: 100%;
  background: var(--green);
}

.form-message,
.admin-product-status-copy {
  min-height: 24px;
  color: var(--muted);
  font-weight: 720;
}

.form-message:not(:empty),
.admin-product-status-copy:not(:empty) {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--glass);
}

.form-message:focus,
.admin-product-status-copy:focus {
  outline: 2px solid rgba(40, 214, 255, 0.7);
  outline-offset: 4px;
}

.form-message.is-error,
.admin-product-status-copy.is-error {
  border-color: color-mix(in srgb, var(--rose) 48%, transparent);
  color: var(--rose);
}

.form-message.is-ok,
.admin-product-status-copy.is-ok {
  border-color: color-mix(in srgb, var(--green) 42%, transparent);
  color: var(--green);
}

.field-error {
  margin: -2px 0 0;
  color: var(--rose);
  font-size: 0.84rem;
  font-weight: 760;
  line-height: 1.35;
}

.support-form label.is-invalid input,
.support-form label.is-invalid textarea,
.check-control.is-invalid {
  border-color: color-mix(in srgb, var(--rose) 72%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rose) 16%, transparent);
}

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--cyan) 72%, white) !important;
  outline-offset: 3px;
}

.message-break {
  display: block;
  height: 10px;
}

.message-action {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(74, 222, 154, 0.38);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--glass);
  font-weight: 820;
}

.message-action:hover,
.message-action:focus-visible {
  border-color: rgba(74, 222, 154, 0.68);
  background: var(--surface-hover);
  outline: none;
}

.fineprint {
  color: var(--soft);
  font-size: 0.9rem;
}

.legal-flow {
  display: grid;
  gap: 18px;
}

.legal-flow h2 {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.legal-flow a {
  color: var(--cyan);
  font-weight: 800;
}

.privacy-control {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--glass);
}

.privacy-control h3 {
  margin-bottom: 8px;
  font-size: 1rem;
}

.privacy-control p {
  margin-bottom: 12px;
}

.footer {
  border-top: 1px solid var(--line);
  background: var(--footer-bg);
}

.footer-inner {
  width: min(1200px, calc(100% - 40px));
  min-height: 96px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: var(--muted);
  font-size: 0.94rem;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.footer-links a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border-radius: calc(var(--radius) - 4px);
}

.footer-links a:hover,
.footer-links a:focus-visible {
  color: var(--text);
  background: var(--glass);
  outline: none;
}

.image-fallback {
  display: grid;
  place-items: center;
  min-height: 140px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  background: var(--glass);
  text-align: center;
  font-weight: 760;
}

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 520ms ease, transform 520ms ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes ambient-lines {
  0% {
    transform: translateX(-5%) skewY(-5deg);
  }

  100% {
    transform: translateX(5%) skewY(-5deg);
  }
}

@keyframes stage-scan {
  0%,
  100% {
    transform: translateY(-80px);
    opacity: 0.3;
  }

  50% {
    transform: translateY(108px);
    opacity: 0.8;
  }
}

@keyframes signal-breathe {
  0%,
  100% {
    transform: scaleX(0.78);
    transform-origin: left;
  }

  50% {
    transform: scaleX(1);
    transform-origin: left;
  }
}

@keyframes float-soft {
  0%,
  100% {
    transform: translateY(0) rotate(-1deg);
  }

  50% {
    transform: translateY(-12px) rotate(1deg);
  }
}

/* Generic, product-type-neutral detail page */
.generic-product-page {
  background:
    radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 32%),
    radial-gradient(circle at 88% 24%, color-mix(in srgb, var(--green) 6%, transparent), transparent 30%),
    var(--bg);
}

.generic-product-content[hidden],
.generic-product-error[hidden],
.generic-product-page [data-generic-product-status][hidden] {
  display: none;
}

.generic-product-toolbar {
  padding-top: 32px;
}

.generic-product-back {
  width: fit-content;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: color-mix(in srgb, var(--surface) 78%, transparent);
  font-size: 0.86rem;
  font-weight: 820;
  text-decoration: none;
  transition: color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.generic-product-back:hover,
.generic-product-back:focus-visible {
  color: var(--text);
  border-color: color-mix(in srgb, var(--cyan) 46%, var(--line));
  transform: translateX(-2px);
}

.generic-product-back svg {
  width: 18px;
  height: 18px;
}

.generic-product-loading {
  min-height: 48vh;
  display: grid;
  place-items: center;
  text-align: center;
}

.generic-product-hero {
  grid-template-columns: minmax(240px, 0.58fr) minmax(300px, 0.95fr) minmax(330px, 0.7fr);
  gap: clamp(24px, 3vw, 46px);
  align-items: start;
  padding-top: 42px;
}

.generic-product-visual {
  position: relative;
  min-height: 520px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: clamp(26px, 4vw, 46px);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cyan) 22%, var(--line));
  border-radius: 28px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--cyan) 11%, transparent), transparent 44%),
    color-mix(in srgb, var(--surface-strong) 92%, transparent);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.3);
}

.generic-product-visual-glow {
  position: absolute;
  width: 72%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: color-mix(in srgb, var(--cyan) 18%, transparent);
  filter: blur(54px);
  opacity: 0.62;
  pointer-events: none;
}

.generic-product-visual img {
  position: relative;
  z-index: 1;
  width: min(100%, 320px);
  max-height: 410px;
  object-fit: contain;
  filter: drop-shadow(0 28px 34px rgba(0, 0, 0, 0.36));
}

.generic-product-visual img.book {
  width: min(82%, 300px);
  border-radius: 7px;
  transform: perspective(1100px) rotateY(-5deg);
}

.generic-product-visual img.app,
.generic-product-visual img.type-software {
  width: min(76%, 280px);
  aspect-ratio: 1;
  border-radius: 25%;
  object-fit: cover;
}

.generic-product-visual figcaption {
  position: absolute;
  z-index: 2;
  left: 18px;
  right: 18px;
  bottom: 16px;
  color: var(--soft);
  font-size: 0.76rem;
  font-weight: 840;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

.generic-product-copy {
  display: grid;
  align-content: start;
  gap: 18px;
  padding-top: clamp(14px, 3vw, 42px);
}

.generic-product-copy h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(3rem, 5.4vw, 6rem);
  line-height: 0.96;
}

.generic-product-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.generic-product-badges .status-pill {
  min-height: 29px;
  display: inline-flex;
  align-items: center;
}

.generic-product-badges .status-pill[data-status="available"] {
  color: var(--green);
  border-color: color-mix(in srgb, var(--green) 38%, var(--line));
  background: color-mix(in srgb, var(--green) 9%, var(--field-bg));
}

.generic-product-badges .status-pill[data-status="preorder"],
.generic-product-badges .status-pill[data-status="planned"] {
  color: var(--amber);
  border-color: color-mix(in srgb, var(--amber) 38%, var(--line));
  background: color-mix(in srgb, var(--amber) 9%, var(--field-bg));
}

.generic-product-brand,
.generic-product-subtitle {
  margin: 0;
}

.generic-product-brand {
  color: var(--cyan);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.generic-product-subtitle {
  color: var(--text);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 760;
}

.generic-product-tags {
  margin-top: 2px;
}

.generic-product-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.generic-product-links[hidden] {
  display: none;
}

.generic-product-purchase {
  position: sticky;
  top: 92px;
}

.generic-product-purchase .product-buy-panel {
  border-radius: 22px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--green) 7%, transparent), transparent 44%),
    color-mix(in srgb, var(--surface-strong) 94%, transparent);
  box-shadow: 0 28px 78px rgba(0, 0, 0, 0.24);
}

.generic-product-purchase .product-buy-panel.is-informational .shop-purchase-top,
.generic-product-purchase .product-buy-panel.is-informational .shop-variant-select-field,
.generic-product-purchase .product-buy-panel.is-informational .shop-variant-facts,
.generic-product-purchase .product-buy-panel.is-informational .shop-card-note,
.generic-product-purchase .product-buy-panel.is-informational .shop-quantity-row {
  display: none;
}

.generic-product-purchase .product-buy-panel.is-informational .shop-actions:empty {
  display: none;
}

.generic-product-availability-note {
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--muted);
  background: var(--field-bg);
}

.generic-product-story,
.generic-product-highlights,
.generic-product-facts,
.generic-product-media {
  scroll-margin-top: 96px;
}

.generic-product-description {
  display: grid;
  gap: 16px;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--line);
  border-radius: 24px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cyan) 6%, transparent), transparent 48%),
    var(--surface);
}

.generic-product-description p {
  max-width: 78ch;
  margin: 0;
  color: var(--hero-text);
  font-size: clamp(1rem, 1.5vw, 1.16rem);
  line-height: 1.72;
}

.generic-product-highlight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.generic-product-highlight {
  min-width: 0;
  min-height: 190px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background:
    linear-gradient(155deg, color-mix(in srgb, var(--cyan) 7%, transparent), transparent 48%),
    var(--surface);
}

.generic-product-highlight > span {
  display: block;
  margin-bottom: 28px;
  color: var(--cyan);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.12em;
}

.generic-product-highlight h3 {
  margin: 0;
  overflow-wrap: anywhere;
}

.generic-product-highlight p {
  margin: 10px 0 0;
  color: var(--muted);
}

.generic-product-fact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--line);
}

.generic-product-fact-grid > div {
  min-width: 0;
  min-height: 116px;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 20px;
  background: var(--surface-strong);
}

.generic-product-fact-grid dt {
  color: var(--soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.generic-product-fact-grid dd {
  margin: 0;
  color: var(--text);
  font-weight: 780;
  overflow-wrap: anywhere;
}

.generic-product-media {
  margin-bottom: clamp(56px, 8vw, 110px);
}

.generic-product-error {
  min-height: 62vh;
  display: grid;
  align-items: center;
}

.generic-product-error .info-panel {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(26px, 5vw, 54px);
  text-align: center;
}

.generic-product-error .hero-actions {
  justify-content: center;
}

.market-thumb.product {
  width: 68px;
  height: 68px;
  border-radius: 14px;
}

@media (max-width: 1120px) {
  .generic-product-hero {
    grid-template-columns: minmax(230px, 0.65fr) minmax(0, 1fr);
  }

  .generic-product-purchase {
    position: static;
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .generic-product-toolbar {
    padding-top: 20px;
  }

  .generic-product-hero {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 24px;
  }

  .generic-product-visual {
    min-height: 390px;
    border-radius: 22px;
  }

  .generic-product-copy {
    padding-top: 4px;
  }

  .generic-product-copy h1 {
    font-size: clamp(2.7rem, 14vw, 4.6rem);
  }

  .generic-product-purchase {
    grid-column: auto;
  }

  .generic-product-highlight-grid,
  .generic-product-fact-grid {
    grid-template-columns: 1fr;
  }

  .generic-product-highlight {
    min-height: 0;
  }
}

@media (prefers-reduced-motion: no-preference) {
  body::after {
    animation: ambient-lines 22s linear infinite;
  }

  .product-stage::after {
    animation: stage-scan 4.8s ease-in-out infinite;
  }

  .signal-bar span {
    animation: signal-breathe 3.4s ease-in-out infinite;
  }

  .product-media.app img {
    animation: float-soft 5.4s ease-in-out infinite;
  }
}

@media (max-width: 1080px) {
  .hero,
  .product-hero,
  .admin-command,
  .market-layout,
  .contact-grid,
  .detail-grid,
  .shop-grid,
  .admin-layout,
  .admin-workspace,
  .admin-editor-grid,
  .checkout-layout,
  .account-shop-grid,
  .account-command,
  .account-auth-layout,
  .account-dashboard,
  .account-split,
  .account-profile-layout,
  .account-profile-grid,
  .account-phone-grid,
  .account-password-grid,
  .account-overview-grid,
  .account-security-layout,
  .account-preference-grid,
  .order-card-summary,
  .stats-layout {
    grid-template-columns: 1fr;
  }

  .cart-panel {
    position: static;
    max-height: none;
    overflow: visible;
  }

  .checkout-head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .checkout-head-copy h2 {
    max-width: 15ch;
  }

  .checkout-progress {
    width: min(100%, 660px);
  }

  .checkout-layout {
    grid-template-areas:
      "summary"
      "form";
    gap: 18px;
  }

  .checkout-section.is-cart-empty .checkout-layout {
    grid-template-areas:
      "summary"
      "form";
  }

  .account-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-sidebar .account-summary,
  .account-sidebar .account-jump-list {
    grid-column: 1 / -1;
  }

  .account-jump-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .admin-form {
    position: static;
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .admin-help-panel {
    position: static;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

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

  .variant-options,
  .variant-row-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .admin-product-counts {
    justify-content: flex-start;
    text-align: left;
  }

  .product-store-copy {
    order: 1;
  }

  .product-store-media {
    order: 3;
  }

  .product-store-buy {
    position: static;
    order: 2;
  }

  .product-store-cover-frame {
    min-height: 0;
    max-width: 320px;
  }

  .product-stage {
    min-height: auto;
  }

  .stage-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .stage-books {
    grid-row: auto;
  }

  .hero-trust,
  .shop-hero-metrics {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 960px) {
  .nav {
    width: min(100% - 28px, 1200px);
    min-height: 66px;
  }

  .nav-toggle {
    display: inline-flex;
  }

  .cart-shortcut {
    display: inline-flex;
    margin-left: auto;
  }

  .nav-links {
    position: fixed;
    left: 14px;
    right: 14px;
    top: 76px;
    display: grid;
    align-items: stretch;
    justify-content: stretch;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface-strong);
    box-shadow: var(--shadow);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  }

  body.nav-open .nav-links {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  body.nav-open .nav-toggle-mark {
    background: transparent;
  }

  body.nav-open .nav-toggle-mark::before {
    top: 0;
    transform: rotate(45deg);
  }

  body.nav-open .nav-toggle-mark::after {
    top: 0;
    transform: rotate(-45deg);
  }

  .nav-link,
  .menu-trigger,
  .header-action,
  .theme-toggle {
    width: 100%;
    justify-content: flex-start;
  }

  .theme-toggle {
    padding: 0 12px;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px;
  }

  .theme-toggle::after {
    content: attr(aria-label);
    font-weight: 780;
  }

  .cart-link {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
  }

  .has-menu {
    display: grid;
    gap: 8px;
  }

  .nav-menu {
    position: static;
    width: 100%;
    display: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
  }

  .nav-menu.is-open {
    display: block;
  }

  .menu-grid {
    grid-template-columns: 1fr;
  }

  .shell,
  .footer-inner {
    width: min(100% - 28px, 1200px);
  }

  .section {
    padding: 62px 0;
  }

  .hero {
    min-height: auto;
    padding-top: 42px;
  }

  h1 {
    font-size: clamp(3.5rem, 20vw, 5.6rem);
  }

  .brand-title {
    font-size: clamp(3rem, 16vw, 4.45rem);
  }

  .section-head,
  .grid.two,
  .book-card,
  .shop-card,
  .shop-card-head,
  .shop-variant-facts,
  .shop-actions,
  .review-layout,
  .checkout-layout,
  .account-shop-grid,
  .stats-grid,
  .purchase-stat-grid,
  .purchase-stats-layout,
  .product-analytics-grid,
  .admin-product-toolbar,
  .admin-order-toolbar,
  .admin-review-toolbar,
  .admin-faq-toolbar,
  .admin-role-grid,
  .admin-user-toolbar,
  .admin-user-card,
  .admin-user-controls,
  .admin-purchase-toolbar,
  .admin-review-card,
  .admin-faq-card,
  .admin-review-summary,
  .admin-faq-summary,
  .admin-review-detail-grid,
  .admin-faq-detail-grid,
  .admin-review-controls,
  .admin-faq-controls,
  .admin-faq-image-list,
  .admin-faq-image-card,
  .admin-faq-image-fields,
  .admin-order-card,
  .admin-order-summary,
  .admin-order-address-grid,
  .admin-order-detail-grid,
  .admin-order-tracking,
  .admin-order-refund,
  .form-row.two,
  .form-row.three,
  .form-row.three.account-phone-grid,
  .admin-product-card,
  .module-head,
  .variant-options,
  .variant-row-grid,
  .product-media-gallery-grid,
  .media-asset-card,
  .digital-asset-card,
  .library-item {
    grid-template-columns: 1fr;
  }

  .admin-user-counts {
    justify-self: start;
    text-align: left;
  }

  .product-store-hero {
    padding-top: 28px;
  }

  .product-store-copy,
  .product-store-media {
    padding: 18px;
  }

  .product-buy-panel .shop-actions {
    grid-template-columns: 1fr;
  }

  .product-buy-panel .shop-actions .amazon {
    grid-column: auto;
  }

  .product-store-facts {
    grid-template-columns: 1fr;
  }

  .product-store-cover-frame {
    min-height: 320px;
  }

  .product-store-cover-frame img {
    width: min(240px, 72vw);
  }

  .hero-actions,
  .actions {
    gap: 10px;
  }

  .hero-actions .button,
  .shop-card .actions .button,
  .shop-actions .button,
  .checkout-form .actions .button {
    width: 100%;
  }

  .shop-card-media {
    justify-items: start;
  }

  .shop-cover {
    width: min(180px, 52vw);
  }

  .module-head {
    display: grid;
    align-items: start;
  }

  .library-actions {
    grid-column: 1 / -1;
    justify-content: stretch;
  }

  .library-item {
    grid-template-columns: 70px minmax(0, 1fr);
    align-items: start;
  }

  .library-thumb {
    width: 70px;
    height: 92px;
  }

  .library-actions > *,
  .media-asset-actions > *,
  .digital-asset-actions > * {
    flex: 1 1 auto;
  }

  .media-asset-preview {
    width: 100%;
    max-height: 220px;
    aspect-ratio: 16 / 9;
  }

  .variant-editor-head,
  .variant-row-head {
    display: grid;
  }

  .admin-command {
    padding-top: 24px;
  }

  .admin-command-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: flex-start;
  }

  .admin-tabs {
    grid-template-columns: 1fr;
  }

  .admin-product-media {
    min-height: 126px;
  }

  .admin-product-media img.app {
    width: 82px;
    height: 82px;
  }

  .admin-product-media img.book {
    width: 76px;
    height: 108px;
  }

  .admin-card-actions {
    flex-direction: row;
    justify-content: stretch;
  }

  .admin-order-head {
    display: grid;
  }

  .admin-order-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-purchase-toolbar-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
  }

  .admin-product-counts,
  .admin-review-counts,
  .admin-faq-counts,
  .admin-order-counts,
  .admin-review-quick-actions,
  .admin-faq-quick-actions,
  .admin-order-quick-actions {
    justify-content: stretch;
    text-align: left;
  }

  .admin-order-actions > * {
    min-width: 0;
  }

  .admin-review-actions,
  .admin-faq-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .admin-review-actions > *,
  .admin-faq-actions > * {
    flex: 1 1 auto;
  }

  .checkout-head {
    padding: 24px;
  }

  .checkout-head-copy h2 {
    font-size: clamp(2.4rem, 9vw, 4.2rem);
  }

  .checkout-options-grid {
    grid-template-columns: 1fr;
  }

  .cart-controls {
    display: flex;
  }

  .checkout-form-head,
  .checkout-form-body {
    padding: 22px;
  }

  .checkout-trust ul {
    grid-template-columns: 1fr;
  }

  .cart-toast {
    right: 14px;
    top: 80px;
    width: min(420px, calc(100vw - 28px));
  }

  body.checkout-in-view .support-widget {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    pointer-events: none;
  }

  .admin-block-head {
    display: grid;
  }

  .admin-block-actions {
    justify-content: stretch;
  }

  .admin-block-actions > * {
    flex: 1 1 auto;
  }

  .admin-subhead {
    display: grid;
  }

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

  .shop-cover {
    width: min(230px, 82%);
  }

  .book-art {
    max-width: 260px;
    min-height: auto;
  }

  .footer-inner {
    padding: 26px 0;
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  .account-jump-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-tab {
    min-height: 44px;
    padding: 6px 9px;
    font-size: 0.84rem;
    line-height: 1.2;
  }

  .nav {
    width: min(100% - 22px, 1200px);
    gap: 8px;
  }

  .brand {
    gap: 8px;
    min-width: 0;
  }

  .brand > span:last-child {
    display: none;
  }

  .nav-toggle {
    min-width: 0;
    padding: 0 10px;
  }

  .grid.apps,
  .grid.three,
  .stage-app-grid,
  .stage-book,
  .profile-head,
  .filter-bar {
    grid-template-columns: 1fr;
  }

  .filter-bar {
    display: grid;
  }

  .stage-book {
    min-height: auto;
  }

  .stage-book img {
    width: 140px;
  }

  .hero-actions,
  .admin-command-actions,
  .actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .button {
    width: 100%;
  }

  .checkout-section {
    scroll-margin-top: 76px;
  }

  .checkout-head {
    gap: 22px;
    padding: 20px;
    border-radius: 17px;
  }

  .checkout-head::after {
    right: -210px;
  }

  .checkout-head-copy h2 {
    max-width: none;
    font-size: clamp(2.2rem, 11vw, 3.15rem);
  }

  .checkout-head-copy p {
    font-size: 0.94rem;
  }

  .checkout-progress {
    padding: 5px;
    border-radius: 13px;
  }

  .checkout-progress li {
    grid-template-columns: 1fr;
    gap: 4px;
    justify-items: center;
    padding: 7px 5px;
    text-align: center;
  }

  .checkout-step-number {
    width: 30px;
    height: 30px;
  }

  .checkout-progress small {
    display: none;
  }

  .checkout-progress strong {
    margin: 0;
    font-size: 0.66rem;
    white-space: nowrap;
  }

  .checkout-session-note {
    align-items: flex-start;
    margin-bottom: 16px;
    padding: 12px;
    border-radius: 12px;
  }

  .checkout-session-note p {
    font-size: 0.82rem;
  }

  .checkout-layout {
    gap: 14px;
  }

  .cart-panel,
  .checkout-form {
    border-radius: 16px;
  }

  .cart-panel {
    padding: 14px;
  }

  .checkout-panel-head {
    gap: 10px;
  }

  .cart-clear-button {
    width: auto;
  }

  .cart-panel-meta > span:nth-child(n + 2) {
    display: none;
  }

  .cart-item {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 10px 12px;
    padding: 12px;
    border-radius: 13px;
  }

  .cart-item > img {
    grid-row: 1 / span 2;
    width: 58px;
    height: 82px;
  }

  .cart-item-price {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    font-size: 0.92rem;
  }

  .cart-controls {
    grid-column: 1 / -1;
    justify-content: space-between;
  }

  .cart-control-label {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .cart-quantity-stepper {
    grid-template-columns: 40px 34px 40px;
  }

  .cart-remove-button {
    width: auto;
  }

  .cart-empty-state {
    grid-template-columns: 1fr;
    padding: 18px;
    text-align: center;
  }

  .cart-empty-visual {
    width: 58px;
    height: 58px;
    justify-self: center;
  }

  .cart-empty-state .button {
    width: 100%;
  }

  .cart-summary-card {
    padding: 14px;
  }

  .cart-checkout-cta {
    min-height: 62px;
    grid-template-columns: minmax(0, 1fr) auto 18px;
    padding: 7px 13px 7px 15px;
  }

  .cart-checkout-cta > span {
    line-height: 1.2;
  }

  .checkout-info-copy {
    padding-left: 38px;
    padding-right: 6px;
  }

  .checkout-form-head {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 18px 16px;
  }

  .checkout-form-step {
    width: 44px;
    height: 44px;
    border-radius: 13px;
  }

  .checkout-form-head h2 {
    font-size: 1.4rem;
  }

  .checkout-form-body {
    gap: 14px;
    padding: 14px;
  }

  .checkout-form .form-fieldset {
    gap: 14px;
    padding: 16px 14px;
    border-radius: 13px;
  }

  .checkout-form.is-checkout-locked .checkout-gate {
    grid-template-columns: 1fr;
    margin: 14px;
    padding: 18px;
    border-radius: 14px;
  }

  .checkout-gate-icon {
    width: 50px;
    height: 50px;
  }

  .checkout-gate-link {
    width: 100%;
  }

  .checkout-choice-card,
  .checkout-coupon,
  .checkout-terms {
    border-radius: 12px;
  }

  .checkout-trust {
    padding: 15px;
    border-radius: 13px;
  }

  .checkout-actions {
    grid-template-columns: 1fr;
  }

  .checkout-action-note {
    align-items: flex-start;
    text-align: left;
  }

  .cart-toast {
    left: 12px;
    right: 12px;
    top: 76px;
    width: auto;
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .cart-toast a,
  .cart-toast-action {
    grid-column: 2;
    justify-self: start;
    width: auto;
  }

  .product-media.app {
    min-height: 260px;
  }

  .product-hero h1 {
    font-size: clamp(2.65rem, 10vw, 3.4rem);
  }

  .product-store-hero h1 {
    max-width: none;
    font-size: clamp(2.35rem, 10vw, 3.1rem);
    line-height: 1;
  }

  .product-store-status-row span,
  .product-store-assurance span {
    width: auto;
    min-height: 32px;
    justify-content: flex-start;
    border-radius: 999px;
    text-align: left;
  }

  .product-store-facts,
  .product-store-assurance {
    display: none;
  }

  .product-store-cover-frame {
    min-height: 270px;
  }

  .product-store-cover-frame img {
    width: min(190px, 68vw);
  }

  .product-buy-panel {
    padding: 16px;
  }

  .product-buy-panel-head {
    display: grid;
  }

  .brand-title {
    font-size: clamp(2.55rem, 13.4vw, 3.2rem);
  }

  .account-command {
    padding-top: 46px;
  }

  .account-module,
  .account-sidebar,
  .account-command-panel,
  .account-auth-aside,
  .account-split > form,
  .account-profile-layout > form,
  .account-toolbox {
    padding: 14px;
  }

  .account-summary {
    grid-template-columns: 54px minmax(0, 1fr);
  }

  .account-summary .profile-mark,
  .profile-mark {
    width: 54px;
    height: 54px;
    font-size: 1.2rem;
  }

  .spec-list li {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .product-analytics-head,
  .product-target-row {
    grid-template-columns: 1fr;
  }

  .product-target-row strong {
    text-align: left;
  }

  .support-widget {
    right: 12px;
    bottom: 12px;
    width: calc(100vw - 24px);
  }

  .support-panel {
    bottom: 54px;
    max-height: calc(100vh - 82px);
  }

  .account-order-actions,
  .account-order-line-actions,
  .order-purchase-item,
  .order-purchase-side,
  .order-purchase-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .order-card-side {
    min-width: 0;
  }

  .account-order-line {
    flex-direction: column;
  }

  .account-order-line-side {
    width: 100%;
    justify-items: stretch;
    text-align: left;
  }

  .account-order-action-note {
    justify-content: center;
  }
}

/* Shop showroom and standalone cart */
.shop-showroom-hero {
  min-height: min(760px, calc(100svh - 72px));
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr);
  gap: clamp(44px, 7vw, 104px);
  align-items: center;
  padding: clamp(58px, 8vw, 104px) 0 clamp(52px, 7vw, 88px);
}

.shop-showroom-copy {
  position: relative;
  z-index: 2;
}

.shop-showroom-copy h1 {
  max-width: 11.5ch;
  margin-bottom: 26px;
  font-size: clamp(3.35rem, 5.2vw, 5.4rem);
  line-height: 0.94;
  overflow-wrap: normal;
  word-break: normal;
}

.shop-showroom-copy .hero-copy {
  max-width: 600px;
}

.shop-showroom-note {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  max-width: 580px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
}

.shop-showroom-note > span {
  flex: 0 0 auto;
  margin-top: 0.16em;
  color: var(--green);
  font-size: 0.7rem;
  filter: drop-shadow(0 0 8px color-mix(in srgb, var(--green) 55%, transparent));
}

.shop-showroom-visual {
  position: relative;
  min-height: 570px;
  border: 1px solid var(--line);
  border-radius: 28px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--cyan) 20%, transparent), transparent 36%),
    radial-gradient(circle at 86% 82%, color-mix(in srgb, var(--green) 16%, transparent), transparent 38%),
    linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 96%, transparent), color-mix(in srgb, var(--surface) 82%, transparent));
  box-shadow: 0 38px 100px rgba(0, 0, 0, 0.3);
}

.shop-showroom-visual::before,
.shop-showroom-visual::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.shop-showroom-visual::before {
  inset: 0;
  z-index: -2;
  opacity: 0.58;
  background-image:
    linear-gradient(90deg, transparent 49.7%, var(--pattern-line) 50%, transparent 50.3%),
    linear-gradient(transparent 49.7%, var(--pattern-line) 50%, transparent 50.3%);
  background-size: 58px 58px;
  mask-image: linear-gradient(135deg, black, transparent 78%);
}

.shop-showroom-visual::after {
  left: 7%;
  right: 7%;
  bottom: 5%;
  z-index: -1;
  height: 16%;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.32);
  filter: blur(28px);
}

.shop-visual-orbit {
  position: absolute;
  left: 50%;
  top: 49%;
  z-index: -1;
  width: min(78%, 430px);
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--cyan) 26%, transparent);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow:
    0 0 0 34px color-mix(in srgb, var(--cyan) 3%, transparent),
    0 0 0 68px color-mix(in srgb, var(--green) 2.5%, transparent);
}

.shop-hero-cover {
  position: absolute;
  display: grid;
  gap: 12px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--line-strong) 88%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface-strong) 94%, transparent);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.42);
  transition: transform 220ms ease, border-color 180ms ease, box-shadow 220ms ease;
}

.shop-hero-cover.is-primary {
  left: 11%;
  top: 8%;
  z-index: 2;
  width: min(42%, 245px);
  transform: rotate(-5deg);
}

.shop-hero-cover.is-secondary {
  right: 9%;
  bottom: 7%;
  z-index: 1;
  width: min(37%, 215px);
  transform: rotate(6deg);
}

.shop-hero-cover:hover,
.shop-hero-cover:focus-visible {
  z-index: 4;
  border-color: color-mix(in srgb, var(--cyan) 48%, var(--line));
  outline: none;
  box-shadow: 0 38px 90px rgba(0, 0, 0, 0.5);
}

.shop-hero-cover.is-primary:hover,
.shop-hero-cover.is-primary:focus-visible {
  transform: translateY(-9px) rotate(-2.5deg);
}

.shop-hero-cover.is-secondary:hover,
.shop-hero-cover.is-secondary:focus-visible {
  transform: translateY(-9px) rotate(3deg);
}

.shop-hero-cover img {
  width: 100%;
  height: auto;
  aspect-ratio: 0.68;
  object-fit: contain;
  object-position: center top;
  border-radius: 7px;
  background: var(--field-bg);
}

.shop-hero-cover > span {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 0 3px 3px;
}

.shop-hero-cover small {
  color: var(--green);
  font-size: 0.61rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.shop-hero-cover strong {
  color: var(--text);
  font-size: 0.82rem;
  line-height: 1.2;
}

.shop-visual-badge {
  position: absolute;
  left: 8%;
  bottom: 8%;
  z-index: 3;
  display: grid;
  gap: 1px;
  padding: 10px 13px;
  border: 1px solid color-mix(in srgb, var(--green) 30%, var(--line));
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(16px);
}

.shop-visual-badge strong {
  color: var(--text);
  font-size: 0.8rem;
}

.shop-visual-badge span {
  color: var(--green);
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.shop-collection {
  padding-top: clamp(72px, 9vw, 118px);
}

.shop-collection .section-head {
  margin-bottom: 38px;
}

.shop-overview-loading:empty {
  display: none;
}

.shop-overview-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 30px);
}

.shop-overview-card {
  grid-template-columns: minmax(145px, 0.42fr) minmax(0, 0.58fr);
  gap: clamp(18px, 2.4vw, 30px);
  min-height: 430px;
  padding: clamp(18px, 2.4vw, 26px);
  border-radius: 20px;
  background:
    radial-gradient(circle at 5% 5%, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 38%),
    color-mix(in srgb, var(--surface) 94%, transparent);
}

.shop-overview-card::before {
  left: clamp(18px, 2.4vw, 26px);
  right: clamp(18px, 2.4vw, 26px);
  width: auto;
  height: 2px;
  border-radius: 999px;
}

.shop-overview-card:nth-child(even) {
  background:
    radial-gradient(circle at 95% 5%, color-mix(in srgb, var(--green) 8%, transparent), transparent 38%),
    color-mix(in srgb, var(--surface) 94%, transparent);
}

.shop-overview-media {
  position: relative;
  min-height: 100%;
  display: grid;
  place-items: center;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background:
    linear-gradient(150deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 54%),
    var(--field-bg);
}

.shop-overview-media::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: 4%;
  height: 14%;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  filter: blur(18px);
}

.shop-overview-media:hover,
.shop-overview-media:focus-visible {
  border-color: color-mix(in srgb, var(--cyan) 46%, var(--line));
  outline: none;
}

.shop-overview-media .shop-cover {
  position: relative;
  z-index: 1;
  width: min(100%, 190px);
  max-height: 340px;
  transition: transform 220ms ease;
}

.shop-overview-media:hover .shop-cover,
.shop-overview-media:focus-visible .shop-cover {
  transform: translateY(-5px) rotate(-1deg);
}

.shop-overview-status {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 3;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid color-mix(in srgb, var(--green) 34%, var(--line));
  border-radius: 999px;
  color: var(--green);
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent);
  font-size: 0.7rem;
  font-weight: 880;
  backdrop-filter: blur(12px);
}

.shop-overview-status[data-status="planned"] {
  border-color: color-mix(in srgb, var(--amber) 42%, var(--line));
  color: var(--amber);
}

.shop-overview-body {
  gap: 11px;
  align-content: stretch;
}

.shop-overview-body .section-kicker {
  align-self: start;
  font-size: 0.68rem;
}

.shop-overview-body h2 {
  margin: 5px 0 0;
  font-size: clamp(1.55rem, 2.5vw, 2.25rem);
}

.shop-overview-body h2 a:hover,
.shop-overview-body h2 a:focus-visible {
  color: var(--cyan);
  outline: none;
}

.shop-overview-subtitle {
  color: var(--green) !important;
  font-size: 0.82rem;
  font-weight: 820;
}

.shop-overview-body .shop-summary {
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.58;
}

.shop-overview-tags {
  padding-top: 3px;
}

.shop-overview-tags .tag {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--soft);
  background: var(--field-bg);
  font-size: 0.7rem;
  font-weight: 760;
}

.shop-overview-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.shop-overview-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-left: auto;
  color: var(--text);
  font-size: 0.88rem;
  font-weight: 860;
}

.shop-overview-link svg {
  width: 19px;
  height: 19px;
  color: var(--green);
  transition: transform 160ms ease;
}

.shop-overview-link:hover,
.shop-overview-link:focus-visible {
  color: var(--cyan);
  outline: none;
}

.shop-overview-link:hover svg,
.shop-overview-link:focus-visible svg {
  transform: translateX(4px);
}

.shop-assurance-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 26px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.shop-assurance-strip article {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  padding: 4px clamp(18px, 3vw, 34px);
}

.shop-assurance-strip article + article {
  border-left: 1px solid var(--line);
}

.shop-assurance-strip article > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--cyan) 28%, var(--line));
  border-radius: 11px;
  color: var(--cyan);
  background: color-mix(in srgb, var(--cyan) 6%, var(--field-bg));
  font-size: 0.66rem;
  font-weight: 900;
}

.shop-assurance-strip h2 {
  margin: 1px 0 5px;
  font-size: 0.94rem;
  line-height: 1.2;
}

.shop-assurance-strip p {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.48;
}

.shop-marketplace-bridge {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: center;
  margin-top: 58px;
  margin-bottom: 76px;
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid var(--line);
  border-radius: 20px;
  background:
    linear-gradient(110deg, color-mix(in srgb, var(--violet) 8%, transparent), transparent 54%),
    var(--glass);
}

.shop-marketplace-bridge h2 {
  margin: 6px 0 8px;
  font-size: clamp(1.7rem, 3vw, 2.7rem);
}

.shop-marketplace-bridge p {
  margin: 0;
  color: var(--muted);
}

.shop-marketplace-bridge .button {
  flex: 0 0 auto;
}

.cart-page-intro {
  padding: clamp(28px, 4.5vw, 50px) 0 4px;
}

.cart-page-back {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.cart-page-back svg {
  width: 19px;
  height: 19px;
  color: var(--green);
  transition: transform 160ms ease;
}

.cart-page-back:hover,
.cart-page-back:focus-visible {
  color: var(--text);
  outline: none;
}

.cart-page-back:hover svg,
.cart-page-back:focus-visible svg {
  transform: translateX(-3px);
}

.cart-page-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(300px, 0.55fr);
  gap: 28px;
  align-items: end;
  margin-top: 22px;
  padding-bottom: 8px;
}

.cart-page-heading .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -8px;
}

.cart-page-heading h1 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(2.75rem, 4.7vw, 4.7rem);
}

.cart-page-heading > p:last-child {
  max-width: 52ch;
  margin: 0 0 8px;
  color: var(--hero-text);
  font-size: clamp(1rem, 1.7vw, 1.16rem);
}

.cart-page-body .checkout-section {
  padding-top: 24px;
}

.cart-page-body .checkout-head {
  grid-template-columns: 1fr;
  justify-items: center;
  padding: 9px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
}

.cart-page-body .checkout-head::after {
  display: none;
}

.cart-page-body .checkout-progress {
  width: min(100%, 720px);
}

.cart-page-body .checkout-section.is-cart-empty .checkout-head,
.cart-page-body .checkout-section.is-cart-empty .checkout-session-note {
  display: none;
}

.cart-page-body .checkout-form.is-checkout-locked .checkout-form-head {
  display: none;
}

.cart-page-body .cart-clear-button,
.cart-page-body .cart-remove-button {
  min-height: 44px;
}

.cart-page-body .cart-quantity-stepper {
  grid-template-columns: 44px 38px 44px;
  min-height: 44px;
}

.cart-page-body .cart-quantity-button {
  width: 44px;
  height: 44px;
}

.cart-loading-message {
  margin: 0;
  padding: 24px;
  border: 1px dashed var(--line);
  border-radius: 14px;
  text-align: center;
}

.checkout-section.is-checkout-cancelled .checkout-session-note {
  border-color: color-mix(in srgb, var(--amber) 42%, var(--line));
  background: color-mix(in srgb, var(--amber) 7%, var(--field-bg));
}

.checkout-section.is-checkout-cancelled .checkout-session-icon {
  color: var(--amber);
  border-color: color-mix(in srgb, var(--amber) 36%, var(--line));
  background: color-mix(in srgb, var(--amber) 9%, var(--field-bg));
}

@media (max-width: 1080px) {
  .checkout-layout .info-panel.cart-panel {
    position: static;
    max-height: none;
    overflow: visible;
  }

  .shop-showroom-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 42px;
  }

  .shop-showroom-copy {
    max-width: 820px;
  }

  .shop-showroom-visual {
    width: min(100%, 760px);
    min-height: 540px;
    margin: 0 auto;
  }

  .shop-overview-grid {
    grid-template-columns: 1fr;
  }

  .shop-overview-card {
    grid-template-columns: minmax(180px, 0.36fr) minmax(0, 0.64fr);
    min-height: 390px;
  }

  .shop-overview-media .shop-cover {
    width: min(100%, 210px);
  }
}

@media (max-width: 760px) {
  .shop-showroom-hero {
    padding-top: 48px;
  }

  .shop-showroom-copy h1 {
    max-width: 11ch;
    font-size: clamp(3.2rem, 13vw, 5.1rem);
  }

  .shop-showroom-visual {
    min-height: 450px;
    border-radius: 20px;
  }

  .shop-assurance-strip {
    grid-template-columns: 1fr;
  }

  .shop-assurance-strip article {
    padding: 18px 6px;
  }

  .shop-assurance-strip article + article {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .shop-marketplace-bridge {
    display: grid;
    margin-top: 42px;
    margin-bottom: 54px;
  }

  .shop-marketplace-bridge .button {
    width: fit-content;
  }

  .cart-page-heading {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .cart-page-heading .eyebrow {
    margin-bottom: 0;
  }
}

@media (max-width: 560px) {
  .shop-showroom-hero {
    gap: 34px;
    padding-top: 38px;
    padding-bottom: 44px;
  }

  .shop-showroom-copy h1 {
    font-size: clamp(2.85rem, 13.2vw, 3.9rem);
  }

  .shop-showroom-note {
    font-size: 0.8rem;
  }

  .shop-showroom-visual {
    min-height: 370px;
  }

  .shop-hero-cover {
    padding: 7px;
  }

  .shop-hero-cover.is-primary {
    left: 7%;
    top: 7%;
    width: 44%;
  }

  .shop-hero-cover.is-secondary {
    right: 6%;
    bottom: 6%;
    width: 40%;
  }

  .shop-hero-cover > span,
  .shop-visual-badge {
    display: none;
  }

  .shop-collection {
    padding-top: 64px;
  }

  .shop-collection .section-head {
    margin-bottom: 24px;
  }

  .shop-overview-card {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 15px;
    border-radius: 17px;
  }

  .shop-overview-media {
    min-height: 310px;
    padding: 20px;
  }

  .shop-overview-media .shop-cover {
    width: min(62%, 190px);
    max-height: 270px;
  }

  .shop-overview-body {
    padding: 4px 2px 2px;
  }

  .shop-overview-body h2 {
    font-size: 1.65rem;
  }

  .shop-overview-footer {
    display: grid;
  }

  .shop-overview-link {
    width: 100%;
    justify-content: space-between;
    margin-left: 0;
  }

  .shop-marketplace-bridge {
    padding: 22px 18px;
    border-radius: 17px;
  }

  .shop-marketplace-bridge .button {
    width: 100%;
  }

  .shop-overview-page .support-toggle {
    width: 50px;
    min-width: 50px;
    height: 50px;
    padding: 0;
    border-radius: 50%;
    font-size: 0;
  }

  .shop-overview-page .support-toggle::before {
    content: "?";
    font-size: 1rem;
    font-weight: 950;
  }

  .cart-page-intro {
    padding-top: 28px;
  }

  .cart-page-heading {
    margin-top: 14px;
  }

  .cart-page-heading h1 {
    max-width: 10ch;
    font-size: clamp(2.55rem, 12.5vw, 3.25rem);
  }

  .cart-page-heading > p:last-child {
    font-size: 0.92rem;
  }

  .cart-page-body .checkout-section {
    padding-top: 18px;
  }

}

/* Inline cart authentication */
.checkout-customer-column {
  grid-area: form;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.cart-page-body .checkout-form.is-checkout-locked {
  display: none;
}

.cart-auth-panel {
  min-width: 0;
  padding: clamp(20px, 3.5vw, 32px);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cyan) 24%, var(--line));
  border-radius: 20px;
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--cyan) 13%, transparent), transparent 38%),
    radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--green) 9%, transparent), transparent 42%),
    color-mix(in srgb, var(--panel) 95%, transparent);
  box-shadow: 0 28px 76px rgba(0, 0, 0, 0.23);
  scroll-margin-top: 92px;
}

.cart-auth-loading,
.cart-auth-head,
.cart-auth-status {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.cart-auth-loading {
  align-items: center;
  min-height: 120px;
  color: var(--muted);
}

.cart-auth-loading strong {
  display: block;
  margin-bottom: 4px;
  color: var(--text);
}

.cart-auth-loading p,
.cart-auth-head p,
.cart-auth-status p,
.cart-auth-view-head p {
  margin: 0;
  color: var(--muted);
}

.cart-auth-loading-mark,
.cart-auth-icon,
.cart-auth-status-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--cyan) 34%, var(--line));
  border-radius: 17px;
  color: var(--cyan);
  background: color-mix(in srgb, var(--cyan) 9%, var(--field-bg));
}

.cart-auth-loading-mark::before {
  content: "";
  width: 17px;
  height: 17px;
  border: 2px solid color-mix(in srgb, var(--cyan) 28%, transparent);
  border-top-color: var(--cyan);
  border-radius: 50%;
}

.cart-auth-icon svg,
.cart-auth-status-icon svg {
  width: 28px;
  height: 28px;
}

.cart-auth-head h2,
.cart-auth-status h2 {
  max-width: none;
  margin: 5px 0 8px;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  line-height: 1;
}

.cart-auth-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 24px 0 20px;
}

.cart-auth-benefits > span {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: color-mix(in srgb, var(--field-bg) 72%, transparent);
}

.cart-auth-benefits strong {
  color: var(--text);
  font-size: 0.78rem;
}

.cart-auth-benefits small {
  color: var(--soft);
  font-size: 0.68rem;
  line-height: 1.35;
}

.cart-auth-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 20px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--glass);
}

.cart-auth-tab {
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--muted);
  background: transparent;
  font-weight: 830;
  cursor: pointer;
}

.cart-auth-tab:hover,
.cart-auth-tab:focus-visible {
  color: var(--text);
  border-color: color-mix(in srgb, var(--cyan) 38%, var(--line));
  outline: none;
}

.cart-auth-tab.is-active {
  color: var(--ink);
  border-color: transparent;
  background: linear-gradient(135deg, var(--cyan), var(--green));
}

.cart-auth-view {
  max-width: 660px;
  margin: 0 auto;
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-strong) 62%, transparent);
}

.cart-auth-view-head {
  margin-bottom: 4px;
}

.cart-auth-view-head h3 {
  margin-bottom: 5px;
  font-size: clamp(1.24rem, 2vw, 1.55rem);
}

.cart-auth-view > .button {
  width: 100%;
  margin-top: 2px;
}

.cart-auth-status {
  min-height: 230px;
  align-content: center;
  padding: clamp(4px, 2vw, 18px);
}

.cart-auth-status-icon {
  color: var(--amber);
  border-color: color-mix(in srgb, var(--amber) 38%, var(--line));
  background: color-mix(in srgb, var(--amber) 9%, var(--field-bg));
}

.cart-auth-status-actions {
  margin-top: 20px;
}

.cart-auth-status .form-message {
  margin-top: 16px;
}

/* Future-facing home experience */
.home-future {
  background:
    radial-gradient(circle at 8% 4%, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 28%),
    radial-gradient(circle at 92% 18%, color-mix(in srgb, var(--violet) 9%, transparent), transparent 31%),
    linear-gradient(158deg, var(--bg) 0%, var(--bg-2) 52%, var(--bg) 100%);
}

.home-future::before {
  opacity: 0.34;
  background-image:
    linear-gradient(90deg, var(--pattern-line) 1px, transparent 1px),
    linear-gradient(var(--pattern-line) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, black 0, rgba(0, 0, 0, 0.48) 56%, transparent 96%);
}

.home-future::after {
  top: 30vh;
  height: 1px;
  opacity: 0.42;
  background: linear-gradient(90deg, transparent, var(--cyan), var(--green), transparent);
  box-shadow: 0 0 42px color-mix(in srgb, var(--cyan) 36%, transparent);
  transform: none;
}

.home-future .site-header {
  background: color-mix(in srgb, var(--header-bg) 88%, transparent);
}

.home-future-hero {
  min-height: calc(100svh - 72px);
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
  gap: clamp(42px, 7vw, 100px);
  align-items: center;
  padding: clamp(56px, 7vw, 92px) 0 clamp(68px, 8vw, 108px);
}

.home-future-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.home-future-copy h1 {
  max-width: 11.5ch;
  margin-bottom: 26px;
  padding: 0;
  overflow-wrap: normal;
  color: var(--text);
  background: none;
  filter: none;
  font-size: clamp(3.8rem, 6.2vw, 7rem);
  line-height: 0.92;
  letter-spacing: -0.058em;
}

.home-hero-accent {
  color: transparent;
  background: linear-gradient(100deg, var(--cyan), var(--green));
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 14px 36px color-mix(in srgb, var(--cyan) 20%, transparent));
}

.home-future-copy .hero-copy {
  max-width: 620px;
  font-size: clamp(1.06rem, 1.6vw, 1.24rem);
  line-height: 1.65;
}

.home-text-link {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 8px;
  color: var(--text);
  font-weight: 820;
}

.home-text-link span,
.home-path-more span {
  color: var(--cyan);
  transition: transform 160ms ease;
}

.home-text-link:hover span,
.home-text-link:focus-visible span,
.home-path-more:hover span,
.home-path-more:focus-visible span {
  transform: translateX(4px);
}

.home-text-link:focus-visible,
.home-path-more:focus-visible {
  border-radius: 6px;
  outline: 2px solid var(--cyan);
  outline-offset: 4px;
}

.home-proof-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin: 28px 0 0;
  padding: 0;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 760;
  list-style: none;
}

.home-proof-list li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.home-proof-list li::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 14px color-mix(in srgb, var(--green) 62%, transparent);
}

.future-core {
  position: relative;
  min-width: 0;
  min-height: 640px;
  border: 1px solid color-mix(in srgb, var(--cyan) 18%, var(--line));
  border-radius: 32px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 27%),
    radial-gradient(circle at 12% 88%, color-mix(in srgb, var(--green) 10%, transparent), transparent 30%),
    linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 92%, transparent), color-mix(in srgb, var(--surface) 72%, transparent));
  box-shadow: 0 40px 110px rgba(0, 0, 0, 0.34);
}

.future-core::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.22;
  background: repeating-linear-gradient(90deg, transparent 0 71px, var(--pattern-line) 72px 73px);
}

.future-core::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 12%;
  z-index: -1;
  height: 1px;
  opacity: 0;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  box-shadow: 0 0 30px color-mix(in srgb, var(--cyan) 48%, transparent);
}

.future-orbit {
  position: absolute;
  left: 50%;
  top: 48%;
  z-index: -1;
  border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.future-orbit-one {
  width: 58%;
  aspect-ratio: 1;
}

.future-orbit-two {
  width: 88%;
  aspect-ratio: 1;
  border-color: color-mix(in srgb, var(--green) 14%, transparent);
}

.future-core-grid {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0.38;
  background-image:
    linear-gradient(90deg, var(--pattern-line) 1px, transparent 1px),
    linear-gradient(var(--pattern-line) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at center, black, transparent 76%);
}

.future-core-brand {
  position: absolute;
  left: 50%;
  top: 48%;
  width: 184px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  padding: 28px;
  border: 1px solid color-mix(in srgb, var(--cyan) 36%, var(--line));
  border-radius: 50%;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent);
  box-shadow:
    0 0 0 14px color-mix(in srgb, var(--cyan) 4%, transparent),
    0 30px 80px rgba(0, 0, 0, 0.4),
    0 0 62px color-mix(in srgb, var(--cyan) 16%, transparent);
  transform: translate(-50%, -50%);
}

.future-core-brand img {
  width: 74px;
  height: 74px;
  border-radius: 22px;
}

.future-core-brand span {
  font-size: 0.92rem;
  font-weight: 900;
}

.future-core-brand small {
  color: var(--soft);
  font-size: 0.59rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.future-node {
  position: absolute;
  z-index: 2;
  min-width: 190px;
  min-height: 82px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px 15px;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: var(--text);
  background: color-mix(in srgb, var(--surface-strong) 90%, transparent);
  box-shadow: 0 22px 52px rgba(0, 0, 0, 0.28);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.future-node:hover,
.future-node:focus-visible {
  z-index: 3;
  border-color: color-mix(in srgb, var(--cyan) 54%, var(--line));
  background: var(--surface-strong);
  transform: translateY(-5px);
  outline: none;
}

.future-node:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 4px;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--cyan) 18%, transparent), 0 22px 52px rgba(0, 0, 0, 0.28);
}

.future-node-systems {
  right: 6%;
  top: 10%;
}

.future-node-everyday {
  right: 5%;
  bottom: 11%;
}

.future-node-knowledge {
  left: 5%;
  bottom: 13%;
}

.future-node-images {
  width: 66px;
  height: 52px;
  position: relative;
  display: block;
}

.future-node-images img {
  position: absolute;
  width: 48px;
  height: 48px;
  border: 2px solid var(--surface-strong);
  border-radius: 14px;
  object-fit: cover;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

.future-node-images img:first-child {
  left: 0;
  top: 0;
}

.future-node-images img:last-child {
  right: 0;
  bottom: 0;
}

.future-node-images.is-books img {
  width: 35px;
  height: 50px;
  border-radius: 5px;
  object-fit: contain;
}

.future-node-copy {
  display: grid;
  gap: 2px;
}

.future-node-copy small {
  color: var(--green);
  font-size: 0.61rem;
  font-weight: 860;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.future-node-copy strong {
  font-size: 1rem;
}

.future-core-status {
  position: absolute;
  left: 22px;
  top: 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 790;
}

.future-core-status span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 16px color-mix(in srgb, var(--green) 70%, transparent);
}

.home-ecosystem {
  padding-top: clamp(88px, 10vw, 142px);
}

.home-ecosystem .section-head {
  margin-bottom: 42px;
}

.home-path-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.home-path {
  position: relative;
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 20px;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--line);
  border-radius: 26px;
  overflow: hidden;
  background: color-mix(in srgb, var(--panel) 82%, transparent);
  box-shadow: 0 24px 72px rgba(0, 0, 0, 0.18);
  scroll-margin-top: 104px;
}

.home-path::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.42;
  background: radial-gradient(circle at 100% 0, color-mix(in srgb, var(--path-accent, var(--cyan)) 18%, transparent), transparent 42%);
}

.home-path-systems {
  --path-accent: var(--cyan);
  grid-column: span 7;
}

.home-path-everyday {
  --path-accent: var(--green);
  grid-column: span 5;
}

.home-path-knowledge {
  --path-accent: var(--amber);
  grid-column: 1 / -1;
  grid-template-columns: minmax(240px, 0.38fr) minmax(0, 0.62fr);
  align-items: center;
}

.home-path-knowledge .home-path-head,
.home-path-knowledge > p,
.home-path-knowledge .home-path-more {
  grid-column: 1;
}

.home-path-knowledge .home-path-products {
  grid-column: 2;
  grid-row: 1 / span 3;
}

.home-path-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.home-path-number {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--path-accent) 34%, var(--line));
  border-radius: 13px;
  color: var(--path-accent);
  background: color-mix(in srgb, var(--path-accent) 8%, transparent);
  font-size: 0.72rem;
  font-weight: 900;
}

.home-path-kicker {
  margin: 0 0 5px;
  color: var(--path-accent);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-path h3 {
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 2.4rem);
}

.home-path > p {
  max-width: 54ch;
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
}

.home-path-products {
  display: grid;
  gap: 10px;
}

.home-path-knowledge .home-path-products {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-product-link {
  min-width: 0;
  min-height: 74px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 20px;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-strong) 64%, transparent);
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.home-product-link:hover,
.home-product-link:focus-visible {
  border-color: color-mix(in srgb, var(--path-accent) 48%, var(--line));
  background: var(--surface-hover);
  transform: translateY(-3px);
  outline: none;
}

.home-product-link:focus-visible {
  outline: 2px solid var(--path-accent);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--path-accent) 15%, transparent);
}

.home-product-link > img {
  width: 48px;
  height: 48px;
  border-radius: 13px;
  object-fit: cover;
}

.home-product-link.is-book > img {
  width: 36px;
  height: 52px;
  justify-self: center;
  border-radius: 4px;
  object-fit: contain;
}

.home-product-link > span:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.home-product-link strong {
  font-size: 0.94rem;
}

.home-product-link small {
  color: var(--soft);
  font-size: 0.74rem;
}

.home-product-link > span:last-child {
  color: var(--path-accent);
}

.home-path-more {
  width: fit-content;
  display: inline-flex;
  gap: 9px;
  color: var(--text);
  font-size: 0.86rem;
  font-weight: 820;
}

.home-feature-band {
  margin-top: clamp(52px, 7vw, 96px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 74% 45%, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 30%),
    color-mix(in srgb, var(--surface-strong) 58%, transparent);
}

.home-feature-layout,
.home-library-layout,
.home-founder {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.72fr);
  gap: clamp(42px, 7vw, 100px);
  align-items: center;
}

.home-feature-copy h2,
.home-library-copy h2,
.home-founder h2 {
  max-width: 12ch;
  margin: 10px 0 22px;
}

.home-feature-copy .lead,
.home-library-copy .lead,
.home-founder .lead {
  max-width: 610px;
  line-height: 1.62;
}

.home-feature-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.home-feature-facts li {
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--hero-text);
  background: var(--glass);
  font-size: 0.78rem;
  font-weight: 780;
}

.home-feature-visual {
  position: relative;
  min-height: 560px;
  display: grid;
  place-items: center;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 30px;
  background:
    radial-gradient(circle at center, color-mix(in srgb, var(--cyan) 17%, transparent), transparent 36%),
    color-mix(in srgb, var(--panel) 74%, transparent);
}

.home-feature-visual > img {
  position: relative;
  z-index: 2;
  width: min(250px, 58%);
  height: auto;
  max-height: 410px;
  border-radius: 8px;
  object-fit: contain;
  box-shadow: 0 42px 100px rgba(0, 0, 0, 0.48);
  transform: perspective(1000px) rotateY(-7deg) rotateX(1deg);
}

.home-feature-orbit {
  position: absolute;
  width: 72%;
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
  border-radius: 50%;
  box-shadow: inset 0 0 70px color-mix(in srgb, var(--cyan) 5%, transparent);
}

.home-feature-grid {
  position: absolute;
  inset: 0;
  opacity: 0.42;
  background-image:
    linear-gradient(90deg, var(--pattern-line) 1px, transparent 1px),
    linear-gradient(var(--pattern-line) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at center, black, transparent 72%);
}

.home-feature-visual figcaption {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 20px;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--muted);
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent);
  backdrop-filter: blur(14px);
  font-size: 0.76rem;
}

.home-feature-visual figcaption strong {
  color: var(--text);
}

.home-principles {
  display: grid;
  grid-template-columns: minmax(250px, 0.34fr) minmax(0, 0.66fr);
  gap: clamp(32px, 6vw, 90px);
  align-items: start;
}

.home-principles-head h2 {
  max-width: 8ch;
  margin-top: 10px;
}

.home-principles-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.home-principles-list li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.home-principles-list li > span {
  color: var(--green);
  font-size: 0.72rem;
  font-weight: 900;
}

.home-principles-list h3 {
  margin-bottom: 5px;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.home-principles-list p {
  margin: 0;
  color: var(--muted);
}

.home-library-band {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 18% 50%, color-mix(in srgb, var(--green) 10%, transparent), transparent 28%),
    color-mix(in srgb, var(--surface) 58%, transparent);
}

.home-library-preview {
  min-width: 0;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--green) 20%, var(--line));
  border-radius: 26px;
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent);
  box-shadow: 0 32px 86px rgba(0, 0, 0, 0.24);
}

.home-library-preview-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 4px 4px 16px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.75rem;
}

.home-library-preview-head span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.home-library-preview-head i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 14px color-mix(in srgb, var(--green) 70%, transparent);
}

.home-library-preview-head strong {
  color: var(--text);
}

.home-library-preview ul {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.home-library-preview li {
  min-height: 74px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--glass);
}

.home-library-preview li > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--cyan);
  background: color-mix(in srgb, var(--cyan) 8%, transparent);
  font-size: 0.68rem;
  font-weight: 900;
}

.home-library-preview li div {
  display: grid;
  gap: 3px;
}

.home-library-preview li small {
  color: var(--soft);
}

.home-founder {
  padding-top: clamp(90px, 10vw, 142px);
  padding-bottom: clamp(90px, 10vw, 142px);
}

.home-founder-copy > .button {
  margin-top: 18px;
}

.home-founder-signals {
  display: grid;
  gap: 10px;
}

.home-founder-signals > div {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  border-top: 1px solid var(--line);
}

.home-founder-signals > div:last-child {
  border-bottom: 1px solid var(--line);
}

.home-founder-signals > div > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--green);
  background: var(--glass);
  font-size: 0.72rem;
  font-weight: 900;
}

.home-founder-signals h3 {
  margin-bottom: 4px;
}

.home-founder-signals p {
  margin: 0;
  color: var(--muted);
}

html[data-theme="light"] .future-core,
html[data-theme="light"] .home-feature-visual,
html[data-theme="light"] .home-library-preview {
  box-shadow: 0 34px 90px rgba(23, 58, 78, 0.14);
}

@media (max-width: 1080px) {
  .home-future-hero,
  .home-feature-layout,
  .home-library-layout,
  .home-founder {
    grid-template-columns: 1fr;
  }

  .home-future-hero {
    min-height: 0;
    gap: 54px;
  }

  .home-future-copy {
    max-width: 840px;
  }

  .home-future-copy h1 {
    max-width: 12ch;
  }

  .future-core {
    width: min(100%, 820px);
    margin: 0 auto;
  }

  .home-feature-copy,
  .home-library-copy,
  .home-founder-copy {
    max-width: 780px;
  }

  .home-feature-visual,
  .home-library-preview,
  .home-founder-signals {
    width: min(100%, 760px);
  }
}

@media (max-width: 760px) {
  .cart-auth-head,
  .cart-auth-status {
    grid-template-columns: 1fr;
  }

  .cart-auth-benefits {
    grid-template-columns: 1fr;
  }

  .home-future-hero {
    padding-top: 48px;
  }

  .home-future-copy h1 {
    font-size: clamp(3.25rem, 13vw, 5.2rem);
  }

  .future-core {
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 56px 16px 16px;
    border-radius: 24px;
  }

  .future-core-brand,
  .future-node,
  .future-core-status {
    position: static;
    min-width: 0;
    transform: none;
  }

  .future-core-brand {
    grid-column: 1 / -1;
    width: 170px;
    margin: 0 auto 28px;
  }

  .future-node {
    width: 100%;
  }

  .future-node:hover,
  .future-node:focus-visible {
    transform: translateY(-3px);
  }

  .future-node-knowledge {
    grid-column: 1 / -1;
  }

  .future-core-status {
    position: absolute;
    left: 18px;
    top: 18px;
  }

  .future-orbit-one {
    width: 60%;
  }

  .future-orbit-two {
    width: 100%;
  }

  .home-path-grid,
  .home-path-knowledge,
  .home-principles {
    grid-template-columns: 1fr;
  }

  .home-path-systems,
  .home-path-everyday,
  .home-path-knowledge,
  .home-path-knowledge .home-path-head,
  .home-path-knowledge > p,
  .home-path-knowledge .home-path-products,
  .home-path-knowledge .home-path-more {
    grid-column: 1;
  }

  .home-path-knowledge .home-path-head,
  .home-path-knowledge .home-path-products,
  .home-path-knowledge > p,
  .home-path-knowledge .home-path-more {
    grid-row: auto;
  }

  .home-feature-visual {
    min-height: 500px;
  }

  .home-principles-head h2 {
    max-width: none;
  }
}

@media (max-width: 560px) {
  .cart-auth-panel {
    padding: 16px;
    border-radius: 16px;
  }

  .cart-auth-guest {
    display: flex;
    flex-direction: column;
  }

  .cart-auth-head {
    order: 1;
  }

  .cart-auth-tabs {
    order: 2;
  }

  .cart-auth-view {
    order: 3;
  }

  .cart-auth-benefits {
    order: 4;
    margin: 16px 0 0;
  }

  .cart-auth-loading {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
  }

  .cart-auth-loading-mark,
  .cart-auth-icon,
  .cart-auth-status-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
  }

  .cart-auth-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    margin-bottom: 0;
    border-bottom-color: transparent;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  .cart-auth-tab {
    width: 100%;
    min-height: 40px;
    padding: 0 6px;
    font-size: 0.76rem;
    line-height: 1.1;
  }

  .cart-auth-view {
    margin-top: -1px;
    padding: 16px;
    border-top-color: color-mix(in srgb, var(--line) 70%, transparent);
    border-radius: 14px;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
  }

  .cart-auth-view .form-row.two {
    grid-template-columns: 1fr;
  }

  .home-future-hero {
    gap: 38px;
    padding-top: 38px;
    padding-bottom: 60px;
  }

  .home-future-copy h1 {
    font-size: clamp(2.95rem, 13.4vw, 4.1rem);
  }

  .home-future-copy .hero-actions {
    display: grid;
  }

  .home-text-link {
    justify-content: center;
  }

  .home-proof-list {
    display: grid;
  }

  .future-core {
    grid-template-columns: 1fr;
    padding: 54px 12px 12px;
    border-radius: 20px;
  }

  .future-node-knowledge {
    grid-column: 1;
  }

  .home-path {
    padding: 20px 16px;
    border-radius: 20px;
  }

  .home-path-knowledge .home-path-products {
    grid-template-columns: 1fr;
  }

  .home-feature-band,
  .home-library-band {
    padding: 66px 0;
  }

  .home-feature-visual {
    min-height: 410px;
    border-radius: 20px;
  }

  .home-feature-visual > img {
    width: min(210px, 58%);
    max-height: 310px;
  }

  .home-feature-visual figcaption {
    left: 12px;
    right: 12px;
    bottom: 12px;
    display: grid;
  }

  .home-library-preview {
    padding: 12px;
    border-radius: 20px;
  }

  .home-founder {
    padding-top: 76px;
    padding-bottom: 76px;
  }

  .home-future .support-toggle {
    width: 50px;
    min-width: 50px;
    height: 50px;
    padding: 0;
    border-radius: 50%;
    font-size: 0;
  }

  .home-future .support-toggle::before {
    content: "?";
    font-size: 1rem;
    font-weight: 950;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .cart-auth-loading-mark::before {
    animation: cart-auth-spin 900ms linear infinite;
  }

  .future-core::after {
    animation: home-core-scan 7s ease-in-out infinite;
  }

  .future-core-brand {
    animation: home-core-breathe 5.5s ease-in-out infinite;
  }
}

/* Content Studio: sichere, versionsbasierte Seitentext-Verwaltung */
.content-admin-bar {
  position: fixed;
  z-index: 250;
  left: max(16px, env(safe-area-inset-left));
  bottom: max(16px, env(safe-area-inset-bottom));
  max-width: calc(100vw - 32px);
  display: flex;
  gap: 7px;
  align-items: center;
  padding: 7px;
  border: 1px solid var(--line-strong);
  border-radius: 16px;
  color: var(--text);
  background: color-mix(in srgb, var(--surface-strong) 94%, transparent);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.34);
  backdrop-filter: blur(18px);
}

.content-admin-status {
  min-width: 0;
  display: grid;
  gap: 1px;
  padding: 0 10px 0 7px;
  line-height: 1.25;
}

.content-admin-status strong {
  font-size: 0.78rem;
}

.content-admin-status small {
  color: var(--muted);
  font-size: 0.68rem;
  white-space: nowrap;
}

.content-admin-action {
  width: auto;
  min-width: 44px;
  min-height: 44px !important;
  flex: 0 0 auto;
  white-space: nowrap;
}

.content-admin-icon {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  font-size: 1.05rem;
  line-height: 1;
}

html[data-content-admin="true"][data-content-admin-markers="true"] [data-content-key] {
  outline: 1px dashed color-mix(in srgb, var(--cyan) 68%, var(--line));
  outline-offset: 4px;
  border-radius: 3px;
  background-color: color-mix(in srgb, var(--cyan) 5%, transparent);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  transition: outline-color 160ms ease, background-color 160ms ease;
}

html[data-content-admin="true"][data-content-admin-markers="true"] [data-content-key]:hover,
html[data-content-admin="true"][data-content-admin-markers="true"] [data-content-key].is-content-edit-active {
  outline: 2px solid color-mix(in srgb, var(--cyan) 82%, var(--line));
  background-color: color-mix(in srgb, var(--cyan) 11%, transparent);
}

.content-admin-field-link {
  position: fixed;
  z-index: 255;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--cyan) 58%, var(--line));
  border-radius: 50%;
  color: var(--ink);
  background: linear-gradient(135deg, var(--cyan), var(--green));
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  font-size: 1.15rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}

.content-admin-field-link[hidden] {
  display: none;
}

body.support-open .content-admin-bar,
body.support-open .content-admin-field-link {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.admin-content-panel {
  min-width: 0;
  padding-bottom: 18px;
}

.admin-content-panel > .content-studio-intro,
.admin-content-panel > .content-studio-summary,
.admin-content-panel > [data-content-message],
.admin-content-panel > .content-studio-workspace {
  margin-left: 18px;
  margin-right: 18px;
}

.content-studio-intro {
  max-width: 980px;
  margin: -2px 0 22px;
}

.content-studio-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.content-studio-summary article {
  display: grid;
  gap: 7px;
  min-height: 94px;
  padding: 17px 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel) 90%, transparent);
}

.content-studio-summary span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.content-studio-summary strong {
  font-size: clamp(1.55rem, 2.6vw, 2.25rem);
  line-height: 1;
}

.content-studio-workspace {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.content-page-browser,
.content-editor-empty,
.content-editor {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: color-mix(in srgb, var(--panel) 94%, transparent);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.14);
}

.content-page-browser {
  position: sticky;
  top: 90px;
  display: grid;
  gap: 14px;
  max-height: calc(100vh - 116px);
  padding: 14px;
  overflow: auto;
}

.content-browser-toolbar {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.content-page-list {
  display: grid;
  gap: 8px;
}

.content-page-group {
  display: grid;
  gap: 7px;
}

.content-page-group + .content-page-group {
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.content-page-group-title {
  padding: 0 4px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.content-page-card {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 10px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid transparent;
  border-radius: 15px;
  background: color-mix(in srgb, var(--bg) 74%, transparent);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.content-page-card:hover,
.content-page-card:focus-visible {
  border-color: color-mix(in srgb, var(--cyan) 55%, var(--line));
  transform: translateY(-1px);
}

.content-page-card:disabled {
  opacity: 0.62;
  cursor: progress;
  transform: none;
}

.content-page-card.is-active {
  border-color: color-mix(in srgb, var(--cyan) 68%, var(--line));
  background: color-mix(in srgb, var(--cyan) 10%, var(--panel));
  box-shadow: inset 3px 0 0 var(--cyan);
}

.content-page-card strong,
.content-page-card small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.content-page-card small {
  color: var(--muted);
  font-size: 0.74rem;
}

.content-page-status {
  grid-row: 1 / span 2;
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--muted) 10%, transparent);
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 900;
  white-space: nowrap;
}

.content-page-status.is-draft {
  background: color-mix(in srgb, var(--amber) 13%, transparent);
  color: var(--amber);
}

.content-page-status.is-live {
  background: color-mix(in srgb, var(--green) 13%, transparent);
  color: var(--green);
}

.content-managed-elsewhere {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 11px;
  padding: 14px;
  border: 1px dashed color-mix(in srgb, var(--cyan) 34%, var(--line));
  border-radius: 16px;
  background: color-mix(in srgb, var(--cyan) 5%, transparent);
}

.content-managed-elsewhere p {
  margin: 4px 0 10px;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.5;
}

.content-managed-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--cyan) 14%, transparent);
  color: var(--cyan);
  font-weight: 900;
}

.content-editor-empty {
  min-height: 430px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 42px;
  text-align: center;
}

.content-editor-empty-mark {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  margin-bottom: 8px;
  border: 1px solid color-mix(in srgb, var(--cyan) 44%, var(--line));
  border-radius: 24px;
  background: color-mix(in srgb, var(--cyan) 9%, transparent);
  color: var(--cyan);
  font-size: 1.45rem;
  font-weight: 950;
}

.content-editor-empty h3,
.content-editor-empty p {
  margin: 0;
}

.content-editor-empty p {
  max-width: 500px;
  color: var(--muted);
}

.content-editor {
  min-width: 0;
  overflow: clip;
}

.content-editor-back {
  display: none;
}

.content-editor-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 18px;
  border-bottom: 1px solid var(--line);
}

.content-editor-heading h3,
.content-editor-heading p {
  margin: 0;
}

.content-editor-heading h3 {
  margin-top: 3px;
  font-size: clamp(1.3rem, 2vw, 1.85rem);
}

.content-editor-heading code {
  color: var(--muted);
  font-size: 0.76rem;
}

.content-editor-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.content-dirty-state {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--green) 10%, transparent);
  color: var(--green);
  font-size: 0.72rem;
  font-weight: 900;
}

.content-dirty-state.is-dirty {
  background: color-mix(in srgb, var(--amber) 12%, transparent);
  color: var(--amber);
}

.content-editor-status {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--bg) 45%, transparent);
}

.content-editor-status span {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  padding: 4px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.content-legal-warning {
  margin: 16px 18px 0;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--amber) 50%, var(--line));
  border-radius: 15px;
  background: color-mix(in srgb, var(--amber) 8%, transparent);
}

.content-legal-warning strong {
  color: var(--amber);
}

.content-legal-warning p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.55;
}

.content-editor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 310px);
  gap: 18px;
  padding: 18px;
}

.content-editor-main {
  min-width: 0;
}

.content-field-toolbar {
  display: flex;
  gap: 16px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 14px;
}

.content-field-toolbar h4 {
  margin: 3px 0 0;
  font-size: 1.15rem;
}

.content-field-search {
  width: min(100%, 290px);
}

.content-field-list {
  display: grid;
  gap: 12px;
}

.content-field-group {
  display: grid;
  gap: 10px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--bg) 46%, transparent);
}

.content-field-group > h5 {
  margin: 0;
  color: var(--cyan);
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.content-field {
  display: grid;
  gap: 8px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel) 96%, transparent);
}

.content-field.is-overridden {
  border-color: color-mix(in srgb, var(--cyan) 43%, var(--line));
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--cyan) 72%, transparent);
}

.content-field.is-dirty {
  border-color: color-mix(in srgb, var(--amber) 54%, var(--line));
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--amber) 80%, transparent);
}

.content-field.is-deep-linked {
  outline: 3px solid var(--cyan);
  outline-offset: 3px;
  border-color: color-mix(in srgb, var(--cyan) 72%, var(--line));
}

.content-field-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.content-field-head label {
  font-size: 0.84rem;
  font-weight: 900;
}

.content-field-meta {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--muted);
  font-size: 0.68rem;
  white-space: nowrap;
}

.content-field input,
.content-field textarea {
  width: 100%;
  resize: vertical;
}

.content-field textarea {
  min-height: 108px;
  line-height: 1.55;
}

.content-field-actions {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
}

.content-field-state {
  color: var(--muted);
  font-size: 0.7rem;
}

.content-field-reset {
  border: 0;
  background: transparent;
  color: var(--cyan);
  font-size: 0.72rem;
  font-weight: 850;
  cursor: pointer;
}

.content-field-reset:disabled {
  opacity: 0.45;
  cursor: default;
}

.content-no-fields {
  padding: 28px;
  border: 1px dashed var(--line);
  border-radius: 16px;
  color: var(--muted);
  text-align: center;
}

.content-editor-sidebar {
  display: grid;
  gap: 14px;
  align-content: start;
}

.content-publish-card,
.content-history-card {
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--bg) 48%, transparent);
}

.content-publish-card h4,
.content-history-card h4 {
  margin: 3px 0 0;
}

.content-checklist {
  display: grid;
  gap: 8px;
  margin: 14px 0;
  padding: 0;
  list-style: none;
}

.content-checklist li {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: var(--muted);
  font-size: 0.78rem;
}

.content-checklist li::before {
  content: "○";
  color: var(--muted);
  font-weight: 900;
}

.content-checklist li.is-ok {
  color: var(--text);
}

.content-checklist li.is-ok::before {
  content: "✓";
  color: var(--green);
}

.content-change-note {
  display: grid;
  gap: 7px;
  margin-top: 14px;
}

.content-change-note > span {
  font-size: 0.78rem;
  font-weight: 850;
}

.content-change-note textarea {
  width: 100%;
  resize: vertical;
}

.content-legal-confirm {
  margin: 12px 0;
  align-items: start;
}

.content-publish-actions {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.content-history-head {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.content-history-head > span {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  min-height: 28px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cyan) 10%, transparent);
  color: var(--cyan);
  font-size: 0.72rem;
  font-weight: 900;
}

.content-history-list {
  display: grid;
  gap: 8px;
  max-height: 430px;
  overflow: auto;
}

.content-history-item {
  display: grid;
  gap: 7px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: color-mix(in srgb, var(--panel) 85%, transparent);
}

.content-history-item-head {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.content-history-item strong {
  font-size: 0.8rem;
}

.content-history-item small,
.content-history-item p {
  margin: 0;
  color: var(--muted);
  font-size: 0.7rem;
  line-height: 1.45;
}

.content-history-item .button {
  justify-self: start;
}

.content-editor-footer {
  position: sticky;
  bottom: 0;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 14px 18px;
  border-top: 1px solid var(--line);
  background: color-mix(in srgb, var(--panel) 94%, transparent);
  backdrop-filter: blur(18px);
}

.content-editor-footer > div {
  display: grid;
  gap: 3px;
}

.content-editor-footer strong {
  font-size: 0.84rem;
}

.content-editor-footer span {
  color: var(--muted);
  font-size: 0.72rem;
}

.content-preview-banner {
  position: fixed;
  z-index: 2000;
  right: 18px;
  bottom: 18px;
  display: flex;
  gap: 10px;
  align-items: center;
  max-width: min(92vw, 520px);
  padding: 11px 14px;
  border: 1px solid color-mix(in srgb, var(--amber) 58%, var(--line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel) 96%, transparent);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
  color: var(--text);
  font-size: 0.8rem;
  font-weight: 850;
}

.content-preview-banner::before {
  content: "Vorschau";
  padding: 3px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--amber) 14%, transparent);
  color: var(--amber);
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.content-has-lines {
  white-space: pre-line;
}

@media (max-width: 700px) {
  .content-admin-status {
    display: none;
  }
}

@media (max-width: 560px) {
  .content-admin-bar {
    left: max(12px, env(safe-area-inset-left));
    bottom: calc(72px + env(safe-area-inset-bottom));
    max-width: calc(100vw - 24px);
  }

  .content-admin-action {
    padding: 0 13px;
  }
}

@media (forced-colors: active) {
  html[data-content-admin="true"][data-content-admin-markers="true"] [data-content-key] {
    outline: 2px dashed Highlight;
    background: transparent;
  }

  .content-admin-bar,
  .content-admin-field-link {
    border: 1px solid ButtonText;
  }
}

@media (max-width: 1180px) {
  .content-studio-workspace {
    grid-template-columns: 260px minmax(0, 1fr);
  }

  .content-editor-grid {
    grid-template-columns: 1fr;
  }

  .content-editor-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .content-studio-workspace {
    grid-template-columns: 1fr;
  }

  .content-page-browser {
    position: static;
    max-height: none;
  }

  .content-studio-workspace.has-content-page .content-page-browser,
  .content-studio-workspace.has-content-page .content-editor-empty {
    display: none;
  }

  .content-page-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .content-page-group {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .content-page-group-title {
    grid-column: 1 / -1;
  }

  .content-editor-back {
    display: inline-flex;
  }
}

@media (max-width: 700px) {
  .content-studio-summary,
  .content-page-list,
  .content-page-group,
  .content-editor-sidebar {
    grid-template-columns: 1fr 1fr;
  }

  .content-editor-header {
    grid-template-columns: 1fr;
  }

  .content-editor-header-actions,
  .content-field-toolbar {
    align-items: stretch;
    justify-content: flex-start;
  }

  .content-field-toolbar {
    display: grid;
  }

  .content-field-search {
    width: 100%;
  }

  .content-editor-footer {
    position: static;
    grid-template-columns: 1fr;
  }

  .content-editor-footer .button {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .admin-content-panel > .content-studio-intro,
  .admin-content-panel > .content-studio-summary,
  .admin-content-panel > [data-content-message],
  .admin-content-panel > .content-studio-workspace {
    margin-left: 12px;
    margin-right: 12px;
  }

  .content-studio-summary,
  .content-page-list,
  .content-page-group,
  .content-editor-sidebar {
    grid-template-columns: 1fr;
  }

  .content-page-group-title {
    grid-column: 1;
  }

  .content-editor-grid,
  .content-editor-header,
  .content-editor-status,
  .content-editor-footer {
    padding-left: 13px;
    padding-right: 13px;
  }

  .content-field-head,
  .content-field-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}

@keyframes cart-auth-spin {
  to { transform: rotate(360deg); }
}

@keyframes home-core-scan {
  0%, 100% { top: 12%; opacity: 0; }
  15%, 85% { opacity: 0.42; }
  50% { top: 88%; opacity: 0.2; }
}

@keyframes home-core-breathe {
  0%, 100% { box-shadow: 0 0 0 14px color-mix(in srgb, var(--cyan) 4%, transparent), 0 30px 80px rgba(0, 0, 0, 0.4), 0 0 50px color-mix(in srgb, var(--cyan) 13%, transparent); }
  50% { box-shadow: 0 0 0 18px color-mix(in srgb, var(--cyan) 5%, transparent), 0 30px 80px rgba(0, 0, 0, 0.4), 0 0 74px color-mix(in srgb, var(--cyan) 20%, transparent); }
}

@media (scripting: none) {
  .reveal {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}
