:root {
  --accent: #f1aa4b;
  --accent-soft: rgba(241, 170, 75, 0.14);
  --bg: #f6f6f6;
  --surface: #ffffff;
  --surface-alt: #f9f9f9;
  --text: #212121;
  --muted: #757575;
  --border: #ececec;
  --success: #52b788;
  --warning: #f4b942;
  --danger: #ef6f6c;
  --blue: #5b8def;
  --radius: 2px;
  --shadow: 0 10px 26px rgba(16, 24, 40, 0.05);
  --shell-gap: 24px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  line-height: 1.45;
}
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.shell,
.tenant-admin-shell {
  display: grid;
  grid-template-columns: 238px 1fr;
  min-height: 100vh;
}

.sidebar,
.tenant-admin-sidebar {
  background: #fff;
  border-right: 1px solid var(--border);
  padding: 26px 18px;
}

.brand-block,
.tenant-admin-brand {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 6px 8px 18px;
  margin-bottom: 8px;
}

.brand-title,
.tenant-admin-brand-title {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.brand-overline,
.tenant-admin-brand-sub,
.brand-sub {
  color: var(--muted);
  font-size: 12px;
}

.brand-mark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 16px;
}

.brand-mark-dot {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: var(--accent);
  flex: 0 0 auto;
}

.tenant-admin-brand img {
  width: auto;
  max-height: 64px;
  object-fit: contain;
}

.nav-label {
  color: #a0a0a0;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  margin: 16px 8px 8px;
}

.sidebar a,
.tenant-admin-sidebar a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 10px 12px;
  border-radius: var(--radius);
  color: #606060;
  font-size: 14px;
  margin-bottom: 2px;
  border: 1px solid transparent;
}

.sidebar a:hover,
.tenant-admin-sidebar a:hover,
.sidebar a.active,
.tenant-admin-sidebar a.active {
  background: var(--surface-alt);
  border-color: var(--border);
  color: var(--text);
}

.main,
.tenant-admin-main {
  min-width: 0;
}

.container,
.page-shell {
  padding: 22px 26px 28px;
}

.topbar,
.tenant-admin-topbar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  margin-bottom: 22px;
}

.topbar-main {
  display: flex;
  align-items: center;
  gap: 16px;
}

.top-search {
  flex: 1;
  min-width: 200px;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  background: #f1f1f1;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0 14px;
}

.top-search input {
  border: 0;
  background: transparent;
  width: 100%;
  outline: 0;
  color: var(--text);
}

.topbar-icons {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.icon-pill,
.avatar-chip {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.avatar-chip {
  background: linear-gradient(180deg, #f4c067, #d5894c);
  color: #fff;
  font-weight: 700;
}

.topbar-card {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.page-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.page-header h1,
.page-header h2,
.page-header h3 {
  margin: 0;
  font-size: 36px;
  letter-spacing: -0.03em;
}

.page-header p {
  margin: 8px 0 0;
  color: var(--muted);
  max-width: 860px;
}

.page-eyebrow {
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}

.section-stack { display: grid; gap: 18px; }
.grid { display: grid; gap: 18px; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.customer-grid,
.people-grid,
.product-admin-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }

.card,
.surface,
.topbar-card,
.logo-preview,
.variant-row-card,
.product-card,
.editorial-hero,
.login-shell,
.shop-panel,
.shop-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.card,
.surface,
.variant-row-card,
.editorial-hero,
.shop-panel,
.shop-card { padding: 18px; }

.card h3,
.surface h3,
.card h2,
.surface h2 { margin: 0 0 10px; font-size: 22px; letter-spacing: -0.02em; }
.card p:last-child,
.surface p:last-child { margin-bottom: 0; }

.stat-card { padding: 20px; }
.stat-label { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; }
.stat-value { font-size: 34px; font-weight: 700; letter-spacing: -0.03em; }
.stat-meta { color: var(--muted); font-size: 13px; margin-top: 6px; }

.actions { display: flex; flex-wrap: wrap; gap: 10px; }
button,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: var(--radius);
  border: 1px solid var(--text);
  background: var(--text);
  color: #fff;
  font-weight: 600;
}

button.secondary,
.button.secondary {
  background: #fff;
  color: var(--text);
  border-color: var(--border);
}

button.ghost,
.button.ghost {
  background: transparent;
  color: var(--text);
  border-color: transparent;
}

.badge,
.status-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 24px;
  padding: 0 8px;
  border-radius: var(--radius);
  background: var(--surface-alt);
  border: 1px solid var(--border);
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.badge.blue { color: var(--blue); }
.badge.green { color: var(--success); }
.badge.amber { color: #c78100; }
.badge.gray { color: var(--muted); }
.badge.red { color: var(--danger); }

.notice {
  padding: 14px 16px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: #fff;
  margin-bottom: 18px;
}
.notice.success { border-color: rgba(82,183,136,.28); background: rgba(82,183,136,.08); }
.notice.error { border-color: rgba(239,111,108,.28); background: rgba(239,111,108,.08); }
.notice.info { border-color: rgba(91,141,239,.24); background: rgba(91,141,239,.08); }

.table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 14px 14px; border-bottom: 1px solid var(--border); vertical-align: top; font-size: 14px; }
thead th { font-size: 12px; color: var(--muted); letter-spacing: 0.08em; text-transform: uppercase; background: #fbfbfb; }
tbody tr:hover { background: #fcfcfc; }
tbody tr:last-child td { border-bottom: 0; }
.table-actions { display: flex; flex-wrap: wrap; gap: 8px; }

.form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-row { display: grid; gap: 8px; }
.form-row label { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; }
input[type="text"],
input[type="email"],
input[type="password"],
input[type="file"],
input[type="range"],
select,
textarea {
  width: 100%;
  min-height: 42px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text);
  padding: 10px 12px;
  outline: 0;
}
textarea { min-height: 110px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: rgba(91,141,239,.45); box-shadow: 0 0 0 3px rgba(91,141,239,.09); }
input[type="range"] { padding: 0; }
.inline-help,
.muted { color: var(--muted); font-size: 13px; }
.code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.code-block { white-space: pre-wrap; background: #111827; color: #f8fafc; padding: 16px; border-radius: var(--radius); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; overflow-x: auto; }
.meta-list { display: grid; gap: 8px; }
.list-inline { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; list-style: none; }
.list-inline li { padding: 7px 10px; background: #f8f8f8; border: 1px solid var(--border); border-radius: var(--radius); }
.empty-state { padding: 32px 18px; text-align: center; color: var(--muted); border: 1px dashed var(--border); border-radius: var(--radius); background: #fcfcfc; }

.logo-preview {
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.logo-preview.dark { background: #222; }
.logo-preview img { max-height: 60px; width: auto; }
.logo-settings-grid { display: grid; gap: 18px; grid-template-columns: 1.1fr .9fr; }
.logo-range-value { font-weight: 700; }
.logo-preview-scale img { max-height: none; }

.workspace-tabs,
.inline-nav,
.section-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.section-tab {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--border);
  background: #fff;
  border-radius: var(--radius);
  color: var(--muted);
  font-size: 13px;
}
.section-tab.active { color: var(--text); background: #fafafa; }

.hero-panel {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.4fr .8fr;
}
.hero-kpis {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.profile-strip {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 18px;
  align-items: center;
}
.profile-avatar {
  width: 96px;
  height: 96px;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #f3c16b, #d77b5e);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
}

.variant-stack,
.product-admin-list { display: grid; gap: 14px; }
.variant-row-grid,
.variant-attributes-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.check-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.check-item { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius); }

.shop-shell { min-height: 100vh; background: #fff; }
.shop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-top: 26px;
  padding-bottom: 16px;
}
.shop-brand {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.02em;
}
.shop-brand img { width: auto; object-fit: contain; }
.product-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-card { overflow: hidden; color: inherit; }
.product-card img,
.product-placeholder { aspect-ratio: 1 / 1; width: 100%; object-fit: cover; background: #f1f1f1; display:flex; align-items:center; justify-content:center; color:var(--muted); }
.product-body { display: grid; gap: 8px; padding: 16px; }
.product-price { font-size: 20px; font-weight: 700; }
.shop-card-grid { display:grid; gap:18px; grid-template-columns: 1.2fr .8fr; }

.front-media-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.front-media-card { overflow: hidden; }
.front-media-thumb {
  aspect-ratio: 4 / 3;
  background: #f1f1f1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
}
.front-media-thumb img { width: 100%; height: 100%; object-fit: cover; }
.front-media-body { padding: 16px; display: grid; gap: 8px; }
.front-media-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.login-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 30px;
}
.login-shell {
  width: min(420px, 100%);
  padding: 24px;
}

@media (max-width: 1180px) {
  .grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid.three,
  .product-grid,
  .front-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-panel,
  .customer-grid,
  .people-grid,
  .product-admin-grid,
  .logo-settings-grid,
  .shop-card-grid { grid-template-columns: 1fr; }
  .variant-row-grid,
  .variant-attributes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
  .shell,
  .tenant-admin-shell { grid-template-columns: 1fr; }
  .sidebar,
  .tenant-admin-sidebar { border-right: 0; border-bottom: 1px solid var(--border); }
  .topbar,
  .tenant-admin-topbar { grid-template-columns: 1fr; }
  .topbar-main { flex-wrap: wrap; }
  .container,
  .page-shell { padding: 18px; }
}

@media (max-width: 680px) {
  .grid.two,
  .grid.three,
  .grid.four,
  .form-grid,
  .check-grid,
  .product-grid,
  .front-media-grid,
  .hero-kpis,
  .variant-row-grid,
  .variant-attributes-grid { grid-template-columns: 1fr; }
  .page-header h1,
  .page-header h2 { font-size: 28px; }
  .shop-header { align-items: flex-start; flex-direction: column; }
}

/* v0.6.5 additions */
.admin-catalog-grid { align-items: start; }
.catalog-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 18px;
}
.catalog-card.large { display: grid; grid-template-rows: auto 1fr; }
.catalog-card.compact { display: grid; grid-template-columns: 140px 1fr; gap: 0; }
.catalog-card-media {
  min-height: 150px;
  background: #f3f3f3;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.catalog-card.compact .catalog-card-media {
  border-bottom: 0;
  border-right: 1px solid var(--border);
  min-height: 100%;
}
.catalog-card-media.large { min-height: 220px; }
.catalog-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.catalog-card-placeholder {
  color: var(--muted);
  font-size: 14px;
}
.catalog-card-body { padding: 18px; }
.catalog-card-body h3 { margin: 0; font-size: 24px; letter-spacing: -0.02em; }
.rich-sales-pitch {
  border-top: 1px solid var(--border);
  padding-top: 14px;
  color: #454545;
  font-size: 14px;
}
.rich-sales-pitch > :first-child { margin-top: 0; }
.rich-sales-pitch > :last-child { margin-bottom: 0; }
.code-editor {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  min-height: 170px;
}
.price-stack {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.price-stack.compact { grid-template-columns: 1fr; }
.price-stack > div {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fafafa;
  font-size: 14px;
}
.addon-form-inline { border-top: 1px solid var(--border); padding-top: 12px; }
.compact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inline-template-card { align-items: stretch; }
.selected-template-banner { background: linear-gradient(180deg, #fff, #fbfbfb); }

.status-chip,
.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: var(--radius);
  font-size: 12px;
  font-weight: 600;
  border: 1px solid var(--border);
  text-transform: none;
}
.status-chip.success,
.status-pill.success { background: #eaf6ef; color: #2b8a5a; }
.status-chip.warning,
.status-pill.warning { background: #fff4dd; color: #b7791f; }
.status-chip.danger,
.status-pill.danger { background: #fdeaea; color: #cb4a4a; }
.status-chip.neutral,
.status-pill.neutral { background: #f5f5f5; color: #666; }

.admin-list-screen { gap: 14px; }
.list-page-header { margin-bottom: 8px; }
.list-tabs { margin-bottom: 4px; }
.list-frame { padding: 16px 18px; }
.list-toolbar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
}
.table-search { min-height: 46px; }
.right-compact { display: inline-flex; gap: 10px; align-items: center; }
.square-button {
  min-width: 44px;
  height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
}
.modern-table-wrap { border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.modern-table {
  width: 100%;
  border-collapse: collapse;
}
.modern-table thead th {
  background: #fafafa;
  color: #8a8a8a;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.modern-table th,
.modern-table td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}
.modern-table tbody tr:last-child td { border-bottom: 0; }
.person-cell { display: flex; align-items: center; gap: 14px; }
.person-avatar {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  flex: 0 0 auto;
}
.person-name { font-size: 16px; font-weight: 600; }
.person-sub { color: var(--muted); font-size: 14px; }
.row-menu { position: relative; }
.row-menu summary,
.row-menu-trigger {
  list-style: none;
  cursor: pointer;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
}
.row-menu summary::-webkit-details-marker { display: none; }
.row-menu.open .row-menu-panel,
.row-menu[open] .row-menu-panel {
  display: grid;
}
.row-menu-panel {
  display: none;
  position: fixed;
  min-width: 180px;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16);
  z-index: 120;
}
.row-menu-panel a,
.row-menu-panel button {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  padding: 10px 12px;
  color: var(--text);
}
.row-menu-panel a:hover,
.row-menu-panel button:hover { background: #f7f7f7; }

.lightbox-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(18, 18, 18, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  z-index: 80;
}
.lightbox-panel {
  width: min(760px, 100%);
  max-height: calc(100vh - 64px);
  overflow: auto;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: 0 20px 60px rgba(17, 24, 39, 0.22);
  border-radius: var(--radius);
  padding: 22px;
}
.lightbox-large { width: min(980px, 100%); }
.two-col-modal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-header.tight h2 { margin: 0; font-size: 30px; letter-spacing: -0.03em; }

.meta-list.compact { gap: 6px; font-size: 14px; }

@media (max-width: 980px) {
  .shell,
  .tenant-admin-shell,
  .grid.two,
  .grid.three,
  .grid.four,
  .customer-grid,
  .people-grid,
  .product-admin-grid,
  .admin-catalog-grid,
  .compact-grid,
  .two-col-modal,
  .price-stack {
    grid-template-columns: 1fr;
  }

  .catalog-card.compact {
    grid-template-columns: 1fr;
  }

  .catalog-card.compact .catalog-card-media {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }
}


/* v0.6.6 additions */
body.modal-open { overflow: hidden; }
.table-wrap,
.list-frame,
.modern-table-wrap { overflow: visible; }
.modern-table-wrap { overflow-x: auto; overflow-y: visible; }
.modern-table td:last-child { position: relative; overflow: visible; }
.row-menu { z-index: 6; }
.row-menu-panel {
  top: calc(100% + 8px);
  right: 0;
  min-width: 170px;
  border-radius: var(--radius);
}
.catalog-card-grid.three-up {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.catalog-card.clickable {
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.catalog-card.clickable:hover {
  transform: translateY(-2px);
  border-color: #dfdfdf;
  box-shadow: 0 14px 28px rgba(16, 24, 40, 0.08);
}
.catalog-card-head { display: grid; gap: 8px; }
.catalog-card-snippet {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.price-stack-card {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.price-stack-card > div {
  min-height: 72px;
  align-content: start;
}
.card-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  color: var(--muted);
  font-size: 13px;
}
.card-actions-row {
  margin-top: auto;
}
.hidden-modal { display: none; }
.hidden-modal.is-open { display: flex; }
.lightbox-xl { width: min(1180px, 100%); }
.modal-content-grid { align-items: start; }
.modal-media { min-height: 260px; }
.rich-sales-pitch-modal {
  border-top: 0;
  padding-top: 0;
  max-height: 52vh;
  overflow: auto;
}
.card-modal-cta { align-items: center; }

@media (max-width: 1180px) {
  .catalog-card-grid.three-up {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .catalog-card-grid.three-up,
  .price-stack-card {
    grid-template-columns: 1fr;
  }
  .row-menu-panel {
    right: auto;
    left: 0;
  }
}

/* v0.6.7 website CMS + marketing site */
.full { width: 100%; justify-content: center; }
.website-logo-row { display: flex; gap: 16px; flex-wrap: wrap; }
.action-list-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compact-card .catalog-card-body { padding-top: 8px; }
.table-like-list { display: grid; gap: 10px; }
.table-like-head,
.table-like-row { display: grid; grid-template-columns: 1.2fr 1fr 90px 100px 100px; gap: 12px; align-items: center; }
.table-like-head { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; padding: 0 4px; }
.table-like-row { padding: 14px 16px; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); }
.checkbox-cell { display: flex; align-items: center; justify-content: center; }
.request-list { display: grid; gap: 12px; }
.request-row { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; }
.request-row.active { border-color: rgba(241,170,75,.45); box-shadow: 0 0 0 1px rgba(241,170,75,.2) inset; }
.request-title { font-weight: 700; }
.inline-form { margin: 0; }
.marketing-body { background: #f4f3ef; color: #171717; }
.marketing-shell { min-height: 100vh; }
.marketing-header { position: sticky; top: 0; z-index: 20; backdrop-filter: blur(14px); background: rgba(244,243,239,.86); border-bottom: 1px solid rgba(23,23,23,.08); }
.marketing-header-inner { max-width: 1320px; margin: 0 auto; padding: 18px 28px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; }
.marketing-brand { display: inline-flex; align-items: center; gap: 12px; font-size: 20px; font-weight: 700; letter-spacing: -.03em; }
.marketing-brand img { max-height: 44px; width: auto; }
.marketing-brand-mark { width: 14px; height: 14px; border-radius: 999px; background: var(--accent); display: inline-block; }
.marketing-nav { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; }
.marketing-nav a { color: #555; font-size: 14px; }
.marketing-nav a.active,
.marketing-nav a:hover { color: #171717; }
.marketing-header-actions { display: inline-flex; align-items: center; gap: 14px; }
.marketing-text-link { color: #555; font-size: 14px; }
.marketing-button,
.marketing-button-dark,
.marketing-button-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 0 18px; border-radius: 2px; border: 1px solid #171717; font-size: 14px; font-weight: 600; }
.marketing-button,
.marketing-button-dark { background: #171717; color: #fff; }
.marketing-button-ghost { background: transparent; color: #171717; }
.marketing-hero-shell { padding: 34px 28px 22px; }
.marketing-hero { max-width: 1320px; margin: 0 auto; background: #fff; border: 1px solid rgba(23,23,23,.08); border-radius: 2px; padding: 34px; display: grid; grid-template-columns: 1.04fr .96fr; gap: 28px; box-shadow: 0 18px 46px rgba(17,17,17,.05); }
.marketing-hero-copy h1 { margin: 0; font-size: clamp(40px, 5vw, 72px); line-height: .98; letter-spacing: -.05em; max-width: 760px; }
.marketing-hero-copy p { margin: 18px 0 0; font-size: 18px; line-height: 1.75; color: #565656; max-width: 660px; }
.marketing-kicker { color: #777; text-transform: uppercase; letter-spacing: .16em; font-size: 11px; margin-bottom: 16px; }
.marketing-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.marketing-hero-media img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; border-radius: 2px; }
.marketing-main { padding: 10px 28px 70px; }
.marketing-content,
.marketing-stack { max-width: 1320px; margin: 0 auto; display: grid; gap: 24px; }
.marketing-panel { background: #fff; border: 1px solid rgba(23,23,23,.08); border-radius: 2px; padding: 34px; box-shadow: 0 18px 46px rgba(17,17,17,.04); }
.marketing-intro-grid,
.two-col-copy,
.signup-panel-grid,
.marketing-contact-panel { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; }
.marketing-mini-grid,
.marketing-feature-band.three-col { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.marketing-mini-card,
.marketing-feature-card,
.marketing-side-card,
.marketing-contact-item { background: #fff; border: 1px solid rgba(23,23,23,.08); border-radius: 2px; padding: 22px; box-shadow: 0 12px 30px rgba(17,17,17,.04); }
.marketing-mini-card strong,
.marketing-feature-card h3,
.marketing-side-card h3 { display: block; margin-bottom: 10px; font-size: 18px; letter-spacing: -.02em; }
.marketing-mini-card span,
.marketing-feature-card p,
.marketing-side-card,
.marketing-contact-item span { color: #5e5e5e; line-height: 1.7; }
.marketing-card-image { margin: -22px -22px 18px; }
.marketing-card-image img { width: 100%; aspect-ratio: 1.2 / .82; object-fit: cover; border-radius: 2px 2px 0 0; }
.faq-stack { gap: 14px; }
.faq-item { background: #fff; border: 1px solid rgba(23,23,23,.08); padding: 18px 22px; border-radius: 2px; }
.faq-item summary { cursor: pointer; font-weight: 700; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item div { margin-top: 12px; color: #5e5e5e; line-height: 1.8; }
.marketing-signup-form { background: #fff; border: 1px solid rgba(23,23,23,.08); border-radius: 2px; padding: 26px; }
.marketing-rich-copy p { color: #5e5e5e; line-height: 1.8; }
.marketing-side-card { align-self: start; }
.marketing-check-list { padding-left: 18px; color: #5d5d5d; line-height: 1.9; margin: 14px 0 0; }
.marketing-contact-stack { display: grid; gap: 14px; align-content: start; }
.marketing-footer { border-top: 1px solid rgba(23,23,23,.08); margin-top: 32px; }
.marketing-footer-inner { max-width: 1320px; margin: 0 auto; padding: 34px 28px 46px; }
.marketing-footer-main { display: grid; grid-template-columns: 1.2fr .7fr .7fr; gap: 24px; }
.marketing-footer-title { font-size: 28px; font-weight: 700; letter-spacing: -.04em; }
.marketing-footer-tagline { color: #666; margin-top: 10px; }
.marketing-footer-heading { font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: #888; margin-bottom: 14px; }
.marketing-footer-links { display: grid; gap: 10px; }
.marketing-footer-copy { color: #666; line-height: 1.8; }
.marketing-footer-copy p { margin: 0 0 10px; }
.marketing-footer-bottom { border-top: 1px solid rgba(23,23,23,.08); margin-top: 24px; padding-top: 18px; color: #888; font-size: 13px; }
@media (max-width: 1120px) {
  .marketing-hero,
  .marketing-intro-grid,
  .two-col-copy,
  .signup-panel-grid,
  .marketing-contact-panel,
  .marketing-footer-main { grid-template-columns: 1fr; }
  .marketing-mini-grid,
  .marketing-feature-band.three-col,
  .action-list-grid,
  .grid.four { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .marketing-header-inner { grid-template-columns: 1fr; }
  .marketing-nav { justify-content: flex-start; }
  .marketing-header-actions { justify-content: flex-start; }
  .table-like-head { display: none; }
  .table-like-row { grid-template-columns: 1fr; }
  .marketing-mini-grid,
  .marketing-feature-band.three-col,
  .action-list-grid,
  .grid.four,
  .grid.three { grid-template-columns: 1fr; }
  .marketing-hero-shell,
  .marketing-main { padding-left: 16px; padding-right: 16px; }
  .marketing-hero { padding: 22px; }
}
.marketing-flash { max-width: 1320px; margin: 18px auto 0; padding: 14px 18px; border-radius: 2px; border: 1px solid rgba(23,23,23,.08); background: #fff; }
.marketing-flash-success { border-color: rgba(82,183,136,.35); background: rgba(82,183,136,.08); }
.marketing-flash-error { border-color: rgba(239,111,108,.35); background: rgba(239,111,108,.08); }

/* Theme builder v1 */
.site-builder-overview-grid { align-items: start; }
.card-kicker { font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); }
.builder-toolbar { display:flex; flex-wrap:wrap; gap:10px; }
.builder-sections { display:grid; gap:14px; }
.builder-section-card { padding:16px; display:grid; gap:14px; }
.builder-section-head { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.builder-section-head .drag-handle { color: var(--muted); margin-right:10px; cursor:grab; }
.builder-section-fields { display:grid; gap:10px; }
.builder-section-fields input,
.builder-section-fields textarea { width:100%; border:1px solid var(--border); background:#fff; border-radius:var(--radius); padding:11px 12px; }
.builder-nested-items { display:grid; gap:10px; }
.builder-nested-card { padding:12px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface-alt); display:grid; gap:10px; }
.builder-nested-top { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.small { min-height:34px; padding:8px 10px; font-size:12px; }
.toggle-row, .toggle-grid { display:flex; flex-wrap:wrap; gap:14px; color:var(--muted); }
.toggle-grid label, .toggle-row label { display:flex; align-items:center; gap:8px; }

/* Theme 05 public storefront */
.theme-05-body { background:#fbf7f2; color:#2b241d; }
.theme-05-shell { min-height:100vh; }
.theme-05-header { position:sticky; top:0; z-index:20; background:rgba(251,247,242,0.92); backdrop-filter: blur(12px); border-bottom:1px solid #eadfce; }
.theme-05-header-inner { max-width:1280px; margin:0 auto; padding:18px 24px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.theme-05-brand { display:flex; align-items:center; min-width:140px; font-size:22px; font-weight:600; letter-spacing:-0.03em; }
.theme-05-brand img { width:auto; max-height:72px; object-fit:contain; }
.theme-05-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:20px; font-size:14px; }
.theme-05-nav a { color:#5c5247; }
.theme-05-nav a.active, .theme-05-nav a:hover { color:#1f1a16; }
.theme-05-nav-cta, .theme-05-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border-radius:999px; background:#2a241e; color:#fff; font-size:14px; }
.theme-05-category-bar { max-width:1280px; margin:0 auto; padding:0 24px 18px; display:flex; flex-wrap:wrap; gap:10px; }
.theme-05-category-bar a { border:1px solid #eadfce; background:#fff; padding:8px 12px; border-radius:999px; font-size:13px; color:#5c5247; }
.theme-05-hero { max-width:1280px; margin:0 auto; padding:54px 24px 36px; display:grid; grid-template-columns: 1.05fr 0.95fr; gap:34px; align-items:center; }
.theme-05-kicker { color:#8b7562; text-transform:uppercase; letter-spacing:0.15em; font-size:12px; margin-bottom:14px; }
.theme-05-hero h1 { margin:0 0 16px; font-size: clamp(38px, 6vw, 74px); line-height:0.96; letter-spacing:-0.05em; }
.theme-05-hero p { margin:0 0 22px; color:#61554a; font-size:16px; line-height:1.8; max-width:58ch; }
.theme-05-actions { display:flex; flex-wrap:wrap; gap:12px; }
.theme-05-hero-media img, .theme-05-product-media img { width:100%; height:auto; border-radius: 18px; object-fit:cover; box-shadow: 0 18px 40px rgba(52,39,24,0.08); }
.theme-05-image-placeholder { min-height:320px; display:grid; place-items:center; border-radius:18px; background:#f1e9de; color:#8b7562; }
.theme-05-section { max-width:1280px; margin:0 auto; padding:20px 24px 44px; }
.theme-05-section.narrow { max-width:860px; }
.theme-05-section-head { margin-bottom:22px; }
.theme-05-section-head h2 { margin:0 0 10px; font-size: clamp(28px, 4vw, 44px); line-height:1.02; letter-spacing:-0.04em; }
.theme-05-section-head p { margin:0; color:#6b5f54; max-width:64ch; line-height:1.8; }
.theme-05-grid { display:grid; gap:18px; }
.theme-05-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.theme-05-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.theme-05-card, .theme-05-category-card, .theme-05-product-card { background:#fff; border:1px solid #eadfce; border-radius:18px; padding:22px; box-shadow: 0 8px 24px rgba(52,39,24,0.04); }
.theme-05-card h3, .theme-05-product-card strong { margin:0 0 8px; font-size:22px; letter-spacing:-0.03em; }
.theme-05-card p, .theme-05-product-card span, .theme-05-category-meta { margin:0; color:#6f6358; line-height:1.7; }
.theme-05-category-card { min-height:160px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(180deg,#fff 0%, #f7efe4 100%); }
.theme-05-category-name { font-size:24px; font-weight:600; letter-spacing:-0.03em; margin-bottom:6px; }
.theme-05-product-card { padding:0; overflow:hidden; }
.theme-05-product-body { padding:16px 18px 18px; display:grid; gap:4px; }
.theme-05-rich-text, .theme-05-footer-copy { color:#564b40; line-height:1.8; }
.theme-05-rich-text p:first-child { margin-top:0; }
.theme-05-cta-band { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:28px; border-radius:24px; border:1px solid #eadfce; background:linear-gradient(180deg,#fff 0%, #f7efe4 100%); }
.theme-05-cta-band h2 { margin:0 0 10px; font-size:38px; letter-spacing:-0.04em; }
.theme-05-cta-band p { margin:0; color:#6b5f54; }
.theme-05-faq-list { display:grid; gap:10px; }
.theme-05-faq-item { background:#fff; border:1px solid #eadfce; border-radius:16px; padding:14px 16px; }
.theme-05-faq-item summary { cursor:pointer; font-weight:600; }
.theme-05-faq-item div { margin-top:10px; color:#6b5f54; }
.theme-05-empty { padding:22px; border:1px dashed #d8c7b4; border-radius:18px; color:#8b7562; background:#fff; }
.theme-05-footer { margin-top:34px; border-top:1px solid #eadfce; background:#f4ede2; }
.theme-05-footer-inner { max-width:1280px; margin:0 auto; padding:30px 24px 20px; display:grid; grid-template-columns: 1fr 1.2fr; gap:24px; }
.theme-05-footer-title { font-size:26px; font-weight:600; letter-spacing:-0.03em; margin-bottom:8px; }
.theme-05-footer-tagline { color:#6b5f54; }
.theme-05-footer-note { max-width:1280px; margin:0 auto; padding:0 24px 26px; color:#8b7562; font-size:13px; }

@media (max-width: 1024px) {
  .theme-05-hero, .theme-05-grid.three, .theme-05-grid.two, .theme-05-footer-inner { grid-template-columns: 1fr; }
  .theme-05-cta-band { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 760px) {
  .theme-05-header-inner { flex-wrap:wrap; }
  .theme-05-nav { justify-content:flex-start; }
  .theme-05-hero { padding-top:34px; }
}


/* v0.7.1 Maude marketing theme inspired by Piku template 8 */
.marketing-main-piku8 { padding-top: 28px; }
.marketing-content-piku8 { max-width: 1380px; }
.piku8-page { display: grid; gap: 24px; }
.piku8-hero-block,
.piku8-section-grid,
.piku8-proof-band,
.piku8-cta-panel,
.piku8-testimonial-row {
  background: #0f1624;
  color: #f3f5fb;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(7, 13, 24, 0.22);
}
.piku8-hero-block {
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  gap: 26px;
  padding: 48px;
  background: radial-gradient(circle at top left, rgba(68,97,255,.14), transparent 34%), linear-gradient(145deg, #0d1420 0%, #101826 45%, #151e31 100%);
}
.piku8-hero-copy h1 {
  margin: 0;
  font-size: clamp(44px, 6vw, 78px);
  line-height: 0.96;
  letter-spacing: -.05em;
  max-width: 760px;
}
.piku8-hero-copy p {
  margin: 18px 0 0;
  font-size: 18px;
  line-height: 1.8;
  color: rgba(243,245,251,.78);
  max-width: 640px;
}
.piku8-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.piku8-checks { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.piku8-checks span,
.piku8-strip-item {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.04);
  color: rgba(243,245,251,.86);
  font-size: 13px;
}
.piku8-hero-media { display: flex; align-items: center; justify-content: center; }
.piku8-visual-shell {
  position: relative;
  min-height: 520px;
  width: 100%;
  border-radius: 2px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}
.piku8-visual-bg { position: absolute; left: 4%; top: 8%; width: 90%; max-width: 560px; }
.piku8-visual-person { position: absolute; right: 2%; bottom: 0; width: 58%; max-width: 380px; }
.piku8-visual-card { position: absolute; left: 0; bottom: 9%; width: 44%; max-width: 280px; box-shadow: 0 20px 44px rgba(8,15,28,.4); }
.piku8-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}
.piku8-strip-item {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 20px;
  min-height: 148px;
  background: #fff;
  color: #171717;
  border: 1px solid rgba(23,23,23,.08);
  box-shadow: 0 14px 36px rgba(17,17,17,.05);
}
.piku8-strip-item strong { font-size: 17px; letter-spacing: -.02em; }
.piku8-strip-item span { color: #5d6470; line-height: 1.75; }
.piku8-section-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: #0f1624;
}
.piku8-panel { padding: 38px; }
.piku8-panel-dark p { color: rgba(243,245,251,.76); line-height: 1.8; }
.piku8-panel-dark h2,
.piku8-proof-copy h2,
.piku8-cta-panel h2 { margin: 0; font-size: clamp(30px, 3vw, 48px); line-height: 1.04; letter-spacing: -.04em; }
.piku8-bullet-list { margin: 18px 0 0; padding-left: 18px; line-height: 1.9; color: rgba(243,245,251,.78); }
.piku8-image-panel { padding: 0; }
.piku8-image-panel img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.piku8-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}
.piku8-feature-card {
  background: #fff;
  border: 1px solid rgba(23,23,23,.08);
  border-radius: 2px;
  padding: 24px;
  box-shadow: 0 14px 36px rgba(17,17,17,.05);
}
.piku8-feature-media { margin: -24px -24px 18px; background: linear-gradient(180deg, #edf1f7, #f8fafb); }
.piku8-feature-media img { width: 100%; height: 240px; object-fit: contain; display: block; }
.piku8-feature-card h3 { margin: 0 0 10px; font-size: 24px; letter-spacing: -.03em; }
.piku8-feature-card p { margin: 0; color: #5d6470; line-height: 1.8; }
.piku8-proof-band {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  padding: 38px;
  background: linear-gradient(135deg, #0f1624 0%, #131e31 100%);
}
.piku8-proof-copy p,
.piku8-quote p,
.piku8-cta-panel p { color: rgba(243,245,251,.78); line-height: 1.8; font-size: 16px; }
.piku8-proof-points { display: grid; gap: 14px; align-content: center; }
.piku8-proof-points div {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  padding: 18px 20px;
}
.piku8-proof-points strong { display: block; font-size: 18px; margin-bottom: 8px; }
.piku8-proof-points span { color: rgba(243,245,251,.74); line-height: 1.7; }
.piku8-testimonial-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px;
  align-items: center;
  padding: 28px 34px;
  background: linear-gradient(135deg, #11192a 0%, #1a2437 100%);
}
.piku8-avatars { display: flex; align-items: center; }
.piku8-avatars img {
  width: 58px;
  height: 58px;
  border-radius: 999px;
  border: 3px solid #0f1624;
  margin-left: -12px;
  background: #fff;
}
.piku8-avatars img:first-child { margin-left: 0; }
.piku8-quote p { margin: 0; font-size: 20px; }
.piku8-quote span { display: block; margin-top: 10px; color: rgba(243,245,251,.58); font-size: 14px; }
.piku8-cta-panel {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 38px;
  background: linear-gradient(145deg, #0d1420 0%, #151e31 100%);
}
.piku8-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }

@media (max-width: 1180px) {
  .piku8-hero-block,
  .piku8-section-grid,
  .piku8-proof-band,
  .piku8-cta-panel,
  .piku8-testimonial-row {
    grid-template-columns: 1fr;
  }
  .piku8-card-grid,
  .piku8-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .piku8-cta-actions { justify-content: flex-start; }
}
@media (max-width: 760px) {
  .piku8-hero-block,
  .piku8-proof-band,
  .piku8-cta-panel,
  .piku8-testimonial-row,
  .piku8-panel { padding: 22px; }
  .piku8-card-grid,
  .piku8-strip { grid-template-columns: 1fr; }
  .piku8-visual-shell { min-height: 420px; }
  .piku8-visual-person { width: 64%; }
  .piku8-visual-card { width: 52%; }
}

/* v0.7.2 visual builder + catalog visibility */
.builder-top-grid,
.builder-page-lists {
  align-items: start;
}
.compact-cards .catalog-card-body { padding: 18px; }
.builder-system-page-list { display: grid; gap: 12px; }
.system-page-row { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; border-radius:2px; }
.visual-builder-shell { display:grid; grid-template-columns: 280px minmax(0,1fr); gap:20px; align-items:start; }
.visual-builder-library { position: sticky; top: 20px; display:grid; gap:16px; }
.builder-library-group { display:grid; gap:10px; }
.builder-library-title { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#6b7280; }
.builder-library-cards { display:grid; gap:10px; }
.builder-library-card { width:100%; text-align:left; border:1px solid #e5e7eb; background:#fff; border-radius:2px; padding:12px; display:grid; gap:6px; cursor:pointer; }
.builder-library-card strong { font-size:14px; }
.builder-library-card span { font-size:12px; color:#6b7280; }
.visual-builder-canvas-wrap { display:grid; gap:12px; }
.builder-canvas-head { display:flex; justify-content:space-between; align-items:center; padding:14px 16px; border:1px solid #e5e7eb; border-radius:2px; background:#fff; }
.visual-builder-canvas { display:grid; gap:14px; }
.visual-canvas-card { border-radius:2px; cursor:pointer; }
.visual-canvas-card.selected { border-color:#111; box-shadow:0 0 0 1px #111 inset; }
.visual-canvas-preview { border:1px dashed #d1d5db; border-radius:2px; padding:14px; background:#fafafa; }
.canvas-preview-kicker { font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:#6b7280; margin-bottom:8px; }
.visual-canvas-preview h4 { margin:0 0 8px; font-size:20px; }
.visual-canvas-preview p { margin:0; color:#4b5563; }
.builder-section-fields { display:grid; gap:12px; margin-top:14px; }
.builder-section-fields input,
.builder-section-fields textarea,
.builder-section-fields select { width:100%; }
.builder-nested-items { display:grid; gap:10px; }
.builder-nested-card { border:1px solid #e5e7eb; border-radius:2px; padding:10px; display:grid; gap:8px; background:#fafafa; }
.builder-nested-top { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.theme-05-logo-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:16px; align-items:center; }
.theme-05-logo-item { min-height:78px; border:1px solid rgba(17,24,39,.08); background:#fff; border-radius:2px; display:flex; align-items:center; justify-content:center; padding:16px; }
.theme-05-logo-item img { max-width:100%; max-height:44px; object-fit:contain; }
.theme-05-image-block img { width:100%; display:block; border-radius:2px; }
.theme-05-image-caption { color:#6b7280; font-size:14px; margin-top:10px; }
.theme-05-scroll-row { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(220px,1fr); gap:16px; overflow:auto; padding-bottom:6px; }
.theme-05-inline-card { border:1px solid rgba(17,24,39,.08); border-radius:2px; background:#fff; padding:18px; color:inherit; text-decoration:none; }
.theme-05-price-line { font-weight:600; margin-top:8px; }
.theme-05-price-sub { color:#6b7280; font-size:13px; margin-top:4px; }
.theme-05-product-list { display:grid; gap:12px; }
.theme-05-list-row { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; border-top:1px solid rgba(17,24,39,.08); padding-top:14px; color:inherit; text-decoration:none; }
.theme-05-list-meta { text-align:right; }
@media (max-width: 980px) {
  .visual-builder-shell { grid-template-columns:1fr; }
  .visual-builder-library { position:static; }
}

/* v0.7.3 visual builder + media library */
.compact-card{padding:18px 20px}
.media-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}
.media-picker-grid.compact{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.media-thumb-button,.media-thumb-option{display:flex;flex-direction:column;gap:8px;border:1px solid #dedfe6;border-radius:8px;background:#fff;padding:8px;text-align:left;cursor:pointer;text-decoration:none;color:inherit}
.media-thumb-button.active,.media-thumb-option input:checked + img{outline:2px solid #0f172a}
.media-thumb-button img,.media-thumb-option img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:#f2f4f7}
.media-thumb-button span,.media-thumb-option span{font-size:12px;line-height:1.35;color:#4b5563}
.media-thumb-option input{display:none}
.builder-page-list{display:grid;gap:10px}
.builder-page-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e6e8ef;border-radius:8px;background:#fff;text-decoration:none;color:inherit}
.builder-page-row.active{border-color:#111827;background:#f8fafc}
.builder-page-row strong{display:block}
.builder-page-row span{display:block;font-size:12px;color:#6b7280}
.visual-builder-screen .builder-top-grid,.visual-builder-screen .builder-main-grid{align-items:start}
.visual-builder-canvas{min-height:420px;padding:16px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc}
.visual-builder-canvas.dropzone-empty::before{content:'Drop elements here or click items from the left';display:flex;align-items:center;justify-content:center;min-height:180px;color:#64748b;font-size:14px}
.visual-canvas-card{border-radius:12px;padding:14px 14px 16px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 10px 30px rgba(15,23,42,.04);margin-bottom:12px}
.visual-canvas-card.selected{border-color:#111827;box-shadow:0 14px 32px rgba(15,23,42,.08)}
.builder-library-card{cursor:grab}
.builder-library-card:active{cursor:grabbing}
.canvas-preview-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8;margin-bottom:8px}
.visual-canvas-preview h4,.canvas-preview-hero h3,.canvas-preview-commerce h4{margin:0 0 8px;font-size:24px;line-height:1.1;color:#0f172a}
.visual-canvas-preview p,.canvas-preview-hero p,.canvas-preview-commerce p{margin:0;color:#475569;line-height:1.6}
.canvas-preview-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center;background:#f8fafc;border-radius:12px;padding:18px}
.canvas-preview-image{min-height:160px;border-radius:10px;background:#e5e7eb;display:flex;align-items:center;justify-content:center;overflow:hidden}
.canvas-preview-image img{width:100%;height:100%;object-fit:cover;display:block}
.canvas-preview-commerce{background:#f8fafc;border-radius:12px;padding:18px}
.canvas-preview-chip-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.canvas-preview-chip-row span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #e5e7eb;font-size:12px;color:#475569}
.builder-image-path{margin-bottom:10px}
.checkbox-row{display:flex;align-items:end}
@media (max-width: 980px){
  .canvas-preview-hero{grid-template-columns:1fr}
}

/* v0.7.4 builder and product list refinements */
.product-avatar { background:#eef2f7; }
.builder-page-select-card { padding: 18px 20px; }
.builder-select-grid { display:grid; grid-template-columns:minmax(260px, 420px) auto; gap:16px; align-items:end; }
.page-like-builder-shell { grid-template-columns: 290px minmax(0,1fr); gap:22px; align-items:start; }
.builder-editor-card { min-width:0; }
.full-page-canvas-wrap { gap:14px; }
.visual-builder-canvas-large { min-height: 720px; padding: 22px; background:#f3f4f6; border-style: solid; }
.visual-canvas-card-large { padding: 18px 18px 20px; }
.canvas-preview-hero-large { min-height: 340px; grid-template-columns: 1.1fr 0.9fr; padding: 28px; }
.canvas-preview-image-large { min-height: 280px; }
.visual-canvas-preview-large,
.canvas-preview-commerce-large { padding: 24px; min-height: 180px; }
.builder-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.drag-handle { margin-right:8px; color:#94a3b8; }
.builder-image-picker-card { margin-top: 4px; }
.builder-image-picker-trigger { width:100%; display:grid; grid-template-columns: 150px 1fr; gap:14px; align-items:center; border:1px solid #d7dce4; border-radius:10px; background:#fff; padding:12px; text-align:left; cursor:pointer; }
.builder-image-picker-preview { display:flex; align-items:center; justify-content:center; min-height:110px; border-radius:8px; overflow:hidden; background:#eef2f7; color:#64748b; }
.builder-image-picker-preview img { width:100%; height:110px; object-fit:cover; display:block; }
.builder-image-picker-copy strong { display:block; margin-bottom:4px; font-size:14px; }
.builder-image-picker-copy small { display:block; color:#6b7280; line-height:1.45; }
.media-library-modal[hidden] { display:none; }
.builder-media-modal-grid { align-items:start; }
.builder-modal-picker-grid { max-height: 60vh; overflow:auto; padding-right:6px; }
.builder-media-grid .builder-media-card { cursor:default; }
.row-menu-panel { border-radius:12px; overflow:hidden; }
@media (max-width: 980px) {
  .builder-select-grid,
  .page-like-builder-shell,
  .builder-media-modal-grid,
  .builder-image-picker-trigger,
  .canvas-preview-hero-large { grid-template-columns:1fr; }
  .visual-builder-canvas-large { min-height: 560px; }
}

/* v0.7.5 visual builder improvements */
.visual-builder-screen-v075 .builder-topline { gap: 16px; }
.visual-builder-screen-v075 .builder-editor-card-visual { gap: 18px; }
.visual-builder-screen-v075 .builder-device-toggle { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.visual-builder-screen-v075 .builder-device-toggle .button.is-active { background:#111827; color:#fff; border-color:#111827; }
.visual-builder-screen-v075 .full-page-canvas-wrap.builder-device-mobile .visual-builder-canvas-large { max-width: 460px; margin: 0 auto; }
.visual-builder-screen-v075 .builder-section-preview { display:grid; gap:12px; }
.visual-builder-screen-v075 .builder-live-preview { border:1px solid #d7dce4; border-radius:14px; background:#fff; overflow:hidden; }
.visual-builder-screen-v075 .builder-preview-hero { display:grid; grid-template-columns:1.05fr .95fr; gap:0; min-height:260px; }
.visual-builder-screen-v075 .builder-preview-copy { padding:28px; display:grid; align-content:center; gap:10px; }
.visual-builder-screen-v075 .builder-preview-copy h3,
.visual-builder-screen-v075 .builder-preview-section-head h4,
.visual-builder-screen-v075 .builder-preview-simple h4 { margin:0; font-size:32px; line-height:1.02; letter-spacing:-0.04em; }
.visual-builder-screen-v075 .builder-preview-copy p,
.visual-builder-screen-v075 .builder-preview-section-head p,
.visual-builder-screen-v075 .builder-preview-simple p { margin:0; color:#6b7280; line-height:1.7; }
.visual-builder-screen-v075 .builder-preview-kicker { color:#8b7562; text-transform:uppercase; letter-spacing:.14em; font-size:11px; }
.visual-builder-screen-v075 .builder-preview-chip-row { display:flex; gap:8px; flex-wrap:wrap; }
.visual-builder-screen-v075 .builder-preview-chip-row span { display:inline-flex; align-items:center; min-height:34px; padding:0 14px; border-radius:999px; background:#111827; color:#fff; font-size:12px; }
.visual-builder-screen-v075 .builder-preview-image-panel { min-height:220px; background:#eef2f7; display:grid; place-items:center; color:#64748b; }
.visual-builder-screen-v075 .builder-preview-image-panel img { width:100%; height:100%; min-height:220px; object-fit:cover; display:block; }
.visual-builder-screen-v075 .builder-preview-image-block-panel { min-height:260px; }
.visual-builder-screen-v075 .builder-preview-commerce,
.visual-builder-screen-v075 .builder-preview-simple,
.visual-builder-screen-v075 .builder-preview-image-block { padding:22px; display:grid; gap:18px; }
.visual-builder-screen-v075 .builder-preview-section-head { display:grid; gap:8px; }
.visual-builder-screen-v075 .builder-preview-product-grid,
.visual-builder-screen-v075 .builder-preview-category-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.visual-builder-screen-v075 .builder-preview-product-grid.is-carousel,
.visual-builder-screen-v075 .builder-preview-category-grid.is-carousel { grid-auto-flow:column; grid-auto-columns:minmax(230px,1fr); overflow:auto; }
.visual-builder-screen-v075 .builder-preview-product-card,
.visual-builder-screen-v075 .builder-preview-category-card { border:1px solid #eadfce; border-radius:16px; background:#fff; overflow:hidden; }
.visual-builder-screen-v075 .builder-preview-product-media { min-height:170px; background:#f3f4f6; display:grid; place-items:center; color:#64748b; }
.visual-builder-screen-v075 .builder-preview-product-media img { width:100%; height:170px; object-fit:cover; display:block; }
.visual-builder-screen-v075 .builder-preview-product-body { padding:14px; display:grid; gap:4px; }
.visual-builder-screen-v075 .builder-preview-product-body strong,
.visual-builder-screen-v075 .builder-preview-category-card strong { font-size:18px; letter-spacing:-0.03em; }
.visual-builder-screen-v075 .builder-preview-product-body span,
.visual-builder-screen-v075 .builder-preview-product-body small,
.visual-builder-screen-v075 .builder-preview-category-card span { color:#6b7280; line-height:1.5; }
.visual-builder-screen-v075 .builder-preview-category-card { padding:18px; min-height:150px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(180deg,#fff 0%, #f7efe4 100%); gap:8px; }
.visual-builder-screen-v075 .builder-preview-product-list { display:grid; gap:10px; }
.visual-builder-screen-v075 .builder-preview-list-row { display:flex; justify-content:space-between; gap:12px; border-top:1px solid rgba(17,24,39,.08); padding-top:12px; }
.visual-builder-screen-v075 .builder-inline-row { margin:0; }
.visual-builder-screen-v075 .builder-checkbox { display:flex; align-items:center; gap:8px; color:#374151; }
.visual-builder-screen-v075 .builder-picker-panel { display:grid; gap:8px; }
.visual-builder-screen-v075 .builder-choice-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; max-height:280px; overflow:auto; padding-right:4px; }
.visual-builder-screen-v075 .builder-choice-card { border:1px solid #d7dce4; border-radius:10px; padding:12px; background:#fff; display:grid; gap:6px; cursor:pointer; }
.visual-builder-screen-v075 .builder-choice-card input { margin:0; }
.visual-builder-screen-v075 .builder-choice-title { font-weight:600; }
.visual-builder-screen-v075 .empty-state.compact { min-height:unset; padding:12px; }
@media (max-width: 1200px) {
  .visual-builder-screen-v075 .builder-preview-product-grid,
  .visual-builder-screen-v075 .builder-preview-category-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .visual-builder-screen-v075 .builder-preview-hero { grid-template-columns:1fr; }
  .visual-builder-screen-v075 .builder-choice-grid { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .visual-builder-screen-v075 .builder-preview-product-grid,
  .visual-builder-screen-v075 .builder-preview-category-grid { grid-template-columns:1fr; }
}


.greys-story-shell{display:grid;gap:28px}
.greys-story-hero{display:grid;grid-template-columns:1.02fr .98fr;gap:24px;align-items:center;background:#fbf7f2;border:1px solid rgba(17,24,39,.08);padding:24px;border-radius:18px}
.greys-story-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8b7562;margin-bottom:10px}
.greys-story-hero h2,.greys-story-head h2,.greys-story-cta h2{margin:0 0 10px;font-size:clamp(30px,4vw,44px);line-height:1.02;letter-spacing:-.04em}
.greys-story-hero p,.greys-story-head p,.greys-story-rich,.greys-story-cta p{color:#6b5f54;line-height:1.8}
.greys-story-media img,.greys-story-gallery-item img,.theme-05-story-media img{width:100%;height:auto;display:block;border-radius:16px}
.greys-story-media-placeholder{min-height:320px;background:#efe7da;border-radius:16px;display:grid;place-items:center;color:#8b7562}
.greys-story-section{display:grid;gap:18px}
.greys-story-section.narrow{max-width:860px}
.greys-story-subheading{color:#8b7562;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.greys-story-card-grid,.greys-story-related-grid,.theme-05-story-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.greys-story-card,.greys-related-card,.theme-05-story-card,.theme-05-review-card{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(52,39,24,.04)}
.greys-story-card strong,.greys-related-card strong,.theme-05-story-body h3{display:block;margin-bottom:8px}
.greys-story-card span,.greys-related-card span,.theme-05-story-body p,.theme-05-review-card p{color:#6b5f54;line-height:1.7}
.greys-story-accordion{display:grid;gap:10px}
.greys-story-detail{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:14px;padding:14px 16px}
.greys-story-detail summary{cursor:pointer;font-weight:600}
.greys-story-detail div{margin-top:10px;color:#6b5f54;line-height:1.8}
.greys-story-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.greys-story-gallery-item{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:16px;padding:8px}
.greys-story-bullets{margin:0;padding-left:20px;color:#6b5f54;display:grid;gap:8px}
.greys-story-cta{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(180deg,#fff 0%,#f7efe4 100%);border:1px solid rgba(17,24,39,.08);border-radius:20px;padding:24px}
.greys-reviews-shell{border:1px solid rgba(17,24,39,.08);background:#fff;border-radius:16px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.theme-05-story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.theme-05-story-card{padding:0;overflow:hidden}
.theme-05-story-body{padding:16px 18px 18px;display:grid;gap:8px}
.theme-05-review-card strong{display:block;margin-top:10px}
.builder-preview-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.builder-preview-story-card,.builder-preview-review-card{border:1px solid rgba(17,24,39,.08);background:#fff;border-radius:10px;padding:14px}
.builder-preview-review-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width: 960px){
  .greys-story-hero,.greys-story-card-grid,.greys-story-related-grid,.greys-story-gallery,.theme-05-story-grid,.builder-preview-story-grid,.builder-preview-review-row{grid-template-columns:1fr}
  .greys-story-cta,.greys-reviews-shell{flex-direction:column;align-items:flex-start}
}


.product-basic-surface{gap:18px}
.product-basic-surface-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.product-basic-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:20px;align-items:start}
.product-basic-fields .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-media-panel{display:grid;gap:16px}
.product-main-preview-card,.product-gallery-manager{border:1px solid var(--border);border-radius:12px;background:var(--surface-alt);padding:14px}
.product-media-panel-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6b7280;font-weight:700}
.product-main-preview-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;background:#f1f3f5;margin:10px 0}
.product-image-empty{min-height:240px;border:1px dashed var(--border);border-radius:10px;display:grid;place-items:center;background:#fff;color:#6b7280;margin:10px 0}
.product-gallery-editor{display:grid;gap:10px}
.product-gallery-editor-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px}
.product-gallery-editor-item img{width:72px;height:72px;object-fit:cover;border-radius:8px;background:#f3f4f6}
.product-gallery-editor-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.product-gallery-editor-meta span{font-size:12px;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-gallery-editor-actions{display:flex;gap:6px;flex-shrink:0}
.product-gallery-remove{grid-column:2 / 3;font-size:12px;color:#6b7280;display:flex;align-items:center;gap:6px}
.product-gallery-empty{padding:18px;border-radius:10px}
.product-gallery-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:10px}
.product-gallery-strip-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:#f3f4f6}
@media (max-width: 980px){.product-basic-layout{grid-template-columns:1fr}.product-main-preview-card img{aspect-ratio:3/4}}


.product-gallery-pending{display:grid;gap:10px;padding:12px;border:1px dashed var(--border);border-radius:12px;background:#fff7ed}
.product-gallery-pending-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;border:1px solid rgba(234,88,12,.12);border-radius:10px;background:#fff;padding:10px}
.product-gallery-pending-thumb img{width:72px;height:72px;object-fit:cover;border-radius:8px;background:#f3f4f6;display:block}
.product-gallery-pending-meta strong{display:block;font-size:13px;color:#111827;margin-bottom:4px}
.product-gallery-pending-meta span{display:block;font-size:12px;color:#6b7280;line-height:1.45}
.product-media-picker{padding-top:4px}
.product-media-bank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.product-media-bank-card{display:grid;gap:8px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px;cursor:pointer;align-content:start}
.product-media-bank-card input{justify-self:start;margin:0}
.product-media-bank-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:#f3f4f6}
.product-media-bank-card span{font-size:12px;color:#374151;line-height:1.35;word-break:break-word}
.row-menu-trigger{padding:0}
@media (max-width: 980px){.product-media-bank-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.product-media-bank-grid{grid-template-columns:1fr;}}

.checkbox-stack {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 16px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
}
.checkbox-stack label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

.icon-link{color:var(--text);text-decoration:none}
.category-tree-stack{display:grid;gap:8px;padding:12px;border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:10px}
.category-tree-level{display:grid;gap:6px}
.category-tree-option{display:flex;align-items:center;gap:8px;min-height:34px;border-radius:8px;padding:4px 10px 4px 12px}
.category-tree-option:hover{background:#f8f6f1}
.category-tree-option input{margin:0}
.tenant-help-floater{position:fixed;right:22px;bottom:22px;z-index:140;display:grid;gap:10px;justify-items:end}
.tenant-help-floater-trigger{border:1px solid rgba(17,24,39,.08);background:#111827;color:#fff;border-radius:999px;padding:12px 18px;box-shadow:0 18px 40px rgba(17,24,39,.2);font-weight:700;cursor:pointer}
.tenant-help-floater-panel{width:min(360px,calc(100vw - 24px));background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 60px rgba(17,24,39,.22);padding:16px;display:grid;gap:14px}
.tenant-help-floater-panel[hidden]{display:none !important}
.tenant-help-floater-head{display:grid;gap:4px}
.tenant-help-floater-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tenant-help-floater-minimize{border:1px solid var(--border);background:#fff;color:#111827;border-radius:999px;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;font-size:18px;line-height:1}
.support-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:18px;align-items:start}
.support-tenant-card{display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fbfbfb}
.support-tenant-meta{display:grid;gap:6px;font-size:14px}
@media (max-width: 980px){.support-detail-grid{grid-template-columns:1fr}}
.helpdoc-rich p{margin:0 0 12px}
.helpdoc-steps{display:grid;gap:12px;padding-left:22px;margin:0}
.helpdoc-steps li{display:grid;gap:4px}
.helpdoc-steps span{color:var(--muted)}
.helpdoc-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.helpdoc-gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#f3f4f6}
@media (max-width: 768px){.tenant-help-floater{right:14px;bottom:14px}.tenant-help-floater-panel{width:min(340px,calc(100vw - 20px))}}


.ai-helper-icon-button,
.ai-inline-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-left: 8px;
  min-width: 30px;
  height: 30px;
  border: 1px solid rgba(15,23,42,.15);
  border-radius: 999px;
  background: #fff;
  color: #0f172a;
  cursor: pointer;
  font-size: 12px;
  box-shadow: 0 6px 18px rgba(15,23,42,.06);
}

.builder-inline-field-group {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.builder-inline-field-group > input,
.builder-inline-field-group > textarea {
  flex: 1 1 auto;
}

.theme-05-fullscreen-slider {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: #111;
}
.theme-05-slider-track {
  display: flex;
  width: 100%;
  transition: transform .45s ease;
}
.theme-05-slide {
  position: relative;
  flex: 0 0 100%;
  min-height: 100vh;
  display: grid;
}
.theme-05-slide-media,
.theme-05-slide-media img {
  width: 100%;
  height: 100%;
}
.theme-05-slide-media img {
  object-fit: cover;
  display: block;
}
.theme-05-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(17,17,17,.62) 0%, rgba(17,17,17,.28) 45%, rgba(17,17,17,.1) 100%);
}
.theme-05-slide-copy {
  position: absolute;
  left: min(7vw, 84px);
  bottom: min(11vh, 90px);
  width: min(680px, calc(100% - 48px));
  z-index: 2;
  color: #fff;
}
.theme-05-slide-eyebrow {
  margin-bottom: 14px;
  font-size: 11px;
  letter-spacing: .24em;
  text-transform: uppercase;
  opacity: .92;
}
.theme-05-slide-copy h2 {
  margin: 0 0 16px;
  font-size: clamp(34px, 6vw, 72px);
  line-height: .95;
  color: #fff;
}
.theme-05-slide-copy p {
  max-width: 560px;
  margin: 0 0 20px;
  font-size: clamp(15px, 1.8vw, 19px);
  line-height: 1.55;
  color: rgba(255,255,255,.9);
}
.theme-05-slider-controls {
  position: absolute;
  right: min(5vw, 56px);
  bottom: min(7vh, 54px);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 14px;
}
.theme-05-slider-arrow,
.theme-05-slider-dot {
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(255,255,255,.08);
  color: #fff;
  cursor: pointer;
}
.theme-05-slider-arrow {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  font-size: 22px;
}
.theme-05-slider-dots {
  display: flex;
  gap: 8px;
}
.theme-05-slider-dot {
  width: 11px;
  height: 11px;
  border-radius: 999px;
}
.theme-05-slider-dot.is-active {
  background: #fff;
}
.builder-preview-slider-hero .builder-preview-chip-row span + span {
  background: rgba(15,23,42,.06);
}
@media (max-width: 760px) {
  .theme-05-slide-copy {
    left: 24px;
    right: 24px;
    width: auto;
    bottom: 78px;
  }
  .theme-05-slider-controls {
    left: 24px;
    right: auto;
    bottom: 24px;
  }
}

.tenant-template-shell-body {
  background: #f7f3ef;
  color: #1f1f1f;
}
.tenant-template-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.tenant-template-announcement {
  background: var(--tenant-announcement-bg, #e7d2cf);
  color: var(--tenant-announcement-color, #fffaf7);
  text-align: center;
  padding: 8px 16px;
  font-size: 13px;
  letter-spacing: .04em;
}
.tenant-template-announcement a { color: inherit; text-decoration: none; }
.tenant-template-header {
  background: var(--tenant-header-bg, #f7f3ef);
  border-bottom: 1px solid rgba(17,24,39,.08);
  position: sticky;
  top: 0;
  z-index: 30;
}
.admin-bar .tenant-template-header { top: 32px; }
.tenant-template-header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto;
  gap: 18px;
  align-items: center;
  min-height: 72px;
}
.tenant-template-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
}
.tenant-template-nav {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  align-items: center;
}
.tenant-template-nav-left { justify-content: flex-end; }
.tenant-template-nav-right { justify-content: flex-start; }
.tenant-template-nav a,
.tenant-template-utility a {
  color: rgba(17,24,39,.74);
  text-decoration: none;
  font-size: 14px;
}
.tenant-template-nav a.active,
.tenant-template-utility a.active,
.tenant-template-nav a:hover,
.tenant-template-utility a:hover {
  color: #111827;
}
.tenant-template-utility {
  display: flex;
  gap: 16px;
  justify-content: flex-end;
  align-items: center;
  min-width: 120px;
}
.tenant-template-cart-link span {
  display: inline-block;
  min-width: 18px;
  text-align: center;
}
.tenant-template-main {
  flex: 1;
}
.tenant-template-main > .page-shell,
.tenant-template-main > .tenant-template-page-shell {
  padding-top: 28px;
  padding-bottom: 46px;
}
.tenant-template-footer {
  margin-top: auto;
  border-top: 1px solid rgba(17,24,39,.08);
  background: #f7f3ef;
}
.tenant-template-footer-inner {
  display: grid;
  grid-template-columns: 1.3fr 1fr .9fr;
  gap: 28px;
  padding-top: 28px;
  padding-bottom: 28px;
}
.tenant-template-footer-title { font-size: 18px; font-weight: 600; margin-bottom: 8px; }
.tenant-template-footer-tagline,
.tenant-template-footer-copy,
.tenant-template-footer-note { color: rgba(17,24,39,.68); font-size: 14px; }
.tenant-template-footer-nav { display: flex; flex-direction: column; gap: 10px; }
.tenant-template-footer-nav a { color: rgba(17,24,39,.78); text-decoration: none; }
.tenant-template-footer-nav a:hover { color: #111827; }
@media (max-width: 980px) {
  .tenant-template-header-inner {
    grid-template-columns: 1fr;
    gap: 14px;
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .tenant-template-nav-left,
  .tenant-template-nav-right,
  .tenant-template-utility { justify-content: center; }
  .tenant-template-footer-inner { grid-template-columns: 1fr; }
}


.tenant-template-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--tenant-accent-color, #111111);
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.button-shape-square .tenant-template-header-cta { border-radius: 8px; }
.tenant-template-header.layout-logo_left_center_nav_cta .tenant-template-header-inner {
  grid-template-columns: auto minmax(0,1fr) auto;
}
.tenant-template-header.layout-logo_left_center_nav_cta .tenant-template-brand-left {
  justify-content: flex-start;
}
.tenant-template-header.layout-logo_left_center_nav_cta .tenant-template-nav-center {
  justify-content: center;
}
.tenant-template-header.layout-logo_left_center_nav_cta .tenant-template-utility {
  min-width: auto;
}
.tenant-template-header-inner-stacked {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 18px;
  padding-bottom: 18px;
}
.tenant-template-header-row-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}
.tenant-template-header.layout-stacked_center_logo .tenant-template-nav-center {
  justify-content: center;
}
.tenant-template-shell-body.header-layout-logo_left_center_nav_cta .tenant-template-header,
.tenant-template-shell-body.header-layout-stacked_center_logo .tenant-template-header {
  border-bottom-color: rgba(17,24,39,.10);
}
@media (max-width: 980px) {
  .tenant-template-header.layout-logo_left_center_nav_cta .tenant-template-header-inner,
  .tenant-template-header.layout-stacked_center_logo .tenant-template-header-inner,
  .tenant-template-header.layout-split_center_logo .tenant-template-header-inner {
    grid-template-columns: 1fr;
  }
  .tenant-template-header.layout-logo_left_center_nav_cta .tenant-template-brand-left,
  .tenant-template-header.layout-logo_left_center_nav_cta .tenant-template-nav-center,
  .tenant-template-header.layout-logo_left_center_nav_cta .tenant-template-utility,
  .tenant-template-header.layout-stacked_center_logo .tenant-template-nav-center,
  .tenant-template-header.layout-stacked_center_logo .tenant-template-utility {
    justify-content: center;
  }
  .tenant-template-header-row-secondary {
    flex-direction: column;
  }
}

.tenant-template-shell-body {
  background: var(--tenant-body-bg, #f7f3ef);
  color: var(--tenant-text-color, #1f1f1f);
}
.tenant-template-header,
.tenant-template-footer,
.tenant-template-announcement {
  border-color: var(--tenant-border-color, rgba(17,24,39,.08));
}
.tenant-template-header { background: var(--tenant-body-bg, #f7f3ef); }
.tenant-template-footer { background: var(--tenant-body-bg, #f7f3ef); }
.tenant-template-footer-menus {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.tenant-template-footer-layout-minimal .tenant-template-footer-menus,
.footer-layout-minimal .tenant-template-footer-menus { grid-template-columns: 1fr; }
.tenant-template-footer-copy,
.tenant-template-footer-tagline,
.tenant-template-footer-note,
.tenant-template-nav a,
.tenant-template-utility a,
.tenant-template-footer-nav a,
.tenant-template-page-shell .muted {
  color: var(--tenant-muted-color, rgba(17,24,39,.68));
}
.tenant-template-page-shell .card,
.tenant-template-page-shell .surface,
.template-customizer-group,
.template-menu-card { background: var(--tenant-surface-bg, #fffdfa); }
.template-customizer-grid,
.template-shortcuts-grid { align-items: start; }
.template-shortcuts-grid .surface { padding: 18px; border: 1px solid rgba(17,24,39,.08); border-radius: 18px; }
.switch-row { display: inline-flex; gap: 10px; align-items: center; }
.color-input-row { display: flex; gap: 10px; align-items: center; }
.color-input-row input[type="color"] { width: 52px; padding: 0; border: 0; background: transparent; }
.template-menu-card-head { display: flex; justify-content: space-between; gap: 16px; align-items: end; }
.menu-item-table td { vertical-align: top; }
.menu-item-value-stack { display: grid; gap: 8px; }
.tiny { font-size: 12px; }
.template-product-grid.compact_grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.template-product-grid.compact_grid .product-card img { aspect-ratio: 1 / 1; object-fit: cover; }
.template-product-grid.minimal_list,
.shop-layout-minimal_list .template-product-grid { grid-template-columns: 1fr; }
.template-product-grid.minimal_list .product-card,
.shop-layout-minimal_list .template-product-grid .product-card { display: grid; grid-template-columns: 220px 1fr; align-items: stretch; }
.template-product-grid.minimal_list .product-card img,
.shop-layout-minimal_list .template-product-grid .product-card img { height: 100%; object-fit: cover; }
.template-product-grid.two_column_cards,
.shop-layout-two_column_cards .template-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product-page-grid.buybox_left_gallery .product-media-column { order: 2; }
.product-page-grid.buybox_left_gallery .product-buybox-column { order: 1; }
.product-page-grid.stacked_product { grid-template-columns: 1fr; }
.product-page-grid.stacked_product .product-media-column,
.product-page-grid.stacked_product .product-buybox-column { order: initial; }
.tenant-template-search-link { opacity: .8; }
@media (max-width: 980px) {
  .tenant-template-footer-menus { grid-template-columns: 1fr; }
  .template-menu-card-head { flex-direction: column; align-items: stretch; }
  .template-product-grid.compact_grid,
  .template-product-grid.two_column_cards,
  .template-product-grid.minimal_list,
  .shop-layout-minimal_list .template-product-grid,
  .shop-layout-two_column_cards .template-product-grid { grid-template-columns: 1fr; }
  .template-product-grid.minimal_list .product-card,
  .shop-layout-minimal_list .template-product-grid .product-card { grid-template-columns: 1fr; }
}
.tenant-template-shell-body.header-layout-compact_center_logo .tenant-template-header-inner-stacked {
  padding-top: 10px;
  padding-bottom: 10px;
  gap: 6px;
}
.tenant-template-shell-body.header-layout-minimal_left_logo .tenant-template-header-inner {
  min-height: 78px;
}

.tenant-template-brand img{max-width:var(--tenant-logo-width-desktop,180px);width:100%;height:auto;display:block}
@media (max-width:980px){.tenant-template-brand img{max-width:var(--tenant-logo-width-mobile,120px)}}
.header-not-sticky .tenant-template-header,.tenant-template-header.is-static{position:relative;top:auto}
.tenant-template-utility-icon{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;font-size:16px;line-height:1;border:0;background:none;padding:0;color:inherit;cursor:pointer}
.tenant-template-cart-link.tenant-template-utility-icon span{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:var(--tenant-accent-color,#111111);color:#fff;font-size:11px;padding:0 4px;margin-left:6px}
.tenant-cart-drawer-overlay{position:fixed;inset:0;background:rgba(17,24,39,.28);z-index:60}
.tenant-cart-drawer{position:fixed;top:0;right:0;height:100vh;width:min(420px,100vw);background:var(--tenant-surface-bg,#fffdfa);box-shadow:-10px 0 30px rgba(0,0,0,.12);transform:translateX(100%);transition:transform .25s ease;z-index:61;display:flex;flex-direction:column}
.cart-drawer-open .tenant-cart-drawer{transform:translateX(0)}
.tenant-cart-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--tenant-border-color,rgba(17,24,39,.08))}
.tenant-cart-drawer-head button{border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:inherit}
.tenant-cart-drawer-body{padding:18px 22px;display:grid;gap:14px;overflow:auto}
.tenant-cart-drawer-item{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--tenant-border-color,rgba(17,24,39,.08))}
.tenant-cart-drawer-item-title{font-weight:600}
.tenant-cart-drawer-item-meta{text-align:right;font-size:13px;color:var(--tenant-muted-color,#6b7280)}
.tenant-cart-drawer-subtotal{display:flex;justify-content:space-between;align-items:center;padding-top:6px}
.tenant-cart-drawer-actions{display:grid;gap:10px}
