:root {
  color-scheme: light;
  --bg: #f6f4ef;
  --surface: #ffffff;
  --surface-soft: #f1eee6;
  --ink: #1f2933;
  --muted: #697586;
  --line: #d8d2c4;
  --accent: #166534;
  --accent-strong: #14532d;
  --product-button: #166534;
  --product-button-text: #ffffff;
  --nav-button: #f1eee6;
  --nav-button-text: #1f2933;
  --nav-button-active: #166534;
  --nav-button-active-text: #ffffff;
  --font-family-base: Arial, Helvetica, sans-serif;
  --body-font-size: 16px;
  --heading-font-size: 24px;
  --warning: #8a4b0f;
  --success-bg: #e8f5e9;
  --success-line: #9ccc9c;
  --error-bg: #fff0f0;
  --error-line: #d99a9a;
  --shadow: 0 18px 45px rgba(31, 41, 51, 0.08);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-family-base);
  font-size: var(--body-font-size);
  line-height: 1.5;
}

body.checkout-modal-open {
  overflow: hidden;
}

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

.topbar {
  align-items: center;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding: 24px max(24px, calc((100vw - 1180px) / 2));
}

.topbar:has(.admin-nav) {
  position: sticky;
  top: 0;
  z-index: 80;
}

.topbar h1 {
  font-size: 30px;
  line-height: 1.15;
  margin: 4px 0 0;
}

.brand-heading {
  align-items: center;
  display: flex;
  gap: 14px;
  min-width: 0;
}

.brand-home-link {
  display: inline-flex;
  flex: 0 0 auto;
}

.brand-home-link:focus-visible {
  border-radius: 4px;
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}

.brand-logo {
  background: transparent;
  border: 0;
  border-radius: 0;
  flex: 0 0 auto;
  height: 70px;
  object-fit: contain;
  padding: 0;
  width: 86px;
}

.eyebrow {
  color: var(--warning);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0;
  text-transform: uppercase;
}

.status-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.status-pill {
  background: #e6f2ea;
  border: 1px solid #a4c7ad;
  border-radius: 999px;
  color: var(--accent-strong);
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 10px;
  white-space: nowrap;
}

.status-pill-muted {
  background: var(--surface-soft);
  border-color: var(--line);
  color: var(--muted);
}

.status-link {
  background: var(--nav-button-active);
  border: 1px solid var(--nav-button-active);
  border-radius: 999px;
  color: var(--nav-button-active-text);
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 10px;
  text-decoration: none;
  white-space: nowrap;
}

.status-link:hover,
.status-link:focus {
  background: var(--nav-button-active);
  border-color: var(--nav-button-active);
  color: var(--nav-button-active-text);
}

.status-link-muted {
  background: var(--nav-button);
  border-color: var(--nav-button);
  color: var(--nav-button-text);
}

.status-link-muted:hover,
.status-link-muted:focus {
  background: var(--nav-button-active);
  border-color: var(--nav-button-active);
  color: var(--nav-button-active-text);
}

.cart-top-link {
  gap: 5px;
}

.topbar-inline-form {
  margin: 0;
}

.topbar-inline-form button {
  background: var(--nav-button);
  border: 1px solid var(--nav-button);
  border-radius: 999px;
  color: var(--nav-button-text);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  min-height: auto;
  padding: 8px 10px;
}

.topbar-inline-form button:hover,
.topbar-inline-form button:focus {
  background: var(--nav-button-active);
  border-color: var(--nav-button-active);
  color: var(--nav-button-active-text);
}

.page-shell {
  margin: 0 auto;
  max-width: 1180px;
  padding: 28px 24px 56px;
}

.embed-page .page-shell {
  padding-top: 24px;
}

.notice,
.setup-panel,
.checkout-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.notice {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-bottom: 20px;
  padding: 14px 16px;
}

.notice-success {
  background: var(--success-bg);
  border-color: var(--success-line);
}

.notice-error {
  background: var(--error-bg);
  border-color: var(--error-line);
}

.setup-panel {
  padding: 28px;
}

.setup-panel h2 {
  font-size: 24px;
  margin: 6px 0 10px;
}

.setup-panel code {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 1px 5px;
}

.order-layout {
  align-items: flex-start;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) 360px;
}

.order-layout-sidebar_left {
  grid-template-columns: 360px minmax(0, 1fr);
}

.order-layout-sidebar_left .checkout-panel {
  order: -1;
}

.order-layout-single_column {
  grid-template-columns: 1fr;
}

.order-layout-single_column .checkout-panel {
  position: static;
}

[data-cart-line-fields] {
  display: none;
}

.section-heading {
  margin-bottom: 18px;
}

.section-heading h2 {
  font-size: 24px;
  line-height: 1.2;
  margin: 4px 0 0;
}

.category-block {
  border-top: 1px solid var(--line);
  scroll-margin-top: 96px;
  padding: 22px 0 4px;
}

.category-link-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -6px 0 18px;
}

.category-link-nav a {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 10px;
  text-decoration: none;
}

.category-link-nav a:hover,
.category-link-nav a:focus {
  background: var(--nav-button-active);
  border-color: var(--nav-button-active);
  color: var(--nav-button-active-text);
}

.category-block:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.category-heading {
  margin-bottom: 12px;
}

.category-heading > div {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.category-block-muted {
  opacity: 0.72;
}

.category-heading h3 {
  font-size: 20px;
  line-height: 1.25;
  margin: 0;
}

.category-heading p,
.product-copy p,
.panel-subtitle,
.empty-state {
  color: var(--muted);
  margin: 4px 0 0;
}

.product-list {
  display: grid;
  gap: 10px;
}

.product-row {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 96px;
  padding: 16px;
}

.product-info {
  align-items: center;
  display: flex;
  gap: 14px;
  min-width: 0;
}

.product-menu-image {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  flex: 0 0 auto;
  height: 74px;
  object-fit: cover;
  width: 92px;
}

.product-copy h4 {
  font-size: 17px;
  line-height: 1.25;
  margin: 0;
}

.product-copy {
  min-width: 0;
}

.product-controls {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-end;
}

.product-controls strong {
  min-width: 92px;
  text-align: right;
  white-space: nowrap;
}

.product-controls label,
.field-grid label,
.address-group label,
.two-fields label,
.delivery-zone-control {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.product-controls span,
.field-grid span,
.address-group span,
.two-fields span,
.delivery-zone-control > span,
legend {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.product-controls input {
  min-height: 42px;
  text-align: center;
  width: 82px;
}

.delivery-zone-static,
.delivery-zone-lookup {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px;
}

.delivery-zone-static strong {
  display: block;
  font-size: 13px;
  line-height: 1.35;
}

.delivery-zone-lookup {
  display: grid;
  gap: 8px;
}

.tip-control {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.tip-control label,
.checkout-stack {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.tip-control .cart-add-button {
  min-height: 42px;
}

.checkout-privacy-consent {
  align-items: flex-start;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px;
}

.checkout-privacy-consent input {
  margin-top: 3px;
}

.saved-address-summary {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  font-weight: 700;
  line-height: 1.4;
  padding: 10px;
}

.checkout-data-summary {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  display: grid;
  gap: 8px;
  padding: 10px;
}

.checkout-data-summary div {
  display: grid;
  gap: 2px;
}

.checkout-data-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.checkout-data-summary strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.35;
}

.cart-add-button {
  background: var(--product-button);
  border: 1px solid var(--product-button);
  border-radius: 6px;
  color: var(--product-button-text);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  min-height: 42px;
  padding: 8px 10px;
  white-space: nowrap;
}

.cart-add-button:hover,
.cart-add-button:focus {
  background: var(--accent-strong);
  border-color: var(--accent-strong);
  color: #fff;
}

.product-choice-panel {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  min-width: min(100%, 300px);
  padding: 12px;
  width: 100%;
}

.product-choice-panel label {
  width: 100%;
}

.product-choice-panel input,
.product-choice-panel select {
  text-align: left;
  width: 100%;
}

.product-choice-panel input[type="checkbox"] {
  flex: 0 0 auto;
  margin-top: 2px;
  width: auto;
}

.product-choice-panel input[type="number"] {
  text-align: center;
}

.cart-confirm-button {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.cart-confirm-button:hover,
.cart-confirm-button:focus {
  background: var(--accent-strong);
  border-color: var(--accent-strong);
  color: #fff;
}

.inline-options {
  background: var(--surface-soft);
  min-width: 210px;
}

.product-choice-panel .choice-row,
.inline-options .choice-row {
  align-items: flex-start;
  display: flex;
  justify-content: flex-start;
}

.product-choice-panel .choice-row input[type="checkbox"],
.inline-options .choice-row input[type="checkbox"] {
  flex: 0 0 auto;
  margin: 2px 0 0;
  min-height: auto;
  width: auto;
}

.inline-options .choice-row span {
  font-size: 12px;
  line-height: 1.35;
  min-width: 0;
}

.extra-group-options {
  display: grid;
  gap: 8px;
}

.option-validation-message {
  background: #fff1f0;
  border: 1px solid #f1aaa2;
  border-radius: 6px;
  color: #b42318;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  padding: 8px 10px;
}

input,
select,
textarea {
  background: #fff;
  border: 1px solid #b9c0c8;
  border-radius: 6px;
  color: var(--ink);
  min-height: 42px;
  padding: 9px 10px;
  width: 100%;
}

[hidden] {
  display: none !important;
}

textarea {
  min-height: 92px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--accent);
  outline: 3px solid rgba(22, 101, 52, 0.16);
}

.is-invalid {
  background: #fffafa;
  border-color: #b42318;
}

.is-invalid:focus {
  border-color: #b42318;
  outline-color: rgba(180, 35, 24, 0.18);
}

.checkout-panel {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: 22px;
  position: sticky;
  top: 18px;
}

.checkout-panel > label {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.checkout-panel > label > span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

fieldset {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  margin: 0;
  min-width: 0;
  padding: 12px;
}

.choice-row {
  align-items: center;
  display: flex;
  gap: 10px;
}

.address-group label.choice-row,
.field-grid label.choice-row,
.two-fields label.choice-row,
.status-form label.choice-row,
.checkout-details-dialog label.choice-row {
  align-items: center;
  display: flex;
}

.choice-row input {
  flex: 0 0 auto;
  min-height: auto;
  width: auto;
}

.field-grid,
.address-group {
  display: grid;
  gap: 12px;
}

.two-fields {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
}

.panel-subtitle {
  font-weight: 700;
}

.cart-summary {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.checkout-panel[aria-labelledby="checkout-heading"] .section-heading {
  order: -3;
}

.checkout-panel[aria-labelledby="checkout-heading"] .cart-summary {
  order: -2;
}

.checkout-to-details-button {
  order: -1;
}

.checkout-details {
  align-items: center;
  background: rgba(31, 41, 51, 0.46);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 22px;
  position: fixed;
  z-index: 110;
}

.checkout-details-dialog {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 16px;
  max-height: calc(100vh - 44px);
  max-width: 760px;
  overflow: auto;
  padding: 22px;
  position: relative;
  width: min(100%, 760px);
}

.checkout-modal-summary {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.cart-lines {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 8px;
  padding-bottom: 10px;
}

.cart-line {
  align-items: start;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.cart-line div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.cart-line-actions {
  justify-items: end;
}

.cart-line-remove {
  background: transparent;
  border: 0;
  color: #b42318;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  padding: 0;
  text-decoration: underline;
}

.cart-line span,
.cart-empty,
.cart-minimum-message {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  margin: 0;
}

.cart-minimum-message {
  background: #fff8e6;
  border: 1px solid #e4c675;
  border-radius: 6px;
  color: var(--warning);
  font-weight: 700;
  padding: 8px 10px;
}

.cart-summary-list {
  display: grid;
  gap: 8px;
  margin: 0;
}

.cart-summary-list div {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.cart-summary-list dt {
  color: var(--muted);
  font-weight: 700;
}

.cart-summary-list dd {
  font-weight: 700;
  margin: 0;
  text-align: right;
}

.checkout-choice-modal {
  align-items: center;
  background: rgba(31, 41, 51, 0.42);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 22px;
  position: fixed;
  z-index: 100;
}

.checkout-choice-dialog {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 18px;
  max-width: 420px;
  padding: 22px;
  position: relative;
  width: min(100%, 420px);
}

.modal-close-button {
  align-items: center;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  font-size: 22px;
  height: 34px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 12px;
  top: 12px;
  width: 34px;
}

.checkout-choice-actions {
  display: grid;
  gap: 10px;
}

.checkout-choice-actions .primary-button,
.checkout-choice-actions .table-action,
.checkout-choice-actions button {
  justify-content: center;
  width: 100%;
}

.cart-summary-total {
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.option-row-list {
  display: grid;
  gap: 10px;
}

.option-edit-row {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) 94px auto;
}

.primary-button {
  align-items: center;
  background: var(--accent);
  border: 0;
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 48px;
  padding: 12px 16px;
  text-decoration: none;
  width: 100%;
}

.primary-button:hover,
.primary-button:focus {
  background: var(--accent-strong);
}

.primary-button:disabled {
  background: var(--muted);
  cursor: not-allowed;
}

.empty-state {
  background: var(--surface);
  border: 1px dashed var(--line);
  border-radius: 8px;
  padding: 18px;
}

.customer-auth-strip {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  margin-bottom: 22px;
  padding: 18px;
}

.customer-auth-strip-auth-only {
  margin-left: auto;
  margin-right: auto;
  max-width: 640px;
  padding: 24px;
}

.compact-auth-form {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(180px, 1fr) minmax(160px, 0.8fr) auto auto;
}

.compact-auth-form-register {
  grid-template-columns: 1fr;
}

.customer-auth-strip-auth-only .compact-auth-form {
  align-items: stretch;
  grid-template-columns: 1fr;
}

.customer-auth-strip-auth-only .table-action {
  justify-content: center;
}

.compact-auth-form label {
  display: grid;
  gap: 6px;
}

.compact-auth-form span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.compact-auth-form button {
  background: var(--accent);
  border: 1px solid var(--accent);
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  font-weight: 700;
  min-height: 42px;
  padding: 9px 12px;
}

.customer-access-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 24px;
}

.customer-access-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  padding: 20px;
}

.customer-access-panel h2 {
  font-size: 22px;
  line-height: 1.2;
  margin: 4px 0 0;
}

.customer-access-panel p {
  color: var(--muted);
  margin: 6px 0 0;
}

.customer-access-panel-wide {
  align-items: center;
  display: flex;
  gap: 18px;
  grid-column: 1 / -1;
  justify-content: space-between;
}

.option-admin-grid {
  align-items: flex-start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr);
}

.option-create-form {
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 18px;
}

.option-config-row,
.option-group-card {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.option-group-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.customer-address-row {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
}

.customer-address-row span {
  color: var(--muted);
  display: block;
  font-size: 13px;
  margin-top: 2px;
}

#customer-addresses {
  grid-column: 1;
}

#customer-addresses + .checkout-panel {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.admin-search-form {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  margin: 14px 0 16px;
}

.table-action-small {
  font-size: 12px;
  min-height: 32px;
  padding: 5px 8px;
}

.option-inline-form {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(160px, 1fr) minmax(96px, 120px) auto auto;
  min-width: 0;
}

.delivery-zone-form {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(150px, 1.2fr) 92px minmax(220px, 1.6fr) repeat(4, minmax(92px, 1fr)) auto;
}

.delivery-zone-form button {
  align-self: end;
}

.delivery-zone-values {
  border: 0;
  display: grid;
  gap: 6px;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.delivery-zone-values legend {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 2px;
  text-transform: uppercase;
}

.delivery-zone-value-row {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: minmax(90px, 1fr) auto;
}

.delivery-zone-value-row input {
  min-height: 34px;
  padding: 7px 9px;
}

.delivery-zone-value-row .table-action,
.delivery-zone-add-value {
  font-size: 12px;
  min-height: 32px;
  padding: 5px 8px;
}

.delivery-zone-add-value {
  justify-self: start;
}

.compact-action-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.compact-action-row .compact-form {
  margin: 0;
}

.compact-action-row button {
  font-size: 12px;
  min-height: 32px;
  padding: 5px 8px;
}

.settings-toggle-list {
  display: grid;
  gap: 10px;
}

.settings-toggle-row,
.delivery-zone-form .delivery-active-toggle {
  align-items: center;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 42px;
  padding: 10px 12px;
}

.option-edit-row-wide {
  grid-template-columns: minmax(130px, 1fr) 112px auto;
}

.settings-zone-card {
  margin-top: 24px;
}

.settings-branding-card,
.settings-seo-card,
.settings-checkout-card,
.settings-duration-card,
.settings-calendar-card {
  margin-top: 24px;
}

.section-heading-compact h3 {
  font-size: 18px;
  line-height: 1.25;
  margin: 4px 0 0;
}

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

.calendar-config-row {
  gap: 12px;
}

.calendar-row-form {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: 130px minmax(180px, 1fr) 96px 96px auto auto;
  min-width: 0;
}

.calendar-closure-form {
  grid-template-columns: 130px 130px 150px minmax(140px, 1fr) auto auto;
}

.product-import-form {
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 18px;
}

.weekday-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.weekday-picker legend {
  width: 100%;
}

.calendar-create-form {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding: 14px;
}

.calendar-mode-field {
  display: grid;
  gap: 6px;
}

.calendar-closed-note {
  background: var(--error-bg);
  border: 1px solid var(--error-line);
  border-radius: 6px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  padding: 10px 12px;
}

.time-slot-list {
  display: grid;
  gap: 10px;
}

.desired-time-group {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.desired-time-toggle {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 42px;
  padding: 10px 12px;
}

.desired-time-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.desired-time-field input {
  display: block;
  width: 100%;
}

.desired-time-message {
  border-radius: 6px;
  display: block;
  font-weight: 700;
  padding: 8px 10px;
}

.desired-time-message[hidden] {
  display: none !important;
}

.desired-time-message-ok {
  background: var(--success-bg);
  border: 1px solid var(--success-line);
  color: var(--accent-strong);
}

.desired-time-message-error {
  background: var(--error-bg);
  border: 1px solid var(--error-line);
  color: #8b1d1d;
}

.branding-settings-layout {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: 180px minmax(0, 1fr);
}

.logo-preview-box {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  min-height: 140px;
  padding: 14px;
  place-items: center;
}

.brand-logo-preview {
  max-height: 120px;
  max-width: 100%;
  object-fit: contain;
}

.compact-form {
  display: flex;
  justify-content: flex-end;
}

.status-form button,
.delivery-zone-form button,
.option-inline-form button,
.compact-form button {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  cursor: pointer;
  font-weight: 700;
  min-height: 42px;
  padding: 9px 12px;
}

.status-form .danger-button,
.option-inline-form .danger-button,
.compact-form .danger-button,
.row-actions .danger-button {
  border-color: #d99a9a;
  color: #8b1d1d;
}

.status-form button:hover,
.delivery-zone-form button:hover,
.option-inline-form button:hover,
.compact-form button:hover {
  border-color: var(--accent);
  color: var(--accent-strong);
}

.status-form .primary-button {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.status-form .primary-button:hover,
.status-form .primary-button:focus {
  background: var(--accent-strong);
  border-color: var(--accent-strong);
  color: #fff;
}

.app-footer {
  border-top: 1px solid var(--line);
  color: var(--muted);
  display: grid;
  gap: 8px;
  font-size: 13px;
  margin: 0 auto;
  max-width: 1180px;
  padding: 18px 24px 26px;
  text-align: center;
}

.app-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  justify-content: center;
}

.app-footer a {
  color: var(--accent-strong);
  font-weight: 700;
  text-decoration: none;
}

.app-footer a:hover,
.app-footer a:focus {
  text-decoration: underline;
}

.public-content-panel,
.customer-account-panel,
.legal-content-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  margin-bottom: 22px;
  padding: 20px;
}

.public-content-panel p,
.legal-text {
  color: var(--ink);
  margin: 0;
  white-space: normal;
}

.public-content-image,
.footer-content-image {
  border-radius: 8px;
  display: block;
  height: auto;
  max-height: 260px;
  object-fit: cover;
  width: 100%;
}

.public-content-image {
  margin: 12px 0;
}

.footer-content-image {
  max-height: 90px;
  max-width: 180px;
}

.public-content-panel .section-heading h2 {
  font-size: 22px;
}

.customer-account-panel {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.customer-account-panel h2 {
  font-size: 20px;
  line-height: 1.25;
  margin: 4px 0 0;
}

.customer-account-details {
  color: var(--muted);
  display: grid;
  font-size: 13px;
  gap: 2px;
  line-height: 1.35;
  margin-top: 6px;
}

.customer-account-actions {
  align-items: flex-end;
  display: grid;
  gap: 8px;
  justify-items: end;
}

.customer-account-link {
  min-height: auto;
  padding: 9px 12px;
  width: auto;
}

.customer-account-small-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  margin-top: 10px;
}

.customer-account-small-actions a,
.link-button-danger {
  background: transparent;
  border: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  min-height: auto;
  padding: 0;
  text-decoration: underline;
}

.link-button-danger {
  background: transparent;
  border: 0;
  color: #8a1f1f;
  cursor: pointer;
  font-weight: 700;
  text-decoration: underline;
  width: auto;
}

.fulfillment-note {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  margin: 0 0 14px;
  padding: 10px 12px;
}

.checkout-privacy-note a {
  color: var(--accent-strong);
  font-weight: 700;
}

.cookie-banner {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  bottom: 18px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  left: 18px;
  margin: 0 auto;
  max-width: 760px;
  padding: 16px;
  position: fixed;
  right: 18px;
  z-index: 120;
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-banner p {
  color: var(--muted);
  margin: 4px 0;
}

.cookie-banner .primary-button {
  min-width: 130px;
  width: auto;
}

.design-admin-form,
.color-settings-grid {
  display: grid;
  gap: 18px;
}

.color-settings-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.design-typography-grid {
  align-items: end;
}

.nav-settings-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.nav-settings-item {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
}

.nav-settings-item label:not(.choice-row) {
  display: grid;
  gap: 6px;
}

.nav-settings-item label:not(.choice-row) span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.nav-custom-pages {
  display: grid;
  gap: 12px;
  margin: 12px 0;
}

.nav-custom-page-row {
  background: color-mix(in srgb, var(--surface-soft) 65%, var(--surface));
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 12px;
}

.nav-custom-page-row legend {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  padding: 0 4px;
  text-transform: uppercase;
}

.color-settings-grid input[type="color"] {
  border: 1px solid var(--line);
  border-radius: 6px;
  height: 44px;
  padding: 4px;
  width: 100%;
}

.design-subsection-heading {
  border-top: 1px solid var(--line);
  margin-top: 4px;
  padding-top: 16px;
}

.design-subsection-heading h3 {
  font-size: 18px;
  line-height: 1.2;
  margin: 4px 0 0;
}

.design-image-control {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.design-image-control-header {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.design-image-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.design-image-field > span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.file-upload-button {
  align-items: center;
  background: var(--nav-button);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--nav-button-text);
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 42px;
  padding: 9px 12px;
  width: 100%;
}

.file-upload-button input {
  height: 1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.design-image-preview {
  border: 1px solid var(--line);
  border-radius: 6px;
  display: block;
  max-height: 140px;
  object-fit: cover;
  width: 100%;
}


.design-image-control:has(.design-image-preview) {
  align-items: start;
  grid-template-columns: minmax(96px, 140px) minmax(0, 1fr);
}

.design-image-control:has(.design-image-preview) .design-image-control-header {
  grid-column: 1 / -1;
}

.design-image-control:has(.design-image-preview) .design-image-preview {
  grid-column: 1;
  max-height: 88px;
  width: 100%;
}

.design-image-control:has(.design-image-preview) .two-fields {
  grid-column: 2;
  grid-template-columns: minmax(160px, 0.72fr) minmax(220px, 1fr);
}

.design-image-control .file-upload-button {
  min-height: 38px;
  padding: 7px 10px;
}

.design-image-control input[type="text"] {
  min-height: 38px;
}

.section-save-actions {
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
  padding-top: 14px;
}

.section-save-actions .primary-button {
  width: auto;
}

.design-live-preview {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) 220px;
  margin-top: 8px;
  padding: 14px;
}

.design-live-preview.order-layout-sidebar_left {
  grid-template-columns: 220px minmax(0, 1fr);
}

.design-live-preview.order-layout-sidebar_left aside {
  order: -1;
}

.design-live-preview.order-layout-single_column {
  grid-template-columns: 1fr;
}

.design-live-preview section,
.design-live-preview aside {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 14px;
}

.design-live-preview h3,
.design-live-preview p {
  margin: 0;
}

.design-preview-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.design-preview-nav .status-link {
  font-size: 12px;
  padding: 7px 9px;
}

.design-live-preview p,
.design-live-preview span {
  color: var(--muted);
  font-size: 13px;
}

.design-live-preview .primary-button,
.design-live-preview .cart-add-button {
  min-height: 40px;
  padding: 8px 10px;
}

.design-form-actions {
  align-items: stretch;
}

.design-form-actions .primary-button {
  flex: 1 1 260px;
  width: auto;
}

.design-form-actions .table-action {
  justify-content: center;
}

.legal-text {
  line-height: 1.65;
}

.auth-shell {
  align-items: center;
  display: grid;
  min-height: 100vh;
  padding: 24px;
}

.auth-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  margin: 0 auto;
  max-width: 430px;
  padding: 28px;
  width: 100%;
}

.auth-panel h1 {
  font-size: 28px;
  line-height: 1.15;
  margin: 6px 0 18px;
}

.auth-form,
.status-form {
  display: grid;
  gap: 14px;
}

.auth-form label,
.status-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.auth-form span,
.status-form span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.setup-note {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-bottom: 16px;
  padding: 14px;
}

.setup-note p {
  color: var(--muted);
  margin: 6px 0 0;
}

.setup-note code {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 1px 5px;
}

.demo-login-note {
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
}

.demo-login-note strong {
  color: var(--accent-strong);
}

.admin-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-nav a,
.admin-nav button,
.admin-nav-dropdown summary,
.table-action,
.row-actions button {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  min-height: 38px;
  padding: 8px 10px;
  text-decoration: none;
}

.admin-nav a[aria-current="page"],
.admin-nav-dropdown summary[aria-current="page"],
.admin-nav a:hover,
.admin-nav button:hover,
.admin-nav-dropdown summary:hover,
.table-action:hover,
.row-actions button:hover {
  border-color: var(--accent);
  color: var(--accent-strong);
}

.admin-nav-dropdown {
  position: relative;
}

.admin-nav-dropdown summary {
  list-style: none;
}

.admin-nav-dropdown summary::-webkit-details-marker {
  display: none;
}

.admin-nav-dropdown summary::after {
  content: "▾";
  font-size: 11px;
  margin-left: 6px;
}

.admin-nav-dropdown div {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 6px;
  min-width: 190px;
  padding: 8px;
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 90;
}

.admin-nav-dropdown:not([open]) div {
  display: none;
}

.admin-nav-dropdown div a {
  justify-content: flex-start;
  min-height: 32px;
  white-space: nowrap;
}

.row-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.row-actions form {
  margin: 0;
}

.inline-status-form {
  align-items: center;
  display: flex;
  gap: 8px;
  min-width: 210px;
}

.inline-status-form select {
  min-height: 34px;
  padding: 6px 8px;
}

.inline-status-form button {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  min-height: 34px;
  padding: 6px 8px;
  white-space: nowrap;
}

.admin-table .action-column,
.admin-table .action-cell {
  background: var(--surface);
  box-shadow: -10px 0 14px rgba(31, 41, 51, 0.05);
  min-width: 148px;
  position: sticky;
  right: 0;
  width: 148px;
  z-index: 1;
}

.admin-table .action-column {
  z-index: 2;
}

.admin-table .row-actions {
  align-items: stretch;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 6px;
}

.admin-table .table-action,
.admin-table .row-actions button {
  font-size: 12px;
  justify-content: center;
  min-height: 30px;
  min-width: 0;
  overflow: visible;
  padding: 5px 7px;
  white-space: nowrap;
  width: 100%;
}

.admin-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  min-width: 0;
  padding: 22px;
}

.admin-card-header {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.admin-card-header h2 {
  font-size: 24px;
  line-height: 1.2;
  margin: 4px 0 0;
}

.table-scroll {
  overflow-x: auto;
}

.admin-table {
  border-collapse: collapse;
  min-width: 760px;
  width: 100%;
}

.admin-table th,
.admin-table td {
  border-bottom: 1px solid var(--line);
  padding: 12px 10px;
  text-align: left;
  vertical-align: top;
}

.admin-table th {
  color: var(--muted);
  font-size: 13px;
}

.admin-table td span {
  color: var(--muted);
  display: block;
  font-size: 13px;
}

.product-thumb {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  display: block;
  height: 48px;
  object-fit: cover;
  width: 64px;
}

.product-thumb-empty {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: 11px;
  justify-content: center;
  line-height: 1.2;
  padding: 4px;
  text-align: center;
}

.image-preview-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 10px;
}

.image-preview-panel span,
.form-help {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.product-form-preview {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  display: block;
  height: 180px;
  object-fit: cover;
  width: 100%;
}

.product-form-preview-empty {
  align-items: center;
  color: var(--muted);
  display: flex;
  justify-content: center;
}

.copy-link-panel,
.export-link-grid {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
  margin-top: 18px;
  padding-top: 18px;
}

.copy-link-panel label {
  display: grid;
  gap: 6px;
}

.copy-link-panel span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.copy-link-panel input[readonly] {
  background: var(--surface-soft);
}

.export-link-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.admin-detail-layout {
  align-items: flex-start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 320px;
}

.product-admin-layout {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
}

.detail-list,
.totals-list {
  display: grid;
  gap: 10px;
  margin: 0 0 20px;
}

.detail-list div,
.totals-list div {
  display: grid;
  gap: 10px;
  grid-template-columns: 150px minmax(0, 1fr);
}

.detail-list dt,
.totals-list dt {
  color: var(--muted);
  font-weight: 700;
}

.detail-list dd,
.totals-list dd {
  margin: 0;
}

.total-row {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.total-row dd {
  font-size: 20px;
  font-weight: 700;
}

.order-status {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  padding: 7px 9px;
  white-space: nowrap;
}

.order-status-new {
  background: #fff7ed;
  border-color: #f1c27d;
  color: #8a4b0f;
}

.order-status-accepted,
.order-status-preparing {
  background: #eef2ff;
  border-color: #b8c4f5;
  color: #3730a3;
}

.order-status-ready,
.order-status-out_for_delivery {
  background: #ecfeff;
  border-color: #9bdbe0;
  color: #155e75;
}

.order-status-completed {
  background: var(--success-bg);
  border-color: var(--success-line);
  color: var(--accent-strong);
}

.order-status-cancelled {
  background: var(--error-bg);
  border-color: var(--error-line);
  color: #8b1d1d;
}

@media (max-width: 920px) {
  .order-layout {
    grid-template-columns: 1fr;
  }

  .checkout-panel {
    position: static;
  }

  .admin-detail-layout {
    grid-template-columns: 1fr;
  }

  #customer-addresses,
  #customer-addresses + .checkout-panel {
    grid-column: auto;
    grid-row: auto;
  }

  .customer-access-grid,
  .option-admin-grid {
    grid-template-columns: 1fr;
  }

  .option-inline-form {
    grid-template-columns: 1fr;
  }

  .admin-search-form {
    grid-template-columns: 1fr;
  }

  .delivery-zone-form {
    grid-template-columns: 1fr;
  }

  .compact-auth-form,
  .compact-auth-form-register {
    grid-template-columns: 1fr;
  }

  .design-live-preview,
  .design-live-preview.order-layout-sidebar_left,
  .design-live-preview.order-layout-single_column {
    grid-template-columns: 1fr;
  }

  .customer-account-panel {
    align-items: flex-start;
    flex-direction: column;
  }

  .customer-account-actions {
    justify-items: start;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .topbar {
    align-items: flex-start;
    flex-direction: column;
    padding: 20px;
  }

  .brand-heading {
    align-items: flex-start;
  }

  .brand-logo {
    height: 58px;
    width: 72px;
  }

  .page-shell {
    padding: 20px;
  }

  .product-row {
    grid-template-columns: 1fr;
  }

  .product-info {
    align-items: flex-start;
  }

  .product-controls {
    align-items: center;
    justify-content: space-between;
  }

  .inline-options {
    width: 100%;
  }

  .product-controls strong {
    text-align: left;
  }

  .two-fields {
    grid-template-columns: 1fr;
  }

  .design-image-control:has(.design-image-preview) {
    grid-template-columns: 1fr;
  }

  .design-image-control:has(.design-image-preview) .design-image-preview,
  .design-image-control:has(.design-image-preview) .two-fields {
    grid-column: 1;
  }

  .design-image-control:has(.design-image-preview) .two-fields {
    grid-template-columns: 1fr;
  }

  .checkout-details {
    align-items: stretch;
    padding: 12px;
  }

  .checkout-details-dialog {
    max-height: calc(100vh - 24px);
    padding: 18px;
  }

  .option-edit-row {
    grid-template-columns: 1fr;
  }

  .calendar-row-form,
  .calendar-closure-form,
  .delivery-zone-form,
  .option-inline-form {
    grid-template-columns: 1fr;
  }

  .customer-access-panel-wide {
    align-items: stretch;
    flex-direction: column;
  }

  .customer-account-panel,
  .cookie-banner {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .customer-account-panel {
    flex-direction: column;
  }

  .cookie-banner {
    bottom: 10px;
    left: 10px;
    right: 10px;
  }

  .branding-settings-layout {
    grid-template-columns: 1fr;
  }

  .admin-card-header,
  .detail-list div,
  .totals-list div {
    grid-template-columns: 1fr;
  }

  .admin-card-header {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* AIO fixes: kompaktere Darstellung, Navigationslayouts und Kundenadressen */
.public-nav-compact {
  gap: 5px;
}

.public-nav-compact .status-link,
.public-nav-compact .status-pill,
.public-nav-compact .topbar-inline-form button {
  border-radius: 6px;
  font-size: 12px;
  padding: 6px 8px;
}

.public-nav-links .status-link,
.public-nav-links .topbar-inline-form button {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--nav-button-text) !important;
  padding-inline: 3px;
  text-decoration: underline;
}

.product-menu-image {
  height: 58px;
  width: 72px;
}

.design-image-preview,
.public-content-image {
  max-height: 180px;
  object-fit: contain;
  width: auto;
}

.customer-address-manager {
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 18px;
}

.compact-address-row {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto auto;
}

@media (max-width: 760px) {
  .compact-address-row {
    grid-template-columns: 1fr;
  }
}

/* Kompakte Bildfelder in Design & Rechtliches */
.design-image-control {
  border: 1px solid var(--line);
  border-radius: 14px;
  display: grid;
  gap: 8px;
  margin: 10px 0;
  padding: 10px;
}

.design-image-control-header {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.design-image-inline-row {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(120px, 150px) minmax(220px, 1fr) minmax(105px, 120px) minmax(90px, 110px);
}

.design-image-inline-row label,
.design-image-inline-row .design-image-field {
  display: grid;
  gap: 5px;
  margin: 0;
}

.design-image-inline-row span {
  font-size: 12px;
  line-height: 1.2;
}

.design-image-inline-row input,
.design-image-inline-row select,
.design-image-inline-row .file-upload-button {
  min-height: 38px;
}

.design-image-preview {
  border: 1px solid var(--line);
  border-radius: 10px;
  display: block;
  height: 58px;
  max-width: 120px;
  object-fit: cover;
}

.nav-custom-page-row .design-image-preview {
  margin: 4px 0;
}

.public-content-image,
.footer-content-image {
  display: block;
  height: auto;
  object-fit: cover;
}

.content-image-size-small {
  max-width: 180px;
}

.content-image-size-medium {
  max-width: 320px;
}

.content-image-size-large {
  max-width: 520px;
}

.content-image-size-full {
  max-width: 100%;
  width: 100%;
}

.content-image-align-left {
  margin-left: 0;
  margin-right: auto;
}

.content-image-align-center {
  margin-left: auto;
  margin-right: auto;
}

.content-image-align-right {
  margin-left: auto;
  margin-right: 0;
}

.native-datetime-hidden {
  display: none !important;
}

.desired-time-fallback {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
}

@media (max-width: 900px) {
  .design-image-inline-row,
  .desired-time-fallback {
    grid-template-columns: 1fr;
  }
}

/* Auffälliges Ergebnis direkt unter PLZ/Ort im Warenkorb */
.delivery-zone-result {
  background: var(--surface-soft);
  border: 2px solid var(--accent);
  border-radius: 12px;
  color: var(--ink);
  display: block;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  margin-top: 10px;
  padding: 10px 12px;
}

.delivery-zone-result[hidden] {
  display: none !important;
}

/* Kompaktere Bild-URL-Zeilen in Design & Rechtliches */
.design-image-control {
  gap: 6px;
  padding: 8px;
}

.design-image-inline-row {
  align-items: end;
  grid-template-columns: 130px minmax(180px, 1fr) 100px 90px;
}

.design-image-inline-row label,
.design-image-inline-row .design-image-field {
  align-self: end;
}

.design-image-inline-row span {
  min-height: 15px;
}

.design-image-inline-row input,
.design-image-inline-row select,
.design-image-inline-row .file-upload-button {
  box-sizing: border-box;
  height: 34px;
  min-height: 34px;
  padding-bottom: 6px;
  padding-top: 6px;
  width: 100%;
}

.design-image-preview {
  height: 48px;
  max-width: 96px;
}

/* Word-ähnliche Formatierungsleiste für Inhalte */
.rich-editor-label {
  display: grid;
  gap: 6px;
}

.rich-editor {
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: var(--surface);
}

.rich-toolbar {
  align-items: center;
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 6px;
}

.rich-toolbar button,
.rich-toolbar select {
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 30px;
  padding: 4px 7px;
}

.rich-editor-surface {
  background: var(--surface);
  color: var(--ink);
  min-height: 120px;
  outline: none;
  padding: 10px;
}

.rich-editor-surface:focus {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent);
}

.rich-editor textarea[data-rich-source] {
  display: none;
}

.rich-editor-surface img {
  height: auto;
  max-width: 100%;
}


/* v6: Aufgeräumte Lieferzonen im Adminbereich */
.delivery-zone-form {
  align-items: end;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: minmax(140px, 1.15fr) minmax(110px, 0.75fr) minmax(230px, 1.55fr) repeat(4, minmax(100px, 0.85fr)) minmax(88px, auto) minmax(110px, auto);
}
.delivery-zone-form > label,
.delivery-zone-form > fieldset,
.delivery-zone-form > button {
  margin: 0 !important;
}
.delivery-zone-values {
  align-self: end;
  display: grid;
  gap: 6px;
  min-width: 0;
}
.delivery-zone-value-row {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: minmax(0, 1fr) auto;
}
.delivery-zone-value-row input {
  min-width: 0;
}
.delivery-zone-add-value {
  justify-self: start;
}
.delivery-zone-form .delivery-active-toggle {
  align-self: end;
  min-height: 44px;
  white-space: nowrap;
}
.option-config-row > .compact-action-row {
  margin-top: 10px;
}
@media (max-width: 1180px) {
  .delivery-zone-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .delivery-zone-values {
    grid-column: 1 / -1;
  }
}
@media (max-width: 720px) {
  .delivery-zone-form {
    grid-template-columns: 1fr;
  }
}

/* v6: Liefergebietsergebnis im Warenkorb deutlich sichtbar */
.delivery-zone-result {
  box-shadow: 0 10px 25px rgba(0, 0, 0, .10);
  font-size: 16px !important;
  font-weight: 900 !important;
}
.delivery-zone-result-ok {
  border-color: #15803d !important;
  background: #ecfdf5 !important;
  color: #14532d !important;
}
.delivery-zone-result-error {
  border-color: #b91c1c !important;
  background: #fef2f2 !important;
  color: #7f1d1d !important;
}
.delivery-zone-result-info {
  border-color: var(--accent) !important;
}

/* v6: kompaktere Bild-/URL-Zeilen */
.design-image-inline-row {
  align-items: center !important;
  grid-template-columns: 92px minmax(190px, 1fr) 86px 86px !important;
}
.design-image-preview {
  height: 42px !important;
  max-width: 82px !important;
}
.design-image-inline-row label,
.design-image-inline-row .design-image-field {
  align-self: center !important;
}
.design-image-inline-row input,
.design-image-inline-row select,
.design-image-inline-row .file-upload-button {
  height: 32px !important;
  min-height: 32px !important;
}

/* v7: Rich-Text-Editor darf beim Tippen nicht aus dem Eingabefeld springen */
.rich-editor-label {
  display: block;
  margin-bottom: 18px;
}
.rich-editor-title {
  display: block;
  font-weight: 800;
  margin-bottom: 6px;
}
.rich-editor {
  overflow: hidden;
}
.rich-toolbar {
  align-items: center;
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
}
.rich-toolbar button {
  min-height: 30px;
  padding: 4px 8px;
}
.rich-editor-surface {
  cursor: text;
  line-height: 1.5;
}

/* v7: Lieferkosten kompakter und sauber in Zeilen */
.delivery-zone-form {
  align-items: end !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: minmax(130px, 1.1fr) minmax(105px, .75fr) minmax(220px, 1.45fr) repeat(4, minmax(92px, .8fr)) minmax(82px, auto) minmax(96px, auto) !important;
  width: 100%;
}
.delivery-zone-form label > span,
.delivery-zone-values legend {
  display: block;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 4px;
  text-transform: none;
}
.delivery-zone-values legend::before {
  content: "Orte/PLZ";
}
.delivery-zone-values legend {
  color: transparent;
  font-size: 0;
}
.delivery-zone-values legend::before {
  color: var(--muted);
  font-size: 12px;
}
.delivery-zone-form input,
.delivery-zone-form select,
.delivery-zone-form button {
  min-height: 38px !important;
  padding: 8px 10px !important;
}
.delivery-zone-values {
  min-width: 0;
}
.delivery-zone-value-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.delivery-zone-value-row .table-action,
.delivery-zone-add-value {
  min-height: 34px !important;
  padding: 7px 10px !important;
}
.delivery-zone-form .delivery-active-toggle {
  justify-content: center;
  min-height: 38px !important;
  padding: 8px 10px !important;
}
.delivery-zone-form > button.primary-button {
  min-width: 96px;
}
.option-config-row .compact-action-row {
  align-items: center;
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
@media (max-width: 1280px) {
  .delivery-zone-form {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .delivery-zone-values {
    grid-column: span 2;
  }
}
@media (max-width: 760px) {
  .delivery-zone-form {
    grid-template-columns: 1fr !important;
  }
  .delivery-zone-values {
    grid-column: auto;
  }
}

/* v7: Design-Bildfelder bleiben kompakt in einer Linie */
.design-image-control {
  padding: 10px !important;
}
.design-image-control-header {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.design-image-inline-row {
  align-items: end !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: 112px minmax(220px, 1fr) 90px 90px !important;
}
.design-image-url-field span,
.design-image-small-select span,
.design-image-upload-field > span {
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 3px;
}
.design-image-preview {
  height: 38px !important;
  object-fit: cover;
  width: 78px !important;
}
@media (max-width: 900px) {
  .design-image-inline-row {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* v8: kompakte, saubere Lieferkosten-Zeile */
.delivery-zone-form {
  align-items: end !important;
  display: grid !important;
  grid-template-columns: minmax(120px, 1fr) 92px minmax(180px, 1.3fr) 86px 92px 92px 82px 72px 96px !important;
  gap: 8px !important;
  width: 100% !important;
}
.delivery-zone-form > label,
.delivery-zone-form > fieldset,
.delivery-zone-form > button,
.delivery-zone-form .delivery-active-toggle {
  margin: 0 !important;
}
.delivery-zone-form label > span,
.delivery-zone-values legend::before {
  font-size: 11px !important;
  line-height: 1.1 !important;
  margin-bottom: 3px !important;
  white-space: nowrap !important;
}
.delivery-zone-values legend::before { content: "Liefergebiete" !important; }
.delivery-zone-form input,
.delivery-zone-form select,
.delivery-zone-form button {
  font-size: 13px !important;
  min-height: 34px !important;
  padding: 6px 8px !important;
}
.delivery-zone-values {
  align-self: end !important;
  gap: 4px !important;
}
.delivery-zone-value-row {
  gap: 4px !important;
  grid-template-columns: minmax(0, 1fr) 58px !important;
}
.delivery-zone-value-row .table-action,
.delivery-zone-add-value {
  font-size: 12px !important;
  min-height: 30px !important;
  padding: 5px 7px !important;
  white-space: nowrap !important;
}
.delivery-zone-add-value {
  justify-self: stretch !important;
}
.delivery-zone-form .delivery-active-toggle {
  align-items: center !important;
  display: flex !important;
  font-size: 13px !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 6px 8px !important;
}
.delivery-zone-form .delivery-active-toggle input { min-height: auto !important; }
.delivery-zone-form > button.primary-button { min-width: 0 !important; width: 100% !important; }
.design-section-save,
.design-page-save { margin: 10px 0 !important; }
@media (max-width: 1180px) {
  .delivery-zone-form { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .delivery-zone-values { grid-column: 1 / -1 !important; }
}
@media (max-width: 720px) {
  .delivery-zone-form { grid-template-columns: 1fr !important; }
}

/* v9: Lieferkosten bewusst aufgeräumt: pro Zone eine kompakte Zeile, keine abgeschnittenen Buttons */
.option-config-row:has(.delivery-zone-form) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: end !important;
  padding: 10px 12px !important;
}
.delivery-zone-form {
  grid-template-columns: 56px minmax(120px, 1fr) 82px minmax(170px, 1.25fr) 88px 88px 88px 78px 88px !important;
  gap: 6px !important;
  align-items: end !important;
}
.delivery-zone-form .delivery-active-toggle {
  order: -10 !important;
  min-width: 0 !important;
  padding: 6px !important;
}
.delivery-zone-form .delivery-active-toggle span {
  display: none !important;
}
.delivery-zone-form .delivery-active-toggle::after {
  content: "Aktiv";
  font-size: 11px;
  font-weight: 700;
}
.delivery-zone-values {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.delivery-zone-value-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 72px !important;
  gap: 5px !important;
  margin: 0 0 4px !important;
}
.delivery-zone-value-row .table-action {
  width: 72px !important;
  min-width: 72px !important;
  overflow: visible !important;
}
.delivery-zone-add-value {
  width: 100% !important;
  min-width: 0 !important;
  text-align: center !important;
}
.option-config-row:has(.delivery-zone-form) > .compact-action-row {
  margin: 0 !important;
  align-self: end !important;
  display: grid !important;
  grid-auto-flow: column !important;
  gap: 6px !important;
}
.option-config-row:has(.delivery-zone-form) > .compact-action-row button,
.delivery-zone-form > button {
  white-space: nowrap !important;
  min-width: 82px !important;
}
.design-section-actions,
.design-page-save-row {
  display: flex !important;
  justify-content: flex-end !important;
  margin: 8px 0 12px !important;
}
.design-section-actions .design-section-save,
.design-page-save-row button {
  width: auto !important;
  min-width: 150px !important;
  max-width: 240px !important;
}
.customer-default-checkbox {
  justify-content: flex-start !important;
  text-align: left !important;
}
.customer-default-checkbox input {
  margin-left: 0 !important;
}
@media (max-width: 1250px) {
  .option-config-row:has(.delivery-zone-form) { grid-template-columns: 1fr !important; }
  .delivery-zone-form { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .option-config-row:has(.delivery-zone-form) > .compact-action-row { justify-content: start !important; }
}
@media (max-width: 720px) {
  .delivery-zone-form { grid-template-columns: 1fr !important; }
}


/* v10: endgültige Lieferkosten-Darstellung als saubere Tabelle: ein Liefergebiet pro Zeile */
.settings-zone-card .option-row-list {
  display: grid !important;
  gap: 8px !important;
}
.settings-zone-card .option-config-row:has(.delivery-zone-form) {
  background: var(--surface-soft) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
  padding: 8px 10px !important;
}
.delivery-zone-form {
  align-items: end !important;
  display: grid !important;
  grid-template-columns: 42px minmax(110px, 1fr) 78px minmax(150px, 1.2fr) 78px 78px 78px 68px 82px !important;
  gap: 6px !important;
  width: 100% !important;
}
.delivery-zone-form > label,
.delivery-zone-form > fieldset,
.delivery-zone-form > button,
.delivery-zone-form .delivery-active-toggle {
  margin: 0 !important;
  min-width: 0 !important;
}
.delivery-zone-form label > span,
.delivery-zone-values legend::before {
  color: var(--muted) !important;
  display: block !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  margin: 0 0 2px !important;
  white-space: nowrap !important;
}
.delivery-zone-values legend { color: transparent !important; font-size: 0 !important; line-height: 0 !important; margin: 0 !important; padding: 0 !important; }
.delivery-zone-values legend::before { content: "Liefergebiet" !important; }
.delivery-zone-form input,
.delivery-zone-form select,
.delivery-zone-form button {
  font-size: 12px !important;
  min-height: 30px !important;
  padding: 4px 7px !important;
  width: 100% !important;
}
.delivery-zone-form .delivery-active-toggle {
  align-items: center !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  display: flex !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 4px !important;
}
.delivery-zone-form .delivery-active-toggle input {
  height: 16px !important;
  min-height: 16px !important;
  width: 16px !important;
}
.delivery-zone-form .delivery-active-toggle span { display: none !important; }
.delivery-zone-form .delivery-active-toggle::after { content: none !important; }
.delivery-zone-values {
  background: transparent !important;
  border: 0 !important;
  display: grid !important;
  gap: 4px !important;
  padding: 0 !important;
}
.delivery-zone-value-row {
  display: grid !important;
  gap: 4px !important;
  grid-template-columns: minmax(0, 1fr) 54px !important;
  margin: 0 !important;
}
.delivery-zone-value-row .table-action {
  font-size: 11px !important;
  min-height: 30px !important;
  min-width: 54px !important;
  overflow: visible !important;
  padding: 4px 5px !important;
  white-space: nowrap !important;
  width: 54px !important;
}
.delivery-zone-add-value {
  font-size: 11px !important;
  min-height: 28px !important;
  padding: 4px 6px !important;
  white-space: normal !important;
  width: 100% !important;
}
.delivery-zone-secondary-actions {
  display: flex !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  margin: 2px 0 0 42px !important;
}
.delivery-zone-secondary-actions button {
  font-size: 11px !important;
  min-height: 26px !important;
  min-width: 0 !important;
  padding: 4px 8px !important;
  width: auto !important;
}
.settings-zone-card .option-create-form button,
.status-form > button,
.primary-button,
.design-compact-save {
  width: auto !important;
  min-width: 0 !important;
}
.status-form > button,
.design-compact-save,
.design-section-save,
.design-page-save-row button {
  align-self: flex-end !important;
  font-size: 13px !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
}
.section-save-actions,
.design-section-actions,
.design-page-save-row,
.design-form-actions {
  display: flex !important;
  justify-content: flex-end !important;
}
.customer-default-checkbox {
  align-items: center !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
.customer-default-checkbox input {
  flex: 0 0 auto !important;
  margin: 0 !important;
  min-height: 16px !important;
  width: 16px !important;
}
@media (max-width: 1180px) {
  .delivery-zone-form { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .delivery-zone-secondary-actions { margin-left: 0 !important; }
}
@media (max-width: 720px) {
  .delivery-zone-form { grid-template-columns: 1fr !important; }
}

/* v11: saubere Mengensteuerung und kompakte Aktionsbuttons */
.quantity-stepper-label { width: 100%; }
.quantity-stepper { display: grid; grid-template-columns: 34px minmax(48px, 70px) 34px; gap: 4px; align-items: center; }
.quantity-stepper input { text-align: center; min-width: 0; }
.quantity-stepper-button { min-height: 34px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); color: var(--ink); font-weight: 800; }
.product-choice-panel[hidden] { display: none !important; }
.product-choice-panel { margin-top: 8px; width: min(100%, 360px); }

/* v11: Lieferkosten wirklich als kompakte Tabelle pro Liefergebiet */
.settings-zone-card .option-config-row:has(.delivery-zone-form) { padding: 6px !important; }
.settings-zone-card .delivery-zone-form { grid-template-columns: 26px minmax(120px, 1.1fr) 64px minmax(150px, 1.4fr) 74px 74px 74px 58px 68px !important; gap: 5px !important; align-items: end !important; }
.settings-zone-card .delivery-zone-values { min-width: 0 !important; }
.settings-zone-card .delivery-zone-value-row { grid-template-columns: minmax(0,1fr) 46px !important; }
.settings-zone-card .delivery-zone-value-row + .delivery-zone-value-row { margin-top: 3px !important; }
.settings-zone-card .delivery-zone-value-row .table-action { width: 46px !important; min-width: 46px !important; font-size: 0 !important; padding: 3px !important; }
.settings-zone-card .delivery-zone-value-row .table-action::after { content: '×'; font-size: 15px; font-weight: 900; }
.settings-zone-card .delivery-zone-add-value { width: auto !important; justify-self: start !important; padding: 4px 8px !important; white-space: nowrap !important; }
.settings-zone-card .delivery-zone-secondary-actions { margin: 3px 0 0 26px !important; }
.settings-zone-card .delivery-zone-secondary-actions button,
.settings-zone-card .delivery-zone-form > button.primary-button { font-size: 11px !important; min-height: 26px !important; padding: 4px 8px !important; }
.settings-zone-card .delivery-active-toggle { padding: 2px !important; }

.customer-account-small-actions.customer-account-danger-links { display: flex !important; align-items: center !important; gap: 12px !important; }
.customer-account-small-actions.customer-account-danger-links form { margin: 0 !important; }
.customer-address-manager .compact-address-row { align-items: center !important; }
.customer-address-manager .compact-address-row button { font-size: 11px !important; min-height: 26px !important; padding: 4px 8px !important; width: auto !important; }
.customer-default-checkbox { display: flex !important; align-items: center !important; gap: 8px !important; justify-content: flex-start !important; }
.customer-default-checkbox input { width: auto !important; min-height: auto !important; }
.design-section-actions { display: flex !important; justify-content: flex-end !important; }
.design-section-save { width: auto !important; }
.design-page-save-row, .section-save-actions { display: flex !important; justify-content: flex-end !important; }
.design-compact-save { width: auto !important; }
.customer-address-inline-form { display: grid; grid-template-columns: minmax(95px,.8fr) minmax(160px,1.4fr) 70px minmax(110px,1fr) minmax(120px,1fr) 90px 82px; gap: 6px; align-items: end; width: 100%; }
.customer-address-inline-form input { min-height: 30px; padding: 5px 7px; font-size: 12px; }
.customer-address-inline-form button { min-height: 28px; padding: 4px 8px; font-size: 11px; width: auto; }
.customer-address-edit-row { grid-template-columns: minmax(0,1fr) auto !important; align-items: center !important; }
.design-section-actions { gap: 8px !important; }
@media (max-width: 1000px) { .customer-address-inline-form { grid-template-columns: 1fr 1fr; } }

/* v12: Produkt-Auswahl linksbündig, kompakte Warenkorb-Buttons */
.product-controls {
  align-items: flex-start !important;
  display: grid !important;
  grid-template-columns: auto auto !important;
  justify-content: end !important;
  gap: 8px !important;
}
.product-controls > strong { grid-column: 1 / -1 !important; justify-self: end !important; }
.product-choice-panel { grid-column: 1 / -1 !important; justify-self: start !important; width: min(100%, 320px) !important; text-align: left !important; }
.cart-confirm-button, .cart-add-button { min-height: 34px !important; padding: 6px 10px !important; font-size: 12px !important; }
.product-choice-panel .cart-confirm-button { justify-self: start !important; width: auto !important; min-width: 0 !important; }

/* v12: Lieferkosten als klare, eine-zeilige Liefergebiet-Tabelle */
.settings-zone-card .option-row-list { gap: 8px !important; }
.settings-zone-card .option-config-row:has(.delivery-zone-form) { display: grid !important; grid-template-columns: 1fr !important; padding: 8px !important; }
.settings-zone-card .delivery-zone-form {
  display: grid !important;
  grid-template-columns: 34px minmax(120px,1.1fr) 62px minmax(170px,1.4fr) 72px 72px 72px 58px auto !important;
  align-items: end !important;
  gap: 5px !important;
}
.settings-zone-card .delivery-zone-values { display: grid !important; gap: 3px !important; align-self: end !important; }
.settings-zone-card .delivery-zone-value-row { display: grid !important; grid-template-columns: minmax(0,1fr) 46px !important; gap: 3px !important; }
.settings-zone-card .delivery-zone-value-row input { min-width: 0 !important; }
.settings-zone-card .delivery-zone-value-row .table-action { width: 46px !important; min-width: 46px !important; max-width: 46px !important; overflow: hidden !important; font-size: 0 !important; }
.settings-zone-card .delivery-zone-value-row .table-action::after { content: '×'; font-size: 14px; font-weight: 900; }
.settings-zone-card .delivery-zone-add-value { width: auto !important; max-width: 145px !important; justify-self: start !important; padding: 4px 7px !important; font-size: 11px !important; }
.settings-zone-card .delivery-zone-secondary-actions { display: flex !important; gap: 5px !important; justify-content: flex-start !important; margin: 4px 0 0 34px !important; }
.settings-zone-card .delivery-zone-secondary-actions button { font-size: 11px !important; min-height: 25px !important; padding: 3px 7px !important; }

/* v12: Kunden-/Adressbuttons sauber linksbündig */
.customer-address-edit-row { display: grid !important; grid-template-columns: 1fr !important; gap: 6px !important; }
.customer-address-edit-row > .compact-action-row,
.customer-address-account-actions { display: flex !important; justify-content: flex-start !important; gap: 6px !important; margin: 0 !important; }
.customer-address-edit-row button,
.customer-address-account-row button { font-size: 11px !important; min-height: 26px !important; padding: 4px 8px !important; width: auto !important; }
.customer-address-account-form { grid-template-columns: minmax(95px,.85fr) minmax(160px,1.35fr) 70px minmax(110px,1fr) minmax(110px,1fr) 92px 80px !important; }
.customer-account-small-actions.customer-account-danger-links { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 12px !important; }
.customer-account-small-actions.customer-account-danger-links form,
.customer-account-small-actions.customer-account-danger-links button { margin: 0 !important; }

/* v12: Design-Seite Button-Positionen */
.design-section-actions, .design-page-save-row, .section-save-actions { justify-content: flex-end !important; align-items: center !important; }
.design-section-actions button, .design-page-save-row button, .section-save-actions button, .design-compact-save { width: auto !important; max-width: 220px !important; min-width: 0 !important; }
.design-admin-form .primary-button { width: auto !important; min-width: 0 !important; }

/* v12: PayPal-/Checkout-Hinweis */
.checkout-modal-tip-edit { display: grid !important; gap: 4px !important; margin-top: 8px !important; }
.checkout-modal-tip-edit input { max-width: 120px !important; }
.checkout-edit-button { align-self: flex-start !important; margin: 8px 0 !important; }
.paypal-status-notice { margin-bottom: 12px !important; }

/* v12: Design hart auf öffentliche Startseite anwenden */
body:not(.admin-page),
body:not(.admin-page) .page-shell,
body:not(.admin-page) .order-layout,
body:not(.admin-page) .menu-column,
body:not(.admin-page) .checkout-panel,
body:not(.admin-page) .product-row,
body:not(.admin-page) .customer-auth-strip,
body:not(.admin-page) .customer-account-panel,
body:not(.admin-page) .public-content-panel,
body:not(.admin-page) .admin-card,
body:not(.admin-page) .checkout-details-dialog,
body:not(.admin-page) .checkout-choice-dialog {
  font-family: var(--font-family-base) !important;
}
body:not(.admin-page) .product-row,
body:not(.admin-page) .checkout-panel,
body:not(.admin-page) .customer-auth-strip,
body:not(.admin-page) .customer-account-panel,
body:not(.admin-page) .public-content-panel,
body:not(.admin-page) .admin-card,
body:not(.admin-page) .checkout-details-dialog,
body:not(.admin-page) .checkout-choice-dialog {
  background: var(--surface) !important;
  border-color: var(--line) !important;
  color: var(--ink) !important;
}
body:not(.admin-page) .cart-add-button,
body:not(.admin-page) .primary-button,
body:not(.admin-page) button[type="submit"] {
  background: var(--product-button) !important;
  border-color: var(--product-button) !important;
  color: var(--product-button-text) !important;
}
@media (max-width: 1180px) {
  .settings-zone-card .delivery-zone-form { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .customer-address-account-form { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 760px) {
  .settings-zone-card .delivery-zone-form { grid-template-columns: 1fr !important; }
}

/* v13: gezielte Layout-Korrekturen nach Review */
.product-row {
  align-items: flex-start !important;
}
.product-controls {
  align-items: flex-start !important;
  justify-content: flex-start !important;
  min-width: 150px !important;
}
.product-choice-panel {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  margin-top: 8px !important;
  max-width: 360px !important;
  min-width: 0 !important;
  padding: 10px !important;
  text-align: left !important;
  width: min(100%, 360px) !important;
}
.product-choice-panel .quantity-stepper-label,
.product-choice-panel label,
.product-choice-panel fieldset {
  align-items: flex-start !important;
  text-align: left !important;
}
.cart-confirm-button,
.product-controls > .cart-add-button {
  font-size: 12px !important;
  min-height: 32px !important;
  padding: 6px 10px !important;
  width: auto !important;
}
.quantity-stepper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
}
.quantity-stepper input {
  width: 44px !important;
  min-width: 44px !important;
  text-align: center !important;
}
.quantity-stepper-button,
.cart-line-small-button {
  border: 1px solid var(--line) !important;
  border-radius: 5px !important;
  min-height: 28px !important;
  min-width: 28px !important;
  padding: 2px 7px !important;
}
.cart-line-actions-edit {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  justify-content: flex-end !important;
}
.cart-line-remove {
  border: 1px solid var(--line) !important;
  border-radius: 5px !important;
  font-size: 12px !important;
  min-height: 28px !important;
  padding: 3px 8px !important;
}
.delivery-address-change-block {
  margin: -4px 0 8px !important;
}
.text-link-button {
  background: transparent !important;
  border: 0 !important;
  color: var(--accent-strong) !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  text-decoration: underline !important;
}
.delivery-address-select-row {
  margin-top: 8px !important;
}
.customer-account-small-actions,
.customer-account-danger-links {
  align-items: center !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.customer-account-small-actions form,
.customer-account-danger-links form {
  margin: 0 !important;
}
.customer-address-account-row,
.admin-customer-address-row {
  align-items: start !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: 1fr !important;
}
.customer-address-account-form,
.customer-address-inline-form {
  align-items: center !important;
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  width: 100% !important;
}
.customer-address-account-actions,
.compact-action-row {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  margin-top: 4px !important;
}
.customer-address-account-actions button,
.compact-action-row button,
.customer-address-account-form button,
.customer-address-inline-form button {
  font-size: 12px !important;
  min-height: 28px !important;
  padding: 4px 8px !important;
  width: auto !important;
}
.customer-default-checkbox {
  align-items: center !important;
  display: inline-flex !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  white-space: nowrap !important;
}
.customer-default-checkbox input {
  margin: 0 !important;
  width: auto !important;
}
.delivery-zone-form {
  align-items: end !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: minmax(150px, 1.2fr) minmax(90px, .6fr) minmax(220px, 1.6fr) repeat(4, minmax(95px, .8fr)) auto !important;
}
.delivery-zone-form > label,
.delivery-zone-form > fieldset {
  min-width: 0 !important;
}
.delivery-zone-values-inline {
  align-self: end !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.delivery-zone-values-inline legend {
  font-size: 12px !important;
  font-weight: 700 !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
}
.delivery-zone-value-row {
  align-items: center !important;
  display: grid !important;
  gap: 4px !important;
  grid-template-columns: 1fr auto !important;
  margin: 0 0 4px !important;
}
.delivery-zone-value-row input {
  min-width: 0 !important;
}
.delivery-zone-value-row button,
.delivery-zone-add-value,
.delivery-zone-secondary-actions button,
.delivery-zone-form > .primary-button,
.option-create-form > .primary-button {
  font-size: 12px !important;
  min-height: 28px !important;
  padding: 4px 8px !important;
  width: auto !important;
}
.delivery-zone-secondary-actions {
  margin-left: 0 !important;
}
.design-section-actions,
.section-save-actions,
.design-page-save-row,
.design-field-save-row {
  align-items: center !important;
  display: flex !important;
  gap: 6px !important;
  justify-content: flex-end !important;
  margin: 4px 0 8px !important;
}
.design-subsection-heading-with-actions {
  align-items: flex-start !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: space-between !important;
}
.design-compact-save,
.design-section-actions button,
.section-save-actions button,
.design-page-save-row button,
.design-field-save-row button {
  font-size: 12px !important;
  min-height: 30px !important;
  padding: 5px 10px !important;
  width: auto !important;
}
.design-live-preview,
.design-admin-form .primary-button,
.design-admin-form .cart-add-button,
.design-admin-form .table-action {
  width: auto;
}
body.design-template-modern_dark,
body.design-template-premium {
  background: var(--bg) !important;
  color: var(--ink) !important;
}
.page-shell,
.order-layout,
.category-block,
.checkout-panel,
.cart-summary,
.product-row,
.public-content-panel,
.customer-account-panel {
  color: var(--ink) !important;
}
@media (max-width: 980px) {
  .delivery-zone-form {
    grid-template-columns: 1fr !important;
  }
}

/* v14 consolidated UI fixes */
.admin-card .primary-button,
.admin-card .table-action,
.admin-card .danger-button,
.admin-card button,
.customer-account-panel button,
.checkout-details-dialog button {
  border-radius: 6px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  min-height: 28px !important;
  padding: 5px 10px !important;
  width: auto !important;
  max-width: max-content !important;
}
.product-row { align-items: flex-start !important; }
.product-info { align-items: flex-start !important; }
.product-controls { align-items: flex-start !important; justify-content: flex-start !important; text-align: left !important; }
.product-choice-panel {
  align-self: flex-start !important;
  display: grid !important;
  gap: 8px !important;
  justify-items: start !important;
  margin-top: 8px !important;
  max-width: 360px !important;
  text-align: left !important;
  width: 100% !important;
}
.product-choice-panel[hidden] { display: none !important; }
.product-choice-panel label,
.product-choice-panel fieldset,
.product-choice-panel .inline-options { width: 100% !important; }
.cart-confirm-button,
.product-controls > .cart-add-button { font-size: 12px !important; min-height: 30px !important; padding: 5px 10px !important; }
.cart-summary { position: sticky !important; top: 10px !important; z-index: 3 !important; }
.cart-minimum-message {
  background: #fff7ed !important;
  border: 2px solid #f97316 !important;
  border-radius: 8px !important;
  color: #9a3412 !important;
  font-weight: 800 !important;
  margin: 0 0 10px !important;
  padding: 8px 10px !important;
}
.cart-line { align-items: flex-start !important; gap: 10px !important; }
.cart-line-actions-edit { justify-content: flex-start !important; }
.checkout-modal-summary .cart-lines { max-height: none !important; }
.checkout-modal-tip-edit { max-width: 220px !important; }
.customer-account-danger-links,
.customer-account-small-actions,
.customer-address-account-actions,
.customer-address-inline-actions,
.admin-customer-address-actions,
.compact-action-row,
.row-actions,
.option-danger-actions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  margin: 6px 0 0 !important;
}
.customer-account-danger-links form,
.customer-account-small-actions form,
.compact-action-row form,
.row-actions form { margin: 0 !important; }
.customer-address-account-row,
.admin-customer-address-row,
.customer-address-edit-row { display: grid !important; grid-template-columns: 1fr !important; gap: 6px !important; }
.customer-default-checkbox,
.choice-row.customer-default-checkbox { display: inline-flex !important; align-items: center !important; gap: 6px !important; justify-content: flex-start !important; }
.customer-default-checkbox input { margin: 0 !important; width: auto !important; }
.settings-zone-card .option-config-row:has(.delivery-zone-form) { display: grid !important; grid-template-columns: 1fr !important; gap: 6px !important; }
.settings-zone-card .delivery-zone-form {
  align-items: end !important;
  display: grid !important;
  grid-template-columns: minmax(160px,1.2fr) 90px repeat(4, minmax(92px,.8fr)) auto !important;
  gap: 6px !important;
}
.settings-zone-card .delivery-zone-values-inline {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  align-self: start !important;
  margin-top: 2px !important;
}
.settings-zone-card .delivery-zone-value-row { display: grid !important; grid-template-columns: minmax(160px, 320px) auto !important; gap: 5px !important; margin: 0 0 4px !important; }
.settings-zone-card .delivery-zone-add-value,
.settings-zone-card .delivery-zone-secondary-actions button,
.settings-zone-card .delivery-zone-form > button.primary-button { font-size: 11px !important; min-height: 26px !important; padding: 4px 8px !important; }
.settings-zone-card .delivery-zone-secondary-actions { margin-left: 0 !important; }
.design-section-actions,
.design-page-save-row,
.design-field-save-row,
.section-save-actions,
.custom-design-actions { display: flex !important; justify-content: flex-end !important; align-items: center !important; gap: 6px !important; margin: 6px 0 !important; }
.design-compact-save,
.design-section-actions button,
.design-page-save-row button,
.design-field-save-row button { font-size: 12px !important; min-height: 28px !important; padding: 5px 10px !important; width: auto !important; max-width: 190px !important; }
.admin-order-card,
.order-admin-row,
.order-list-row { overflow: visible !important; }
.order-actions,
.admin-order-actions { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; justify-content: flex-start !important; margin-top: 8px !important; }
@media (max-width: 1100px) { .settings-zone-card .delivery-zone-form { grid-template-columns: repeat(2, minmax(0,1fr)) !important; } }
@media (max-width: 760px) { .settings-zone-card .delivery-zone-form { grid-template-columns: 1fr !important; } .settings-zone-card .delivery-zone-values-inline { grid-column: auto !important; } }

/* v16: stabile Warenkorb-, Admin- und Design-Layoutkorrekturen */
.cart-summary {
  max-height: calc(100vh - 24px) !important;
  overflow: auto !important;
}
.cart-line {
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: 1fr !important;
  padding: 8px !important;
}
.cart-line-header {
  align-items: start !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  width: 100% !important;
}
.cart-line-header strong:first-child {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
.cart-line-meta {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.cart-line-actions-edit {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  margin-top: 2px !important;
}
.cart-line-small-button,
.cart-line-remove,
.cart-line-edit-button {
  border-radius: 6px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  min-height: 26px !important;
  padding: 4px 8px !important;
  width: auto !important;
}
.cart-line-quantity {
  align-items: center !important;
  background: var(--surface-soft) !important;
  border: 1px solid var(--line) !important;
  border-radius: 6px !important;
  color: var(--ink) !important;
  display: inline-flex !important;
  font-weight: 800 !important;
  justify-content: center !important;
  min-height: 26px !important;
  min-width: 32px !important;
  padding: 0 8px !important;
}
.tip-control-cart {
  background: var(--surface-soft) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  margin: 10px 0 0 !important;
  padding: 8px !important;
  position: static !important;
  width: 100% !important;
  z-index: auto !important;
}
.tip-control-cart input { min-height: 32px !important; }
.tip-control-cart .cart-add-button { min-height: 30px !important; padding: 5px 10px !important; }
.checkout-to-details-button { margin-top: 10px !important; width: 100% !important; }
.product-row { align-items: start !important; }
.product-info { align-items: start !important; justify-content: flex-start !important; }
.product-controls { align-items: start !important; justify-content: flex-start !important; }
.product-controls > .cart-add-button,
.cart-confirm-button { font-size: 12px !important; min-height: 30px !important; padding: 5px 10px !important; }
.product-choice-panel { justify-self: start !important; max-width: 360px !important; text-align: left !important; }
.delivery-address-change-link {
  display: inline-flex !important;
  font-size: 12px !important;
  margin: 4px 0 8px !important;
  padding: 0 !important;
}
.checkout-billing-address strong { line-height: 1.35 !important; }

/* Admin-Tabellen als Karten: Aktionen immer links unter dem jeweiligen Datensatz */
.admin-card .table-scroll { overflow: visible !important; }
.admin-card .admin-table,
.admin-card .admin-table thead,
.admin-card .admin-table tbody,
.admin-card .admin-table tr,
.admin-card .admin-table td,
.admin-card .admin-table th {
  width: 100% !important;
}
.admin-card .admin-table thead { display: none !important; }
.admin-card .admin-table,
.admin-card .admin-table tbody { display: grid !important; gap: 10px !important; }
.admin-card .admin-table tr {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  padding: 10px !important;
}
.admin-card .admin-table td {
  border: 0 !important;
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
  padding: 0 !important;
}
.admin-card .admin-table td.action-cell {
  grid-column: 1 / -1 !important;
}
.admin-card .admin-table .action-cell .row-actions,
.admin-card .admin-table .row-actions,
.inline-status-form,
.compact-action-row,
.option-danger-actions,
.customer-address-account-actions,
.customer-account-small-actions,
.customer-account-danger-links {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  margin: 6px 0 0 !important;
}
.admin-card .admin-table .row-actions form,
.compact-action-row form,
.customer-account-small-actions form,
.customer-account-danger-links form,
.inline-status-form { margin: 0 !important; }
.admin-card button,
.admin-card .table-action,
.checkout-panel button,
.checkout-panel .table-action,
.row-actions button,
.row-actions .table-action,
.compact-action-row button,
.compact-action-row .table-action {
  border-radius: 6px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  min-height: 28px !important;
  padding: 5px 10px !important;
  width: auto !important;
  max-width: max-content !important;
}

/* Kunden- und Lieferadressen: Eingaben oben, Buttons links darunter */
.customer-address-inline-form,
.customer-address-account-form {
  align-items: end !important;
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
}
.customer-address-inline-form button,
.customer-address-account-form button {
  justify-self: start !important;
}
.customer-address-account-actions,
.admin-customer-address-row .compact-action-row {
  justify-content: flex-start !important;
  margin-top: 6px !important;
}
.customer-default-checkbox,
.choice-row.customer-default-checkbox {
  align-items: center !important;
  display: inline-flex !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  width: auto !important;
}
.customer-default-checkbox input { flex: 0 0 auto !important; margin: 0 !important; width: auto !important; }
.customer-account-small-actions.customer-account-danger-links {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: flex-start !important;
}
.customer-account-small-actions.customer-account-danger-links a,
.customer-account-small-actions.customer-account-danger-links button {
  align-items: center !important;
  display: inline-flex !important;
  min-height: 28px !important;
}

/* Lieferkosten: ein Liefergebiet als kompakter Block, Details darunter */
.settings-zone-card .option-config-row:has(.delivery-zone-form) {
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: 1fr !important;
  padding: 10px !important;
}
.settings-zone-card .delivery-zone-form {
  align-items: end !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
}
.settings-zone-card .delivery-zone-form > label:first-of-type { grid-column: span 2 !important; }
.settings-zone-card .delivery-zone-values-inline,
.settings-zone-card .delivery-zone-secondary-actions {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}
.settings-zone-card .delivery-zone-value-row {
  align-items: center !important;
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: minmax(180px, 320px) auto !important;
  margin: 0 0 5px !important;
}
.settings-zone-card .delivery-zone-add-value,
.settings-zone-card .delivery-zone-secondary-actions button,
.settings-zone-card .delivery-zone-form > button.primary-button {
  font-size: 11px !important;
  min-height: 26px !important;
  padding: 4px 8px !important;
  width: auto !important;
}
.settings-zone-card .delivery-zone-secondary-actions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
}

/* Design & Rechtliches: Buttons logisch ausrichten */
.design-section-actions,
.design-field-save-row,
.section-save-actions,
.custom-design-actions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  margin: 8px 0 !important;
}
.design-subsection-heading-with-actions .design-section-actions {
  justify-content: flex-end !important;
  margin-left: auto !important;
}
.nav-custom-page-row .design-field-save-row,
.nav-custom-page-row .section-save-actions {
  justify-content: flex-end !important;
}
.design-compact-save,
.design-section-actions button,
.design-field-save-row button,
.section-save-actions button,
.custom-design-actions button {
  font-size: 12px !important;
  min-height: 28px !important;
  padding: 5px 10px !important;
  width: auto !important;
  max-width: 210px !important;
}
.design-subsection-heading-with-actions {
  align-items: start !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: space-between !important;
}

/* Einstellungs-Sprungziele: Überschrift bleibt oben sichtbar */
#packaging,
#branding,
#operator,
#seo,
#zones,
#duration,
#checkout,
#notifications,
#calendar,
#products-list,
#product-form,
#sizes,
#extras {
  scroll-margin-top: 12px !important;
}

@media (max-width: 760px) {
  .tip-control-cart { grid-template-columns: 1fr !important; }
  .cart-line-header { grid-template-columns: 1fr !important; }
  .settings-zone-card .delivery-zone-form { grid-template-columns: 1fr !important; }
  .settings-zone-card .delivery-zone-form > label:first-of-type { grid-column: auto !important; }
}

/* v17: finaler Aufräumblock für Bestellseite, Warenkorb und Admin-Layouts */
body:not([class*="design-template"]) {
  background: #f6f4ef !important;
  color: #1f2933 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
}
body:not([class*="design-template"]) .topbar {
  background: #ffffff !important;
  border-color: #d8d2c4 !important;
  color: #1f2933 !important;
}
body:not([class*="design-template"]) .admin-card,
body:not([class*="design-template"]) .checkout-panel,
body:not([class*="design-template"]) .setup-panel,
body:not([class*="design-template"]) .notice,
body:not([class*="design-template"]) .auth-panel {
  background: #ffffff !important;
  border-color: #d8d2c4 !important;
  color: #1f2933 !important;
}
body:not([class*="design-template"]) input:not([type="color"]),
body:not([class*="design-template"]) select,
body:not([class*="design-template"]) textarea {
  background: #ffffff !important;
  border-color: #c8c2b8 !important;
  color: #1f2933 !important;
}
body:not([class*="design-template"]) input::placeholder,
body:not([class*="design-template"]) textarea::placeholder {
  color: #697586 !important;
  opacity: 1 !important;
}
body:not([class*="design-template"]) h1,
body:not([class*="design-template"]) h2,
body:not([class*="design-template"]) h3,
body:not([class*="design-template"]) h4,
body:not([class*="design-template"]) label,
body:not([class*="design-template"]) .form-help,
body:not([class*="design-template"]) .eyebrow {
  color: #1f2933 !important;
}

/* Bestellseite: Auswahl klappt sichtbar auf und bleibt kompakt */
.product-row {
  align-items: flex-start !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.product-info {
  align-items: flex-start !important;
  min-width: 0 !important;
}
.product-menu-image {
  flex: 0 0 auto !important;
  height: 54px !important;
  width: 76px !important;
  object-fit: cover !important;
}
.product-copy h4 {
  margin-top: 0 !important;
}
.product-copy p {
  margin-bottom: 0 !important;
}
.product-controls {
  align-items: flex-start !important;
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: auto auto !important;
  justify-content: end !important;
  min-width: 0 !important;
  text-align: left !important;
}
.product-controls > strong {
  font-size: 14px !important;
  grid-column: 1 / -1 !important;
  justify-self: end !important;
}
.product-controls > .cart-add-button,
.cart-confirm-button {
  border-radius: 7px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  min-height: 28px !important;
  padding: 5px 9px !important;
  width: auto !important;
}
.product-choice-panel {
  align-items: start !important;
  background: var(--surface-soft) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  display: grid !important;
  gap: 8px !important;
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  margin-top: 6px !important;
  max-width: min(100%, 340px) !important;
  padding: 8px !important;
  text-align: left !important;
  width: 340px !important;
}
.product-choice-panel[hidden] { display: none !important; }
.product-choice-panel label,
.product-choice-panel fieldset,
.product-choice-panel .inline-options {
  margin: 0 !important;
  width: 100% !important;
}
.product-choice-panel span,
.product-choice-panel legend,
.product-choice-panel .form-help {
  font-size: 12px !important;
}
.product-choice-panel input:not([type="checkbox"]),
.product-choice-panel select {
  font-size: 12px !important;
  min-height: 28px !important;
  padding: 4px 7px !important;
}
.quantity-stepper {
  display: inline-grid !important;
  grid-template-columns: 26px 42px 26px !important;
  gap: 3px !important;
  width: auto !important;
}
.quantity-stepper-button {
  border-radius: 6px !important;
  font-size: 13px !important;
  min-height: 26px !important;
  padding: 2px 6px !important;
}
.quantity-stepper input {
  font-size: 12px !important;
  min-height: 26px !important;
  padding: 2px 4px !important;
  text-align: center !important;
}

/* Warenkorb: Artikelkopf und darunter Bedienung */
.checkout-panel {
  align-self: start !important;
}
.cart-summary {
  max-height: none !important;
  overflow: visible !important;
  position: static !important;
  top: auto !important;
}
.cart-summary .panel-subtitle,
.cart-summary-list dt,
.cart-summary-list dd,
.cart-lines,
.cart-line,
.cart-line-header,
.cart-line-meta {
  font-size: 13px !important;
  font-weight: 500 !important;
}
.cart-line {
  background: transparent !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  display: grid !important;
  gap: 5px !important;
  grid-template-columns: 1fr !important;
  margin: 0 0 7px !important;
  padding: 7px !important;
}
.cart-line-header {
  align-items: baseline !important;
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.cart-line-header strong {
  font-size: 13px !important;
  font-weight: 600 !important;
}
.cart-line-meta {
  color: var(--muted) !important;
  display: block !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}
.cart-line-actions-edit {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  justify-content: flex-start !important;
}
.cart-line-small-button,
.cart-line-remove,
.cart-line-edit-button {
  border-radius: 6px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  min-height: 24px !important;
  min-width: 0 !important;
  padding: 3px 7px !important;
  width: auto !important;
}
.cart-line-quantity {
  font-size: 11px !important;
  font-weight: 700 !important;
  min-height: 24px !important;
  min-width: 28px !important;
  padding: 0 6px !important;
}
.cart-minimum-message {
  font-size: 13px !important;
  margin: 8px 0 !important;
  padding: 7px 9px !important;
}
.cart-summary-list {
  gap: 6px !important;
  margin-bottom: 8px !important;
}
.cart-summary-total dt,
.cart-summary-total dd {
  font-size: 15px !important;
  font-weight: 700 !important;
}
.tip-control-cart,
.checkout-modal-tip-edit {
  background: transparent !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  margin: 8px 0 !important;
  padding: 7px !important;
  position: static !important;
  width: 100% !important;
}
.tip-control-cart label,
.checkout-modal-tip-edit {
  margin: 0 !important;
}
.tip-control-cart span,
.checkout-modal-tip-edit span {
  font-size: 12px !important;
}
.tip-control-cart input,
.checkout-modal-tip-edit input {
  font-size: 12px !important;
  max-width: 95px !important;
  min-height: 28px !important;
  padding: 4px 7px !important;
  width: 95px !important;
}
.tip-control-cart .cart-add-button {
  align-self: end !important;
  font-size: 11px !important;
  min-height: 28px !important;
  padding: 4px 8px !important;
}
.checkout-to-details-button {
  display: block !important;
  margin-top: 8px !important;
  position: sticky !important;
  bottom: 10px !important;
  z-index: 4 !important;
  width: 100% !important;
}
body.checkout-modal-open {
  overflow: auto !important;
}
.checkout-details[hidden] { display: none !important; }
.checkout-modal-summary .cart-line { background: var(--surface) !important; }

/* Admin: Tabellen als ruhige, kompakte Blöcke statt chaotischer Karten */
.admin-card {
  overflow: visible !important;
}
.admin-card .table-scroll {
  overflow-x: auto !important;
  overflow-y: visible !important;
}
.admin-card .admin-table {
  border-collapse: separate !important;
  border-spacing: 0 8px !important;
  display: table !important;
  min-width: 760px !important;
  table-layout: fixed !important;
  width: 100% !important;
}
.admin-card .admin-table thead {
  display: table-header-group !important;
}
.admin-card .admin-table tbody {
  display: table-row-group !important;
}
.admin-card .admin-table tr {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  display: table-row !important;
  padding: 0 !important;
}
.admin-card .admin-table th,
.admin-card .admin-table td {
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
  display: table-cell !important;
  padding: 8px 9px !important;
  vertical-align: top !important;
  word-break: normal !important;
}
.admin-card .admin-table th:first-child,
.admin-card .admin-table td:first-child {
  border-left: 1px solid var(--line) !important;
  border-radius: 8px 0 0 8px !important;
}
.admin-card .admin-table th:last-child,
.admin-card .admin-table td:last-child {
  border-right: 1px solid var(--line) !important;
  border-radius: 0 8px 8px 0 !important;
}
.admin-card .admin-table td span,
.admin-card .admin-table td small {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  margin-top: 3px !important;
}
.admin-card .admin-table .action-cell {
  min-width: 120px !important;
  width: 130px !important;
}
.admin-card .admin-table .row-actions,
.row-actions,
.compact-action-row,
.option-danger-actions,
.customer-address-account-actions,
.customer-account-small-actions,
.customer-account-danger-links,
.admin-customer-address-actions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  justify-content: flex-start !important;
  margin: 5px 0 0 !important;
}
.admin-card .admin-table .row-actions form,
.row-actions form,
.compact-action-row form,
.option-danger-actions form,
.customer-account-small-actions form,
.customer-account-danger-links form,
.inline-status-form {
  margin: 0 !important;
}
.admin-card button,
.admin-card .table-action,
.admin-card .danger-button,
.admin-nav button,
.admin-nav a,
.admin-nav summary,
.checkout-panel button,
.checkout-panel .table-action,
.row-actions button,
.row-actions .table-action,
.compact-action-row button,
.compact-action-row .table-action,
.option-danger-actions button {
  border-radius: 6px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  min-height: 26px !important;
  min-width: 0 !important;
  padding: 4px 8px !important;
  width: auto !important;
  max-width: max-content !important;
  white-space: nowrap !important;
}
.inline-status-form {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}
.inline-status-form select,
.inline-status-form input[type="text"] {
  font-size: 12px !important;
  max-width: 170px !important;
  min-height: 28px !important;
  padding: 4px 7px !important;
  width: auto !important;
}
#orders-list .admin-table td:nth-child(5),
#orders-list .admin-table td:nth-child(6),
#orders-list .admin-table th:nth-child(5),
#orders-list .admin-table th:nth-child(6) {
  width: 180px !important;
}
#orders-list .admin-table td:nth-child(7),
#orders-list .admin-table th:nth-child(7) {
  width: 130px !important;
}

/* Produkt-/Kategorie-/Optionsbereiche: keine Überlappung mit rechten Formularen */
.admin-detail-layout,
.product-admin-layout {
  align-items: start !important;
  display: grid !important;
  gap: 20px !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 410px) !important;
}
.product-admin-layout > *,
.admin-detail-layout > * {
  min-width: 0 !important;
}
.product-admin-layout .admin-card,
.product-admin-layout .checkout-panel,
.admin-detail-layout .admin-card,
.admin-detail-layout .checkout-panel {
  min-width: 0 !important;
  overflow: visible !important;
}
#products-list .admin-table,
#categories-list .admin-table,
#sizes .admin-table,
#extras .admin-table {
  min-width: 620px !important;
}
.option-edit-row,
.option-config-row {
  align-items: end !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
}
.option-edit-row .row-actions,
.option-config-row .row-actions,
.option-danger-actions {
  grid-column: 1 / -1 !important;
}

/* Lieferkosten / Liefergebiete: Werte unter dem Namen, Buttons unten links */
.settings-zone-card .option-row-list {
  display: grid !important;
  gap: 10px !important;
}
.settings-zone-card .option-config-row:has(.delivery-zone-form) {
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  display: block !important;
  padding: 10px !important;
}
.settings-zone-card .delivery-zone-form {
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: minmax(160px, 1.3fr) 90px repeat(4, minmax(95px, .8fr)) auto !important;
  align-items: end !important;
}
.settings-zone-card .delivery-zone-values-inline,
.settings-zone-card .delivery-zone-secondary-actions {
  grid-column: 1 / -1 !important;
}
.settings-zone-card .delivery-zone-values-inline {
  display: grid !important;
  gap: 5px !important;
  margin-top: 3px !important;
  max-width: 460px !important;
}
.settings-zone-card .delivery-zone-value-row {
  align-items: center !important;
  display: grid !important;
  gap: 5px !important;
  grid-template-columns: minmax(180px, 1fr) auto !important;
}
.settings-zone-card .delivery-zone-add-value {
  font-size: 11px !important;
  justify-self: start !important;
  min-height: 26px !important;
  padding: 4px 8px !important;
  width: auto !important;
}
.settings-zone-card .delivery-zone-secondary-actions {
  display: flex !important;
  gap: 5px !important;
  justify-content: flex-start !important;
  margin-top: 6px !important;
}

/* Mein Konto / Kundenadressen */
.customer-account-small-actions.customer-account-danger-links {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
}
.customer-account-small-actions.customer-account-danger-links form,
.customer-account-small-actions.customer-account-danger-links button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.customer-account-small-actions.customer-account-danger-links button.link-button-danger {
  color: #991b1b !important;
  font-size: 13px !important;
  text-decoration: underline !important;
}
.customer-address-account-row,
.admin-customer-address-row,
.customer-address-edit-row {
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: 1fr !important;
}
.customer-default-checkbox,
.choice-row.customer-default-checkbox {
  align-items: center !important;
  display: inline-flex !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  width: auto !important;
}
.customer-default-checkbox input {
  flex: 0 0 auto !important;
  margin: 0 !important;
  min-height: 0 !important;
  width: auto !important;
}

/* Design & Rechtliches: Admin bleibt lesbar, Buttons unter den Elementen */
.design-admin-form .admin-card,
.design-admin-form label,
.design-admin-form .form-help,
.design-admin-form .rich-editor,
.design-admin-form .rich-editor-toolbar,
.design-admin-form .rich-editor-area,
.design-admin-form .design-live-preview {
  color: #1f2933 !important;
}
.design-admin-form input:not([type="color"]),
.design-admin-form select,
.design-admin-form textarea,
.design-admin-form .rich-editor-area {
  background: #ffffff !important;
  border-color: #c8c2b8 !important;
  color: #1f2933 !important;
}
.design-admin-form input::placeholder,
.design-admin-form textarea::placeholder {
  color: #697586 !important;
}
.design-section-actions,
.design-field-save-row,
.section-save-actions,
.custom-design-actions,
.design-page-save-row {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  margin: 8px 0 12px !important;
}
.nav-custom-page-row .design-field-save-row,
.nav-custom-page-row .section-save-actions,
.nav-custom-page-row .design-page-save {
  justify-content: flex-end !important;
  margin-left: auto !important;
}
.design-subsection-heading-with-actions {
  align-items: flex-start !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: space-between !important;
}
.design-subsection-heading-with-actions .design-section-actions {
  justify-content: flex-end !important;
  margin: 0 !important;
}
.design-compact-save,
.design-section-actions button,
.design-field-save-row button,
.section-save-actions button,
.custom-design-actions button,
.nav-custom-page-row button {
  font-size: 11px !important;
  min-height: 26px !important;
  padding: 4px 8px !important;
  width: auto !important;
  max-width: max-content !important;
}

/* Sprungziele: Überschrift soll sichtbar am Abschnittsanfang landen */
[id] {
  scroll-margin-top: 96px;
}
#packaging,
#branding,
#operator,
#seo,
#zones,
#duration,
#checkout,
#notifications,
#calendar,
#products-list,
#product-form,
#sizes,
#extras,
#orders-list,
#categories-list {
  scroll-margin-top: 96px !important;
}
.admin-nav-dropdown[open] > div,
.admin-nav-dropdown:hover > div,
.admin-nav-dropdown:focus-within > div {
  display: grid !important;
}

@media (max-width: 1120px) {
  .admin-detail-layout,
  .product-admin-layout {
    grid-template-columns: 1fr !important;
  }
  .settings-zone-card .delivery-zone-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .product-row,
  .product-controls,
  .settings-zone-card .delivery-zone-form,
  .tip-control-cart,
  .checkout-modal-tip-edit {
    grid-template-columns: 1fr !important;
  }
  .product-choice-panel {
    width: 100% !important;
  }
  .admin-card .admin-table {
    min-width: 640px !important;
  }
}


/* v18 admin/list cleanup */
html { scroll-padding-top: 120px; }
.admin-card[id], .settings-checkout-card, .settings-operator-card, .settings-branding-card, #sizes, #extras, #orders-list, #customers-list, #categories-list, #products-list { scroll-margin-top: 120px; }
.admin-nav-dropdown a { cursor: pointer; }
.admin-card .admin-table { width: 100%; border-collapse: separate; border-spacing: 0 10px; }
.admin-card .admin-table thead { display: none; }
.admin-card .admin-table tbody { display: block; }
.admin-card .admin-table tr { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 8px 18px; padding: 12px; margin: 0 0 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); align-items: start; }
.admin-card .admin-table td { display: block; padding: 0; border: 0; background: transparent !important; min-width: 0; font-weight: 400; }
.admin-card .admin-table td strong { font-weight: 600; }
.admin-card .admin-table td span { display: block; font-size: 0.88rem; color: var(--muted); margin-top: 3px; }
.admin-card .admin-table .action-cell { grid-column: 1 / -1; padding-top: 6px; background: transparent !important; }
.admin-card .admin-table .action-cell::before { content: 'Aktionen'; display: block; font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 5px; }
.row-actions, .action-cell .row-actions, .option-danger-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 7px; }
.row-actions form, .action-cell form, .compact-form, .topbar-inline-form { margin: 0; }
.table-action, button, .primary-button, .danger-button, .cart-add-button, .checkout-to-details-button { min-height: 0; }
.admin-card button, .admin-card .table-action, .admin-nav button, .admin-nav a, .admin-nav summary { width: auto; max-width: max-content; padding: 8px 12px; font-size: .86rem; line-height: 1.15; white-space: nowrap; }
.inline-status-form { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.inline-status-form select { width: auto; min-width: 130px; max-width: 180px; }
.inline-status-form button { padding: 7px 10px; }
.status-form select, .status-form input:not([type="checkbox"]):not([type="radio"]):not([type="color"]), .option-inline-form input:not([type="checkbox"]):not([type="radio"]):not([type="color"]) { max-width: 420px; }
.product-admin-layout { grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); align-items: start; }
.product-admin-layout .admin-card { min-width: 0; }
.product-thumb { width: 58px; height: 44px; object-fit: cover; border-radius: 8px; }
.size-config-row, .option-config-row, .option-group-card { padding: 12px; margin-bottom: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.size-config-row form, .option-inline-form, .option-group-card > .status-form { display: grid; grid-template-columns: minmax(180px, 320px) minmax(90px, 140px) auto; gap: 10px 12px; align-items: end; }
.option-inline-form { grid-template-columns: minmax(180px, 310px) minmax(80px, 120px) minmax(90px, 130px) auto; }
.size-config-row .row-actions, .option-config-row > .compact-form, .option-group-card .option-danger-actions { grid-column: 1 / -1; }
.option-config-row { display: block; }
.option-config-row > .compact-form { display: inline-flex; margin-top: 8px; margin-right: 6px; }
.option-group-card > .status-form .row-actions { grid-column: 1 / -1; }
.option-group-card > .status-form > button { grid-column: 1 / -1; justify-self: start; }
.option-row-list { display: grid; gap: 8px; margin-top: 12px; }
.option-config-row .compact-form button, .size-config-row button, .option-group-card button { padding: 7px 11px; }
.two-fields { align-items: start; }
.settings-payment-options .choice-row { min-height: 32px; }
.payment-provider-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.payment-provider-card { border: 1px solid var(--line); border-radius: 12px; padding: 12px; background: var(--surface); display: grid; gap: 8px; }
.design-image-inline-row { display: grid; grid-template-columns: auto minmax(240px, 1fr) minmax(110px, 150px) minmax(110px, 150px); gap: 10px; align-items: end; }
.design-image-small-select { display: grid; gap: 4px; cursor: default; }
.design-image-small-select select { cursor: pointer; }
.design-field-save-row { display: flex; justify-content: flex-start; margin: 8px 0 18px; }
.section-save-actions { justify-content: flex-start; }
.public-nav-classic .status-link, .public-nav-classic .topbar-inline-form button { background: transparent !important; border-color: transparent !important; }
.public-nav-links .status-link, .public-nav-links .topbar-inline-form button { background: transparent !important; border-color: transparent !important; padding-left: 4px !important; padding-right: 4px !important; }
.public-nav-hamburger { position: relative; padding-top: 42px; }
.public-nav-hamburger::before { content: '☰ Menü'; position: absolute; top: 0; right: 0; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); font-weight: 700; }
.public-nav-hamburger > * { display: none; }
.public-nav-hamburger:hover > *, .public-nav-hamburger:focus-within > * { display: inline-flex; }
.brand-logo { width: var(--nav-logo-size, 58px); height: var(--nav-logo-size, 58px); object-fit: contain; }
.cart-summary { position: sticky; top: 12px; }
.cart-line-header strong, .cart-summary strong { font-weight: 600; }
.cart-line-actions-edit { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin-top: 6px; }
.cart-line-small-button, .cart-line-remove, .cart-line-edit-button { padding: 4px 8px; font-size: .8rem; line-height: 1.1; }
.cart-line-quantity { min-width: 24px; text-align: center; font-weight: 600; }
.tip-control, .checkout-modal-tip-edit { display: grid; grid-template-columns: minmax(90px, 160px) auto; gap: 6px; align-items: end; }
.tip-control input, .checkout-modal-tip-edit input { max-width: 140px; padding: 7px 9px; }
.quantity-control { display: inline-flex; align-items: center; gap: 5px; }
.quantity-control input, input[data-cart-quantity] { max-width: 54px; padding: 6px; text-align: center; }
.quantity-stepper-button { width: 28px; height: 28px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.cart-confirm-button { padding: 8px 12px !important; font-size: .88rem; }
.customer-danger-zone { border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; }
.customer-account-actions, .customer-address-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
@media (max-width: 880px) {
  .product-admin-layout, .admin-detail-layout { grid-template-columns: 1fr; }
  .design-image-inline-row, .size-config-row form, .option-inline-form, .option-group-card > .status-form { grid-template-columns: 1fr; }
  .cart-summary { position: static; }
}

/* v19: finale UI-Korrekturen aus Kundenfeedback */
/* Checkout/Warenkorb */
.cart-summary .checkout-to-details-button {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 10px 0 0 !important;
  text-align: center !important;
}
.tip-control,
.tip-control-cart,
.checkout-modal-tip-edit {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 6px !important;
  align-items: end !important;
}
.tip-control label,
.checkout-modal-tip-edit { max-width: 240px !important; }
.tip-control input,
.checkout-modal-tip-edit input {
  max-width: 96px !important;
  min-height: 28px !important;
  padding: 5px 7px !important;
  font-size: 12px !important;
}
.tip-control .cart-add-button { min-height: 28px !important; padding: 5px 8px !important; font-size: 12px !important; }
.cart-summary,
.cart-lines,
.cart-summary-list,
.cart-line-header,
.cart-line-actions-edit { font-size: 13px !important; font-weight: 400 !important; }
.cart-line-header strong,
.cart-summary strong { font-weight: 500 !important; }

/* Kundenkonto */
.choice-row,
label.choice-row {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  width: auto !important;
}
.choice-row input[type="checkbox"],
.choice-row input[type="radio"] {
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}
.customer-account-small-actions.customer-account-danger-links,
.customer-account-actions,
.customer-address-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
}
.customer-account-small-actions.customer-account-danger-links a,
.customer-account-small-actions.customer-account-danger-links button,
.link-button-danger {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--danger, #991b1b) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  min-height: 0 !important;
  padding: 0 !important;
  text-decoration: underline !important;
}

/* Admin: alle Listen kompakt, Aktionen links unten */
body .table-scroll { overflow: visible !important; }
body .admin-table,
body .admin-table thead,
body .admin-table tbody,
body .admin-table tr,
body .admin-table td,
body .admin-table th {
  width: 100% !important;
  box-sizing: border-box !important;
}
body .admin-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  min-width: 0 !important;
  display: block !important;
}
body .admin-table thead { display: none !important; }
body .admin-table tbody {
  display: grid !important;
  gap: 10px !important;
}
body .admin-table tr {
  background: var(--surface, #fff) !important;
  border: 1px solid var(--line, #ddd) !important;
  border-radius: 10px !important;
  display: grid !important;
  gap: 8px 14px !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  margin: 0 !important;
  padding: 10px !important;
  align-items: start !important;
}
body .admin-table td,
body .admin-table th {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: block !important;
  font-weight: 400 !important;
  min-width: 0 !important;
  padding: 0 !important;
  position: static !important;
  text-align: left !important;
  vertical-align: top !important;
  width: auto !important;
}
body .admin-table td strong { font-weight: 500 !important; }
body .admin-table td span { font-size: 12px !important; }
body .admin-table .action-cell,
body .admin-table td:last-child:has(.row-actions),
body .admin-table td:last-child:has(.table-action),
body .admin-table td:last-child:has(button) {
  grid-column: 1 / -1 !important;
  padding-top: 4px !important;
}
body .row-actions,
body .admin-table .row-actions,
body .action-cell .row-actions,
body .compact-action-row,
body .option-danger-actions,
body .delivery-zone-secondary-actions,
body .customer-account-small-actions,
body .customer-address-account-actions,
body .admin-customer-address-actions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  margin: 6px 0 0 !important;
}
body .row-actions form,
body .compact-action-row form,
body .action-cell form,
body .inline-status-form,
body .topbar-inline-form { margin: 0 !important; }
body .admin-card button,
body .admin-card .table-action,
body .admin-card .primary-button,
body .admin-card .danger-button,
body .row-actions button,
body .row-actions .table-action,
body .compact-action-row button,
body .compact-action-row .table-action,
body .inline-status-form button {
  align-items: center !important;
  display: inline-flex !important;
  justify-content: center !important;
  width: auto !important;
  max-width: max-content !important;
  min-height: 26px !important;
  padding: 4px 8px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}
body .admin-card input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
body .admin-card select,
body .admin-card textarea {
  min-height: 32px !important;
  padding: 6px 8px !important;
  font-size: 14px !important;
}
body .inline-status-form {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  min-width: 0 !important;
  align-items: center !important;
}
body .inline-status-form select {
  min-width: 116px !important;
  max-width: 155px !important;
  min-height: 30px !important;
}

/* Optionen/Größen/Optionsgruppen: kompakte Blocks */
.size-config-row form,
.option-inline-form,
.option-group-card > .status-form {
  display: grid !important;
  grid-template-columns: minmax(160px, 260px) minmax(80px, 120px) minmax(80px, 120px) auto !important;
  gap: 8px !important;
  align-items: end !important;
}
.size-config-row .row-actions,
.option-group-card > .status-form .row-actions,
.option-group-card > .status-form > button,
.option-danger-actions {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
}
.option-config-row > .compact-form {
  display: inline-flex !important;
  margin: 6px 6px 0 0 !important;
}
.option-config-row,
.size-config-row,
.option-group-card { padding: 10px !important; }

/* Design & Rechtliches: Bild-Selects dürfen keinen Upload auslösen */
.file-upload-button input[type="file"] {
  display: none !important;
  position: static !important;
  width: 0 !important;
  height: 0 !important;
}
.file-upload-button { position: relative !important; z-index: 1 !important; width: auto !important; min-width: 92px !important; }
.design-image-inline-row {
  align-items: end !important;
  grid-template-columns: minmax(100px, 125px) minmax(180px, 1fr) minmax(96px, 120px) minmax(96px, 120px) !important;
}
.design-image-small-select,
.design-image-small-select select,
.design-image-url-field,
.design-image-url-field input {
  position: relative !important;
  z-index: 3 !important;
  pointer-events: auto !important;
}
.design-image-small-select { cursor: default !important; }
.design-image-small-select select { cursor: pointer !important; }
.nav-settings-grid,
.design-grid,
.payment-provider-grid { gap: 10px !important; }
.nav-settings-item select,
.nav-settings-item input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.design-admin-form select,
.design-admin-form input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]) {
  min-height: 34px !important;
  padding: 6px 8px !important;
}

/* Öffentliche Navigation: Hamburger/Streifen-Menü klappt nach unten aus */
.public-nav-hamburger {
  align-items: flex-end !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 160px !important;
  padding-top: calc(var(--nav-mobile-size, 42px) + 8px) !important;
  position: relative !important;
}
.public-nav-hamburger::before {
  top: 0 !important;
  right: 0 !important;
  min-height: var(--nav-mobile-size, 42px) !important;
}
.public-nav-hamburger > * {
  display: none !important;
  margin: 0 !important;
}
.public-nav-hamburger:hover > *,
.public-nav-hamburger:focus-within > * {
  display: inline-flex !important;
  justify-content: center !important;
}
.public-nav-hamburger .topbar-inline-form { display: none !important; }
.public-nav-hamburger:hover .topbar-inline-form,
.public-nav-hamburger:focus-within .topbar-inline-form { display: inline-flex !important; }

/* v19: Design-Formularfelder kompakter */
.nav-settings-grid,
.design-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 260px)) !important;
  align-items: start !important;
}
.nav-settings-item,
.design-field,
.payment-provider-card {
  padding: 10px !important;
}
.nav-size-settings {
  grid-template-columns: repeat(2, minmax(82px, 1fr)) !important;
}
.nav-settings-item input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.nav-settings-item select {
  width: 100% !important;
  max-width: 220px !important;
}
.design-field input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.design-field select,
.payment-provider-card input,
.payment-provider-card select {
  max-width: 260px !important;
}

/* v22 finale Korrekturen: Admin-Listen, kompakte Felder, Aktionen links unten, Checkout/WYSIWYG. */
html { scroll-padding-top: 6px !important; }
[id] { scroll-margin-top: 6px !important; }
body:has(.admin-nav) .status-link,
body .admin-card .status-link { font-weight: 500 !important; }

/* Admin-Formulare grundsätzlich verkleinern */
.admin-card input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
.admin-card select,
.admin-card textarea,
.checkout-panel input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
.checkout-panel select,
.checkout-panel textarea {
  min-height: 30px !important;
  padding: 5px 8px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  max-width: 100% !important;
}
.admin-card button,
.admin-card .table-action,
.admin-card .primary-button,
.admin-card .danger-button,
.checkout-panel button,
.row-actions button,
.row-actions .table-action,
.compact-action-row button,
.option-danger-actions button,
.inline-status-form button {
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  min-height: 28px !important;
  padding: 5px 9px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}
.row-actions,
.compact-action-row,
.option-danger-actions,
.admin-customer-address-actions,
.customer-address-account-actions,
.delivery-zone-secondary-actions {
  display: flex !important;
  flex-flow: row wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 8px 0 0 !important;
}
.row-actions form,
.compact-action-row form,
.option-danger-actions form,
.action-cell form { margin: 0 !important; display: inline-flex !important; }

/* Alle Adminlisten: Aktion unter den Datensatz, links in einer Reihe. */
#orders-list .table-scroll,
#customers-list .table-scroll,
#categories-list .table-scroll,
#products-list .table-scroll { overflow: visible !important; }
#orders-list table.admin-table,
#customers-list table.admin-table,
#categories-list table.admin-table,
#products-list table.admin-table,
#orders-list table.admin-table tbody,
#customers-list table.admin-table tbody,
#categories-list table.admin-table tbody,
#products-list table.admin-table tbody,
#orders-list table.admin-table tr,
#customers-list table.admin-table tr,
#categories-list table.admin-table tr,
#products-list table.admin-table tr,
#orders-list table.admin-table td,
#customers-list table.admin-table td,
#categories-list table.admin-table td,
#products-list table.admin-table td {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#orders-list table.admin-table,
#customers-list table.admin-table,
#categories-list table.admin-table,
#products-list table.admin-table { border-spacing: 0 !important; border-collapse: separate !important; min-width: 0 !important; }
#orders-list table.admin-table thead,
#customers-list table.admin-table thead,
#categories-list table.admin-table thead,
#products-list table.admin-table thead { display: none !important; }
#orders-list table.admin-table tbody,
#customers-list table.admin-table tbody,
#categories-list table.admin-table tbody,
#products-list table.admin-table tbody { display: grid !important; gap: 10px !important; }
#orders-list table.admin-table tr,
#customers-list table.admin-table tr,
#categories-list table.admin-table tr,
#products-list table.admin-table tr {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important;
  gap: 6px 14px !important;
  padding: 10px !important;
  border: 1px solid var(--line, #d8d2c4) !important;
  border-radius: 10px !important;
  background: var(--surface, #fff) !important;
}
#orders-list table.admin-table td,
#customers-list table.admin-table td,
#categories-list table.admin-table td,
#products-list table.admin-table td {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  text-align: left !important;
  vertical-align: top !important;
  font-weight: 400 !important;
  min-width: 0 !important;
}
#orders-list .action-cell,
#customers-list .action-cell,
#categories-list .action-cell,
#products-list .action-cell,
#orders-list table.admin-table td:last-child,
#customers-list table.admin-table td:last-child,
#categories-list table.admin-table td:last-child,
#products-list table.admin-table td:last-child {
  grid-column: 1 / -1 !important;
  border-top: 1px dashed var(--line, #d8d2c4) !important;
  padding-top: 8px !important;
  margin-top: 2px !important;
}
#orders-list .action-cell .row-actions,
#customers-list .action-cell .row-actions,
#categories-list .action-cell .row-actions,
#products-list .action-cell .row-actions { justify-content: flex-start !important; }
#customers-list table.admin-table td,
#customers-list table.admin-table strong { font-weight: 400 !important; }
#orders-list .inline-status-form { display: inline-flex !important; flex-flow: row wrap !important; gap: 5px !important; align-items: center !important; max-width: 100% !important; }
#orders-list .inline-status-form select { width: auto !important; max-width: 145px !important; min-width: 104px !important; }
#products-list .product-thumb { width: 56px !important; height: 46px !important; object-fit: cover !important; }
.product-admin-layout,
.admin-detail-layout { display: grid !important; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .75fr) !important; gap: 18px !important; align-items: start !important; }
@media (max-width: 1100px) { .product-admin-layout, .admin-detail-layout { grid-template-columns: 1fr !important; } }

/* Optionen, Größen, Optionsgruppen, Kalender, Lieferkosten: kompakt links, Aktionen darunter in einer Zeile. */
.option-row-list { display: grid !important; gap: 10px !important; }
.size-config-row,
.option-config-row,
.option-group-card,
.calendar-config-row,
.delivery-zone-block {
  display: block !important;
  padding: 10px !important;
  border: 1px solid var(--line, #d8d2c4) !important;
  border-radius: 10px !important;
  background: var(--surface-soft, #f1eee6) !important;
}
.size-config-row .option-inline-form,
.option-config-row .option-inline-form,
.option-group-card > .status-form,
.calendar-row-form,
.calendar-closure-form,
.delivery-zone-form {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(115px, 190px)) !important;
  gap: 8px !important;
  align-items: end !important;
}
.size-config-row label,
.option-config-row label,
.option-group-card label,
.calendar-config-row label,
.delivery-zone-form label { max-width: 190px !important; }
.size-config-row input:not([type="checkbox"]),
.size-config-row select,
.option-config-row input:not([type="checkbox"]),
.option-config-row select,
.option-group-card input:not([type="checkbox"]),
.option-group-card select,
.calendar-config-row input:not([type="checkbox"]),
.calendar-config-row select,
.delivery-zone-form input:not([type="checkbox"]),
.delivery-zone-form select { max-width: 190px !important; width: 100% !important; }
.size-config-row .option-inline-form > button,
.option-config-row .option-inline-form > button,
.option-group-card > .status-form > button,
.calendar-row-form > button,
.calendar-closure-form > button,
.delivery-zone-form > button,
.delivery-zone-values { grid-column: 1 / -1 !important; justify-self: start !important; }
.option-config-row > .compact-form,
.option-group-card .compact-form,
.calendar-config-row .compact-form { display: inline-flex !important; margin: 8px 6px 0 0 !important; }
.calendar-config-row .compact-action-row,
.delivery-zone-secondary-actions { grid-column: 1 / -1 !important; }
.calendar-config-row .compact-action-row button,
.delivery-zone-secondary-actions button { margin: 0 !important; }
.delivery-zone-values-inline { display: grid !important; gap: 6px !important; padding: 8px !important; max-width: 420px !important; }
.delivery-zone-value-row { display: flex !important; align-items: center !important; gap: 6px !important; }
.delivery-zone-value-row input { max-width: 260px !important; }
.delivery-zone-add-value { justify-self: start !important; }

/* Design & Rechtliches: Upload ist nur der Upload-Button, Selects bleiben Selects. */
.file-upload-input { display: none !important; }
.file-upload-button { position: relative !important; z-index: 1 !important; width: auto !important; max-width: 120px !important; min-width: 92px !important; }
.design-image-inline-row { display: grid !important; grid-template-columns: minmax(92px, 120px) minmax(180px, 1fr) minmax(90px, 120px) minmax(90px, 120px) !important; gap: 8px !important; align-items: end !important; overflow: visible !important; }
.design-image-small-select,
.design-image-small-select select,
.design-image-url-field,
.design-image-url-field input { position: relative !important; z-index: 5 !important; pointer-events: auto !important; }
.design-image-small-select { cursor: default !important; }
.design-image-small-select select { cursor: pointer !important; }
.design-field-save-row { display: flex !important; justify-content: flex-start !important; margin: 8px 0 14px !important; }
.design-subsection-heading-with-actions { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: 12px !important; }
.design-section-actions { margin-left: auto !important; align-self: flex-start !important; }

/* Newsletter/WYSIWYG */
.rich-toolbar { display: flex !important; flex-flow: row wrap !important; gap: 5px !important; align-items: center !important; }
.rich-toolbar button,
.rich-toolbar select,
.rich-image-upload-button { width: auto !important; min-height: 28px !important; padding: 4px 7px !important; font-size: 12px !important; border: 1px solid var(--line, #d8d2c4) !important; border-radius: 5px !important; background: var(--surface-soft, #f1eee6) !important; color: var(--ink, #1f2933) !important; cursor: pointer !important; }
.rich-image-upload-button input { display: none !important; }
.rich-editor-surface { min-height: 190px !important; }
.rich-editor-surface img,
.legal-text img { max-width: 100% !important; height: auto !important; }

/* Kundenkonto unten */
.customer-danger-zone,
.account-danger-zone { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.customer-data-actions,
.customer-account-footer-actions,
.customer-export-delete-row { display: flex !important; align-items: center !important; gap: 10px !important; justify-content: flex-start !important; }
.customer-data-actions a,
.customer-data-actions button,
.customer-account-footer-actions a,
.customer-account-footer-actions button { display: inline-flex !important; width: auto !important; max-width: max-content !important; padding: 0 !important; background: transparent !important; border: 0 !important; color: var(--accent, #166534) !important; text-decoration: underline !important; }
.choice-row { display: inline-flex !important; align-items: center !important; gap: 8px !important; }
.choice-row input[type="checkbox"], .choice-row input[type="radio"] { flex: 0 0 auto !important; }

/* Bestellseite Warenkorb */
.checkout-to-details-button { width: 100% !important; max-width: 100% !important; text-align: center !important; justify-content: center !important; }
.tip-control-cart input,
.checkout-modal-tip-edit input { max-width: 90px !important; min-height: 30px !important; }
.cart-line-header strong { font-weight: 500 !important; font-size: 14px !important; }
.cart-line-actions-edit { display: flex !important; gap: 5px !important; flex-wrap: wrap !important; align-items: center !important; }
.cart-line-small-button,
.cart-line-remove,
.cart-line-edit-button { min-height: 24px !important; padding: 3px 7px !important; font-size: 12px !important; }

/* Öffentliche Navigation: Buttonform Keins und Streifenmenü nach unten. */
.public-nav-shape-none .status-link,
.public-nav-shape-none .status-link-muted,
.public-nav-shape-none .topbar-inline-form button { background: transparent !important; border-color: transparent !important; box-shadow: none !important; border-radius: 0 !important; padding: 4px 6px !important; }
.public-nav-hamburger { position: relative !important; display: flex !important; flex-direction: column !important; align-items: flex-end !important; gap: 6px !important; padding-top: calc(var(--nav-mobile-size, 42px) + 8px) !important; min-width: 170px !important; }
.public-nav-hamburger::before { top: 0 !important; right: 0 !important; left: auto !important; }
.public-nav-hamburger > * { display: none !important; margin: 0 !important; }
.public-nav-hamburger:hover > *,
.public-nav-hamburger:focus-within > * { display: inline-flex !important; }

/* v23 öffentliche Bestellseite: Warenkorb rechts scrollt mit, bleibt nicht kleben. */
.checkout-panel {
  position: static !important;
  top: auto !important;
}
.order-layout .cart-summary {
  position: static !important;
}
.checkout-to-details-button {
  width: 100% !important;
  max-width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
}
.customer-order-history {
  margin-top: 18px;
}
.customer-order-history-list {
  display: grid;
  gap: 10px;
}
.customer-order-history-item {
  border: 1px solid var(--line);
  border-radius: 10px;
  display: grid;
  gap: 8px;
  padding: 12px;
}
.customer-order-history-head {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.customer-order-history-lines {
  color: var(--muted);
  display: grid;
  font-size: 13px;
  gap: 3px;
}
.customer-repeat-order {
  justify-self: start;
}
