@font-face {
  font-family: "Brittany Signature";
  src: url("assets/fonts/BrittanySignature.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light;
  --rose: #F3BDD9;
  --mint: #DDEFF3;
  --fuchsia: #E85C9A;
  --button-hover: #D94D8D;
  --decor-rose: #E85C9A;
  --decor-blue: #DDEFF3;
  --decor-violet: #F3BDD9;
  --page-bg: #F9F7FA;
  --header-bg: #F8F3F8;
  --hero-bg: #F6F1FA;
  --section-bg: #F4EEF8;
  --footer-bg: #EEE7F5;
  --cream: var(--page-bg);
  --white: #FFFFFF;
  --rose-soft: #fce8f2;
  --mint-soft: #e6f5f5;
  --ink: #111111;
  --muted: #1F1F1F;
  --line: #c7c7c7;
  --shadow: 0 2px 6px rgba(36, 36, 36, .08);
  --radius: 12px;
  --heading-font: "Montserrat", sans-serif;
  --body-font: "Poppins", sans-serif;
}
html[data-theme="light"] {
  color-scheme: light;
  --page-bg: #F9F7FA;
  --header-bg: #F8F3F8;
  --hero-bg: #F6F1FA;
  --section-bg: #F4EEF8;
  --footer-bg: #EEE7F5;
  --white: #FFFFFF;
  --cream: #F9F7FA;
  --ink: #111111;
  --muted: #1F1F1F;
  --line: #c7c7c7;
  --button-hover: #D94D8D;
  --decor-rose: #E85C9A;
  --decor-blue: #DDEFF3;
  --decor-violet: #F3BDD9;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --page-bg: #151A22;
  --header-bg: #141921;
  --hero-bg: #151A22;
  --section-bg: #23222F;
  --footer-bg: #141921;
  --white: #23222F;
  --cream: #151A22;
  --ink: #FFFFFF;
  --muted: #F4F4F4;
  --line: #3B3542;
  --button-hover: #F06AAA;
  --decor-rose: #F3BDD9;
  --decor-blue: #253A3E;
  --decor-violet: #403343;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body {
  margin: 0;
  background-color: var(--page-bg);
  background-image: url("assets/images/Hintergrund-Light-Neu.png");
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  color: var(--ink);
  font-family: var(--body-font);
  line-height: 1.6;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 14px clamp(18px, 4vw, 56px);
  background: rgba(248, 245, 251, .96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(199, 199, 199, .35);
}
.brand { display: flex; align-items: center; gap: 12px; min-width: 112px; }
.brand-logo,
.brand-logo img {
  width: 92px;
  height: 58px;
  object-fit: contain;
}
.theme-logo {
  display: grid;
  place-items: center;
}
.theme-logo img {
  grid-area: 1 / 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}
.theme-logo-dark {
  display: none;
}
html[data-theme="dark"] .theme-logo-light {
  display: none;
}
html[data-theme="dark"] .theme-logo-dark {
  display: block;
}
html[data-theme="light"] .theme-logo-light {
  display: block;
}
html[data-theme="light"] .theme-logo-dark {
  display: none;
}
.brand-fallback {
  display: none;
  place-items: center;
  width: 92px;
  height: 58px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--rose-soft), var(--mint-soft));
  color: var(--fuchsia);
  font-family: Montserrat, Poppins, sans-serif;
  font-weight: 700;
  line-height: 1.05;
  text-align: center;
}
.site-nav { display: flex; justify-content: center; gap: clamp(8px, 1.4vw, 20px); font-size: .94rem; }
.site-nav a { color: #111; font-weight: 600; }
.icon-link { color: var(--muted); font-weight: 600; }
.site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 999px;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.site-nav a:hover { background: rgba(216, 93, 150, .07); color: #111; }
.icon-link:hover { color: var(--fuchsia); }
.site-nav a.is-active,
body[data-page="home"] .site-nav a[data-nav="home"],
body[data-page="shop"] .site-nav a[data-nav="shop"],
body[data-page="personalize"] .site-nav a[data-nav="personalize"],
body[data-page="finder"] .site-nav a[data-nav="finder"],
body[data-page="blog"] .site-nav a[data-nav="blog"],
body[data-page="about"] .site-nav a[data-nav="about"],
body[data-page="contact"] .site-nav a[data-nav="contact"] {
  color: var(--fuchsia);
  background: linear-gradient(135deg, rgba(255,255,255,.94), var(--rose-soft));
  box-shadow: inset 0 0 0 1px rgba(216, 93, 150, .22), 0 8px 18px rgba(216, 93, 150, .12);
  transform: translateY(1px);
}
.header-icons { display: flex; gap: 10px; align-items: center; justify-content: flex-end; }
.icon-link, .menu-toggle, .icon-btn {
  border: 1px solid rgba(216, 93, 150, .22);
  background: var(--white);
  border-radius: 999px;
  padding: 9px 12px;
  font: inherit;
  font-size: .82rem;
  color: var(--ink);
  cursor: pointer;
}
.icon-only {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--ink);
  box-shadow: 0 8px 18px rgba(216, 93, 150, .08);
  transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}
.icon-only:hover {
  border-color: rgba(216, 93, 150, .45);
  background: linear-gradient(135deg, var(--header-bg), var(--rose-soft));
  color: var(--fuchsia);
  transform: translateY(-1px);
}
.icon-only svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.theme-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  overflow: hidden;
  border-radius: 999px;
}
.theme-icon img {
  grid-area: 1 / 1;
  width: 36px;
  max-width: none;
  height: 36px;
  object-fit: cover;
}
.theme-icon-dark { display: none; }
html[data-theme="dark"] .theme-icon-light { display: none; }
html[data-theme="dark"] .theme-icon-dark { display: block; }
html[data-theme="light"] .theme-icon-light { display: block; }
html[data-theme="light"] .theme-icon-dark { display: none; }
.icon-only .bubble {
  position: absolute;
  top: -5px;
  right: -5px;
}
.icon-only .bubble[hidden] {
  display: none;
}
.account-link.is-customer {
  width: auto;
  min-width: 92px;
  padding: 0 14px;
  gap: 8px;
}
.account-link.is-customer [data-account-icon] {
  display: none;
}
.account-name {
  display: none;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--fuchsia);
  font-size: .84rem;
  font-weight: 800;
}
.account-link.is-customer .account-name {
  display: inline;
}
.cart-count [data-cart-count] {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--fuchsia);
  color: var(--white);
  font-size: .72rem;
  font-weight: 800;
}
.menu-toggle { display: none; }
main { overflow: hidden; }
.hero {
  min-height: calc(100svh - 84px);
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(280px, 1.1fr);
  align-items: center;
  gap: clamp(24px, 5vw, 72px);
  padding: clamp(26px, 5vw, 70px) clamp(18px, 6vw, 84px) 34px;
}
.hero-copy { max-width: 620px; }
.eyebrow {
  margin: 0 0 10px;
  color: var(--fuchsia);
  text-transform: uppercase;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: 0;
}
h1, h2, h3 {
  font-family: Montserrat, Poppins, sans-serif;
  line-height: 1.12;
  margin: 0 0 14px;
}
h1 { font-size: clamp(2.35rem, 6vw, 5.9rem); }
h2 { font-size: clamp(1.55rem, 3vw, 2.6rem); }
h3 { font-size: 1.15rem; }
p { color: var(--muted); margin: 0 0 18px; }
.lead { font-size: 1.08rem; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border: 0;
  border-radius: 12px;
  background: var(--fuchsia);
  color: var(--white);
  font: inherit;
  font-weight: 700;
  font-size: 18px;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(216, 93, 150, .22);
}
.btn:hover { background: var(--button-hover); }
.btn-ghost {
  background: var(--white);
  color: var(--fuchsia);
  border: 1px solid rgba(216, 93, 150, .24);
  box-shadow: none;
}
.btn-small { min-height: 38px; padding: 8px 14px; font-size: .9rem; }
.hero-actions, .product-actions, .card-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.hero-image {
  width: 100%;
  min-height: 390px;
  max-height: 680px;
  object-fit: cover;
  border-radius: 44px;
  box-shadow: var(--shadow);
}
.trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin: 0 clamp(18px, 6vw, 84px) 28px;
  overflow: hidden;
  border-radius: var(--radius);
  background: rgba(216, 93, 150, .16);
}
.trust-strip span {
  display: grid;
  place-items: center;
  min-height: 72px;
  background: var(--white);
  color: var(--ink);
  font-weight: 700;
}
.section, .page-hero, .product-grid, .toolbar, .form-panel, .text-flow, .data-panel, .configurator, .finder-grid, .product-detail, .split-band, .admin-shell {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto clamp(32px, 6vw, 82px);
}
.section-head { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 18px; }
.category-grid, .product-grid, .metric-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.category-grid a, .metric-grid div {
  min-height: 128px;
  display: grid;
  align-items: end;
  padding: 22px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, var(--rose-soft), var(--mint-soft));
  font-weight: 800;
  color: var(--ink);
}
.product-card {
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: 0 10px 28px rgba(36, 36, 36, .08);
}
.product-media {
  position: relative;
  display: grid;
  place-items: end start;
  min-height: 220px;
  padding: 18px;
  overflow: hidden;
  isolation: isolate;
}
.product-media::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 40% 60% 45% 55%;
  background: rgba(255, 255, 255, .54);
  box-shadow: inset 0 0 38px rgba(255,255,255,.55);
  z-index: -1;
}
.product-media span {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  font-weight: 700;
}
.product-media.rose { background: linear-gradient(135deg, #fce8f2, #f2a7c3); }
.product-media.mint { background: linear-gradient(135deg, #e6f5f5, #a8d8d8); }
.product-media.cream { background: linear-gradient(135deg, #ffffff, #fdfaf8 45%, #f2a7c3); }
.product-media.fuchsia { background: linear-gradient(135deg, #fce8f2, #d85d96); }
.product-media.large { min-height: 520px; border-radius: var(--radius); }
.product-body { padding: 18px; }
.price-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 16px 0; }
.favorite-btn {
  color: #B0B0B0;
}
.favorite-btn.is-active {
  color: var(--white);
  background: #F7A8D7;
  border-color: #F7A8D7;
}
.qty-input { width: 74px; }
input, select, textarea {
  width: 100%;
  border: 1px solid rgba(199, 199, 199, .85);
  border-radius: 16px;
  padding: 12px 13px;
  background: var(--white);
  color: var(--ink);
  font: inherit;
}
label { display: grid; gap: 8px; color: var(--ink); font-weight: 700; }
.toolbar, .finder-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr) auto;
  gap: 14px;
  align-items: end;
  padding: 18px;
  border-radius: var(--radius);
  background: var(--white);
}
.page-hero.compact {
  padding: clamp(38px, 7vw, 86px) 0 8px;
}
.page-hero h1 { font-size: clamp(2rem, 5vw, 4rem); }
.split-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  overflow: hidden;
  border-radius: var(--radius);
  background: rgba(216, 93, 150, .2);
}
.split-band > div { padding: clamp(24px, 4vw, 46px); background: var(--white); }
.product-detail {
  display: grid;
  grid-template-columns: minmax(280px, .95fr) minmax(280px, 1.05fr);
  gap: clamp(22px, 5vw, 64px);
  padding-top: clamp(28px, 6vw, 72px);
}
.thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 12px; }
.thumbs span { height: 74px; border-radius: 12px; background: var(--rose-soft); }
.detail-price { display: block; font-size: 1.5rem; margin: 16px 0; color: var(--fuchsia); }
.option-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0; }
.share-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; color: var(--muted); }
.share-row a, .share-row button, .socials a, .socials span { color: var(--fuchsia); font-weight: 700; }
.share-row button {
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.form-panel, .configurator, .data-panel, .text-flow {
  padding: clamp(20px, 4vw, 42px);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: 0 10px 28px rgba(36, 36, 36, .06);
}
.blog-grid {
  width: min(1180px, calc(100% - 36px));
  margin: 24px auto clamp(48px, 8vw, 96px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.blog-card {
  overflow: hidden;
  border: 1px solid rgba(216, 93, 150, .16);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 10px 28px rgba(36, 36, 36, .07);
}
.blog-card-media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--section-bg);
}
.blog-card-media img,
.blog-card-media picture,
.blog-card-media picture img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.blog-card-body { padding: 22px; }
.blog-card-body h2 { margin: 4px 0 12px; font-size: 1.25rem; }
.blog-card-body h2 a { color: inherit; }
.blog-empty {
  grid-column: 1 / -1;
  padding: clamp(28px, 6vw, 64px);
  text-align: center;
  border-radius: 8px;
  background: var(--white);
}
.blog-detail-shell {
  width: min(920px, calc(100% - 36px));
  margin: clamp(38px, 7vw, 82px) auto;
}
.blog-article {
  padding: clamp(24px, 5vw, 56px);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(36, 36, 36, .08);
}
.blog-article header { max-width: 760px; margin: 0 auto 30px; text-align: center; }
.blog-article h1 { margin: 8px 0 12px; font-size: clamp(2.1rem, 5vw, 4rem); }
.blog-byline { color: var(--muted); font-weight: 700; }
.blog-lead { font-size: 1.15rem; }
.blog-article-image {
  aspect-ratio: 16 / 9;
  margin: 0 0 34px;
  overflow: hidden;
  border-radius: 8px;
  background: var(--section-bg);
}
.blog-article-image img,
.blog-article-image picture,
.blog-article-image picture img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.blog-article-content { max-width: 720px; margin: 0 auto 32px; font-size: 1.05rem; line-height: 1.8; }
.admin-blog-image-preview {
  width: min(100%, 420px);
  max-height: 240px;
  display: block;
  margin: 8px 0 12px;
  object-fit: cover;
  border-radius: 8px;
}
.admin-blog-categories { margin-top: 28px; }
.search-panel, .checkout-grid, .task-board, .checkout-progress, .cart-actions, .order-complete, .order-lookup {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto clamp(32px, 6vw, 82px);
}
.search-panel {
  display: grid;
  gap: 18px;
}
.form-panel form, .configurator form {
  display: grid;
  gap: 16px;
}
.auth-panel {
  width: min(560px, calc(100% - 36px));
}
.auth-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
}
.auth-links a {
  color: var(--fuchsia);
  font-weight: 700;
}
.customer-account {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto clamp(34px, 6vw, 82px);
  display: grid;
  gap: 22px;
}
.account-subnav {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.account-subnav a {
  padding: 10px 14px;
  border: 1px solid rgba(216, 93, 150, .14);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(216, 93, 150, .055);
}
.account-subnav a:hover {
  color: var(--fuchsia);
  background: var(--rose-soft);
}
.account-section {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto clamp(34px, 6vw, 82px);
}
.account-form {
  display: grid;
  gap: 16px;
  max-width: 760px;
}
.account-form h2 {
  margin-top: 10px;
}
.account-welcome {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: clamp(22px, 4vw, 40px);
  border-radius: 12px;
  background: linear-gradient(135deg, #fff1f6, #fff, #e6f5f5);
  box-shadow: 0 10px 28px rgba(36, 36, 36, .06);
}
.account-welcome h2 {
  margin-bottom: 8px;
}
.account-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 16px;
}
.account-stats a,
.account-card {
  border: 1px solid rgba(216, 93, 150, .12);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(36, 36, 36, .055);
}
.account-stats a {
  display: grid;
  gap: 4px;
  padding: 20px;
  color: var(--ink);
}
.account-stats strong {
  color: var(--fuchsia);
  font-size: 2rem;
  line-height: 1;
}
.account-stats span {
  color: var(--muted);
  font-weight: 700;
}
.account-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.account-card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 205px;
  padding: 22px;
}
.account-card h3,
.account-card p {
  margin-bottom: 0;
}
.account-card .btn {
  justify-self: start;
  margin-top: 8px;
}
.mini-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.mini-actions a {
  color: var(--fuchsia);
  font-weight: 800;
}
.account-subnav a[aria-current="page"] {
  border-color: var(--fuchsia);
  background: var(--fuchsia);
  color: #fff;
}
.account-notifications {
  display: grid;
  gap: 12px;
}
.account-notifications [data-account-notifications] {
  display: grid;
  gap: 8px;
}
.account-notifications a {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border-left: 3px solid var(--fuchsia);
  background: var(--section-bg);
  color: var(--text);
}
.account-notifications span,
.customer-muted {
  color: var(--muted);
}
.customer-list {
  display: grid;
  gap: 14px;
}
.customer-order-card,
.customer-personalization-card,
.customer-voucher-card,
.customer-address-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--section-bg);
}
.customer-order-card h2,
.customer-personalization-card h2,
.customer-voucher-card p,
.customer-address-card h3,
.customer-address-card p {
  margin: 4px 0;
}
.customer-status-row,
.customer-order-meta,
.customer-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.customer-status-row span,
.customer-status-pill,
.customer-order-meta span {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--fuchsia) 10%, var(--section-bg));
  color: var(--text);
  font-size: .82rem;
  font-weight: 700;
}
.customer-detail-list {
  display: grid;
  gap: 4px;
  margin: 12px 0;
}
.customer-detail-list div {
  display: grid;
  grid-template-columns: minmax(90px, .7fr) 1fr;
  gap: 10px;
}
.customer-detail-list dt { color: var(--muted); }
.customer-detail-list dd { margin: 0; font-weight: 700; }
.customer-personalization-card {
  justify-content: flex-start;
  align-items: stretch;
}
.customer-personalization-preview {
  display: grid;
  width: 180px;
  min-width: 180px;
  aspect-ratio: 4 / 5;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--page-bg);
  color: var(--muted);
  text-align: center;
}
.customer-personalization-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.customer-voucher-sections,
.customer-address-layout,
.account-danger-zone {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
  gap: 24px;
  align-items: start;
}
.customer-voucher-sections section,
.customer-address-layout > div,
.customer-address-form,
.account-danger-zone > div,
.account-danger-zone form {
  min-width: 0;
}
.customer-voucher-card + .customer-voucher-card,
.customer-address-card + .customer-address-card {
  margin-top: 10px;
}
.customer-address-card {
  align-items: flex-start;
}
.customer-address-card .customer-card-actions {
  justify-content: flex-end;
}
.customer-address-form {
  position: sticky;
  top: 20px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--section-bg);
}
.customer-order-detail {
  display: grid;
  gap: 22px;
}
.customer-order-detail-head,
.customer-order-addresses,
.customer-order-items article,
.customer-order-totals p {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.customer-order-addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.customer-order-addresses article {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--section-bg);
}
.customer-order-items {
  display: grid;
  gap: 0;
}
.customer-order-items article {
  align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.customer-order-items article > div {
  display: grid;
  gap: 5px;
}
.customer-order-totals {
  width: min(430px, 100%);
  margin-left: auto;
}
.customer-order-totals p {
  margin: 0;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}
.customer-order-progress {
  display: grid;
  grid-template-columns: repeat(9, minmax(70px, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  list-style: none;
}
.customer-order-progress li {
  display: grid;
  justify-items: center;
  gap: 6px;
  min-width: 78px;
  color: var(--muted);
  font-size: .72rem;
  text-align: center;
}
.customer-order-progress span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--section-bg);
}
.customer-order-progress .is-done {
  color: var(--text);
}
.customer-order-progress .is-done span {
  border-color: var(--fuchsia);
  background: var(--fuchsia);
  color: #fff;
}
.customer-order-progress .is-current {
  color: var(--fuchsia);
  font-weight: 800;
}
.customer-order-cancelled {
  padding: 14px 16px;
  border-left: 3px solid #a12b57;
  background: color-mix(in srgb, #a12b57 10%, var(--section-bg));
}
.account-danger-zone {
  padding: clamp(20px, 4vw, 34px);
  border: 1px solid color-mix(in srgb, #a12b57 45%, var(--line));
  border-radius: 8px;
  background: var(--section-bg);
}
.customer-danger-button {
  background: #a12b57;
}
html[data-theme="dark"] .account-stats a,
html[data-theme="dark"] .account-card,
html[data-theme="dark"] .customer-order-card,
html[data-theme="dark"] .customer-personalization-card,
html[data-theme="dark"] .customer-voucher-card,
html[data-theme="dark"] .customer-address-card,
html[data-theme="dark"] .customer-address-form,
html[data-theme="dark"] .customer-order-addresses article,
html[data-theme="dark"] .account-danger-zone {
  background: #23222F;
}
.password-field {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
}
.password-field input {
  border-radius: 16px 0 0 16px;
}
.password-field button {
  height: 100%;
  min-height: 50px;
  width: 54px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(199, 199, 199, .85);
  border-left: 0;
  border-radius: 0 16px 16px 0;
  background: var(--rose-soft);
  color: var(--fuchsia);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.password-field button:hover {
  background: linear-gradient(135deg, var(--rose-soft), var(--mint-soft));
}
.password-field button svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.password-field button .eye-closed,
.password-field button.is-visible .eye-open {
  display: none;
}
.password-field button.is-visible .eye-closed {
  display: block;
}
.checkout-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(260px, .7fr);
  gap: 22px;
  align-items: start;
}
.checkout-progress {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
  margin-bottom: 22px;
}
.checkout-progress span {
  min-height: 48px;
  display: grid;
  place-items: center;
  padding: 8px;
  border-radius: 999px;
  background: var(--white);
  color: var(--muted);
  font-weight: 800;
  text-align: center;
  box-shadow: 0 8px 20px rgba(36, 36, 36, .05);
}
.checkout-progress span.is-active {
  background: var(--fuchsia);
  color: var(--white);
}
.checkout-progress span.is-complete:not(.is-active) {
  background: color-mix(in srgb, var(--fuchsia) 18%, var(--card-bg));
  color: var(--ink);
}
.checkout-grid form, .order-summary {
  display: grid;
  gap: 16px;
  padding: clamp(20px, 4vw, 42px);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: 0 10px 28px rgba(36, 36, 36, .06);
}
.checkout-step {
  display: none;
  margin: 0;
  padding: 0;
  border: 0;
}
.checkout-step.is-active { display: grid; gap: 16px; }
.checkout-hint {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--fuchsia);
  background: color-mix(in srgb, var(--fuchsia) 8%, var(--card-bg));
}
.billing-fields {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: color-mix(in srgb, var(--card-bg) 88%, var(--page-bg));
}
.billing-fields[hidden] { display: none; }
.step-actions, .cart-actions, .order-lookup {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
}
.cart-actions {
  justify-content: flex-end;
  margin-top: -54px;
}
.review-box, .order-complete, .order-lookup {
  padding: clamp(20px, 4vw, 42px);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: 0 10px 28px rgba(36, 36, 36, .06);
}
.order-complete {
  display: grid;
  gap: 16px;
}
.check-row {
  grid-template-columns: auto 1fr;
  align-items: center;
}
.check-row input { width: auto; }
.status-timeline {
  display: grid;
  gap: 10px;
  margin: 14px 0;
}
.status-timeline span {
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--cream);
  color: var(--muted);
  font-weight: 700;
}
.status-timeline span.is-done {
  background: var(--mint-soft);
  color: var(--ink);
}
.payment-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.payment-grid label {
  grid-template-columns: auto 1fr;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(199, 199, 199, .55);
  border-radius: 16px;
  background: var(--cream);
}
.payment-grid label span {
  display: grid;
  gap: 3px;
}
.payment-grid label small {
  color: var(--muted);
  font-weight: 500;
}
.payment-grid input { width: auto; }
.checkout-line,
.checkout-review-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--border-color) 55%, transparent);
}
.checkout-line div,
.checkout-review-item div {
  display: grid;
  gap: 4px;
}
.checkout-line small,
.checkout-review-item small {
  color: var(--muted);
  line-height: 1.55;
}
.checkout-review-item a {
  grid-column: 1 / -1;
  width: max-content;
  color: var(--link-color);
  font-weight: 700;
}
.checkout-review-section {
  padding-block: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--border-color) 55%, transparent);
}
.checkout-review-section h3 { margin-bottom: 6px; }
.confirmation-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(220px, .6fr);
  gap: 24px;
}
.confirmation-total {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px;
  background: color-mix(in srgb, var(--fuchsia) 10%, var(--card-bg));
  border: 1px solid var(--border-color);
  border-radius: 8px;
  font-size: 1.1rem;
}
.configurator {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 22px;
}
.preview-box {
  min-height: 100%;
  padding: 24px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--rose-soft), var(--mint-soft));
}
.live-preview {
  display: grid;
  place-items: center;
  min-height: 230px;
  margin: 12px 0;
  padding: 22px;
  border-radius: 12px;
  background: var(--white);
  color: var(--fuchsia);
  text-align: center;
  font-size: clamp(1.5rem, 4vw, 3rem);
  font-weight: 800;
  box-shadow: inset 0 0 0 1px rgba(216, 93, 150, .16);
}
.live-preview small {
  display: block;
  color: var(--muted);
  font-size: .9rem;
}
.upload-preview {
  display: none;
  width: 100%;
  max-height: 220px;
  object-fit: contain;
  margin: 12px 0;
  border-radius: 12px;
  background: var(--white);
}
.product-designer-form {
  display: grid;
  align-content: start;
  gap: 18px;
}
.designer-form-head h2 { margin: 4px 0 6px; }
.designer-form-head p { margin: 0; }
.designer-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.designer-progress li {
  display: grid;
  justify-items: center;
  gap: 5px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 700;
  text-align: center;
}
.designer-progress span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--section-bg);
}
.designer-progress .is-active,
.designer-progress .is-done { color: var(--fuchsia); }
.designer-progress .is-active span,
.designer-progress .is-done span {
  border-color: var(--fuchsia);
  background: var(--fuchsia);
  color: #fff;
}
.designer-step {
  display: none;
  min-width: 0;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.designer-step.is-active {
  display: grid;
  gap: 16px;
}
.designer-step legend {
  padding: 0 8px;
  font-size: 1.1rem;
  font-weight: 800;
}
.designer-field { display: grid; gap: 9px; }
.designer-field > span { font-weight: 800; }
.designer-swatches,
.designer-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.designer-swatch,
.designer-choice {
  position: relative;
  cursor: pointer;
}
.designer-swatch input,
.designer-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.designer-swatch > span {
  display: block;
  width: 42px;
  height: 42px;
  border: 3px solid var(--section-bg);
  border-radius: 50%;
  background: var(--swatch);
  box-shadow: 0 0 0 1px var(--line);
}
.designer-swatch input:checked + span { box-shadow: 0 0 0 3px var(--fuchsia); }
.designer-swatch small {
  display: block;
  max-width: 74px;
  margin-top: 6px;
  text-align: center;
}
.designer-choice span {
  display: block;
  min-width: 54px;
  padding: 10px 13px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--section-bg);
  text-align: center;
  font-weight: 700;
}
.designer-choice input:checked + span {
  border-color: var(--fuchsia);
  background: color-mix(in srgb, var(--fuchsia) 12%, var(--section-bg));
  color: var(--fuchsia);
}
.designer-error {
  min-height: 1em;
  margin: 0;
  color: #a12b57;
}
.designer-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.designer-actions [data-designer-next],
.designer-actions [data-designer-submit] { margin-left: auto; }
.designer-review { display: grid; gap: 0; }
.designer-review p,
.designer-price-breakdown p {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.product-designer-preview {
  position: sticky;
  top: 20px;
  min-height: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--section-bg);
}
.designer-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.designer-preview-head p { margin: 0; }
.designer-view-switch { display: flex; gap: 5px; }
.designer-view-switch button {
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: transparent;
  color: var(--text);
  cursor: pointer;
}
.designer-view-switch button.is-active {
  border-color: var(--fuchsia);
  background: var(--fuchsia);
  color: #fff;
}
.designer-stage {
  position: relative;
  display: grid;
  width: 100%;
  aspect-ratio: 4 / 5;
  place-items: center;
  margin: 16px 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--cream) 70%, var(--section-bg));
}
.designer-blank-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.designer-print-area {
  position: absolute;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px dashed color-mix(in srgb, var(--fuchsia) 70%, transparent);
  color: var(--fuchsia);
  text-align: center;
}
.designer-print-area span {
  position: relative;
  z-index: 2;
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: clamp(.7rem, 2.4vw, 1.4rem);
  font-weight: 800;
}
.designer-print-area img {
  position: absolute;
  inset: 5%;
  display: none;
  width: 90%;
  height: 90%;
  object-fit: contain;
  opacity: .82;
}
.designer-image-placeholder {
  max-width: 260px;
  padding: 20px;
  color: var(--muted);
  text-align: center;
}
.designer-area-hint {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: .85rem;
}
.designer-price-breakdown .is-total {
  padding-top: 14px;
  border-bottom: 0;
  color: var(--fuchsia);
  font-size: 1.1rem;
}
.designer-print-area-note {
  margin: 0;
  color: var(--muted);
  font-size: .85rem;
}
html[data-theme="dark"] .product-designer-preview,
html[data-theme="dark"] .designer-step,
html[data-theme="dark"] .designer-choice span,
html[data-theme="dark"] .designer-progress span {
  background: #23222F;
}
.data-row {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid rgba(199,199,199,.35);
}
.data-row input { width: 78px; }
.task-board {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.task-board article {
  padding: clamp(20px, 4vw, 42px);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: 0 10px 28px rgba(36, 36, 36, .06);
}
.task-board li { margin: 8px 0; color: var(--muted); }
body[data-page="admin"] {
  background-color: #F9F7FA;
  background-image:
    linear-gradient(rgba(249,247,250,.9), rgba(249,247,250,.9)),
    url("assets/images/Hintergrund-Light-Neu.png");
  background-position: center top;
  background-size: cover;
  background-attachment: fixed;
}
body[data-page="admin"] > main {
  min-height: 100vh;
  padding: 18px;
}
.admin-shell {
  display: grid;
  grid-template-columns: 268px minmax(0, 1fr);
  min-height: 620px;
  width: min(100%, 1480px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(232, 92, 154, .2);
  border-radius: 8px;
  background: rgba(250, 247, 252, .92);
  box-shadow: 0 18px 55px rgba(61, 42, 61, .12);
  backdrop-filter: blur(12px);
}
.admin-shell aside {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 20px 18px 24px;
  border-right: 1px solid rgba(232, 92, 154, .18);
  background: rgba(248, 243, 248, .96);
  color: var(--ink);
}
.admin-brand-row {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 126px;
  overflow: hidden;
}
.admin-brand {
  display: grid;
  place-items: center;
  width: min(232px, 100%);
  padding: 0 !important;
}
.admin-brand img {
  width: 148%;
  max-width: none;
  max-height: 176px;
  object-fit: contain;
}
.admin-brand-title {
  display: grid;
  gap: 2px;
  padding: 0 10px 10px;
  border-bottom: 1px solid rgba(232, 92, 154, .18);
}
.admin-brand-title span {
  color: var(--fuchsia);
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
}
.admin-brand-title strong {
  color: var(--ink);
  font-size: 1.05rem;
}
.admin-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 1.6rem;
  cursor: pointer;
}
.admin-shell aside a {
  padding: 11px 12px;
  border-radius: 6px;
  color: var(--ink);
  font-weight: 700;
}
.admin-shell aside a:hover {
  background: rgba(232, 92, 154, .09);
  color: var(--fuchsia);
}
.admin-shell main {
  padding: clamp(24px, 4vw, 48px);
  min-width: 0;
  background: rgba(250, 247, 252, .9);
}
.admin-top {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 18px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(232, 92, 154, .2);
}
.admin-top h2 {
  margin: 2px 0 6px;
  font-size: clamp(1.75rem, 3vw, 2.45rem);
}
.admin-top > div > p:last-child {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
}
.admin-table {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 22px;
}
.admin-table span {
  padding: 14px;
  border-radius: 16px;
  background: var(--cream);
  color: var(--muted);
  font-weight: 700;
}
.admin-demo-panel {
  margin-top: 22px;
  padding: 18px;
  border-radius: 12px;
  background: var(--cream);
}
.cookie-banner {
  position: fixed;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 30;
  display: none;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  width: min(880px, calc(100% - 36px));
  margin: 0 auto;
  padding: 16px;
  border-radius: 12px;
  background: var(--white);
  box-shadow: var(--shadow);
}
.cookie-banner.is-visible { display: grid; }
.cookie-banner p { margin: 0; }
.cookie-banner-actions,
.consent-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.footer-cookie-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.74);
  cursor: pointer;
  font: inherit;
  text-align: left;
}
.footer-cookie-link:hover { color: var(--white); }
.consent-open { overflow: hidden; }
.consent-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 20px;
}
.consent-modal[hidden] { display: none; }
.consent-modal-backdrop { position: absolute; inset: 0; background: rgba(8,9,14,.72); }
.consent-dialog {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: min(88vh, 820px);
  overflow-y: auto;
  padding: clamp(20px, 4vw, 34px);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  background: var(--card-bg);
  color: var(--ink);
  box-shadow: var(--shadow);
}
.consent-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 38px;
  height: 38px;
  border: 1px solid var(--border-color);
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 24px;
}
.consent-categories { display: grid; gap: 10px; margin: 20px 0; }
.consent-categories article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--border-color);
  border-radius: 14px;
}
.consent-categories article p { grid-column: 1; margin: 0; color: var(--muted); }
.consent-categories article input { grid-column: 2; grid-row: 1 / span 2; width: 22px; height: 22px; }
.consent-categories small { display: block; color: var(--muted); }
.privacy-admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 18px 0; }
.privacy-settings-form { margin-bottom: 18px; }
.site-footer {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr) 1.35fr;
  gap: 24px;
  padding: clamp(32px, 6vw, 70px) clamp(18px, 6vw, 84px);
  background: var(--ink);
  color: var(--white);
}
.site-footer p, .site-footer a { color: rgba(255,255,255,.74); }
.site-footer h2 { font-size: 1rem; }
.site-footer div:not(.socials), .site-footer form { display: grid; align-content: start; gap: 8px; }
.footer-logo {
  width: min(210px, 100%);
  border-radius: 12px;
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 14px 34px rgba(255, 255, 255, .08);
}
.footer-logo img { width: 100%; height: auto; object-fit: contain; }
.socials { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.socials .highlight { color: var(--rose); }
.form-note { min-height: 24px; font-weight: 700; color: var(--fuchsia); }
.form-note.is-success { color: #177245; }
.form-note.is-error { color: #b4235f; }

/* Boutique reference styling */
body { background-color: var(--page-bg); font-size: 15px; }
.top-strip {
  height: 34px;
  padding: 0;
  background: linear-gradient(90deg, #E292B9, #F3BDD9);
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  overflow: hidden;
}
.top-strip-track {
  display: flex;
  width: 400%;
  height: 34px;
  will-change: transform;
  animation: topStripSlider 20s cubic-bezier(.65, 0, .35, 1) infinite;
}
.top-strip span {
  position: static;
  flex: 0 0 25%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
.top-strip:hover .top-strip-track { animation-play-state: paused; }
@keyframes topStripSlider {
  0%, 20% { transform: translateX(0); }
  25%, 45% { transform: translateX(-25%); }
  50%, 70% { transform: translateX(-50%); }
  75%, 95% { transform: translateX(-75%); }
  100% { transform: translateX(0); }
}
.site-header {
  position: sticky;
  top: 0;
  min-height: 184px;
  padding: 10px clamp(24px, 3vw, 48px);
  background: rgba(248,243,248,.97);
  box-shadow: 0 8px 26px rgba(36,36,36,.05);
  border-bottom: 0;
}
.brand-logo,
.brand-logo img {
  width: 230px;
  height: 174px;
}
.brand-logo {
  position: relative;
  overflow: hidden;
}
.brand-logo img {
  position: absolute;
  top: -63px;
  left: -80px;
  width: 390px;
  max-width: none;
  height: 390px;
  object-fit: contain;
}
.site-nav { gap: clamp(6px, 1vw, 16px); font-size: .92rem; }
.site-nav a { color: #111; }
.site-nav a.is-active,
body[data-page="home"] .site-nav a[data-nav="home"],
body[data-page="shop"] .site-nav a[data-nav="shop"],
body[data-page="personalize"] .site-nav a[data-nav="personalize"],
body[data-page="finder"] .site-nav a[data-nav="finder"],
body[data-page="blog"] .site-nav a[data-nav="blog"],
body[data-page="about"] .site-nav a[data-nav="about"],
body[data-page="contact"] .site-nav a[data-nav="contact"] {
  position: relative;
  background: transparent !important;
  box-shadow: none !important;
  color: #E85C9A !important;
  transform: none;
}
.site-nav a.is-active::after,
body[data-page="home"] .site-nav a[data-nav="home"]::after,
body[data-page="shop"] .site-nav a[data-nav="shop"]::after,
body[data-page="personalize"] .site-nav a[data-nav="personalize"]::after,
body[data-page="finder"] .site-nav a[data-nav="finder"]::after,
body[data-page="blog"] .site-nav a[data-nav="blog"]::after,
body[data-page="about"] .site-nav a[data-nav="about"]::after,
body[data-page="contact"] .site-nav a[data-nav="contact"]::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 24px;
  height: 2px;
  border-radius: 2px;
  background: #E85C9A;
  transform: translateX(-50%);
}
.header-icons { gap: 10px; }
.icon-only {
  position: relative;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(216, 93, 150, .2);
  background: transparent;
  line-height: 1;
  box-shadow: none;
}
.icon-only .bubble,
.cart-count [data-cart-count] {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 19px;
  height: 19px;
  margin: 0;
  padding: 0 5px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 0;
  background: #E85C9A;
  color: #fff;
  font-size: .66rem;
  line-height: 1;
  font-weight: 800;
  outline: none;
}
.hero {
  position: relative;
  min-height: 550px;
  grid-template-columns: minmax(420px, 1fr) minmax(300px, .72fr);
  gap: clamp(28px, 5vw, 90px);
  padding: 46px clamp(54px, 7vw, 112px) 38px;
  background:
    linear-gradient(90deg, rgba(246,241,250,.92) 0%, rgba(244,238,248,.86) 54%, rgba(248,245,251,.72) 100%),
    url("assets/images/Hintergrund-Light-Neu.png");
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid #E9DEEF;
  overflow: hidden;
}
.hero::before,
.hero::after {
  display: none;
}
.hero-copy { position: relative; z-index: 2; max-width: 650px; }
.hero h1 {
  max-width: 720px;
  font-size: clamp(2.7rem, 4.2vw, 4rem);
  line-height: 1.04;
  font-weight: 800;
}
.hero h1 span {
  display: block;
  color: var(--fuchsia);
  font-family: "Great Vibes", "Allura", "Brittany Signature", "Segoe Script", "Brush Script MT", cursive;
  font-weight: 400;
  font-size: .86em;
  font-style: normal;
}
.hero p { color: var(--muted); font-size: clamp(18px, 1.4vw, 20px); font-weight: 600; }
.hero .btn {
  margin-top: 10px;
  background: #E85C9A;
  color: #FFFFFF;
  border-radius: 12px;
  min-width: 178px;
  padding: 18px 28px;
  box-shadow: 0 12px 24px rgba(238,111,160,.24);
}
.mini-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 26px;
  margin-top: 38px;
  color: #111;
  font-size: .85rem;
  font-weight: 700;
}
.hero-showcase {
  position: relative;
  z-index: 2;
  align-self: stretch;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hero-image {
  width: auto;
  height: min(510px, 58vh);
  min-height: 0;
  max-height: 510px;
  border-radius: 0;
  object-fit: contain;
  object-position: right bottom;
  box-shadow: none;
  filter: none;
}
.hero-arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(248,245,251,.92);
  box-shadow: 0 8px 20px rgba(36,36,36,.09);
  color: #111;
  font-size: 2rem;
}
.hero-arrow.left { left: 46px; }
.hero-arrow.right { right: 46px; }
.hero-dots {
  position: absolute;
  bottom: 22px;
  left: 50%;
  display: flex;
  gap: 10px;
  transform: translateX(-50%);
}
.hero-dots span {
  width: 24px;
  height: 7px;
  border-radius: 99px;
  background: #ddd;
}
.hero-dots span:first-child { background: #ee6fa0; }
.section, .product-grid, .benefit-grid, .community-grid, .newsletter-band {
  width: min(1360px, calc(100% - 96px));
}
.category-grid {
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
}
.category-grid a {
  min-height: 118px;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 16px;
  padding: 22px 26px;
  border: 1px solid #E7DDED;
  border-radius: 10px;
  background: var(--section-bg);
  box-shadow: 0 8px 20px rgba(36,36,36,.08);
}
.category-grid a span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 45% 55% 50% 50%;
  background: linear-gradient(135deg, #fce8f2, #e6f5f5);
  color: #e6689b;
  font-size: 1.8rem;
}
.category-grid strong { font-size: 1rem; }
.category-grid small { color: #111; font-weight: 600; }
.section-head.centered { display: block; text-align: center; margin-bottom: 26px; }
.section-head.centered h2 { font-size: clamp(1.8rem, 3vw, 2.55rem); }
.section-head.centered span { color: var(--fuchsia); }
.product-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}
.product-card {
  position: relative;
  border-radius: 8px;
  box-shadow: none;
  background: transparent;
  overflow: visible;
}
.product-media {
  min-height: 250px;
  border-radius: 8px;
  padding: 18px;
  align-items: end;
  background-size: cover;
  box-shadow: 0 8px 20px rgba(36,36,36,.08);
}
.product-media::before {
  inset: 22px;
  background: rgba(248,245,251,.58);
}
.product-media span {
  max-width: 100%;
  border-radius: 7px;
  background: rgba(248,245,251,.82);
  font-size: .85rem;
}
.product-heart {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(232, 92, 154, .24);
  border-radius: 50%;
  color: #B0B0B0;
  background: rgba(248,245,251,.92);
  font-size: 1.35rem;
  line-height: 1;
}
.product-heart.is-active {
  color: #fff;
  background: #F7A8D7;
  border-color: #F7A8D7;
}
.product-body { padding: 12px 0 0; }
.product-body h3 { margin: 0 0 4px; font-size: .98rem; }
.product-from {
  margin: 0 0 4px;
  color: #111;
  font-weight: 800;
}
.rating {
  margin: 0 0 10px;
  color: #ee6fa0;
  font-size: .82rem;
  letter-spacing: 0;
}
.rating span { color: var(--muted); }
.card-actions { display: none; }
.benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 0 auto clamp(32px, 5vw, 58px);
}
.benefit-grid article {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 20px;
  padding: 26px;
  border-radius: 10px;
  background: linear-gradient(135deg, #F4EEF8, #F8F5FB);
}
.benefit-grid article:nth-child(2) { background: linear-gradient(135deg, #EAF6F7, #F4EEF8); }
.benefit-grid span {
  grid-row: span 2;
  color: var(--fuchsia);
  font-size: 2.2rem;
}
.benefit-grid h3 { margin-bottom: 6px; }
.benefit-grid p { margin: 0; font-size: .9rem; }
.community-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin: 0 auto clamp(32px, 5vw, 58px);
}
.social-card {
  min-height: 190px;
  display: grid;
  align-content: end;
  gap: 8px;
  padding: 24px;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(250,247,252,.88), rgba(244,238,248,.52)),
    linear-gradient(135deg, #fce8f2, #f7d7e2);
  box-shadow: 0 8px 22px rgba(36,36,36,.08);
}
.social-card.instagram { background: linear-gradient(135deg, rgba(250,247,252,.88), rgba(244,238,248,.52)), linear-gradient(135deg, #e6f5f5, #fce8f2); }
.social-card.tiktok { background: linear-gradient(135deg, rgba(250,247,252,.88), rgba(244,238,248,.52)), linear-gradient(135deg, #F8F5FB, #f2d8c8); }
.social-card.facebook { background: linear-gradient(135deg, rgba(250,247,252,.88), rgba(244,238,248,.52)), linear-gradient(135deg, #fce8f2, #f7b7c9); }
.social-card p { margin: 0; font-size: .86rem; color: #111; }
.mint-btn { background: var(--mint); color: #184343; }
.blue-btn { background: #5c9ee7; }
.newsletter-band {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 22px;
  align-items: center;
  margin: 0 auto;
  padding: 24px clamp(18px, 4vw, 42px);
  border-radius: 0;
  background:
    radial-gradient(circle at 0 50%, rgba(242,167,195,.42), transparent 22%),
    linear-gradient(90deg, #F4EEF8, #F8F5FB);
}
.newsletter-band > div {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 18px;
  align-items: center;
}
.newsletter-band span { grid-row: span 2; color: var(--fuchsia); font-size: 2.2rem; }
.newsletter-band h2 { margin: 0; font-size: 1.45rem; }
.newsletter-band p { margin: 0; }
.newsletter-band form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0;
}
.newsletter-band input,
.newsletter-inline input {
  border-radius: 8px 0 0 8px;
  border-color: #f3dce5;
}
.newsletter-band button,
.newsletter-inline button {
  border-radius: 0 8px 8px 0;
}
.newsletter-band strong {
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: var(--mint);
  color: #184343;
  font-size: 1.85rem;
  transform: rotate(-10deg);
}
.newsletter-band small { display: block; font-size: .85rem; }
.site-footer {
  grid-template-columns: 1.35fr repeat(3, 1fr) 1.5fr;
  background: var(--footer-bg);
  color: #111;
  border-top: 1px solid #E2D8EA;
}
.site-footer p, .site-footer a { color: #111; }
.site-footer h2 { color: #111; font-size: 1rem; }
.footer-logo {
  width: 180px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.footer-logo img { width: 100%; height: auto; object-fit: contain; }
@media (min-width: 921px) {
  .site-header {
    padding-left: clamp(18px, 2.4vw, 38px);
    grid-template-columns: 250px minmax(0, 1fr) auto;
    column-gap: clamp(12px, 1.6vw, 24px);
    padding-right: clamp(18px, 2.4vw, 38px);
  }
  .site-header .brand {
    margin-left: 0;
    min-width: 230px;
  }
  .site-header .brand-logo {
    width: 230px;
    height: 215px;
    min-width: 230px;
  }
  .site-header .brand-logo img {
    top: -63px;
    left: -80px;
    width: 390px;
    height: 390px;
    transform: none;
  }
  .site-nav {
    min-width: 0;
    justify-content: center;
    gap: clamp(6px, 1vw, 16px);
  }
  .site-nav a {
    white-space: nowrap;
  }
  .header-icons {
    flex-shrink: 0;
  }
  main .theme-logo {
    display: none;
  }
  .site-footer .footer-logo {
    width: 150px;
    height: 92px;
  }
  .site-footer .footer-logo img {
    width: 150px;
    height: 92px;
    object-fit: contain;
  }
  html[data-theme="dark"] .site-footer .theme-logo-light,
  html[data-theme="light"] .site-footer .theme-logo-dark,
  html[data-theme="dark"] .site-header .theme-logo-light,
  html[data-theme="light"] .site-header .theme-logo-dark {
    display: none;
  }
  html[data-theme="dark"] .site-footer .theme-logo-dark,
  html[data-theme="light"] .site-footer .theme-logo-light,
  html[data-theme="dark"] .site-header .theme-logo-dark,
  html[data-theme="light"] .site-header .theme-logo-light {
    display: block;
  }
}
.newsletter-inline {
  display: grid;
  grid-template-columns: 1fr auto;
}
.site-footer .check-row {
  font-size: .82rem;
  color: var(--muted);
}
.payment-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px;
  padding: 12px clamp(18px, 5vw, 72px);
  background: #f8bfd1;
  color: #111;
  font-weight: 800;
  font-size: .86rem;
}
@media (prefers-color-scheme: dark) {
  :root {
    --page-bg: #151A22;
    --header-bg: #141921;
    --hero-bg: #151A22;
    --section-bg: #23222F;
    --footer-bg: #141921;
    --white: #23222F;
    --cream: #151A22;
    --ink: #FFFFFF;
    --muted: #F4F4F4;
    --line: #3B3542;
    --button-hover: #F06AAA;
  }
  body {
    background-color: var(--page-bg);
    background-image: url("assets/images/Hintergrund-Dark-Neu.png");
    color: var(--ink);
  }
  .top-strip { background: linear-gradient(90deg, #D6538F, #A97395); }
  .site-header { background: rgba(20,25,33,.97); box-shadow: 0 8px 26px rgba(0,0,0,.24); }
  .site-nav a, .category-grid small, .hero p, .mini-trust, .product-from, .social-card p, .site-footer p, .site-footer a, .site-footer h2 { color: var(--ink); }
  .site-nav a:hover,
  .site-nav a.is-active,
  body[data-page="home"] .site-nav a[data-nav="home"],
  body[data-page="shop"] .site-nav a[data-nav="shop"],
  body[data-page="personalize"] .site-nav a[data-nav="personalize"],
  body[data-page="finder"] .site-nav a[data-nav="finder"],
  body[data-page="blog"] .site-nav a[data-nav="blog"],
  body[data-page="about"] .site-nav a[data-nav="about"],
  body[data-page="contact"] .site-nav a[data-nav="contact"] {
    background: rgba(243,167,216,.14);
    color: #F3A7D8;
  }
  .hero {
    background:
      linear-gradient(90deg, rgba(21,26,34,.94) 0%, rgba(20,25,33,.9) 54%, rgba(35,34,47,.78) 100%),
      url("assets/images/Hintergrund-Dark-Neu.png");
    background-size: cover;
    background-position: center;
    border-bottom-color: #302A36;
  }
  .category-grid a,
  .benefit-grid article,
  .newsletter-band,
  .icon-only,
  .menu-toggle,
  .icon-btn,
  .cookie-banner,
  .form-panel,
  .text-flow,
  .data-panel,
  .product-detail,
  .split-band > div,
  .admin-shell aside,
  .admin-shell main {
    background: var(--section-bg);
    border-color: #3B3542;
  }
  .site-footer {
    background: var(--footer-bg);
    border-color: #3B3542;
  }
  .product-media::before,
  .product-media span,
  .product-heart,
  .hero-arrow {
    background: rgba(34,34,40,.86);
    color: var(--ink);
  }
}
html[data-theme="dark"] body {
  background-color: var(--page-bg);
  background-image: url("assets/images/Hintergrund-Dark-Neu.png");
  color: var(--ink);
}
html[data-theme="dark"] .top-strip { background: linear-gradient(90deg, #D6538F, #A97395); }
html[data-theme="dark"] .site-header { background: rgba(20,25,33,.97); box-shadow: 0 8px 26px rgba(0,0,0,.24); }
html[data-theme="dark"] .site-nav a,
html[data-theme="dark"] .category-grid small,
html[data-theme="dark"] .hero p,
html[data-theme="dark"] .mini-trust,
html[data-theme="dark"] .product-from,
html[data-theme="dark"] .social-card p,
html[data-theme="dark"] .site-footer p,
html[data-theme="dark"] .site-footer a,
html[data-theme="dark"] .site-footer h2 {
  color: var(--ink);
}
html[data-theme="dark"] .site-nav a:hover,
html[data-theme="dark"] .site-nav a.is-active,
html[data-theme="dark"] body[data-page="home"] .site-nav a[data-nav="home"],
html[data-theme="dark"] body[data-page="shop"] .site-nav a[data-nav="shop"],
html[data-theme="dark"] body[data-page="personalize"] .site-nav a[data-nav="personalize"],
html[data-theme="dark"] body[data-page="finder"] .site-nav a[data-nav="finder"],
html[data-theme="dark"] body[data-page="blog"] .site-nav a[data-nav="blog"],
html[data-theme="dark"] body[data-page="about"] .site-nav a[data-nav="about"],
html[data-theme="dark"] body[data-page="contact"] .site-nav a[data-nav="contact"] {
  background: rgba(243,167,216,.14);
  color: #F3A7D8;
}
html[data-theme="dark"] .hero {
  background:
    linear-gradient(90deg, rgba(21,26,34,.94) 0%, rgba(20,25,33,.9) 54%, rgba(35,34,47,.78) 100%),
    url("assets/images/Hintergrund-Dark-Neu.png");
  background-size: cover;
  background-position: center;
  border-bottom-color: #302A36;
}
html[data-theme="dark"] .category-grid a,
html[data-theme="dark"] .benefit-grid article,
html[data-theme="dark"] .newsletter-band,
html[data-theme="dark"] .icon-only,
html[data-theme="dark"] .menu-toggle,
html[data-theme="dark"] .icon-btn,
html[data-theme="dark"] .cookie-banner,
html[data-theme="dark"] .form-panel,
html[data-theme="dark"] .text-flow,
html[data-theme="dark"] .data-panel,
html[data-theme="dark"] .product-detail,
html[data-theme="dark"] .split-band > div,
html[data-theme="dark"] .admin-shell aside,
html[data-theme="dark"] .admin-shell main {
  background: var(--section-bg);
  border-color: #3B3542;
}
html[data-theme="dark"] .site-footer {
  background: var(--footer-bg);
  border-color: #3B3542;
}
html[data-theme="dark"] .product-media::before,
html[data-theme="dark"] .product-media span,
html[data-theme="dark"] .product-heart,
html[data-theme="dark"] .hero-arrow {
  background: rgba(34,34,40,.86);
  color: var(--ink);
}
html[data-theme="light"] body {
  background-color: var(--page-bg);
  background-image: url("assets/images/Hintergrund-Light-Neu.png");
  color: var(--ink);
}
html[data-theme="light"] .site-header {
  background: #F4EEF8;
  box-shadow: none;
}
html[data-theme="light"] .theme-icon-light {
  filter: contrast(1.28) saturate(1.12);
}
html[data-theme="light"] .hero {
  background:
    linear-gradient(90deg, rgba(246,241,250,.92) 0%, rgba(251,245,251,.86) 52%, rgba(244,251,251,.72) 100%),
    url("assets/images/Hintergrund-Light-Neu.png");
  background-size: cover;
  background-position: center;
}
@media (max-width: 920px) {
  .site-header { grid-template-columns: auto auto 1fr; }
  .menu-toggle { display: inline-flex; justify-self: start; }
  .site-nav {
    display: none;
    position: absolute;
    left: 18px;
    right: 18px;
    top: 76px;
    padding: 18px;
    border-radius: 12px;
    background: var(--header-bg);
    box-shadow: var(--shadow);
    flex-direction: column;
  }
  .site-nav.is-open { display: flex; }
  .header-icons { gap: 6px; }
  .icon-link { font-size: .76rem; padding: 8px 9px; }
  .account-grid { grid-template-columns: 1fr 1fr; }
  .hero, .product-detail, .split-band, .configurator, .admin-shell, .checkout-grid, .task-board, .checkout-progress { grid-template-columns: 1fr; }
  .product-designer-preview {
    position: relative;
    top: auto;
    order: -1;
    padding: 16px;
  }
  .designer-stage { max-height: 480px; }
  .designer-actions {
    position: sticky;
    bottom: 8px;
    z-index: 4;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: color-mix(in srgb, var(--section-bg) 94%, transparent);
  }
  .designer-actions .btn {
    min-width: 0;
    padding-inline: 14px;
  }
  .hero { min-height: auto; }
  .hero-image { width: min(82vw, 520px); min-height: 300px; border-radius: 0; }
  .category-grid, .product-grid, .toolbar, .finder-grid, .site-footer, .payment-grid, .admin-table, .benefit-grid, .community-grid, .newsletter-band { grid-template-columns: 1fr 1fr; }
  .newsletter-band strong { display: none; }
  .admin-shell aside, .admin-shell main { border-radius: var(--radius); }
}
@media (max-width: 620px) {
  .designer-progress li { font-size: .68rem; }
  .designer-progress span { width: 27px; height: 27px; }
  .designer-step { padding: 14px; }
  .designer-actions { flex-wrap: wrap; }
  .designer-actions [data-designer-submit] { width: 100%; }
  .blog-grid {
    width: min(100% - 28px, 1180px);
    grid-template-columns: 1fr;
  }
  .blog-article { padding: 22px 18px; }
  body {
    background-image: url("assets/images/Hintergrund-Light-Neu.png");
    background-attachment: scroll;
  }
  html[data-theme="dark"] body {
    background-image: url("assets/images/Hintergrund-Dark-Neu.png");
  }
  html[data-theme="light"] body {
    background-image: url("assets/images/Hintergrund-Light-Neu.png");
  }
  .top-strip {
    height: 30px;
    font-size: .76rem;
  }
  .top-strip-track {
    height: 30px;
  }
  .top-strip span {
    padding: 0 12px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .site-header {
    position: sticky;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: auto;
    padding: 26px 16px 18px;
    gap: 0;
    background: rgba(248,243,248,.94);
    backdrop-filter: none;
  }
  html[data-theme="dark"] .site-header { background: rgba(20,25,33,.94); }
  .brand {
    justify-content: center;
    width: 210px;
    min-width: 210px;
    margin: 0 0 20px;
  }
  .brand, .brand-logo, .brand-logo img, .brand-fallback {
    width: 210px;
    min-width: 210px;
    height: 188px;
    min-height: 188px;
    font-size: .82rem;
  }
  .site-header .brand-logo img {
    top: -51px;
    left: -65px;
    width: 340px;
    min-width: 340px;
    height: 340px;
    min-height: 340px;
    transform: none;
  }
  .menu-toggle {
    position: absolute;
    top: 26px;
    right: 24px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ink);
    font-size: 0;
  }
  .menu-toggle::before {
    content: "";
    width: 22px;
    height: 14px;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    box-shadow: 0 6px 0 currentColor;
  }
  html[data-theme="dark"] .menu-toggle,
  html[data-theme="light"] .menu-toggle {
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .site-nav {
    position: fixed;
    top: 30px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 24;
    width: 100vw;
    padding: 78px 24px 28px;
    border-radius: 0;
    background: var(--header-bg);
    box-shadow: -18px 0 44px rgba(0,0,0,.2);
    overflow-y: auto;
    scrollbar-width: none;
  }
  .site-nav::-webkit-scrollbar { display: none; }
  .site-nav a {
    width: 100%;
    justify-content: flex-start;
    padding: 12px 4px;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 55%, transparent);
  }
  .site-nav a::after {
    display: none;
  }
  .menu-toggle {
    z-index: 26;
  }
  .header-icons {
    width: min(100%, 350px);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-items: center;
    gap: 6px;
    padding: 8px 10px;
    border-radius: 16px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
  }
  html[data-theme="dark"] .header-icons {
    background: rgba(35,34,47,.78);
    box-shadow: 0 10px 25px rgba(0,0,0,.35);
  }
  .icon-only {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    padding: 0;
    border-color: #F3BDD9;
    background: transparent;
    box-shadow: none;
  }
  html[data-theme="dark"] .icon-only {
    border-color: #A45E83;
    background: transparent;
  }
  html[data-theme="light"] .icon-only { background: transparent; }
  .account-link.is-customer {
    width: 48px;
    min-width: 48px;
    padding: 0;
  }
  .account-link.is-customer .account-name {
    display: none;
  }
  .account-link.is-customer [data-account-icon] {
    display: grid;
  }
  .theme-icon {
    width: 32px;
    height: 32px;
  }
  .theme-icon img {
    width: 42px;
    height: 42px;
  }
  .icon-only .bubble,
  .cart-count [data-cart-count] {
    top: -4px;
    right: -4px;
    min-width: 20px;
    height: 20px;
    border: 0;
    background: #E85C9A;
    color: #FFFFFF;
    font-size: .76rem;
  }
  h1 { font-size: clamp(40px, 10.5vw, 46px); line-height: 1.05; color: var(--ink); }
  .hero h1 { font-size: clamp(40px, 10.5vw, 46px); line-height: 1.05; }
  .hero h1 span { font-size: clamp(34px, 9vw, 42px); line-height: 1.05; }
  .hero p { font-size: clamp(18px, 4.8vw, 20px); color: var(--muted); }
  .hero .btn { padding: 18px 28px; font-size: 18px; }
  .hero { padding-left: 24px; padding-right: 24px; }
  .hero-arrow { display: none; }
  .mini-trust {
    display: grid;
    gap: 8px;
    margin-top: 24px;
    width: 54%;
    font-size: .78rem;
  }
  .section, .product-grid, .benefit-grid, .community-grid, .newsletter-band { width: min(100% - 28px, 1360px); }
  .trust-strip, .category-grid, .product-grid, .toolbar, .finder-grid, .site-footer, .option-grid, .data-row, .payment-grid, .admin-table, .cookie-banner, .checkout-progress, .benefit-grid, .community-grid, .newsletter-band, .newsletter-band form, .newsletter-band > div { grid-template-columns: 1fr; }
  .account-welcome { display: grid; }
  .account-stats, .account-grid { grid-template-columns: 1fr; }
  .category-grid a { grid-template-columns: auto 1fr; }
  .cart-actions { margin-top: 0; justify-content: stretch; }
  .section-head { display: block; }
  .hero { padding-top: 22px; }
  .hero {
    background:
      linear-gradient(180deg, rgba(248,245,251,.88), rgba(250,247,252,.76)),
      url("assets/images/Hintergrund-Light-Neu.png");
    background-size: cover;
    background-position: center top;
    position: relative;
    min-height: 540px;
    padding-bottom: 130px;
    overflow: hidden;
  }
  html[data-theme="dark"] .hero {
    background:
      linear-gradient(180deg, rgba(22,22,26,.88), rgba(27,27,29,.76)),
      url("assets/images/Hintergrund-Dark-Neu.png");
    background-size: cover;
    background-position: center top;
  }
  html[data-theme="light"] .hero {
    background:
      linear-gradient(180deg, rgba(248,245,251,.88), rgba(250,247,252,.76)),
      url("assets/images/Hintergrund-Light-Neu.png");
    background-size: cover;
    background-position: center top;
  }
  .hero-showcase {
    position: absolute;
    right: -18px;
    bottom: 0;
    z-index: 1;
    width: min(54vw, 220px);
    min-height: 0;
    justify-content: flex-end;
    pointer-events: none;
  }
  .hero-copy { position: relative; z-index: 2; }
  .hero-image {
    width: auto;
    height: 225px;
    min-height: 0;
    max-height: 225px;
    object-fit: contain;
    opacity: 1;
    filter: none;
  }
}

/* New Elvora artwork: strict light/dark separation. */
:root,
html[data-theme="light"] {
  --elvora-page-art: url("assets/images/Hintergrund-Light-Neu.png?v=20260612-3");
  --elvora-product-art: url("assets/images/Produktplatzhalter-Light.png?v=20260612-4");
  --hero-button-art: url("assets/images/hero-button-light.png");
}
html[data-theme="dark"] {
  --elvora-page-art: url("assets/images/Hintergrund-Dark-Neu.png?v=20260612-3");
  --elvora-product-art: url("assets/images/Produktplatzhalter-Dark.png?v=20260612-4");
  --hero-button-art: url("assets/images/hero-button-dark.png");
}
body,
html[data-theme="light"] body,
html[data-theme="dark"] body {
  background-image: var(--elvora-page-art);
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
.theme-art-dark { display: none; }
html[data-theme="dark"] .theme-art-light { display: none; }
html[data-theme="dark"] .theme-art-dark { display: block; }
html[data-theme="light"] .theme-art-light { display: block; }
html[data-theme="light"] .theme-art-dark { display: none; }
.hero {
  display: block;
  width: 100%;
  min-height: 0;
  padding: clamp(18px, 2.5vw, 36px) clamp(18px, 3vw, 48px);
  background: transparent;
  border: 0;
}
html[data-theme="light"] .hero,
html[data-theme="dark"] .hero {
  background: transparent;
  border: 0;
}
.hero-composed {
  display: grid;
  place-items: center;
  width: min(1500px, 100%);
  min-height: 520px;
  margin: 0 auto;
  padding: clamp(32px, 4vw, 64px) clamp(30px, 5vw, 82px) 28px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--page-bg) 56%, transparent);
  box-shadow: 0 18px 46px rgba(23, 19, 34, .14);
  overflow: hidden;
}
.hero[data-live-hero] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.hero-dynamic-art {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-dynamic-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-dots {
  position: absolute;
  right: 24px;
  bottom: 18px;
  display: flex;
  gap: 8px;
}
.hero-dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: rgba(255,255,255,.5);
}
.hero-dots button.is-active {
  background: var(--fuchsia);
}
html[data-theme="dark"] .hero-composed {
  background: rgba(13, 15, 34, .68);
  box-shadow: 0 20px 50px rgba(0, 0, 0, .3);
}
.hero-composed .hero-copy {
  position: relative;
  z-index: 2;
  width: min(100%, 760px);
  text-align: center;
}
.hero-composed h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.2rem, 5.2vw, 5.7rem);
  font-weight: 500;
  line-height: .91;
}
.hero-composed h1 strong {
  display: block;
  color: #B778A5;
  font: inherit;
}
html[data-theme="dark"] .hero-composed h1 strong { color: #E7A7D5; }
.hero-composed h1 span {
  display: block;
  margin-top: 20px;
  color: #C45E9A;
  font-family: "Brittany Signature", "Great Vibes", "Allura", cursive;
  font-size: .48em;
  font-weight: 400;
  line-height: 1.1;
}
html[data-theme="dark"] .hero-composed h1 span { color: #EAA7DD; }
.hero-composed p {
  margin: 4px 0 14px;
  color: var(--ink);
  font-size: clamp(17px, 1.35vw, 21px);
  font-weight: 600;
  line-height: 1.5;
}
.hero-art-button {
  display: grid;
  place-items: center;
  width: min(88%, 340px);
  min-height: 76px;
  margin: 8px auto 0;
  border-radius: 8px;
  background-image: var(--hero-button-art);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 0;
  box-shadow: none;
}
.hero-art-button::before,
.hero-art-button::after {
  content: none;
  display: none;
}
.hero-art-button:focus-visible {
  outline: 3px solid var(--fuchsia);
  outline-offset: 3px;
}
.product-media,
.product-media.rose,
.product-media.mint,
.product-media.cream,
.product-media.fuchsia,
.product-placeholder {
  min-height: 0;
  aspect-ratio: 1;
  padding: 0;
  background-color: var(--section-bg);
  background-image: var(--elvora-product-art) !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.product-media::before,
.product-media span {
  display: none;
}
.product-media.large {
  min-height: 0;
  aspect-ratio: 1;
  border-radius: 8px;
}
.thumbs span {
  background-image: var(--elvora-product-art) !important;
  background-position: center;
  background-size: cover;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --elvora-page-art: url("assets/images/Hintergrund-Dark-Neu.png?v=20260612-3");
    --elvora-product-art: url("assets/images/Produktplatzhalter-Dark.png?v=20260612-4");
    --hero-button-art: url("assets/images/hero-button-dark.png");
  }
}

@media (max-width: 620px) {
  body,
  html[data-theme="light"] body,
  html[data-theme="dark"] body {
    background-image: var(--elvora-page-art);
    background-position: center top;
    background-attachment: scroll;
  }
  .hero {
    min-height: 0;
    padding: 28px 18px 34px;
    background: transparent;
  }
  html[data-theme="light"] .hero,
  html[data-theme="dark"] .hero {
    min-height: 0;
    padding-bottom: 34px;
    background: transparent;
  }
  .hero-composed {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(100%, 480px);
    min-height: 0;
    margin: 0 auto;
    padding: 30px 18px 22px;
    text-align: center;
    border-radius: 8px;
    background: color-mix(in srgb, var(--page-bg) 76%, transparent);
    box-shadow: 0 16px 38px rgba(25, 20, 36, .12);
    backdrop-filter: blur(3px);
  }
  html[data-theme="dark"] .hero-composed {
    background: rgba(15, 16, 34, .76);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .34);
  }
  .hero-composed .hero-copy { text-align: center; }
  .hero-composed h1 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 12vw, 54px);
    font-weight: 500;
    line-height: .94;
  }
  .hero-composed h1 span {
    margin-top: 16px;
    font-family: "Brittany Signature", "Great Vibes", "Allura", cursive;
    font-size: clamp(32px, 9vw, 42px);
    line-height: 1.08;
  }
  .hero-composed p {
    margin: 2px 0 16px;
    font-size: 17px;
    line-height: 1.45;
  }
  .hero-art-button {
    width: min(88%, 320px);
    min-height: 68px;
    margin: 2px auto 14px;
    border-radius: 8px;
  }
  .hero-art-button:focus-visible {
    outline: 3px solid var(--fuchsia);
    outline-offset: 3px;
  }
  .product-media {
    min-height: 0;
    aspect-ratio: 1;
  }
}

/* Keep both logo variants inside the same visual frame. */
.site-header .brand-logo {
  height: 235px;
  min-height: 235px;
  contain: layout paint;
}
.site-footer .footer-logo {
  width: 250px;
  height: auto;
}
.site-footer .footer-logo img {
  width: 250px;
  height: auto;
  object-fit: contain;
}
.admin-nav {
  display: grid;
  gap: 6px;
}
.admin-nav-group {
  border: 1px solid rgba(232,92,154,.16);
  border-radius: 14px;
  background: rgba(255,255,255,.42);
  overflow: hidden;
}
.admin-nav-group summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  cursor: pointer;
  font-weight: 800;
  color: var(--ink);
  list-style: none;
}
.admin-nav-group summary::-webkit-details-marker {
  display: none;
}
.admin-nav-group summary::after {
  content: "▾";
  margin-left: auto;
  color: var(--muted);
  transition: transform .18s ease;
}
.admin-nav-group[open] summary::after {
  transform: rotate(180deg);
}
.admin-nav-group > div {
  display: grid;
  gap: 4px;
  padding: 0 6px 8px;
}
.admin-shell aside .admin-nav-group .admin-nav a,
.admin-shell aside .admin-nav-group a {
  padding: 9px 10px 9px 30px;
  font-size: .88rem;
  font-weight: 650;
}
.admin-placeholder-list {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .75rem;
}
.admin-placeholder-list code {
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 999px;
  padding: .35rem .6rem;
  background: rgba(148, 163, 184, .12);
  font-size: .82rem;
}
html[data-theme="light"] .admin-sidebar {
  border-color: rgba(232, 92, 154, .2);
  background: rgba(248, 243, 248, .96);
  color: #111111;
}
html[data-theme="light"] .admin-shell main {
  background: rgba(250, 247, 252, .9);
}
.admin-shell aside .admin-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--ink);
}
.admin-shell aside .admin-nav small {
  padding: 2px 5px;
  border: 1px solid rgba(232,92,154,.24);
  border-radius: 999px;
  color: var(--muted);
  font-size: .62rem;
  font-weight: 600;
}
.admin-shell aside .admin-nav a:hover,
.admin-shell aside .admin-nav a.is-active {
  background: linear-gradient(90deg, rgba(232,92,154,.14), rgba(88,215,232,.07));
  border-color: rgba(232,92,154,.28);
  color: #C53E7F;
}
.admin-shell aside .admin-nav a.is-active {
  box-shadow: inset 3px 0 0 #E85C9A;
}
.admin-shell aside .admin-store-link {
  margin-top: 12px;
  border-top-color: rgba(232,92,154,.18);
}
.admin-table a {
  display: grid;
  gap: 4px;
  min-height: 82px;
  padding: 14px;
  border: 1px solid rgba(232, 92, 154, .18);
  border-radius: 8px;
  background: var(--cream);
  color: var(--ink);
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.admin-table a:hover {
  transform: translateY(-2px);
  border-color: #E85C9A;
  background: var(--rose-soft);
}
.admin-table a span {
  color: var(--muted);
  font-size: .86rem;
}
.admin-workspace,
.admin-dashboard {
  display: grid;
  gap: 20px;
}
.admin-workspace-hint {
  margin: -6px 0 0;
  color: var(--muted);
}
.admin-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(170px, .45fr) auto;
  gap: 12px;
  align-items: end;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--cream);
}
.admin-toolbar label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 700;
}
.admin-toolbar input,
.admin-toolbar select,
.admin-edit-form input,
.admin-edit-form select,
.admin-edit-form textarea {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--white);
  color: var(--ink);
  font: inherit;
}
.admin-toolbar input,
.admin-toolbar select,
.admin-edit-form input,
.admin-edit-form select {
  padding: 10px 12px;
}
.admin-edit-form textarea {
  padding: 12px;
  resize: vertical;
}
.admin-responsive-table {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}
.admin-responsive-table table,
.admin-panel table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}
.admin-responsive-table th,
.admin-responsive-table td,
.admin-panel th,
.admin-panel td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}
.admin-responsive-table th,
.admin-panel th {
  background: var(--cream);
  color: var(--muted);
  font-size: .76rem;
  text-transform: uppercase;
}
.admin-responsive-table tbody tr:hover {
  background: color-mix(in srgb, var(--rose-soft) 34%, transparent);
}
.admin-responsive-table tr:last-child td,
.admin-panel tr:last-child td {
  border-bottom: 0;
}
.admin-status {
  display: inline-flex;
  max-width: 180px;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb, var(--fuchsia) 34%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--rose-soft) 62%, var(--white));
  color: var(--ink);
  font-size: .78rem;
  font-weight: 700;
}
.admin-edit-button,
.admin-close-button {
  border: 0;
  background: transparent;
  color: var(--fuchsia);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}
.admin-edit-button {
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, var(--fuchsia) 38%, var(--line));
  border-radius: 6px;
}
.admin-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.admin-edit-button.is-danger {
  border-color: #d66a82;
  color: #a82248;
}
.admin-close-button {
  font-size: 1.65rem;
  line-height: 1;
}
.admin-form-panel,
.admin-panel {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 10px 26px rgba(56, 39, 58, .055);
}
.admin-panel-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.admin-panel-heading h3,
.admin-panel-heading p {
  margin: 0;
}
.admin-panel-heading a {
  color: var(--fuchsia);
  font-weight: 700;
}
.admin-edit-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.admin-edit-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 700;
}
.admin-edit-form .admin-field-wide,
.admin-form-actions {
  grid-column: 1 / -1;
}
.admin-edit-form .admin-check {
  display: flex;
  align-items: center;
  align-self: end;
  min-height: 44px;
}
.admin-edit-form .admin-check input {
  width: 18px;
  min-height: 18px;
}
.admin-form-actions {
  display: flex;
  gap: 10px;
}
.product-publication-check {
  grid-column: 1 / -1;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
}
.product-publication-check strong,
.product-publication-check p {
  margin: 0;
}
.product-publication-check p {
  margin-top: 5px;
  color: var(--muted);
}
.product-publication-check.is-ready {
  border-color: #77ad91;
  background: #edf8f1;
  color: #285b3d;
}
.product-publication-check.is-incomplete {
  border-color: #d9a65f;
  background: #fff8e8;
  color: #76511c;
}
html[data-theme="dark"] .product-publication-check.is-ready {
  background: #193027;
  color: #c8f0d8;
}
html[data-theme="dark"] .product-publication-check.is-incomplete {
  background: #342a1c;
  color: #ffe1a8;
}
.admin-notice,
.admin-empty {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.admin-notice.is-success {
  border-color: #77ad91;
  background: #edf8f1;
  color: #285b3d;
}
.admin-notice.is-error {
  border-color: #dc7c9e;
  background: #fff0f5;
  color: #8d2351;
}
.admin-category-return {
  display: flex;
  align-items: center;
  gap: 12px;
}
.admin-category-return span {
  flex: 1;
}
.admin-empty {
  text-align: center;
}
.admin-empty h3,
.admin-empty p {
  margin: 4px 0;
}
.admin-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}
.admin-metrics div,
.admin-metrics > a {
  display: grid;
  gap: 5px;
  padding: 18px;
  border: 1px solid var(--line);
  border-top: 3px solid #E85C9A;
  border-radius: 8px;
  background: rgba(255,255,255,.74);
  box-shadow: 0 8px 22px rgba(56,39,58,.045);
}
.admin-metrics > a {
  color: var(--ink);
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}
.admin-metrics > a:hover {
  transform: translateY(-2px);
  box-shadow: 0 13px 28px rgba(56,39,58,.12);
}
.admin-metrics div:nth-child(3n + 2),
.admin-metrics > a:nth-child(3n + 2) {
  border-top-color: #58D7E8;
}
.admin-metrics div:nth-child(3n),
.admin-metrics > a:nth-child(3n) {
  border-top-color: #B89BF3;
}
.admin-metrics strong {
  font-size: clamp(1.45rem, 3vw, 2.2rem);
}
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 18px;
}
.admin-status-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--cream);
}
.admin-status-strip div {
  display: grid;
  gap: 4px;
}
.admin-status-strip span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}
.admin-period-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.admin-period-nav a {
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  background: var(--white);
  text-decoration: none;
  font-weight: 700;
}
.admin-period-nav a:hover,
.admin-period-nav a.is-active {
  border-color: var(--fuchsia);
  color: var(--fuchsia);
  background: rgba(232, 92, 154, .08);
}
.admin-calculation-summary {
  width: min(560px, 100%);
  margin: 18px 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--cream);
}
.admin-calculation-summary h4 {
  margin: 0 0 12px;
}
.admin-calculation-summary p {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 0;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.admin-calculation-summary .is-total {
  margin-top: 4px;
  border-bottom: 0;
  color: var(--fuchsia);
  font-size: 1.08rem;
}
.admin-status-strip strong.is-live,
.admin-status-strip .is-live {
  color: #23734A;
}
.admin-status-strip strong.is-maintenance,
.admin-status-strip .is-maintenance {
  color: #B1326D;
}
.admin-toggle-grid,
.admin-inline-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.admin-inline-fields {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-switch {
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--white);
  color: var(--ink) !important;
}
.admin-switch input {
  width: 20px;
  min-height: 20px;
}
.admin-help {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: .86rem;
}
.maintenance-preview {
  min-height: 440px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 10px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background-color: #FAF7FC;
  background-position: center;
  background-size: cover;
  text-align: center;
}
.maintenance-preview img {
  width: min(360px, 76%);
  max-height: 230px;
  object-fit: contain;
}
.maintenance-preview h3 {
  margin: 0 0 8px;
  font-size: clamp(1.8rem, 4vw, 3rem);
}
.maintenance-preview p {
  max-width: 580px;
  margin: 0;
  line-height: 1.55;
}
.price-results {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.price-calculator-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pricing-section {
  align-self: start;
}
.pricing-field-grid {
  display: grid;
  gap: 12px;
}
.pricing-personalization {
  grid-column: 1 / -1;
}
.pricing-personalization-components {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 16px 0;
}
.pricing-personalization-component {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--section-bg) 94%, transparent);
  overflow: hidden;
}
.pricing-personalization-component summary {
  padding: 14px 16px;
  color: var(--text);
  font-weight: 800;
  cursor: pointer;
}
.pricing-personalization-component .pricing-field-grid {
  padding: 0 16px 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pricing-machine-rate {
  display: grid;
  max-width: 320px;
  margin: 0 0 16px;
}
.pricing-personalization-results {
  margin-top: 18px;
}
.personalization-live-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--pink-soft) 42%, var(--section-bg));
}
.personalization-live-price strong {
  color: var(--fuchsia);
  font-size: 1.2rem;
}
.admin-price-breakdown {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  line-height: 1.45;
}
.pricing-total-time {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: color-mix(in srgb, var(--section-bg) 92%, transparent);
  color: var(--fuchsia);
  font-weight: 800;
}
.pricing-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.admin-linked-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.product-image-upload {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  margin-bottom: 18px;
}
.product-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
}
.product-image-item {
  display: grid;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}
.product-image-item.is-main {
  border: 2px solid var(--fuchsia);
}
.product-image-item img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  background: var(--cream);
}
.admin-media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
}
.admin-media-card {
  display: grid;
  gap: 11px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}
.admin-media-preview {
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 6px;
  background: var(--cream);
  cursor: pointer;
}
.admin-media-preview img,
.admin-media-editor-preview img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}
.admin-media-card > div:not(.admin-row-actions) {
  display: grid;
  gap: 6px;
}
.admin-media-card small {
  color: var(--muted);
}
.admin-media-editor-preview {
  width: min(520px, 100%);
  margin: 0 auto 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--cream);
}
html[data-theme="dark"] .admin-media-card {
  border-color: #3B3542;
  background: #1B1B22;
}
.price-results div {
  display: grid;
  gap: 7px;
  min-height: 98px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--cream);
}
.price-results span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}
.price-results strong {
  align-self: end;
  font-size: 1.3rem;
}
.admin-simple-list,
.admin-warning-list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.admin-simple-list li,
.admin-warning-list li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--white);
}
.admin-warning-list li {
  justify-content: flex-start;
  border-left: 4px solid var(--fuchsia);
}
.admin-activity-list {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-activity-list li {
  border: 1px solid rgba(216, 92, 158, .16);
  border-radius: 12px;
  background: rgba(255, 255, 255, .72);
  padding: 12px 14px;
}
.admin-activity-list li.is-critical,
.admin-activity-list li.is-error,
.admin-activity-list li.is-warning {
  border-color: rgba(191, 43, 112, .35);
  background: rgba(255, 246, 250, .9);
}
.admin-activity-list strong,
.admin-activity-list span,
.admin-activity-list small {
  display: block;
}
.admin-activity-list span,
.admin-activity-list small {
  color: var(--muted);
  font-size: .9rem;
}
.live-product-media img,
.live-product-media picture {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.stock-note {
  color: var(--muted);
  font-size: .82rem;
}
.shop-empty-state {
  grid-column: 1 / -1;
  width: min(760px, 100%);
  margin: 18px auto;
  padding: clamp(28px, 6vw, 56px);
  border: 1px solid color-mix(in srgb, var(--fuchsia) 28%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--section-bg) 88%, transparent);
  text-align: center;
}
.shop-empty-state.compact {
  padding: 20px;
}
.shop-empty-state h1,
.shop-empty-state h2,
.shop-empty-state p {
  margin-top: 0;
}
.shop-empty-state p {
  color: var(--muted);
}

.shop-category-browser,
.catalog-product-section {
  width: min(100% - 48px, 1360px);
  margin: 0 auto 34px;
}

.shop-category-browser header {
  max-width: 760px;
  margin: 18px 0 24px;
}

.shop-category-browser header h1,
.catalog-product-section > h2 {
  margin: 0 0 10px;
}

.shop-category-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  font-size: .9rem;
}

.shop-category-breadcrumb a {
  color: var(--fuchsia);
  font-weight: 700;
}

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

.shop-category-card {
  min-height: 112px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--fuchsia) 28%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--section-bg) 92%, transparent);
  color: var(--ink);
}

.shop-category-card:hover {
  border-color: var(--fuchsia);
  transform: translateY(-2px);
}

.shop-category-card > img,
.shop-category-card > span:first-child {
  width: 58px;
  height: 58px;
  object-fit: contain;
  display: grid;
  place-items: center;
  font-size: 1.6rem;
}

.shop-category-card strong,
.shop-category-card small {
  display: block;
}

.shop-category-card small {
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.35;
}

.admin-edit-form select[multiple] {
  min-height: 180px;
  padding: 8px;
}

@media (max-width: 900px) {
  .shop-subcategory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .shop-category-browser,
  .catalog-product-section {
    width: min(100% - 28px, 1360px);
  }

  .shop-subcategory-grid {
    grid-template-columns: 1fr;
  }
}
.admin-planned {
  padding: clamp(24px, 5vw, 52px);
  border: 1px dashed color-mix(in srgb, var(--fuchsia) 52%, var(--line));
  border-radius: 8px;
  background: var(--cream);
}
.admin-plan-badge {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--rose-soft);
  color: var(--fuchsia);
  font-size: .76rem;
  font-weight: 700;
}
.admin-panel table {
  table-layout: fixed;
}
.admin-panel td {
  overflow-wrap: anywhere;
}
html[data-theme="dark"] .admin-toolbar,
html[data-theme="dark"] .admin-form-panel,
html[data-theme="dark"] .admin-panel,
html[data-theme="dark"] .admin-responsive-table,
html[data-theme="dark"] .admin-responsive-table th,
html[data-theme="dark"] .admin-panel th,
html[data-theme="dark"] .admin-toolbar input,
html[data-theme="dark"] .admin-toolbar select,
html[data-theme="dark"] .admin-edit-form input,
html[data-theme="dark"] .admin-edit-form select,
html[data-theme="dark"] .admin-edit-form textarea {
  background: #23222F;
  border-color: #3B3542;
  color: #FFFFFF;
}
html[data-theme="dark"] .admin-form-panel,
html[data-theme="dark"] .admin-panel,
html[data-theme="dark"] .admin-metrics div {
  box-shadow: 0 12px 30px rgba(0,0,0,.2);
}
html[data-theme="dark"] .admin-status-strip,
html[data-theme="dark"] .admin-switch,
html[data-theme="dark"] .price-results div,
html[data-theme="dark"] .admin-planned {
  background: #23222F;
  border-color: #3B3542;
  color: #FFFFFF;
}
html[data-theme="dark"] .admin-status {
  background: rgba(232,92,154,.14);
  color: #FFFFFF;
}
html[data-theme="dark"] .admin-simple-list li,
html[data-theme="dark"] .admin-warning-list li {
  background: #1B1B22;
  border-color: #3B3542;
}
html[data-theme="dark"] body[data-page="admin"] {
  background-color: #151A22;
  background-image:
    linear-gradient(rgba(21,26,34,.9), rgba(21,26,34,.9)),
    url("assets/images/Hintergrund-Dark-Neu.png");
}
html[data-theme="dark"] .admin-shell {
  border-color: #3B3542;
  background: rgba(27, 27, 34, .94);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .38);
}
html[data-theme="dark"] .admin-shell aside {
  border-color: #3B3542;
  background: rgba(20, 25, 33, .96);
  color: #FFFFFF;
}
html[data-theme="dark"] .admin-nav-group {
  background: rgba(255,255,255,.035);
  border-color: #3B3542;
}
html[data-theme="dark"] .admin-nav-group summary {
  color: #FFFFFF;
}
html[data-theme="dark"] .admin-shell main {
  background: rgba(27, 27, 34, .92);
}
html[data-theme="dark"] .admin-brand-title {
  border-color: #3B3542;
}
html[data-theme="dark"] .admin-brand-title strong,
html[data-theme="dark"] .admin-menu-toggle,
html[data-theme="dark"] .admin-shell aside .admin-nav a {
  color: #FFFFFF;
}
html[data-theme="dark"] .admin-shell aside .admin-nav a:hover,
html[data-theme="dark"] .admin-shell aside .admin-nav a.is-active {
  background: linear-gradient(90deg, rgba(232,92,154,.18), rgba(88,215,232,.08));
  border-color: rgba(243,167,216,.34);
  color: #F3BDD9;
}
html[data-theme="dark"] .admin-top {
  border-color: #3B3542;
}
.hero-composed h1 {
  line-height: 1;
}
.hero-composed h1 span {
  margin-bottom: 26px;
  line-height: 1.3;
}
.hero-composed p {
  margin-top: 0;
}
.site-header .brand-logo img {
  max-width: none;
  transform-origin: center;
}
html[data-theme="light"] .site-header .theme-logo-dark,
html[data-theme="dark"] .site-header .theme-logo-light {
  display: none !important;
}
html[data-theme="light"] .site-header .theme-logo-light,
html[data-theme="dark"] .site-header .theme-logo-dark {
  display: block !important;
}
html[data-theme="light"] .site-header .brand-logo .theme-logo-light {
  top: -64px;
  left: -80px;
  width: 390px;
  height: 390px;
}
html[data-theme="dark"] .site-header .brand-logo .theme-logo-dark {
  top: -58px;
  left: -80px;
  width: 390px;
  height: 390px;
}
.header-icons .theme-icon,
.header-icons .theme-icon img {
  position: relative;
  inset: auto;
  width: 28px;
  min-width: 28px;
  height: 28px;
  min-height: 28px;
  max-width: 28px;
  max-height: 28px;
  object-fit: contain;
}

@media (max-width: 620px) {
  .site-footer .footer-logo {
    width: 230px;
    height: auto;
  }
  .site-footer .footer-logo img {
    width: 230px;
    height: auto;
    object-fit: contain;
  }
  .admin-shell aside {
    padding: 12px 14px;
  }
  .admin-nav {
    grid-template-columns: 1fr;
  }
  .admin-shell aside .admin-nav a {
    min-width: 0;
    padding: 10px;
    text-align: center;
  }
  .admin-shell aside .admin-store-link {
    grid-column: auto;
  }
  .admin-toolbar,
  .admin-edit-form,
  .admin-dashboard-grid,
  .admin-metrics,
  .admin-inline-fields,
  .admin-toggle-grid,
  .price-results,
  .pricing-personalization-components,
  .pricing-personalization-component .pricing-field-grid {
    grid-template-columns: 1fr;
  }
  .admin-status-strip {
    align-items: stretch;
    flex-direction: column;
  }
  .maintenance-preview {
    min-height: 360px;
    padding: 20px 14px;
  }
  .admin-toolbar .btn {
    width: 100%;
  }
  .admin-responsive-table {
    border: 0;
    overflow: visible;
    background: transparent;
  }
  .admin-responsive-table table,
  .admin-responsive-table thead,
  .admin-responsive-table tbody,
  .admin-responsive-table tr,
  .admin-responsive-table th,
  .admin-responsive-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .admin-responsive-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
  .admin-responsive-table tbody {
    display: grid;
    gap: 12px;
  }
  .admin-responsive-table tr {
    padding: 10px 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
  }
  html[data-theme="dark"] .admin-responsive-table tr {
    background: #23222F;
    border-color: #3B3542;
  }
  .admin-responsive-table td {
    display: grid;
    grid-template-columns: minmax(105px, .8fr) 1.2fr;
    gap: 10px;
    padding: 9px 0;
    overflow-wrap: anywhere;
  }
  .admin-responsive-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .76rem;
    font-weight: 700;
    text-transform: uppercase;
  }
  .admin-responsive-table td:last-child {
    border-bottom: 0;
  }
  .hero-composed h1 {
    line-height: 1;
  }
  .hero-composed h1 span {
    margin-bottom: 30px;
    line-height: 1.35;
  }
  .hero-composed p {
    margin-top: 0;
  }
  .site-header .brand,
  .site-header .brand-logo {
    height: 215px;
    min-height: 215px;
  }
  html[data-theme="light"] .site-header .brand-logo .theme-logo-light {
    top: -52px;
    left: -65px;
    width: 340px;
    height: 340px;
  }
  html[data-theme="dark"] .site-header .brand-logo .theme-logo-dark {
    top: -47px;
    left: -65px;
    width: 340px;
    height: 340px;
  }
  .header-icons .theme-icon,
  .header-icons .theme-icon img {
    width: 26px;
    min-width: 26px;
    height: 26px;
    min-height: 26px;
    max-width: 26px;
    max-height: 26px;
  }
}

@media (max-width: 920px) {
  body[data-page="admin"] > main {
    padding: 10px;
  }
  .admin-shell {
    grid-template-columns: 1fr;
    border-radius: 8px;
  }
  .admin-sidebar {
    position: relative;
    padding: 12px 16px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(232,92,154,.2);
    border-radius: 0 !important;
  }
  .admin-brand-row {
    display: flex;
    justify-content: space-between;
    min-height: 76px;
  }
  .admin-brand {
    width: 160px;
    justify-items: start;
  }
  .admin-brand img {
    max-height: 76px;
  }
  .admin-brand-title {
    display: none;
  }
  .admin-menu-toggle {
    display: grid;
    place-items: center;
  }
  .admin-sidebar .admin-nav {
    display: none;
    max-height: min(62vh, 520px);
    overflow-y: auto;
    padding: 10px 0 2px;
  }
  .admin-sidebar.is-open .admin-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-sidebar.is-open .admin-menu-toggle {
    color: var(--fuchsia);
  }
  .admin-shell main {
    padding: clamp(20px, 5vw, 34px);
    border-radius: 0 !important;
  }
}

@media (max-width: 620px) {
  .admin-category-return {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-sidebar.is-open .admin-nav {
    grid-template-columns: 1fr;
  }
  .admin-top {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-top .btn {
    width: 100%;
  }
}

.service-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}
.service-link-grid a {
  display: grid;
  gap: 5px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--fuchsia) 28%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--section-bg) 82%, transparent);
}
.service-link-grid a:hover {
  border-color: var(--fuchsia);
}
.service-link-grid span {
  color: var(--muted);
  font-size: .92rem;
}
@media (max-width: 620px) {
  .service-link-grid {
    grid-template-columns: 1fr;
  }
}
.admin-business-chart{display:grid;gap:12px}
.admin-business-chart-row{display:grid;grid-template-columns:minmax(90px,130px) 1fr;gap:6px 12px;align-items:center}
.admin-business-chart-row strong{grid-row:1 / span 2}
.admin-business-chart-row span{display:block;min-height:12px;border-radius:4px}
.admin-business-chart-row .is-revenue{background:#58d7e8}
.admin-business-chart-row .is-expense{background:#e85c9a}
/* Role and permission editor */
.admin-role-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.admin-role-card {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--section-bg);
}
.admin-role-card header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}
.admin-role-card header div { display: grid; gap: 2px; }
.admin-role-card small { color: var(--muted); }
.admin-permission-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 12px;
}
.admin-permission-check {
  display: flex;
  align-items: start;
  gap: 8px;
  font-size: .88rem;
  font-weight: 650;
}
.admin-permission-check input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
}
.admin-permission-check.is-locked { opacity: .72; }

@media (max-width: 760px) {
  .admin-role-grid,
  .admin-permission-list { grid-template-columns: 1fr; }
}

/* Database-driven storefront design */
body:not([data-page="admin"]) {
  font-family: var(--global-font, var(--body-font));
  background-color: var(--page-bg);
}
body:not([data-page="admin"]) h1,
body:not([data-page="admin"]) h2,
body:not([data-page="admin"]) h3 {
  font-family: var(--heading-font);
}
body:not([data-page="admin"]) a:not(.btn) { color: var(--link-color, inherit); }
body:not([data-page="admin"]) .btn {
  padding: var(--button-padding-y, 14px) var(--button-padding-x, 24px);
  border: 1px solid var(--button-border, transparent);
  border-radius: var(--button-radius, 12px);
  background: var(--button-bg, var(--fuchsia));
  color: var(--button-text, #fff);
  font-family: var(--button-font, var(--body-font));
  font-size: var(--button-size-desktop, 16px);
}
body:not([data-page="admin"]) .btn:hover { background: var(--button-hover, #D94D8D); }

.content-page-shell {
  width: min(960px, calc(100% - 32px));
  margin: 32px auto 44px;
}
.content-page-shell.compact-content { margin-bottom: 24px; }
.content-page-shell .text-flow { margin: 0; }
.content-page-image {
  margin: 0 0 28px;
  overflow: hidden;
  border-radius: 12px;
  background: rgba(255,255,255,.65);
}
.content-page-image img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
}
.faq-list {
  width: min(900px, calc(100% - 32px));
  margin: 24px auto 52px;
}
.faq-list > h2 { margin: 34px 0 14px; }
.faq-item {
  margin: 0 0 12px;
  padding: 0 20px;
  border: 1px solid rgba(216,92,158,.24);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
}
.faq-item summary {
  padding: 18px 32px 18px 0;
  cursor: pointer;
  font-weight: 700;
}
.faq-item p { margin: 0; padding: 0 0 20px; }
.simple-footer {
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin-top: 48px;
}
.content-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}
.content-editor-toolbar button {
  padding: 8px 12px;
  border: 1px solid rgba(216,92,158,.28);
  border-radius: 999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
}
.content-editor-preview {
  min-height: 120px;
  margin-top: 12px;
  padding: 18px;
  border: 1px dashed rgba(216,92,158,.35);
  border-radius: 14px;
}
.support-filter-grid {
  display: grid;
  grid-template-columns: minmax(240px, 2fr) repeat(3, minmax(145px, 1fr));
  gap: 12px;
  align-items: end;
  margin: 18px 0;
}
.support-filter-grid label { display: grid; gap: 6px; font-weight: 700; }
.support-filter-grid input,
.support-filter-grid select { width: 100%; }
.support-summary { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 18px; }
.support-summary span {
  padding: 8px 12px;
  border: 1px solid var(--border-color);
  border-radius: 999px;
  background: var(--card-bg);
}
.support-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  gap: 18px;
  margin-bottom: 18px;
}
.support-ticket-message .text-flow { margin-top: 18px; }
.support-status-form {
  grid-template-columns: 1fr;
  align-content: start;
}
.support-status-form h3,
.support-status-form button,
.support-status-form .form-note { grid-column: 1 / -1; }
.support-status-form label { display: grid; gap: 6px; }
.support-status-form select { width: 100%; min-height: 48px; }
.support-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}
.support-facts div { padding: 10px; border: 1px solid var(--border-color); border-radius: 12px; }
.support-facts dt { color: var(--muted); font-size: .8rem; }
.support-facts dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.support-timeline { display: grid; gap: 10px; }
.support-timeline article {
  padding: 12px;
  border-left: 3px solid var(--fuchsia);
  border-radius: 0 12px 12px 0;
  background: color-mix(in srgb, var(--card-bg) 88%, var(--fuchsia) 12%);
}
.support-timeline article small { display: block; color: var(--muted); margin-top: 2px; }
.support-timeline article p { margin: 8px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.support-template-form { margin-bottom: 22px; }
.admin-status.priority-urgent { background: #8f173f; color: #fff; }
.admin-status.priority-high { background: #c85c22; color: #fff; }
html[data-theme="dark"] .faq-item,
html[data-theme="dark"] .content-page-image { background: rgba(30,25,32,.75); }
@media (max-width: 700px) {
  .content-page-shell,.faq-list { width: min(100% - 24px, 960px); }
  .finder-grid { grid-template-columns: 1fr; }
  .simple-footer { grid-template-columns: 1fr; }
  .support-filter-grid,
  .support-detail-grid,
  .support-facts { grid-template-columns: 1fr; }
  .support-detail-grid .admin-panel { min-width: 0; }
  .cookie-banner {
    left: 10px;
    right: 10px;
    bottom: 10px;
    width: calc(100% - 20px);
    max-height: 70vh;
    overflow-y: auto;
    grid-template-columns: 1fr;
    border-radius: 16px;
  }
  .cookie-banner-actions,
  .consent-actions { justify-content: stretch; }
  .cookie-banner-actions .btn,
  .consent-actions .btn { flex: 1 1 100%; }
  .consent-modal { padding: 10px; align-items: end; }
  .consent-dialog { max-height: 92vh; border-radius: 18px 18px 0 0; }
  .consent-categories article { grid-template-columns: minmax(0, 1fr) auto; }
  .privacy-admin-grid { grid-template-columns: 1fr; }
}
.hero-composed h1 {
  font-family: var(--hero-title-font, var(--heading-font));
  font-size: var(--hero-title-desktop, 64px);
  color: var(--hero-title-color, var(--ink));
}
.hero-composed p {
  color: var(--hero-subtitle-color, var(--muted));
  font-size: var(--hero-subtitle-desktop, 22px);
}
.section-head h2 {
  color: var(--slider-title-color, var(--ink));
  font-size: var(--section-title-desktop, 34px);
}
.product-card,
.product-card h2,
.product-card h3 { font-family: var(--product-font, var(--body-font)); }
.product-card h2,
.product-card h3,
.product-card .product-name {
  color: var(--product-name-color, var(--ink));
  font-size: var(--product-name-desktop, 17px);
}
.product-card .price,
.product-card .price-row strong {
  color: var(--product-price-color, var(--ink));
  font-size: var(--product-price-desktop, 16px);
}
.site-footer {
  font-size: var(--footer-size-desktop, 15px);
}
.site-footer h2 { font-family: var(--footer-title-font, var(--heading-font)); }
.site-footer h2 { color: var(--footer-title-color, var(--ink)); }
.site-footer p,
.site-footer a { color: var(--footer-text-color, var(--muted)); }
.newsletter-band,
.newsletter-form { font-size: var(--newsletter-size-desktop, 18px); }
.newsletter-band h2,
.newsletter-form h2 { color: var(--newsletter-title-color, var(--ink)); }
.newsletter-band p,
.newsletter-form p { color: var(--newsletter-text-color, var(--muted)); }
.maintenance-page,
.maintenance-preview { font-size: var(--maintenance-size-desktop, 20px); }
.maintenance-page h1,
.maintenance-page h2,
.maintenance-preview h3 { color: var(--maintenance-title-color, var(--ink)); }
.maintenance-page p,
.maintenance-preview p { color: var(--maintenance-text-color, var(--muted)); }

@media (max-width: 920px) {
  body:not([data-page="admin"]) .btn { font-size: var(--button-size-tablet, 16px); }
  .hero-composed h1 { font-size: var(--hero-title-tablet, 52px); }
  .hero-composed p { font-size: var(--hero-subtitle-tablet, 20px); }
  .section-head h2 { font-size: var(--section-title-tablet, 30px); }
  .product-card h2,
  .product-card h3,
  .product-card .product-name { font-size: var(--product-name-tablet, 16px); }
  .product-card .price,
  .product-card .price-row strong { font-size: var(--product-price-tablet, 16px); }
  .site-footer { font-size: var(--footer-size-tablet, 15px); }
  .newsletter-band,
  .newsletter-form { font-size: var(--newsletter-size-tablet, 17px); }
  .maintenance-page,
  .maintenance-preview { font-size: var(--maintenance-size-tablet, 19px); }
}
@media (max-width: 620px) {
  body:not([data-page="admin"]) .btn { font-size: var(--button-size-mobile, 15px); }
  .hero-composed h1 { font-size: var(--hero-title-mobile, 44px); }
  .hero-composed p { font-size: var(--hero-subtitle-mobile, 18px); }
  .section-head h2 { font-size: var(--section-title-mobile, 27px); }
  .product-card h2,
  .product-card h3,
  .product-card .product-name { font-size: var(--product-name-mobile, 15px); }
  .product-card .price,
  .product-card .price-row strong { font-size: var(--product-price-mobile, 15px); }
  .site-footer { font-size: var(--footer-size-mobile, 14px); }
  .newsletter-band,
  .newsletter-form { font-size: var(--newsletter-size-mobile, 16px); }
  .maintenance-page,
  .maintenance-preview { font-size: var(--maintenance-size-mobile, 17px); }
}

/* Design and homepage editor */
.admin-design-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--section-bg);
}
.admin-segmented {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 7px;
}
.admin-segmented button {
  min-height: 38px;
  padding: 8px 13px;
  border: 0;
  border-right: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}
.admin-segmented button:last-child { border-right: 0; }
.admin-segmented button.is-active {
  background: var(--fuchsia);
  color: #fff;
}
.admin-design-toolbar > a { margin-left: auto; }
.admin-design-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  gap: 22px;
  align-items: start;
}
.admin-design-form { display: grid; gap: 14px; }
.admin-design-form details {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--section-bg) 94%, transparent);
}
.admin-design-form summary {
  padding: 16px 18px;
  color: var(--ink);
  cursor: pointer;
  font-weight: 800;
}
.admin-design-form details[open] summary { border-bottom: 1px solid var(--line); }
.admin-design-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}
.admin-design-fields label,
.admin-theme-colors label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 700;
}
.admin-design-fields input,
.admin-design-fields select,
.admin-design-fields textarea,
.admin-size-table input,
.admin-theme-colors input {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--white);
  color: var(--ink);
  font: inherit;
}
.admin-design-fields textarea { resize: vertical; }
.admin-design-fields .admin-field-wide { grid-column: 1 / -1; }
.admin-design-fields .admin-check {
  display: flex;
  align-items: center;
  gap: 8px;
}
.admin-design-fields .admin-check input {
  width: 18px;
  min-height: 18px;
}
.admin-inline-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.admin-inline-links a { color: var(--fuchsia); font-weight: 700; }
.admin-size-table { display: grid; padding: 18px; }
.admin-size-table > div {
  display: grid;
  grid-template-columns: minmax(150px, 1.35fr) repeat(3, minmax(70px, .7fr));
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.admin-size-table > div:last-child { border-bottom: 0; }
.admin-size-head {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}
.admin-theme-colors {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 18px;
}
.admin-theme-colors fieldset {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.admin-theme-colors legend { padding: 0 7px; font-weight: 800; }
.admin-theme-colors input[type="color"] { padding: 4px; }
.admin-design-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.admin-action-link {
  display: grid;
  gap: 5px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--fuchsia) 32%, var(--line));
  border-radius: 8px;
  background: var(--white);
}
.admin-action-link span { color: var(--muted); font-size: .88rem; }
.admin-design-actions {
  position: sticky;
  bottom: 12px;
  z-index: 4;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--section-bg) 94%, transparent);
  backdrop-filter: blur(12px);
}
.admin-design-preview-wrap {
  position: sticky;
  top: 20px;
  display: grid;
  justify-items: center;
  min-height: 600px;
  padding: 18px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--cream) 82%, transparent);
}
.admin-design-preview-frame {
  --preview-bg: #F9F7FA;
  --preview-card: #FFFFFF;
  --preview-border: #F3BDD9;
  --preview-text: #111111;
  --preview-muted: #1F1F1F;
  --preview-accent: #E85C9A;
  --preview-hero-title: #111111;
  --preview-hero-subtitle: #1F1F1F;
  --preview-section-title: #111111;
  --preview-newsletter-title: #111111;
  --preview-newsletter-text: #1F1F1F;
  --preview-footer-title: #111111;
  --preview-footer-text: #1F1F1F;
  --preview-button: #E85C9A;
  --preview-button-text: #FFFFFF;
  --preview-button-border: #E85C9A;
  --preview-button-radius: 12px;
  --preview-heading-font: "Montserrat", sans-serif;
  --preview-body-font: "Poppins", sans-serif;
  --preview-hero-font: "Montserrat", sans-serif;
  --preview-button-font: "Poppins", sans-serif;
  width: 100%;
  max-width: 720px;
  overflow: hidden;
  border: 1px solid var(--preview-border);
  border-radius: 8px;
  background: var(--preview-bg);
  color: var(--preview-text);
  font-family: var(--preview-body-font);
  box-shadow: 0 16px 40px rgba(37, 27, 39, .14);
  transition: width .25s ease;
}
.admin-design-preview-frame.is-tablet { width: min(100%, 540px); }
.admin-design-preview-frame.is-mobile { width: min(100%, 330px); }
.design-preview-strip {
  padding: 6px 12px;
  background: linear-gradient(90deg, var(--preview-accent), color-mix(in srgb, var(--preview-accent) 55%, #fff));
  color: #fff;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
}
.design-preview-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 90px;
  padding: 8px 20px;
}
.design-preview-header img { width: 150px; max-height: 78px; object-fit: contain; }
.design-preview-icons {
  display: flex;
  justify-content: center;
  gap: 13px;
  padding: 10px;
  border-block: 1px solid var(--preview-border);
  background: color-mix(in srgb, var(--preview-card) 88%, transparent);
}
.design-preview-icons i {
  width: 25px;
  height: 25px;
  border: 1px solid var(--preview-border);
  border-radius: 50%;
}
.design-preview-hero {
  display: grid;
  align-items: center;
  min-height: 260px;
  padding: 34px;
  background: linear-gradient(135deg, var(--preview-card), var(--preview-bg));
  background-position: center;
  background-size: cover;
}
.design-preview-hero h3 {
  max-width: 560px;
  margin: 0 0 12px;
  color: var(--preview-hero-title);
  font-family: var(--preview-hero-font);
  font-size: min(var(--preview-title-size), 46px);
  line-height: 1.04;
}
.design-preview-hero p {
  color: var(--preview-hero-subtitle);
  font-size: min(var(--preview-subtitle-size), 22px);
}
.design-preview-hero button {
  padding: 10px 18px;
  border: 1px solid var(--preview-button-border);
  border-radius: var(--preview-button-radius);
  background: var(--preview-button);
  color: var(--preview-button-text);
  font-family: var(--preview-button-font);
  font-size: var(--preview-button-size);
  font-weight: 700;
}
.design-preview-section { padding: 24px; }
.design-preview-section h4 {
  color: var(--preview-section-title);
  font-family: var(--preview-heading-font);
  font-size: min(var(--preview-section-size), 30px);
  text-align: center;
}
.design-preview-section > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.design-preview-section > div span {
  aspect-ratio: 4 / 3;
  border: 1px solid var(--preview-border);
  border-radius: 6px;
  background: var(--preview-card);
}
.design-preview-newsletter,
.design-preview-footer {
  padding: 18px 24px;
  border-top: 1px solid var(--preview-border);
  background: var(--preview-card);
}
.design-preview-newsletter p,
.design-preview-footer p { margin: 5px 0 0; }
.design-preview-newsletter strong { color: var(--preview-newsletter-title); }
.design-preview-newsletter p { color: var(--preview-newsletter-text); }
.design-preview-footer strong { color: var(--preview-footer-title); font-family: var(--preview-heading-font); }
.design-preview-footer p { color: var(--preview-footer-text); }
.admin-design-preview-frame.is-mobile .design-preview-header { min-height: 74px; }
.admin-design-preview-frame.is-mobile .design-preview-header img { width: 120px; }
.admin-design-preview-frame.is-mobile .design-preview-hero { min-height: 230px; padding: 24px 18px; text-align: center; }
.admin-design-preview-frame.is-mobile .design-preview-section > div { grid-template-columns: 1fr 1fr; }
.admin-design-preview-frame.is-mobile .design-preview-section > div span:last-child { display: none; }

@media (max-width: 1180px) {
  .admin-design-layout { grid-template-columns: 1fr; }
  .admin-design-preview-wrap { position: relative; top: auto; order: -1; min-height: 0; }
}
@media (max-width: 620px) {
  .admin-design-toolbar { align-items: stretch; }
  .admin-design-toolbar > a { width: 100%; margin-left: 0; }
  .admin-segmented { flex: 1; }
  .admin-segmented button { flex: 1; padding-inline: 8px; }
  .admin-design-fields,
  .admin-theme-colors,
  .admin-design-link-grid { grid-template-columns: 1fr; }
  .admin-theme-colors fieldset { grid-template-columns: 1fr 1fr; }
  .admin-size-table { overflow-x: auto; }
  .admin-size-table > div { min-width: 510px; }
  .admin-design-actions { position: static; flex-direction: column; }
  .admin-design-actions .btn { width: 100%; }
  .admin-design-preview-wrap { padding: 10px; }
}

/* Block D: unified product-card actions and cart feedback */
.product-card .card-actions {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: auto;
}
.product-card .card-actions .btn {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
}
.product-card .btn.is-sold-out,
.product-actions .btn.is-sold-out {
  border-color: var(--border-color, var(--line));
  background: color-mix(in srgb, var(--muted) 18%, var(--card-bg, var(--white)));
  color: var(--muted);
  box-shadow: none;
  cursor: not-allowed;
}
.product-personalization-note {
  margin: 18px 0;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--fuchsia) 34%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--rose-soft) 60%, transparent);
}
.product-personalization-note p { margin: 4px 0 0; }
.shop-toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 500;
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: min(440px, calc(100vw - 32px));
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card-bg, var(--white));
  color: var(--ink);
  box-shadow: 0 16px 42px rgba(25, 23, 30, .2);
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px);
  transition: opacity .2s ease, transform .2s ease;
}
.shop-toast.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.shop-toast.is-success { border-color: #68a887; }
.shop-toast.is-error { border-color: #cf5b78; }
.shop-toast a {
  color: var(--fuchsia);
  font-weight: 800;
  white-space: nowrap;
}
.favorite-login-toast {
  display: grid;
  gap: 10px;
}
.favorite-login-toast > div {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.favorite-login-toast a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 0 14px;
  border: 1px solid var(--fuchsia);
  border-radius: 7px;
}
.favorite-login-toast a:first-child {
  background: var(--fuchsia);
  color: #fff;
}
.favorites-page-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}
.favorites-page-head h2,
.favorites-page-head p { margin: 0; }
.favorites-page-head > a {
  color: var(--fuchsia);
  font-weight: 800;
}
.favorites-product-grid {
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.favorite-product-card .product-body {
  display: grid;
  align-content: start;
}
.favorite-product-hint {
  display: inline-flex;
  justify-self: start;
  margin: 5px 0;
  padding: 4px 7px;
  border-radius: 5px;
  background: color-mix(in srgb, var(--fuchsia) 10%, transparent);
  color: var(--ink);
  font-size: .76rem;
  font-weight: 700;
}
.favorite-card-links {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}
.favorite-card-links a,
.favorite-card-links button {
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--link-color, var(--fuchsia));
  cursor: pointer;
  font: 700 .82rem var(--body-font);
}
.favorites-empty {
  display: grid;
  justify-items: center;
  min-height: 280px;
  align-content: center;
  padding: 30px;
  text-align: center;
}
@media (max-width: 920px) {
  .favorites-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
.product-card .card-actions .btn { min-height: 46px; }

/* Block S: search, filters and reviews */
.shop-filter-bar {
  align-items: end;
  gap: 14px;
  flex-wrap: wrap;
}

.shop-filter-bar label {
  min-width: min(100%, 170px);
}

.shop-filter-bar input,
.shop-filter-bar select {
  width: 100%;
}

.shop-filter-bar .check-row {
  min-width: auto;
  align-self: center;
}

.product-search-shell {
  display: grid;
  gap: 18px;
}

.search-suggestions {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--card);
  box-shadow: var(--shadow-soft);
}

.search-suggestions a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  color: inherit;
  text-decoration: none;
}

.search-suggestions a:hover {
  background: color-mix(in srgb, var(--accent) 10%, transparent);
}

.product-rating {
  margin: 8px 0;
  color: var(--ink);
  font-weight: 700;
}

.product-rating span {
  color: #d89119;
  letter-spacing: .04em;
}

.product-rating small,
.product-rating.is-empty {
  color: var(--muted);
  font-weight: 600;
}

.customer-review-sections {
  display: grid;
  gap: 24px;
}

@media (max-width: 760px) {
  .shop-filter-bar {
    display: grid;
    grid-template-columns: 1fr;
  }

  .shop-filter-bar label {
    min-width: 0;
  }
}
  .shop-toast {
    right: 14px;
    bottom: 14px;
    left: 14px;
    justify-content: space-between;
    max-width: none;
  }
  .favorites-page-head { align-items: start; flex-direction: column; }
  .favorites-product-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .favorite-card-links { align-items: start; flex-direction: column; gap: 4px; }
  .favorite-login-toast { align-items: stretch; }
  .favorite-login-toast > div a { flex: 1; justify-content: center; }
}
@media (max-width: 420px) {
  .favorites-product-grid { grid-template-columns: 1fr; }
}

/* Block E: central mini-cart drawer */
body.mini-cart-open { overflow: hidden; }
.mini-cart-overlay {
  position: fixed;
  inset: 0;
  z-index: 700;
  background: rgba(20, 16, 22, .42);
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
}
.mini-cart-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}
.mini-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 710;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  width: min(430px, 100vw);
  height: 100dvh;
  overflow: hidden;
  border-left: 1px solid var(--border-color, var(--line));
  background: var(--page-bg);
  color: var(--ink);
  box-shadow: -22px 0 55px rgba(24, 18, 27, .18);
  transform: translateX(102%);
  visibility: hidden;
  transition: transform .28s ease, visibility 0s linear .28s;
}
.mini-cart-drawer.is-open {
  transform: translateX(0);
  visibility: visible;
  transition: transform .28s ease;
}
.mini-cart-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 22px 18px;
  border-bottom: 1px solid var(--border-color, var(--line));
  background: var(--card-bg, var(--section-bg));
}
.mini-cart-header h2,
.mini-cart-header p { margin: 0; }
.mini-cart-header > div > span {
  color: var(--muted);
  font-size: .86rem;
  font-weight: 700;
}
.mini-cart-close {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--border-color, var(--line));
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font: 400 1.8rem/1 var(--body-font);
}
.mini-cart-close:hover,
.mini-cart-close:focus-visible {
  border-color: var(--fuchsia);
  color: var(--fuchsia);
}
.mini-cart-notice {
  margin: 12px 18px 0;
  padding: 10px 12px;
  border: 1px solid #cf5b78;
  border-radius: 7px;
  background: color-mix(in srgb, #cf5b78 9%, var(--card-bg));
  color: var(--ink);
  font-size: .88rem;
}
.mini-cart-content {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px 18px 20px;
}
.mini-cart-item {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid var(--border-color, var(--line));
}
.mini-cart-image {
  display: grid;
  place-items: center;
  width: 92px;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid var(--border-color, var(--line));
  border-radius: 7px;
  background: var(--card-bg, var(--white));
}
.mini-cart-image img,
.mini-cart-image picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mini-cart-item-copy {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
}
.mini-cart-item-name {
  color: var(--ink) !important;
  font-family: var(--product-font, var(--heading-font));
  font-weight: 800;
  line-height: 1.25;
}
.mini-cart-item-copy p {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
}
.mini-cart-personalization {
  padding: 6px 8px;
  border-radius: 5px;
  background: color-mix(in srgb, var(--fuchsia) 9%, transparent);
}
.mini-cart-item-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 5px;
}
.mini-cart-stepper {
  display: grid;
  grid-template-columns: 36px 34px 36px;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--border-color, var(--line));
  border-radius: 7px;
  background: var(--card-bg, var(--white));
}
.mini-cart-stepper button {
  display: grid;
  place-items: center;
  min-height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font: 700 1.15rem/1 var(--body-font);
}
.mini-cart-stepper button:hover { background: color-mix(in srgb, var(--fuchsia) 12%, transparent); }
.mini-cart-stepper span { text-align: center; font-weight: 800; }
.mini-cart-remove {
  justify-self: start;
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: var(--fuchsia);
  cursor: pointer;
  font: 700 .82rem var(--body-font);
}
.mini-cart-summary {
  display: grid;
  gap: 10px;
  padding: 17px 20px 20px;
  border-top: 1px solid var(--border-color, var(--line));
  background: var(--card-bg, var(--section-bg));
  box-shadow: 0 -10px 30px rgba(30, 22, 32, .06);
}
.mini-cart-summary > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.mini-cart-summary p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
}
.mini-cart-total {
  padding-top: 9px;
  border-top: 1px solid var(--border-color, var(--line));
}
.mini-cart-summary .btn { width: 100%; box-sizing: border-box; }
.mini-cart-checkout { min-height: 50px; }
.mini-cart-checkout.is-disabled {
  opacity: .48;
  pointer-events: auto;
  cursor: not-allowed;
}
.mini-cart-continue {
  min-height: 38px;
  border: 0;
  background: transparent;
  color: var(--link-color, var(--fuchsia));
  cursor: pointer;
  font: 800 .9rem var(--body-font);
}
.mini-cart-empty {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 100%;
  padding: 50px 16px;
  text-align: center;
}
.mini-cart-empty h3 { margin-bottom: 8px; }
.mini-cart-loading {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 260px;
}
.mini-cart-loading span {
  width: 32px;
  height: 32px;
  border: 3px solid var(--border-color, var(--line));
  border-top-color: var(--fuchsia);
  border-radius: 50%;
  animation: mini-cart-spin .8s linear infinite;
}
@keyframes mini-cart-spin { to { transform: rotate(360deg); } }

@media (max-width: 620px) {
  .mini-cart-drawer { width: min(96vw, 430px); }
  .mini-cart-header { padding: 18px 16px 14px; }
  .mini-cart-content { padding-inline: 15px; }
  .mini-cart-summary { padding: 14px 16px 16px; }
  .mini-cart-item { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; }
  .mini-cart-image { width: 88px; }
  .mini-cart-stepper { grid-template-columns: 40px 34px 40px; }
  .mini-cart-stepper button { min-height: 40px; }
}

.personalization-admin {
  display: grid;
  gap: 20px;
}

.personalization-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.personalization-overview button {
  min-height: 104px;
  padding: 16px;
  border: 1px solid rgba(232, 92, 154, .22);
  border-radius: 8px;
  background: rgba(255, 255, 255, .7);
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.personalization-overview button:hover {
  border-color: #e85c9a;
}

.personalization-overview span,
.personalization-overview small {
  display: block;
}

.personalization-overview strong {
  display: block;
  margin: 5px 0 2px;
  color: #d94d8d;
  font-size: 28px;
}

.personalization-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(232, 92, 154, .2);
}

.personalization-tabs button {
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid transparent;
  border-radius: 6px 6px 0 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.personalization-tabs button:hover,
.personalization-tabs button.is-active {
  border-color: rgba(232, 92, 154, .28);
  border-bottom-color: #e85c9a;
  color: #d94d8d;
  background: rgba(232, 92, 154, .07);
}

.personalization-panel {
  min-width: 0;
}

.personalization-form-panel {
  margin-bottom: 18px;
}

.personalization-swatch {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-right: 8px;
  border: 1px solid rgba(17, 17, 17, .2);
  border-radius: 50%;
  background: var(--swatch, #fff);
  vertical-align: middle;
}

.personalization-thumb {
  display: inline-grid;
  width: 68px;
  height: 68px;
  object-fit: cover;
  place-items: center;
  border: 1px solid rgba(232, 92, 154, .18);
  border-radius: 6px;
  background: rgba(255, 255, 255, .55);
  color: #777;
  font-size: 11px;
  text-align: center;
  vertical-align: middle;
}

.personalization-thumb.is-empty {
  padding: 5px;
}

.personalization-thumb.is-preview {
  width: min(220px, 100%);
  height: 160px;
}

.personalization-font-preview {
  display: block;
  max-width: 260px;
  overflow-wrap: anywhere;
  font-size: 21px;
}

.personalization-upload-row {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(220px, 1.2fr);
  gap: 10px;
}

.personalization-image-preview {
  min-height: 72px;
}

.personalization-choice-field {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  padding: 14px;
  border: 1px solid rgba(232, 92, 154, .2);
  border-radius: 8px;
}

.personalization-choice-field legend {
  padding: 0 6px;
  font-weight: 700;
}

.personalization-choice-field label,
.personalization-color-options label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  font-weight: 600;
}

.personalization-choice-field input,
.personalization-color-options input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.personalization-color-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  width: 100%;
}

.personalization-color-options .personalization-swatch {
  width: 24px;
  height: 24px;
  margin: 0;
}

.blank-color-images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.blank-color-image-row {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(232, 92, 154, .18);
  border-radius: 8px;
}

.blank-color-image-row > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.blank-color-image-row .personalization-thumb {
  width: 54px;
  height: 54px;
}

.blank-color-image-row label {
  display: grid;
  gap: 6px;
}

.personalization-input-unit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.personalization-input-unit small {
  min-width: 34px;
  font-weight: 700;
}

.personalization-cost-form {
  max-width: 980px;
}

.product-personalization-editor {
  margin-top: 8px;
  padding: 20px;
  border: 1px solid rgba(232, 92, 154, .24);
  border-radius: 8px;
  background: rgba(255, 255, 255, .55);
}

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

.product-personalization-grid > label {
  display: grid;
  align-content: start;
  gap: 7px;
}

.product-personalization-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 14px;
  width: 100%;
}

.product-personalization-checks label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

.product-personalization-checks input {
  width: 18px;
  height: 18px;
}

.product-personalization-checks span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.product-personalization-checks .personalization-swatch {
  width: 22px;
  height: 22px;
  margin: 0;
}

.product-personalization-subsection {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.admin-empty-inline {
  margin: 0;
  color: var(--muted);
}

html[data-theme="dark"] .product-personalization-editor {
  background: rgba(35, 34, 47, .72);
  border-color: rgba(243, 167, 216, .3);
}

html[data-theme="dark"] .personalization-overview button,
html[data-theme="dark"] .personalization-thumb {
  background: rgba(35, 34, 47, .78);
  border-color: rgba(243, 167, 216, .26);
}

html[data-theme="dark"] .personalization-tabs button:hover,
html[data-theme="dark"] .personalization-tabs button.is-active {
  color: #f3bdd9;
  background: rgba(243, 167, 216, .08);
}

@media (max-width: 980px) {
  .personalization-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .personalization-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .personalization-overview button {
    min-height: 88px;
    padding: 12px;
  }

  .personalization-overview strong {
    font-size: 24px;
  }

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

  .personalization-tabs button {
    min-width: 0;
    border-radius: 6px;
    font-size: 13px;
  }

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

  .personalization-choice-field {
    display: grid;
    grid-template-columns: 1fr;
  }

  .blank-color-images {
    grid-template-columns: 1fr;
  }

  .product-personalization-grid,
  .product-personalization-subsection {
    grid-template-columns: 1fr;
  }

  .product-personalization-editor {
    padding: 14px;
  }
}

@media (max-width: 760px) {
  .account-subnav {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 6px;
    scrollbar-width: thin;
  }
  .account-subnav a {
    flex: 0 0 auto;
  }
  .customer-voucher-sections,
  .customer-address-layout,
  .account-danger-zone,
  .customer-order-addresses {
    grid-template-columns: 1fr;
  }
  .customer-address-form {
    position: static;
  }
  .customer-order-card,
  .customer-personalization-card,
  .customer-voucher-card,
  .customer-address-card,
  .customer-order-detail-head,
  .customer-order-items article {
    align-items: stretch;
    flex-direction: column;
  }
  .customer-personalization-preview {
    width: 100%;
    min-width: 0;
    max-height: 360px;
  }
  .customer-card-actions {
    justify-content: stretch;
  }
  .customer-card-actions .btn,
  .customer-order-card > .btn {
    flex: 1 1 auto;
  }
  .customer-order-progress {
    grid-template-columns: repeat(9, 82px);
  }
}
@media (max-width: 760px) {
  .checkout-progress {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 6px;
    scroll-snap-type: x proximity;
  }
  .checkout-progress span {
    flex: 0 0 132px;
    min-height: 42px;
    scroll-snap-align: start;
  }
  .confirmation-grid { grid-template-columns: 1fr; }
  .checkout-line,
  .checkout-review-item { grid-template-columns: minmax(0, 1fr); }
}

/* Admin dashboard redesign: compact management cockpit */
:root {
  --admin-page: #f7f3fb;
  --admin-shell: #ffffff;
  --admin-card: #ffffff;
  --admin-card-hover: #f2ecfa;
  --admin-inner: #faf7fe;
  --admin-table-head: #eee5f7;
  --admin-border: rgba(36, 28, 48, 0.12);
  --admin-text: #211b2d;
  --admin-text-strong: #171421;
  --admin-text-muted: #665a75;
  --admin-text-weak: #8a7b9a;
  --admin-pink: #ff5fa2;
  --admin-turquoise: #20bfc4;
  --admin-warning: #b77900;
  --admin-error: #d9305f;
  --admin-success: #248a52;
  --admin-shadow: 0 22px 70px rgba(46, 30, 70, 0.14);
}

html[data-theme="dark"] {
  --admin-page: #171421;
  --admin-shell: #211b2d;
  --admin-card: #2a2338;
  --admin-card-hover: #352c47;
  --admin-inner: #241e31;
  --admin-table-head: #332a44;
  --admin-border: rgba(255, 255, 255, 0.10);
  --admin-text: #ffffff;
  --admin-text-strong: #ffffff;
  --admin-text-muted: #cfc6dc;
  --admin-text-weak: #9f94b3;
  --admin-pink: #ff5fa2;
  --admin-turquoise: #62e6e0;
  --admin-warning: #ffb020;
  --admin-error: #ff5c7a;
  --admin-success: #64d98a;
  --admin-shadow: 0 22px 80px rgba(0, 0, 0, 0.35);
}

body[data-page="admin"],
body[data-page^="admin-"] {
  background: var(--admin-page);
  background-image: none;
  color: var(--admin-text);
}

body[data-page="admin"] .admin-shell,
body[data-page^="admin-"] .admin-shell {
  width: min(1500px, calc(100% - 32px));
  margin: 16px auto;
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  background: var(--admin-shell);
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  box-shadow: var(--admin-shadow);
  color: var(--admin-text);
  padding: 18px;
}

body[data-page="admin"] .admin-sidebar,
body[data-page^="admin-"] .admin-sidebar {
  position: sticky;
  top: 16px;
  max-height: calc(100vh - 32px);
  overflow: auto;
  background: var(--admin-card);
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  color: var(--admin-text);
  padding: 16px;
}

body[data-page="admin"] .admin-main,
body[data-page^="admin-"] .admin-main {
  min-width: 0;
  color: var(--admin-text);
}

body[data-page="admin"] .admin-top,
body[data-page^="admin-"] .admin-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  background: var(--admin-card);
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  padding: 18px 20px;
  margin-bottom: 18px;
}

body[data-page="admin"] .admin-top h1,
body[data-page^="admin-"] .admin-top h1,
body[data-page="admin"] .admin-dashboard h1,
body[data-page^="admin-"] .admin-dashboard h1 {
  color: var(--admin-text-strong);
}

body[data-page="admin"] .admin-top p,
body[data-page^="admin-"] .admin-top p {
  color: var(--admin-text-muted);
}

.admin-top-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

body[data-page="admin"] .admin-card,
body[data-page^="admin-"] .admin-card,
body[data-page="admin"] .admin-panel,
body[data-page^="admin-"] .admin-panel {
  background: var(--admin-card);
  border: 1px solid var(--admin-border);
  color: var(--admin-text);
}

body[data-page="admin"] .admin-card,
body[data-page^="admin-"] .admin-card {
  border-radius: 12px;
}

.admin-dashboard {
  display: grid;
  gap: 18px;
}

.admin-dashboard-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 18px;
  padding: 24px;
  border-radius: 12px;
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 95, 162, 0.25), transparent 34%),
    radial-gradient(circle at 90% 10%, rgba(98, 230, 224, 0.18), transparent 34%),
    var(--admin-card);
  border: 1px solid var(--admin-border);
}

.admin-dashboard-hero p,
.admin-dashboard-card p,
.admin-panel p {
  color: var(--admin-text-muted);
}

.admin-dashboard-hero-copy {
  max-width: 820px;
}

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

.admin-dashboard-statuses span {
  display: grid;
  gap: 4px;
  min-height: 74px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--admin-inner);
  border: 1px solid var(--admin-border);
  color: var(--admin-text-muted);
  font-size: 0.82rem;
}

.admin-dashboard-statuses strong {
  color: var(--admin-text-strong);
  font-size: 0.95rem;
}

.admin-dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.admin-kpi-card {
  position: relative;
  overflow: hidden;
  min-height: 148px;
  padding: 18px;
  border-radius: 12px;
  background: var(--admin-card);
  border: 1px solid var(--admin-border);
  color: var(--admin-text);
}

.admin-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--admin-pink);
}

.admin-kpi-card:nth-child(2)::before { background: var(--admin-turquoise); }
.admin-kpi-card:nth-child(3)::before { background: var(--admin-warning); }
.admin-kpi-card:nth-child(4)::before { background: var(--admin-error); }

.admin-kpi-card:hover,
.admin-dashboard-card:hover {
  background: var(--admin-card-hover);
}

.admin-kpi-card span {
  display: block;
  color: var(--admin-text-muted);
  font-size: 0.84rem;
}

.admin-kpi-card strong {
  display: block;
  margin: 10px 0 4px;
  color: var(--admin-text-strong);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 1;
}

.admin-kpi-card em {
  color: inherit;
  font-style: normal;
}

.admin-dashboard-card,
.admin-chart-card,
.admin-panel {
  border-radius: 12px;
  background: var(--admin-card);
  border: 1px solid var(--admin-border);
  color: var(--admin-text);
  padding: 18px;
}

.admin-dashboard-charts {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 18px;
}

.admin-chart-card header,
.admin-panel-heading,
.admin-dashboard-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.admin-chart-card h2,
.admin-panel h2,
.admin-dashboard-card h3 {
  color: var(--admin-text-strong);
  margin: 0;
}

.admin-dashboard-range {
  min-width: 132px;
  border-radius: 999px;
  border: 1px solid var(--admin-border);
  background: var(--admin-inner);
  color: var(--admin-text);
  padding: 8px 12px;
}

.admin-chart-area {
  min-height: 260px;
  border-radius: 12px;
  background: var(--admin-inner);
  border: 1px solid var(--admin-border);
  padding: 14px;
}

.admin-revenue-svg,
.admin-donut-svg {
  width: 100%;
  height: auto;
  display: block;
}

.admin-revenue-svg .axis,
.admin-revenue-svg .grid-line {
  stroke: var(--admin-border);
}

.admin-revenue-svg text,
.admin-donut-svg text {
  fill: var(--admin-text-muted);
  font-size: 11px;
}

.admin-revenue-svg rect {
  fill: url(#adminRevenueGradient);
}

.admin-revenue-svg polyline {
  fill: none;
  stroke: var(--admin-turquoise);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.admin-donut-wrap {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.admin-chart-legend {
  display: grid;
  gap: 8px;
}

.admin-chart-legend li,
.admin-chart-legend .legend-row {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  color: var(--admin-text-muted);
}

.admin-chart-dot {
  width: 11px;
  height: 11px;
  border-radius: 999px;
}

.admin-dashboard-grid-compact {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.admin-dashboard-grid-compact .admin-dashboard-card {
  min-height: 260px;
}

.admin-dashboard-card footer {
  margin-top: 12px;
}

.admin-responsive-table {
  overflow-x: auto;
  border-radius: 16px;
  border: 1px solid var(--admin-border);
}

.admin-dashboard-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 100%;
  color: var(--admin-text);
}

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

.admin-dashboard-table th {
  background: var(--admin-table-head);
  color: var(--admin-text-strong);
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.admin-dashboard-table td {
  color: var(--admin-text-muted);
  font-size: 0.9rem;
}

.admin-dashboard-table tr:last-child td {
  border-bottom: 0;
}

/* Correction pass: admin settings cockpit + dark-mode-safe admin forms */
body[data-page="admin"] :is(input, select, textarea),
body[data-page^="admin-"] :is(input, select, textarea) {
  background: var(--admin-inner);
  border: 1px solid var(--admin-border);
  color: var(--admin-text);
  box-shadow: none;
}

body[data-page="admin"] :is(input, select, textarea)::placeholder,
body[data-page^="admin-"] :is(input, select, textarea)::placeholder {
  color: var(--admin-text-weak);
}

body[data-page="admin"] :is(label, legend),
body[data-page^="admin-"] :is(label, legend) {
  color: var(--admin-text-strong);
}

body[data-page="admin"] .admin-responsive-table table,
body[data-page^="admin-"] .admin-responsive-table table {
  width: 100%;
  border-collapse: collapse;
  color: var(--admin-text);
}

body[data-page="admin"] .admin-responsive-table th,
body[data-page^="admin-"] .admin-responsive-table th {
  background: var(--admin-table-head);
  color: var(--admin-text-strong);
}

body[data-page="admin"] .admin-responsive-table td,
body[data-page^="admin-"] .admin-responsive-table td {
  color: var(--admin-text-muted);
  border-color: var(--admin-border);
}

.admin-settings-page {
  display: grid;
  gap: 18px;
}

.admin-settings-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  background:
    radial-gradient(circle at 12% 0%, rgba(255, 95, 162, 0.20), transparent 35%),
    radial-gradient(circle at 88% 10%, rgba(98, 230, 224, 0.16), transparent 34%),
    var(--admin-card);
  color: var(--admin-text);
}

.admin-settings-hero h1 {
  margin: 0 0 8px;
  color: var(--admin-text-strong);
  font-size: clamp(1.8rem, 3vw, 3rem);
}

.admin-settings-hero p {
  max-width: 820px;
  margin: 0;
  color: var(--admin-text-muted);
}

.admin-settings-tabs {
  position: sticky;
  top: 16px;
  z-index: 8;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--admin-card) 88%, transparent);
  backdrop-filter: blur(18px);
}

.admin-settings-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  background: var(--admin-inner);
  color: var(--admin-text-muted);
  font-weight: 800;
}

.admin-settings-tabs a:hover,
.admin-settings-tabs a:focus-visible {
  border-color: color-mix(in srgb, var(--admin-pink) 60%, var(--admin-border));
  color: var(--admin-text-strong);
}

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

.admin-settings-section {
  scroll-margin-top: 118px;
}

.admin-settings-section .pricing-field-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-settings-table {
  margin-top: 14px;
  background: var(--admin-inner);
}

.admin-settings-link-card {
  display: grid;
  gap: 4px;
  min-height: 72px;
  padding: 14px 16px;
  border: 1px dashed color-mix(in srgb, var(--admin-pink) 44%, var(--admin-border));
  border-radius: 12px;
  background: color-mix(in srgb, var(--admin-pink) 8%, var(--admin-inner));
  color: var(--admin-text-muted);
}

.admin-settings-link-card strong {
  color: var(--admin-text-strong);
}

.admin-settings-actions {
  position: sticky;
  bottom: 14px;
  z-index: 7;
  justify-content: flex-end;
  padding: 12px;
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--admin-card) 90%, transparent);
  backdrop-filter: blur(18px);
}

.admin-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  border: 1px solid var(--admin-border);
  background: var(--admin-inner);
  color: var(--admin-text-muted);
  padding: 5px 9px;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.admin-status-badge.is-success {
  color: var(--admin-success);
  border-color: color-mix(in srgb, var(--admin-success) 45%, transparent);
}

.admin-status-badge.is-warning {
  color: var(--admin-warning);
  border-color: color-mix(in srgb, var(--admin-warning) 45%, transparent);
}

.admin-status-badge.is-error {
  color: var(--admin-error);
  border-color: color-mix(in srgb, var(--admin-error) 45%, transparent);
}

.admin-empty {
  display: grid;
  place-items: center;
  min-height: 104px;
  border-radius: 16px;
  border: 1px dashed var(--admin-border);
  color: var(--admin-text-weak);
  background: var(--admin-inner);
  text-align: center;
  padding: 14px;
}

body[data-page="admin"] .admin-nav,
body[data-page^="admin-"] .admin-nav {
  display: grid;
  gap: 8px;
}

body[data-page="admin"] .admin-nav a,
body[data-page^="admin-"] .admin-nav a,
body[data-page="admin"] .admin-nav-group summary,
body[data-page^="admin-"] .admin-nav-group summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 14px;
  color: var(--admin-text-muted);
  text-decoration: none;
  cursor: pointer;
}

body[data-page="admin"] .admin-nav a:hover,
body[data-page^="admin-"] .admin-nav a:hover,
body[data-page="admin"] .admin-nav-group summary:hover,
body[data-page^="admin-"] .admin-nav-group summary:hover {
  background: var(--admin-card-hover);
  color: var(--admin-text-strong);
}

body[data-page="admin"] .admin-nav a.active,
body[data-page^="admin-"] .admin-nav a.active,
body[data-page="admin"] .admin-nav-group[open] > summary,
body[data-page^="admin-"] .admin-nav-group[open] > summary {
  background: linear-gradient(135deg, rgba(255, 95, 162, 0.18), rgba(98, 230, 224, 0.12));
  color: var(--admin-text-strong);
  border: 1px solid var(--admin-border);
}

.admin-nav-icon,
.admin-nav-home-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  color: currentColor;
}

.admin-nav-icon svg,
.admin-nav-home-icon svg {
  width: 20px;
  height: 20px;
  display: block;
}

.admin-nav-icon svg *,
.admin-nav-home-icon svg * {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.admin-nav-group {
  border: 1px solid transparent;
  border-radius: 16px;
}

.admin-nav-group[open] {
  background: var(--admin-inner);
  border-color: var(--admin-border);
}

.admin-nav-group div {
  display: grid;
  gap: 4px;
  padding: 4px 6px 8px 34px;
}

.admin-nav-group div a {
  min-height: 36px;
  padding: 8px 10px;
  font-size: 0.92rem;
}

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

.admin-nav-group summary::after {
  content: "›";
  margin-left: auto;
  color: var(--admin-text-weak);
  transition: transform 0.18s ease;
}

.admin-nav-group[open] summary::after {
  transform: rotate(90deg);
}

@media (max-width: 1180px) {
  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    grid-template-columns: 1fr;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    position: static;
    max-height: none;
  }

  .admin-dashboard-kpis,
  .admin-dashboard-statuses {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-dashboard-charts,
  .admin-dashboard-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    width: min(100% - 18px, 1500px);
    margin: 9px auto;
    padding: 10px;
    border-radius: 12px;
  }

  body[data-page="admin"] .admin-top,
  body[data-page^="admin-"] .admin-top,
  .admin-chart-card header,
  .admin-panel-heading,
  .admin-dashboard-card header {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-top-actions {
    justify-content: stretch;
  }

  .admin-top-actions .btn {
    flex: 1 1 auto;
  }

  .admin-dashboard-kpis,
  .admin-dashboard-statuses,
  .admin-dashboard-charts,
  .admin-dashboard-grid-compact,
  .admin-donut-wrap {
    grid-template-columns: 1fr;
  }

  .admin-chart-area {
    min-height: 220px;
  }
}

/* Customer storefront redesign: premium shop surface */
:root {
  --shop-page: #fbf8fc;
  --shop-card: #ffffff;
  --shop-card-soft: #f7eff8;
  --shop-ink: #201824;
  --shop-muted: #675b72;
  --shop-weak: #8d8198;
  --shop-line: rgba(43, 31, 51, 0.12);
  --shop-pink: #c94f86;
  --shop-mint: #2baeaa;
  --shop-lavender: #eee4f6;
  --shop-shadow: 0 2px 8px rgba(70, 42, 82, 0.10);
}

html[data-theme="dark"] {
  --shop-page: #151a22;
  --shop-card: #211b2d;
  --shop-card-soft: #2a2338;
  --shop-ink: #ffffff;
  --shop-muted: #cfc6dc;
  --shop-weak: #9f94b3;
  --shop-line: rgba(255, 255, 255, 0.12);
  --shop-pink: #ff5fa2;
  --shop-mint: #62e6e0;
  --shop-lavender: #352c47;
  --shop-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}

body:not([data-page="admin"]):not([data-page^="admin-"]) {
  background: var(--shop-page);
  color: var(--shop-ink);
}

.top-strip {
  position: relative;
  z-index: 50;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  min-height: 76px;
  padding: 10px clamp(18px, 3vw, 42px);
  grid-template-columns: minmax(118px, 170px) minmax(0, 1fr) auto;
  background: rgba(251, 248, 252, 0.46);
  border-bottom: 1px solid transparent;
  box-shadow: none;
  backdrop-filter: blur(0);
  transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, backdrop-filter 0.22s ease;
}

html[data-theme="light"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
  background: rgba(251, 248, 252, 0.46) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] .site-header {
  background: rgba(21, 26, 34, 0.34);
  box-shadow: none;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
  background: rgba(21, 26, 34, 0.34) !important;
  box-shadow: none !important;
}

.site-header.is-scrolled,
html[data-theme="dark"] .site-header.is-scrolled {
  background: color-mix(in srgb, var(--shop-card) 82%, transparent);
  border-bottom-color: var(--shop-line);
  box-shadow: 0 16px 38px rgba(22, 14, 28, 0.13);
  backdrop-filter: blur(18px);
}

html[data-theme="light"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header.is-scrolled,
html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header.is-scrolled {
  background: color-mix(in srgb, var(--shop-card) 82%, transparent) !important;
  border-bottom-color: var(--shop-line);
  box-shadow: 0 16px 38px rgba(22, 14, 28, 0.13) !important;
  backdrop-filter: blur(18px);
}

.site-header .brand {
  min-width: 0;
}

.site-header .brand-logo {
  width: clamp(74px, 8vw, 108px);
  height: clamp(54px, 6.4vw, 76px);
}

.site-header .brand-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.site-nav {
  gap: clamp(10px, 1.8vw, 26px);
  font-size: clamp(0.98rem, 1vw, 1.08rem);
  justify-content: center;
}

.site-nav a {
  position: relative;
  padding: 10px 6px;
  border-radius: 999px;
  color: var(--shop-muted);
  font-weight: 800;
  letter-spacing: 0.01em;
}

.site-nav a::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 3px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--shop-pink), var(--shop-mint));
  opacity: 0;
  transform: scaleX(0.35);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.site-nav a:hover,
.site-nav a.is-active,
body[data-page="home"] .site-nav a[data-nav="home"],
body[data-page="shop"] .site-nav a[data-nav="shop"],
body[data-page="personalize"] .site-nav a[data-nav="personalize"],
body[data-page="finder"] .site-nav a[data-nav="finder"],
body[data-page="blog"] .site-nav a[data-nav="blog"],
body[data-page="about"] .site-nav a[data-nav="about"],
body[data-page="contact"] .site-nav a[data-nav="contact"] {
  background: color-mix(in srgb, var(--shop-pink) 10%, transparent);
  color: var(--shop-pink);
}

.site-nav a:hover::after,
.site-nav a.is-active::after,
body[data-page="home"] .site-nav a[data-nav="home"]::after,
body[data-page="shop"] .site-nav a[data-nav="shop"]::after,
body[data-page="personalize"] .site-nav a[data-nav="personalize"]::after,
body[data-page="finder"] .site-nav a[data-nav="finder"]::after,
body[data-page="blog"] .site-nav a[data-nav="blog"]::after,
body[data-page="about"] .site-nav a[data-nav="about"]::after,
body[data-page="contact"] .site-nav a[data-nav="contact"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.header-icons .icon-link,
.icon-link.icon-only {
  background: color-mix(in srgb, var(--shop-card) 78%, transparent);
  border: 1px solid var(--shop-line);
  box-shadow: none;
}

.hero,
.page-hero {
  margin-top: -8px;
}

.page-hero.compact {
  min-height: 250px;
  padding-block: clamp(42px, 7vw, 82px);
}

.page-hero h1,
.section-head h2 {
  color: var(--shop-ink);
  font-size: clamp(2rem, 4.5vw, 3.75rem);
  letter-spacing: -0.045em;
}

.page-hero p,
.section-head p {
  color: var(--shop-muted);
}

.category-grid {
  align-items: stretch;
  gap: 18px;
}

.category-grid a,
.shop-category-card {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
  min-height: 160px;
  align-items: start;
  padding: 20px;
  border: 1px solid var(--shop-line);
  border-radius: 12px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--shop-card) 92%, transparent), color-mix(in srgb, var(--shop-lavender) 68%, transparent));
  color: var(--shop-ink);
  box-shadow: var(--shop-shadow);
  overflow: hidden;
}

.category-grid a:hover,
.shop-category-card:hover,
.social-card:hover,
.product-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--shop-pink) 42%, var(--shop-line));
}

.category-grid a > img,
.shop-category-card > img,
.category-grid a > span:first-child,
.shop-category-card > span:first-child {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--shop-pink) 14%, var(--shop-card));
  color: var(--shop-pink);
  object-fit: cover;
  font-size: 1.45rem;
}

.category-grid a strong,
.shop-category-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--shop-ink);
  font-size: 1.06rem;
}

.category-grid a small,
.shop-category-card small {
  color: var(--shop-muted);
  font-weight: 700;
}

.category-grid a::after,
.shop-category-card::after {
  content: "Entdecken";
  position: absolute;
  left: 92px;
  bottom: 18px;
  display: inline-flex;
  border-radius: 999px;
  background: color-mix(in srgb, var(--shop-pink) 14%, transparent);
  color: var(--shop-pink);
  padding: 7px 12px;
  font-size: 0.82rem;
  font-weight: 900;
}

.community-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.social-card {
  display: grid;
  align-content: start;
  min-height: 230px;
  padding: 24px;
  border: 1px solid var(--shop-line);
  border-radius: 12px;
  background:
    radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--shop-pink) 18%, transparent), transparent 34%),
    var(--shop-card);
  color: var(--shop-ink);
  box-shadow: var(--shop-shadow);
}

.social-card strong {
  color: var(--shop-ink);
  font-size: 1.25rem;
  letter-spacing: -0.02em;
}

.social-card p {
  color: var(--shop-muted);
  font-weight: 700;
}

.social-card .btn {
  align-self: end;
  justify-self: start;
  margin-top: auto;
}

body[data-page="shop"] .page-hero.compact {
  width: min(100% - 36px, 1320px);
  min-height: 220px;
  margin-bottom: 18px;
  border-radius: 12px;
}

.shop-filter-bar {
  width: min(100% - 36px, 1320px);
  margin: 0 auto 20px;
  display: grid;
  grid-template-columns: minmax(220px, 1.25fr) repeat(5, minmax(150px, 1fr));
  gap: 12px;
  align-items: end;
  padding: 18px;
  border: 1px solid var(--shop-line);
  border-radius: 12px;
  background: var(--shop-card);
  box-shadow: var(--shop-shadow);
}

.shop-filter-bar label {
  display: grid;
  gap: 7px;
  color: var(--shop-muted);
  font-size: 0.84rem;
  font-weight: 900;
}

.shop-filter-bar input,
.shop-filter-bar select {
  min-height: 46px;
  border: 1px solid var(--shop-line);
  border-radius: 14px;
  background: var(--shop-card-soft);
  color: var(--shop-ink);
  padding: 0 13px;
  font: inherit;
}

.shop-filter-bar input:focus,
.shop-filter-bar select:focus {
  outline: 3px solid color-mix(in srgb, var(--shop-mint) 28%, transparent);
  border-color: var(--shop-mint);
}

.shop-filter-bar .check-row {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--shop-line);
  border-radius: 999px;
  background: var(--shop-card-soft);
  padding: 0 14px;
}

.shop-filter-reset {
  min-height: 46px;
  align-self: end;
}

.shop-filter-result {
  width: min(100% - 36px, 1320px);
  margin: 0 auto 14px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}

.shop-filter-result h2 {
  margin: 0;
  color: var(--shop-muted);
  font-size: 0.98rem;
  letter-spacing: 0;
}

.product-grid {
  width: min(100% - 36px, 1320px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.product-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 100%;
  border: 1px solid var(--shop-line);
  border-radius: 12px;
  background: var(--shop-card);
  color: var(--shop-ink);
  box-shadow: var(--shop-shadow);
  overflow: hidden;
}

.product-media,
.live-product-media {
  display: block;
  aspect-ratio: 1 / 0.92;
  background: var(--shop-card-soft);
  overflow: hidden;
}

.product-media img,
.product-media picture,
.live-product-media img,
.live-product-media picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-heart {
  top: 14px;
  right: 14px;
  background: color-mix(in srgb, var(--shop-card) 88%, transparent);
  color: var(--shop-pink);
  border: 1px solid var(--shop-line);
}

.product-body {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 18px;
}

.product-body .eyebrow {
  margin: 0;
  color: var(--shop-pink);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.product-body h3 {
  margin: 0;
  color: var(--shop-ink);
  font-size: clamp(1.02rem, 1.4vw, 1.2rem);
  line-height: 1.22;
}

.product-from {
  margin: 0;
  color: var(--shop-ink);
  font-size: 1.12rem;
  font-weight: 950;
}

.product-rating {
  margin: 0;
  color: var(--shop-muted);
  font-size: 0.9rem;
}

.product-rating span {
  color: #e0a21a;
}

.favorite-product-hint,
.stock-note {
  justify-self: start;
  border-radius: 999px;
  background: color-mix(in srgb, var(--shop-mint) 14%, transparent);
  color: var(--shop-mint);
  padding: 5px 9px;
  font-size: 0.78rem;
  font-weight: 900;
}

.stock-note {
  background: color-mix(in srgb, var(--shop-pink) 10%, transparent);
  color: var(--shop-muted);
}

.product-body p {
  margin: 0;
}

.product-card .card-actions {
  align-self: end;
  margin-top: auto;
}

.product-card .card-actions .btn {
  border-radius: 999px;
}

.shop-empty-state {
  background: var(--shop-card);
  border-color: var(--shop-line);
  color: var(--shop-muted);
}

@media (max-width: 1180px) {
  .site-header {
    grid-template-columns: auto 1fr auto;
  }

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

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

@media (max-width: 760px) {
  .site-header {
    min-height: 66px;
    grid-template-columns: auto auto 1fr;
    padding: 8px 14px;
  }

  .site-header .brand-logo {
    width: 70px;
    height: 50px;
  }

  .site-nav {
    border: 1px solid var(--shop-line);
    background: var(--shop-card);
  }

  .category-grid,
  .community-grid,
  .shop-filter-bar,
  .product-grid {
    width: min(100% - 28px, 1320px);
    grid-template-columns: 1fr;
  }

  .category-grid a,
  .shop-category-card {
    min-height: 142px;
  }

  .shop-filter-result {
    width: min(100% - 28px, 1320px);
    align-items: start;
    flex-direction: column;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

html[data-theme="dark"] .site-header.site-header {
  background: rgba(21, 26, 34, 0.34) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] .site-header.site-header.is-scrolled {
  background: color-mix(in srgb, var(--shop-card) 82%, transparent) !important;
  border-bottom-color: var(--shop-line);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22) !important;
  backdrop-filter: blur(18px);
}

/* Final correction layer: design brief from Codex_Korrekturaufgaben_Elvora_Design_und_Fehler.txt */
.admin-nav-group summary::after {
  content: "›";
}

body[data-page="home"] {
  background-color: var(--shop-page);
  background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--shop-page) 68%, transparent), color-mix(in srgb, var(--shop-page) 88%, transparent)),
    url("assets/images/Hintergrund-Light-Neu.png");
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
}

html[data-theme="dark"] body[data-page="home"] {
  background-image:
    linear-gradient(180deg, rgba(21, 26, 34, 0.50), rgba(21, 26, 34, 0.86)),
    url("assets/images/Hintergrund-Dark-Neu.png");
}

body[data-page="home"] main,
body[data-page="home"] .section,
body[data-page="home"] .newsletter-band,
body[data-page="home"] .site-footer {
  background-color: transparent;
}

.site-header .brand-logo {
  width: clamp(74px, 8vw, 108px) !important;
  min-width: 0 !important;
  height: clamp(54px, 6.4vw, 76px) !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.site-header .brand-logo img {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
  min-height: 78px !important;
  display: grid !important;
  grid-template-columns: minmax(96px, 140px) minmax(0, 1fr) auto !important;
  align-items: center !important;
  padding: 8px clamp(18px, 3vw, 42px) !important;
}

body[data-page="home"] .site-header {
  position: absolute !important;
  top: 34px !important;
  left: 0;
  right: 0;
  z-index: 60;
  background: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body[data-page="home"] .hero {
  padding-top: clamp(150px, 17vw, 220px);
}

body[data-page="home"] .category-grid {
  align-items: stretch;
}

body[data-page="home"] .shop-category-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-height: 158px;
  padding: 22px 24px;
  overflow: hidden;
}

body[data-page="home"] .shop-category-card > span:last-child {
  min-width: 0;
}

body[data-page="home"] .shop-category-card strong {
  display: block;
  max-width: 100%;
  color: var(--shop-ink);
  font-size: clamp(0.98rem, 1.22vw, 1.18rem);
  line-height: 1.12;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

body[data-page="home"] .shop-category-card small {
  display: block;
  width: auto;
  max-width: 100%;
  margin-top: 8px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--shop-muted);
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.25;
}

body[data-page="home"] .shop-category-card::after,
body[data-page="home"] .category-grid a::after {
  display: none !important;
}

.category-grid a::after,
.shop-category-card::after {
  display: none !important;
}

.category-card-cta {
  display: inline-flex;
  width: fit-content;
  margin-top: 14px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--shop-pink) 14%, transparent);
  color: var(--shop-pink);
  padding: 7px 12px;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
}

.shop-filter-result strong {
  display: block;
  margin-top: 2px;
  color: var(--shop-ink);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.2;
}

.active-filter-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.active-filter-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border: 1px solid var(--shop-line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--shop-card-soft) 78%, transparent);
  color: var(--shop-muted);
  padding: 5px 10px;
  font-size: 0.78rem;
  font-weight: 900;
}

.product-media,
.live-product-media {
  position: relative;
}

.product-badges {
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  max-width: calc(100% - 76px);
  gap: 6px;
  pointer-events: none;
}

.product-badges span {
  border-radius: 999px;
  background: color-mix(in srgb, var(--shop-card) 88%, transparent);
  color: var(--shop-pink);
  box-shadow: 0 10px 24px rgba(22, 14, 28, 0.12);
  padding: 5px 9px;
  font-size: 0.72rem;
  font-weight: 950;
  line-height: 1;
}

body[data-page="home"] .site-header:not(.is-scrolled) {
  background: transparent !important;
  backdrop-filter: none !important;
}

@media (max-width: 760px) {
  .admin-settings-hero,
  .admin-settings-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-settings-tabs {
    position: static;
  }

  .admin-settings-section .pricing-field-grid {
    grid-template-columns: 1fr;
  }

  .site-header .brand-logo {
    width: 92px !important;
    height: 64px !important;
  }
}

@media (max-width: 760px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
    min-height: 64px !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    padding: 7px 12px !important;
    gap: 10px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .brand {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body[data-page="home"] .site-header {
    top: 30px !important;
  }

  body[data-page="home"] .hero {
    padding-top: 124px;
  }
}

/* Full audit hardening layer: mobile navigation + dark-mode contrast across all customer/admin pages */
.admin-nav-group summary::after {
  content: "›";
}

@media (max-width: 760px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    z-index: 90 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 46px !important;
    border: 1px solid var(--shop-line) !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--shop-card) 84%, transparent) !important;
    color: var(--shop-ink) !important;
    box-shadow: 0 14px 34px rgba(22, 14, 28, 0.16) !important;
    font-size: 0 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before {
    content: "" !important;
    width: 21px !important;
    height: 14px !important;
    border-top: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    box-shadow: inset 0 6px 0 transparent, 0 6px 0 currentColor !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::before {
    width: 20px !important;
    height: 20px !important;
    border: 0 !important;
    box-shadow: none !important;
    background:
      linear-gradient(currentColor, currentColor) center / 20px 2px no-repeat,
      linear-gradient(currentColor, currentColor) center / 2px 20px no-repeat !important;
    transform: rotate(45deg);
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav {
    position: fixed !important;
    top: 84px !important;
    left: 12px !important;
    right: 12px !important;
    bottom: auto !important;
    z-index: 80 !important;
    width: auto !important;
    max-height: calc(100dvh - 104px) !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 14px !important;
    border: 1px solid var(--shop-line) !important;
    border-radius: 24px !important;
    background: color-mix(in srgb, var(--shop-card) 96%, transparent) !important;
    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.38) !important;
    overflow-y: auto !important;
    backdrop-filter: blur(18px) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav.is-open {
    display: grid !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: flex-start !important;
    padding: 12px 14px !important;
    border: 1px solid var(--shop-line) !important;
    border-radius: 16px !important;
    background: color-mix(in srgb, var(--shop-card-soft) 72%, transparent) !important;
    color: var(--shop-ink) !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a:hover,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a.is-active,
  body[data-page="home"] .site-nav a[data-nav="home"],
  body[data-page="shop"] .site-nav a[data-nav="shop"],
  body[data-page="personalize"] .site-nav a[data-nav="personalize"],
  body[data-page="finder"] .site-nav a[data-nav="finder"],
  body[data-page="blog"] .site-nav a[data-nav="blog"],
  body[data-page="about"] .site-nav a[data-nav="about"],
  body[data-page="contact"] .site-nav a[data-nav="contact"] {
    border-color: color-mix(in srgb, var(--shop-pink) 48%, var(--shop-line)) !important;
    background: color-mix(in srgb, var(--shop-pink) 14%, var(--shop-card-soft)) !important;
    color: var(--shop-pink) !important;
  }

  body[data-page="home"] .site-nav {
    top: 94px !important;
  }
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) {
  --white: var(--shop-card);
  --cream: var(--shop-page);
  --section-bg: var(--shop-card);
  --card-bg: var(--shop-card);
  --text: var(--shop-ink);
  --muted: var(--shop-muted);
  --line: var(--shop-line);
  background-color: var(--shop-page) !important;
  color: var(--shop-ink) !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(
  .section,
  .page-hero,
  .shop-category-card,
  .category-grid a,
  .benefit-grid article,
  .social-card,
  .product-card,
  .blog-card,
  .blog-detail-card,
  .blog-empty,
  .form-panel,
  .text-flow,
  .data-panel,
  .split-band > div,
  .product-detail,
  .account-card,
  .account-stats a,
  .customer-order-card,
  .customer-personalization-card,
  .customer-voucher-card,
  .customer-address-card,
  .customer-address-form,
  .customer-order-addresses article,
  .account-danger-zone,
  .checkout-panel,
  .cart-summary,
  .payment-grid label,
  .billing-fields,
  .product-designer-preview,
  .designer-step,
  .designer-choice span,
  .designer-progress span,
  .live-preview,
  .product-personalization-editor,
  .personalization-overview button,
  .personalization-thumb,
  .faq-item,
  .content-page-image,
  .newsletter-band,
  .cookie-banner
) {
  background-color: var(--shop-card) !important;
  background-image: none !important;
  border-color: var(--shop-line) !important;
  color: var(--shop-ink) !important;
  box-shadow: var(--shop-shadow) !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(
  .shop-category-card,
  .category-grid a,
  .social-card,
  .product-card,
  .blog-card,
  .account-card,
  .customer-order-card,
  .customer-personalization-card,
  .customer-voucher-card,
  .customer-address-card
) {
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 95, 162, 0.16), transparent 34%),
    linear-gradient(145deg, var(--shop-card), var(--shop-card-soft)) !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(
  h1, h2, h3, h4, strong, label, legend,
  .product-body h3,
  .shop-filter-result strong,
  .category-grid a strong,
  .shop-category-card strong,
  .social-card strong
) {
  color: var(--shop-ink) !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(
  p, small, li, td, th,
  .lead,
  .product-rating,
  .stock-note,
  .category-grid a small,
  .shop-category-card small,
  .social-card p,
  .blog-card p,
  .account-card p,
  .customer-order-card p,
  .customer-address-card p,
  .page-hero p,
  .section-head p
) {
  color: var(--shop-muted) !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(input, select, textarea) {
  background: var(--shop-card-soft) !important;
  border-color: var(--shop-line) !important;
  color: var(--shop-ink) !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(input, textarea)::placeholder {
  color: var(--shop-weak) !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(.product-media, .live-product-media, .thumbs span, .designer-stage) {
  background: var(--shop-card-soft) !important;
  color: var(--shop-muted) !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(.btn-ghost, .icon-link, .icon-only, .icon-btn) {
  background: color-mix(in srgb, var(--shop-card-soft) 82%, transparent) !important;
  border-color: var(--shop-line) !important;
  color: var(--shop-ink) !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .btn-ghost:hover {
  color: var(--shop-pink) !important;
  border-color: color-mix(in srgb, var(--shop-pink) 46%, var(--shop-line)) !important;
}

.account-subnav {
  width: min(100% - 36px, 1320px);
  margin: 0 auto 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.account-subnav a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  border: 1px solid var(--shop-line);
  border-radius: 999px;
  background: var(--shop-card);
  color: var(--shop-muted);
  padding: 9px 14px;
  font-weight: 900;
  text-decoration: none;
}

.account-subnav a:hover,
.account-subnav a[aria-current="page"] {
  border-color: color-mix(in srgb, var(--shop-pink) 48%, var(--shop-line));
  background: color-mix(in srgb, var(--shop-pink) 12%, var(--shop-card-soft));
  color: var(--shop-pink);
}

html[data-theme="dark"] .account-subnav a {
  background: var(--shop-card-soft) !important;
  border-color: var(--shop-line) !important;
  color: var(--shop-muted) !important;
}

html[data-theme="dark"] .account-subnav a:hover,
html[data-theme="dark"] .account-subnav a[aria-current="page"] {
  background: color-mix(in srgb, var(--shop-pink) 14%, var(--shop-card-soft)) !important;
  border-color: color-mix(in srgb, var(--shop-pink) 48%, var(--shop-line)) !important;
  color: var(--shop-pink) !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(.admin-notice, .admin-notice.is-error, .admin-notice.is-success, .admin-notice.is-warning) {
  background: var(--shop-card-soft) !important;
  border-color: var(--shop-line) !important;
  color: var(--shop-muted) !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .admin-notice.is-error {
  border-color: color-mix(in srgb, #ff5c7a 45%, var(--shop-line)) !important;
  color: #ffc6d0 !important;
}

html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .admin-notice.is-success {
  border-color: color-mix(in srgb, #64d98a 45%, var(--shop-line)) !important;
  color: #c8f7d8 !important;
}

@media (max-width: 760px) {
  .account-subnav {
    width: min(100% - 28px, 1320px);
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 6px;
    scrollbar-width: thin;
  }

  .account-subnav a {
    flex: 0 0 auto;
  }
}

.category-grid a > span:not(:first-child),
.shop-category-card > span:not(:first-child),
body[data-page="home"] .shop-category-card > span:last-child {
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  grid-row: auto !important;
  place-items: initial !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  color: inherit !important;
  font-size: inherit !important;
}

.category-grid a > span:first-child,
.shop-category-card > span:first-child {
  flex: 0 0 auto;
}

@media (max-width: 760px) {
  body[data-page="home"] .shop-category-card,
  .category-grid a,
  .shop-category-card {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    align-items: center !important;
  }

  body[data-page="home"] .shop-category-card strong,
  .shop-category-card strong,
  .category-grid a strong {
    overflow-wrap: anywhere;
  }
}

body[data-page="admin"] .auth-panel,
body[data-page^="admin-"] .auth-panel,
html[data-theme="dark"] body[data-page="admin"] .auth-panel,
html[data-theme="dark"] body[data-page^="admin-"] .auth-panel {
  width: min(100%, 620px) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  gap: 16px !important;
  align-content: start !important;
  background: var(--admin-inner) !important;
  border: 1px solid var(--admin-border) !important;
  border-radius: 24px !important;
  color: var(--admin-text) !important;
  padding: clamp(22px, 4vw, 38px) !important;
  overflow: visible !important;
}

body[data-page="admin"] .admin-shell:has(.auth-panel),
body[data-page^="admin-"] .admin-shell:has(.auth-panel) {
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  align-items: center !important;
  min-height: min(640px, calc(100vh - 48px)) !important;
}

body[data-page="admin"] .auth-panel h1,
body[data-page^="admin-"] .auth-panel h1 {
  max-width: 100% !important;
  margin: 0 !important;
  color: var(--admin-text) !important;
  font-size: clamp(2rem, 5vw, 3.2rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em !important;
  overflow-wrap: anywhere !important;
}

body[data-page="admin"] .auth-panel p,
body[data-page^="admin-"] .auth-panel p {
  max-width: 34rem !important;
  color: var(--admin-text-muted) !important;
  line-height: 1.55 !important;
}

html[data-theme="dark"] body[data-page="admin"],
html[data-theme="dark"] body[data-page^="admin-"] {
  --white: var(--admin-card);
  --cream: var(--admin-page);
  --section-bg: var(--admin-card);
  --card-bg: var(--admin-card);
  --ink: var(--admin-text);
  --muted: var(--admin-text-muted);
  --line: var(--admin-border);
  background: var(--admin-page) !important;
  color: var(--admin-text) !important;
}

html[data-theme="dark"] body[data-page="admin"] :is(
  .admin-shell,
  .admin-sidebar,
  .admin-main,
  .admin-top,
  .admin-card,
  .admin-panel,
  .admin-dashboard-card,
  .admin-chart-card,
  .admin-kpi-card,
  .admin-dashboard-hero,
  .admin-form-panel,
  .admin-toolbar,
  .admin-responsive-table,
  .admin-settings-hero,
  .admin-settings-tabs,
  .admin-settings-link-card,
  .admin-notice,
  .admin-empty,
  .price-results div,
  .admin-status-strip,
  .admin-switch,
  .admin-planned,
  .admin-media-card,
  .data-row
),
html[data-theme="dark"] body[data-page^="admin-"] :is(
  .admin-shell,
  .admin-sidebar,
  .admin-main,
  .admin-top,
  .admin-card,
  .admin-panel,
  .admin-dashboard-card,
  .admin-chart-card,
  .admin-kpi-card,
  .admin-dashboard-hero,
  .admin-form-panel,
  .admin-toolbar,
  .admin-responsive-table,
  .admin-settings-hero,
  .admin-settings-tabs,
  .admin-settings-link-card,
  .admin-notice,
  .admin-empty,
  .price-results div,
  .admin-status-strip,
  .admin-switch,
  .admin-planned,
  .admin-media-card,
  .data-row
) {
  background-color: var(--admin-card) !important;
  border-color: var(--admin-border) !important;
  color: var(--admin-text) !important;
}

html[data-theme="dark"] body[data-page="admin"] :is(.admin-chart-area, .admin-dashboard-statuses span, .admin-nav-group[open], .admin-simple-list li, .admin-warning-list li, .admin-activity-list li, .admin-dashboard-table td, .admin-settings-table, .admin-responsive-table td),
html[data-theme="dark"] body[data-page^="admin-"] :is(.admin-chart-area, .admin-dashboard-statuses span, .admin-nav-group[open], .admin-simple-list li, .admin-warning-list li, .admin-activity-list li, .admin-dashboard-table td, .admin-settings-table, .admin-responsive-table td) {
  background-color: var(--admin-inner) !important;
  border-color: var(--admin-border) !important;
  color: var(--admin-text-muted) !important;
}

html[data-theme="dark"] body[data-page="admin"] :is(th, .admin-dashboard-table th, .admin-responsive-table th),
html[data-theme="dark"] body[data-page^="admin-"] :is(th, .admin-dashboard-table th, .admin-responsive-table th) {
  background: var(--admin-table-head) !important;
  border-color: var(--admin-border) !important;
  color: var(--admin-text) !important;
}

html[data-theme="dark"] body[data-page="admin"] :is(h1, h2, h3, h4, strong, label, legend, .admin-brand-title strong),
html[data-theme="dark"] body[data-page^="admin-"] :is(h1, h2, h3, h4, strong, label, legend, .admin-brand-title strong) {
  color: var(--admin-text) !important;
}

html[data-theme="dark"] body[data-page="admin"] :is(p, small, span, td, li, .admin-top p, .admin-panel p, .admin-dashboard-card p),
html[data-theme="dark"] body[data-page^="admin-"] :is(p, small, span, td, li, .admin-top p, .admin-panel p, .admin-dashboard-card p) {
  color: var(--admin-text-muted);
}

html[data-theme="dark"] body[data-page="admin"] :is(input, select, textarea, button.admin-menu-toggle),
html[data-theme="dark"] body[data-page^="admin-"] :is(input, select, textarea, button.admin-menu-toggle) {
  background: var(--admin-inner) !important;
  border-color: var(--admin-border) !important;
  color: var(--admin-text) !important;
}

/* Mobile usability rebuild: customer header, burger drawer, touch scrolling */
@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  body.mobile-nav-open {
    overflow: hidden !important;
    touch-action: none;
  }

  body.mobile-nav-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 900;
    background: rgba(10, 12, 18, 0.52);
    backdrop-filter: blur(6px);
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) main {
    overflow: visible !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .top-strip {
    min-height: 28px;
    overflow: hidden;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header,
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header:not(.is-scrolled) {
    position: sticky !important;
    top: 0 !important;
    z-index: 930 !important;
    display: grid !important;
    grid-template-columns: minmax(74px, auto) minmax(0, 1fr) 50px !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 72px !important;
    height: auto !important;
    padding: calc(env(safe-area-inset-top, 0px) + 8px) 10px 8px !important;
    border-bottom: 1px solid var(--shop-line) !important;
    background: color-mix(in srgb, var(--shop-card) 92%, transparent) !important;
    box-shadow: 0 12px 36px rgba(15, 23, 42, 0.14) !important;
    backdrop-filter: blur(18px) !important;
  }

  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header,
  html[data-theme="dark"] body[data-page="home"] .site-header,
  html[data-theme="dark"] body[data-page="home"] .site-header:not(.is-scrolled) {
    background: rgba(15, 23, 42, 0.92) !important;
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.36) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    width: 74px !important;
    height: 54px !important;
    min-width: 74px !important;
    min-height: 54px !important;
    max-width: 74px !important;
    max-height: 54px !important;
    overflow: visible !important;
    border-radius: 0 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .brand-fallback {
    display: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .header-icons {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    display: flex !important;
    grid-template-columns: none !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    gap: 6px !important;
    padding: 2px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .header-icons::-webkit-scrollbar {
    display: none;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .header-icons .icon-link,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .header-icons .icon-btn,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .header-icons .icon-only {
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .account-link .account-name {
    display: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    position: relative !important;
    z-index: 960 !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav,
  body[data-page="home"] .site-nav {
    position: fixed !important;
    inset: 0 0 0 auto !important;
    z-index: 950 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-content: start !important;
    gap: 10px !important;
    width: min(88vw, 360px) !important;
    max-width: min(88vw, 360px) !important;
    height: 100dvh !important;
    max-height: none !important;
    padding: calc(env(safe-area-inset-top, 0px) + 82px) 16px 24px !important;
    border: 0 !important;
    border-left: 1px solid var(--shop-line) !important;
    border-radius: 24px 0 0 24px !important;
    background: color-mix(in srgb, var(--shop-card) 97%, transparent) !important;
    box-shadow: -28px 0 70px rgba(0, 0, 0, 0.34) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    backdrop-filter: blur(18px) !important;
    clip-path: inset(0 0 0 100%) !important;
    opacity: 0.2 !important;
    transform: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: clip-path 0.22s ease, opacity 0.22s ease, visibility 0.22s ease !important;
  }

  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav,
  html[data-theme="dark"] body[data-page="home"] .site-nav {
    background: rgba(15, 23, 42, 0.98) !important;
    box-shadow: -28px 0 74px rgba(0, 0, 0, 0.52) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav.is-open,
  body[data-page="home"] .site-nav.is-open {
    clip-path: inset(0) !important;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
    width: 100% !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 13px 14px !important;
    border: 1px solid var(--shop-line) !important;
    border-radius: 16px !important;
    background: color-mix(in srgb, var(--shop-card-soft) 80%, transparent) !important;
    color: var(--shop-ink) !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
  }

  body[data-page="home"] .hero {
    padding-top: clamp(28px, 8vw, 46px) !important;
  }

  .account-subnav {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    padding: 8px 4px 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .account-subnav::-webkit-scrollbar {
    display: none;
  }

  .account-subnav a {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    white-space: nowrap !important;
    scroll-snap-align: start;
  }

  .shop-filter-panel,
  .filter-panel,
  [data-shop-filters] {
    max-height: none !important;
    overflow: visible !important;
  }
}

.mobile-nav-actions {
  display: none;
}

/* Mobile menu redesign v2: no squeezed desktop icon bar in the phone header */
@media (max-width: 760px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header,
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header:not(.is-scrolled) {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    min-height: 74px !important;
    padding: calc(env(safe-area-inset-top, 0px) + 8px) 14px 8px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header > .header-icons {
    display: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    width: 116px !important;
    min-width: 116px !important;
    height: 46px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--shop-pink), color-mix(in srgb, var(--shop-pink) 72%, var(--shop-mint))) !important;
    border-color: color-mix(in srgb, var(--shop-pink) 70%, var(--shop-line)) !important;
    color: #fff !important;
    font-size: 0 !important;
    box-shadow: 0 16px 36px rgba(216, 93, 150, 0.3) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 12px !important;
    border-top: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    box-shadow: 0 5px 0 currentColor !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::after {
    content: "Menü" !important;
    display: inline !important;
    font-size: 0.88rem !important;
    font-weight: 950 !important;
    letter-spacing: 0.01em !important;
    line-height: 1 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::before {
    flex-basis: 18px !important;
    width: 18px !important;
    height: 18px !important;
    border: 0 !important;
    box-shadow: none !important;
    background:
      linear-gradient(currentColor, currentColor) center / 18px 2px no-repeat,
      linear-gradient(currentColor, currentColor) center / 2px 18px no-repeat !important;
    transform: rotate(45deg) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::after {
    content: "Schließen" !important;
    font-size: 0.78rem !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav,
  body[data-page="home"] .site-nav {
    width: min(94vw, 390px) !important;
    max-width: min(94vw, 390px) !important;
    padding: calc(env(safe-area-inset-top, 0px) + 86px) 18px 26px !important;
    border-radius: 30px 0 0 30px !important;
  }

  .mobile-nav-actions {
    display: grid !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    border: 1px solid var(--shop-line) !important;
    border-radius: 22px !important;
    background: color-mix(in srgb, var(--shop-card-soft) 84%, transparent) !important;
  }

  .mobile-nav-kicker {
    margin: 0 !important;
    color: var(--shop-muted) !important;
    font-size: 0.78rem !important;
    font-weight: 950 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  .mobile-nav-action-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .mobile-nav-action {
    position: relative !important;
    min-height: 62px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding: 12px 28px 12px 12px !important;
    border: 1px solid var(--shop-line) !important;
    border-radius: 18px !important;
    background: color-mix(in srgb, var(--shop-card) 88%, transparent) !important;
    color: var(--shop-ink) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1) !important;
  }

  .mobile-nav-action .theme-icon,
  .mobile-nav-action .theme-icon img {
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
  }

  .mobile-nav-action-label {
    display: inline !important;
    color: inherit !important;
    font-size: 0.84rem !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
  }

  .mobile-nav-action .bubble,
  .mobile-nav-action [data-cart-count] {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    margin-left: 0 !important;
    min-width: 22px !important;
    height: 22px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: var(--shop-pink) !important;
    color: #fff !important;
    font-size: 0.72rem !important;
    font-weight: 950 !important;
  }

  html[data-theme="dark"] .mobile-nav-actions,
  html[data-theme="dark"] .mobile-nav-action {
    background: rgba(30, 41, 59, 0.72) !important;
    border-color: rgba(148, 163, 184, 0.25) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28) !important;
  }
}

@media (max-width: 430px) {
  .mobile-nav-action-grid {
    grid-template-columns: 1fr !important;
  }

  .mobile-nav-action {
    min-height: 54px !important;
  }
}

/* Final dark-mode readability guard: prevent bright/unreadable cards from resurfacing */
html[data-theme="dark"] body {
  color-scheme: dark;
}

html[data-theme="dark"] body :is(
  .page-hero,
  .section,
  .form-panel,
  .auth-panel,
  .shop-filter-panel,
  .filter-panel,
  .shop-empty-state,
  .product-card,
  .product-detail,
  .product-body,
  .category-grid a,
  .shop-category-card,
  .social-card,
  .blog-card,
  .blog-detail-card,
  .benefit-grid article,
  .account-card,
  .account-panel,
  .account-hero,
  .account-summary,
  .profile-card,
  .address-card,
  .order-card,
  .favorite-product-card,
  .checkout-card,
  .summary-card,
  .data-panel,
  .data-row,
  .search-panel,
  .search-result,
  .support-card,
  .ticket-card,
  .cookie-banner,
  .modal,
  .mobile-nav-actions,
  .mobile-nav-action,
  .admin-panel,
  .admin-card,
  .admin-dashboard-card,
  .admin-stat-card,
  .admin-chart-card,
  .admin-settings-card,
  .admin-table-card,
  .admin-responsive-table,
  .admin-simple-list li,
  .admin-warning-list li,
  .admin-activity-list li,
  .admin-shell main,
  .admin-sidebar
) {
  background-color: color-mix(in srgb, var(--shop-card, #111827) 92%, #0f172a) !important;
  border-color: color-mix(in srgb, var(--shop-line, rgba(148,163,184,.28)) 80%, rgba(148,163,184,.32)) !important;
  color: var(--shop-ink, #f8fafc) !important;
}

html[data-theme="dark"] body[data-page="admin"] :is(
  .admin-panel,
  .admin-card,
  .admin-dashboard-card,
  .admin-stat-card,
  .admin-chart-card,
  .admin-settings-card,
  .admin-table-card,
  .admin-responsive-table,
  .admin-simple-list li,
  .admin-warning-list li,
  .admin-activity-list li,
  .admin-shell main,
  .admin-sidebar
),
html[data-theme="dark"] body[data-page^="admin-"] :is(
  .admin-panel,
  .admin-card,
  .admin-dashboard-card,
  .admin-stat-card,
  .admin-chart-card,
  .admin-settings-card,
  .admin-table-card,
  .admin-responsive-table,
  .admin-simple-list li,
  .admin-warning-list li,
  .admin-activity-list li,
  .admin-shell main,
  .admin-sidebar
) {
  background-color: var(--admin-card, #1e293b) !important;
  border-color: var(--admin-border, rgba(148,163,184,.28)) !important;
  color: var(--admin-text, #f8fafc) !important;
}

html[data-theme="dark"] body :is(
  input,
  select,
  textarea,
  .newsletter-inline,
  .password-field,
  .password-toggle,
  .qty-input,
  table,
  thead,
  tbody,
  tr,
  th,
  td
) {
  background-color: color-mix(in srgb, var(--shop-card-soft, #1e293b) 88%, #0f172a) !important;
  border-color: var(--shop-line, rgba(148,163,184,.28)) !important;
  color: var(--shop-ink, #f8fafc) !important;
}

html[data-theme="dark"] body :is(
  p,
  small,
  span,
  li,
  label,
  td,
  .muted,
  .product-from,
  .stock-note,
  .form-note,
  .account-muted,
  .admin-muted,
  .admin-panel p,
  .admin-dashboard-card p
) {
  color: var(--shop-muted, #cbd5e1) !important;
}

html[data-theme="dark"] body :is(h1, h2, h3, h4, strong, legend, th, .admin-brand-title strong) {
  color: var(--shop-ink, #f8fafc) !important;
}

html[data-theme="dark"] body :is(.btn, button, .password-toggle, .icon-btn) {
  border-color: color-mix(in srgb, var(--shop-pink, #e85c9a) 42%, var(--shop-line, rgba(148,163,184,.28))) !important;
}

/* Elvora final product redesign pass: customer mobile, admin cockpit, sidebar, calendar */
:root {
  --elvora-admin-bg: #f7f3fb;
  --elvora-admin-shell: #ffffff;
  --elvora-admin-card: #ffffff;
  --elvora-admin-card-2: #f7effb;
  --elvora-admin-hover: #f1e8f7;
  --elvora-admin-border: rgba(33, 24, 45, 0.12);
  --elvora-admin-text: #211b2d;
  --elvora-admin-muted: #665a75;
  --elvora-admin-pink: #ff5fa2;
  --elvora-admin-cyan: #20bfc4;
  --elvora-admin-warning: #b77900;
  --elvora-admin-error: #d9305f;
  --elvora-admin-success: #248a52;
}

html[data-theme="dark"] {
  --elvora-admin-bg: #171421;
  --elvora-admin-shell: #211b2d;
  --elvora-admin-card: #2a2338;
  --elvora-admin-card-2: #241e31;
  --elvora-admin-hover: #352c47;
  --elvora-admin-border: rgba(255, 255, 255, 0.11);
  --elvora-admin-text: #ffffff;
  --elvora-admin-muted: #cfc6dc;
  --elvora-admin-pink: #ff5fa2;
  --elvora-admin-cyan: #62e6e0;
  --elvora-admin-warning: #ffb020;
  --elvora-admin-error: #ff5c7a;
  --elvora-admin-success: #64d98a;
}

body.mobile-nav-open {
  overflow: hidden !important;
  touch-action: none;
}

body.admin-nav-open {
  overflow: hidden !important;
  touch-action: none;
}

@media (max-width: 760px) {
  body.mobile-nav-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 925;
    background: rgba(9, 8, 13, 0.54);
    backdrop-filter: blur(4px);
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header,
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header:not(.is-scrolled) {
    position: sticky !important;
    top: 0 !important;
    grid-template-columns: minmax(118px, auto) minmax(0, 1fr) minmax(104px, auto) !important;
    min-height: 82px !important;
    padding: calc(env(safe-area-inset-top, 0px) + 9px) 14px 9px !important;
    background: color-mix(in srgb, var(--shop-card) 90%, transparent) !important;
    border-bottom: 1px solid var(--shop-line) !important;
    box-shadow: 0 16px 38px rgba(17, 14, 24, 0.14) !important;
    backdrop-filter: blur(18px) !important;
  }

  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header,
  html[data-theme="dark"] body[data-page="home"] .site-header,
  html[data-theme="dark"] body[data-page="home"] .site-header:not(.is-scrolled) {
    background: rgba(33, 27, 45, 0.92) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand {
    width: 124px !important;
    min-width: 124px !important;
    height: 66px !important;
    min-height: 66px !important;
    margin: 0 !important;
    justify-content: flex-start !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    overflow: visible !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header > .header-icons {
    display: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    grid-column: 3 !important;
    justify-self: end !important;
    position: relative !important;
    z-index: 960 !important;
    width: 108px !important;
    min-width: 108px !important;
    height: 48px !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    padding: 0 14px !important;
    border: 1px solid color-mix(in srgb, var(--shop-pink) 58%, transparent) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--shop-pink), color-mix(in srgb, var(--shop-pink) 64%, var(--shop-mint))) !important;
    color: #fff !important;
    box-shadow: 0 16px 36px rgba(255, 95, 162, 0.30) !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before {
    content: "" !important;
    flex: 0 0 19px !important;
    width: 19px !important;
    height: 14px !important;
    border-top: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    box-shadow: 0 6px 0 currentColor !important;
    background: none !important;
    transform: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::after {
    content: "Menü" !important;
    display: inline !important;
    color: currentColor !important;
    font-size: 0.9rem !important;
    font-weight: 950 !important;
    letter-spacing: 0.01em !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::before {
    height: 19px !important;
    border: 0 !important;
    box-shadow: none !important;
    background:
      linear-gradient(currentColor, currentColor) center / 19px 2px no-repeat,
      linear-gradient(currentColor, currentColor) center / 2px 19px no-repeat !important;
    transform: rotate(45deg) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::after {
    content: "Schließen" !important;
    font-size: 0.76rem !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav,
  body[data-page="home"] .site-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 950 !important;
    display: grid !important;
    align-content: start !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: min(85vw, 360px) !important;
    max-width: min(85vw, 360px) !important;
    height: 100dvh !important;
    padding: calc(env(safe-area-inset-top, 0px) + 92px) 16px 26px !important;
    border: 0 !important;
    border-right: 1px solid var(--shop-line) !important;
    border-radius: 0 30px 30px 0 !important;
    background: color-mix(in srgb, var(--shop-card) 98%, transparent) !important;
    box-shadow: 28px 0 70px rgba(0, 0, 0, 0.34) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    transform: translateX(-104%) !important;
    clip-path: none !important;
    opacity: 1 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform 0.24s ease, visibility 0.24s ease !important;
  }

  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav,
  html[data-theme="dark"] body[data-page="home"] .site-nav {
    background: rgba(33, 27, 45, 0.99) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav.is-open,
  body[data-page="home"] .site-nav.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
    min-height: 52px !important;
    padding: 13px 14px !important;
    border-radius: 16px !important;
    background: color-mix(in srgb, var(--shop-card-soft) 78%, transparent) !important;
    color: var(--shop-ink) !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
  }

  body[data-page="home"] .hero {
    padding-top: clamp(34px, 9vw, 56px) !important;
  }
}

body[data-page="admin"],
body[data-page^="admin-"] {
  background: var(--elvora-admin-bg) !important;
  color: var(--elvora-admin-text) !important;
}

body[data-page="admin"] .admin-shell,
body[data-page^="admin-"] .admin-shell {
  width: min(1540px, calc(100% - 28px)) !important;
  grid-template-columns: 288px minmax(0, 1fr) !important;
  gap: 18px !important;
  padding: 16px !important;
  background: var(--elvora-admin-shell) !important;
  border-color: var(--elvora-admin-border) !important;
  border-radius: 30px !important;
}

body[data-page="admin"] .admin-sidebar,
body[data-page^="admin-"] .admin-sidebar {
  background: var(--elvora-admin-card) !important;
  border-color: var(--elvora-admin-border) !important;
  border-radius: 24px !important;
}

body[data-page="admin"] .admin-shell > main,
body[data-page^="admin-"] .admin-shell > main {
  min-width: 0 !important;
  background: transparent !important;
  color: var(--elvora-admin-text) !important;
}

body[data-page="admin"] .admin-panel,
body[data-page^="admin-"] .admin-panel,
body[data-page="admin"] .admin-top,
body[data-page^="admin-"] .admin-top,
body[data-page="admin"] .admin-kpi-card,
body[data-page^="admin-"] .admin-kpi-card {
  background: var(--elvora-admin-card) !important;
  border-color: var(--elvora-admin-border) !important;
  color: var(--elvora-admin-text) !important;
}

.admin-dashboard {
  gap: 16px !important;
}

.admin-dashboard-hero {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr) !important;
  align-items: end !important;
  padding: clamp(22px, 3vw, 32px) !important;
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--elvora-admin-pink) 26%, transparent), transparent 34%),
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--elvora-admin-cyan) 18%, transparent), transparent 34%),
    var(--elvora-admin-card) !important;
  border-color: var(--elvora-admin-border) !important;
}

.admin-dashboard-hero h1 {
  margin: 0 0 6px !important;
  font-size: clamp(2rem, 3.4vw, 3.25rem) !important;
  letter-spacing: -0.045em !important;
}

.admin-dashboard-statuses {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.admin-dashboard-statuses span {
  min-height: 76px !important;
  background: var(--elvora-admin-card-2) !important;
  border-color: var(--elvora-admin-border) !important;
}

.admin-dashboard-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.admin-kpi-card {
  min-height: 132px !important;
  padding: 18px 18px 16px !important;
  border-radius: 22px !important;
}

.admin-dashboard-control-grid {
  grid-template-columns: minmax(420px, 1.36fr) minmax(300px, 0.82fr) minmax(280px, 0.72fr) !important;
  align-items: stretch !important;
}

.admin-chart-area {
  min-height: 246px !important;
  background: var(--elvora-admin-card-2) !important;
  border-color: var(--elvora-admin-border) !important;
}

.admin-revenue-svg rect {
  fill: url(#elvoraRevenueGradient) !important;
}

.admin-revenue-svg .grid line,
.admin-revenue-svg line {
  stroke: var(--elvora-admin-border) !important;
}

.admin-revenue-svg polyline {
  stroke: var(--elvora-admin-cyan) !important;
}

.admin-revenue-svg circle {
  fill: var(--elvora-admin-pink) !important;
}

.admin-donut-svg circle {
  fill: var(--elvora-admin-card-2) !important;
}

.admin-chart-legend {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.admin-chart-legend li i {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--legend-color);
}

.admin-calendar-card {
  display: grid !important;
  align-content: start !important;
  gap: 14px !important;
}

.admin-mini-calendar {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--elvora-admin-border);
  border-radius: 12px;
  background: var(--elvora-admin-card-2);
}

.admin-calendar-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.admin-calendar-head strong {
  color: var(--elvora-admin-text) !important;
}

.admin-calendar-head small {
  color: var(--elvora-admin-muted) !important;
}

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

.admin-calendar-weekdays span {
  color: var(--elvora-admin-muted) !important;
  font-size: 0.72rem;
  font-weight: 900;
  text-align: center;
}

.admin-calendar-grid span {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 32px;
  border-radius: 11px;
  color: var(--elvora-admin-text) !important;
  font-size: 0.83rem;
  font-weight: 850;
}

.admin-calendar-grid .is-muted {
  opacity: 0.36;
}

.admin-calendar-grid .is-today {
  background: var(--elvora-admin-pink);
  color: #fff !important;
}

.admin-calendar-grid .has-event::after {
  content: "";
  position: absolute;
  bottom: 4px;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: var(--elvora-admin-cyan);
}

.admin-calendar-grid .is-today.has-event::after {
  background: #fff;
}

.admin-upcoming-list ul {
  display: grid;
  gap: 9px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-upcoming-list li {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--elvora-admin-border);
  border-radius: 16px;
  background: var(--elvora-admin-card-2);
}

.admin-upcoming-list time {
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: color-mix(in srgb, var(--elvora-admin-pink) 14%, transparent);
  color: var(--elvora-admin-pink);
  font-weight: 950;
  line-height: 1.1;
}

.admin-upcoming-list time small,
.admin-upcoming-list li small {
  color: var(--elvora-admin-muted) !important;
  font-size: 0.74rem;
}

.admin-upcoming-list li.priority-high time,
.admin-upcoming-list li.priority-critical time,
.admin-upcoming-list li.priority-urgent time {
  background: color-mix(in srgb, var(--elvora-admin-warning) 18%, transparent);
  color: var(--elvora-admin-warning);
}

.admin-dashboard-grid-compact {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.admin-responsive-table,
.admin-dashboard-table,
body[data-page="admin"] table,
body[data-page^="admin-"] table {
  background: var(--elvora-admin-card-2) !important;
  border-color: var(--elvora-admin-border) !important;
  color: var(--elvora-admin-text) !important;
}

body[data-page="admin"] th,
body[data-page^="admin-"] th {
  background: color-mix(in srgb, var(--elvora-admin-card-2) 82%, var(--elvora-admin-hover)) !important;
  color: var(--elvora-admin-text) !important;
}

body[data-page="admin"] td,
body[data-page^="admin-"] td {
  color: var(--elvora-admin-muted) !important;
}

.admin-status,
.admin-status-badge {
  background: color-mix(in srgb, var(--elvora-admin-cyan) 13%, transparent) !important;
  border-color: color-mix(in srgb, var(--elvora-admin-cyan) 36%, transparent) !important;
  color: var(--elvora-admin-cyan) !important;
}

.admin-nav-group summary::after {
  content: "" !important;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  opacity: 0.72;
}

.admin-nav-group[open] summary::after {
  transform: rotate(45deg) !important;
}

body[data-page="admin"] .admin-nav a.is-active,
body[data-page^="admin-"] .admin-nav a.is-active,
body[data-page="admin"] .admin-nav a.active,
body[data-page^="admin-"] .admin-nav a.active {
  background: linear-gradient(135deg, color-mix(in srgb, var(--elvora-admin-pink) 20%, transparent), color-mix(in srgb, var(--elvora-admin-cyan) 12%, transparent)) !important;
  color: var(--elvora-admin-text) !important;
  border: 1px solid color-mix(in srgb, var(--elvora-admin-pink) 28%, var(--elvora-admin-border)) !important;
}

@media (max-width: 1280px) {
  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    grid-template-columns: 1fr !important;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    position: sticky !important;
    top: 8px !important;
    z-index: 80 !important;
    max-height: none !important;
  }

  .admin-dashboard-control-grid,
  .admin-dashboard-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .admin-revenue-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 760px) {
  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--elvora-admin-bg) !important;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    position: sticky !important;
    top: 0 !important;
    z-index: 940 !important;
    border-radius: 0 0 22px 22px !important;
    padding: calc(env(safe-area-inset-top, 0px) + 10px) 14px 12px !important;
    background: color-mix(in srgb, var(--elvora-admin-card) 96%, transparent) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18) !important;
    backdrop-filter: blur(18px);
  }

  .admin-brand-row {
    min-height: 58px !important;
    align-items: center !important;
  }

  .admin-brand img {
    max-height: 58px !important;
    object-fit: contain !important;
  }

  .admin-menu-toggle {
    width: 50px !important;
    height: 50px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--elvora-admin-pink), color-mix(in srgb, var(--elvora-admin-pink) 52%, var(--elvora-admin-cyan))) !important;
    color: #fff !important;
    font-size: 0 !important;
  }

  .admin-menu-toggle::before {
    content: "" !important;
    width: 21px;
    height: 15px;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    box-shadow: 0 6px 0 currentColor;
  }

  .admin-sidebar.is-open .admin-menu-toggle::before {
    width: 21px;
    height: 21px;
    border: 0;
    box-shadow: none;
    background:
      linear-gradient(currentColor, currentColor) center / 21px 2px no-repeat,
      linear-gradient(currentColor, currentColor) center / 2px 21px no-repeat;
    transform: rotate(45deg);
  }

  .admin-sidebar .admin-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 930 !important;
    width: min(85vw, 360px) !important;
    height: 100dvh !important;
    max-height: none !important;
    display: grid !important;
    align-content: start !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: calc(env(safe-area-inset-top, 0px) + 88px) 14px 24px !important;
    background: var(--elvora-admin-card) !important;
    border-right: 1px solid var(--elvora-admin-border) !important;
    box-shadow: 28px 0 70px rgba(0, 0, 0, 0.36) !important;
    overflow-y: auto !important;
    transform: translateX(-104%) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform 0.24s ease, visibility 0.24s ease !important;
  }

  .admin-sidebar.is-open .admin-nav {
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .admin-sidebar.is-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 920;
    background: rgba(9, 8, 13, 0.54);
    backdrop-filter: blur(4px);
  }

  .admin-sidebar.is-open .admin-nav {
    z-index: 930 !important;
  }

  body[data-page="admin"] .admin-shell > main,
  body[data-page^="admin-"] .admin-shell > main {
    padding: 14px !important;
  }

  .admin-top,
  .admin-dashboard-hero,
  .admin-panel,
  .admin-kpi-card {
    border-radius: 20px !important;
  }

  .admin-dashboard-hero,
  .admin-dashboard-kpis,
  .admin-dashboard-statuses,
  .admin-dashboard-control-grid,
  .admin-dashboard-grid-compact,
  .admin-donut-wrap {
    grid-template-columns: 1fr !important;
  }

  .admin-dashboard-hero {
    padding: 18px !important;
  }

  .admin-dashboard-kpis {
    gap: 10px !important;
  }

  .admin-kpi-card {
    min-height: 106px !important;
    padding: 14px 16px !important;
  }

  .admin-kpi-card strong {
    font-size: clamp(1.55rem, 8vw, 2rem) !important;
  }

  .admin-chart-area {
    min-height: 230px !important;
    padding: 10px !important;
  }

  .admin-donut-svg {
    max-width: 230px;
    margin-inline: auto;
  }

  .admin-panel-heading,
  .admin-top {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .admin-responsive-table {
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  .admin-responsive-table table,
  .admin-responsive-table thead,
  .admin-responsive-table tbody,
  .admin-responsive-table tr,
  .admin-responsive-table th,
  .admin-responsive-table td {
    display: block !important;
    width: 100% !important;
  }

  .admin-responsive-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
  }

  .admin-responsive-table tbody {
    display: grid !important;
    gap: 10px !important;
  }

  .admin-responsive-table tr {
    padding: 10px 12px !important;
    border: 1px solid var(--elvora-admin-border) !important;
    border-radius: 16px !important;
    background: var(--elvora-admin-card-2) !important;
  }

  .admin-responsive-table td {
    display: grid !important;
    grid-template-columns: minmax(90px, 0.42fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 8px 0 !important;
    color: var(--elvora-admin-muted) !important;
    overflow-wrap: anywhere !important;
  }

  .admin-responsive-table td::before {
    content: attr(data-label);
    color: var(--elvora-admin-text);
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
  }
}

/* Customer mobile logo final sizing: larger visible mark without clipping */
@media (max-width: 760px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header,
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header:not(.is-scrolled) {
    grid-template-columns: minmax(166px, auto) minmax(0, 1fr) minmax(108px, auto) !important;
    min-height: 90px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand {
    width: 166px !important;
    min-width: 166px !important;
    height: 72px !important;
    min-height: 72px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    width: 158px !important;
    min-width: 158px !important;
    max-width: 158px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    overflow: visible !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img {
    transform: scale(1.52) !important;
    transform-origin: left center !important;
  }
}

/* Final audit v12: storefront overflow and touch-target polish */
body:not([data-page="admin"]):not([data-page^="admin-"]) *,
body:not([data-page="admin"]):not([data-page^="admin-"]) *::before,
body:not([data-page="admin"]):not([data-page^="admin-"]) *::after {
  box-sizing: border-box;
  min-width: 0;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) :is(h1, h2, h3, p, a, button, label, span, strong, small, input, select, textarea) {
  max-width: 100%;
  overflow-wrap: anywhere;
  hyphens: auto;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
  overflow: hidden !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  transform: none !important;
}

.menu-toggle-label {
  font-size: 0 !important;
  line-height: 0 !important;
}

.admin-menu-toggle .menu-toggle-label,
.menu-toggle .menu-toggle-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .icon-link.icon-only,
body:not([data-page="admin"]):not([data-page^="admin-"]) .cart-count {
  width: 52px !important;
  min-width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  overflow: visible !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .cart-count [data-cart-count],
body:not([data-page="admin"]):not([data-page^="admin-"]) [data-favorites-count] {
  min-width: 22px !important;
  padding-inline: 6px !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .designer-swatch {
  min-width: 112px;
  padding: 4px 6px 2px;
  overflow: hidden;
  text-align: center;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .designer-swatch > span {
  margin-inline: auto;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .designer-swatch small {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .shop-category-card,
body:not([data-page="admin"]):not([data-page^="admin-"]) .category-grid a {
  min-width: min(100%, 168px);
}

@media (max-width: 760px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand {
    width: min(172px, 50vw) !important;
    min-width: min(172px, 50vw) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    width: min(164px, 48vw) !important;
    min-width: min(164px, 48vw) !important;
    height: 66px !important;
    min-height: 66px !important;
  }
}

/* Final override: admin global correction must win after all older layers */
body[data-page="admin"] :is(.admin-top,.admin-workspace,.admin-panel,.admin-card,.admin-dashboard-card,.admin-kpi-card,.admin-role-card),body[data-page^="admin-"] :is(.admin-top,.admin-workspace,.admin-panel,.admin-card,.admin-dashboard-card,.admin-kpi-card,.admin-role-card){background:var(--elvora-admin-card)!important;color:var(--elvora-admin-text)!important;border-color:var(--elvora-admin-border)!important;min-height:0!important;overflow:visible!important}.admin-metric-grid,.admin-metrics{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(168px,1fr))!important;gap:14px!important}.admin-metric-card,.admin-metrics>div,.admin-metrics>a{background:var(--elvora-admin-card-2)!important;color:var(--elvora-admin-text)!important;border:1px solid var(--elvora-admin-border)!important;border-radius:22px!important;min-height:96px!important;padding:16px!important}.admin-responsive-table{max-width:100%!important;overflow-x:auto!important;border-radius:20px!important;background:var(--elvora-admin-card-2)!important;border:1px solid var(--elvora-admin-border)!important}.admin-responsive-table table,body[data-page="admin"] .admin-panel>table,body[data-page^="admin-"] .admin-panel>table{min-width:760px!important;table-layout:auto!important}.admin-row-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.admin-edit-button,.admin-row-actions>*,.admin-panel .btn{min-height:40px!important;max-width:100%!important;white-space:normal!important}.admin-dashboard-list,.admin-roles-workspace,.admin-permission-list{display:grid!important;gap:10px!important}.admin-dashboard-list article,.admin-permission-group,.admin-monitor-card{background:var(--elvora-admin-card-2)!important;border:1px solid var(--elvora-admin-border)!important;border-radius:18px!important}.admin-dashboard-list article{padding:13px 14px!important}.admin-dashboard-list p{display:flex!important;justify-content:space-between!important;gap:12px!important;margin:0!important}.admin-dashboard-list span,.admin-monitor-card span,.admin-monitor-card small,.admin-secret-mask,.admin-muted{color:var(--elvora-admin-muted)!important}.admin-dashboard-list strong,.admin-monitor-card strong{color:var(--elvora-admin-text)!important}.admin-role-card summary{display:flex!important;justify-content:space-between!important;gap:14px!important;padding:18px 20px!important;cursor:pointer!important;background:linear-gradient(135deg,color-mix(in srgb,var(--elvora-admin-card-2) 92%,transparent),color-mix(in srgb,var(--elvora-admin-pink) 7%,transparent))!important}.admin-role-card summary::-webkit-details-marker{display:none!important}.admin-permission-groups{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:12px!important;padding:16px 18px!important}.admin-permission-group{padding:14px!important}.admin-permission-row{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:10px!important;align-items:start!important}.admin-permission-row input{width:20px!important;height:20px!important;accent-color:var(--elvora-admin-pink)!important}.admin-role-actions{position:sticky!important;bottom:0!important;padding:14px 18px!important;display:flex!important;justify-content:flex-end!important;background:color-mix(in srgb,var(--elvora-admin-card) 92%,transparent)!important;border-top:1px solid var(--elvora-admin-border)!important;backdrop-filter:blur(14px)}.admin-monitor-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:12px!important}.admin-monitor-card{min-height:112px!important;padding:16px!important;display:grid!important;align-content:center!important;gap:7px!important}.admin-url-cell{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important}.admin-url-cell code{max-width:min(34vw,360px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;padding:8px 10px!important;border-radius:12px!important;background:color-mix(in srgb,var(--elvora-admin-bg) 64%,transparent)!important;color:var(--elvora-admin-text)!important}.admin-status.is-success{color:var(--elvora-admin-success)!important;border-color:color-mix(in srgb,var(--elvora-admin-success) 42%,transparent)!important;background:color-mix(in srgb,var(--elvora-admin-success) 14%,transparent)!important}.admin-status.is-warning{color:var(--elvora-admin-warning)!important;border-color:color-mix(in srgb,var(--elvora-admin-warning) 42%,transparent)!important;background:color-mix(in srgb,var(--elvora-admin-warning) 16%,transparent)!important}.admin-status.is-danger{color:var(--elvora-admin-error)!important;border-color:color-mix(in srgb,var(--elvora-admin-error) 42%,transparent)!important;background:color-mix(in srgb,var(--elvora-admin-error) 15%,transparent)!important}@media(max-width:760px){.admin-metric-grid,.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.admin-responsive-table{overflow:visible!important;border:0!important;background:transparent!important}.admin-responsive-table :is(table,thead,tbody,tr,th,td){display:block!important;min-width:0!important;width:100%!important}.admin-responsive-table thead{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}.admin-responsive-table tbody{display:grid!important;gap:10px!important}.admin-responsive-table tr{display:grid!important;padding:12px 14px!important;border-radius:18px!important;border:1px solid var(--elvora-admin-border)!important;background:var(--elvora-admin-card-2)!important}.admin-responsive-table td{display:grid!important;grid-template-columns:minmax(96px,.42fr) minmax(0,1fr)!important;gap:10px!important;padding:8px 0!important;overflow-wrap:anywhere!important}.admin-responsive-table td::before{content:attr(data-label);color:var(--elvora-admin-text)!important;font-size:.72rem!important;font-weight:950!important;text-transform:uppercase!important}.admin-row-actions,.admin-url-cell,.admin-monitor-grid,.admin-permission-groups{grid-template-columns:1fr!important}.admin-row-actions,.admin-url-cell{display:grid!important}.admin-row-actions>*,.admin-edit-button,.admin-role-actions .btn{width:100%!important;justify-content:center!important}}

/* Final audit v12: admin overflow and compact-dashboard polish */
body[data-page="admin"] *,
body[data-page^="admin-"] * {
  box-sizing: border-box;
  min-width: 0;
}

body[data-page="admin"] :is(p, span, strong, small, a, button, label, th, td, h1, h2, h3),
body[data-page^="admin-"] :is(p, span, strong, small, a, button, label, th, td, h1, h2, h3) {
  max-width: 100%;
  overflow-wrap: anywhere;
  hyphens: auto;
}

body[data-page="admin"] .admin-brand,
body[data-page^="admin-"] .admin-brand {
  width: min(190px, 100%) !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

body[data-page="admin"] .admin-brand img,
body[data-page^="admin-"] .admin-brand img {
  width: 100% !important;
  max-width: 100% !important;
  max-height: 118px !important;
  object-fit: contain !important;
  transform: none !important;
}

body[data-page="admin"] .admin-dashboard-control-grid,
body[data-page^="admin-"] .admin-dashboard-control-grid {
  grid-template-columns: minmax(360px, 1.35fr) minmax(340px, 1fr) minmax(320px, .9fr) !important;
}

body[data-page="admin"] .admin-dashboard-grid-compact,
body[data-page^="admin-"] .admin-dashboard-grid-compact {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
}

body[data-page="admin"] :is(.admin-panel, .admin-dashboard-card, .admin-chart-card, .admin-category-card),
body[data-page^="admin-"] :is(.admin-panel, .admin-dashboard-card, .admin-chart-card, .admin-category-card) {
  overflow: hidden !important;
}

body[data-page="admin"] .admin-chart-empty,
body[data-page^="admin-"] .admin-chart-empty {
  width: 100%;
  max-width: 100%;
  white-space: normal !important;
  text-align: center;
}

body[data-page="admin"] .admin-dashboard-list p,
body[data-page^="admin-"] .admin-dashboard-list p {
  align-items: flex-start !important;
}

body[data-page="admin"] .admin-dashboard-list span,
body[data-page="admin"] .admin-dashboard-list strong,
body[data-page^="admin-"] .admin-dashboard-list span,
body[data-page^="admin-"] .admin-dashboard-list strong {
  min-width: 0;
}

body[data-page="admin"] .admin-toolbar,
body[data-page^="admin-"] .admin-toolbar {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}

body[data-page="admin"] .admin-toolbar label,
body[data-page^="admin-"] .admin-toolbar label {
  min-width: 0 !important;
}

body[data-page="admin"] .admin-toolbar input,
body[data-page="admin"] .admin-toolbar select,
body[data-page^="admin-"] .admin-toolbar input,
body[data-page^="admin-"] .admin-toolbar select {
  min-width: 0 !important;
  text-overflow: ellipsis;
}

body[data-page="admin"] .admin-toolbar [data-order-extra-filters],
body[data-page^="admin-"] .admin-toolbar [data-order-extra-filters] {
  display: contents !important;
}

body[data-page="admin"] .admin-toolbar .admin-filter,
body[data-page^="admin-"] .admin-toolbar .admin-filter {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body[data-page="admin"] .admin-toolbar .admin-filter select,
body[data-page^="admin-"] .admin-toolbar .admin-filter select {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body[data-page="admin"] .admin-dashboard-control-grid,
body[data-page^="admin-"] .admin-dashboard-control-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
}

body[data-page="admin"] .admin-edit-form input,
body[data-page="admin"] .admin-edit-form select,
body[data-page="admin"] .admin-edit-form textarea,
body[data-page^="admin-"] .admin-edit-form input,
body[data-page^="admin-"] .admin-edit-form select,
body[data-page^="admin-"] .admin-edit-form textarea {
  min-width: 0 !important;
  text-overflow: ellipsis;
}

@media (max-width: 1500px) {
  body[data-page="admin"] .admin-settings-section .admin-edit-form,
  body[data-page^="admin-"] .admin-settings-section .admin-edit-form {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1280px) {
  body[data-page="admin"] .admin-dashboard-control-grid,
  body[data-page^="admin-"] .admin-dashboard-control-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  body[data-page="admin"] .admin-brand,
  body[data-page^="admin-"] .admin-brand {
    width: min(132px, 45vw) !important;
  }

  body[data-page="admin"] .admin-brand img,
  body[data-page^="admin-"] .admin-brand img {
    max-height: 54px !important;
  }

  body[data-page="admin"] .admin-dashboard-grid-compact,
  body[data-page^="admin-"] .admin-dashboard-grid-compact,
  body[data-page="admin"] .admin-dashboard-control-grid,
  body[data-page^="admin-"] .admin-dashboard-control-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ELVORA MANUAL FIX: Dashboard Desktop 2 Spalten */
@media (min-width: 901px) {
  body[data-page="admin"] .admin-dashboard-grid-compact,
  body[data-page^="admin-"] .admin-dashboard-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
  }

  body[data-page="admin"] .admin-dashboard-card,
  body[data-page^="admin-"] .admin-dashboard-card {
    height: auto !important;
    min-height: unset !important;
    align-self: start !important;
  }
}


/* ELVORA FIX: Kalender-Termine ohne Überlappung */
body[data-page="admin"] .admin-calendar-event,
body[data-page^="admin-"] .admin-calendar-event,
body[data-page="admin"] .calendar-event,
body[data-page^="admin-"] .calendar-event {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
}

body[data-page="admin"] .admin-calendar-event *,
body[data-page^="admin-"] .admin-calendar-event *,
body[data-page="admin"] .calendar-event *,
body[data-page^="admin-"] .calendar-event * {
  min-width: 0 !important;
}

body[data-page="admin"] .admin-calendar-event-title,
body[data-page^="admin-"] .admin-calendar-event-title,
body[data-page="admin"] .calendar-event-title,
body[data-page^="admin-"] .calendar-event-title {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.25 !important;
}


/* ELVORA FIX: Dashboard Terminliste breiter ausrichten */
body[data-page="admin"] .admin-upcoming-list li,
body[data-page^="admin-"] .admin-upcoming-list li {
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
}

body[data-page="admin"] .admin-upcoming-list li > *,
body[data-page^="admin-"] .admin-upcoming-list li > * {
  min-width: 0 !important;
}

body[data-page="admin"] .admin-upcoming-list li strong,
body[data-page^="admin-"] .admin-upcoming-list li strong {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.25 !important;
}


/* ELVORA FIX: Dashboard Analyseblöcke untereinander */
body[data-page="admin"] .admin-dashboard-control-grid,
body[data-page^="admin-"] .admin-dashboard-control-grid {
  grid-template-columns: 1fr !important;
  align-items: start !important;
}

body[data-page="admin"] .admin-dashboard-control-grid > *,
body[data-page^="admin-"] .admin-dashboard-control-grid > * {
  width: 100% !important;
  max-width: none !important;
}

body[data-page="admin"] .admin-calendar-card,
body[data-page^="admin-"] .admin-calendar-card,
body[data-page="admin"] .admin-chart-card,
body[data-page^="admin-"] .admin-chart-card {
  min-width: 0 !important;
  width: 100% !important;
}


/* ELVORA FIX FINAL: Diagramme nebeneinander, Kalender darunter groß */
@media (min-width: 901px) {
  body[data-page="admin"] .admin-dashboard-control-grid,
  body[data-page^="admin-"] .admin-dashboard-control-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: start !important;
  }

  body[data-page="admin"] .admin-calendar-card,
  body[data-page^="admin-"] .admin-calendar-card {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}

/* Kalender optisch größer und sauberer */
body[data-page="admin"] .admin-calendar-card,
body[data-page^="admin-"] .admin-calendar-card {
  padding: 22px !important;
  gap: 22px !important;
}

body[data-page="admin"] .admin-mini-calendar,
body[data-page^="admin-"] .admin-mini-calendar {
  padding: 22px !important;
  border-radius: 24px !important;
}

body[data-page="admin"] .admin-calendar-head,
body[data-page^="admin-"] .admin-calendar-head {
  margin-bottom: 12px !important;
}

body[data-page="admin"] .admin-calendar-weekdays span,
body[data-page^="admin-"] .admin-calendar-weekdays span {
  font-size: 0.82rem !important;
  padding-bottom: 8px !important;
}

body[data-page="admin"] .admin-calendar-grid span,
body[data-page^="admin-"] .admin-calendar-grid span {
  min-height: 44px !important;
  font-size: 0.95rem !important;
  border-radius: 14px !important;
}

/* Terminliste: keine Überschneidung, mehr Abstand */
body[data-page="admin"] .admin-upcoming-list li,
body[data-page^="admin-"] .admin-upcoming-list li {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 14px 16px !important;
  min-height: 58px !important;
}

body[data-page="admin"] .admin-upcoming-list li > *,
body[data-page^="admin-"] .admin-upcoming-list li > * {
  min-width: 0 !important;
}

body[data-page="admin"] .admin-upcoming-list li strong,
body[data-page^="admin-"] .admin-upcoming-list li strong {
  display: block !important;
  margin-bottom: 8px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body[data-page="admin"] .admin-upcoming-list li small,
body[data-page^="admin-"] .admin-upcoming-list li small,
body[data-page="admin"] .admin-upcoming-list li span,
body[data-page^="admin-"] .admin-upcoming-list li span {
  line-height: 1.35 !important;
}

@media (max-width: 900px) {
  body[data-page="admin"] .admin-dashboard-control-grid,
  body[data-page^="admin-"] .admin-dashboard-control-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="admin"] .admin-calendar-card,
  body[data-page^="admin-"] .admin-calendar-card {
    grid-column: auto !important;
  }
}


/* ELVORA FIX: Dashboard Diagramme und Kalender untereinander */
@media (min-width: 901px) {
  body[data-page="admin"] .admin-dashboard-control-grid,
  body[data-page^="admin-"] .admin-dashboard-control-grid {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  body[data-page="admin"] .admin-chart-card,
  body[data-page^="admin-"] .admin-chart-card,
  body[data-page="admin"] .admin-calendar-card,
  body[data-page^="admin-"] .admin-calendar-card {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  body[data-page="admin"] .admin-chart-stage,
  body[data-page^="admin-"] .admin-chart-stage {
    min-height: 320px !important;
  }
}


/* ELVORA FIX: Diagramme größer, mittig und sauber */
body[data-page="admin"] .admin-chart-card,
body[data-page^="admin-"] .admin-chart-card {
  min-height: 420px !important;
}

body[data-page="admin"] .admin-chart-stage,
body[data-page^="admin-"] .admin-chart-stage {
  min-height: 340px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body[data-page="admin"] .admin-chart-stage svg,
body[data-page^="admin-"] .admin-chart-stage svg,
body[data-page="admin"] .admin-chart-stage canvas,
body[data-page^="admin-"] .admin-chart-stage canvas {
  width: 100% !important;
  max-width: 760px !important;
  height: auto !important;
  margin: 0 auto !important;
}

body[data-page="admin"] .admin-donut-chart,
body[data-page^="admin-"] .admin-donut-chart {
  width: 260px !important;
  height: 260px !important;
  margin: 0 auto !important;
}

body[data-page="admin"] .admin-chart-empty,
body[data-page^="admin-"] .admin-chart-empty {
  position: static !important;
  margin-top: 18px !important;
  text-align: center !important;
  display: block !important;
}


/* ELVORA FIX: Kreisdiagramm mittig setzen */
body[data-page="admin"] .admin-donut-wrap,
body[data-page^="admin-"] .admin-donut-wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 36px !important;
  width: 100% !important;
}

body[data-page="admin"] [data-dashboard-category-chart],
body[data-page^="admin-"] [data-dashboard-category-chart] {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}

body[data-page="admin"] .admin-donut-svg,
body[data-page^="admin-"] .admin-donut-svg {
  width: 280px !important;
  height: 280px !important;
  display: block !important;
  margin: 0 auto !important;
}

body[data-page="admin"] [data-dashboard-category-legend],
body[data-page^="admin-"] [data-dashboard-category-legend] {
  max-width: 360px !important;
}


/* ELVORA FIX: Terminseite Dark Layout */
body.admin-standalone-page {
  min-height: 100vh !important;
  background: #241d35 !important;
  color: #fff !important;
}

.admin-termin-page {
  width: min(1180px, calc(100vw - 48px)) !important;
  margin: 0 auto !important;
  padding: 42px 0 !important;
}

.admin-termin-panel {
  padding: 28px !important;
}

.admin-termin-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 26px !important;
}

.admin-termin-form label:nth-child(2),
.admin-termin-form .admin-row-actions {
  grid-column: 1 / -1 !important;
}

@media (max-width: 800px) {
  .admin-termin-form {
    grid-template-columns: 1fr !important;
  }
}


/* ELVORA FIX: Terminseite Abschluss */
body.admin-standalone-page {
  min-height: 100vh !important;
  background: #241d35 !important;
  color: #fff !important;
}

.admin-termin-page {
  width: min(1180px, calc(100vw - 48px)) !important;
  margin: 0 auto !important;
  padding: 42px 0 !important;
}

.admin-termin-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

@media (max-width: 800px) {
  .admin-termin-form {
    grid-template-columns: 1fr !important;
  }
}

/* ===== ELVORA Terminseite Dark ===== */

.admin-standalone-page .admin-panel{
    background:#2b2340 !important;
    border:1px solid rgba(255,255,255,.08) !important;
    color:#fff !important;
}

.admin-standalone-page h1,
.admin-standalone-page h2,
.admin-standalone-page h3,
.admin-standalone-page p,
.admin-standalone-page label{
    color:#fff !important;
}

.admin-standalone-page input,
.admin-standalone-page textarea,
.admin-standalone-page select{

    background:#362b52 !important;
    color:#fff !important;

    border:1px solid rgba(255,255,255,.12) !important;
}

.admin-standalone-page input::placeholder,
.admin-standalone-page textarea::placeholder{
    color:#bfb8d3 !important;
}

.admin-standalone-page select option{
    background:#362b52;
    color:#fff;
}

.admin-standalone-page textarea{
    min-height:170px;
}

/* ELVORA FIX: Terminformular im Admin-Modul */
.admin-termin-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 22px !important;
}

.admin-termin-form label {
  display: grid !important;
  gap: 8px !important;
}

.admin-termin-form label:nth-child(2),
.admin-termin-form .admin-form-actions {
  grid-column: 1 / -1 !important;
}

.admin-termin-form input,
.admin-termin-form textarea,
.admin-termin-form select {
  width: 100% !important;
  min-height: 48px !important;
}

@media (max-width: 900px) {
  .admin-termin-form {
    grid-template-columns: 1fr !important;
  }
}


/* ELVORA FIX: Großer interaktiver Kalender */
.admin-big-calendar-panel {
  overflow: hidden !important;
}

.admin-big-calendar {
  display: grid !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

.admin-big-calendar-title {
  text-align: center !important;
  font-size: 1.35rem !important;
  font-weight: 900 !important;
  color: var(--elvora-admin-text) !important;
  text-transform: capitalize !important;
}

.admin-big-calendar-weekdays,
.admin-big-calendar-grid {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.admin-big-calendar-weekdays span {
  text-align: center !important;
  color: var(--elvora-admin-muted) !important;
  font-weight: 900 !important;
}

.admin-big-calendar-day {
  min-height: 76px !important;
  border-radius: 18px !important;
  border: 1px solid var(--elvora-admin-border) !important;
  background: var(--elvora-admin-card-2) !important;
  color: var(--elvora-admin-text) !important;
  display: grid !important;
  place-items: center !important;
  gap: 4px !important;
  cursor: pointer !important;
}

.admin-big-calendar-day strong {
  font-size: 1.1rem !important;
}

.admin-big-calendar-day small {
  min-width: 24px !important;
  min-height: 24px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: var(--elvora-admin-pink) !important;
  color: #fff !important;
  font-size: 0.75rem !important;
}

.admin-big-calendar-day.is-muted {
  opacity: 0.38 !important;
}

.admin-big-calendar-day.is-today {
  box-shadow: 0 0 0 3px rgba(255, 107, 174, 0.35) !important;
}

.admin-big-calendar-day.is-selected {
  background: linear-gradient(135deg, rgba(255,107,174,.28), rgba(102,255,230,.16)) !important;
  border-color: rgba(255,255,255,.35) !important;
}

@media (max-width: 760px) {
  .admin-big-calendar-day {
    min-height: 52px !important;
    border-radius: 14px !important;
  }

  .admin-big-calendar-day strong {
    font-size: .9rem !important;
  }
}


/* ELVORA FIX: Dashboard Kalender besser sichtbar */
body[data-page="admin"] .admin-calendar-grid {
  gap: 7px !important;
}

body[data-page="admin"] .admin-calendar-day-button {
  min-height: 48px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  position: relative !important;
  cursor: pointer !important;
  font-weight: 800 !important;
}

body[data-page="admin"] .admin-calendar-day-button:hover {
  border-color: rgba(255,107,174,.75) !important;
  background: rgba(255,107,174,.13) !important;
}

body[data-page="admin"] .admin-calendar-day-button.is-today {
  background: rgba(255,107,174,.95) !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.18) !important;
}

body[data-page="admin"] .admin-calendar-day-button.is-selected {
  background: linear-gradient(135deg, #4c3674, #6b4ca3) !important;
  border-color: rgba(255,255,255,.55) !important;
  color: #fff !important;
  box-shadow: 0 0 0 3px rgba(102,255,230,.22) !important;
}

body[data-page="admin"] .admin-calendar-day-button.is-today.is-selected {
  background: linear-gradient(135deg, #ff5fa8, #6b4ca3) !important;
}

body[data-page="admin"] .admin-calendar-day-button.is-muted {
  opacity: .35 !important;
}

body[data-page="admin"] .admin-calendar-day-button small {
  position: absolute !important;
  right: 5px !important;
  bottom: 5px !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  background: #ff5fa8 !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
}

body[data-page="admin"] .dashboard-selected-day {
  margin-top: 14px !important;
  padding: 16px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.06) !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  align-items: center !important;
}

body[data-page="admin"] .dashboard-selected-day strong {
  font-size: 1.05rem !important;
  color: #fff !important;
}

body[data-page="admin"] .dashboard-selected-day small {
  color: #ff8fc5 !important;
  font-weight: 900 !important;
}

body[data-page="admin"] .admin-upcoming-list li {
  grid-template-columns: 72px minmax(0, 1fr) auto !important;
  align-items: center !important;
}

/* ELVORA FIX START: Alle Termine Design */
body.admin-termine-page .admin-main {
  padding: 28px 38px !important;
}

body.admin-termine-page .admin-topbar,
body.admin-termine-page .admin-panel {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.admin-termine-page .admin-topbar h1 {
  font-size: 2.35rem !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

body.admin-termine-page #all-events-status {
  margin: 0 0 20px !important;
  padding: 20px 24px !important;
  border-radius: 22px !important;
}

body.admin-termine-page #all-events-status h4 {
  font-size: 1.35rem !important;
  margin: 0 0 8px !important;
}

body.admin-termine-page #all-events-status p {
  font-size: 1rem !important;
  margin: 0 !important;
}

body.admin-termine-page #all-events-list .admin-upcoming-list {
  display: grid !important;
  gap: 14px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

body.admin-termine-page #all-events-list .admin-upcoming-list li {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) auto !important;
  gap: 20px !important;
  align-items: center !important;
  padding: 20px 22px !important;
  border-radius: 22px !important;
}

body.admin-termine-page #all-events-list .admin-upcoming-list li > span {
  min-width: 220px !important;
  white-space: nowrap !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

body.admin-termine-page #all-events-list .admin-upcoming-list strong {
  display: block !important;
  font-size: 1.12rem !important;
  line-height: 1.35 !important;
  margin-bottom: 7px !important;
}

body.admin-termine-page #all-events-list .admin-upcoming-list small {
  display: block !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  margin-top: 5px !important;
  opacity: 0.95 !important;
}

body.admin-termine-page #all-events-list .admin-row-actions {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
}

body.admin-termine-page #all-events-list .admin-edit-button,
body.admin-termine-page #all-events-list .admin-delete-button {
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  body.admin-termine-page .admin-main {
    padding: 16px !important;
  }

  body.admin-termine-page #all-events-list .admin-upcoming-list li {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.admin-termine-page #all-events-list .admin-upcoming-list li > span {
    min-width: 0 !important;
    width: 100% !important;
    white-space: nowrap !important;
  }

  body.admin-termine-page #all-events-list .admin-row-actions {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
}
/* ELVORA FIX END: Alle Termine Design */

/* ELVORA FIX START: Neuer Termin ohne Sidebar */
body.admin-termin-neu-page .admin-layout {
  display: block !important;
  min-height: 100vh !important;
}

body.admin-termin-neu-page .admin-sidebar {
  display: none !important;
}

body.admin-termin-neu-page .admin-main {
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 28px 22px !important;
}

body.admin-termin-neu-page .admin-topbar,
body.admin-termin-neu-page .admin-panel {
  width: 100% !important;
}

body.admin-termin-neu-page .admin-topbar {
  margin-bottom: 20px !important;
}
/* ELVORA FIX END: Neuer Termin ohne Sidebar */

/* ELVORA FIX START: NRW Kalender Marker */
body[data-page="admin"] .admin-calendar-day-button .nrw-calendar-tags {
  display: none !important;
}

body[data-page="admin"] .admin-calendar-day-button.has-nrw-holiday {
  background: linear-gradient(135deg, rgba(255, 105, 180, 0.28), rgba(255, 255, 255, 0.06)) !important;
  box-shadow: inset 0 0 0 2px rgba(255, 105, 180, 0.9) !important;
}

body[data-page="admin"] .admin-calendar-day-button.has-nrw-vacation {
  background: linear-gradient(135deg, rgba(129, 230, 217, 0.24), rgba(255, 255, 255, 0.06)) !important;
  outline: 2px solid rgba(129, 230, 217, 0.75) !important;
  outline-offset: -3px !important;
}

body[data-page="admin"] .admin-calendar-day-button.has-nrw-holiday.has-nrw-vacation {
  background: linear-gradient(135deg, rgba(255, 105, 180, 0.32), rgba(129, 230, 217, 0.28)) !important;
  box-shadow:
    inset 0 0 0 2px rgba(255, 105, 180, 0.95),
    0 0 0 2px rgba(129, 230, 217, 0.5) !important;
}

body[data-page="admin"] .dashboard-fixed-nrw-events {
  margin-top: 12px !important;
}

body[data-page="admin"] .nrw-fixed-event {
  border-left: 5px solid transparent !important;
}

body[data-page="admin"] .nrw-fixed-event.is-holiday {
  border-left-color: rgba(255, 105, 180, 0.95) !important;
  background: rgba(255, 105, 180, 0.12) !important;
}

body[data-page="admin"] .nrw-fixed-event.is-vacation {
  border-left-color: rgba(129, 230, 217, 0.95) !important;
  background: rgba(129, 230, 217, 0.11) !important;
}

body[data-page="admin"] .admin-fixed-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  font-size: 0.86rem !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}
/* ELVORA FIX END: NRW Kalender Marker */

/* ELVORA FIX START: Ferien Feiertage ohne Ganztägig Fest */

/* Dashboard: Bei festen NRW-Terminen "Ganztägig" und "Fest" ausblenden */
body[data-page="admin"] .dashboard-fixed-nrw-events .admin-fixed-badge {
  display: none !important;
}

body[data-page="admin"] .dashboard-fixed-nrw-events li > span:first-child {
  display: none !important;
}

body[data-page="admin"] .dashboard-fixed-nrw-events li {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* Alle-Termine-Seite: Bei Ferien/Feiertagen nur den Fest-Badge ausblenden */
body.admin-termine-page #all-events-list .nrw-fixed-event .admin-fixed-badge {
  display: none !important;
}

body.admin-termine-page #all-events-list .nrw-fixed-event {
  grid-template-columns: 220px minmax(0, 1fr) !important;
}

/* ELVORA FIX END: Ferien Feiertage ohne Ganztägig Fest */

/* ELVORA FIX START: Mobile Kalender Monatsname */
@media (max-width: 760px) {
  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-head,
  body[data-page="admin"] .admin-mini-calendar .admin-calendar-head {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "prev next"
      "title title" !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    padding-top: 8px !important;
  }

  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-head button,
  body[data-page="admin"] .admin-mini-calendar .admin-calendar-head button {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-head button:first-of-type,
  body[data-page="admin"] .admin-mini-calendar .admin-calendar-head button:first-of-type {
    grid-area: prev !important;
    justify-self: end !important;
  }

  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-head button:last-of-type,
  body[data-page="admin"] .admin-mini-calendar .admin-calendar-head button:last-of-type {
    grid-area: next !important;
    justify-self: start !important;
  }

  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-head strong,
  body[data-page="admin"] .admin-mini-calendar .admin-calendar-head strong {
    grid-area: title !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
    margin: 2px 0 0 !important;
    display: block !important;
  }
}
/* ELVORA FIX END: Mobile Kalender Monatsname */

/* ELVORA FIX START: Dashboard Kalender Heute Button */
body[data-page="admin"] .dashboard-calendar-actions {
  justify-content: center !important;
  margin-top: 10px !important;
  margin-bottom: 12px !important;
}

body[data-page="admin"] .dashboard-calendar-actions [data-dashboard-calendar-today] {
  white-space: nowrap !important;
}
/* ELVORA FIX END: Dashboard Kalender Heute Button */

/* ELVORA FIX START: Desktop Kalender Monatsname größer */
@media (min-width: 761px) {
  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-head strong,
  body[data-page="admin"] .admin-mini-calendar .admin-calendar-head strong {
    font-size: 1.55rem !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-head,
  body[data-page="admin"] .admin-mini-calendar .admin-calendar-head {
    align-items: center !important;
  }
}
/* ELVORA FIX END: Desktop Kalender Monatsname größer */

/* ELVORA FIX START: Mobile Kalender Header Buttons zentriert */
@media (max-width: 760px) {
  body[data-page="admin"] .admin-calendar-card .admin-panel-heading .admin-row-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body[data-page="admin"] .admin-calendar-card .admin-panel-heading .admin-row-actions .admin-edit-button,
  body[data-page="admin"] .admin-calendar-card .admin-panel-heading .admin-row-actions a.admin-edit-button,
  body[data-page="admin"] .admin-calendar-card .admin-panel-heading .admin-row-actions button.admin-edit-button {
    width: 100% !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
/* ELVORA FIX END: Mobile Kalender Header Buttons zentriert */

/* ELVORA FIX START: Mobile Alle Termine doppelten Titel ausblenden */
@media (max-width: 760px) {
  body.admin-termine-page #all-events-status h4 {
    display: none !important;
  }

  body.admin-termine-page #all-events-status {
    margin-top: 8px !important;
  }

  body.admin-termine-page #all-events-status p {
    font-size: 1rem !important;
    text-align: center !important;
  }
}
/* ELVORA FIX END: Mobile Alle Termine doppelten Titel ausblenden */

/* ELVORA FIX START: Alle Termine doppelten Titel global ausblenden */
body.admin-termine-page #all-events-status h4 {
  display: none !important;
}

body.admin-termine-page #all-events-status {
  margin-top: 8px !important;
}

body.admin-termine-page #all-events-status p {
  font-size: 1rem !important;
  text-align: center !important;
}
/* ELVORA FIX END: Alle Termine doppelten Titel global ausblenden */\n\n/* ELVORA FIX START: Dashboard Termin Buttons nebeneinander */

body[data-page="admin"] [data-dashboard-upcoming-events] .dashboard-event-button-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: auto !important;
  min-width: max-content !important;
}

body[data-page="admin"] [data-dashboard-upcoming-events] .dashboard-event-button-row .admin-edit-button,
body[data-page="admin"] [data-dashboard-upcoming-events] .dashboard-event-button-row .admin-delete-button,
body[data-page="admin"] [data-dashboard-upcoming-events] .dashboard-event-button-row button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 86px !important;
  max-width: none !important;
  height: 38px !important;
  padding: 0 12px !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

body[data-page="admin"] [data-dashboard-upcoming-events] .admin-upcoming-list li:has(.dashboard-event-button-row) {
  grid-template-columns: 72px minmax(0, 1fr) max-content !important;
  align-items: center !important;
}

@media (max-width: 760px) {
  body[data-page="admin"] [data-dashboard-upcoming-events] .admin-upcoming-list li:has(.dashboard-event-button-row) {
    grid-template-columns: 1fr !important;
  }

  body[data-page="admin"] [data-dashboard-upcoming-events] .dashboard-event-button-row {
    justify-content: flex-start !important;
    width: 100% !important;
    overflow-x: auto !important;
  }

  body[data-page="admin"] [data-dashboard-upcoming-events] .dashboard-event-button-row .admin-edit-button,
  body[data-page="admin"] [data-dashboard-upcoming-events] .dashboard-event-button-row .admin-delete-button,
  body[data-page="admin"] [data-dashboard-upcoming-events] .dashboard-event-button-row button {
    min-width: 96px !important;
  }
}

/* ELVORA FIX END: Dashboard Termin Buttons nebeneinander */\n

/* ELVORA FIX START: Mobile Kalender Termin-Kreis */
@media (max-width: 760px) {
  body[data-page="admin"] .admin-calendar-day-button {
    position: relative !important;
    min-height: 46px !important;
    padding: 6px 6px 18px !important;
  }

  body[data-page="admin"] .admin-calendar-day-button > span {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    line-height: 1.1 !important;
  }

  body[data-page="admin"] .admin-calendar-day-button > small {
    position: absolute !important;
    right: 5px !important;
    bottom: 4px !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;

    z-index: 1 !important;
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    min-height: 15px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 0.58rem !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    pointer-events: none !important;
  }
}
/* ELVORA FIX END: Mobile Kalender Termin-Kreis */

/* ELVORA FIX START: Mobile Kalender Terminpunkt FINAL */
@media (max-width: 760px) {
  body[data-page="admin"] .admin-calendar-grid .admin-calendar-day-button,
  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-day-button {
    position: relative !important;
    min-height: 48px !important;
    padding: 7px 6px 18px !important;
    overflow: hidden !important;
  }

  body[data-page="admin"] .admin-calendar-grid .admin-calendar-day-button > span,
  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-day-button > span {
    position: relative !important;
    z-index: 5 !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    line-height: 1.1 !important;
  }

  /* Falls der Termin-Kreis als small gerendert wird */
  body[data-page="admin"] .admin-calendar-grid .admin-calendar-day-button > small,
  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-day-button > small {
    position: absolute !important;
    right: 4px !important;
    bottom: 4px !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;

    z-index: 2 !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 0.52rem !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    pointer-events: none !important;
  }

  /* Falls der Termin-Kreis per ::after erzeugt wird */
  body[data-page="admin"] .admin-calendar-grid .admin-calendar-day-button.has-event::after,
  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-day-button.has-event::after {
    content: "" !important;
    position: absolute !important;
    right: 5px !important;
    bottom: 5px !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;

    z-index: 1 !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    pointer-events: none !important;
  }

  /* Falls der Termin-Kreis per ::before erzeugt wird */
  body[data-page="admin"] .admin-calendar-grid .admin-calendar-day-button.has-event::before,
  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-day-button.has-event::before {
    position: absolute !important;
    right: 5px !important;
    bottom: 5px !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;

    z-index: 1 !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    pointer-events: none !important;
  }

  body[data-page="admin"] .admin-calendar-grid .admin-calendar-day-button.has-event,
  body[data-page="admin"] [data-dashboard-calendar] .admin-calendar-day-button.has-event {
    background-position: right 5px bottom 5px !important;
  }
}
/* ELVORA FIX END: Mobile Kalender Terminpunkt FINAL */

/* ELVORA FIX START: Admin Logo Gross + Sidebar Design V2 */
body[data-page="admin"] .admin-sidebar,
body[data-page^="admin-"] .admin-sidebar {
  padding: 24px 18px !important;
  border-radius: 30px !important;
}

body[data-page="admin"] .admin-brand-row,
body[data-page^="admin-"] .admin-brand-row {
  display: block !important;
  padding: 14px 12px 18px !important;
  margin-bottom: 18px !important;
  border-radius: 24px !important;
  background: color-mix(in srgb, var(--preview-card) 78%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--preview-border) 80%, transparent) !important;
}

body[data-page="admin"] .admin-brand,
body[data-page^="admin-"] .admin-brand {
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  margin: 0 0 12px 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page="admin"] .admin-brand img,
body[data-page^="admin-"] .admin-brand img {
  width: 210px !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
}

body[data-page="admin"] .admin-brand-title,
body[data-page^="admin-"] .admin-brand-title {
  padding-left: 2px !important;
}

body[data-page="admin"] .admin-brand-title span,
body[data-page^="admin-"] .admin-brand-title span {
  font-size: 0.72rem !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  opacity: 0.72 !important;
}

body[data-page="admin"] .admin-brand-title strong,
body[data-page^="admin-"] .admin-brand-title strong {
  display: block !important;
  font-size: 1.12rem !important;
  line-height: 1.15 !important;
  margin-top: 4px !important;
}

/* Menü schöner, aber ohne Logo wieder einzusperren */
body[data-page="admin"] .admin-nav,
body[data-page^="admin-"] .admin-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

body[data-page="admin"] .admin-nav > a,
body[data-page^="admin-"] .admin-nav > a,
body[data-page="admin"] .admin-nav-group summary,
body[data-page^="admin-"] .admin-nav-group summary {
  min-height: 46px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--preview-card) 62%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--preview-border) 70%, transparent) !important;
}

body[data-page="admin"] .admin-nav > a:hover,
body[data-page^="admin-"] .admin-nav > a:hover,
body[data-page="admin"] .admin-nav-group summary:hover,
body[data-page^="admin-"] .admin-nav-group summary:hover {
  transform: translateX(3px) !important;
  box-shadow: 0 10px 22px rgba(80, 55, 110, 0.12) !important;
  background: color-mix(in srgb, var(--preview-card) 88%, var(--preview-accent) 12%) !important;
}

body[data-page="admin"] .admin-nav > a.is-active,
body[data-page="admin"] .admin-nav > a.active,
body[data-page^="admin-"] .admin-nav > a.is-active,
body[data-page^="admin-"] .admin-nav > a.active,
body[data-page="admin"] .admin-nav-group[open] > summary,
body[data-page^="admin-"] .admin-nav-group[open] > summary {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--preview-accent) 22%, var(--preview-card)),
    color-mix(in srgb, var(--preview-accent-2) 18%, var(--preview-card))
  ) !important;
  border-color: color-mix(in srgb, var(--preview-accent) 34%, var(--preview-border)) !important;
  box-shadow: 0 12px 28px rgba(80, 55, 110, 0.14) !important;
}

body[data-page="admin"] .admin-nav-group > div,
body[data-page^="admin-"] .admin-nav-group > div {
  margin: 8px 0 4px 18px !important;
  padding: 6px 0 6px 12px !important;
  border-left: 2px solid color-mix(in srgb, var(--preview-accent) 28%, var(--preview-border)) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}

body[data-page="admin"] .admin-nav-group > div a,
body[data-page^="admin-"] .admin-nav-group > div a {
  min-height: 38px !important;
  padding: 9px 12px !important;
  border-radius: 14px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
}

body[data-page="admin"] .admin-nav-group > div a:hover,
body[data-page^="admin-"] .admin-nav-group > div a:hover,
body[data-page="admin"] .admin-nav-group > div a.is-active,
body[data-page="admin"] .admin-nav-group > div a.active,
body[data-page^="admin-"] .admin-nav-group > div a.is-active,
body[data-page^="admin-"] .admin-nav-group > div a.active {
  background: color-mix(in srgb, var(--preview-accent) 13%, var(--preview-card)) !important;
  border-color: color-mix(in srgb, var(--preview-accent) 28%, transparent) !important;
}

@media (max-width: 760px) {
  body[data-page="admin"] .admin-brand img,
  body[data-page^="admin-"] .admin-brand img {
    width: 175px !important;
  }

  body[data-page="admin"] .admin-brand-row,
  body[data-page^="admin-"] .admin-brand-row {
    padding: 12px !important;
  }
}
/* ELVORA FIX END: Admin Logo Gross + Sidebar Design V2 */



/* ELVORA FIX START: Admin Logo FORCE LARGE V3 */
body[data-page="admin"] .admin-brand-row,
body[data-page^="admin-"] .admin-brand-row {
  display: block !important;
  min-height: auto !important;
  padding: 16px 12px 18px !important;
}

body[data-page="admin"] .admin-brand,
body[data-page^="admin-"] .admin-brand {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 0 12px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body[data-page="admin"] .admin-brand img,
body[data-page^="admin-"] .admin-brand img {
  width: 245px !important;
  min-width: 245px !important;
  max-width: 245px !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  transform: none !important;
  display: block !important;
}

body[data-page="admin"] .admin-brand-title,
body[data-page^="admin-"] .admin-brand-title {
  margin-top: 2px !important;
  padding-left: 2px !important;
}

@media (max-width: 760px) {
  body[data-page="admin"] .admin-brand img,
  body[data-page^="admin-"] .admin-brand img {
    width: 205px !important;
    min-width: 205px !important;
    max-width: 205px !important;
  }
}
/* ELVORA FIX END: Admin Logo FORCE LARGE V3 */

/* ELVORA FIX START: Admin Sidebar Breit Kompakt V4 */

/* Dashboard/Admin-Grundlayout: Sidebar breiter */
@media (min-width: 1180px) {
  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    grid-template-columns: 390px minmax(0, 1fr) !important;
    gap: 24px !important;
  }
}

@media (min-width: 901px) and (max-width: 1179px) {
  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    grid-template-columns: 340px minmax(0, 1fr) !important;
    gap: 20px !important;
  }
}

/* Sidebar nicht künstlich abschneiden */
@media (min-width: 901px) {
  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    position: sticky !important;
    top: 14px !important;
    align-self: start !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 20px 16px !important;
  }

  body[data-page="admin"] .admin-nav,
  body[data-page^="admin-"] .admin-nav {
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0 !important;
    gap: 6px !important;
  }
}

/* Logo bleibt groß */
body[data-page="admin"] .admin-brand,
body[data-page^="admin-"] .admin-brand {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 0 10px 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body[data-page="admin"] .admin-brand img,
body[data-page^="admin-"] .admin-brand img {
  width: 245px !important;
  min-width: 245px !important;
  max-width: 245px !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
}

body[data-page="admin"] .admin-brand-row,
body[data-page^="admin-"] .admin-brand-row {
  padding: 14px 12px 14px !important;
  margin-bottom: 12px !important;
}

/* Hauptmenüs kompakter */
body[data-page="admin"] .admin-nav > a,
body[data-page^="admin-"] .admin-nav > a,
body[data-page="admin"] .admin-nav-group summary,
body[data-page^="admin-"] .admin-nav-group summary {
  min-height: 40px !important;
  padding: 9px 12px !important;
  border-radius: 15px !important;
  font-size: 0.94rem !important;
}

/* Untermenü-Bereich kompakter */
body[data-page="admin"] .admin-nav-group > div,
body[data-page^="admin-"] .admin-nav-group > div {
  margin: 6px 0 6px 12px !important;
  padding: 5px 0 5px 10px !important;
  border-left: 2px solid color-mix(in srgb, var(--preview-accent) 28%, var(--preview-border)) !important;
  gap: 5px !important;
}

/* Auf breiter Sidebar: Untermenüs zweispaltig */
@media (min-width: 1180px) {
  body[data-page="admin"] .admin-nav-group[open] > div,
  body[data-page^="admin-"] .admin-nav-group[open] > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 7px !important;
    row-gap: 5px !important;
  }
}

/* Auf mittlerer Breite: einspaltig, aber kompakt */
@media (min-width: 901px) and (max-width: 1179px) {
  body[data-page="admin"] .admin-nav-group[open] > div,
  body[data-page^="admin-"] .admin-nav-group[open] > div {
    display: flex !important;
    flex-direction: column !important;
  }
}

/* Untermenü-Links weniger hoch, damit mehr sichtbar ist */
body[data-page="admin"] .admin-nav-group > div a,
body[data-page^="admin-"] .admin-nav-group > div a {
  min-height: 32px !important;
  padding: 7px 9px !important;
  border-radius: 12px !important;
  font-size: 0.86rem !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

/* Icons etwas kleiner, damit Text mehr Platz hat */
body[data-page="admin"] .admin-nav-icon,
body[data-page^="admin-"] .admin-nav-icon {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
}

/* Mobile: Logo groß, aber Sidebar nicht sprengen */
@media (max-width: 760px) {
  body[data-page="admin"] .admin-brand img,
  body[data-page^="admin-"] .admin-brand img {
    width: 205px !important;
    min-width: 205px !important;
    max-width: 205px !important;
  }

  body[data-page="admin"] .admin-nav-group[open] > div,
  body[data-page^="admin-"] .admin-nav-group[open] > div {
    display: flex !important;
    flex-direction: column !important;
  }
}

/* ELVORA FIX END: Admin Sidebar Breit Kompakt V4 */

/* ELVORA FIX START: Admin Menü Schrift Größer V5 */

/* Hauptmenü besser lesbar */
body[data-page="admin"] .admin-nav > a,
body[data-page^="admin-"] .admin-nav > a,
body[data-page="admin"] .admin-nav-group summary,
body[data-page^="admin-"] .admin-nav-group summary {
  font-size: 1.03rem !important;
  line-height: 1.22 !important;
  font-weight: 700 !important;
  min-height: 44px !important;
  padding: 10px 13px !important;
}

/* Hauptmenü-Text */
body[data-page="admin"] .admin-nav > a span,
body[data-page^="admin-"] .admin-nav > a span,
body[data-page="admin"] .admin-nav-group summary strong,
body[data-page^="admin-"] .admin-nav-group summary strong {
  font-size: 1.03rem !important;
  line-height: 1.22 !important;
  font-weight: 700 !important;
}

/* Kleiner Start-Text unter Dashboard */
body[data-page="admin"] .admin-nav small,
body[data-page^="admin-"] .admin-nav small {
  font-size: 0.78rem !important;
  line-height: 1.1 !important;
}

/* Untermenüs größer, aber noch kompakt */
body[data-page="admin"] .admin-nav-group > div a,
body[data-page^="admin-"] .admin-nav-group > div a {
  font-size: 0.96rem !important;
  line-height: 1.22 !important;
  font-weight: 600 !important;
  min-height: 36px !important;
  padding: 8px 10px !important;
}

/* Icons minimal größer, damit es zur Schrift passt */
body[data-page="admin"] .admin-nav-icon,
body[data-page^="admin-"] .admin-nav-icon {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
}

/* Zur Website ebenfalls lesbar */
body[data-page="admin"] .admin-store-link,
body[data-page^="admin-"] .admin-store-link {
  font-size: 1rem !important;
  font-weight: 700 !important;
}

/* Mobile: nicht winzig machen */
@media (max-width: 760px) {
  body[data-page="admin"] .admin-nav > a,
  body[data-page^="admin-"] .admin-nav > a,
  body[data-page="admin"] .admin-nav-group summary,
  body[data-page^="admin-"] .admin-nav-group summary {
    font-size: 1rem !important;
    min-height: 44px !important;
  }

  body[data-page="admin"] .admin-nav-group > div a,
  body[data-page^="admin-"] .admin-nav-group > div a {
    font-size: 0.95rem !important;
    min-height: 36px !important;
  }
}

/* ELVORA FIX END: Admin Menü Schrift Größer V5 */

/* ELVORA FIX START: Admin Logo Zentriert Gross V6 */

/* Logo-Bereich oben in der Sidebar */
body[data-page="admin"] .admin-brand-row,
body[data-page^="admin-"] .admin-brand-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;

  min-height: 150px !important;
  padding: 18px 12px 20px !important;
  margin-bottom: 16px !important;

  overflow: visible !important;
}

/* Logo-Link selbst */
body[data-page="admin"] .admin-brand,
body[data-page^="admin-"] .admin-brand {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  margin: 0 auto 10px auto !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Logo-Bild wirklich groß erzwingen */
body[data-page="admin"] .admin-brand img,
body[data-page^="admin-"] .admin-brand img {
  width: 310px !important;
  min-width: 310px !important;
  max-width: 310px !important;

  height: auto !important;
  max-height: none !important;

  object-fit: contain !important;
  object-position: center center !important;

  display: block !important;
  margin: 0 auto !important;

  transform: none !important;
}

/* Text unter Logo ebenfalls zentrieren */
body[data-page="admin"] .admin-brand-title,
body[data-page^="admin-"] .admin-brand-title {
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body[data-page="admin"] .admin-brand-title span,
body[data-page^="admin-"] .admin-brand-title span,
body[data-page="admin"] .admin-brand-title strong,
body[data-page^="admin-"] .admin-brand-title strong {
  text-align: center !important;
}

/* Tablet / kleinere Breite */
@media (max-width: 1179px) {
  body[data-page="admin"] .admin-brand img,
  body[data-page^="admin-"] .admin-brand img {
    width: 270px !important;
    min-width: 270px !important;
    max-width: 270px !important;
  }

  body[data-page="admin"] .admin-brand-row,
  body[data-page^="admin-"] .admin-brand-row {
    min-height: 135px !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  body[data-page="admin"] .admin-brand img,
  body[data-page^="admin-"] .admin-brand img {
    width: 230px !important;
    min-width: 230px !important;
    max-width: 230px !important;
  }

  body[data-page="admin"] .admin-brand-row,
  body[data-page^="admin-"] .admin-brand-row {
    min-height: 120px !important;
    padding: 14px 10px 16px !important;
  }
}

/* ELVORA FIX END: Admin Logo Zentriert Gross V6 */

/* ELVORA FIX START: Dashboard Topbar Elvira V10 */

/* Falls der alte automatisch eingesetzte Account-Pill noch irgendwo auftaucht */
body[data-page="admin"] .admin-account-pill,
body[data-page^="admin-"] .admin-account-pill {
  display: none !important;
}

/* Obere Kopfzeile: links Name/Rolle, rechts Aktionen */
body[data-page="admin"] .admin-top-user {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 220px !important;
}

body[data-page="admin"] .admin-top-user .eyebrow {
  margin: 0 0 5px 0 !important;
  font-size: 0.74rem !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  opacity: 0.72 !important;
}

body[data-page="admin"] .admin-top-user h1 {
  margin: 0 !important;
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
}

body[data-page="admin"] .admin-top-user p:not(.eyebrow) {
  margin: 5px 0 0 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  opacity: 0.82 !important;
}

/* Topbar insgesamt schöner ausrichten */
body[data-page="admin"] .admin-dashboard > header:first-child,
body[data-page="admin"] main > header:first-child {
  align-items: center !important;
}

/* Die zweite Admin-Dashboard-Überschrift bleibt als eigentlicher Seitentitel */
body[data-page="admin"] .admin-dashboard-hero h1,
body[data-page="admin"] .admin-hero h1 {
  margin-top: 0 !important;
}

/* Mobile: Name und Buttons sauber untereinander */
@media (max-width: 760px) {
  body[data-page="admin"] .admin-top-user {
    width: 100% !important;
    text-align: left !important;
  }

  body[data-page="admin"] .admin-top-user h1 {
    font-size: 1.45rem !important;
  }

  body[data-page="admin"] .admin-top-actions {
    width: 100% !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
}

/* ELVORA FIX END: Dashboard Topbar Elvira V10 */

/* ELVORA FIX START: Dashboard Topbar Elvira ROBUST V11 */

/* Oben links im Dashboard: Name + Rolle statt doppeltem Admin Dashboard */
body[data-page="admin"] .admin-top-user {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 240px !important;
}

body[data-page="admin"] .admin-top-user .eyebrow {
  margin: 0 0 5px 0 !important;
  font-size: 0.74rem !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  opacity: 0.72 !important;
}

body[data-page="admin"] .admin-top-user h1 {
  margin: 0 !important;
  font-size: clamp(1.5rem, 2.1vw, 2.05rem) !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
}

body[data-page="admin"] .admin-top-user p:not(.eyebrow) {
  margin: 5px 0 0 0 !important;
  font-size: 0.96rem !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  opacity: 0.82 !important;
}

/* Falls alter automatisch eingefügter Profilbutton noch auftaucht */
body[data-page="admin"] .admin-account-pill,
body[data-page^="admin-"] .admin-account-pill {
  display: none !important;
}

/* Topbar ordentlich ausrichten */
body[data-page="admin"] .admin-dashboard > header:first-child,
body[data-page="admin"] main > header:first-child {
  align-items: center !important;
  gap: 18px !important;
}

/* Rechts Buttons nicht zerquetschen */
body[data-page="admin"] .admin-top-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

@media (max-width: 760px) {
  body[data-page="admin"] .admin-top-user {
    width: 100% !important;
  }

  body[data-page="admin"] .admin-top-user h1 {
    font-size: 1.45rem !important;
  }

  body[data-page="admin"] .admin-top-actions {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

/* ELVORA FIX END: Dashboard Topbar Elvira ROBUST V11 */

/* ELVORA FIX START: Sidebar Logo allein V12 */

/* In der Sidebar darf unter dem Logo kein Name/Verwaltungstext stehen */
body[data-page="admin"] .admin-sidebar .admin-brand-title,
body[data-page^="admin-"] .admin-sidebar .admin-brand-title {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Logo-Bereich endet direkt nach dem Logo */
body[data-page="admin"] .admin-sidebar .admin-brand-row,
body[data-page^="admin-"] .admin-sidebar .admin-brand-row {
  margin-bottom: 14px !important;
}

/* Menü beginnt direkt unter dem Logo */
body[data-page="admin"] .admin-sidebar .admin-nav,
body[data-page^="admin-"] .admin-sidebar .admin-nav {
  margin-top: 0 !important;
}

/* ELVORA FIX END: Sidebar Logo allein V12 */

/* ELVORA FIX START: Dashboard Nav Schrift FINAL V14 */

/* Dashboard-Menüpunkt: Start rechts komplett verstecken */
body[data-page="admin"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] small,
body[data-page^="admin-"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] small,
body[data-page="admin"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] small,
body[data-page^="admin-"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] small,
body[data-page="admin"] .admin-sidebar .admin-nav .admin-dashboard-nav-link small,
body[data-page^="admin-"] .admin-sidebar .admin-nav .admin-dashboard-nav-link small,
body[data-page="admin"] .admin-sidebar .admin-nav > a:first-child small,
body[data-page^="admin-"] .admin-sidebar .admin-nav > a:first-child small {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Dashboard-Menüpunkt größer */
body[data-page="admin"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"],
body[data-page^="admin-"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"],
body[data-page="admin"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"],
body[data-page^="admin-"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"],
body[data-page="admin"] .admin-sidebar .admin-nav .admin-dashboard-nav-link,
body[data-page^="admin-"] .admin-sidebar .admin-nav .admin-dashboard-nav-link,
body[data-page="admin"] .admin-sidebar .admin-nav > a:first-child,
body[data-page^="admin-"] .admin-sidebar .admin-nav > a:first-child {
  min-height: 52px !important;
  padding: 13px 15px !important;
  font-size: 1.18rem !important;
  font-weight: 850 !important;
  line-height: 1.18 !important;
}

/* Dashboard-Text selbst größer, aber Icon nicht kaputt machen */
body[data-page="admin"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] > span:not(.admin-nav-icon),
body[data-page^="admin-"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] > span:not(.admin-nav-icon),
body[data-page="admin"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] > span:not(.admin-nav-icon),
body[data-page^="admin-"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] > span:not(.admin-nav-icon),
body[data-page="admin"] .admin-sidebar .admin-nav .admin-dashboard-nav-link > span:not(.admin-nav-icon),
body[data-page^="admin-"] .admin-sidebar .admin-nav .admin-dashboard-nav-link > span:not(.admin-nav-icon),
body[data-page="admin"] .admin-sidebar .admin-nav > a:first-child > span:not(.admin-nav-icon),
body[data-page^="admin-"] .admin-sidebar .admin-nav > a:first-child > span:not(.admin-nav-icon) {
  font-size: 1.18rem !important;
  font-weight: 850 !important;
  line-height: 1.18 !important;
}

/* Dashboard-Icon passend größer */
body[data-page="admin"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] .admin-nav-icon,
body[data-page^="admin-"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] .admin-nav-icon,
body[data-page="admin"] .admin-sidebar .admin-nav .admin-dashboard-nav-link .admin-nav-icon,
body[data-page^="admin-"] .admin-sidebar .admin-nav .admin-dashboard-nav-link .admin-nav-icon,
body[data-page="admin"] .admin-sidebar .admin-nav > a:first-child .admin-nav-icon,
body[data-page^="admin-"] .admin-sidebar .admin-nav > a:first-child .admin-nav-icon {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
}

/* ELVORA FIX END: Dashboard Nav Schrift FINAL V14 */

/* ELVORA FIX START: Dashboard Nav Zentriert V15 */

/* Dashboard-Menüpunkt links: Text wirklich mittig */
body[data-page="admin"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"],
body[data-page^="admin-"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"],
body[data-page="admin"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"],
body[data-page^="admin-"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"],
body[data-page="admin"] .admin-sidebar .admin-nav .admin-dashboard-nav-link,
body[data-page^="admin-"] .admin-sidebar .admin-nav .admin-dashboard-nav-link,
body[data-page="admin"] .admin-sidebar .admin-nav > a:first-child,
body[data-page^="admin-"] .admin-sidebar .admin-nav > a:first-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;

  min-height: 52px !important;
  padding: 13px 16px !important;

  font-size: 1.18rem !important;
  font-weight: 850 !important;
  line-height: 1.18 !important;
}

/* Dashboard-Icon ausblenden, damit der Text nicht nach rechts gedrückt wird */
body[data-page="admin"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] .admin-nav-icon,
body[data-page^="admin-"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] .admin-nav-icon,
body[data-page="admin"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] .admin-nav-icon,
body[data-page^="admin-"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] .admin-nav-icon,
body[data-page="admin"] .admin-sidebar .admin-nav .admin-dashboard-nav-link .admin-nav-icon,
body[data-page^="admin-"] .admin-sidebar .admin-nav .admin-dashboard-nav-link .admin-nav-icon,
body[data-page="admin"] .admin-sidebar .admin-nav > a:first-child .admin-nav-icon,
body[data-page^="admin-"] .admin-sidebar .admin-nav > a:first-child .admin-nav-icon {
  display: none !important;
}

/* Dashboard-Text mittig und breit */
body[data-page="admin"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] > span:not(.admin-nav-icon),
body[data-page^="admin-"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] > span:not(.admin-nav-icon),
body[data-page="admin"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] > span:not(.admin-nav-icon),
body[data-page^="admin-"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] > span:not(.admin-nav-icon),
body[data-page="admin"] .admin-sidebar .admin-nav .admin-dashboard-nav-link > span:not(.admin-nav-icon),
body[data-page^="admin-"] .admin-sidebar .admin-nav .admin-dashboard-nav-link > span:not(.admin-nav-icon),
body[data-page="admin"] .admin-sidebar .admin-nav > a:first-child > span:not(.admin-nav-icon),
body[data-page^="admin-"] .admin-sidebar .admin-nav > a:first-child > span:not(.admin-nav-icon) {
  display: block !important;
  width: 100% !important;

  text-align: center !important;

  font-size: 1.18rem !important;
  font-weight: 850 !important;
  line-height: 1.18 !important;
}

/* Start bleibt weg */
body[data-page="admin"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] small,
body[data-page^="admin-"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] small,
body[data-page="admin"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] small,
body[data-page^="admin-"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] small,
body[data-page="admin"] .admin-sidebar .admin-nav .admin-dashboard-nav-link small,
body[data-page^="admin-"] .admin-sidebar .admin-nav .admin-dashboard-nav-link small,
body[data-page="admin"] .admin-sidebar .admin-nav > a:first-child small,
body[data-page^="admin-"] .admin-sidebar .admin-nav > a:first-child small {
  display: none !important;
}

/* ELVORA FIX END: Dashboard Nav Zentriert V15 */

/* ELVORA FIX START: Admin Untermenüs Einheitlich V16 */

/* Alle Untermenü-Links gleich groß und ohne Sonder-Umrandungen */
body[data-page="admin"] .admin-nav-group > div a,
body[data-page^="admin-"] .admin-nav-group > div a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: 100% !important;
  min-height: 38px !important;
  height: auto !important;

  padding: 8px 10px !important;
  margin: 0 !important;

  border: 1px solid transparent !important;
  border-radius: 12px !important;

  background: transparent !important;
  box-shadow: none !important;

  font-size: 0.98rem !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;

  text-align: left !important;
  white-space: normal !important;
}

/* Aktiver Untermenüpunkt: dezent, aber nicht größer und keine dicke Kontur */
body[data-page="admin"] .admin-nav-group > div a.is-active,
body[data-page="admin"] .admin-nav-group > div a.active,
body[data-page^="admin-"] .admin-nav-group > div a.is-active,
body[data-page^="admin-"] .admin-nav-group > div a.active,
body[data-page="admin"] .admin-nav-group > div a[aria-current="page"],
body[data-page^="admin-"] .admin-nav-group > div a[aria-current="page"] {
  min-height: 38px !important;

  padding: 8px 10px !important;
  margin: 0 !important;

  border: 1px solid color-mix(in srgb, var(--preview-accent) 22%, transparent) !important;
  border-radius: 12px !important;

  background: color-mix(in srgb, var(--preview-accent) 10%, transparent) !important;
  box-shadow: none !important;

  outline: none !important;

  font-size: 0.98rem !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
}

/* Hover ebenfalls gleich groß lassen */
body[data-page="admin"] .admin-nav-group > div a:hover,
body[data-page^="admin-"] .admin-nav-group > div a:hover {
  min-height: 38px !important;
  padding: 8px 10px !important;

  border: 1px solid color-mix(in srgb, var(--preview-accent) 20%, transparent) !important;
  border-radius: 12px !important;

  background: color-mix(in srgb, var(--preview-accent) 9%, transparent) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Zweispaltiges Untermenü sauber angleichen */
@media (min-width: 1180px) {
  body[data-page="admin"] .admin-nav-group[open] > div,
  body[data-page^="admin-"] .admin-nav-group[open] > div {
    align-items: stretch !important;
  }

  body[data-page="admin"] .admin-nav-group[open] > div a,
  body[data-page^="admin-"] .admin-nav-group[open] > div a {
    min-width: 0 !important;
  }
}

/* ELVORA FIX END: Admin Untermenüs Einheitlich V16 */

/* ELVORA FIX START: Sidebar Untermenue HARD RESET V17 */

/* Untermenü-Container gleichmäßig */
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px 12px !important;

  margin: 8px 0 8px 14px !important;
  padding: 8px 0 8px 12px !important;

  border-left: 2px solid color-mix(in srgb, var(--preview-accent) 24%, var(--preview-border)) !important;
}

/* ALLE Untermenüpunkte exakt gleich behandeln */
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a,
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a:link,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a:link,
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a:visited,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a:visited,
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a:hover,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a:hover,
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a:focus,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a:focus,
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a:focus-visible,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a:focus-visible,
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a.active,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a.active,
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a.is-active,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a.is-active,
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a[aria-current="page"],
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a[aria-current="page"] {
  box-sizing: border-box !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;

  min-height: 40px !important;
  height: auto !important;

  padding: 8px 10px !important;
  margin: 0 !important;

  border: 1px solid transparent !important;
  outline: 0 !important;
  outline-offset: 0 !important;

  border-radius: 12px !important;

  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;

  color: inherit !important;

  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;

  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
}

/* Nur Hover ganz leicht, aber ohne Größenänderung */
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a:hover,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a:hover {
  background: color-mix(in srgb, var(--preview-accent) 8%, transparent) !important;
}

/* Aktiver Unterpunkt dezent, aber gleiche Größe */
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a.active,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a.active,
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a.is-active,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a.is-active,
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a[aria-current="page"],
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a[aria-current="page"] {
  background: color-mix(in srgb, var(--preview-accent) 9%, transparent) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Lange Begriffe nicht als riesige Kachel aufblasen */
body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div > a span,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div > a span {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  text-align: left !important;
}

/* ELVORA FIX END: Sidebar Untermenue HARD RESET V17 */

/* ELVORA FIX START: Sidebar Untermenue Schrift FINAL V22 */

/* Untermenü-Links: alle gleich */
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a,
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a:hover,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a:hover,
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a:focus,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a:focus,
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a.active,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a.active,
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a.is-active,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a.is-active,
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a[aria-current="page"],
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a[aria-current="page"] {
  font-family: inherit !important;
  font-size: 0.96rem !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;

  min-height: 40px !important;
  padding: 8px 10px !important;

  display: flex !important;
  align-items: center !important;
}

/* Alles INNERHALB der Untermenü-Links ebenfalls gleich.
   Genau hier lag wahrscheinlich der Mist begraben. */
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a *,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a *,
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a:hover *,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a:hover *,
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a:focus *,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a:focus *,
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a.active *,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a.active *,
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a.is-active *,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a.is-active *,
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a[aria-current="page"] *,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a[aria-current="page"] * {
  font-family: inherit !important;
  font-size: 0.96rem !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;

  margin: 0 !important;
  padding: 0 !important;

  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  text-align: left !important;
}

/* Lange Menüpunkte dürfen umbrechen, aber nicht größer werden */
body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* Speziell Unternehmen & Auswertung: gleiche Schrift wie alle anderen Untermenüs */
body[data-page="admin"] .admin-sidebar .admin-nav-group[data-admin-group*="unternehmen"] > div > a,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[data-admin-group*="unternehmen"] > div > a,
body[data-page="admin"] .admin-sidebar .admin-nav-group[data-admin-group*="auswertung"] > div > a,
body[data-page^="admin-"] .admin-sidebar .admin-nav-group[data-admin-group*="auswertung"] > div > a {
  font-size: 0.96rem !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
}

/* ELVORA FIX END: Sidebar Untermenue Schrift FINAL V22 */

/* ELVORA FIX START: Admin Original Hintergrund GLOBAL V27 */

/* Admin bekommt denselben gespeicherten Lotus-Hintergrund wie die Kundenseite */
body[data-page="admin"],
body[data-page^="admin-"] {
  min-height: 100vh !important;

  background-color: var(--page-bg) !important;
  background-image: var(--elvora-page-art) !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center top !important;
  background-attachment: fixed !important;
}

/* Falls alte Admin-Verläufe/Pseudo-Hintergründe darüberliegen: aus */
body[data-page="admin"]::before,
body[data-page^="admin-"]::before {
  content: none !important;
  display: none !important;
}

/* Light Mode nutzt exakt den hellen gespeicherten Hintergrund */
html[data-theme="light"] body[data-page="admin"],
html[data-theme="light"] body[data-page^="admin-"] {
  background-color: #F9F7FA !important;
  background-image: url("assets/images/Hintergrund-Light-Neu.png?v=20260612-3") !important;
}

/* Dark Mode nutzt exakt den dunklen gespeicherten Hintergrund */
html[data-theme="dark"] body[data-page="admin"],
html[data-theme="dark"] body[data-page^="admin-"] {
  background-color: #151A22 !important;
  background-image: url("assets/images/Hintergrund-Dark-Neu.png?v=20260612-3") !important;
}

/* Admin-Arbeitsfläche bleibt mittig und lesbar, außen bleibt der Hintergrund sichtbar */
body[data-page="admin"] .admin-shell,
body[data-page^="admin-"] .admin-shell {
  position: relative !important;
  z-index: 1 !important;
}

/* Innenflächen bleiben leicht transparent, damit der Hintergrund nicht komplett verschluckt wird */
body[data-page="admin"] .admin-sidebar,
body[data-page^="admin-"] .admin-sidebar,
body[data-page="admin"] .admin-shell main,
body[data-page^="admin-"] .admin-shell main {
  backdrop-filter: blur(12px) !important;
}

/* Große Bildschirme: links/rechts bewusst Hintergrund sichtbar lassen */
@media (min-width: 1200px) {
  body[data-page="admin"],
  body[data-page^="admin-"] {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* ELVORA FIX END: Admin Original Hintergrund GLOBAL V27 */

/* ELVORA FIX START: Exact Neu Background Fullscreen V31 */

/* Genau die gespeicherten Hintergrunddateien verwenden:
   Dark:  Hintergrund-Dark-Neu.png
   Light: Hintergrund-Light-Neu.png
   Ziel: kompletter Monitor gefüllt, ohne Abschneiden */
html[data-theme="light"] body,
html[data-theme="light"] body[data-page="admin"],
html[data-theme="light"] body[data-page^="admin-"] {
  background-color: #F9F7FA !important;
  background-image: url("assets/images/Hintergrund-Light-Neu.png") !important;
  background-repeat: no-repeat !important;
  background-size: 100vw 100vh !important;
  background-position: center center !important;
  background-attachment: fixed !important;
}

html[data-theme="dark"] body,
html[data-theme="dark"] body[data-page="admin"],
html[data-theme="dark"] body[data-page^="admin-"] {
  background-color: #151A22 !important;
  background-image: url("assets/images/Hintergrund-Dark-Neu.png") !important;
  background-repeat: no-repeat !important;
  background-size: 100vw 100vh !important;
  background-position: center center !important;
  background-attachment: fixed !important;
}

/* Keine zweite Hintergrundebene im Admin, sonst sieht es wieder aus wie zusammengeflickt */
body[data-page="admin"]::before,
body[data-page^="admin-"]::before {
  content: none !important;
  display: none !important;
  background-image: none !important;
}

/* Admin-Innenbereiche dürfen keinen eigenen Hintergrund-Puzzle-Effekt erzeugen */
body[data-page="admin"] .admin-shell,
body[data-page^="admin-"] .admin-shell,
body[data-page="admin"] .admin-sidebar,
body[data-page^="admin-"] .admin-sidebar,
body[data-page="admin"] .admin-shell main,
body[data-page^="admin-"] .admin-shell main {
  background-image: none !important;
}

/* Hero/Kundenseite ebenfalls nicht mehr abschneiden */
.hero {
  background-image: none !important;
}

/* Mobile: ebenfalls die Neu-Dateien, komplett sichtbar über den Bildschirm */
@media (max-width: 760px) {
  html[data-theme="light"] body,
  html[data-theme="light"] body[data-page="admin"],
  html[data-theme="light"] body[data-page^="admin-"] {
    background-image: url("assets/images/Hintergrund-Light-Neu.png") !important;
    background-size: 100vw 100vh !important;
    background-position: center center !important;
    background-attachment: fixed !important;
  }

  html[data-theme="dark"] body,
  html[data-theme="dark"] body[data-page="admin"],
  html[data-theme="dark"] body[data-page^="admin-"] {
    background-image: url("assets/images/Hintergrund-Dark-Neu.png") !important;
    background-size: 100vw 100vh !important;
    background-position: center center !important;
    background-attachment: fixed !important;
  }
}

/* ELVORA FIX END: Exact Neu Background Fullscreen V31 */

/* ELVORA FIX START: Kunden Hero transparent V32 */

/* Kundenbereich: Hero-Banner soll KEIN eigenes Hintergrundbild mehr haben.
   Der globale Lotus-Hintergrund vom Body soll durchgehend sichtbar bleiben. */
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero,
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Falls Hero per Pseudo-Element ein zweites Hintergrundbild/Overlay erzeugt */
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero::before,
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero::after,
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero::before,
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

/* Hero-Inhalt bleibt sichtbar über dem globalen Hintergrund */
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero-copy,
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero-showcase,
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero-image {
  position: relative !important;
  z-index: 2 !important;
}

/* Kategorien/Produktkarten unter dem Hero sollen nicht auf einem extra abgeschnittenen Hero-Hintergrund sitzen */
body:not([data-page="admin"]):not([data-page^="admin-"]) .category-grid,
body:not([data-page="admin"]):not([data-page^="admin-"]) .home-categories,
body:not([data-page="admin"]):not([data-page^="admin-"]) .section {
  background-image: none !important;
}

/* ELVORA FIX END: Kunden Hero transparent V32 */

/* ELVORA FIX START: Hero eigenes Hintergrundbild entfernen FINAL V33 */

/* Kundenseite: Der Hero-Banner darf KEIN eigenes Hintergrundbild haben.
   Der Seitenhintergrund bleibt global auf body, aber der Hero selbst bekommt nichts Eigenes. */
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero,
body:not([data-page="admin"]):not([data-page^="admin-"]) section.hero,
body:not([data-page="admin"]):not([data-page^="admin-"]) main .hero,
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero,
body:not([data-page="admin"]):not([data-page^="admin-"]) .home-hero,
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero-section {
  background-image: none !important;
  background-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Falls das Hero-Bild über ::before oder ::after kommt */
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero::before,
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero::after,
body:not([data-page="admin"]):not([data-page^="admin-"]) section.hero::before,
body:not([data-page="admin"]):not([data-page^="admin-"]) section.hero::after,
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero::before,
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero::after,
body:not([data-page="admin"]):not([data-page^="admin-"]) .home-hero::before,
body:not([data-page="admin"]):not([data-page^="admin-"]) .home-hero::after,
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero-section::before,
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero-section::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

/* Falls Codex irgendeinen extra Hintergrund-Layer in den Hero gelegt hat */
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero [class*="background"],
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero [class*="bg"],
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero [class*="art"],
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero [class*="watermark"] {
  background-image: none !important;
}

/* Hero-Inhalt bleibt normal sichtbar */
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero-copy,
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero-actions,
body:not([data-page="admin"]):not([data-page^="admin-"]) .category-grid {
  position: relative !important;
  z-index: 2 !important;
}

/* ELVORA FIX END: Hero eigenes Hintergrundbild entfernen FINAL V33 */

/* ELVORA FIX START: Home Hero Logo sicher V36 */

/* Startseite: kleines Logo oben links visuell entfernen,
   aber Platz im Header behalten, damit Navigation nicht wieder explodiert. */
body[data-page="home"] .site-header .brand {
  display: flex !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Header-Layout nicht anfassen wie ein Presslufthammer */
body[data-page="home"] .site-header {
  grid-template-columns: auto 1fr auto !important;
}

/* Das alte Hero-Bild darf nicht sichtbar sein */
body[data-page="home"] .hero-dynamic-art {
  display: none !important;
}

/* Hero bleibt transparent, kein eigener Hintergrund, kein dunkler Kasten */
body[data-page="home"] .hero,
body[data-page="home"] .hero[data-live-hero],
body[data-page="home"] .hero-composed {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Hero-Inhalt sauber mittig */
body[data-page="home"] .hero-composed {
  min-height: 520px !important;
  padding: clamp(42px, 6vw, 86px) 24px !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
}

body[data-page="home"] .hero-composed .hero-copy {
  width: min(96vw, 1250px) !important;
  max-width: 1250px !important;
  margin: 0 auto !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Großes Logo über dem Hero-Text */
body[data-page="home"] .hero-main-logo {
  display: block !important;
  width: clamp(170px, 17vw, 300px) !important;
  height: auto !important;
  margin: 0 auto 18px !important;
  object-fit: contain !important;
}

/* Hero-Text kleiner und auf Desktop eine Zeile */
body[data-page="home"] .hero-composed h1 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto 10px !important;
  text-align: center !important;
  white-space: nowrap !important;
  font-size: clamp(28px, 3vw, 46px) !important;
  line-height: 1.12 !important;
  letter-spacing: .01em !important;
  font-family: var(--hero-title-font, var(--heading-font, sans-serif)) !important;
  font-weight: 700 !important;
}

body[data-page="home"] .hero-composed h1 strong,
body[data-page="home"] .hero-composed h1 span {
  display: inline !important;
  margin: 0 !important;
  white-space: nowrap !important;
  font: inherit !important;
  color: inherit !important;
}

body[data-page="home"] .hero-composed p {
  max-width: 850px !important;
  margin: 0 auto 16px !important;
  text-align: center !important;
  font-size: clamp(15px, 1.25vw, 19px) !important;
  line-height: 1.35 !important;
}

body[data-page="home"] .hero-composed .btn {
  margin: 6px auto 0 !important;
}

/* Auf Handy darf der Text umbrechen, weil sonst rechts aus dem Bildschirm fällt.
   Desktop bleibt eine Zeile. */
@media (max-width: 760px) {
  body[data-page="home"] .hero-composed h1 {
    white-space: normal !important;
    font-size: clamp(28px, 8vw, 42px) !important;
  }

  body[data-page="home"] .hero-main-logo {
    width: clamp(150px, 42vw, 230px) !important;
  }
}

/* ELVORA FIX END: Home Hero Logo sicher V36 */

/* ELVORA FIX START: Hero Logo groesser hoeher V38 */

/* Gesamten Hero-Inhalt weiter nach oben ziehen */
body[data-page="home"] .hero-composed {
  min-height: 500px !important;
  padding-top: 0 !important;
  padding-bottom: clamp(90px, 9vw, 150px) !important;
  align-items: start !important;
  place-items: start center !important;
}

/* Den inneren Logo/Text-Block höher positionieren */
body[data-page="home"] .hero-composed .hero-copy {
  transform: translateY(-54px) !important;
}

/* Logo deutlich größer machen */
body[data-page="home"] .hero-main-logo {
  width: clamp(310px, 30vw, 560px) !important;
  max-width: 560px !important;
  height: auto !important;
  margin: 0 auto 24px !important;
  object-fit: contain !important;
}

/* Text bleibt darunter, zentriert und einzeilig */
body[data-page="home"] .hero-composed h1 {
  margin: 0 auto 10px !important;
  white-space: nowrap !important;
  text-align: center !important;
}

/* Mobile etwas weniger aggressiv, sonst klebt das Logo am Mond */
@media (max-width: 760px) {
  body[data-page="home"] .hero-composed .hero-copy {
    transform: translateY(-28px) !important;
  }

  body[data-page="home"] .hero-main-logo {
    width: clamp(230px, 68vw, 340px) !important;
    margin-bottom: 18px !important;
  }
}

/* ELVORA FIX END: Hero Logo groesser hoeher V38 */

/* ELVORA FIX START: Kundenmenue Schrift groesser V39 */

/* Kundenbereich: obere Menüleiste besser lesbar machen */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
  font-size: clamp(17px, 1.15vw, 21px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .01em !important;
}

/* Menüabstand leicht erhöhen, damit die größere Schrift nicht gequetscht wirkt */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav {
  gap: clamp(24px, 2.2vw, 42px) !important;
  align-items: center !important;
}

/* Header etwas mehr Höhe geben, sonst sieht es aus wie in eine Sardinendose gepresst */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
  min-height: 92px !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

/* Pinke Leiste oben bleibt, aber Text darin ebenfalls lesbarer */
.announcement-bar,
.top-bar,
.promo-bar {
  font-size: clamp(13px, .85vw, 16px) !important;
  font-weight: 700 !important;
}

/* Mobile nicht riesig machen */
@media (max-width: 760px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
    font-size: 17px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav {
    gap: 16px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
    min-height: 76px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}

/* ELVORA FIX END: Kundenmenue Schrift groesser V39 */

/* ELVORA FIX START: Kategorien aussen transparent Karten gefuellt V51 */

/* WICHTIG:
   Außen um die 5 Karten = komplett transparent.
   Karten selbst = gefüllt.
   Kein Hintergrundbild, kein schwarzer Balken, keine Section-Fläche. */

/* Main darf keinen eigenen schwarzen Hintergrund hinter den Kategorien erzeugen */
body[data-page="home"] main {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Kategorie-Section außen komplett transparent */
body[data-page="home"] main > section.home-category-section,
body[data-page="home"] main > section:has(.category-grid[data-live-categories]),
body[data-page="home"] main > section:nth-of-type(2),
body[data-page="home"] main > section:nth-of-type(2).section {
  width: min(1500px, calc(100% - 90px)) !important;
  margin: -18px auto 58px !important;
  padding: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: visible !important;
  position: relative !important;
  z-index: 10 !important;
}

/* Pseudo-Flächen der Kategorie-Section komplett entfernen */
body[data-page="home"] main > section.home-category-section::before,
body[data-page="home"] main > section.home-category-section::after,
body[data-page="home"] main > section:has(.category-grid[data-live-categories])::before,
body[data-page="home"] main > section:has(.category-grid[data-live-categories])::after,
body[data-page="home"] main > section:nth-of-type(2)::before,
body[data-page="home"] main > section:nth-of-type(2)::after,
body[data-page="home"] main > section:nth-of-type(2).section::before,
body[data-page="home"] main > section:nth-of-type(2).section::after {
  content: none !important;
  display: none !important;

  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Grid: zwischen den Karten komplett transparent */
body[data-page="home"] .category-grid[data-live-categories],
body[data-page="home"] .home-category-section .category-grid[data-live-categories],
body[data-page="home"] main > section:nth-of-type(2) .category-grid {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(5, minmax(170px, 1fr)) !important;
  gap: 22px !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: visible !important;
  position: relative !important;
  z-index: 11 !important;
}

/* Grid-Pseudo-Flächen komplett weg */
body[data-page="home"] .category-grid[data-live-categories]::before,
body[data-page="home"] .category-grid[data-live-categories]::after,
body[data-page="home"] .home-category-section .category-grid[data-live-categories]::before,
body[data-page="home"] .home-category-section .category-grid[data-live-categories]::after,
body[data-page="home"] main > section:nth-of-type(2) .category-grid::before,
body[data-page="home"] main > section:nth-of-type(2) .category-grid::after {
  content: none !important;
  display: none !important;

  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Karten selbst: gefüllt, NICHT transparent */
body[data-page="home"] .category-grid[data-live-categories] > a,
body[data-page="home"] .category-grid[data-live-categories] > a.shop-category-card,
body[data-page="home"] .home-category-section .category-grid[data-live-categories] > a,
body[data-page="home"] .home-category-section .category-grid[data-live-categories] > a.shop-category-card {
  min-height: 210px !important;
  padding: 24px 20px 22px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;

  text-align: center !important;
  text-decoration: none !important;

  border: 2px solid rgba(255, 137, 196, .62) !important;
  border-radius: 28px !important;

  background:
    linear-gradient(145deg, rgba(48, 36, 62, .96), rgba(31, 25, 43, .94)) !important;
  background-color: rgba(36, 28, 48, .96) !important;
  background-image:
    linear-gradient(145deg, rgba(48, 36, 62, .96), rgba(31, 25, 43, .94)) !important;

  box-shadow:
    0 16px 34px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .10) !important;

  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: hidden !important;
  position: relative !important;
  z-index: 12 !important;
}

/* Karten dürfen keine extra schwarze Pseudo-Fläche haben */
body[data-page="home"] .category-grid[data-live-categories] > a::before,
body[data-page="home"] .category-grid[data-live-categories] > a::after,
body[data-page="home"] .category-grid[data-live-categories] > a.shop-category-card::before,
body[data-page="home"] .category-grid[data-live-categories] > a.shop-category-card::after {
  content: none !important;
  display: none !important;

  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  box-shadow: none !important;
}

/* Textblock in den Karten: zentriert und ohne eigene Fläche */
body[data-page="home"] .category-grid[data-live-categories] > a > span:last-child,
body[data-page="home"] .category-grid[data-live-categories] > a.shop-category-card > span:last-child {
  width: 100% !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  text-align: center !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  box-shadow: none !important;
}

/* Icon/Herz mittig */
body[data-page="home"] .category-grid[data-live-categories] > a > span:first-child,
body[data-page="home"] .category-grid[data-live-categories] > a.shop-category-card > span:first-child,
body[data-page="home"] .category-grid[data-live-categories] > a > img:first-child,
body[data-page="home"] .category-grid[data-live-categories] > a.shop-category-card > img:first-child {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;

  margin: 0 auto 4px !important;

  display: grid !important;
  place-items: center !important;

  border-radius: 20px !important;
  background: linear-gradient(145deg, rgba(255, 88, 166, .88), rgba(203, 72, 143, .78)) !important;
  color: #ffffff !important;

  font-size: 24px !important;
  box-shadow: none !important;
}

/* Text bleibt mittig */
body[data-page="home"] .category-grid[data-live-categories] > a strong,
body[data-page="home"] .category-grid[data-live-categories] > a small,
body[data-page="home"] .category-grid[data-live-categories] > a .category-card-cta {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html[data-theme="dark"] body[data-page="home"] .category-grid[data-live-categories] > a strong {
  color: #ffffff !important;
}

html[data-theme="dark"] body[data-page="home"] .category-grid[data-live-categories] > a small {
  color: rgba(255, 255, 255, .88) !important;
}

/* Light Mode: Karten hell gefüllt, Außenbereich trotzdem transparent */
html[data-theme="light"] body[data-page="home"] .category-grid[data-live-categories] > a,
html[data-theme="light"] body[data-page="home"] .category-grid[data-live-categories] > a.shop-category-card,
html[data-theme="light"] body[data-page="home"] .home-category-section .category-grid[data-live-categories] > a,
html[data-theme="light"] body[data-page="home"] .home-category-section .category-grid[data-live-categories] > a.shop-category-card {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(248, 238, 247, .90)) !important;
  background-color: rgba(255, 255, 255, .96) !important;
  background-image:
    linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(248, 238, 247, .90)) !important;

  border-color: rgba(232, 92, 154, .34) !important;

  box-shadow:
    0 16px 34px rgba(150, 95, 145, .12),
    inset 0 1px 0 rgba(255, 255, 255, .55) !important;
}

html[data-theme="light"] body[data-page="home"] .category-grid[data-live-categories] > a strong {
  color: #352437 !important;
}

html[data-theme="light"] body[data-page="home"] .category-grid[data-live-categories] > a small {
  color: rgba(53, 36, 55, .78) !important;
}

/* Tablet */
@media (max-width: 1180px) {
  body[data-page="home"] main > section.home-category-section,
  body[data-page="home"] main > section:has(.category-grid[data-live-categories]),
  body[data-page="home"] main > section:nth-of-type(2) {
    width: min(100% - 56px, 980px) !important;
  }

  body[data-page="home"] .category-grid[data-live-categories] {
    grid-template-columns: repeat(3, minmax(190px, 1fr)) !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  body[data-page="home"] main > section.home-category-section,
  body[data-page="home"] main > section:has(.category-grid[data-live-categories]),
  body[data-page="home"] main > section:nth-of-type(2) {
    width: min(100% - 32px, 540px) !important;
    margin: 0 auto 44px !important;
  }

  body[data-page="home"] .category-grid[data-live-categories] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body[data-page="home"] .category-grid[data-live-categories] > a,
  body[data-page="home"] .category-grid[data-live-categories] > a.shop-category-card {
    min-height: 165px !important;
    padding: 22px 20px !important;
  }
}

/* ELVORA FIX END: Kategorien aussen transparent Karten gefuellt V51 */

/* ELVORA FIX START: Kategorien Pseudo weg V52 */

body[data-page="home"] main > section.home-category-section-runtime-v52::before,
body[data-page="home"] main > section.home-category-section-runtime-v52::after,
body[data-page="home"] .category-grid[data-live-categories]::before,
body[data-page="home"] .category-grid[data-live-categories]::after,
body[data-page="home"] .home-category-grid-runtime-v52::before,
body[data-page="home"] .home-category-grid-runtime-v52::after,
body[data-page="home"] .category-grid[data-live-categories] > a.shop-category-card::before,
body[data-page="home"] .category-grid[data-live-categories] > a.shop-category-card::after {
  content: none !important;
  display: none !important;

  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  box-shadow: none !important;
  border: 0 !important;
  outline: 0 !important;
}

/* ELVORA FIX END: Kategorien Pseudo weg V52 */

/* ELVORA FIX START: Bestseller Bereich transparent V53 */

/* Bestseller-Außenbereich: komplett transparent, gleiche Breite wie Kategorien */
body[data-page="home"] main > section.home-bestseller-section {
  width: min(1500px, calc(100% - 90px)) !important;
  margin: 0 auto 58px !important;
  padding: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: visible !important;
  position: relative !important;
  z-index: 10 !important;
}

/* Keine versteckte Fläche über ::before/::after */
body[data-page="home"] main > section.home-bestseller-section::before,
body[data-page="home"] main > section.home-bestseller-section::after {
  content: none !important;
  display: none !important;

  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Überschrift bleibt mittig, aber ohne eigene Fläche */
body[data-page="home"] main > section.home-bestseller-section .section-head,
body[data-page="home"] main > section.home-bestseller-section .section-head.centered {
  width: 100% !important;
  margin: 0 auto 26px !important;
  padding: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  box-shadow: none !important;

  text-align: center !important;
}

/* Container, in den JS die Produkte rendert: transparent */
body[data-page="home"] main > section.home-bestseller-section [data-live-products] {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: visible !important;
}

/* Product-Grid selbst: keine schwarze Fläche, volle Breite der Bestseller-Section */
body[data-page="home"] main > section.home-bestseller-section [data-live-products] > .product-grid,
body[data-page="home"] main > section.home-bestseller-section .product-grid {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(5, minmax(170px, 1fr)) !important;
  gap: 22px !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: visible !important;
}

/* Pseudo-Flächen beim Produktbereich entfernen */
body[data-page="home"] main > section.home-bestseller-section [data-live-products]::before,
body[data-page="home"] main > section.home-bestseller-section [data-live-products]::after,
body[data-page="home"] main > section.home-bestseller-section .product-grid::before,
body[data-page="home"] main > section.home-bestseller-section .product-grid::after {
  content: none !important;
  display: none !important;

  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Produktkarte bleibt sichtbar/gefüllt.
   Wir entfernen nur große äußere Schatten, die wie schwarze Fläche wirken können. */
body[data-page="home"] main > section.home-bestseller-section .product-card {
  background: rgba(36, 28, 48, .96) !important;
  background-color: rgba(36, 28, 48, .96) !important;
  background-image: none !important;

  border: 1px solid rgba(255, 137, 196, .34) !important;
  border-radius: 18px !important;

  box-shadow: none !important;
  overflow: hidden !important;
}

/* Light Mode: Produktkarte hell gefüllt, Bereich außen bleibt transparent */
html[data-theme="light"] body[data-page="home"] main > section.home-bestseller-section .product-card {
  background: rgba(255, 255, 255, .96) !important;
  background-color: rgba(255, 255, 255, .96) !important;
  background-image: none !important;

  border-color: rgba(232, 92, 154, .28) !important;
  box-shadow: none !important;
}

/* Tablet */
@media (max-width: 1180px) {
  body[data-page="home"] main > section.home-bestseller-section {
    width: min(100% - 56px, 980px) !important;
  }

  body[data-page="home"] main > section.home-bestseller-section .product-grid {
    grid-template-columns: repeat(3, minmax(190px, 1fr)) !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  body[data-page="home"] main > section.home-bestseller-section {
    width: min(100% - 32px, 540px) !important;
    margin: 0 auto 44px !important;
  }

  body[data-page="home"] main > section.home-bestseller-section .product-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* ELVORA FIX END: Bestseller Bereich transparent V53 */

/* ELVORA FIX START: Community Bereich transparent V54 */

/* Inspiration & Community Außenbereich:
   Position bleibt wie bisher. Nur Hintergrund/Fläche weg. */
body[data-page="home"] main > section.home-community-section {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: visible !important;
}

/* Keine Pseudo-Flächen vom Community-Bereich */
body[data-page="home"] main > section.home-community-section::before,
body[data-page="home"] main > section.home-community-section::after {
  content: none !important;
  display: none !important;

  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Überschrift bleibt mittig, aber ohne eigene Fläche */
body[data-page="home"] main > section.home-community-section .section-head,
body[data-page="home"] main > section.home-community-section .section-head.centered {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  text-align: center !important;
}

/* Grid bleibt in Position und Größe wie bisher.
   Nur der Hintergrund außen/zwischen den Karten wird entfernt. */
body[data-page="home"] main > section.home-community-section .community-grid {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: visible !important;
}

/* Keine Pseudo-Flächen am Grid */
body[data-page="home"] main > section.home-community-section .community-grid::before,
body[data-page="home"] main > section.home-community-section .community-grid::after {
  content: none !important;
  display: none !important;

  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Karten selbst bleiben gefüllt.
   Text wird zentriert. Position der vier Karten bleibt unverändert. */
body[data-page="home"] main > section.home-community-section .social-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;

  background: rgba(36, 28, 48, .96) !important;
  background-color: rgba(36, 28, 48, .96) !important;
  background-image: none !important;

  border: 1px solid rgba(255, 137, 196, .34) !important;
  border-radius: 18px !important;

  box-shadow: none !important;

  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: hidden !important;
}

/* Keine Extra-Flächen auf den Karten */
body[data-page="home"] main > section.home-community-section .social-card::before,
body[data-page="home"] main > section.home-community-section .social-card::after {
  content: none !important;
  display: none !important;

  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  box-shadow: none !important;
}

/* Text in den Karten sauber zentrieren */
body[data-page="home"] main > section.home-community-section .social-card strong,
body[data-page="home"] main > section.home-community-section .social-card p,
body[data-page="home"] main > section.home-community-section .social-card a,
body[data-page="home"] main > section.home-community-section .social-card .btn {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body[data-page="home"] main > section.home-community-section .social-card strong {
  color: #ffffff !important;
}

body[data-page="home"] main > section.home-community-section .social-card p {
  color: rgba(255, 255, 255, .88) !important;
}

/* Light Mode: Karten hell gefüllt, Außenbereich bleibt transparent */
html[data-theme="light"] body[data-page="home"] main > section.home-community-section .social-card {
  background: rgba(255, 255, 255, .96) !important;
  background-color: rgba(255, 255, 255, .96) !important;
  background-image: none !important;

  border-color: rgba(232, 92, 154, .28) !important;
  box-shadow: none !important;
}

html[data-theme="light"] body[data-page="home"] main > section.home-community-section .social-card strong {
  color: #352437 !important;
}

html[data-theme="light"] body[data-page="home"] main > section.home-community-section .social-card p {
  color: rgba(53, 36, 55, .78) !important;
}

/* ELVORA FIX END: Community Bereich transparent V54 */

/* ELVORA FIX START: Newsletter Band Clean V55 */

/* Newsletter-Block: gleiche Breite wie Kategorien/Bestseller, aber außen komplett transparent */
body[data-page="home"] main > section.newsletter-band {
  width: min(1500px, calc(100% - 90px)) !important;
  margin: 0 auto 64px !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: minmax(320px, 1.15fr) minmax(360px, 1fr) 190px !important;
  align-items: center !important;
  gap: 28px !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: visible !important;
  position: relative !important;
}

/* Keine versteckte Fläche über Pseudo-Elemente */
body[data-page="home"] main > section.newsletter-band::before,
body[data-page="home"] main > section.newsletter-band::after {
  content: none !important;
  display: none !important;

  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Linker Textbereich: entzerrt, transparent, nicht gequetscht */
body[data-page="home"] main > section.newsletter-band > div {
  min-height: 118px !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  grid-template-areas:
    "icon title"
    "icon text" !important;
  column-gap: 18px !important;
  row-gap: 6px !important;
  align-items: center !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  box-shadow: none !important;
}

/* @ Icon links besser sichtbar */
body[data-page="home"] main > section.newsletter-band > div > span {
  grid-area: icon !important;

  width: 54px !important;
  height: 54px !important;

  display: grid !important;
  place-items: center !important;

  border-radius: 18px !important;
  background: linear-gradient(145deg, #ff5fa8, #d94f92) !important;
  color: #ffffff !important;

  font-size: 30px !important;
  font-weight: 950 !important;
  line-height: 1 !important;

  box-shadow: none !important;
}

/* Titel und Text links sauber */
body[data-page="home"] main > section.newsletter-band h2 {
  grid-area: title !important;

  margin: 0 !important;
  color: #ffffff !important;

  font-size: clamp(24px, 1.7vw, 34px) !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: -0.02em !important;
}

body[data-page="home"] main > section.newsletter-band p {
  grid-area: text !important;

  max-width: 620px !important;
  margin: 0 !important;

  color: rgba(255, 255, 255, .86) !important;
  font-size: clamp(15px, .95vw, 18px) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

/* Formular: nicht mehr gequetscht, aber kein großer schwarzer Hintergrund */
body[data-page="home"] main > section.newsletter-band form[data-newsletter] {
  min-height: 118px !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: minmax(240px, 1fr) auto !important;
  grid-template-areas:
    "email button"
    "privacy privacy"
    "note note" !important;
  gap: 12px !important;
  align-items: center !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Eingabefeld lesbarer */
body[data-page="home"] main > section.newsletter-band form[data-newsletter] input[type="email"] {
  grid-area: email !important;

  width: 100% !important;
  min-height: 56px !important;
  padding: 0 18px !important;

  border-radius: 18px !important;
  border: 1px solid rgba(255, 137, 196, .46) !important;

  background: rgba(36, 28, 48, .78) !important;
  color: #ffffff !important;

  font-size: 15px !important;
  font-weight: 800 !important;

  box-shadow: none !important;
  outline: 0 !important;
}

body[data-page="home"] main > section.newsletter-band form[data-newsletter] input[type="email"]::placeholder {
  color: rgba(255, 255, 255, .66) !important;
}

/* Button daneben klar und groß genug */
body[data-page="home"] main > section.newsletter-band form[data-newsletter] button.btn {
  grid-area: button !important;

  min-height: 56px !important;
  min-width: 170px !important;
  padding: 0 28px !important;

  border-radius: 18px !important;
  border: 0 !important;

  background: linear-gradient(135deg, #ff5fa8, #d94f92) !important;
  color: #ffffff !important;

  font-size: 15px !important;
  font-weight: 950 !important;

  box-shadow: none !important;
}

/* Datenschutz-Zeile sauber unter Formular */
body[data-page="home"] main > section.newsletter-band form[data-newsletter] .check-row {
  grid-area: privacy !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: rgba(255, 255, 255, .84) !important;
  font-size: 14px !important;
  font-weight: 800 !important;

  background: transparent !important;
  box-shadow: none !important;
}

body[data-page="home"] main > section.newsletter-band form[data-newsletter] .check-row input {
  width: 18px !important;
  height: 18px !important;
  accent-color: #ff5fa8 !important;
}

/* Formular-Hinweis */
body[data-page="home"] main > section.newsletter-band form[data-newsletter] .form-note {
  grid-area: note !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .82) !important;
  font-size: 13px !important;
}

/* 10%-Badge rechts: auffällig und lesbar */
body[data-page="home"] main > section.newsletter-band > strong {
  width: 174px !important;
  height: 174px !important;
  min-width: 174px !important;

  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 4px !important;

  justify-self: end !important;

  border-radius: 50% !important;
  border: 3px solid rgba(255, 255, 255, .72) !important;

  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .26), transparent 34%),
    linear-gradient(145deg, #ff5fa8 0%, #d94f92 50%, #8b5cf6 100%) !important;
  background-color: #ff5fa8 !important;
  background-image:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .26), transparent 34%),
    linear-gradient(145deg, #ff5fa8 0%, #d94f92 50%, #8b5cf6 100%) !important;

  color: #ffffff !important;
  font-size: clamp(44px, 3.6vw, 62px) !important;
  line-height: .9 !important;
  font-weight: 1000 !important;
  letter-spacing: -0.05em !important;
  text-align: center !important;

  text-shadow: 0 2px 0 rgba(0, 0, 0, .22) !important;
  box-shadow:
    0 0 0 7px rgba(255, 95, 168, .14),
    0 18px 38px rgba(255, 95, 168, .22) !important;
}

/* Wort Rabatt endlich lesbar */
body[data-page="home"] main > section.newsletter-band > strong small {
  display: block !important;

  margin: 0 !important;
  padding: 5px 12px 6px !important;

  border-radius: 999px !important;

  background: rgba(255, 255, 255, .94) !important;
  color: #d94f92 !important;

  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;

  text-shadow: none !important;
}

/* Light Mode */
html[data-theme="light"] body[data-page="home"] main > section.newsletter-band h2 {
  color: #352437 !important;
}

html[data-theme="light"] body[data-page="home"] main > section.newsletter-band p,
html[data-theme="light"] body[data-page="home"] main > section.newsletter-band form[data-newsletter] .check-row,
html[data-theme="light"] body[data-page="home"] main > section.newsletter-band form[data-newsletter] .form-note {
  color: rgba(53, 36, 55, .82) !important;
}

html[data-theme="light"] body[data-page="home"] main > section.newsletter-band form[data-newsletter] input[type="email"] {
  background: rgba(255, 255, 255, .90) !important;
  color: #352437 !important;
  border-color: rgba(232, 92, 154, .34) !important;
}

html[data-theme="light"] body[data-page="home"] main > section.newsletter-band form[data-newsletter] input[type="email"]::placeholder {
  color: rgba(53, 36, 55, .56) !important;
}

/* Tablet */
@media (max-width: 1180px) {
  body[data-page="home"] main > section.newsletter-band {
    width: min(100% - 56px, 980px) !important;
    grid-template-columns: 1fr 1fr !important;
  }

  body[data-page="home"] main > section.newsletter-band > strong {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  body[data-page="home"] main > section.newsletter-band {
    width: min(100% - 32px, 540px) !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    margin-bottom: 44px !important;
  }

  body[data-page="home"] main > section.newsletter-band > div {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "icon"
      "title"
      "text" !important;
    justify-items: center !important;
    text-align: center !important;
  }

  body[data-page="home"] main > section.newsletter-band form[data-newsletter] {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "email"
      "privacy"
      "button"
      "note" !important;
  }

  body[data-page="home"] main > section.newsletter-band form[data-newsletter] button.btn {
    width: 100% !important;
  }

  body[data-page="home"] main > section.newsletter-band > strong {
    width: 148px !important;
    height: 148px !important;
    min-width: 148px !important;
  }
}

/* ELVORA FIX END: Newsletter Band Clean V55 */

/* ELVORA FIX START: Footer Ausrichtung V56 */

/* Footer insgesamt sauber ausrichten */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer {
  display: grid !important;
  grid-template-columns: 1.25fr .8fr .8fr .9fr !important;
  align-items: start !important;
  gap: clamp(42px, 6vw, 96px) !important;

  width: min(1500px, calc(100% - 90px)) !important;
  margin: 0 auto 34px !important;
  padding-top: 38px !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border-top: 1px solid rgba(255, 137, 196, .18) !important;
  box-shadow: none !important;
}

/* Linker Markenbereich: Logo und Text zentrieren */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;

  text-align: center !important;
  max-width: 360px !important;
}

/* Logo unten mittig */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand .footer-logo,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand .theme-logo {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  width: 100% !important;
  margin: 0 auto 14px !important;
  text-align: center !important;
}

/* Logo-Bild selbst mittig */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand img {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;

  max-width: 190px !important;
  height: auto !important;
}

/* Text unter Logo mittig */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand p {
  max-width: 320px !important;
  margin: 0 auto 18px !important;

  text-align: center !important;
  line-height: 1.55 !important;
}

/* Social-Zeile ebenfalls mittig, falls sichtbar */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand .socials {
  justify-content: center !important;
  text-align: center !important;
}

/* Shop / Service / Rechtliches weiter nach rechts und sauber zentriert */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:not(.footer-brand) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  min-width: 150px !important;
  text-align: left !important;
}

/* Überschriften der Footer-Spalten */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:not(.footer-brand) h2 {
  margin: 0 0 14px !important;
  text-align: left !important;
  font-size: 1.02rem !important;
  font-weight: 900 !important;
}

/* Links gleichmäßiger */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:not(.footer-brand) a {
  display: block !important;
  margin: 0 0 8px !important;
  text-align: left !important;
  line-height: 1.35 !important;
}

/* Die drei Linkspalten optisch etwas nach rechts schieben */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:nth-of-type(2),
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:nth-of-type(3),
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:nth-of-type(4) {
  transform: translateX(clamp(18px, 3vw, 54px)) !important;
}

/* Tablet: Footer bleibt sauber */
@media (max-width: 1100px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer {
    grid-template-columns: 1fr 1fr !important;
    width: min(100% - 56px, 980px) !important;
    gap: 36px 54px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:nth-of-type(2),
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:nth-of-type(3),
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:nth-of-type(4) {
    transform: none !important;
  }
}

/* Handy: alles zentriert */
@media (max-width: 760px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer {
    grid-template-columns: 1fr !important;
    width: min(100% - 32px, 540px) !important;
    text-align: center !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:not(.footer-brand) {
    align-items: center !important;
    text-align: center !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:not(.footer-brand) h2,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:not(.footer-brand) a {
    text-align: center !important;
  }
}

/* ELVORA FIX END: Footer Ausrichtung V56 */

/* ELVORA FIX START: Footer Single Logo V57 */

/* Footer: nur ein Logo anzeigen und exakt über dem Text zentrieren */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;

  text-align: center !important;
}

/* Logo-Container mittig */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand .footer-logo,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand .theme-logo {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  width: 100% !important;
  margin: 0 auto 16px !important;
  text-align: center !important;
}

/* Sicherheitsregel: falls doch noch mehrere Footer-Logos existieren, nur das erste anzeigen */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand .theme-logo img {
  display: none !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand .theme-logo img:first-of-type {
  display: block !important;

  width: auto !important;
  max-width: 190px !important;
  height: auto !important;

  margin: 0 auto !important;
}

/* Text unter dem Logo exakt mittig */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer .footer-brand p {
  max-width: 360px !important;
  margin: 0 auto 18px !important;

  text-align: center !important;
  line-height: 1.55 !important;
}

/* ELVORA FIX END: Footer Single Logo V57 */


/* ELVORA FIX START: Shop Hero einheitlich V63 */

/* Einheitlicher Shop-Banner für Shopübersicht UND Kategorie */
body[data-page="shop"] .page-hero.shop-category-hero,
body[data-page="shop"] .page-hero.compact[data-shop-hero],
body[data-page="shop"] .page-hero.compact {
  width: min(1500px, calc(100% - 90px)) !important;

  margin: 30px auto 18px !important;
  padding: 28px 42px !important;

  min-height: 0 !important;
  height: auto !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "eyebrow meta"
    "title meta"
    "desc meta" !important;
  align-items: center !important;
  gap: 7px 28px !important;

  border-radius: 24px !important;
  border: 1px solid rgba(255, 137, 196, .56) !important;

  background:
    linear-gradient(135deg, rgba(255, 95, 168, .20), rgba(36, 28, 48, .48)) !important;
  background-color: rgba(36, 28, 48, .38) !important;
  background-image:
    linear-gradient(135deg, rgba(255, 95, 168, .20), rgba(36, 28, 48, .48)) !important;

  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: hidden !important;
}

/* Kleine Zeile */
body[data-page="shop"] .page-hero.compact .eyebrow,
body[data-page="shop"] .page-hero.shop-category-hero .eyebrow,
body[data-page="shop"] .page-hero.compact[data-shop-hero] .eyebrow {
  grid-area: eyebrow !important;

  margin: 0 !important;

  color: rgba(255, 137, 196, .96) !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}

/* Titel */
body[data-page="shop"] .page-hero.compact h1,
body[data-page="shop"] .page-hero.shop-category-hero h1,
body[data-page="shop"] .page-hero.compact[data-shop-hero] h1 {
  grid-area: title !important;

  margin: 0 !important;

  color: #ffffff !important;
  font-size: clamp(34px, 3.2vw, 52px) !important;
  line-height: 1 !important;
  font-weight: 950 !important;

  text-shadow: 0 3px 14px rgba(0, 0, 0, .22) !important;
}

/* Beschreibung */
body[data-page="shop"] .page-hero.compact > p:not(.eyebrow),
body[data-page="shop"] .page-hero.shop-category-hero > p:not(.eyebrow),
body[data-page="shop"] .page-hero.compact[data-shop-hero] > p:not(.eyebrow) {
  grid-area: desc !important;

  max-width: 720px !important;
  margin: 0 !important;

  color: rgba(255, 255, 255, .84) !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

/* Rechte Info-Pille: Alle Produkte oder Kategoriepfad */
body[data-page="shop"] .shop-category-hero-meta {
  grid-area: meta !important;

  width: auto !important;
  max-width: 340px !important;

  margin: 0 !important;
  padding: 9px 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  border: 1px solid rgba(255, 137, 196, .42) !important;
  border-radius: 999px !important;

  background: rgba(255, 95, 168, .13) !important;
  color: rgba(255, 255, 255, .88) !important;

  font-size: 13px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

body[data-page="shop"] .shop-category-hero-meta a {
  color: rgba(255, 255, 255, .72) !important;
  text-decoration: none !important;
}

body[data-page="shop"] .shop-category-hero-meta strong {
  color: #ffffff !important;
}

/* Filter direkt darunter */
body[data-page="shop"] .shop-filter-bar {
  width: min(1500px, calc(100% - 90px)) !important;
  margin: 0 auto 22px !important;
}

/* Produktbereich gleiche Breite */
body[data-page="shop"] [data-live-products] {
  width: min(1500px, calc(100% - 90px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Leerer Zustand */
body[data-page="shop"] .shop-empty-state {
  width: min(900px, calc(100% - 90px)) !important;
  margin: 24px auto 54px !important;
  padding: 34px 42px !important;

  border-radius: 22px !important;
}

/* Light Mode */
html[data-theme="light"] body[data-page="shop"] .page-hero.compact,
html[data-theme="light"] body[data-page="shop"] .page-hero.shop-category-hero,
html[data-theme="light"] body[data-page="shop"] .page-hero.compact[data-shop-hero] {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(248, 238, 247, .58)) !important;
  background-color: rgba(255, 255, 255, .70) !important;
  background-image:
    linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(248, 238, 247, .58)) !important;

  border-color: rgba(232, 92, 154, .34) !important;
}

html[data-theme="light"] body[data-page="shop"] .page-hero.compact h1,
html[data-theme="light"] body[data-page="shop"] .page-hero.shop-category-hero h1,
html[data-theme="light"] body[data-page="shop"] .page-hero.compact[data-shop-hero] h1 {
  color: #352437 !important;
  text-shadow: none !important;
}

html[data-theme="light"] body[data-page="shop"] .page-hero.compact > p:not(.eyebrow),
html[data-theme="light"] body[data-page="shop"] .page-hero.shop-category-hero > p:not(.eyebrow),
html[data-theme="light"] body[data-page="shop"] .page-hero.compact[data-shop-hero] > p:not(.eyebrow) {
  color: rgba(53, 36, 55, .78) !important;
}

html[data-theme="light"] body[data-page="shop"] .shop-category-hero-meta {
  background: rgba(255, 95, 168, .10) !important;
  color: rgba(53, 36, 55, .78) !important;
}

html[data-theme="light"] body[data-page="shop"] .shop-category-hero-meta a {
  color: rgba(53, 36, 55, .62) !important;
}

html[data-theme="light"] body[data-page="shop"] .shop-category-hero-meta strong {
  color: #352437 !important;
}

/* Tablet */
@media (max-width: 980px) {
  body[data-page="shop"] .page-hero.shop-category-hero,
  body[data-page="shop"] .page-hero.compact[data-shop-hero],
  body[data-page="shop"] .page-hero.compact {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "eyebrow"
      "title"
      "desc"
      "meta" !important;

    padding: 28px 30px !important;
    gap: 9px !important;
  }

  body[data-page="shop"] .shop-category-hero-meta {
    justify-self: start !important;
    margin-top: 4px !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  body[data-page="shop"] .page-hero.compact,
  body[data-page="shop"] .page-hero.shop-category-hero,
  body[data-page="shop"] .page-hero.compact[data-shop-hero],
  body[data-page="shop"] .shop-filter-bar,
  body[data-page="shop"] [data-live-products],
  body[data-page="shop"] .shop-empty-state {
    width: min(100% - 32px, 540px) !important;
  }

  body[data-page="shop"] .page-hero.compact,
  body[data-page="shop"] .page-hero.shop-category-hero,
  body[data-page="shop"] .page-hero.compact[data-shop-hero] {
    margin-top: 22px !important;
    padding: 24px 22px !important;
    border-radius: 20px !important;
  }

  body[data-page="shop"] .page-hero.compact h1,
  body[data-page="shop"] .page-hero.shop-category-hero h1,
  body[data-page="shop"] .page-hero.compact[data-shop-hero] h1 {
    font-size: clamp(32px, 10vw, 42px) !important;
  }

  body[data-page="shop"] .shop-category-hero-meta {
    white-space: normal !important;
    flex-wrap: wrap !important;
  }

  body[data-page="shop"] .shop-empty-state {
    padding: 28px 22px !important;
  }
}

/* ELVORA FIX END: Shop Hero einheitlich V63 */

/* ELVORA FIX START: Shop Hero nur Titel und Beschreibung V64 */

/* Im Shop-Banner sollen nur Titel und Beschreibung sichtbar sein.
   Keine rosa Eyebrow-Zeile, keine rechte Shop/Kategorie-Pille. */
body[data-page="shop"] .page-hero.shop-category-hero,
body[data-page="shop"] .page-hero.compact[data-shop-hero],
body[data-page="shop"] .page-hero.compact {
  width: min(1500px, calc(100% - 90px)) !important;

  margin: 30px auto 18px !important;
  padding: 34px 42px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 10px !important;

  min-height: 0 !important;
  height: auto !important;

  border-radius: 24px !important;
  border: 1px solid rgba(255, 137, 196, .56) !important;

  background:
    linear-gradient(135deg, rgba(255, 95, 168, .20), rgba(36, 28, 48, .48)) !important;
  background-color: rgba(36, 28, 48, .38) !important;
  background-image:
    linear-gradient(135deg, rgba(255, 95, 168, .20), rgba(36, 28, 48, .48)) !important;

  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: hidden !important;
}

/* Rosa Text "Aktuelle Kategorie" / "Shopübersicht" komplett ausblenden */
body[data-page="shop"] .page-hero.shop-category-hero .eyebrow,
body[data-page="shop"] .page-hero.compact[data-shop-hero] .eyebrow,
body[data-page="shop"] .page-hero.compact .eyebrow {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Rechte Pille "Shop / Kategorie" oder "Alle Produkte" komplett ausblenden */
body[data-page="shop"] .shop-category-hero-meta {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Titel: nur Kategorie oder Shop */
body[data-page="shop"] .page-hero.shop-category-hero h1,
body[data-page="shop"] .page-hero.compact[data-shop-hero] h1,
body[data-page="shop"] .page-hero.compact h1 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: clamp(38px, 3.8vw, 60px) !important;
  line-height: 1 !important;
  font-weight: 950 !important;

  text-shadow: 0 3px 14px rgba(0, 0, 0, .22) !important;
}

/* Beschreibung direkt unter dem Titel */
body[data-page="shop"] .page-hero.shop-category-hero > p:not(.eyebrow),
body[data-page="shop"] .page-hero.compact[data-shop-hero] > p:not(.eyebrow),
body[data-page="shop"] .page-hero.compact > p:not(.eyebrow) {
  max-width: 760px !important;
  margin: 0 !important;

  color: rgba(255, 255, 255, .86) !important;
  font-size: clamp(15px, 1.1vw, 18px) !important;
  line-height: 1.38 !important;
  font-weight: 750 !important;
}

/* Filter bleibt sauber darunter */
body[data-page="shop"] .shop-filter-bar {
  width: min(1500px, calc(100% - 90px)) !important;
  margin: 0 auto 22px !important;
}

/* Produktbereich gleiche Breite */
body[data-page="shop"] [data-live-products] {
  width: min(1500px, calc(100% - 90px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Light Mode */
html[data-theme="light"] body[data-page="shop"] .page-hero.shop-category-hero,
html[data-theme="light"] body[data-page="shop"] .page-hero.compact[data-shop-hero],
html[data-theme="light"] body[data-page="shop"] .page-hero.compact {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(248, 238, 247, .58)) !important;
  background-color: rgba(255, 255, 255, .70) !important;
  background-image:
    linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(248, 238, 247, .58)) !important;

  border-color: rgba(232, 92, 154, .34) !important;
}

html[data-theme="light"] body[data-page="shop"] .page-hero.shop-category-hero h1,
html[data-theme="light"] body[data-page="shop"] .page-hero.compact[data-shop-hero] h1,
html[data-theme="light"] body[data-page="shop"] .page-hero.compact h1 {
  color: #352437 !important;
  text-shadow: none !important;
}

html[data-theme="light"] body[data-page="shop"] .page-hero.shop-category-hero > p:not(.eyebrow),
html[data-theme="light"] body[data-page="shop"] .page-hero.compact[data-shop-hero] > p:not(.eyebrow),
html[data-theme="light"] body[data-page="shop"] .page-hero.compact > p:not(.eyebrow) {
  color: rgba(53, 36, 55, .78) !important;
}

/* Mobile */
@media (max-width: 760px) {
  body[data-page="shop"] .page-hero.shop-category-hero,
  body[data-page="shop"] .page-hero.compact[data-shop-hero],
  body[data-page="shop"] .page-hero.compact,
  body[data-page="shop"] .shop-filter-bar,
  body[data-page="shop"] [data-live-products] {
    width: min(100% - 32px, 540px) !important;
  }

  body[data-page="shop"] .page-hero.shop-category-hero,
  body[data-page="shop"] .page-hero.compact[data-shop-hero],
  body[data-page="shop"] .page-hero.compact {
    margin-top: 22px !important;
    padding: 26px 22px !important;
    border-radius: 20px !important;
  }

  body[data-page="shop"] .page-hero.shop-category-hero h1,
  body[data-page="shop"] .page-hero.compact[data-shop-hero] h1,
  body[data-page="shop"] .page-hero.compact h1 {
    font-size: clamp(34px, 10vw, 46px) !important;
  }
}

/* ELVORA FIX END: Shop Hero nur Titel und Beschreibung V64 */

/* ELVORA FIX START: Shop Produkte links ausrichten V65 */

/* Produktbereich bekommt exakt dieselbe Breite und linke Kante wie Banner + Filter */
body[data-page="shop"] [data-live-products] {
  width: min(1500px, calc(100% - 90px)) !important;
  max-width: min(1500px, calc(100% - 90px)) !important;

  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;

  padding: 0 !important;

  display: block !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  box-shadow: none !important;
  border: 0 !important;
}

/* Ergebniszeile "1 Produkt gefunden" ebenfalls links auf gleicher Linie */
body[data-page="shop"] [data-live-products] .shop-filter-result {
  width: 100% !important;
  max-width: none !important;

  margin: 0 0 18px 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 20px !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  box-shadow: none !important;
}

/* Text in der Ergebniszeile sauber links */
body[data-page="shop"] [data-live-products] .shop-filter-result > div,
body[data-page="shop"] [data-live-products] .shop-filter-result > p,
body[data-page="shop"] [data-live-products] .shop-filter-result > h2,
body[data-page="shop"] [data-live-products] .shop-filter-result strong {
  text-align: left !important;
  margin-left: 0 !important;
}

/* Product Grid startet ganz links, nicht mittig */
body[data-page="shop"] [data-live-products] .product-grid {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 230px)) !important;
  justify-content: start !important;
  justify-items: stretch !important;
  align-items: start !important;

  gap: 24px !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  box-shadow: none !important;
}

/* Produktkarte nicht mittig erzwingen, sondern normal links im Raster */
body[data-page="shop"] [data-live-products] .product-card {
  width: 230px !important;
  max-width: 230px !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
  justify-self: start !important;
}

/* Falls nur ein Produkt vorhanden ist, bleibt es trotzdem links */
body[data-page="shop"] [data-live-products] .product-grid:has(.product-card:only-child) {
  justify-content: start !important;
}

/* Empty-State bleibt mittig, weil das bei keiner Treffer-Meldung sinnvoller aussieht */
body[data-page="shop"] [data-live-products] > .shop-empty-state,
body[data-page="shop"] .shop-empty-state {
  width: min(900px, calc(100% - 90px)) !important;

  margin: 24px auto 54px !important;
  padding: 34px 42px !important;

  text-align: center !important;
}

/* Mobile */
@media (max-width: 760px) {
  body[data-page="shop"] [data-live-products],
  body[data-page="shop"] [data-live-products] .product-grid {
    width: min(100% - 32px, 540px) !important;
    max-width: min(100% - 32px, 540px) !important;
  }

  body[data-page="shop"] [data-live-products] .product-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body[data-page="shop"] [data-live-products] .product-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  body[data-page="shop"] [data-live-products] > .shop-empty-state,
  body[data-page="shop"] .shop-empty-state {
    width: min(100% - 32px, 540px) !important;
    padding: 28px 22px !important;
  }
}

/* ELVORA FIX END: Shop Produkte links ausrichten V65 */

/* ELVORA FIX START: Shop Filter kompakt V66 */

/* Shop-Filter: weniger Klotz, mehr echter Shop */
body[data-page="shop"] .shop-filter-bar,
body[data-page="shop"] form.toolbar.shop-filter-bar[data-shop-filters] {
  width: min(1500px, calc(100% - 90px)) !important;

  margin: 0 auto 24px !important;
  padding: 18px 20px !important;

  display: grid !important;
  grid-template-columns:
    minmax(230px, 1.45fr)
    minmax(190px, .9fr)
    minmax(120px, .55fr)
    minmax(120px, .55fr)
    minmax(170px, .8fr)
    minmax(160px, .75fr) !important;

  gap: 14px 14px !important;
  align-items: end !important;

  border-radius: 22px !important;
  border: 1px solid rgba(255, 137, 196, .26) !important;

  background: rgba(36, 28, 48, .30) !important;
  background-color: rgba(36, 28, 48, .30) !important;
  background-image: none !important;

  box-shadow: none !important;

  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  overflow: visible !important;
}

/* Labels oben kleiner und ruhiger */
body[data-page="shop"] .shop-filter-bar label {
  margin: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;

  color: rgba(255, 255, 255, .86) !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;

  text-align: left !important;
}

/* Eingabefelder schlanker */
body[data-page="shop"] .shop-filter-bar input[type="search"],
body[data-page="shop"] .shop-filter-bar input[type="number"],
body[data-page="shop"] .shop-filter-bar select {
  width: 100% !important;
  height: 42px !important;

  padding: 0 14px !important;

  border-radius: 16px !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;

  background: rgba(255, 255, 255, .055) !important;
  background-color: rgba(255, 255, 255, .055) !important;
  background-image: none !important;

  color: #ffffff !important;

  font-size: 13px !important;
  font-weight: 800 !important;

  box-shadow: none !important;
  outline: none !important;
}

/* Fokus sichtbar, aber nicht Neon-Kirmes */
body[data-page="shop"] .shop-filter-bar input[type="search"]:focus,
body[data-page="shop"] .shop-filter-bar input[type="number"]:focus,
body[data-page="shop"] .shop-filter-bar select:focus {
  border-color: rgba(255, 137, 196, .58) !important;
  box-shadow: 0 0 0 3px rgba(255, 95, 168, .12) !important;
}

/* Checkbox-Buttons in zweite Reihe, flacher */
body[data-page="shop"] .shop-filter-bar .check-row {
  min-height: 40px !important;

  padding: 0 16px !important;

  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;

  background: rgba(255, 255, 255, .045) !important;
  background-color: rgba(255, 255, 255, .045) !important;
  background-image: none !important;

  color: rgba(255, 255, 255, .82) !important;

  font-size: 13px !important;
  font-weight: 850 !important;

  box-shadow: none !important;
}

/* Checkbox selbst kleiner und sauber */
body[data-page="shop"] .shop-filter-bar .check-row input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;

  accent-color: #ff5fa8 !important;
}

/* Reset-Button rechts unten kompakter */
body[data-page="shop"] .shop-filter-bar .shop-filter-reset,
body[data-page="shop"] .shop-filter-bar [data-reset-shop-filters],
body[data-page="shop"] .shop-filter-bar button {
  min-height: 40px !important;

  padding: 0 18px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 137, 196, .28) !important;

  background: rgba(255, 95, 168, .12) !important;
  background-color: rgba(255, 95, 168, .12) !important;
  background-image: none !important;

  color: #ffffff !important;

  font-size: 13px !important;
  font-weight: 900 !important;

  box-shadow: none !important;
}

/* Sortierung bleibt rechts, aber nicht übertrieben breit */
body[data-page="shop"] .shop-filter-bar label:has(select[name="sort"]) {
  min-width: 150px !important;
}

/* Zweite Reihe sauber nutzen */
body[data-page="shop"] .shop-filter-bar label.check-row:nth-of-type(7) {
  grid-column: 1 / 2 !important;
}

body[data-page="shop"] .shop-filter-bar label.check-row:nth-of-type(8) {
  grid-column: 2 / 3 !important;
}

body[data-page="shop"] .shop-filter-bar label.check-row:nth-of-type(9) {
  grid-column: 3 / 4 !important;
}

body[data-page="shop"] .shop-filter-bar label.check-row:nth-of-type(10) {
  grid-column: 4 / 5 !important;
}

body[data-page="shop"] .shop-filter-bar .shop-filter-reset,
body[data-page="shop"] .shop-filter-bar [data-reset-shop-filters] {
  grid-column: 5 / 7 !important;
  justify-self: stretch !important;
}

/* Ergebnisbereich wieder sauber unter dem Filter */
body[data-page="shop"] [data-live-products] {
  width: min(1500px, calc(100% - 90px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Ergebniszeile weniger klotzig */
body[data-page="shop"] [data-live-products] .shop-filter-result {
  margin: 0 0 16px !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Light Mode */
html[data-theme="light"] body[data-page="shop"] .shop-filter-bar,
html[data-theme="light"] body[data-page="shop"] form.toolbar.shop-filter-bar[data-shop-filters] {
  background: rgba(255, 255, 255, .50) !important;
  background-color: rgba(255, 255, 255, .50) !important;
  border-color: rgba(232, 92, 154, .22) !important;
}

html[data-theme="light"] body[data-page="shop"] .shop-filter-bar label {
  color: rgba(53, 36, 55, .82) !important;
}

html[data-theme="light"] body[data-page="shop"] .shop-filter-bar input[type="search"],
html[data-theme="light"] body[data-page="shop"] .shop-filter-bar input[type="number"],
html[data-theme="light"] body[data-page="shop"] .shop-filter-bar select,
html[data-theme="light"] body[data-page="shop"] .shop-filter-bar .check-row {
  background: rgba(255, 255, 255, .72) !important;
  background-color: rgba(255, 255, 255, .72) !important;
  border-color: rgba(53, 36, 55, .12) !important;
  color: #352437 !important;
}

/* Tablet */
@media (max-width: 1180px) {
  body[data-page="shop"] .shop-filter-bar,
  body[data-page="shop"] form.toolbar.shop-filter-bar[data-shop-filters] {
    grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
    width: min(100% - 56px, 980px) !important;
  }

  body[data-page="shop"] .shop-filter-bar label.check-row:nth-of-type(7),
  body[data-page="shop"] .shop-filter-bar label.check-row:nth-of-type(8),
  body[data-page="shop"] .shop-filter-bar label.check-row:nth-of-type(9),
  body[data-page="shop"] .shop-filter-bar label.check-row:nth-of-type(10),
  body[data-page="shop"] .shop-filter-bar .shop-filter-reset,
  body[data-page="shop"] .shop-filter-bar [data-reset-shop-filters] {
    grid-column: auto !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  body[data-page="shop"] .shop-filter-bar,
  body[data-page="shop"] form.toolbar.shop-filter-bar[data-shop-filters] {
    width: min(100% - 32px, 540px) !important;

    grid-template-columns: 1fr !important;
    gap: 12px !important;

    padding: 16px !important;
    border-radius: 18px !important;
  }

  body[data-page="shop"] .shop-filter-bar input[type="search"],
  body[data-page="shop"] .shop-filter-bar input[type="number"],
  body[data-page="shop"] .shop-filter-bar select {
    height: 42px !important;
  }

  body[data-page="shop"] [data-live-products] {
    width: min(100% - 32px, 540px) !important;
  }
}

/* ELVORA FIX END: Shop Filter kompakt V66 */

/* ELVORA FIX START: Shop Kategorie Chip ausblenden V67 */

/* Sicherheitsnetz:
   Falls aktive Filter-Chips eigene Klassen haben, werden Kategorie-Chips optisch neutralisiert.
   Die eigentliche Entfernung macht JS darunter. */
body[data-page="shop"] .shop-filter-chip[data-filter="category"],
body[data-page="shop"] .filter-chip[data-filter="category"],
body[data-page="shop"] .active-filter-chip[data-filter="category"],
body[data-page="shop"] [data-active-filter="category"],
body[data-page="shop"] [data-filter-chip="category"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Wenn eine Chip-Zeile danach leer ist, soll sie keinen Abstand erzeugen */
body[data-page="shop"] .shop-active-filters:empty,
body[data-page="shop"] .active-filters:empty,
body[data-page="shop"] .filter-chips:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* ELVORA FIX END: Shop Kategorie Chip ausblenden V67 */

/* ELVORA FIX START: Kundenseiten Sidebar Neu V85 */

body:is([data-page="shop"],[data-page="personalize"],[data-page="finder"],[data-page="blog"],[data-page="about"],[data-page="contact"]) {
  --elvora-customer-sidebar-width: 360px;
  --elvora-customer-edge: 34px;
  --elvora-customer-gap: 34px;
  --elvora-customer-content-width: calc(100vw - var(--elvora-customer-sidebar-width) - var(--elvora-customer-gap) - (var(--elvora-customer-edge) * 2));

  min-height: 100vh !important;
  padding-top: var(--elvora-customer-edge) !important;
  padding-right: var(--elvora-customer-edge) !important;
  padding-bottom: var(--elvora-customer-edge) !important;
  padding-left: calc(var(--elvora-customer-sidebar-width) + var(--elvora-customer-gap) + var(--elvora-customer-edge)) !important;
  overflow-x: hidden !important;
}

body:is([data-page="shop"],[data-page="personalize"],[data-page="finder"],[data-page="blog"],[data-page="about"],[data-page="contact"]) > .top-strip,
body:is([data-page="shop"],[data-page="personalize"],[data-page="finder"],[data-page="blog"],[data-page="about"],[data-page="contact"]) > .site-header {
  display: none !important;
}

.customer-sidebar-v85 {
  box-sizing: border-box !important;
  position: fixed !important;
  left: var(--elvora-customer-edge) !important;
  top: var(--elvora-customer-edge) !important;
  bottom: var(--elvora-customer-edge) !important;
  width: var(--elvora-customer-sidebar-width) !important;
  min-width: var(--elvora-customer-sidebar-width) !important;
  max-width: var(--elvora-customer-sidebar-width) !important;
  display: grid !important;
  grid-template-rows: auto auto 1fr !important;
  align-content: start !important;
  gap: 22px !important;
  padding: 22px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255, 137, 196, .34) !important;
  background: linear-gradient(180deg, rgba(255, 95, 168, .08), rgba(36, 28, 48, .22)), rgba(36, 28, 48, .46) !important;
  color: rgba(255, 255, 255, .92) !important;
  overflow: hidden auto !important;
  z-index: 100 !important;
}

.customer-sidebar-v85__logo {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 4px 0 22px !important;
  text-decoration: none !important;
}

.customer-sidebar-v85__logo img {
  display: block !important;
  width: 265px !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.customer-sidebar-v85__nav {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.customer-sidebar-v85__link,
.customer-sidebar-v85__shop {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 16px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255, 137, 196, .30) !important;
  background: rgba(255, 255, 255, .045) !important;
  color: rgba(255, 255, 255, .90) !important;
  font: inherit !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.customer-sidebar-v85__link:hover,
.customer-sidebar-v85__shop:hover,
.customer-sidebar-v85__link.is-active,
.customer-sidebar-v85__shop.is-active {
  border-color: rgba(255, 137, 196, .74) !important;
  background: rgba(255, 95, 168, .18) !important;
  color: #fff !important;
}

.customer-sidebar-v85__group {
  display: grid !important;
  gap: 8px !important;
  width: 100% !important;
}

.customer-sidebar-v85__shop {
  position: relative !important;
}

.customer-sidebar-v85__shop::after {
  content: "▾" !important;
  position: absolute !important;
  right: 16px !important;
  font-size: .78rem !important;
  opacity: .85 !important;
  transform: rotate(-90deg) !important;
}

.customer-sidebar-v85.is-shop-open .customer-sidebar-v85__shop::after {
  transform: rotate(0deg) !important;
}

.customer-sidebar-v85__subnav {
  box-sizing: border-box !important;
  display: none !important;
  gap: 7px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 0 18px !important;
}

.customer-sidebar-v85.is-shop-open .customer-sidebar-v85__subnav {
  display: grid !important;
}

.customer-sidebar-v85__subnav a {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 8px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 137, 196, .18) !important;
  background: rgba(255, 255, 255, .030) !important;
  color: rgba(255, 255, 255, .82) !important;
  font-size: .86rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.customer-sidebar-v85__subnav a::before {
  content: "•" !important;
  flex: 0 0 auto !important;
  margin-right: 8px !important;
  color: rgba(255, 137, 196, .95) !important;
}

.customer-sidebar-v85__subnav a:hover,
.customer-sidebar-v85__subnav a.is-active {
  border-color: rgba(255, 137, 196, .58) !important;
  background: rgba(255, 95, 168, .13) !important;
  color: #fff !important;
}

body:is([data-page="shop"],[data-page="personalize"],[data-page="finder"],[data-page="blog"],[data-page="about"],[data-page="contact"]) main,
body:is([data-page="shop"],[data-page="personalize"],[data-page="finder"],[data-page="blog"],[data-page="about"],[data-page="contact"]) .site-footer,
body:is([data-page="shop"],[data-page="personalize"],[data-page="finder"],[data-page="blog"],[data-page="about"],[data-page="contact"]) .payment-strip {
  width: min(1500px, var(--elvora-customer-content-width)) !important;
  max-width: min(1500px, var(--elvora-customer-content-width)) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

body[data-page="shop"] .page-hero.compact,
body[data-page="shop"] .page-hero.shop-category-hero,
body[data-page="shop"] .page-hero.compact[data-shop-hero],
body[data-page="shop"] .shop-filter-bar,
body[data-page="shop"] [data-live-products],
body[data-page="shop"] [data-live-products] .product-grid {
  width: 100% !important;
  max-width: 100% !important;
}

body[data-page="shop"] [data-live-products] .product-grid {
  justify-content: start !important;
  justify-items: start !important;
}

@media (max-width: 1180px) {
  body:is([data-page="shop"],[data-page="personalize"],[data-page="finder"],[data-page="blog"],[data-page="about"],[data-page="contact"]) {
    --elvora-customer-sidebar-width: 330px;
    --elvora-customer-edge: 24px;
    --elvora-customer-gap: 28px;
  }

  .customer-sidebar-v85 {
    padding: 20px !important;
  }

  .customer-sidebar-v85__logo img {
    width: 235px !important;
  }
}

@media (max-width: 760px) {
  body:is([data-page="shop"],[data-page="personalize"],[data-page="finder"],[data-page="blog"],[data-page="about"],[data-page="contact"]) {
    --elvora-customer-sidebar-width: 100%;
    --elvora-customer-edge: 18px;
    --elvora-customer-gap: 0px;
    padding: 18px !important;
  }

  .customer-sidebar-v85 {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
  }

  body:is([data-page="shop"],[data-page="personalize"],[data-page="finder"],[data-page="blog"],[data-page="about"],[data-page="contact"]) main,
  body:is([data-page="shop"],[data-page="personalize"],[data-page="finder"],[data-page="blog"],[data-page="about"],[data-page="contact"]) .site-footer,
  body:is([data-page="shop"],[data-page="personalize"],[data-page="finder"],[data-page="blog"],[data-page="about"],[data-page="contact"]) .payment-strip {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ELVORA FIX END: Kundenseiten Sidebar Neu V85 */

/* ELVORA FIX START: Kundenseiten Sidebar Clean V86 */

/* Gilt nur für Kundenseiten. Startseite und Admin bleiben unberührt. */

/* Alte obere Kundenleiste komplett weg, egal wo sie im HTML liegt */
body:is(
  [data-page="shop"],
  [data-page="personalize"],
  [data-page="finder"],
  [data-page="blog"],
  [data-page="about"],
  [data-page="contact"]
) .top-strip,
body:is(
  [data-page="shop"],
  [data-page="personalize"],
  [data-page="finder"],
  [data-page="blog"],
  [data-page="about"],
  [data-page="contact"]
) header.site-header,
body:is(
  [data-page="shop"],
  [data-page="personalize"],
  [data-page="finder"],
  [data-page="blog"],
  [data-page="about"],
  [data-page="contact"]
) .site-header {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;

  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  position: absolute !important;
  left: -99999px !important;
  top: -99999px !important;
}

/* Alte künstliche Logo-Reste sicher ausblenden */
body:is(
  [data-page="shop"],
  [data-page="personalize"],
  [data-page="finder"],
  [data-page="blog"],
  [data-page="about"],
  [data-page="contact"]
) .customer-sidebar-logo-v82,
body:is(
  [data-page="shop"],
  [data-page="personalize"],
  [data-page="finder"],
  [data-page="blog"],
  [data-page="about"],
  [data-page="contact"]
) .customer-sidebar-logo-v83,
body:is(
  [data-page="shop"],
  [data-page="personalize"],
  [data-page="finder"],
  [data-page="blog"],
  [data-page="about"],
  [data-page="contact"]
) .customer-admin-sidebar-v84 {
  display: none !important;
}

/* Die neue Sidebar bleibt sichtbar */
body:is(
  [data-page="shop"],
  [data-page="personalize"],
  [data-page="finder"],
  [data-page="blog"],
  [data-page="about"],
  [data-page="contact"]
) .customer-sidebar-v85 {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Content oben sauber starten, nicht unter alter Navi hängen */
body:is(
  [data-page="shop"],
  [data-page="personalize"],
  [data-page="finder"],
  [data-page="blog"],
  [data-page="about"],
  [data-page="contact"]
) main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Shop-Banner kompakter machen */
body[data-page="shop"] .page-hero.compact,
body[data-page="shop"] .page-hero.shop-category-hero,
body[data-page="shop"] .page-hero.compact[data-shop-hero] {
  box-sizing: border-box !important;

  width: 100% !important;
  max-width: 100% !important;

  min-height: 0 !important;
  height: auto !important;

  margin: 0 0 18px !important;
  padding: 18px 26px !important;

  display: grid !important;
  align-items: center !important;
  gap: 4px !important;

  border-radius: 20px !important;

  overflow: hidden !important;
}

/* Shop-Titel kleiner */
body[data-page="shop"] .page-hero.compact h1,
body[data-page="shop"] .page-hero.shop-category-hero h1,
body[data-page="shop"] .page-hero.compact[data-shop-hero] h1 {
  margin: 0 !important;

  font-size: clamp(2.1rem, 3.2vw, 3.35rem) !important;
  line-height: .95 !important;

  letter-spacing: -0.04em !important;
}

/* Beschreibung kompakter */
body[data-page="shop"] .page-hero.compact p,
body[data-page="shop"] .page-hero.shop-category-hero p,
body[data-page="shop"] .page-hero.compact[data-shop-hero] p {
  margin: 0 !important;

  font-size: .98rem !important;
  line-height: 1.35 !important;
}

/* Falls noch Eyebrow oder Meta im Banner auftauchen */
body[data-page="shop"] .page-hero.compact .eyebrow,
body[data-page="shop"] .page-hero.shop-category-hero .eyebrow,
body[data-page="shop"] .page-hero.compact[data-shop-hero] .eyebrow,
body[data-page="shop"] .page-hero.compact .hero-meta,
body[data-page="shop"] .page-hero.shop-category-hero .hero-meta,
body[data-page="shop"] .page-hero.compact[data-shop-hero] .hero-meta {
  display: none !important;
}

/* Filter näher an den Banner ziehen */
body[data-page="shop"] .shop-filter-bar {
  margin-top: 0 !important;
}

/* ELVORA FIX END: Kundenseiten Sidebar Clean V86 */

/* ELVORA FIX START: Blog Design V87 */

/* Nur Blogseite. Shop, Startseite und Admin bleiben unberührt. */

body[data-page="blog"] main {
  display: grid !important;
  align-content: start !important;
  gap: 18px !important;

  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Alter oberer Kundenheader bleibt weg, weil links die Sidebar zuständig ist */
body[data-page="blog"] .top-strip,
body[data-page="blog"] header.site-header,
body[data-page="blog"] .site-header {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;

  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  position: absolute !important;
  left: -99999px !important;
  top: -99999px !important;
}

/* Blog-Hero wie Shop kompakter machen */
body[data-page="blog"] .page-hero,
body[data-page="blog"] .page-hero.compact {
  box-sizing: border-box !important;

  width: 100% !important;
  max-width: 100% !important;

  min-height: 0 !important;
  height: auto !important;

  display: grid !important;
  align-items: center !important;
  gap: 5px !important;

  margin: 0 0 18px !important;
  padding: 18px 26px !important;

  border-radius: 20px !important;
  border: 1px solid rgba(255, 137, 196, .24) !important;

  background:
    linear-gradient(135deg, rgba(255, 95, 168, .075), rgba(98, 230, 224, .035)),
    rgba(36, 28, 48, .34) !important;

  box-shadow: none !important;
  overflow: hidden !important;
}

/* Kleiner Text oben */
body[data-page="blog"] .page-hero .eyebrow {
  margin: 0 !important;

  color: rgba(255, 213, 232, .90) !important;

  font-size: .72rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

/* Titel kleiner und sauber */
body[data-page="blog"] .page-hero h1 {
  margin: 0 !important;

  color: #fff !important;

  font-size: clamp(2.1rem, 3.2vw, 3.35rem) !important;
  font-weight: 950 !important;
  line-height: .95 !important;

  letter-spacing: -0.045em !important;
}

/* Beschreibung kompakt */
body[data-page="blog"] .page-hero p:not(.eyebrow) {
  margin: 0 !important;

  max-width: 720px !important;

  color: rgba(255, 255, 255, .82) !important;

  font-size: .98rem !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

/* Blogbereich darunter */
body[data-page="blog"] .blog-grid,
body[data-page="blog"] [data-live-blog-list] {
  box-sizing: border-box !important;

  width: 100% !important;
  max-width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 16px !important;

  margin: 0 0 24px !important;
  padding: 0 !important;

  align-items: start !important;
}

/* Ladezustand / leerer Blogzustand kompakt statt Riesenbanner */
body[data-page="blog"] .blog-grid > p,
body[data-page="blog"] [data-live-blog-list] > p,
body[data-page="blog"] .blog-grid > div:only-child,
body[data-page="blog"] [data-live-blog-list] > div:only-child,
body[data-page="blog"] .blog-grid .shop-empty-state,
body[data-page="blog"] [data-live-blog-list] .shop-empty-state {
  box-sizing: border-box !important;

  width: 100% !important;
  max-width: 100% !important;

  min-height: 0 !important;
  height: auto !important;

  display: grid !important;
  justify-items: start !important;
  align-items: center !important;
  gap: 8px !important;

  margin: 0 !important;
  padding: 22px 28px !important;

  border-radius: 20px !important;
  border: 1px solid rgba(255, 137, 196, .22) !important;

  background:
    linear-gradient(135deg, rgba(255, 95, 168, .070), rgba(98, 230, 224, .030)),
    rgba(36, 28, 48, .30) !important;

  color: rgba(255, 255, 255, .86) !important;

  text-align: left !important;
  box-shadow: none !important;
}

/* Überschrift im leeren Blogbereich */
body[data-page="blog"] .blog-grid h2,
body[data-page="blog"] [data-live-blog-list] h2 {
  margin: 0 !important;

  color: #fff !important;

  font-size: clamp(1.35rem, 2vw, 1.9rem) !important;
  font-weight: 950 !important;
  line-height: 1.08 !important;

  letter-spacing: -0.035em !important;
}

/* Text im Blogbereich */
body[data-page="blog"] .blog-grid p,
body[data-page="blog"] [data-live-blog-list] p {
  margin: 0 !important;

  color: rgba(255, 255, 255, .76) !important;

  font-size: .95rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

/* Falls später Blogkarten kommen */
body[data-page="blog"] .blog-card {
  border-radius: 20px !important;
  border: 1px solid rgba(255, 137, 196, .22) !important;

  background:
    linear-gradient(135deg, rgba(255, 95, 168, .055), rgba(98, 230, 224, .025)),
    rgba(36, 28, 48, .30) !important;

  overflow: hidden !important;
  box-shadow: none !important;
}

body[data-page="blog"] .blog-card-body {
  padding: 18px !important;
}

body[data-page="blog"] .blog-card-body h2 {
  margin: 4px 0 10px !important;

  font-size: 1.18rem !important;
  line-height: 1.15 !important;
}

/* Footer etwas näher und sauber unter dem Inhalt */
body[data-page="blog"] .site-footer {
  margin-top: 24px !important;
}

/* Mobile */
@media (max-width: 760px) {
  body[data-page="blog"] .page-hero,
  body[data-page="blog"] .page-hero.compact {
    padding: 18px !important;
    border-radius: 18px !important;
  }

  body[data-page="blog"] .blog-grid > p,
  body[data-page="blog"] [data-live-blog-list] > p,
  body[data-page="blog"] .blog-grid > div:only-child,
  body[data-page="blog"] [data-live-blog-list] > div:only-child,
  body[data-page="blog"] .blog-grid .shop-empty-state,
  body[data-page="blog"] [data-live-blog-list] .shop-empty-state {
    padding: 20px !important;
    border-radius: 18px !important;
  }
}

/* ELVORA FIX END: Blog Design V87 */

/* ELVORA FIX START: Blog Public Render V89 */

/* Nur Blogseite: echte Blogbeiträge als Karten anzeigen */

body[data-page="blog"] [data-live-blog-list] {
  box-sizing: border-box !important;

  width: 100% !important;
  max-width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 18px !important;

  min-height: 0 !important;

  margin: 0 0 28px !important;
  padding: 0 !important;

  align-items: start !important;
}

body[data-page="blog"] .blog-card-v89 {
  box-sizing: border-box !important;

  display: grid !important;
  align-content: start !important;

  min-height: 0 !important;

  border-radius: 22px !important;
  border: 1px solid rgba(255, 137, 196, .24) !important;

  background:
    linear-gradient(135deg, rgba(255, 95, 168, .070), rgba(98, 230, 224, .030)),
    rgba(36, 28, 48, .32) !important;

  overflow: hidden !important;
  box-shadow: none !important;
}

body[data-page="blog"] .blog-card-v89__media {
  display: block !important;

  width: 100% !important;
  aspect-ratio: 16 / 9 !important;

  background:
    radial-gradient(circle at 20% 20%, rgba(255, 95, 168, .24), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(98, 230, 224, .18), transparent 30%),
    rgba(255, 255, 255, .045) !important;

  overflow: hidden !important;
}

body[data-page="blog"] .blog-card-v89__media img {
  width: 100% !important;
  height: 100% !important;

  display: block !important;
  object-fit: cover !important;
}

body[data-page="blog"] .blog-card-v89__body {
  display: grid !important;
  gap: 9px !important;

  padding: 20px !important;
}

body[data-page="blog"] .blog-card-v89 .eyebrow {
  margin: 0 !important;

  color: rgba(255, 137, 196, .95) !important;

  font-size: .72rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;

  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

body[data-page="blog"] .blog-card-v89 h2 {
  margin: 0 !important;

  color: #fff !important;

  font-size: clamp(1.28rem, 1.9vw, 1.75rem) !important;
  font-weight: 950 !important;
  line-height: 1.08 !important;

  letter-spacing: -0.035em !important;
}

body[data-page="blog"] .blog-card-v89 p {
  margin: 0 !important;

  color: rgba(255, 255, 255, .78) !important;

  font-size: .92rem !important;
  font-weight: 700 !important;
  line-height: 1.42 !important;
}

body[data-page="blog"] .blog-card-v89__meta {
  color: rgba(255, 255, 255, .62) !important;

  font-size: .78rem !important;
  font-weight: 800 !important;
}

body[data-page="blog"] .blog-card-v89__link {
  width: max-content !important;
  max-width: 100% !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-top: 6px !important;
  padding: 10px 16px !important;

  border-radius: 999px !important;

  background: rgba(255, 95, 168, .88) !important;
  color: #fff !important;

  font-size: .86rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  text-decoration: none !important;
}

body[data-page="blog"] .blog-empty-v89 {
  box-sizing: border-box !important;

  width: 100% !important;
  max-width: 100% !important;

  display: grid !important;
  gap: 6px !important;

  margin: 0 !important;
  padding: 18px 24px !important;

  border-radius: 18px !important;
  border: 1px solid rgba(255, 137, 196, .20) !important;

  background:
    linear-gradient(135deg, rgba(255, 95, 168, .055), rgba(98, 230, 224, .025)),
    rgba(36, 28, 48, .24) !important;

  color: rgba(255, 255, 255, .84) !important;
}

body[data-page="blog"] .blog-empty-v89 h2 {
  margin: 0 !important;
  font-size: 1.35rem !important;
  line-height: 1.1 !important;
}

body[data-page="blog"] .blog-empty-v89 p {
  margin: 0 !important;
  font-size: .92rem !important;
}

/* ELVORA FIX END: Blog Public Render V89 */

/* ELVORA FIX START: Blog Footer Ausrichtung V91 */

/*
  Nur Blogseite:
  - Footer links bündig mit dem Blog-Inhalt
  - Footer-Schrift wieder lesbar
  - Newsletter bleibt in derselben Reihe
  - Footer wirkt flacher, aber nicht mikroskopisch
*/

body[data-page="blog"] .site-footer {
  box-sizing: border-box !important;

  width: min(1500px, var(--elvora-customer-content-width)) !important;
  max-width: min(1500px, var(--elvora-customer-content-width)) !important;

  margin: 18px auto 0 0 !important;
  padding: 24px 0 20px 0 !important;

  display: grid !important;
  grid-template-columns:
    minmax(220px, 1.05fr)
    minmax(130px, .62fr)
    minmax(150px, .70fr)
    minmax(160px, .74fr)
    minmax(280px, 1.10fr) !important;

  gap: 22px 38px !important;

  align-items: start !important;
  justify-items: start !important;
  justify-content: start !important;

  border-top: 1px solid rgba(255, 137, 196, .16) !important;

  background: transparent !important;
  box-shadow: none !important;
}

/* Alle Footer-Spalten oben und links ausrichten */
body[data-page="blog"] .site-footer > * {
  box-sizing: border-box !important;

  min-width: 0 !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  align-self: start !important;
  justify-self: start !important;
}

/* Reihenfolge sauber festlegen */
body[data-page="blog"] .site-footer > .footer-brand {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body[data-page="blog"] .site-footer > div:nth-of-type(2) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

body[data-page="blog"] .site-footer > div:nth-of-type(3) {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

body[data-page="blog"] .site-footer > div:nth-of-type(4) {
  grid-column: 4 !important;
  grid-row: 1 !important;
}

body[data-page="blog"] .site-footer > form.newsletter-form,
body[data-page="blog"] .site-footer > form[data-newsletter] {
  grid-column: 5 !important;
  grid-row: 1 !important;
  justify-self: start !important;
}

/* Logo-Bereich kompakt, aber lesbar */
body[data-page="blog"] .footer-brand {
  display: grid !important;
  align-content: start !important;
  justify-items: start !important;
  gap: 10px !important;

  text-align: left !important;
}

body[data-page="blog"] .site-footer .footer-logo,
body[data-page="blog"] .site-footer .theme-logo {
  width: 132px !important;
  max-width: 132px !important;
  height: auto !important;

  margin: 0 0 6px 0 !important;
}

body[data-page="blog"] .site-footer .footer-logo img,
body[data-page="blog"] .site-footer .theme-logo img {
  width: 132px !important;
  max-width: 132px !important;
  height: auto !important;

  display: block !important;
}

/* Text unter Logo wieder lesbar */
body[data-page="blog"] .footer-brand p {
  max-width: 250px !important;

  margin: 0 !important;

  font-size: .88rem !important;
  line-height: 1.42 !important;
  font-weight: 720 !important;

  text-align: left !important;
}

/* Social-Zeile auf Blogseite ausblenden, spart Höhe */
body[data-page="blog"] .footer-brand .socials {
  display: none !important;
}

/* Footer-Spalten */
body[data-page="blog"] .site-footer div:not(.footer-brand),
body[data-page="blog"] .site-footer form {
  display: grid !important;
  align-content: start !important;
  justify-items: start !important;
  gap: 7px !important;

  text-align: left !important;
}

/* Überschriften lesbar */
body[data-page="blog"] .site-footer h2 {
  margin: 0 0 6px 0 !important;

  font-size: .98rem !important;
  line-height: 1.12 !important;
  font-weight: 950 !important;

  text-align: left !important;
}

/* Links und Texte lesbar */
body[data-page="blog"] .site-footer a,
body[data-page="blog"] .site-footer p,
body[data-page="blog"] .site-footer label {
  margin: 0 !important;

  font-size: .86rem !important;
  line-height: 1.38 !important;
  font-weight: 740 !important;

  text-align: left !important;
}

body[data-page="blog"] .site-footer a {
  display: block !important;
  margin-bottom: 3px !important;
}

/* Newsletter rechts, aber linksbündig in seiner Spalte */
body[data-page="blog"] .site-footer .newsletter-form {
  width: 100% !important;
  max-width: 300px !important;

  justify-self: start !important;

  display: grid !important;
  gap: 8px !important;

  text-align: left !important;
}

body[data-page="blog"] .site-footer .newsletter-form p {
  max-width: 280px !important;

  font-size: .86rem !important;
  line-height: 1.36 !important;
}

/* Newsletter-Eingabe wieder sichtbar und nicht winzig */
body[data-page="blog"] .site-footer .newsletter-inline {
  width: 100% !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 42px !important;
  gap: 7px !important;

  min-height: 38px !important;
}

body[data-page="blog"] .site-footer .newsletter-inline input {
  width: 100% !important;
  min-width: 0 !important;

  height: 38px !important;
  min-height: 38px !important;

  padding: 8px 11px !important;

  font-size: .84rem !important;
  line-height: 1 !important;
}

body[data-page="blog"] .site-footer .newsletter-inline button {
  width: 42px !important;
  min-width: 42px !important;

  height: 38px !important;
  min-height: 38px !important;

  padding: 0 !important;
}

/* Checkboxen lesbarer */
body[data-page="blog"] .site-footer .newsletter-form .check-row {
  display: grid !important;
  grid-template-columns: 14px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 7px !important;

  margin: 0 !important;

  font-size: .74rem !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

body[data-page="blog"] .site-footer .newsletter-form .check-row input {
  width: 12px !important;
  height: 12px !important;

  margin-top: 2px !important;
}

/* Payment-Streifen darunter dezenter */
body[data-page="blog"] .payment-strip {
  width: min(1500px, var(--elvora-customer-content-width)) !important;
  max-width: min(1500px, var(--elvora-customer-content-width)) !important;

  margin: 0 auto 0 0 !important;

  min-height: 34px !important;
  padding: 7px 18px !important;

  font-size: .76rem !important;
  line-height: 1.2 !important;

  opacity: .82 !important;
}

/* Mittlere Breite: 2 Reihen, aber weiterhin linksbündig */
@media (max-width: 1280px) {
  body[data-page="blog"] .site-footer {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px 30px !important;
    padding: 24px 0 20px 0 !important;
  }

  body[data-page="blog"] .site-footer > * {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  body[data-page="blog"] .site-footer .newsletter-form {
    max-width: 340px !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  body[data-page="blog"] .site-footer {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 22px 0 18px 0 !important;
  }

  body[data-page="blog"] .site-footer > * {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  body[data-page="blog"] .site-footer .newsletter-form {
    max-width: none !important;
  }
}

/* ELVORA FIX END: Blog Footer Ausrichtung V91 */

/* ELVORA FIX START: Admin Tablet/Mobile Nav, Calendar und Control-Text V92 */
:root {
  --elvora-admin-offcanvas-z: 1500;
  --elvora-admin-overlay-z: 1450;
  --elvora-admin-toast-z: 1380;
}

body[data-page="admin"] :is(
  button,
  .btn,
  .admin-edit-button,
  .admin-delete-button,
  .admin-action-button,
  .admin-status,
  .admin-status-badge,
  .status-badge,
  .badge,
  .admin-tab,
  .admin-settings-tabs a,
  .admin-row-actions > *,
  .dashboard-calendar-actions > *,
  .admin-notification-bell,
  .admin-notification-action,
  .admin-toast__action
),
body[data-page^="admin-"] :is(
  button,
  .btn,
  .admin-edit-button,
  .admin-delete-button,
  .admin-action-button,
  .admin-status,
  .admin-status-badge,
  .status-badge,
  .badge,
  .admin-tab,
  .admin-settings-tabs a,
  .admin-row-actions > *,
  .dashboard-calendar-actions > *,
  .admin-notification-bell,
  .admin-notification-action,
  .admin-toast__action
),
body:not([data-page^="admin"]) :is(
  button,
  .btn,
  .product-card button,
  .product-card .btn,
  .product-badge,
  .status-badge,
  .badge,
  .filter-chip,
  .active-filter-chip,
  .site-nav a
) {
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
  min-width: max-content;
  max-width: 100%;
  font-size: clamp(.68rem, .72rem + .22vw, .96rem) !important;
  line-height: 1 !important;
}

body[data-page="admin"] :is(.admin-row-actions, .dashboard-calendar-actions),
body[data-page^="admin-"] :is(.admin-row-actions, .dashboard-calendar-actions) {
  align-items: center !important;
  gap: clamp(6px, 1vw, 12px) !important;
}

body[data-page="admin"] .admin-dashboard-control-grid,
body[data-page^="admin-"] .admin-dashboard-control-grid {
  align-items: start !important;
  overflow: visible !important;
}

body[data-page="admin"] .admin-calendar-card,
body[data-page^="admin-"] .admin-calendar-card {
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}

body[data-page="admin"] .admin-calendar-card .admin-panel-heading,
body[data-page^="admin-"] .admin-calendar-card .admin-panel-heading {
  align-items: start !important;
  gap: 12px !important;
}

body[data-page="admin"] .admin-mini-calendar,
body[data-page^="admin-"] .admin-mini-calendar,
body[data-page="admin"] [data-dashboard-calendar],
body[data-page^="admin-"] [data-dashboard-calendar] {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  contain: layout style !important;
}

body[data-page="admin"] .admin-calendar-grid,
body[data-page^="admin-"] .admin-calendar-grid {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: clamp(4px, .8vw, 8px) !important;
  width: 100% !important;
  min-width: 0 !important;
}

body[data-page="admin"] .admin-calendar-day-button,
body[data-page^="admin-"] .admin-calendar-day-button {
  position: relative !important;
  z-index: 1 !important;
  pointer-events: auto !important;
  min-width: 0 !important;
  width: 100% !important;
  min-height: clamp(42px, 5.8vw, 58px) !important;
  padding: clamp(5px, .8vw, 9px) !important;
}

body[data-page="admin"] .admin-calendar-card :is(button, a),
body[data-page^="admin-"] .admin-calendar-card :is(button, a) {
  position: relative !important;
  z-index: 3 !important;
  pointer-events: auto !important;
}

body[data-page="admin"] .admin-calendar-card::before,
body[data-page="admin"] .admin-calendar-card::after,
body[data-page^="admin-"] .admin-calendar-card::before,
body[data-page^="admin-"] .admin-calendar-card::after {
  pointer-events: none !important;
}

@media (min-width: 900px) and (max-width: 1280px) and (orientation: landscape) {
  body[data-page="admin"] .admin-dashboard-control-grid,
  body[data-page^="admin-"] .admin-dashboard-control-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body[data-page="admin"] .admin-calendar-card,
  body[data-page^="admin-"] .admin-calendar-card {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: min(100%, 840px) !important;
    justify-self: center !important;
  }
}

@media (max-width: 920px) {
  body[data-page="admin"],
  body[data-page^="admin-"] {
    overflow-x: hidden !important;
  }

  body.admin-nav-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.admin-nav-open::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: var(--elvora-admin-overlay-z) !important;
    background: rgba(12, 9, 18, .64) !important;
    backdrop-filter: blur(8px) !important;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    position: sticky !important;
    top: 0 !important;
    z-index: calc(var(--elvora-admin-offcanvas-z) + 5) !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav,
  body[data-page^="admin-"] .admin-sidebar .admin-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(85vw, 360px) !important;
    max-width: min(85vw, 360px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    z-index: var(--elvora-admin-offcanvas-z) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    transform: translateX(-110%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    padding: 88px 14px 26px !important;
    border-radius: 0 28px 28px 0 !important;
    background: var(--elvora-admin-card, #211B2D) !important;
    box-shadow: 28px 0 80px rgba(0, 0, 0, .42) !important;
    transition: transform .24s ease, opacity .18s ease, visibility .18s ease !important;
  }

  body[data-page="admin"] .admin-sidebar.is-open .admin-nav,
  body[data-page^="admin-"] .admin-sidebar.is-open .admin-nav {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body[data-page="admin"] .admin-sidebar.is-open::after,
  body[data-page^="admin-"] .admin-sidebar.is-open::after {
    display: none !important;
    pointer-events: none !important;
  }

  body[data-page="admin"] .admin-menu-toggle,
  body[data-page^="admin-"] .admin-menu-toggle {
    position: relative !important;
    z-index: calc(var(--elvora-admin-offcanvas-z) + 10) !important;
    min-width: 54px !important;
  }

  body[data-page="admin"] .admin-nav-group,
  body[data-page^="admin-"] .admin-nav-group {
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-nav-group > div,
  body[data-page^="admin-"] .admin-nav-group > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-nav > a,
  body[data-page^="admin-"] .admin-nav > a,
  body[data-page="admin"] .admin-nav-group summary,
  body[data-page^="admin-"] .admin-nav-group summary,
  body[data-page="admin"] .admin-nav-group > div > a,
  body[data-page^="admin-"] .admin-nav-group > div > a {
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
    overflow: visible !important;
    font-size: clamp(.76rem, 2.5vw, .94rem) !important;
    min-height: 44px !important;
    padding-inline: 12px !important;
  }

  body[data-page="admin"] .admin-nav > a span:not(.admin-nav-icon),
  body[data-page^="admin-"] .admin-nav > a span:not(.admin-nav-icon),
  body[data-page="admin"] .admin-nav-group summary strong,
  body[data-page^="admin-"] .admin-nav-group summary strong,
  body[data-page="admin"] .admin-nav-group > div > a span,
  body[data-page^="admin-"] .admin-nav-group > div > a span {
    min-width: 0 !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  body[data-page="admin"] .admin-calendar-card .admin-panel-heading,
  body[data-page^="admin-"] .admin-calendar-card .admin-panel-heading {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body[data-page="admin"] .admin-calendar-card .admin-panel-heading .admin-row-actions,
  body[data-page^="admin-"] .admin-calendar-card .admin-panel-heading .admin-row-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
  }
}

@media (max-width: 430px) {
  body[data-page="admin"] :is(button, .btn, .admin-edit-button, .admin-delete-button, .admin-status, .badge, .status-badge),
  body[data-page^="admin-"] :is(button, .btn, .admin-edit-button, .admin-delete-button, .admin-status, .badge, .status-badge) {
    font-size: clamp(.64rem, 2.65vw, .82rem) !important;
    padding-inline: clamp(8px, 2vw, 12px) !important;
  }

  body[data-page="admin"] .admin-calendar-grid,
  body[data-page^="admin-"] .admin-calendar-grid {
    gap: 4px !important;
  }
}

.admin-notification-widget {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: var(--elvora-admin-toast-z);
}

.admin-notification-bell {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px !important;
  height: 44px;
  border: 1px solid var(--elvora-admin-border, rgba(255, 255, 255, .14));
  border-radius: 999px;
  background: var(--elvora-admin-card-2, #2A2338);
  color: var(--elvora-admin-text, #fff);
  cursor: pointer;
}

.admin-notification-bell svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.admin-notification-count {
  position: absolute;
  top: -5px;
  right: -5px;
  display: none;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--elvora-admin-pink, #ff5fa2);
  color: #fff;
  font-size: .68rem;
  font-weight: 950;
  line-height: 20px;
  text-align: center;
}

.admin-notification-count.is-visible {
  display: block;
}

.admin-notification-popover {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: min(420px, calc(100vw - 28px));
  max-height: min(70vh, 560px);
  overflow: auto;
  z-index: calc(var(--elvora-admin-toast-z) + 4);
  border: 1px solid var(--elvora-admin-border, rgba(255, 255, 255, .14));
  border-radius: 12px;
  background: var(--elvora-admin-card, #211B2D);
  color: var(--elvora-admin-text, #fff);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .34);
  padding: 14px;
}

.admin-notification-popover[hidden] {
  display: none !important;
}

.admin-notification-popover__head,
.admin-notification-popover__foot,
.admin-notification-item__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.admin-notification-popover__head h3 {
  margin: 0;
  font-size: 1rem;
}

.admin-notification-list {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.admin-notification-item {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid var(--elvora-admin-border, rgba(255, 255, 255, .14));
  border-radius: 12px;
  background: var(--elvora-admin-card-2, #2A2338);
}

.admin-notification-item strong,
.admin-toast strong {
  color: var(--elvora-admin-text, #fff);
}

.admin-notification-item p,
.admin-toast p {
  margin: 0;
  color: var(--elvora-admin-muted, #CFC6DC);
  overflow-wrap: anywhere;
}

.admin-notification-item small {
  color: var(--elvora-admin-muted, #CFC6DC);
}

.admin-notification-action,
.admin-toast__action {
  min-height: 34px !important;
  border: 1px solid var(--elvora-admin-border, rgba(255, 255, 255, .14));
  border-radius: 999px;
  background: color-mix(in srgb, var(--elvora-admin-card-2, #2A2338) 88%, transparent);
  color: var(--elvora-admin-text, #fff);
  padding: 8px 12px;
  font-weight: 850;
  cursor: pointer;
}

.admin-toast-stack {
  position: fixed;
  right: clamp(12px, 3vw, 28px);
  bottom: clamp(14px, 3vw, 30px);
  z-index: var(--elvora-admin-toast-z);
  display: grid;
  gap: 10px;
  width: min(390px, calc(100vw - 24px));
  pointer-events: none;
}

.admin-toast {
  pointer-events: auto;
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid var(--elvora-admin-border, rgba(255, 255, 255, .14));
  background: var(--elvora-admin-card, #211B2D);
  color: var(--elvora-admin-text, #fff);
  box-shadow: 0 18px 54px rgba(0, 0, 0, .28);
  animation: elvoraToastInV92 .22s ease both;
}

.admin-toast.is-success { border-color: color-mix(in srgb, var(--elvora-admin-success, #64D98A) 52%, transparent); }
.admin-toast.is-info { border-color: color-mix(in srgb, var(--elvora-admin-turquoise, #62E6E0) 52%, transparent); }
.admin-toast.is-warning { border-color: color-mix(in srgb, var(--elvora-admin-warning, #FFB020) 58%, transparent); }
.admin-toast.is-error,
.admin-toast.is-critical { border-color: color-mix(in srgb, var(--elvora-admin-error, #FF5C7A) 58%, transparent); }

@keyframes elvoraToastInV92 {
  from { opacity: 0; transform: translateY(12px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 920px) {
  .admin-notification-popover {
    position: fixed;
    top: 72px;
    right: 10px;
    left: 10px;
    width: auto;
    max-height: calc(100dvh - 92px);
  }

  body.admin-nav-open .admin-notification-popover,
  body.admin-nav-open .admin-toast-stack {
    display: none !important;
  }
}
/* ELVORA FIX END: Admin Tablet/Mobile Nav, Calendar und Control-Text V92 */

/* ELVORA FIX START: Admin No-Wrap Guard ohne Body-Attribut V93 */
.admin-shell :is(
  button,
  .btn,
  .admin-edit-button,
  .admin-delete-button,
  .admin-action-button,
  .admin-status,
  .admin-status-badge,
  .status-badge,
  .badge,
  .admin-tab,
  .admin-settings-tabs a,
  .admin-row-actions > *,
  .dashboard-calendar-actions > *
),
.admin-sidebar :is(
  .admin-menu-toggle,
  .admin-nav > a,
  .admin-nav-group summary,
  .admin-nav-group > div > a,
  .admin-nav > a span:not(.admin-nav-icon),
  .admin-nav-group summary strong,
  .admin-nav-group > div > a span
),
.admin-notification-widget :is(button, a),
.admin-toast :is(button, a) {
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
  line-height: 1 !important;
}

.admin-sidebar .admin-nav-group > div {
  min-width: 0 !important;
}

.admin-sidebar .admin-nav-group > div > a,
.admin-sidebar .admin-nav > a,
.admin-sidebar .admin-nav-group summary {
  min-width: 0 !important;
  max-width: 100% !important;
}

.admin-sidebar .admin-nav-group > div > a span,
.admin-sidebar .admin-nav > a span:not(.admin-nav-icon),
.admin-sidebar .admin-nav-group summary strong {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

@media (max-width: 920px) {
  .admin-sidebar .admin-nav {
    padding-inline: clamp(10px, 2.4vw, 14px) !important;
  }

  .admin-sidebar .admin-nav-group > div > a {
    font-size: clamp(.68rem, 2.2vw, .86rem) !important;
    padding-inline: clamp(8px, 2vw, 11px) !important;
  }
}

@media (max-width: 340px) {
  .admin-sidebar .admin-nav-group > div > a {
    font-size: .66rem !important;
    padding-inline: 7px !important;
    letter-spacing: -.015em !important;
  }
}
/* ELVORA FIX END: Admin No-Wrap Guard ohne Body-Attribut V93 */

/* ELVORA FIX START: Kundenbereich Mobile wieder bedienbar V95 */
@media (max-width: 920px) {
  body:is(
    [data-page="shop"],
    [data-page="personalize"],
    [data-page="finder"],
    [data-page="blog"],
    [data-page="about"],
    [data-page="contact"],
    [data-page="home"],
    [data-page="account"],
    [data-page="cart"],
    [data-page="checkout"]
  ) .customer-sidebar-v85,
  body:is(
    [data-page="shop"],
    [data-page="personalize"],
    [data-page="finder"],
    [data-page="blog"],
    [data-page="about"],
    [data-page="contact"],
    [data-page="home"],
    [data-page="account"],
    [data-page="cart"],
    [data-page="checkout"]
  ) .customer-admin-sidebar-v84 {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body:is(
    [data-page="shop"],
    [data-page="personalize"],
    [data-page="finder"],
    [data-page="blog"],
    [data-page="about"],
    [data-page="contact"],
    [data-page="home"],
    [data-page="account"],
    [data-page="cart"],
    [data-page="checkout"]
  ) .top-strip {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  body:is(
    [data-page="shop"],
    [data-page="personalize"],
    [data-page="finder"],
    [data-page="blog"],
    [data-page="about"],
    [data-page="contact"],
    [data-page="home"],
    [data-page="account"],
    [data-page="cart"],
    [data-page="checkout"]
  ) header.site-header,
  body:is(
    [data-page="shop"],
    [data-page="personalize"],
    [data-page="finder"],
    [data-page="blog"],
    [data-page="about"],
    [data-page="contact"],
    [data-page="home"],
    [data-page="account"],
    [data-page="cart"],
    [data-page="checkout"]
  ) .site-header {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 10px !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 72px !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    overflow: visible !important;
    z-index: 980 !important;
    background: rgba(255, 250, 253, .92) !important;
    backdrop-filter: blur(18px) !important;
    border-bottom: 1px solid rgba(232, 92, 154, .14) !important;
  }

  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
    background: rgba(23, 20, 33, .94) !important;
    border-bottom-color: rgba(255, 255, 255, .1) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand {
    min-width: 0 !important;
    max-width: 150px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    width: clamp(74px, 23vw, 118px) !important;
    height: clamp(48px, 14vw, 64px) !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-fallback {
    display: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;
    min-width: 54px !important;
    min-height: 46px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    z-index: 1030 !important;
    font-size: 0 !important;
    color: var(--ink, #25252a) !important;
    background: rgba(255, 255, 255, .76) !important;
    border: 1px solid rgba(232, 92, 154, .22) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before {
    content: "☰" !important;
    font-size: 1.35rem !important;
    line-height: 1 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::before {
    content: "×" !important;
    font-size: 1.7rem !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .header-icons {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    min-width: 0 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .header-icons .icon-link {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(86vw, 360px) !important;
    max-width: min(86vw, 360px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
    padding: 92px 16px 28px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    transform: translateX(110%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 1010 !important;
    border-radius: 28px 0 0 28px !important;
    background: rgba(255, 250, 253, .98) !important;
    box-shadow: -24px 0 74px rgba(74, 44, 64, .22) !important;
    transition: transform .24s ease, opacity .18s ease, visibility .18s ease !important;
  }

  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav,
  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav {
    background: rgba(33, 27, 45, .98) !important;
    box-shadow: -24px 0 74px rgba(0, 0, 0, .42) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.is-open,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav.is-open {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.mobile-nav-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.mobile-nav-open::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 1000 !important;
    background: rgba(18, 12, 20, .54) !important;
    backdrop-filter: blur(8px) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav a,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
    display: flex !important;
    align-items: center !important;
    min-height: 46px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    font-size: clamp(.92rem, 3.4vw, 1rem) !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    color: var(--ink, #25252a) !important;
    background: rgba(255, 255, 255, .58) !important;
  }

  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav a,
  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
    color: #fff !important;
    background: rgba(255, 255, 255, .08) !important;
  }

  body:is(
    [data-page="shop"],
    [data-page="personalize"],
    [data-page="finder"],
    [data-page="blog"],
    [data-page="about"],
    [data-page="contact"],
    [data-page="home"],
    [data-page="account"],
    [data-page="cart"],
    [data-page="checkout"]
  ) main {
    width: 100% !important;
    max-width: 100vw !important;
    margin-inline: 0 !important;
    padding-top: 14px !important;
    overflow-x: clip !important;
  }
}
/* ELVORA FIX END: Kundenbereich Mobile wieder bedienbar V95 */

/* ELVORA FIX START: Dashboard Kalender kompakt und tablet-sicher V96 */
body[data-page="admin"] .admin-calendar-card [data-dashboard-calendar],
body[data-page^="admin-"] .admin-calendar-card [data-dashboard-calendar] {
  gap: clamp(6px, 1vw, 10px) !important;
  padding: clamp(10px, 1.4vw, 14px) !important;
  overflow: visible !important;
}

body[data-page="admin"] .admin-calendar-card [data-dashboard-calendar] .admin-calendar-grid,
body[data-page^="admin-"] .admin-calendar-card [data-dashboard-calendar] .admin-calendar-grid {
  grid-auto-rows: 42px !important;
  align-items: stretch !important;
  gap: clamp(4px, .7vw, 7px) !important;
}

body[data-page="admin"] .admin-calendar-card [data-dashboard-calendar] .admin-calendar-day-button,
body[data-page^="admin-"] .admin-calendar-card [data-dashboard-calendar] .admin-calendar-day-button {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  touch-action: manipulation !important;
}

body[data-page="admin"] .admin-calendar-card [data-dashboard-calendar] .admin-calendar-day-button > span,
body[data-page^="admin-"] .admin-calendar-card [data-dashboard-calendar] .admin-calendar-day-button > span {
  min-height: 0 !important;
  height: auto !important;
  line-height: 1 !important;
  display: block !important;
  text-align: center !important;
}

body[data-page="admin"] .admin-calendar-card .admin-upcoming-list,
body[data-page^="admin-"] .admin-calendar-card .admin-upcoming-list {
  max-height: min(340px, 42vh) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
}

@media (max-width: 760px) {
  body[data-page="admin"] .admin-calendar-card [data-dashboard-calendar] .admin-calendar-grid,
  body[data-page^="admin-"] .admin-calendar-card [data-dashboard-calendar] .admin-calendar-grid {
    grid-auto-rows: 38px !important;
    gap: 4px !important;
  }

  body[data-page="admin"] .admin-calendar-card [data-dashboard-calendar] .admin-calendar-day-button,
  body[data-page^="admin-"] .admin-calendar-card [data-dashboard-calendar] .admin-calendar-day-button {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    border-radius: 11px !important;
    font-size: clamp(.72rem, 3vw, .84rem) !important;
  }

  body[data-page="admin"] .admin-calendar-card .admin-upcoming-list,
  body[data-page^="admin-"] .admin-calendar-card .admin-upcoming-list {
    max-height: 260px !important;
  }
}
/* ELVORA FIX END: Dashboard Kalender kompakt und tablet-sicher V96 */

/* ELVORA FIX START: Kundenbereich Offcanvas erzeugt keinen Seiten-Scroll V96 */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.top-strip {
  max-width: 100vw !important;
  overflow: hidden !important;
}

.top-strip-track {
  will-change: transform;
}

.mini-cart-drawer:not(.is-open) {
  right: 0 !important;
  transform: translateX(calc(100% + 24px)) !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.mini-cart-drawer.is-open {
  right: 0 !important;
  transform: translateX(0) !important;
  visibility: visible !important;
}

body:not(.mobile-nav-open):not([data-page="admin"]):not([data-page^="admin-"]) #site-nav:not(.is-open),
body:not(.mobile-nav-open):not([data-page="admin"]):not([data-page^="admin-"]) .site-nav:not(.is-open) {
  pointer-events: none;
}
/* ELVORA FIX END: Kundenbereich Offcanvas erzeugt keinen Seiten-Scroll V96 */

/* ELVORA FIX START: Admin Tablet nutzt Hamburger-Offcanvas V99 */
@media (max-width: 1399px) {
  body[data-page="admin"],
  body[data-page^="admin-"] {
    overflow-x: clip !important;
  }

  body[data-page="admin"] > main,
  body[data-page^="admin-"] > main {
    width: 100% !important;
    max-width: 100vw !important;
    padding: clamp(8px, 1.6vw, 14px) !important;
    overflow-x: clip !important;
  }

  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    width: min(100%, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
    margin: 8px auto !important;
    padding: clamp(8px, 1.8vw, 14px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    border-radius: 22px !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-shell > main,
  body[data-page^="admin-"] .admin-shell > main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: clamp(14px, 2.2vw, 24px) !important;
    border-radius: 20px !important;
    overflow-x: clip !important;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    position: sticky !important;
    top: 8px !important;
    z-index: 1700 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 10px 12px !important;
    border-radius: 20px !important;
    border: 1px solid var(--elvora-admin-border, rgba(255,255,255,.14)) !important;
    background: var(--elvora-admin-card, #211B2D) !important;
  }

  body[data-page="admin"] .admin-brand-row,
  body[data-page^="admin-"] .admin-brand-row {
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-brand,
  body[data-page^="admin-"] .admin-brand {
    width: clamp(116px, 20vw, 164px) !important;
    max-width: 46vw !important;
    justify-items: start !important;
  }

  body[data-page="admin"] .admin-brand img,
  body[data-page^="admin-"] .admin-brand img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 56px !important;
    object-fit: contain !important;
  }

  body[data-page="admin"] .admin-brand-title,
  body[data-page^="admin-"] .admin-brand-title {
    display: none !important;
  }

  body[data-page="admin"] .admin-menu-toggle,
  body[data-page^="admin-"] .admin-menu-toggle {
    display: inline-grid !important;
    place-items: center !important;
    width: auto !important;
    min-width: 52px !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid var(--elvora-admin-border, rgba(255,255,255,.16)) !important;
    background: var(--elvora-admin-card-2, #2A2338) !important;
    color: var(--elvora-admin-text, #fff) !important;
    font-size: clamp(.78rem, 1.8vw, .92rem) !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    position: relative !important;
    z-index: 1730 !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav,
  body[data-page^="admin-"] .admin-sidebar .admin-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(86vw, 360px) !important;
    max-width: min(86vw, 360px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-content: start !important;
    gap: 8px !important;
    padding: 86px 14px 28px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    transform: translateX(-110%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 1710 !important;
    border-radius: 0 28px 28px 0 !important;
    background: var(--elvora-admin-card, #211B2D) !important;
    box-shadow: 28px 0 80px rgba(0, 0, 0, .45) !important;
    transition: transform .24s ease, opacity .18s ease, visibility .18s ease !important;
  }

  body[data-page="admin"] .admin-sidebar.is-open .admin-nav,
  body[data-page^="admin-"] .admin-sidebar.is-open .admin-nav {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body[data-page="admin"].admin-nav-open::before,
  body[data-page^="admin-"].admin-nav-open::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 1690 !important;
    background: rgba(12, 9, 18, .64) !important;
    backdrop-filter: blur(8px) !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav-group,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group {
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav-group > div,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav :is(a, summary),
  body[data-page^="admin-"] .admin-sidebar .admin-nav :is(a, summary) {
    min-height: 44px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 12px !important;
    font-size: clamp(.78rem, 1.8vw, .94rem) !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  body[data-page="admin"] .admin-top,
  body[data-page^="admin-"] .admin-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 12px !important;
    padding: clamp(14px, 2vw, 18px) !important;
  }

  body[data-page="admin"] .admin-top h1,
  body[data-page="admin"] .admin-top h2,
  body[data-page^="admin-"] .admin-top h1,
  body[data-page^="admin-"] .admin-top h2 {
    font-size: clamp(1.55rem, 4.4vw, 2.3rem) !important;
    line-height: 1.04 !important;
    overflow-wrap: anywhere !important;
  }

  body[data-page="admin"] .admin-workspace,
  body[data-page^="admin-"] .admin-workspace,
  body[data-page="admin"] .admin-panel,
  body[data-page^="admin-"] .admin-panel,
  body[data-page="admin"] .admin-card,
  body[data-page^="admin-"] .admin-card {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
  }
}
/* ELVORA FIX END: Admin Tablet nutzt Hamburger-Offcanvas V99 */

/* ELVORA FIX START: Admin Tablet Header wirklich kompakt V99 */
@media (max-width: 1399px) {
  body[data-page="admin"] .admin-sidebar .admin-brand-row,
  body[data-page^="admin-"] .admin-sidebar .admin-brand-row {
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    padding: 4px 8px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: left !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-brand,
  body[data-page^="admin-"] .admin-sidebar .admin-brand {
    width: clamp(112px, 20vw, 164px) !important;
    min-width: 0 !important;
    max-width: 46vw !important;
    height: 56px !important;
    min-height: 0 !important;
    max-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-brand img,
  body[data-page^="admin-"] .admin-sidebar .admin-brand img {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 56px !important;
    min-height: 0 !important;
    max-height: 56px !important;
    object-fit: contain !important;
    object-position: left center !important;
    margin: 0 !important;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    min-height: 0 !important;
    height: auto !important;
    padding: 8px 10px !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav,
  body[data-page^="admin-"] .admin-sidebar .admin-nav {
    margin-top: 0 !important;
  }

  body[data-page="admin"] .admin-menu-toggle,
  body[data-page^="admin-"] .admin-menu-toggle {
    margin-left: auto !important;
    flex: 0 0 auto !important;
  }
}
/* ELVORA FIX END: Admin Tablet Header wirklich kompakt V99 */

/* ELVORA FIX START: Mobile Lade-/Menue-Reparatur und Textueberlauf V100 */
:is(button, .btn, .button, .admin-action-button, .admin-edit-button, .admin-delete-button, .admin-menu-toggle, .site-menu-toggle, .cart-button, .cta-button, .filter-button, .admin-tab, .badge, .status-badge, .admin-status, .admin-status-badge) {
  max-width: 100% !important;
  min-width: 0;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
  line-height: 1.08 !important;
  font-size: clamp(.72rem, 1.4vw, .96rem);
}

:is(.admin-row-actions, .admin-actions, .form-actions, .dashboard-calendar-actions, .shop-filter-actions, .product-card-actions, .cart-actions, .checkout-actions) {
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(6px, 1.2vw, 12px);
  align-items: center;
}

@media (max-width: 520px) {
  :is(button, .btn, .button, .admin-action-button, .admin-edit-button, .admin-delete-button, .admin-menu-toggle, .site-menu-toggle, .cart-button, .cta-button, .filter-button, .admin-tab, .badge, .status-badge, .admin-status, .admin-status-badge) {
    font-size: clamp(.64rem, 3.15vw, .82rem) !important;
    padding-inline: clamp(8px, 2.8vw, 12px) !important;
    letter-spacing: -.01em;
  }

  :is(.admin-row-actions, .admin-actions, .form-actions, .dashboard-calendar-actions, .shop-filter-actions, .product-card-actions, .cart-actions, .checkout-actions) > :is(button, .btn, .button, a) {
    flex: 1 1 auto;
  }
}

@media (max-width: 1399px) {
  body[data-page="admin"] .admin-sidebar .admin-nav,
  body[data-page^="admin-"] .admin-sidebar .admin-nav {
    width: min(88vw, 430px) !important;
    max-width: min(88vw, 430px) !important;
    padding: 84px clamp(12px, 2.2vw, 18px) 30px !important;
    gap: 9px !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav-group,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav-group[open] > div,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group[open] > div,
  body[data-page="admin"] .admin-sidebar .admin-nav-group > div,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav > a,
  body[data-page="admin"] .admin-sidebar .admin-nav-group summary,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group summary,
  body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: clamp(.76rem, 1.55vw, .94rem) !important;
    line-height: 1.08 !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a {
    padding-left: 18px !important;
    font-size: clamp(.72rem, 1.45vw, .88rem) !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav > a span:not(.admin-nav-icon),
  body[data-page^="admin-"] .admin-sidebar .admin-nav > a span:not(.admin-nav-icon),
  body[data-page="admin"] .admin-sidebar .admin-nav-group summary strong,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group summary strong,
  body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a span,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1.08 !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav-icon,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-icon {
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
  }
}

@media (max-width: 520px) {
  body[data-page="admin"] .admin-sidebar .admin-nav,
  body[data-page^="admin-"] .admin-sidebar .admin-nav {
    width: min(92vw, 370px) !important;
    max-width: min(92vw, 370px) !important;
    padding-inline: 12px !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav > a,
  body[data-page="admin"] .admin-sidebar .admin-nav-group summary,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group summary {
    font-size: clamp(.76rem, 4vw, .9rem) !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a {
    font-size: clamp(.66rem, 3.35vw, .8rem) !important;
    padding-left: 14px !important;
  }
}
/* ELVORA FIX END: Mobile Lade-/Menue-Reparatur und Textueberlauf V100 */

/* ELVORA FIX START: Kundenmenue scharf lesbar und ohne Artefakte V101 */
@media (max-width: 920px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before {
    content: "☰" !important;
    font-size: 1.32rem !important;
    line-height: 1 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::before {
    content: "×" !important;
    font-size: 1.72rem !important;
    line-height: 1 !important;
  }

  body.mobile-nav-open::before {
    z-index: 1080 !important;
    background: rgba(10, 7, 14, .56) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav {
    z-index: 1120 !important;
    background: #fffafd !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    text-shadow: none !important;
  }

  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav,
  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav {
    background: #211b2d !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    z-index: 1140 !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav a,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
    color: #221926 !important;
    background: rgba(255, 255, 255, .74) !important;
    border: 1px solid rgba(232, 92, 154, .14) !important;
    font-size: clamp(.86rem, 3.2vw, .98rem) !important;
    line-height: 1.08 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav a,
  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
    color: #fff !important;
    background: rgba(255, 255, 255, .1) !important;
    border-color: rgba(255, 255, 255, .13) !important;
  }
}
/* ELVORA FIX END: Kundenmenue scharf lesbar und ohne Artefakte V101 */

/* ELVORA FIX START: Kundenmenue Button-Artefakt und Kontrast final V102 */
@media (max-width: 920px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"] {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    overflow: hidden !important;
    color: #fff !important;
    background: linear-gradient(135deg, #ff5fa2, #b84fff) !important;
    border: 1px solid rgba(255, 255, 255, .38) !important;
    box-shadow: 0 14px 30px rgba(255, 95, 162, .28) !important;
    font-size: 0 !important;
    text-indent: -999px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::before {
    text-indent: 0 !important;
    display: block !important;
    color: #fff !important;
    font-weight: 950 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::after,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::after {
    content: none !important;
    display: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav a,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a,
  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav a,
  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
    color: #fff !important;
    background: #2f2740 !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    opacity: 1 !important;
    font-weight: 950 !important;
    text-shadow: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav a:hover,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a:hover,
  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav a.is-active,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a.is-active {
    background: linear-gradient(135deg, rgba(255, 95, 162, .36), rgba(98, 230, 224, .16)) !important;
    border-color: rgba(255, 95, 162, .46) !important;
  }
}
/* ELVORA FIX END: Kundenmenue Button-Artefakt und Kontrast final V102 */

/* ELVORA FIX START: Kundenmenue Icon ohne Sonderzeichen V103 */
@media (max-width: 920px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::after {
    content: "" !important;
    display: block !important;
    width: 19px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #fff !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform-origin: center !important;
    text-indent: 0 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before {
    transform: translate(-50%, -50%) !important;
    box-shadow: 0 -6px 0 #fff, 0 6px 0 #fff !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::after {
    opacity: 0 !important;
    transform: translate(-50%, -50%) !important;
    box-shadow: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
    box-shadow: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::after {
    opacity: 1 !important;
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }
}
/* ELVORA FIX END: Kundenmenue Icon ohne Sonderzeichen V103 */

/* ELVORA FIX START: Kundenmenue Icon final ohne Glyph V104 */
@media (max-width: 920px) {
  html body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle,
  html body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"] {
    position: relative !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-indent: -999px !important;
  }

  html body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before,
  html body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::before,
  html body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::after,
  html body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: transparent !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    transform-origin: center !important;
  }

  html body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before {
    transform: translate(-50%, -50%) !important;
    box-shadow: 0 -6px 0 #fff, 0 6px 0 #fff !important;
  }

  html body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::after {
    opacity: 0 !important;
    transform: translate(-50%, -50%) !important;
  }

  html body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
    box-shadow: none !important;
  }

  html body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle[aria-expanded="true"]::after {
    opacity: 1 !important;
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }
}
/* ELVORA FIX END: Kundenmenue Icon final ohne Glyph V104 */

/* ELVORA FIX START: Tablet-Offcanvas und lesbare Admin-Navigation V105 */
@media (max-width: 1180px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    display: inline-grid !important;
    place-items: center !important;
    justify-self: end !important;
    position: relative !important;
    z-index: 1140 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(86vw, 360px) !important;
    max-width: min(86vw, 360px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    align-content: start !important;
    gap: 10px !important;
    padding: 92px 16px 28px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    transform: translateX(110%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 1120 !important;
    border-radius: 28px 0 0 28px !important;
    background: #211b2d !important;
    box-shadow: -24px 0 74px rgba(0, 0, 0, .42) !important;
    transition: transform .24s ease, opacity .18s ease, visibility .18s ease !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.is-open,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav.is-open {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav a,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 11px 14px !important;
    border-radius: 16px !important;
    color: #fff !important;
    background: #2f2740 !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    font-size: clamp(.86rem, 2.1vw, 1rem) !important;
    font-weight: 900 !important;
    line-height: 1.12 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
  }
}

@media (max-width: 1399px) {
  body[data-page="admin"] .admin-sidebar .admin-nav > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav > a,
  body[data-page="admin"] .admin-sidebar .admin-nav-group summary,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group summary,
  body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a {
    min-height: 46px !important;
    height: calc(100dvh - 20px) !important;
    align-items: flex-start !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
    line-height: 1.16 !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav > a span:not(.admin-nav-icon),
  body[data-page^="admin-"] .admin-sidebar .admin-nav > a span:not(.admin-nav-icon),
  body[data-page="admin"] .admin-sidebar .admin-nav-group summary strong,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group summary strong,
  body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a span,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a span {
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
    line-height: 1.16 !important;
  }
}
/* ELVORA FIX END: Tablet-Offcanvas und lesbare Admin-Navigation V105 */

/* ELVORA FIX START: Kundenheader wiederherstellen statt verstecken V106 */
body:not([data-page="admin"]):not([data-page^="admin-"]) .top-strip,
body:not([data-page="admin"]):not([data-page^="admin-"]) header.site-header,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
  position: sticky !important;
  left: auto !important;
  top: 0 !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .top-strip {
  display: block !important;
  position: relative !important;
  z-index: 70 !important;
  overflow: hidden !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) header.site-header,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
  display: grid !important;
  z-index: 80 !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .customer-sidebar-v85 {
  display: none !important;
}

@media (min-width: 1181px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav {
    position: static !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    overflow: visible !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}
/* ELVORA FIX END: Kundenheader wiederherstellen statt verstecken V106 */

/* ELVORA FIX START: Globale Kundenbausteine ohne Offscreen V107 */
body:not([data-page="admin"]):not([data-page^="admin-"]) .account-subnav,
body:not([data-page="admin"]):not([data-page^="admin-"]) .checkout-progress,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer,
body:not([data-page="admin"]):not([data-page^="admin-"]) .shop-filter-bar,
body:not([data-page="admin"]):not([data-page^="admin-"]) .toolbar {
  max-width: min(100%, calc(100vw - 28px)) !important;
  overflow: visible !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .account-subnav {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)) !important;
  gap: 10px !important;
  width: min(1180px, calc(100% - 28px)) !important;
  margin-inline: auto !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .account-subnav a {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 12px !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .checkout-progress {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)) !important;
  gap: 8px !important;
  width: min(1180px, calc(100% - 28px)) !important;
  margin-inline: auto !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .checkout-progress span {
  min-width: 0 !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 10px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer {
  width: min(1180px, calc(100% - 28px)) !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: clamp(14px, 2.2vw, 26px) !important;
  align-items: start !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > *,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer form,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer label {
  min-width: 0 !important;
  max-width: 100% !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer a,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer p,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer h2 {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
}

body[data-page="home"] .home-category-section,
body[data-page="home"] main > section:has(.category-grid[data-live-categories]) {
  width: min(1360px, calc(100% - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  overflow: visible !important;
}

body[data-page="home"] .category-grid[data-live-categories] {
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)) !important;
  overflow: visible !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .shop-filter-bar,
body:not([data-page="admin"]):not([data-page^="admin-"]) .toolbar {
  width: min(1180px, calc(100% - 28px)) !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)) !important;
  gap: 12px !important;
  align-items: end !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .shop-filter-bar label,
body:not([data-page="admin"]):not([data-page^="admin-"]) .toolbar label {
  min-width: 0 !important;
  max-width: 100% !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .shop-filter-bar select,
body:not([data-page="admin"]):not([data-page^="admin-"]) .shop-filter-bar input,
body:not([data-page="admin"]):not([data-page^="admin-"]) .toolbar select,
body:not([data-page="admin"]):not([data-page^="admin-"]) .toolbar input {
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 760px) {
  body[data-page="home"] .category-grid[data-live-categories] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .account-subnav,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .checkout-progress,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .shop-filter-bar,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .toolbar,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer {
    width: min(100% - 24px, 540px) !important;
    max-width: calc(100vw - 24px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .account-subnav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .checkout-progress {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* ELVORA FIX END: Globale Kundenbausteine ohne Offscreen V107 */

/* ELVORA FIX START: Rest-Offscreen spezifisch beseitigen V108 */
body[data-page="home"] .home-category-section .category-grid.home-category-grid-runtime-v52[data-live-categories],
body[data-page="home"] .home-category-section .category-grid.home-category-grid-clean[data-live-categories],
body[data-page="home"] .category-grid.home-category-grid-runtime-v52[data-live-categories] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)) !important;
}

body[data-page="shop"] .toolbar.shop-filter-bar,
body[data-page="shop"] .shop-filter-bar {
  width: min(1180px, calc(100% - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(158px, 1fr)) !important;
  gap: 12px !important;
  overflow: visible !important;
}

body[data-page="shop"] .toolbar.shop-filter-bar > *,
body[data-page="shop"] .shop-filter-bar > *,
body[data-page="shop"] .shop-filter-bar label,
body[data-page="shop"] .shop-filter-bar select,
body[data-page="shop"] .shop-filter-bar input,
body[data-page="shop"] .shop-filter-reset {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

body[data-page="blog"] .site-footer {
  width: min(1180px, calc(100% - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  justify-items: stretch !important;
  overflow: visible !important;
}

body[data-page="blog"] .site-footer > div,
body[data-page="blog"] .site-footer > form {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  justify-self: stretch !important;
}

@media (max-width: 760px) {
  body[data-page="home"] .home-category-section .category-grid.home-category-grid-runtime-v52[data-live-categories],
  body[data-page="home"] .home-category-section .category-grid.home-category-grid-clean[data-live-categories],
  body[data-page="home"] .category-grid.home-category-grid-runtime-v52[data-live-categories] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  body[data-page="home"] .category-grid.home-category-grid-runtime-v52[data-live-categories] > a,
  body[data-page="home"] .category-grid.home-category-grid-clean[data-live-categories] > a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body[data-page="blog"] .site-footer,
  body[data-page="shop"] .toolbar.shop-filter-bar,
  body[data-page="shop"] .shop-filter-bar {
    width: min(100% - 24px, 540px) !important;
    max-width: calc(100vw - 24px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
/* ELVORA FIX END: Rest-Offscreen spezifisch beseitigen V108 */

/* ELVORA FIX START: Responsive Ursachen statt Offscreen-Symptome V109 */
body[data-page="home"] main > section.home-category-section-runtime-v52,
body[data-page="home"] main > section.home-category-section,
body[data-page="home"] main > section:has(.category-grid[data-live-categories]) {
  box-sizing: border-box !important;
  max-width: calc(100vw - 28px) !important;
  overflow: visible !important;
}

body[data-page="home"] .category-grid.home-category-grid-runtime-v52[data-live-categories],
body[data-page="home"] .category-grid.home-category-grid-clean[data-live-categories],
body[data-page="home"] .category-grid[data-live-categories] {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)) !important;
}

body[data-page="home"] .category-grid[data-live-categories] > * {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body[data-page="shop"] form.toolbar.shop-filter-bar[data-shop-filters],
body[data-page="shop"] .toolbar.shop-filter-bar,
body[data-page="shop"] .shop-filter-bar {
  box-sizing: border-box !important;
  width: min(1180px, calc(100% - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(174px, 100%), 1fr)) !important;
  gap: 12px !important;
  overflow: visible !important;
}

body[data-page="shop"] form.toolbar.shop-filter-bar[data-shop-filters] > *,
body[data-page="shop"] .shop-filter-bar > *,
body[data-page="shop"] .shop-filter-bar label,
body[data-page="shop"] .shop-filter-bar label:has(select[name="sort"]),
body[data-page="shop"] .shop-filter-bar .check-row,
body[data-page="shop"] .shop-filter-bar .shop-filter-reset,
body[data-page="shop"] .shop-filter-bar [data-reset-shop-filters],
body[data-page="shop"] .shop-filter-bar button {
  box-sizing: border-box !important;
  grid-column: auto !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer,
body[data-page="blog"] .site-footer {
  box-sizing: border-box !important;
  width: min(1180px, calc(100% - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)) !important;
  gap: clamp(14px, 2.2vw, 26px) !important;
  overflow: visible !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > *,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer form,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer label,
body[data-page="blog"] .site-footer > *,
body[data-page="blog"] .site-footer form,
body[data-page="blog"] .site-footer label {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  transform: none !important;
}

@media (max-width: 760px) {
  body[data-page="home"] main > section.home-category-section-runtime-v52,
  body[data-page="home"] main > section.home-category-section,
  body[data-page="home"] main > section:has(.category-grid[data-live-categories]) {
    width: min(100% - 24px, 540px) !important;
    max-width: calc(100vw - 24px) !important;
  }

  body[data-page="home"] .category-grid.home-category-grid-runtime-v52[data-live-categories],
  body[data-page="home"] .category-grid.home-category-grid-clean[data-live-categories],
  body[data-page="home"] .category-grid[data-live-categories],
  body[data-page="shop"] form.toolbar.shop-filter-bar[data-shop-filters],
  body[data-page="shop"] .toolbar.shop-filter-bar,
  body[data-page="shop"] .shop-filter-bar,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer,
  body[data-page="blog"] .site-footer {
    width: min(100% - 24px, 540px) !important;
    max-width: calc(100vw - 24px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
/* ELVORA FIX END: Responsive Ursachen statt Offscreen-Symptome V109 */

/* ELVORA FIX START: Lesbare mobile Typografie und Buttons ohne Silbenbruch V110 */
body:not([data-page="admin"]):not([data-page^="admin-"]) :is(h1, h2, h3, .page-hero h1, .hero h1, .section-title, .product-card h2, .product-card h3),
body[data-page="admin"] :is(h1, h2, h3, .admin-page-title, .admin-card-title),
body[data-page^="admin-"] :is(h1, h2, h3, .admin-page-title, .admin-card-title) {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: manual !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) :is(button, .btn, .button, .primary-btn, .secondary-btn, .pill, .badge, .tag, .chip, .status-badge, .category-card-cta, .shop-filter-reset),
body[data-page="admin"] :is(button, .btn, .admin-edit-button, .admin-status, .badge, .tag, .chip, .tab, .admin-tab),
body[data-page^="admin-"] :is(button, .btn, .admin-edit-button, .admin-status, .badge, .tag, .chip, .tab, .admin-tab) {
  max-width: 100% !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: manual !important;
  line-height: 1.15 !important;
}

@media (max-width: 430px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) :is(.hero h1, .page-hero h1, .page-hero.compact h1) {
    font-size: clamp(1.72rem, 8.1vw, 2.28rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.026em !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) :is(.hero p, .page-hero p, .lead, .section-intro) {
    font-size: clamp(.94rem, 3.6vw, 1.04rem) !important;
    line-height: 1.45 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: manual !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) :is(button, .btn, .button, .primary-btn, .secondary-btn, .pill, .badge, .tag, .chip, .status-badge, .category-card-cta, .shop-filter-reset),
  body[data-page="admin"] :is(button, .btn, .admin-edit-button, .admin-status, .badge, .tag, .chip, .tab, .admin-tab),
  body[data-page^="admin-"] :is(button, .btn, .admin-edit-button, .admin-status, .badge, .tag, .chip, .tab, .admin-tab) {
    font-size: clamp(.72rem, 3.35vw, .92rem) !important;
    padding-inline: clamp(10px, 3.6vw, 16px) !important;
  }
}
/* ELVORA FIX END: Lesbare mobile Typografie und Buttons ohne Silbenbruch V110 */

/* ELVORA FIX START: Admin-Offcanvas einspaltig und lesbar V111 */
@media (max-width: 1399px) {
  body[data-page="admin"],
  body[data-page^="admin-"] {
    overflow-x: clip !important;
  }

  body[data-page="admin"].admin-nav-open,
  body[data-page^="admin-"].admin-nav-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(100%, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
  }

  body[data-page="admin"] .admin-shell > main,
  body[data-page^="admin-"] .admin-shell > main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    position: sticky !important;
    top: 8px !important;
    z-index: 1800 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar.is-open,
  body[data-page^="admin-"] .admin-sidebar.is-open {
    z-index: 4330 !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav,
  body[data-page^="admin-"] .admin-sidebar .admin-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    box-sizing: border-box !important;
    width: min(88vw, 380px) !important;
    max-width: min(88vw, 380px) !important;
    min-width: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    gap: 9px !important;
    padding: 88px 14px 30px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    transform: translateX(-110%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 1810 !important;
    border-radius: 0 28px 28px 0 !important;
    background: var(--elvora-admin-card, #211B2D) !important;
    box-shadow: 28px 0 80px rgba(0, 0, 0, .45) !important;
  }

  body[data-page="admin"] .admin-sidebar.is-open .admin-nav,
  body[data-page^="admin-"] .admin-sidebar.is-open .admin-nav {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav-group,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group,
  body[data-page="admin"] .admin-sidebar .admin-nav-group > div,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav-group > div,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div {
    gap: 7px !important;
    padding: 8px 0 4px !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav > a,
  body[data-page="admin"] .admin-sidebar .admin-nav-group summary,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group summary,
  body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    padding: 11px 13px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: manual !important;
    font-size: clamp(.78rem, 1.75vw, .94rem) !important;
    line-height: 1.16 !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a {
    padding-left: 18px !important;
    font-size: clamp(.74rem, 1.55vw, .88rem) !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav > a span:not(.admin-nav-icon),
  body[data-page^="admin-"] .admin-sidebar .admin-nav > a span:not(.admin-nav-icon),
  body[data-page="admin"] .admin-sidebar .admin-nav-group summary strong,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group summary strong,
  body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a span,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a span {
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: manual !important;
  }
}

@media (max-width: 520px) {
  body[data-page="admin"] .admin-sidebar .admin-nav,
  body[data-page^="admin-"] .admin-sidebar .admin-nav {
    width: min(92vw, 360px) !important;
    max-width: min(92vw, 360px) !important;
    padding-inline: 12px !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav > a,
  body[data-page="admin"] .admin-sidebar .admin-nav-group summary,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group summary {
    font-size: clamp(.78rem, 3.75vw, .9rem) !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav-group > div > a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav-group > div > a {
    font-size: clamp(.72rem, 3.35vw, .82rem) !important;
  }
}
/* ELVORA FIX END: Admin-Offcanvas einspaltig und lesbar V111 */

/* ELVORA FIX START: Footer und Newsletter mobil ohne seitlichen Versatz V112 */
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:not(.footer-brand),
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:nth-of-type(2),
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:nth-of-type(3),
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:nth-of-type(4),
body[data-page="blog"] .site-footer > div:not(.footer-brand),
body[data-page="blog"] .site-footer > div:nth-of-type(2),
body[data-page="blog"] .site-footer > div:nth-of-type(3),
body[data-page="blog"] .site-footer > div:nth-of-type(4) {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  transform: none !important;
}

body[data-page="home"] main > section.newsletter-band,
body[data-page="home"] .newsletter-band {
  box-sizing: border-box !important;
  width: min(1180px, calc(100% - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  margin-inline: auto !important;
  overflow: visible !important;
}

body[data-page="home"] .newsletter-band > *,
body[data-page="home"] .newsletter-band form,
body[data-page="home"] .newsletter-band label,
body[data-page="home"] .newsletter-band input,
body[data-page="home"] .newsletter-band button {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 760px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer,
  body[data-page="blog"] .site-footer {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div:not(.footer-brand),
  body[data-page="blog"] .site-footer > div:not(.footer-brand) {
    align-items: center !important;
    text-align: center !important;
  }

  body[data-page="home"] main > section.newsletter-band,
  body[data-page="home"] .newsletter-band {
    width: min(100% - 24px, 540px) !important;
    max-width: calc(100vw - 24px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
    gap: 16px !important;
    padding-inline: 16px !important;
  }

  body[data-page="home"] .newsletter-band > *,
  body[data-page="home"] .newsletter-band > div,
  body[data-page="home"] .newsletter-band form {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: auto !important;
    transform: none !important;
  }

  body[data-page="home"] .newsletter-band form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body[data-page="home"] .newsletter-band input,
  body[data-page="home"] .newsletter-band button,
  body[data-page="home"] .newsletter-band .btn {
    width: 100% !important;
  }
}
/* ELVORA FIX END: Footer und Newsletter mobil ohne seitlichen Versatz V112 */

/* ELVORA FIX START: Mobile Kundenbereich stabil laden und lesbar machen V114 */
body:not([data-page="admin"]):not([data-page^="admin-"]) {
  overflow-wrap: normal;
  word-break: normal;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) :is(.btn, button, .icon-link, .badge, .pill, .tag, .chip) {
  max-width: 100%;
  white-space: nowrap;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: manual !important;
}

body[data-page="home"] .hero-fallback {
  width: 100%;
  min-height: clamp(380px, 54vw, 620px);
  display: grid;
  align-items: center;
}

body[data-page="home"] .hero-fallback .hero-copy {
  width: min(680px, 100%);
}

body[data-page="home"] .hero-fallback .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

@media (max-width: 900px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header,
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header:not(.is-scrolled) {
    box-sizing: border-box !important;
    width: min(100% - 20px, 760px) !important;
    max-width: calc(100vw - 20px) !important;
    margin: 10px auto 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border-radius: 22px !important;
    overflow: visible !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand {
    grid-column: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 8px !important;
    position: relative !important;
    z-index: 3 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand * {
    opacity: 1 !important;
    visibility: visible !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    width: clamp(92px, 26vw, 132px) !important;
    height: clamp(56px, 14vw, 72px) !important;
    min-width: clamp(92px, 26vw, 132px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border-radius: 14px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img {
    width: 126% !important;
    max-width: none !important;
    height: 126% !important;
    max-height: 72px !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img.theme-logo-dark {
    display: none !important;
  }

  html[data-theme="dark"] body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img.theme-logo-light {
    display: block !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-fallback {
    display: none !important;
    position: static !important;
    inset: auto !important;
    align-self: center !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 74px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow: visible !important;
    color: #fff !important;
    font-family: var(--heading-font, "Montserrat", sans-serif) !important;
    font-size: 0 !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
    letter-spacing: .01em !important;
    text-shadow: 0 1px 10px rgba(255, 95, 162, .35) !important;
    white-space: normal !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-fallback::before {
    content: none;
    display: block !important;
    white-space: pre-line !important;
    font-size: clamp(.76rem, 2.7vw, .95rem) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header > .header-icons {
    grid-column: 2 !important;
    justify-self: end !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    position: relative !important;
    z-index: 3 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header > .header-icons .icon-link:not(.cart-count) {
    display: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header > .header-icons .cart-count {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    grid-column: 3 !important;
    justify-self: end !important;
    width: 56px !important;
    min-width: 56px !important;
    height: 56px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    text-indent: -999px !important;
    color: transparent !important;
    position: relative !important;
    z-index: 4 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.site-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(86vw, 360px) !important;
    max-width: min(86vw, 360px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: max(28px, env(safe-area-inset-top)) 16px 28px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 2500 !important;
  }

  body[data-page="home"] .hero,
  body[data-page="home"] .hero-fallback {
    min-height: auto !important;
  }

  body[data-page="home"] .hero {
    width: min(100% - 24px, 640px) !important;
    max-width: calc(100vw - 24px) !important;
    margin: 12px auto 0 !important;
    padding: clamp(26px, 7vw, 44px) clamp(16px, 5vw, 28px) !important;
  }

  body[data-page="home"] .hero-fallback .hero-copy,
  body[data-page="home"] .hero-composed .hero-copy {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    transform: none !important;
  }

  body[data-page="home"] .hero-main-logo {
    width: clamp(128px, 46vw, 188px) !important;
    max-width: 58vw !important;
    margin: 0 auto 10px !important;
  }

  body[data-page="home"] .hero-fallback h1,
  body[data-page="home"] .hero-composed h1 {
    font-size: clamp(2rem, 10vw, 3rem) !important;
    line-height: 1.04 !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    overflow-wrap: normal !important;
    hyphens: manual !important;
  }

  body[data-page="home"] .hero-fallback p,
  body[data-page="home"] .hero-composed p {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    font-size: clamp(1rem, 4.2vw, 1.18rem) !important;
    line-height: 1.45 !important;
  }

  body[data-page="home"] .hero-fallback .hero-actions {
    display: none !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
  }

  body[data-page="home"] .hero-fallback .hero-actions .btn {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: center !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .cookie-banner {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(34dvh, 240px) !important;
    padding: 14px !important;
    display: none !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    overflow: auto !important;
    border-radius: 18px !important;
    z-index: 3000 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .cookie-banner.is-visible {
    display: grid !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .cookie-banner p {
    font-size: clamp(.86rem, 3.6vw, .96rem) !important;
    line-height: 1.32 !important;
    margin: 3px 0 0 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .cookie-banner-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .cookie-banner .btn {
    width: 100% !important;
    min-height: 42px !important;
    justify-content: center !important;
  }
}

@media (max-width: 380px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header,
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header:not(.is-scrolled) {
    width: calc(100vw - 16px) !important;
    gap: 7px !important;
    padding-inline: 9px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    width: 92px !important;
    min-width: 92px !important;
    height: 54px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img {
    width: 112px !important;
    max-width: none !important;
    height: 70px !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header > .header-icons .cart-count {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
  }
}
/* ELVORA FIX END: Mobile Kundenbereich stabil laden und lesbar machen V114 */

/* ELVORA FIX START: Admin Mobile Kopfbereich nach Screenshot repariert V115 */
@media (max-width: 760px) {
  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    padding-inline: 10px !important;
    gap: 16px !important;
  }

  body[data-page="admin"] .admin-shell > main,
  body[data-page^="admin-"] .admin-shell > main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    width: 100% !important;
    max-width: 100% !important;
  }

  body[data-page="admin"] .admin-brand-row,
  body[data-page^="admin-"] .admin-brand-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 86px !important;
    padding: 12px 16px !important;
    border-radius: 24px !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-brand,
  body[data-page^="admin-"] .admin-sidebar .admin-brand,
  body[data-page="admin"] .admin-brand,
  body[data-page^="admin-"] .admin-brand {
    width: 132px !important;
    height: 68px !important;
    min-width: 132px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    pointer-events: auto !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-brand img,
  body[data-page^="admin-"] .admin-sidebar .admin-brand img,
  body[data-page="admin"] .admin-brand img,
  body[data-page^="admin-"] .admin-brand img {
    width: 178px !important;
    max-width: none !important;
    min-width: 178px !important;
    height: 128px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    opacity: 1 !important;
    transform: scale(1.04) !important;
    transform-origin: center !important;
  }

  body[data-page="admin"] .admin-menu-toggle,
  body[data-page^="admin-"] .admin-menu-toggle {
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    border-radius: 999px !important;
    position: relative !important;
    z-index: 8 !important;
  }

  body[data-page="admin"] .admin-top,
  body[data-page^="admin-"] .admin-top {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 18px 16px !important;
    border-radius: 24px !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-top-user,
  body[data-page^="admin-"] .admin-top-user {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-right: 70px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 4px !important;
    text-align: left !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-top-user .eyebrow,
  body[data-page^="admin-"] .admin-top-user .eyebrow {
    margin: 0 !important;
    font-size: clamp(.68rem, 3vw, .78rem) !important;
    line-height: 1.2 !important;
    letter-spacing: .12em !important;
    white-space: nowrap !important;
    color: var(--elvora-admin-muted, #CFC6DC) !important;
  }

  body[data-page="admin"] .admin-top-user h1,
  body[data-page^="admin-"] .admin-top-user h1 {
    margin: 0 !important;
    max-width: 100% !important;
    font-size: clamp(1.55rem, 8.4vw, 2.25rem) !important;
    line-height: 1.02 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
    color: #fff !important;
  }

  body[data-page="admin"] .admin-top-user p:not(.eyebrow),
  body[data-page^="admin-"] .admin-top-user p:not(.eyebrow) {
    margin: 0 !important;
    font-size: clamp(.94rem, 4vw, 1.08rem) !important;
    line-height: 1.2 !important;
    color: var(--elvora-admin-muted, #CFC6DC) !important;
  }

  body[data-page="admin"] .admin-top-actions,
  body[data-page^="admin-"] .admin-top-actions {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
    justify-content: stretch !important;
  }

  body[data-page="admin"] .admin-top-actions > :is(.btn, button, a),
  body[data-page^="admin-"] .admin-top-actions > :is(.btn, button, a) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 16px !important;
    white-space: nowrap !important;
    text-align: center !important;
    font-size: clamp(.86rem, 3.8vw, .98rem) !important;
    line-height: 1 !important;
  }

  body[data-page="admin"] .admin-top-actions .admin-notification-widget,
  body[data-page^="admin-"] .admin-top-actions .admin-notification-widget,
  body[data-page="admin"] .admin-top > .admin-notification-widget,
  body[data-page^="admin-"] .admin-top > .admin-notification-widget {
    position: absolute !important;
    top: 18px !important;
    right: 16px !important;
    width: 52px !important;
    height: 52px !important;
    z-index: 12 !important;
    margin: 0 !important;
  }

  body[data-page="admin"] .admin-notification-bell,
  body[data-page^="admin-"] .admin-notification-bell {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
  }

  body[data-page="admin"] .admin-notification-count,
  body[data-page^="admin-"] .admin-notification-count {
    top: -8px !important;
    right: -8px !important;
    min-width: 24px !important;
    height: 24px !important;
    line-height: 24px !important;
    font-size: .75rem !important;
  }

  body[data-page="admin"] .admin-dashboard-hero,
  body[data-page^="admin-"] .admin-dashboard-hero {
    margin-top: 4px !important;
    padding: 24px 18px !important;
    border-radius: 24px !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-dashboard-hero h1,
  body[data-page^="admin-"] .admin-dashboard-hero h1 {
    font-size: clamp(2rem, 9.6vw, 2.55rem) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    hyphens: manual !important;
  }

  body[data-page="admin"] .admin-dashboard-hero p,
  body[data-page^="admin-"] .admin-dashboard-hero p {
    font-size: clamp(.98rem, 4.2vw, 1.08rem) !important;
    line-height: 1.45 !important;
    overflow-wrap: normal !important;
    hyphens: manual !important;
  }
}

@media (min-width: 761px) and (max-width: 1399px) {
  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    width: 100% !important;
  }

  body[data-page="admin"] .admin-brand-row,
  body[data-page^="admin-"] .admin-brand-row {
    min-height: 74px !important;
    padding: 12px 18px !important;
  }
}
/* ELVORA FIX END: Admin Mobile Kopfbereich nach Screenshot repariert V115 */

/* ELVORA FIX START: Kundenbereich Mobile/Tablet Offscreen repariert V116 */
html,
body {
  max-width: 100% !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
  contain: inline-size !important;
  background-size: cover !important;
  background-position: center top !important;
  background-attachment: scroll !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) main,
body:not([data-page="admin"]):not([data-page^="admin-"]) section,
body:not([data-page="admin"]):not([data-page^="admin-"]) .section,
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero,
body:not([data-page="admin"]):not([data-page^="admin-"]) .hero,
body:not([data-page="admin"]):not([data-page^="admin-"]) .product-grid,
body:not([data-page="admin"]):not([data-page^="admin-"]) .category-grid,
body:not([data-page="admin"]):not([data-page^="admin-"]) .community-grid,
body:not([data-page="admin"]):not([data-page^="admin-"]) .newsletter-band,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) :is(h1, h2, h3, p, a, span, strong, small, label, button, .btn, .badge, .pill, .tag, .chip) {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: manual !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) :is(button, .btn, .button, .primary-btn, .secondary-btn, .category-card-cta, .shop-filter-reset, .badge, .pill, .tag, .chip) {
  max-width: 100% !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  line-height: 1.12 !important;
}

@media (max-width: 1180px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header,
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header:not(.is-scrolled) {
    width: min(100% - 20px, 780px) !important;
    max-width: calc(100vw - 20px) !important;
    margin: 10px auto 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    overflow: visible !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand {
    grid-column: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    position: relative !important;
    z-index: 2701 !important;
    pointer-events: auto !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    width: clamp(100px, 22vw, 150px) !important;
    min-width: clamp(100px, 22vw, 150px) !important;
    height: clamp(56px, 10vw, 74px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img {
    width: 118% !important;
    max-width: none !important;
    height: 118% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header > .header-icons {
    grid-column: 2 !important;
    justify-self: end !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    position: relative !important;
    z-index: 2701 !important;
    pointer-events: auto !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header > .header-icons .icon-link:not(.cart-count) {
    display: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    grid-column: 3 !important;
    display: inline-grid !important;
    place-items: center !important;
    justify-self: end !important;
    width: 56px !important;
    min-width: 56px !important;
    height: 56px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    text-indent: -999px !important;
    color: transparent !important;
    position: relative !important;
    z-index: 2702 !important;
    pointer-events: auto !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::after {
    content: "" !important;
    position: absolute !important;
    left: 17px !important;
    right: 17px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 9px 0 #ffffff !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::before {
    top: 20px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle::after {
    top: 29px !important;
    box-shadow: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.site-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    box-sizing: border-box !important;
    width: min(86vw, 360px) !important;
    max-width: min(86vw, 360px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    gap: 10px !important;
    padding: max(26px, env(safe-area-inset-top)) 16px 28px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    transform: translateX(-110%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 2700 !important;
    border-radius: 0 28px 28px 0 !important;
    border-right: 1px solid rgba(255, 137, 196, .34) !important;
    background:
      radial-gradient(circle at 20% 0%, rgba(255, 95, 162, .18), transparent 34%),
      linear-gradient(180deg, rgba(48, 38, 63, .99), rgba(33, 27, 45, .99)) !important;
    color: #ffffff !important;
    box-shadow: 28px 0 72px rgba(0, 0, 0, .46) !important;
  }

  html[data-theme="light"] body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.site-nav {
    background:
      radial-gradient(circle at 20% 0%, rgba(255, 95, 162, .16), transparent 34%),
      linear-gradient(180deg, rgba(255, 250, 255, .99), rgba(248, 238, 247, .99)) !important;
    color: #352437 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.site-nav.is-open {
    display: grid !important;
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.site-nav a {
    width: 100% !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    color: #ffffff !important;
    background: rgba(255, 255, 255, .07) !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    font-size: clamp(.92rem, 2.4vw, 1rem) !important;
    font-weight: 900 !important;
    white-space: normal !important;
    line-height: 1.18 !important;
    text-decoration: none !important;
    pointer-events: auto !important;
  }

  html[data-theme="light"] body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.site-nav a {
    color: #352437 !important;
    background: rgba(255, 255, 255, .72) !important;
    border-color: rgba(232, 92, 154, .22) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.site-nav a:is(:hover, :focus-visible, .is-active),
  body[data-page="home"] #site-nav.site-nav a[data-nav="home"],
  body[data-page="shop"] #site-nav.site-nav a[data-nav="shop"],
  body[data-page="personalize"] #site-nav.site-nav a[data-nav="personalize"],
  body[data-page="finder"] #site-nav.site-nav a[data-nav="finder"],
  body[data-page="blog"] #site-nav.site-nav a[data-nav="blog"],
  body[data-page="about"] #site-nav.site-nav a[data-nav="about"],
  body[data-page="contact"] #site-nav.site-nav a[data-nav="contact"] {
    color: #ffffff !important;
    background: linear-gradient(135deg, rgba(255, 95, 162, .95), rgba(217, 79, 146, .88)) !important;
    border-color: rgba(255, 255, 255, .22) !important;
  }

  body.mobile-nav-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.mobile-nav-open::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 2600 !important;
    background: rgba(11, 9, 18, .54) !important;
    backdrop-filter: blur(5px) !important;
  }
}

@media (max-width: 760px) {
  body[data-page="home"] .hero,
  body[data-page="home"] .hero-fallback,
  body[data-page="home"] .hero-composed {
    box-sizing: border-box !important;
    width: min(100% - 24px, 640px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-inline: auto !important;
    overflow: hidden !important;
  }

  body[data-page="home"] .hero h1,
  body[data-page="home"] .hero-fallback h1,
  body[data-page="home"] .hero-composed h1 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(1.84rem, 8.7vw, 2.7rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body[data-page="home"] .hero p,
  body[data-page="home"] .hero-fallback p,
  body[data-page="home"] .hero-composed p {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(.96rem, 4vw, 1.08rem) !important;
    line-height: 1.42 !important;
    text-align: center !important;
  }

  body[data-page="home"] main > section.home-category-section,
  body[data-page="home"] main > section.home-category-section-runtime-v52,
  body[data-page="home"] main > section:has(.category-grid[data-live-categories]),
  body[data-page="home"] main > section.home-community-section,
  body[data-page="home"] main > section.newsletter-band,
  body[data-page="home"] .newsletter-band {
    box-sizing: border-box !important;
    width: min(100% - 24px, 540px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-inline: auto !important;
    overflow: visible !important;
    transform: none !important;
  }

  body[data-page="home"] .category-grid[data-live-categories],
  body[data-page="home"] .home-category-section .category-grid[data-live-categories],
  body[data-page="home"] .home-category-grid-runtime-v52[data-live-categories],
  body[data-page="home"] .community-grid {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  body[data-page="home"] .category-grid[data-live-categories] > *,
  body[data-page="home"] .community-grid > * {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    transform: none !important;
  }

  body[data-page="home"] .category-grid[data-live-categories] > a {
    min-height: 0 !important;
    padding: 22px 18px !important;
    border-radius: 26px !important;
  }

  body[data-page="home"] .category-grid[data-live-categories] :is(strong, small, .category-card-cta),
  body[data-page="home"] .community-grid :is(strong, p, a, .btn) {
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body[data-page="home"] main > section.newsletter-band,
  body[data-page="home"] .newsletter-band {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
    gap: 16px !important;
    padding: 20px 16px !important;
    margin-block: 28px 42px !important;
    border-radius: 28px !important;
    background: rgba(24, 19, 33, .66) !important;
    border: 1px solid rgba(255, 137, 196, .24) !important;
  }

  body[data-page="home"] .newsletter-band > *,
  body[data-page="home"] .newsletter-band > div,
  body[data-page="home"] .newsletter-band form,
  body[data-page="home"] .newsletter-band label,
  body[data-page="home"] .newsletter-band input,
  body[data-page="home"] .newsletter-band button {
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
  }

  body[data-page="home"] .newsletter-band > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    text-align: center !important;
    gap: 10px !important;
  }

  body[data-page="home"] .newsletter-band > div > span {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    margin: 0 auto !important;
    font-size: 2rem !important;
  }

  body[data-page="home"] .newsletter-band h2 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(1.5rem, 7.1vw, 2.1rem) !important;
    line-height: 1.08 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body[data-page="home"] .newsletter-band p {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(.96rem, 4.1vw, 1.08rem) !important;
    line-height: 1.42 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body[data-page="home"] .newsletter-band form[data-newsletter],
  body[data-page="home"] .newsletter-band form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "email"
      "privacy"
      "button"
      "note" !important;
    gap: 12px !important;
    padding: 0 !important;
  }

  body[data-page="home"] .newsletter-band form input[type="email"] {
    grid-area: email !important;
    min-height: 50px !important;
    padding: 0 16px !important;
    font-size: clamp(.9rem, 3.9vw, 1rem) !important;
  }

  body[data-page="home"] .newsletter-band form .check-row {
    grid-area: privacy !important;
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    align-items: start !important;
    justify-content: start !important;
    gap: 10px !important;
    text-align: left !important;
    font-size: clamp(.82rem, 3.6vw, .94rem) !important;
    line-height: 1.35 !important;
  }

  body[data-page="home"] .newsletter-band form .check-row input {
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
  }

  body[data-page="home"] .newsletter-band form button,
  body[data-page="home"] .newsletter-band form .btn {
    grid-area: button !important;
    min-height: 50px !important;
    width: 100% !important;
    justify-content: center !important;
    font-size: clamp(.9rem, 3.7vw, 1rem) !important;
  }

  body[data-page="home"] .newsletter-band form .form-note {
    grid-area: note !important;
    text-align: center !important;
  }

  body[data-page="home"] .newsletter-band > strong {
    display: none !important;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  body[data-page="home"] main > section.home-category-section,
  body[data-page="home"] main > section.home-category-section-runtime-v52,
  body[data-page="home"] main > section:has(.category-grid[data-live-categories]),
  body[data-page="home"] main > section.home-community-section,
  body[data-page="home"] main > section.newsletter-band,
  body[data-page="home"] .newsletter-band {
    width: min(100% - 44px, 980px) !important;
    max-width: calc(100vw - 44px) !important;
    margin-inline: auto !important;
  }

  body[data-page="home"] .category-grid[data-live-categories],
  body[data-page="home"] .community-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="home"] main > section.newsletter-band,
  body[data-page="home"] .newsletter-band {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 24px 22px !important;
    border-radius: 30px !important;
  }

  body[data-page="home"] .newsletter-band > *,
  body[data-page="home"] .newsletter-band > div,
  body[data-page="home"] .newsletter-band form {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
  }

  body[data-page="home"] .newsletter-band > strong {
    display: none !important;
  }
}
/* ELVORA FIX END: Kundenbereich Mobile/Tablet Offscreen repariert V116 */

/* ELVORA FIX START: Kunden-Topstreifen ohne versteckte Überbreite V117 (V148: Breiten-Override auf Mobile beschraenkt, Desktop-Laufband wiederhergestellt) */
body:not([data-page="admin"]):not([data-page^="admin-"]) .top-strip {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100vw !important;
  overflow: hidden !important;
}

@media (max-width: 1180px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .top-strip {
    min-height: 30px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .top-strip-track {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    padding-inline: 12px !important;
    white-space: nowrap !important;
    transform: none !important;
    overflow: hidden !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .top-strip-track > span {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .top-strip-track > span:not(:first-child) {
    display: none !important;
  }
}
/* ELVORA FIX END: Kunden-Topstreifen ohne versteckte Überbreite V117 */

/* ELVORA FIX START: Versteckte Offcanvas-Elemente ohne Body-Überbreite V118 */
body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-drawer:not(.is-open):not([open]) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-drawer.is-open,
body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-drawer[open] {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  right: 0 !important;
  left: auto !important;
  max-width: min(100vw, 420px) !important;
}
/* ELVORA FIX END: Versteckte Offcanvas-Elemente ohne Body-Überbreite V118 */

/* ELVORA FIX START: Blog Footer mobile/tablet ohne Mini-Spalten V121 */
@media (max-width: 1180px) {
  body[data-page="blog"] .site-footer {
    box-sizing: border-box !important;
    width: min(100% - 24px, 980px) !important;
    max-width: calc(100vw - 24px) !important;
    margin: 28px auto 0 !important;
    padding: 22px 0 18px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    justify-items: stretch !important;
    align-items: start !important;
    overflow: visible !important;
  }

  body[data-page="blog"] .site-footer > *,
  body[data-page="blog"] .site-footer > .footer-brand,
  body[data-page="blog"] .site-footer > div,
  body[data-page="blog"] .site-footer > form.newsletter-form,
  body[data-page="blog"] .site-footer > form[data-newsletter] {
    box-sizing: border-box !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    display: grid !important;
    justify-items: start !important;
    align-content: start !important;
    gap: 8px !important;
    text-align: left !important;
    overflow: visible !important;
  }

  body[data-page="blog"] .site-footer a,
  body[data-page="blog"] .site-footer p,
  body[data-page="blog"] .site-footer h2,
  body[data-page="blog"] .site-footer label {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
  }

  body[data-page="blog"] .site-footer .newsletter-inline {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
  }

  body[data-page="blog"] .payment-strip {
    width: min(100% - 24px, 980px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-inline: auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 12px !important;
    overflow: visible !important;
  }
}

@media (max-width: 760px) {
  body[data-page="blog"] .site-footer {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
    text-align: center !important;
  }

  body[data-page="blog"] .site-footer > *,
  body[data-page="blog"] .site-footer > .footer-brand,
  body[data-page="blog"] .site-footer > div,
  body[data-page="blog"] .site-footer > form.newsletter-form,
  body[data-page="blog"] .site-footer > form[data-newsletter] {
    justify-items: center !important;
    text-align: center !important;
  }

  body[data-page="blog"] .site-footer .footer-brand .socials {
    display: none !important;
  }

  body[data-page="blog"] .site-footer .newsletter-form .check-row {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    align-items: start !important;
    text-align: left !important;
  }
}
/* ELVORA FIX END: Blog Footer mobile/tablet ohne Mini-Spalten V121 */

/* ELVORA FIX START: Blog Footer Desktop ohne gequetschte Newsletter-Spalte V122 */
@media (min-width: 1181px) {
  body[data-page="blog"] .site-footer {
    box-sizing: border-box !important;
    max-width: min(1500px, var(--elvora-customer-content-width, calc(100vw - 90px))) !important;
    overflow: visible !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px 34px !important;
  }

  body[data-page="blog"] .site-footer > *,
  body[data-page="blog"] .site-footer > .footer-brand,
  body[data-page="blog"] .site-footer > div,
  body[data-page="blog"] .site-footer > form.newsletter-form,
  body[data-page="blog"] .site-footer > form[data-newsletter] {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    grid-row: auto !important;
  }

  body[data-page="blog"] .site-footer > form.newsletter-form,
  body[data-page="blog"] .site-footer > form[data-newsletter] {
    grid-column: 1 / -1 !important;
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    justify-self: start !important;
  }

  body[data-page="blog"] .site-footer .newsletter-form .check-row {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 9px !important;
    max-width: 100% !important;
  }

  body[data-page="blog"] .site-footer a,
  body[data-page="blog"] .site-footer p,
  body[data-page="blog"] .site-footer h2,
  body[data-page="blog"] .site-footer label {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
  }
}
/* ELVORA FIX END: Blog Footer Desktop ohne gequetschte Newsletter-Spalte V122 */

/* ELVORA FIX START: Admin + Header + Hintergrund Stabilisierung V123 */

/* Hintergrund niemals auf 100vw/100vh verzerren */
html[data-theme="light"] body,
html[data-theme="dark"] body,
html[data-theme="light"] body[data-page="admin"],
html[data-theme="dark"] body[data-page="admin"],
html[data-theme="light"] body[data-page^="admin-"],
html[data-theme="dark"] body[data-page^="admin-"] {
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center top !important;
  background-attachment: fixed !important;
}

@media (max-width: 1180px) {
  html[data-theme="light"] body,
  html[data-theme="dark"] body,
  html[data-theme="light"] body[data-page="admin"],
  html[data-theme="dark"] body[data-page="admin"],
  html[data-theme="light"] body[data-page^="admin-"],
  html[data-theme="dark"] body[data-page^="admin-"] {
    background-size: cover !important;
    background-position: center top !important;
    background-attachment: scroll !important;
  }
}

/* Kundenheader: oben immer bedienbar, Logo größer, keine Overlay-Blockade */
body:not([data-page="admin"]):not([data-page^="admin-"]) .top-strip {
  position: relative !important;
  z-index: 4998 !important;
  pointer-events: auto !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) header.site-header,
body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 5000 !important;
  pointer-events: auto !important;
  isolation: isolate !important;
  overflow: visible !important;
  width: min(100% - 40px, 1500px) !important;
  max-width: calc(100vw - 40px) !important;
  min-height: 96px !important;
  padding: 14px 18px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(18px, 2vw, 34px) !important;
  border-radius: 0 0 28px 28px !important;
  background:
    linear-gradient(135deg, rgba(22, 18, 34, .82), rgba(22, 18, 34, .62)) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand {
  grid-column: 1 !important;
  position: relative !important;
  z-index: 5003 !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  min-width: 0 !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
  width: clamp(118px, 9vw, 168px) !important;
  min-width: clamp(118px, 9vw, 168px) !important;
  height: clamp(66px, 5.3vw, 92px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  border-radius: 0 !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
}

@media (min-width: 1181px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.site-nav {
    grid-column: 2 !important;
    position: static !important;
    z-index: 5002 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(18px, 2.1vw, 36px) !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.site-nav a {
    position: relative !important;
    z-index: 5004 !important;
    pointer-events: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 8px 2px !important;
    border: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: clamp(1rem, 1.06vw, 1.2rem) !important;
    font-weight: 950 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header > .header-icons {
    grid-column: 3 !important;
    position: relative !important;
    z-index: 5003 !important;
    pointer-events: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: max-content !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header > .header-icons .icon-link {
    pointer-events: auto !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    display: none !important;
  }
}

@media (max-width: 1180px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) header.site-header,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
    width: min(100% - 20px, 900px) !important;
    max-width: calc(100vw - 20px) !important;
    min-height: 88px !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    border-radius: 24px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    width: clamp(112px, 22vw, 156px) !important;
    min-width: clamp(112px, 22vw, 156px) !important;
    height: clamp(62px, 10vw, 86px) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header > .header-icons {
    grid-column: 2 !important;
    justify-self: end !important;
    z-index: 5003 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    grid-column: 3 !important;
    z-index: 5004 !important;
  }
}

/* Login-/Kundenbanner kompakt, nicht als riesiger kaputter Balken */
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero,
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero.compact {
  box-sizing: border-box !important;
  width: min(100% - 48px, 1180px) !important;
  max-width: calc(100vw - 48px) !important;
  margin: 34px auto 26px !important;
  padding: clamp(26px, 4vw, 54px) clamp(22px, 4vw, 56px) !important;
  min-height: 0 !important;
  border-radius: 30px !important;
  border: 1px solid rgba(255, 137, 196, .22) !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 95, 162, .14), transparent 34%),
    linear-gradient(135deg, rgba(42, 35, 56, .84), rgba(33, 27, 45, .72)) !important;
  box-shadow: 0 28px 70px rgba(11, 8, 18, .22) !important;
  overflow: hidden !important;
  position: relative !important;
  z-index: 1 !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero h1,
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero.compact h1 {
  max-width: 100% !important;
  font-size: clamp(2.3rem, 5vw, 4.4rem) !important;
  line-height: 1.02 !important;
  white-space: normal !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero p:not(.eyebrow) {
  max-width: min(100%, 980px) !important;
  font-size: clamp(1rem, 1.45vw, 1.25rem) !important;
  line-height: 1.45 !important;
}

@media (max-width: 760px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero.compact {
    width: min(100% - 24px, 560px) !important;
    max-width: calc(100vw - 24px) !important;
    margin: 18px auto 22px !important;
    padding: 24px 18px !important;
    border-radius: 24px !important;
  }
}

/* Adminbereich: Desktop sauber, Tablet/Handy echtes Offcanvas-Menü */
body[data-page="admin"],
body[data-page^="admin-"] {
  overflow-x: clip !important;
}

body[data-page="admin"] .admin-shell,
body[data-page^="admin-"] .admin-shell {
  box-sizing: border-box !important;
  width: min(100% - 36px, 1540px) !important;
  max-width: calc(100vw - 36px) !important;
  margin: 24px auto !important;
  gap: 22px !important;
  align-items: start !important;
}

@media (min-width: 1400px) {
  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    display: grid !important;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr) !important;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    position: sticky !important;
    top: 18px !important;
    z-index: 1200 !important;
    width: 100% !important;
    max-width: 320px !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav,
  body[data-page^="admin-"] .admin-sidebar .admin-nav {
    position: static !important;
    display: grid !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-page="admin"] .admin-menu-toggle,
  body[data-page^="admin-"] .admin-menu-toggle {
    display: none !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-brand,
  body[data-page^="admin-"] .admin-sidebar .admin-brand {
    width: 190px !important;
    min-width: 190px !important;
    height: 98px !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-brand img,
  body[data-page^="admin-"] .admin-sidebar .admin-brand img {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    object-fit: contain !important;
    transform: none !important;
  }
}

@media (max-width: 1399px) {
  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(100% - 20px, 1100px) !important;
    max-width: calc(100vw - 20px) !important;
    margin: 12px auto 28px !important;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    position: sticky !important;
    top: 8px !important;
    z-index: 4100 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    background: rgba(33, 27, 45, .78) !important;
    border: 1px solid rgba(255, 137, 196, .18) !important;
    border-radius: 26px !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }

  body[data-page="admin"] .admin-brand-row,
  body[data-page^="admin-"] .admin-brand-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    min-height: 88px !important;
    padding: 12px 16px !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-brand,
  body[data-page^="admin-"] .admin-sidebar .admin-brand {
    width: clamp(132px, 22vw, 180px) !important;
    min-width: clamp(132px, 22vw, 180px) !important;
    height: clamp(70px, 10vw, 92px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-brand img,
  body[data-page^="admin-"] .admin-sidebar .admin-brand img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
  }

  body[data-page="admin"] .admin-menu-toggle,
  body[data-page^="admin-"] .admin-menu-toggle {
    display: inline-grid !important;
    place-items: center !important;
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    border-radius: 999px !important;
    z-index: 4300 !important;
    pointer-events: auto !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav,
  body[data-page^="admin-"] .admin-sidebar .admin-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    box-sizing: border-box !important;
    width: min(88vw, 370px) !important;
    max-width: min(88vw, 370px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    display: none !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    gap: 9px !important;
    padding: max(88px, env(safe-area-inset-top)) 14px 28px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    transform: translateX(-110%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 6200 !important;
    border-radius: 0 30px 30px 0 !important;
    border-right: 1px solid rgba(255, 137, 196, .30) !important;
    background:
      radial-gradient(circle at 20% 0%, rgba(255, 95, 162, .16), transparent 34%),
      linear-gradient(180deg, rgba(42, 35, 56, .99), rgba(23, 20, 33, .99)) !important;
    box-shadow: 28px 0 80px rgba(0, 0, 0, .48) !important;
  }

  body[data-page="admin"] .admin-sidebar.is-open .admin-nav,
  body[data-page^="admin-"] .admin-sidebar.is-open .admin-nav {
    display: grid !important;
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body[data-page="admin"].admin-nav-open::before,
  body[data-page^="admin-"].admin-nav-open::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 4150 !important;
    background: rgba(11, 8, 18, .56) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-nav a,
  body[data-page^="admin-"] .admin-sidebar .admin-nav a,
  body[data-page="admin"] .admin-sidebar .admin-store-link,
  body[data-page^="admin-"] .admin-sidebar .admin-store-link {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 11px 13px !important;
    border-radius: 16px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .055) !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    font-size: clamp(.84rem, 2.4vw, .96rem) !important;
    font-weight: 850 !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    pointer-events: auto !important;
  }

  body[data-page="admin"] .admin-shell > main,
  body[data-page^="admin-"] .admin-shell > main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 760px) {
  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    width: min(100% - 16px, 560px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  body[data-page="admin"] .admin-top,
  body[data-page^="admin-"] .admin-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 18px 16px !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-top-actions,
  body[data-page^="admin-"] .admin-top-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body[data-page="admin"] .admin-top-actions > *,
  body[data-page^="admin-"] .admin-top-actions > * {
    width: 100% !important;
  }
}

/* ELVORA FIX END: Admin + Header + Hintergrund Stabilisierung V123 */

/* ELVORA FIX START: Admin Mobile-Menü Lesbarkeit V124 */
@media (max-width: 1399px) {
  body[data-page="admin"] .admin-nav .admin-nav-group > div a,
  body[data-page^="admin-"] .admin-nav .admin-nav-group > div a {
    font-size: clamp(0.9rem, 3.05vw, 1rem) !important;
    line-height: 1.18 !important;
    min-height: 42px !important;
    padding: 0.66rem 0.76rem !important;
    letter-spacing: -0.01em !important;
  }

  body[data-page="admin"] .admin-nav > a,
  body[data-page^="admin-"] .admin-nav > a,
  body[data-page="admin"] .admin-nav summary,
  body[data-page^="admin-"] .admin-nav summary {
    font-size: clamp(0.98rem, 3.6vw, 1.12rem) !important;
    line-height: 1.14 !important;
  }
}
/* ELVORA FIX END: Admin Mobile-Menü Lesbarkeit V124 */

/* ELVORA FIX START: Admin Untermenüs sauber öffnen/schließen V125 */
body[data-page="admin"] .admin-nav .admin-nav-group:not([open]) > div,
body[data-page^="admin-"] .admin-nav .admin-nav-group:not([open]) > div {
  display: none !important;
}

body[data-page="admin"] .admin-nav .admin-nav-group[open] > div,
body[data-page^="admin-"] .admin-nav .admin-nav-group[open] > div {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0.42rem !important;
  width: 100% !important;
  min-width: 0 !important;
}

body[data-page="admin"] .admin-nav a,
body[data-page^="admin-"] .admin-nav a,
body[data-page="admin"] .admin-nav summary,
body[data-page^="admin-"] .admin-nav summary {
  max-width: 100% !important;
  overflow: hidden !important;
}

body[data-page="admin"] .admin-nav a span,
body[data-page^="admin-"] .admin-nav a span,
body[data-page="admin"] .admin-nav summary strong,
body[data-page^="admin-"] .admin-nav summary strong {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
/* ELVORA FIX END: Admin Untermenüs sauber öffnen/schließen V125 */

/* ELVORA FIX START: Admin Mobile Header/Menu präzise linksbündig V127 */
@media (max-width: 760px) {
  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    min-height: 76px !important;
    height: 76px !important;
    padding: 10px 14px !important;
    align-items: center !important;
  }

  body[data-page="admin"] .admin-brand,
  body[data-page^="admin-"] .admin-brand {
    min-width: 0 !important;
    width: auto !important;
    max-width: 172px !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  body[data-page="admin"] .admin-logo,
  body[data-page^="admin-"] .admin-logo,
  body[data-page="admin"] .admin-brand img,
  body[data-page^="admin-"] .admin-brand img {
    width: 128px !important;
    max-width: 128px !important;
    height: 50px !important;
    max-height: 50px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body[data-page="admin"] .admin-menu-toggle,
  body[data-page^="admin-"] .admin-menu-toggle {
    position: relative !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    border-radius: 50% !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background: rgba(28, 23, 39, .9) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .26) !important;
    overflow: hidden !important;
  }

  body[data-page="admin"] .admin-menu-toggle::before,
  body[data-page="admin"] .admin-menu-toggle::after,
  body[data-page^="admin-"] .admin-menu-toggle::before,
  body[data-page^="admin-"] .admin-menu-toggle::after,
  body[data-page="admin"] .admin-menu-toggle span,
  body[data-page^="admin-"] .admin-menu-toggle span {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: block !important;
    width: 24px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: #fff !important;
    transform-origin: center !important;
    opacity: 1 !important;
    box-shadow: none !important;
  }

  body[data-page="admin"] .admin-menu-toggle::before,
  body[data-page^="admin-"] .admin-menu-toggle::before {
    transform: translate(-50%, -10px) !important;
  }

  body[data-page="admin"] .admin-menu-toggle span,
  body[data-page^="admin-"] .admin-menu-toggle span {
    transform: translate(-50%, -50%) !important;
  }

  body[data-page="admin"] .admin-menu-toggle::after,
  body[data-page^="admin-"] .admin-menu-toggle::after {
    transform: translate(-50%, 7px) !important;
  }

  body.admin-nav-open[data-page="admin"] .admin-menu-toggle::before,
  body.admin-nav-open[data-page^="admin-"] .admin-menu-toggle::before,
  body[data-page="admin"] .admin-sidebar.is-open .admin-menu-toggle::before,
  body[data-page^="admin-"] .admin-sidebar.is-open .admin-menu-toggle::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  body.admin-nav-open[data-page="admin"] .admin-menu-toggle span,
  body.admin-nav-open[data-page^="admin-"] .admin-menu-toggle span,
  body[data-page="admin"] .admin-sidebar.is-open .admin-menu-toggle span,
  body[data-page^="admin-"] .admin-sidebar.is-open .admin-menu-toggle span {
    opacity: 0 !important;
  }

  body.admin-nav-open[data-page="admin"] .admin-menu-toggle::after,
  body.admin-nav-open[data-page^="admin-"] .admin-menu-toggle::after,
  body[data-page="admin"] .admin-sidebar.is-open .admin-menu-toggle::after,
  body[data-page^="admin-"] .admin-sidebar.is-open .admin-menu-toggle::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }

  body[data-page="admin"] .admin-nav,
  body[data-page^="admin-"] .admin-nav {
    padding: 96px 18px 26px !important;
    text-align: left !important;
  }

  body[data-page="admin"] .admin-nav > a,
  body[data-page^="admin-"] .admin-nav > a,
  body[data-page="admin"] .admin-nav summary,
  body[data-page^="admin-"] .admin-nav summary {
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) 18px !important;
    justify-items: start !important;
    justify-content: stretch !important;
    align-items: center !important;
    text-align: left !important;
    gap: 12px !important;
    padding: 0.88rem 1rem !important;
    width: 100% !important;
  }

  body[data-page="admin"] .admin-nav > a span:not(.admin-nav-icon),
  body[data-page^="admin-"] .admin-nav > a span:not(.admin-nav-icon),
  body[data-page="admin"] .admin-nav summary strong,
  body[data-page^="admin-"] .admin-nav summary strong {
    justify-self: start !important;
    text-align: left !important;
    width: 100% !important;
  }

  body[data-page="admin"] .admin-nav .admin-nav-group[open] > div,
  body[data-page^="admin-"] .admin-nav .admin-nav-group[open] > div {
    padding: 0.42rem 0 0.58rem 0 !important;
  }

  body[data-page="admin"] .admin-nav .admin-nav-group > div a,
  body[data-page^="admin-"] .admin-nav .admin-nav-group > div a {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
    width: 100% !important;
    padding: 0.74rem 1rem 0.74rem 3.05rem !important;
  }

  body[data-page="admin"] .admin-nav .admin-nav-group > div a span,
  body[data-page^="admin-"] .admin-nav .admin-nav-group > div a span {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    justify-self: start !important;
  }
}
/* ELVORA FIX END: Admin Mobile Header/Menu präzise linksbündig V127 */

/* ELVORA FIX START: Admin Mobile harte Endkorrektur Logo und Linkausrichtung V128 */
@media screen and (max-width: 760px) {
  html body[data-page="admin"] aside.admin-sidebar a.admin-brand > img,
  html body[data-page^="admin-"] aside.admin-sidebar a.admin-brand > img,
  html[data-theme] body[data-page="admin"] aside.admin-sidebar a.admin-brand > img,
  html[data-theme] body[data-page^="admin-"] aside.admin-sidebar a.admin-brand > img {
    inline-size: 128px !important;
    width: 128px !important;
    min-width: 0 !important;
    max-width: 128px !important;
    block-size: 50px !important;
    height: 50px !important;
    min-height: 0 !important;
    max-height: 50px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  html body[data-page="admin"] aside.admin-sidebar nav.admin-nav > a,
  html body[data-page^="admin-"] aside.admin-sidebar nav.admin-nav > a,
  html body[data-page="admin"] aside.admin-sidebar nav.admin-nav details.admin-nav-group > summary,
  html body[data-page^="admin-"] aside.admin-sidebar nav.admin-nav details.admin-nav-group > summary {
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) 18px !important;
    justify-content: stretch !important;
    justify-items: start !important;
    text-align: left !important;
  }

  html body[data-page="admin"] aside.admin-sidebar nav.admin-nav > a > span,
  html body[data-page^="admin-"] aside.admin-sidebar nav.admin-nav > a > span,
  html body[data-page="admin"] aside.admin-sidebar nav.admin-nav details.admin-nav-group > summary > strong,
  html body[data-page^="admin-"] aside.admin-sidebar nav.admin-nav details.admin-nav-group > summary > strong,
  html body[data-page="admin"] aside.admin-sidebar nav.admin-nav details.admin-nav-group > div > a > span,
  html body[data-page^="admin-"] aside.admin-sidebar nav.admin-nav details.admin-nav-group > div > a > span {
    justify-self: start !important;
    align-self: center !important;
    text-align: left !important;
    justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body[data-page="admin"] aside.admin-sidebar nav.admin-nav details.admin-nav-group > div > a,
  html body[data-page^="admin-"] aside.admin-sidebar nav.admin-nav details.admin-nav-group > div > a {
    justify-content: flex-start !important;
    text-align: left !important;
    padding-left: 3.05rem !important;
  }
}
/* ELVORA FIX END: Admin Mobile harte Endkorrektur Logo und Linkausrichtung V128 */

/* ELVORA FIX START: Admin Dashboard-Link Zentrierung entfernen V129 */
@media screen and (max-width: 760px) {
  html body[data-page="admin"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"],
  html body[data-page^="admin-"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"],
  html body[data-page="admin"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"],
  html body[data-page^="admin-"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"],
  html body[data-page="admin"] .admin-sidebar .admin-nav .admin-dashboard-nav-link,
  html body[data-page^="admin-"] .admin-sidebar .admin-nav .admin-dashboard-nav-link,
  html body[data-page="admin"] .admin-sidebar .admin-nav > a:first-child,
  html body[data-page^="admin-"] .admin-sidebar .admin-nav > a:first-child {
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) 18px !important;
    justify-content: stretch !important;
    justify-items: start !important;
    align-items: center !important;
    text-align: left !important;
    gap: 12px !important;
  }

  html body[data-page="admin"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] .admin-nav-icon,
  html body[data-page^="admin-"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] .admin-nav-icon,
  html body[data-page="admin"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] .admin-nav-icon,
  html body[data-page^="admin-"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] .admin-nav-icon,
  html body[data-page="admin"] .admin-sidebar .admin-nav .admin-dashboard-nav-link .admin-nav-icon,
  html body[data-page^="admin-"] .admin-sidebar .admin-nav .admin-dashboard-nav-link .admin-nav-icon,
  html body[data-page="admin"] .admin-sidebar .admin-nav > a:first-child .admin-nav-icon,
  html body[data-page^="admin-"] .admin-sidebar .admin-nav > a:first-child .admin-nav-icon {
    display: inline-flex !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    justify-self: start !important;
  }

  html body[data-page="admin"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] > span:not(.admin-nav-icon),
  html body[data-page^="admin-"] .admin-sidebar .admin-nav a[href*="admin-dashboard.html"] > span:not(.admin-nav-icon),
  html body[data-page="admin"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] > span:not(.admin-nav-icon),
  html body[data-page^="admin-"] .admin-sidebar .admin-nav a[data-admin-route*="admin-dashboard.html"] > span:not(.admin-nav-icon),
  html body[data-page="admin"] .admin-sidebar .admin-nav .admin-dashboard-nav-link > span:not(.admin-nav-icon),
  html body[data-page^="admin-"] .admin-sidebar .admin-nav .admin-dashboard-nav-link > span:not(.admin-nav-icon),
  html body[data-page="admin"] .admin-sidebar .admin-nav > a:first-child > span:not(.admin-nav-icon),
  html body[data-page^="admin-"] .admin-sidebar .admin-nav > a:first-child > span:not(.admin-nav-icon) {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    justify-self: start !important;
  }
}
/* ELVORA FIX END: Admin Dashboard-Link Zentrierung entfernen V129 */

/* ELVORA FIX START: Kundenbereich Desktop/Header/Banner final bereinigt V130 */
body:is([data-page="shop"], [data-page="personalize"], [data-page="finder"], [data-page="blog"], [data-page="about"], [data-page="contact"]) {
  --elvora-customer-sidebar-width: 0px !important;
  --elvora-customer-gap: 0px !important;
  padding: 0 !important;
  min-height: 100vh !important;
  overflow-x: clip !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .customer-sidebar-v85,
body:not([data-page="admin"]):not([data-page^="admin-"]) .customer-admin-sidebar-v84,
body:not([data-page="admin"]):not([data-page^="admin-"]) .customer-sidebar-logo-v82,
body:not([data-page="admin"]):not([data-page^="admin-"]) .customer-sidebar-logo-v83 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  inline-size: 0 !important;
  block-size: 0 !important;
}

body:is([data-page="shop"], [data-page="personalize"], [data-page="finder"], [data-page="blog"], [data-page="about"], [data-page="contact"]) > main,
body:is([data-page="shop"], [data-page="personalize"], [data-page="finder"], [data-page="blog"], [data-page="about"], [data-page="contact"]) > .site-footer,
body:is([data-page="shop"], [data-page="personalize"], [data-page="finder"], [data-page="blog"], [data-page="about"], [data-page="contact"]) > .payment-strip {
  width: min(100% - 40px, 1280px) !important;
  max-width: calc(100vw - 40px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) > .top-strip {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100vw !important;
  height: auto !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) > header.site-header,
body:not([data-page="admin"]):not([data-page^="admin-"]) > .site-header {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: sticky !important;
  left: auto !important;
  top: 0 !important;
  z-index: 5000 !important;
  width: min(100% - 40px, 1500px) !important;
  max-width: calc(100vw - 40px) !important;
  height: auto !important;
  min-height: 94px !important;
  margin: 0 auto !important;
  padding: 12px 18px !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(18px, 2vw, 34px) !important;
  overflow: visible !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
  position: relative !important;
  display: inline-flex !important;
  width: clamp(128px, 8vw, 170px) !important;
  min-width: clamp(128px, 8vw, 170px) !important;
  height: clamp(66px, 5vw, 90px) !important;
  min-height: clamp(66px, 5vw, 90px) !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img.theme-logo-light {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img.theme-logo-dark {
  display: none !important;
}

@media (min-width: 1181px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.site-nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 52px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(18px, 2.15vw, 38px) !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) #site-nav.site-nav a {
    pointer-events: auto !important;
    min-height: 48px !important;
    white-space: nowrap !important;
    font-size: clamp(1rem, 1.05vw, 1.2rem) !important;
    line-height: 1.1 !important;
  }
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero,
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero.compact,
body[data-page="shop"] .page-hero.compact,
body[data-page="shop"] .page-hero.shop-category-hero,
body[data-page="shop"] .page-hero.compact[data-shop-hero],
body[data-page="blog"] .page-hero,
body[data-page="blog"] .page-hero.compact {
  width: min(100% - 32px, 1060px) !important;
  max-width: calc(100vw - 32px) !important;
  min-height: 0 !important;
  margin: clamp(18px, 2.5vw, 30px) auto clamp(18px, 2vw, 28px) !important;
  padding: clamp(20px, 2.7vw, 34px) clamp(20px, 3vw, 42px) !important;
  border-radius: clamp(20px, 2vw, 28px) !important;
  display: block !important;
  overflow: visible !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero h1,
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero.compact h1,
body[data-page="shop"] .page-hero.compact h1,
body[data-page="shop"] .page-hero.shop-category-hero h1,
body[data-page="shop"] .page-hero.compact[data-shop-hero] h1,
body[data-page="blog"] .page-hero h1,
body[data-page="blog"] .page-hero.compact h1 {
  font-size: clamp(2.15rem, 3.7vw, 3.8rem) !important;
  line-height: 1.02 !important;
  margin: 0.12em 0 0.16em !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero p:not(.eyebrow),
body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero.compact p:not(.eyebrow) {
  font-size: clamp(1rem, 1.25vw, 1.16rem) !important;
  line-height: 1.42 !important;
  max-width: 900px !important;
  margin-bottom: 0 !important;
}

@media (max-width: 760px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) > header.site-header,
  body:not([data-page="admin"]):not([data-page^="admin-"]) > .site-header {
    width: min(100% - 20px, 560px) !important;
    max-width: calc(100vw - 20px) !important;
    min-height: 78px !important;
    padding: 10px 12px !important;
    border-radius: 22px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    width: clamp(94px, 27vw, 126px) !important;
    min-width: clamp(94px, 27vw, 126px) !important;
    height: clamp(48px, 14vw, 62px) !important;
    min-height: clamp(48px, 14vw, 62px) !important;
  }

  body:is([data-page="shop"], [data-page="personalize"], [data-page="finder"], [data-page="blog"], [data-page="about"], [data-page="contact"]) > main,
  body:is([data-page="shop"], [data-page="personalize"], [data-page="finder"], [data-page="blog"], [data-page="about"], [data-page="contact"]) > .site-footer,
  body:is([data-page="shop"], [data-page="personalize"], [data-page="finder"], [data-page="blog"], [data-page="about"], [data-page="contact"]) > .payment-strip {
    width: min(100% - 20px, 560px) !important;
    max-width: calc(100vw - 20px) !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .page-hero.compact {
    width: min(100% - 20px, 560px) !important;
    max-width: calc(100vw - 20px) !important;
    padding: 20px 16px !important;
    margin: 16px auto 18px !important;
  }
}

/* Mini-Warenkorb: breiter, ruhiger, lesbar, keine gequetschten CTA-Flächen */
body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-drawer.is-open,
body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-drawer[open] {
  width: clamp(390px, 33vw, 500px) !important;
  max-width: calc(100vw - 24px) !important;
  right: 12px !important;
  top: 12px !important;
  bottom: 12px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 24px) !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255, 137, 196, .36) !important;
  background: linear-gradient(180deg, rgba(33, 27, 45, .98), rgba(23, 20, 33, .98)) !important;
  box-shadow: 0 32px 86px rgba(0, 0, 0, .46) !important;
  overflow: hidden !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-header {
  padding: 22px 22px 18px !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-header h2 {
  font-size: clamp(1.8rem, 2.35vw, 2.45rem) !important;
  line-height: 1.03 !important;
  max-width: calc(100% - 66px) !important;
  white-space: nowrap !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-summary {
  padding: 18px 22px 22px !important;
  gap: 14px !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-summary .btn,
body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-continue,
body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-empty .btn {
  width: 100% !important;
  min-height: 50px !important;
  white-space: nowrap !important;
  font-size: clamp(.92rem, 1vw, 1rem) !important;
  text-align: center !important;
}

@media (max-width: 520px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-drawer.is-open,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .mini-cart-drawer[open] {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    right: 10px !important;
    left: 10px !important;
  }
}

/* Lightmode-Kontrast: Karten, Formulare und Warenkorb nicht mehr blass/weiß auf weiß */
html[data-theme="light"] body:not([data-page="admin"]):not([data-page^="admin-"]) {
  color: #25182f !important;
}

html[data-theme="light"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(.page-hero, .toolbar, .form-panel, .content-page-shell, .social-card, .product-card, .category-card, .finder-grid, .configurator, .mini-cart-drawer, .site-footer) {
  background-color: rgba(255, 249, 253, .92) !important;
  color: #25182f !important;
  border-color: rgba(180, 76, 142, .28) !important;
}

html[data-theme="light"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(.page-hero, .toolbar, .form-panel, .content-page-shell, .social-card, .product-card, .category-card, .finder-grid, .configurator, .mini-cart-drawer, .site-footer) :is(h1, h2, h3, h4, p, label, span, strong, a, li) {
  color: inherit !important;
}

html[data-theme="light"] body:not([data-page="admin"]):not([data-page^="admin-"]) :is(input, select, textarea) {
  background: rgba(255, 255, 255, .96) !important;
  color: #25182f !important;
  border-color: rgba(128, 75, 116, .34) !important;
}

/* Admin-Logo am Desktop wieder deutlich sichtbar, mobile Korrektur bleibt unten unangetastet */
@media (min-width: 1181px) {
  body[data-page="admin"] .admin-sidebar .admin-brand,
  body[data-page^="admin-"] .admin-sidebar .admin-brand {
    width: min(100%, 240px) !important;
    min-height: 118px !important;
    justify-content: center !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-brand img,
  body[data-page^="admin-"] .admin-sidebar .admin-brand img {
    width: min(230px, 100%) !important;
    max-width: 230px !important;
    height: 112px !important;
    max-height: 112px !important;
    object-fit: contain !important;
  }
}
/* ELVORA FIX END: Kundenbereich Desktop/Header/Banner final bereinigt V130 */

/* ELVORA FIX START: Logo optisch groesser ohne Mobile-Bruch V131 */
@media (min-width: 1181px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo {
    overflow: visible !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header .brand-logo img.theme-logo-light {
    transform: scale(1.28) !important;
    transform-origin: center !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-brand,
  body[data-page^="admin-"] .admin-sidebar .admin-brand {
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-sidebar .admin-brand img,
  body[data-page^="admin-"] .admin-sidebar .admin-brand img {
    transform: scale(1.22) !important;
    transform-origin: center !important;
  }
}
/* ELVORA FIX END: Logo optisch groesser ohne Mobile-Bruch V131 */

/* ELVORA FIX START: Mobile Hinweisstreifen nicht abschneiden V132 */
@media (max-width: 760px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) > .top-strip {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) > .top-strip .top-strip-track {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 30px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    transform: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-align: center !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) > .top-strip .top-strip-track > span {
    display: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) > .top-strip .top-strip-track > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    flex-basis: auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}
/* ELVORA FIX END: Mobile Hinweisstreifen nicht abschneiden V132 */

/* ELVORA FIX START: Admin Medienkarten und seitenweite Screenshot-QA V134 */
body[data-page="admin"] .admin-responsive-table:has(.admin-media-grid),
body[data-page^="admin-"] .admin-responsive-table:has(.admin-media-grid) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  padding: clamp(12px, 1.4vw, 18px) !important;
  box-sizing: border-box !important;
}

body[data-page="admin"] .admin-media-grid,
body[data-page^="admin-"] .admin-media-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)) !important;
  align-items: start !important;
  gap: clamp(14px, 1.6vw, 22px) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body[data-page="admin"] .admin-media-card,
body[data-page^="admin-"] .admin-media-card {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, auto) auto !important;
  gap: 12px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(12px, 1.4vw, 16px) !important;
  overflow: hidden !important;
  isolation: isolate !important;
  border-radius: 18px !important;
  box-sizing: border-box !important;
}

body[data-page="admin"] .admin-media-preview,
body[data-page^="admin-"] .admin-media-preview {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 150px !important;
  max-height: 240px !important;
  aspect-ratio: 4 / 3 !important;
  padding: 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 137, 196, .22) !important;
  border-radius: 16px !important;
  background: rgba(17, 15, 25, .82) !important;
  box-sizing: border-box !important;
  z-index: 0 !important;
}

body[data-page="admin"] .admin-media-preview img,
body[data-page^="admin-"] .admin-media-preview img,
body[data-page="admin"] .admin-media-editor-preview img,
body[data-page^="admin-"] .admin-media-editor-preview img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 220px !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 12px !important;
}

body[data-page="admin"] .admin-media-meta,
body[data-page^="admin-"] .admin-media-meta {
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

body[data-page="admin"] .admin-media-filename,
body[data-page^="admin-"] .admin-media-filename,
body[data-page="admin"] .admin-media-assignment,
body[data-page^="admin-"] .admin-media-assignment {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: none !important;
  line-height: 1.25 !important;
}

body[data-page="admin"] .admin-media-filename,
body[data-page^="admin-"] .admin-media-filename {
  font-size: clamp(.92rem, .9vw, 1.02rem) !important;
}

body[data-page="admin"] .admin-media-type,
body[data-page^="admin-"] .admin-media-type {
  width: max-content !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

body[data-page="admin"] .admin-media-card .admin-row-actions,
body[data-page^="admin-"] .admin-media-card .admin-row-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  z-index: 1 !important;
}

body[data-page="admin"] .admin-media-card .admin-row-actions button,
body[data-page^="admin-"] .admin-media-card .admin-row-actions button {
  flex: 1 1 112px !important;
  min-width: 0 !important;
  min-height: 42px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body[data-page="admin"] .admin-media-editor-preview,
body[data-page^="admin-"] .admin-media-editor-preview {
  display: grid !important;
  place-items: center !important;
  width: min(560px, 100%) !important;
  max-width: 100% !important;
  max-height: min(48vh, 420px) !important;
  padding: 14px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

@media (max-width: 1180px) {
  body[data-page="admin"] .admin-media-grid,
  body[data-page^="admin-"] .admin-media-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
  }

  body[data-page="admin"] .admin-media-preview,
  body[data-page^="admin-"] .admin-media-preview {
    min-height: 140px !important;
    max-height: 220px !important;
  }
}

@media (max-width: 640px) {
  body[data-page="admin"] .admin-responsive-table:has(.admin-media-grid),
  body[data-page^="admin-"] .admin-responsive-table:has(.admin-media-grid) {
    padding: 10px !important;
  }

  body[data-page="admin"] .admin-media-grid,
  body[data-page^="admin-"] .admin-media-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="admin"] .admin-media-preview,
  body[data-page^="admin-"] .admin-media-preview {
    min-height: 170px !important;
    max-height: 230px !important;
  }

  body[data-page="admin"] .admin-media-card,
  body[data-page^="admin-"] .admin-media-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px !important;
  }

  body[data-page="admin"] .admin-media-card > *,
  body[data-page^="admin-"] .admin-media-card > *,
  body[data-page="admin"] .admin-media-preview,
  body[data-page^="admin-"] .admin-media-preview,
  body[data-page="admin"] .admin-media-meta,
  body[data-page^="admin-"] .admin-media-meta,
  body[data-page="admin"] .admin-media-card .admin-row-actions,
  body[data-page^="admin-"] .admin-media-card .admin-row-actions {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body[data-page="admin"] .admin-media-card .admin-row-actions,
  body[data-page^="admin-"] .admin-media-card .admin-row-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body[data-page="admin"] .admin-media-card .admin-row-actions > *,
  body[data-page^="admin-"] .admin-media-card .admin-row-actions > *,
  body[data-page="admin"] .admin-media-card .admin-row-actions button,
  body[data-page^="admin-"] .admin-media-card .admin-row-actions button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 1 auto !important;
    box-sizing: border-box !important;
    padding-inline: 10px !important;
  }
}

html[data-theme="light"] body[data-page="admin"] .admin-media-preview,
html[data-theme="light"] body[data-page^="admin-"] .admin-media-preview {
  background: rgba(255, 249, 253, .96) !important;
  border-color: rgba(180, 76, 142, .28) !important;
}
/* ELVORA FIX END: Admin Medienkarten und seitenweite Screenshot-QA V134 */

/* ELVORA FIX START: Admin Mobile Lesbarkeit und KPI-Karten V136 */
@media (max-width: 430px) {
  body[data-page="admin"],
  body[data-page^="admin-"] {
    overflow-x: clip !important;
  }

  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    margin-inline: auto !important;
    padding: 8px !important;
    border-radius: 24px !important;
    box-sizing: border-box !important;
  }

  body[data-page="admin"] .admin-main,
  body[data-page^="admin-"] .admin-main,
  body[data-page="admin"] .admin-workspace,
  body[data-page^="admin-"] .admin-workspace {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body[data-page="admin"] .admin-top,
  body[data-page^="admin-"] .admin-top,
  body[data-page="admin"] .admin-dashboard-hero,
  body[data-page^="admin-"] .admin-dashboard-hero,
  body[data-page="admin"] .admin-panel,
  body[data-page^="admin-"] .admin-panel,
  body[data-page="admin"] .admin-card,
  body[data-page^="admin-"] .admin-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: clamp(14px, 4.2vw, 18px) !important;
    box-sizing: border-box !important;
  }

  body[data-page="admin"] :is(.admin-top h1, .admin-top h2, .admin-dashboard-hero h1, .admin-dashboard-hero h2, .admin-panel h2, .admin-panel h3),
  body[data-page^="admin-"] :is(.admin-top h1, .admin-top h2, .admin-dashboard-hero h1, .admin-dashboard-hero h2, .admin-panel h2, .admin-panel h3) {
    font-size: clamp(1.55rem, 8.4vw, 2.3rem) !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body[data-page="admin"] :is(.admin-top p, .admin-dashboard-hero p, .admin-workspace-hint, .admin-panel p),
  body[data-page^="admin-"] :is(.admin-top p, .admin-dashboard-hero p, .admin-workspace-hint, .admin-panel p) {
    font-size: clamp(.95rem, 4.4vw, 1.12rem) !important;
    line-height: 1.42 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body[data-page="admin"] :is(.admin-metric-grid, .admin-metrics, .admin-kpi-grid, .admin-monitor-grid, .admin-status-grid, .admin-dashboard-grid),
  body[data-page^="admin-"] :is(.admin-metric-grid, .admin-metrics, .admin-kpi-grid, .admin-monitor-grid, .admin-status-grid, .admin-dashboard-grid) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="admin"] :is(.admin-metric-card, .admin-metrics > div, .admin-metrics > a, .admin-kpi-card, .admin-monitor-card, .admin-dashboard-card),
  body[data-page^="admin-"] :is(.admin-metric-card, .admin-metrics > div, .admin-metrics > a, .admin-kpi-card, .admin-monitor-card, .admin-dashboard-card) {
    display: grid !important;
    align-content: start !important;
    justify-items: start !important;
    gap: 8px !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body[data-page="admin"] :is(.admin-metric-card strong, .admin-metrics > div strong, .admin-metrics > a strong, .admin-kpi-card strong, .admin-monitor-card strong, .admin-dashboard-card strong),
  body[data-page^="admin-"] :is(.admin-metric-card strong, .admin-metrics > div strong, .admin-metrics > a strong, .admin-kpi-card strong, .admin-monitor-card strong, .admin-dashboard-card strong) {
    display: block !important;
    max-width: 100% !important;
    font-size: clamp(1.35rem, 8vw, 2.1rem) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body[data-page="admin"] :is(.admin-metric-card span, .admin-metrics > div span, .admin-metrics > a span, .admin-kpi-card span, .admin-monitor-card span, .admin-dashboard-card span),
  body[data-page^="admin-"] :is(.admin-metric-card span, .admin-metrics > div span, .admin-metrics > a span, .admin-kpi-card span, .admin-monitor-card span, .admin-dashboard-card span) {
    display: block !important;
    max-width: 100% !important;
    font-size: clamp(.86rem, 4vw, 1rem) !important;
    line-height: 1.25 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body[data-page="admin"] .admin-toolbar,
  body[data-page^="admin-"] .admin-toolbar {
    grid-template-columns: 1fr !important;
    padding: 12px !important;
  }

  body[data-page="admin"] :is(input, select, textarea, button, .btn, .admin-edit-button),
  body[data-page^="admin-"] :is(input, select, textarea, button, .btn, .admin-edit-button) {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}
/* ELVORA FIX END: Admin Mobile Lesbarkeit und KPI-Karten V136 */

/* ELVORA FIX START: Globale Restfehler aus kritischem Route-Audit V137 */
body[data-page="admin"] .admin-notification-bell,
body[data-page^="admin-"] .admin-notification-bell {
  width: 64px !important;
  min-width: 64px !important;
  height: 64px !important;
  min-height: 64px !important;
  overflow: visible !important;
}

body[data-page="admin"] .admin-notification-bell .admin-notification-badge,
body[data-page^="admin-"] .admin-notification-bell .admin-notification-badge,
body[data-page="admin"] .admin-notification-bell [data-admin-notification-count],
body[data-page^="admin-"] .admin-notification-bell [data-admin-notification-count] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 28px !important;
  height: 28px !important;
  padding-inline: 7px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) .footer-cookie-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  body[data-page="admin"] .admin-responsive-table,
  body[data-page^="admin-"] .admin-responsive-table {
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-responsive-table :is(table, thead, tbody, tr, th, td),
  body[data-page^="admin-"] .admin-responsive-table :is(table, thead, tbody, tr, th, td) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body[data-page="admin"] .admin-responsive-table thead,
  body[data-page^="admin-"] .admin-responsive-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
  }

  body[data-page="admin"] .admin-responsive-table tbody,
  body[data-page^="admin-"] .admin-responsive-table tbody {
    display: grid !important;
    gap: 12px !important;
  }

  body[data-page="admin"] .admin-responsive-table tr,
  body[data-page^="admin-"] .admin-responsive-table tr {
    display: grid !important;
    gap: 8px !important;
    padding: 14px !important;
    border: 1px solid var(--admin-border, rgba(255, 137, 196, .22)) !important;
    border-radius: 18px !important;
    background: var(--admin-inner, rgba(23, 20, 33, .72)) !important;
  }

  body[data-page="admin"] .admin-responsive-table td,
  body[data-page^="admin-"] .admin-responsive-table td {
    display: grid !important;
    grid-template-columns: minmax(96px, .38fr) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
    padding: 6px 0 !important;
    border: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body[data-page="admin"] .admin-responsive-table td::before,
  body[data-page^="admin-"] .admin-responsive-table td::before {
    content: attr(data-label) !important;
    color: var(--admin-text, #fff) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    opacity: .82 !important;
  }
}

@media (max-width: 430px) {
  body[data-page="admin"] .admin-notification-bell,
  body[data-page^="admin-"] .admin-notification-bell {
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer :is(a, button, .footer-cookie-link) {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}
/* ELVORA FIX END: Globale Restfehler aus kritischem Route-Audit V137 */

/* ELVORA FIX START: Analytics-Tabellen und mobiler Footer V138 */
body[data-page="admin"] .admin-analytics-grid,
body[data-page^="admin-"] .admin-analytics-grid {
  grid-template-columns: 1fr !important;
}

body[data-page="admin"] .admin-analytics-grid .admin-panel,
body[data-page^="admin-"] .admin-analytics-grid .admin-panel {
  min-width: 0 !important;
  overflow: hidden !important;
}

body[data-page="admin"] .admin-analytics-grid table,
body[data-page^="admin-"] .admin-analytics-grid table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: auto !important;
}

@media (min-width: 901px) {
  body[data-page="admin"] .admin-analytics-grid th,
  body[data-page="admin"] .admin-analytics-grid td,
  body[data-page^="admin-"] .admin-analytics-grid th,
  body[data-page^="admin-"] .admin-analytics-grid td {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

@media (max-width: 430px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer {
    grid-template-columns: 1fr !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer :is(nav, ul, li, .footer-column, .footer-links, .footer-newsletter) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > *,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > .footer-brand,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > div,
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer > form,
  body[data-page="blog"] .site-footer > *,
  body[data-page="blog"] .site-footer > .footer-brand,
  body[data-page="blog"] .site-footer > div,
  body[data-page="blog"] .site-footer > form {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    align-self: start !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-footer :is(a, button, .footer-cookie-link) {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}
/* ELVORA FIX END: Analytics-Tabellen und mobiler Footer V138 */
/* ELVORA GO-LIVE STABILISIERUNG v141: Admin darf nicht vom Kunden-Cookiebanner blockiert werden */
body[data-page="admin"] .cookie-banner,
body[data-page^="admin-"] .cookie-banner,
body[data-page="admin"] .consent-modal,
body[data-page^="admin-"] .consent-modal {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body[data-page="admin"].consent-open,
body[data-page^="admin-"].consent-open {
  overflow: auto !important;
}

/* ELVORA GO-LIVE STABILISIERUNG v141: Buttons, Tabs und Admin-KI responsive härten */
body[data-page="admin"] :is(.btn, .admin-edit-button, .admin-settings-tabs a, .admin-tab, .admin-nav a, .admin-nav summary),
body[data-page^="admin-"] :is(.btn, .admin-edit-button, .admin-settings-tabs a, .admin-tab, .admin-nav a, .admin-nav summary) {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.15 !important;
}

body[data-page="admin"] :is(.admin-form-actions, .admin-row-actions, .admin-panel-heading),
body[data-page^="admin-"] :is(.admin-form-actions, .admin-row-actions, .admin-panel-heading) {
  min-width: 0 !important;
  max-width: 100% !important;
}

body[data-page="admin"] .admin-settings-tabs,
body[data-page^="admin-"] .admin-settings-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  overflow: visible !important;
}

body[data-page="admin"] .admin-settings-tabs a,
body[data-page^="admin-"] .admin-settings-tabs a {
  flex: 0 1 auto !important;
  min-height: 40px !important;
  padding-inline: clamp(10px, 1.8vw, 16px) !important;
  font-size: clamp(.78rem, 1.4vw, .92rem) !important;
}

body[data-page="admin"] .admin-ai-score-grid,
body[data-page^="admin-"] .admin-ai-score-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
}

body[data-page="admin"] .admin-ai-summary-panel,
body[data-page^="admin-"] .admin-ai-summary-panel {
  display: grid !important;
  gap: 16px !important;
}

body[data-page="admin"] .admin-ai-next-steps,
body[data-page^="admin-"] .admin-ai-next-steps,
body[data-page="admin"] .admin-ai-metric-list,
body[data-page^="admin-"] .admin-ai-metric-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 10px !important;
}

body[data-page="admin"] .admin-ai-next-steps article,
body[data-page^="admin-"] .admin-ai-next-steps article,
body[data-page="admin"] .admin-ai-metric-list article,
body[data-page^="admin-"] .admin-ai-metric-list article {
  display: grid !important;
  gap: 6px !important;
  padding: 14px !important;
  border-radius: 18px !important;
  border: 1px solid var(--elvora-admin-border, rgba(255,255,255,.14)) !important;
  background: var(--elvora-admin-card-2, rgba(255,255,255,.06)) !important;
  min-width: 0 !important;
}

body[data-page="admin"] .admin-ai-next-steps article,
body[data-page^="admin-"] .admin-ai-next-steps article {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  align-items: start !important;
}

body[data-page="admin"] .admin-ai-next-steps strong,
body[data-page^="admin-"] .admin-ai-next-steps strong {
  display: inline-grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 999px !important;
  background: var(--elvora-admin-pink, #ff5fa2) !important;
  color: #fff !important;
}

body[data-page="admin"] .admin-ai-metric-list span,
body[data-page^="admin-"] .admin-ai-metric-list span {
  color: var(--elvora-admin-muted, #6f6570) !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
}

body[data-page="admin"] .admin-ai-metric-list strong,
body[data-page^="admin-"] .admin-ai-metric-list strong {
  color: var(--elvora-admin-text, #20172d) !important;
  font-size: clamp(1.05rem, 2.5vw, 1.55rem) !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 900px) {
  body[data-page="admin"] .admin-panel-heading,
  body[data-page^="admin-"] .admin-panel-heading {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
    gap: 12px !important;
  }

  body[data-page="admin"] .admin-panel-heading :is(.admin-form-actions, .admin-row-actions),
  body[data-page^="admin-"] .admin-panel-heading :is(.admin-form-actions, .admin-row-actions) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
    width: 100% !important;
  }

  body[data-page="admin"] .admin-panel-heading :is(.btn, .admin-edit-button),
  body[data-page^="admin-"] .admin-panel-heading :is(.btn, .admin-edit-button) {
    width: 100% !important;
    justify-content: center !important;
  }
}

@media (max-width: 520px) {
  body[data-page="admin"] :is(.admin-top h1, .admin-top h2, .admin-dashboard-hero h1, .admin-workspace h2),
  body[data-page^="admin-"] :is(.admin-top h1, .admin-top h2, .admin-dashboard-hero h1, .admin-workspace h2) {
    font-size: clamp(1.42rem, 6.1vw, 1.82rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -.04em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    max-width: 100% !important;
  }

  body[data-page="admin"] .admin-top,
  body[data-page^="admin-"] .admin-top,
  body[data-page="admin"] .admin-top > *,
  body[data-page^="admin-"] .admin-top > * {
    min-width: 0 !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-metric-grid,
  body[data-page^="admin-"] .admin-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body[data-page="admin"] .admin-metric-grid > div,
  body[data-page^="admin-"] .admin-metric-grid > div,
  body[data-page="admin"] .admin-metric-grid > a,
  body[data-page^="admin-"] .admin-metric-grid > a {
    display: grid !important;
    gap: 6px !important;
    align-content: start !important;
    min-height: 92px !important;
    padding: 13px !important;
  }

  body[data-page="admin"] .admin-metric-grid strong,
  body[data-page^="admin-"] .admin-metric-grid strong {
    display: block !important;
    line-height: 1.05 !important;
    font-size: clamp(1.15rem, 7vw, 1.8rem) !important;
  }

  body[data-page="admin"] .admin-metric-grid span,
  body[data-page^="admin-"] .admin-metric-grid span {
    display: block !important;
    line-height: 1.2 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body[data-page="admin"] .admin-settings-tabs,
  body[data-page^="admin-"] .admin-settings-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page="admin"] .admin-settings-tabs a,
  body[data-page^="admin-"] .admin-settings-tabs a {
    width: 100% !important;
    justify-content: center !important;
  }

  body[data-page="admin"] .admin-ai-next-steps,
  body[data-page^="admin-"] .admin-ai-next-steps,
  body[data-page="admin"] .admin-ai-metric-list,
  body[data-page^="admin-"] .admin-ai-metric-list {
    grid-template-columns: 1fr !important;
  }
}

/* ELVORA GO-LIVE STABILISIERUNG v142: mobile Admin-Kopfzeile ohne Glocken-Überlappung */
@media (max-width: 520px) {
  body[data-page="admin"] .admin-top,
  body[data-page^="admin-"] .admin-top {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 22px 84px 22px 18px !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-top > div:first-child,
  body[data-page^="admin-"] .admin-top > div:first-child {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body[data-page="admin"] .admin-top h1,
  body[data-page="admin"] .admin-top h2,
  body[data-page^="admin-"] .admin-top h1,
  body[data-page^="admin-"] .admin-top h2 {
    font-size: clamp(1.16rem, 5.4vw, 1.54rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body[data-page="admin"] .admin-notification-widget,
  body[data-page^="admin-"] .admin-notification-widget {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    z-index: 20 !important;
    width: 50px !important;
    height: 50px !important;
  }

  body[data-page="admin"] .admin-notification-bell,
  body[data-page^="admin-"] .admin-notification-bell {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    border-radius: 18px !important;
  }

  body[data-page="admin"] .admin-notification-count,
  body[data-page^="admin-"] .admin-notification-count {
    top: -8px !important;
    right: -8px !important;
    min-width: 23px !important;
    height: 23px !important;
    font-size: .72rem !important;
  }
}

/* ELVORA GO-LIVE STABILISIERUNG v143: Benachrichtigung mobil nicht über Text legen */
@media (max-width: 520px) {
  body[data-page="admin"] .admin-top,
  body[data-page^="admin-"] .admin-top {
    padding: 22px 18px !important;
  }

  body[data-page="admin"] .admin-notification-widget,
  body[data-page^="admin-"] .admin-notification-widget {
    position: static !important;
    width: auto !important;
    height: auto !important;
    justify-self: start !important;
    align-self: start !important;
    order: 2 !important;
    margin: 0 !important;
  }

  body[data-page="admin"] .admin-notification-bell,
  body[data-page^="admin-"] .admin-notification-bell {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
  }

  body[data-page="admin"] .admin-top h1,
  body[data-page="admin"] .admin-top h2,
  body[data-page^="admin-"] .admin-top h1,
  body[data-page^="admin-"] .admin-top h2 {
    max-width: 100% !important;
  }
}

/* ELVORA GO-LIVE STABILISIERUNG v146: sichtbare 90%-Blocker */
html,
body {
  max-width: 100%;
}

body:not([data-page="admin"]):not([data-page^="admin-"]) {
  overflow-x: clip;
  background-size: cover !important;
  background-position: center top !important;
}

.theme-logo img,
.brand-logo img,
.footer-logo img {
  object-fit: contain !important;
}

.theme-logo .theme-logo-dark {
  display: none !important;
}

.theme-logo .theme-logo-light {
  display: block !important;
}

.site-header .brand-logo,
.site-header .brand-logo img {
  width: clamp(76px, 7vw, 118px) !important;
  height: clamp(48px, 5.2vw, 76px) !important;
  max-width: 118px !important;
  max-height: 76px !important;
}

.menu-toggle,
.admin-menu-toggle {
  position: relative !important;
  flex: 0 0 auto !important;
  color: #fff !important;
  font-size: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after {
  content: "" !important;
  display: block !important;
  width: 26px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  box-shadow: none !important;
}

.menu-toggle {
  gap: 6px !important;
  place-items: center !important;
}

body.mobile-nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(9px) rotate(45deg) !important;
}

body.mobile-nav-open .menu-toggle span:nth-child(2) {
  opacity: 0 !important;
}

body.mobile-nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg) !important;
}

.site-nav a,
.admin-nav a,
.btn,
button,
.badge,
.admin-status-pill,
.mini-cart-checkout,
.mini-cart-continue {
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: manual;
  text-overflow: ellipsis;
}

.site-nav a,
.admin-nav a {
  overflow: hidden;
}

@media (max-width: 1180px) {
  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-header {
    width: min(100% - 24px, 980px) !important;
    max-width: calc(100vw - 24px) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .menu-toggle {
    display: inline-grid !important;
    width: 58px !important;
    height: 58px !important;
    margin-left: auto !important;
    border-radius: 22px !important;
    z-index: 4202 !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    gap: 10px !important;
    width: min(86vw, 360px) !important;
    max-width: min(86vw, 360px) !important;
    height: 100dvh !important;
    padding: 96px 18px 22px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 4200 !important;
    border-right: 1px solid rgba(255, 95, 162, .32) !important;
    background: radial-gradient(circle at 20% 0%, rgba(255, 95, 162, .22), transparent 34%), linear-gradient(180deg, rgba(48, 38, 63, .99), rgba(33, 27, 45, .99)) !important;
    box-shadow: 28px 0 70px rgba(0, 0, 0, .38) !important;
    transform: translateX(-110%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .24s ease, opacity .2s ease, visibility .2s ease !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav.is-open {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.mobile-nav-open .site-header {
    pointer-events: none !important;
  }

  body.mobile-nav-open .site-header .menu-toggle {
    pointer-events: auto !important;
  }

  body.mobile-nav-open::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 6190 !important;
    background: rgba(8, 7, 13, .62) !important;
    backdrop-filter: blur(4px) !important;
    pointer-events: none !important;
  }

  body:not([data-page="admin"]):not([data-page^="admin-"]) .site-nav a {
    justify-content: flex-start !important;
    min-height: 50px !important;
    width: 100% !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .055) !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    text-align: left !important;
    font-size: clamp(.9rem, 2.9vw, 1rem) !important;
  }
}

@media (max-width: 1180px) {
  body[data-page="admin"] > main,
  body[data-page^="admin-"] > main {
    padding: 10px !important;
  }

  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: min(100% - 12px, 1120px) !important;
    max-width: calc(100vw - 12px) !important;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    position: sticky !important;
    top: 8px !important;
    z-index: 4300 !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 12px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 95, 162, .24) !important;
    border-radius: 24px !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-brand-row,
  body[data-page^="admin-"] .admin-brand-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    min-height: 72px !important;
    gap: 12px !important;
  }

  body[data-page="admin"] .admin-brand,
  body[data-page^="admin-"] .admin-brand {
    width: clamp(108px, 18vw, 152px) !important;
    min-width: clamp(108px, 18vw, 152px) !important;
    height: clamp(54px, 8vw, 76px) !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-brand img,
  body[data-page^="admin-"] .admin-brand img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
  }

  body[data-page="admin"] .admin-brand-title,
  body[data-page^="admin-"] .admin-brand-title {
    display: none !important;
  }

  body[data-page="admin"] .admin-menu-toggle,
  body[data-page^="admin-"] .admin-menu-toggle {
    display: inline-grid !important;
    place-items: center !important;
    width: 56px !important;
    min-width: 56px !important;
    height: 56px !important;
    border-radius: 999px !important;
    z-index: 4320 !important;
  }

  body[data-page="admin"] .admin-menu-toggle .menu-toggle-label,
  body[data-page^="admin-"] .admin-menu-toggle .menu-toggle-label {
    font-size: 0 !important;
  }

  body[data-page="admin"] .admin-menu-toggle::before,
  body[data-page="admin"] .admin-menu-toggle::after,
  body[data-page^="admin-"] .admin-menu-toggle::before,
  body[data-page^="admin-"] .admin-menu-toggle::after,
  body[data-page="admin"] .admin-menu-toggle .menu-toggle-label::before,
  body[data-page^="admin-"] .admin-menu-toggle .menu-toggle-label::before {
    content: "" !important;
    display: block !important;
    width: 25px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: currentColor !important;
  }

  body[data-page="admin"] .admin-menu-toggle,
  body[data-page^="admin-"] .admin-menu-toggle {
    gap: 6px !important;
  }

  body[data-page="admin"] .admin-nav,
  body[data-page^="admin-"] .admin-nav,
  body[data-page="admin"] .admin-sidebar .admin-nav,
  body[data-page^="admin-"] .admin-sidebar .admin-nav {
    position: fixed !important;
    inset: 10px auto 10px 10px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    gap: 9px !important;
    width: min(86vw, 360px) !important;
    max-width: min(86vw, 360px) !important;
    height: calc(100dvh - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    padding: 88px 16px 18px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 4310 !important;
    border: 1px solid rgba(255, 95, 162, .32) !important;
    border-radius: 26px !important;
    background: radial-gradient(circle at 20% 0%, rgba(255, 95, 162, .22), transparent 34%), linear-gradient(180deg, rgba(48, 38, 63, .995), rgba(33, 27, 45, .995)) !important;
    box-shadow: 30px 0 80px rgba(0,0,0,.42) !important;
    transform: translateX(-112%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .24s ease, opacity .2s ease, visibility .2s ease !important;
  }

  body[data-page="admin"] .admin-sidebar.is-open .admin-nav,
  body[data-page^="admin-"] .admin-sidebar.is-open .admin-nav {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.admin-nav-open {
    overflow: hidden !important;
  }

  body.admin-nav-open::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 4305 !important;
    background: rgba(8, 7, 13, .62) !important;
    backdrop-filter: blur(4px) !important;
    pointer-events: none !important;
  }

  body[data-page="admin"] .admin-nav a,
  body[data-page^="admin-"] .admin-nav a {
    width: 100% !important;
    height: auto !important;
    block-size: auto !important;
    min-block-size: 0 !important;
    inline-size: 100% !important;
    max-height: none !important;
    min-height: 48px !important;
    justify-content: flex-start !important;
    text-align: left !important;
    white-space: nowrap !important;
    font-size: clamp(.78rem, 2.5vw, .96rem) !important;
    padding: 13px 14px !important;
    color: #fff !important;
  }

  body[data-page="admin"] .admin-nav details,
  body[data-page^="admin-"] .admin-nav details {
    width: 100% !important;
    min-width: 0 !important;
    color: #fff !important;
    border-radius: 16px !important;
    overflow: visible !important;
  }

  body[data-page="admin"] .admin-nav summary,
  body[data-page^="admin-"] .admin-nav summary {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    height: auto !important;
    block-size: auto !important;
    min-block-size: 0 !important;
    inline-size: 100% !important;
    max-height: none !important;
    min-height: 48px !important;
    padding: 13px 14px !important;
    border-radius: 16px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .055) !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    text-align: left !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    font-size: clamp(.72rem, 2.25vw, .92rem) !important;
    line-height: 1.12 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body[data-page="admin"] .admin-nav details[open] summary,
  body[data-page^="admin-"] .admin-nav details[open] summary {
    border-color: rgba(255, 95, 162, .42) !important;
    background: rgba(255, 95, 162, .12) !important;
  }

  body[data-page="admin"] .admin-nav details > div,
  body[data-page^="admin-"] .admin-nav details > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 10px 0 2px 18px !important;
  }

  body[data-page="admin"] .admin-nav details a,
  body[data-page^="admin-"] .admin-nav details a {
    min-height: 42px !important;
    padding: 11px 12px !important;
    font-size: clamp(.72rem, 2.1vw, .88rem) !important;
    background: rgba(255,255,255,.035) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
  }

  body[data-page="admin"] .admin-shell > main,
  body[data-page^="admin-"] .admin-shell > main {
    width: 100% !important;
    min-width: 0 !important;
    padding: clamp(16px, 3vw, 28px) !important;
  }
}

@media (max-width: 760px) {
  .site-header .brand-logo,
  .site-header .brand-logo img {
    width: 92px !important;
    height: 58px !important;
    max-width: 92px !important;
    max-height: 58px !important;
  }

  .page-hero,
  .page-hero.compact {
    width: min(100% - 24px, 540px) !important;
    padding: 24px 18px !important;
    min-height: 0 !important;
    margin-block: 18px !important;
  }

  .page-hero h1 {
    font-size: clamp(2rem, 10vw, 3rem) !important;
    line-height: 1.05 !important;
  }
}

.newsletter-band,
.newsletter-band > div,
.newsletter-band form,
.site-footer,
.site-footer * {
  min-width: 0 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: manual !important;
}

.newsletter-band {
  overflow: visible !important;
}

.newsletter-band form {
  align-items: stretch !important;
}

.newsletter-band :is(input, button, .btn) {
  min-height: 46px !important;
  white-space: nowrap !important;
}

@media (min-width: 1181px) {
  .site-footer {
    grid-template-columns: minmax(190px, 1.15fr) repeat(3, minmax(130px, .8fr)) minmax(250px, 1fr) !important;
    align-items: start !important;
  }
}

@media (max-width: 760px) {
  .newsletter-band {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(100% - 24px, 540px) !important;
    padding: 22px 16px !important;
    text-align: left !important;
  }

  .newsletter-band > div,
  .newsletter-band form {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    justify-items: stretch !important;
  }

  .newsletter-band > strong {
    display: none !important;
  }

  .site-footer {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(100% - 24px, 540px) !important;
    padding: 24px 18px !important;
    text-align: left !important;
  }
}

.mini-cart-drawer {
  width: min(420px, calc(100vw - 24px)) !important;
  max-width: 420px !important;
  top: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  height: auto !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255, 95, 162, .26) !important;
  background: linear-gradient(180deg, rgba(42,35,56,.98), rgba(26,22,37,.98)) !important;
  color: #fff !important;
}

.mini-cart-drawer :is(h2, h3, p, span, strong, a, button) {
  max-width: 100% !important;
}

.mini-cart-content {
  min-height: 0 !important;
  overflow-y: auto !important;
}

.mini-cart-header,
.mini-cart-summary {
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
}

@media (max-width: 520px) {
  .mini-cart-drawer {
    inset: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: 0 !important;
  }
}

.admin-media-grid,
.media-grid,
[data-admin-module="media"] .admin-responsive-table {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
  gap: 16px !important;
  overflow: visible !important;
}

.admin-media-card,
.media-card,
[data-admin-module="media"] article,
[data-admin-module="media"] .admin-card {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  gap: 10px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

.admin-media-preview,
.media-preview,
[data-admin-module="media"] img {
  max-width: 100% !important;
}

.admin-media-preview,
.media-preview {
  aspect-ratio: 1 / 1 !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.06) !important;
}

.admin-media-preview img,
.media-preview img,
[data-admin-module="media"] article img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* ELVORA FINALFIX V149: saubere Live-Struktur für Shop + Business Center
   Ziel: alte Rettungsblöcke dürfen Header, Menü, Banner, Warenkorb und Admin-Inhalte
   nicht mehr sichtbar zerreißen. Diese Regeln stehen absichtlich ganz am Ende. */

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

body {
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
}

.brand-logo img + img,
.site-header .brand-logo picture + img,
.site-header .brand-logo img[aria-hidden="true"] {
  display: none !important;
}

.site-header {
  width: min(100% - 32px, 1180px) !important;
  max-width: calc(100vw - 32px) !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(12px, 1.7vw, 24px) !important;
  overflow: visible !important;
}

.site-header .brand-logo {
  width: clamp(126px, 10vw, 176px) !important;
  height: clamp(66px, 6vw, 92px) !important;
  min-width: clamp(126px, 10vw, 176px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.site-header .brand-logo img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

.site-nav {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(10px, 1.35vw, 24px) !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

.site-nav a {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 8px clamp(7px, .7vw, 13px) !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.header-icons {
  min-width: max-content !important;
  justify-self: end !important;
}

.menu-toggle {
  display: none !important;
  position: relative !important;
  width: 54px !important;
  height: 54px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  align-items: center !important;
  justify-content: center !important;
}

.menu-toggle span {
  display: block !important;
  width: 24px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  margin: 3px 0 !important;
}

.page-hero {
  width: min(100% - 40px, 1080px) !important;
  min-height: 0 !important;
  margin: clamp(20px, 3vw, 46px) auto clamp(18px, 2.4vw, 34px) !important;
  padding: clamp(26px, 4vw, 58px) clamp(22px, 5vw, 70px) !important;
}

.page-hero h1 {
  font-size: clamp(2.35rem, 5vw, 4.7rem) !important;
  line-height: .98 !important;
  max-width: 14ch !important;
}

.page-hero p {
  max-width: 760px !important;
  font-size: clamp(1rem, 1.35vw, 1.28rem) !important;
}

.hero {
  min-height: clamp(520px, 72vh, 760px) !important;
  padding-block: clamp(48px, 7vh, 92px) !important;
}

.hero h1 {
  max-width: min(100%, 1180px) !important;
  font-size: clamp(2.6rem, 5.8vw, 5.6rem) !important;
  line-height: .98 !important;
}

.mini-cart-drawer {
  position: fixed !important;
  z-index: 9000 !important;
  width: min(430px, calc(100vw - 28px)) !important;
  max-width: 430px !important;
  inset: 14px 14px 14px auto !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
}

.mini-cart-content {
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 20px !important;
}

.mini-cart-summary,
.mini-cart-actions {
  padding-inline: 20px !important;
}

body[data-page="admin"] .admin-shell,
body[data-page^="admin-"] .admin-shell {
  width: min(100% - 32px, 1500px) !important;
  max-width: calc(100vw - 32px) !important;
  margin: 18px auto 40px !important;
  display: grid !important;
  grid-template-columns: 304px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 22px !important;
  overflow: visible !important;
}

body[data-page="admin"] .admin-shell > main,
body[data-page^="admin-"] .admin-shell > main {
  min-width: 0 !important;
  width: 100% !important;
  overflow: visible !important;
}

body[data-page="admin"] .admin-sidebar,
body[data-page^="admin-"] .admin-sidebar {
  width: 304px !important;
  max-width: 304px !important;
  min-width: 0 !important;
  position: sticky !important;
  top: 14px !important;
  align-self: start !important;
  overflow: visible !important;
}

body[data-page="admin"] .admin-brand-title,
body[data-page^="admin-"] .admin-brand-title {
  display: none !important;
}

body[data-page="admin"] .admin-brand-row,
body[data-page^="admin-"] .admin-brand-row {
  min-height: 88px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 14px 16px !important;
  overflow: hidden !important;
}

body[data-page="admin"] .admin-brand,
body[data-page^="admin-"] .admin-brand {
  width: 156px !important;
  min-width: 156px !important;
  height: 62px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

body[data-page="admin"] .admin-brand img,
body[data-page^="admin-"] .admin-brand img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

body[data-page="admin"] .admin-menu-toggle,
body[data-page^="admin-"] .admin-menu-toggle {
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  display: none !important;
  position: relative !important;
  border-radius: 999px !important;
  color: #fff !important;
}

body[data-page="admin"] .admin-menu-toggle .menu-toggle-label,
body[data-page^="admin-"] .admin-menu-toggle .menu-toggle-label {
  width: 24px !important;
  height: 3px !important;
  overflow: hidden !important;
  text-indent: -999px !important;
  background: currentColor !important;
  border-radius: 999px !important;
}

body[data-page="admin"] .admin-menu-toggle::before,
body[data-page="admin"] .admin-menu-toggle::after,
body[data-page^="admin-"] .admin-menu-toggle::before,
body[data-page^="admin-"] .admin-menu-toggle::after {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  width: 24px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: currentColor !important;
}

body[data-page="admin"] .admin-menu-toggle::before,
body[data-page^="admin-"] .admin-menu-toggle::before {
  top: 15px !important;
}

body[data-page="admin"] .admin-menu-toggle::after,
body[data-page^="admin-"] .admin-menu-toggle::after {
  bottom: 15px !important;
}

body[data-page="admin"] .admin-dashboard-hero,
body[data-page^="admin-"] .admin-dashboard-hero {
  min-height: 0 !important;
  padding: clamp(22px, 3vw, 34px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr) !important;
  gap: 18px !important;
  align-items: center !important;
}

body[data-page="admin"] .admin-dashboard-hero h1,
body[data-page^="admin-"] .admin-dashboard-hero h1 {
  font-size: clamp(2rem, 3.5vw, 3.6rem) !important;
  line-height: 1 !important;
}

body[data-page="admin"] .admin-dashboard-hero p,
body[data-page^="admin-"] .admin-dashboard-hero p {
  font-size: clamp(.98rem, 1.35vw, 1.18rem) !important;
  max-width: 760px !important;
}

body[data-page="admin"] .admin-top,
body[data-page^="admin-"] .admin-top,
body[data-page="admin"] .admin-panel,
body[data-page^="admin-"] .admin-panel,
body[data-page="admin"] .admin-kpi-card,
body[data-page^="admin-"] .admin-kpi-card {
  min-width: 0 !important;
  overflow: hidden !important;
}

body[data-page="admin"] .admin-responsive-table,
body[data-page^="admin-"] .admin-responsive-table {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
}

body[data-page="admin"] [data-admin-module="media"] .admin-list,
body[data-page^="admin-"] [data-admin-module="media"] .admin-list,
body[data-page="admin"] [data-admin-module="media"] .media-list,
body[data-page^="admin-"] [data-admin-module="media"] .media-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  gap: 18px !important;
}

body[data-page="admin"] [data-admin-module="media"] img,
body[data-page^="admin-"] [data-admin-module="media"] img {
  width: 100% !important;
  height: auto !important;
  max-height: 260px !important;
  object-fit: contain !important;
}

@media (max-width: 1320px) {
  .site-header {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  .site-nav {
    gap: 8px !important;
  }

  .site-nav a {
    font-size: .9rem !important;
    padding-inline: 7px !important;
  }
}

@media (max-width: 1180px) {
  .site-header {
    width: min(100% - 24px, 900px) !important;
    max-width: calc(100vw - 24px) !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    min-height: 88px !important;
  }

  .site-header .brand-logo {
    width: 126px !important;
    min-width: 126px !important;
    height: 64px !important;
  }

  .site-header .header-icons {
    display: none !important;
  }

  .menu-toggle {
    display: inline-flex !important;
    justify-self: end !important;
  }

  #site-nav.site-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(86vw, 380px) !important;
    max-width: min(86vw, 380px) !important;
    height: 100dvh !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    justify-content: stretch !important;
    gap: 10px !important;
    padding: 28px 20px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 8800 !important;
    border-radius: 0 28px 28px 0 !important;
    background: linear-gradient(180deg, rgba(35, 28, 48, .99), rgba(20, 18, 29, .99)) !important;
    border: 1px solid rgba(255, 95, 162, .28) !important;
    box-shadow: 24px 0 70px rgba(0, 0, 0, .38) !important;
    transform: translateX(-110%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.mobile-nav-open #site-nav.site-nav,
  #site-nav.site-nav.is-open {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  #site-nav.site-nav a {
    width: 100% !important;
    min-height: 50px !important;
    justify-content: flex-start !important;
    text-align: left !important;
    padding: 13px 14px !important;
    border-radius: 16px !important;
    color: #fff !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    font-size: 1rem !important;
  }

  body.mobile-nav-open::after {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 8700 !important;
    background: rgba(7, 6, 12, .52) !important;
    backdrop-filter: blur(3px) !important;
    pointer-events: none !important;
  }

  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(100% - 24px, 980px) !important;
    max-width: calc(100vw - 24px) !important;
  }

  body[data-page="admin"] .admin-sidebar,
  body[data-page^="admin-"] .admin-sidebar {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body[data-page="admin"] .admin-menu-toggle,
  body[data-page^="admin-"] .admin-menu-toggle {
    display: inline-flex !important;
  }

  body[data-page="admin"] .admin-sidebar:not(.is-open) .admin-nav,
  body[data-page^="admin-"] .admin-sidebar:not(.is-open) .admin-nav {
    display: none !important;
  }

  body[data-page="admin"] .admin-sidebar.is-open .admin-nav,
  body[data-page^="admin-"] .admin-sidebar.is-open .admin-nav {
    display: grid !important;
  }

  body[data-page="admin"] .admin-dashboard-hero,
  body[data-page^="admin-"] .admin-dashboard-hero {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 760px) {
  .site-header {
    width: min(100% - 20px, 560px) !important;
    max-width: calc(100vw - 20px) !important;
    min-height: 78px !important;
    padding: 10px 12px !important;
  }

  .site-header .brand-logo {
    width: 102px !important;
    min-width: 102px !important;
    height: 54px !important;
  }

  .menu-toggle {
    width: 50px !important;
    height: 50px !important;
  }

  .hero {
    min-height: auto !important;
    padding-block: 34px 54px !important;
  }

  .hero h1 {
    font-size: clamp(2.15rem, 11vw, 3.25rem) !important;
    max-width: 11ch !important;
    text-align: left !important;
  }

  .hero p,
  .hero .hero-copy,
  .hero-content {
    text-align: left !important;
  }

  .page-hero {
    width: min(100% - 24px, 540px) !important;
    padding: 22px 18px !important;
    margin-block: 16px 18px !important;
  }

  .page-hero h1 {
    font-size: clamp(1.95rem, 9.5vw, 2.8rem) !important;
    max-width: 100% !important;
  }

  .mini-cart-drawer {
    inset: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: 0 !important;
  }

  body[data-page="admin"] .admin-shell,
  body[data-page^="admin-"] .admin-shell {
    width: min(100% - 18px, 560px) !important;
    max-width: calc(100vw - 18px) !important;
    margin-top: 10px !important;
    gap: 14px !important;
  }

  body[data-page="admin"] .admin-brand-row,
  body[data-page^="admin-"] .admin-brand-row {
    min-height: 76px !important;
    padding: 10px 12px !important;
  }

  body[data-page="admin"] .admin-brand,
  body[data-page^="admin-"] .admin-brand {
    width: 124px !important;
    min-width: 124px !important;
    height: 54px !important;
  }

  body[data-page="admin"] .admin-dashboard-hero,
  body[data-page^="admin-"] .admin-dashboard-hero,
  body[data-page="admin"] .admin-top,
  body[data-page^="admin-"] .admin-top,
  body[data-page="admin"] .admin-panel,
  body[data-page^="admin-"] .admin-panel {
    padding: 18px 15px !important;
    border-radius: 22px !important;
  }

  body[data-page="admin"] .admin-dashboard-hero h1,
  body[data-page^="admin-"] .admin-dashboard-hero h1 {
    font-size: clamp(1.9rem, 10vw, 2.8rem) !important;
  }
}
